SearchWiki:

Welcome

GNUnilink

All Recent Changes Recent Changes Printable View Page History Edit Page
Howto

GNUnilink.Howto History

Hide minor edits - Show changes to markup

February 24, 2006, at 12:33 PM by sophana
Added lines 23-30:

Troubleshooting

What can you do if it doesn't work.

  • when you connect, does anything happen on the HU?
    • No: Check that your pic is working by programming a blinking pin hex file. Use a multimeter to see if the pin is blinking. Try an hex from there. Make sure that when you program, you use the external oscilator (HS mode)
    • Yes: your pic seems to be doing something but it is wrong.
      • First check that you have the latest version from the subversion repository.
      • Check that you have good frequency settings inside the GNUnilink.asm file and recompile.
      • If it still doesn't work, you will have to log with a serial line and the python logger then post the results in the forum.
July 21, 2005, at 06:27 PM by vikool
Changed lines 8-9 from:

The JVC KS-U15K? adapter has one end which is similar to the unilink connector and is pretty cheap (around ~$10 US). It should also work.

to:

The JVC KS-U15K adapter has one end which is similar to the unilink connector and is pretty cheap (around ~$10 US). It should also work.

July 21, 2005, at 06:23 PM by vikool
Changed lines 8-9 from:

to:

The JVC KS-U15K? adapter has one end which is similar to the unilink connector and is pretty cheap (around ~$10 US). It should also work.

February 24, 2005, at 06:59 PM by sophana
Deleted lines 2-3:

pre compiled GNUnilink version

February 24, 2005, at 06:42 PM by sophana
Added lines 3-5:

pre compiled GNUnilink version

Schematics

January 20, 2005, at 01:56 PM by sophana
Changed lines 19-73 from:

If you don't have a pic programmer, I suggest that you implement an in situ programmer.

In situ Schaer programmer

If you don't have a programmer, you can make one on the same board, so you don't have to unmount your pic device each time you want to program the pic. You can then program the pic directly in the gnunilink.

The original schaer programmer schematic is the base. It is compatible with icprog and uses the parallel port.

For the power take the 12v from the unilink connector and the 5v from the regulator (the same from your pic)

 
                                                       5v

                                                       |14
                           5V-[10K]--+       +---------+--------+
                  1|\  2             |     13|                  |
  D0 (2)-----------+  >--------------+-------+ RB7/Data         |
                   |/                |       |                  |
      +5V-[10k]-+                    |       |                  |
                | 12 /|13            |       |    PIC 16C84     |
Busy (11)-------+--<  +--------------+       |     18 pin       |
                     \|                      |    ZIF Socket    |
                            5V-[10k]--+      |                  |
                  3|\  4              |    12|                  |
   D1 (3)----------+  >---------------+------+ RB6/Clock        |
                   |/                        |                  |
                           12V-[10K]--+      |                  |
                  5|\  6              |      |                  |
   D2 (4)----------+  >---------------+-o   4|                  |
                   |/                   o----+ -MCLR/Vpp        |
                  (7407)            5v--o    +---------+--------+
                                                       |5

                                                       GND
              5V
              |14
           +--+--+
           | 7407|
           +--+--+
              |7
             GND


If you have a 7407, do like the original. I did not have 7407 so I used NPN transistors. The simplification is that you only need 2 open collector inverter that you can implement with a npn transistor: the one from D0 to RB7 and the one from D2 to MCLR

if you do the simplification dont forget to invert the data out and clock in icprog.

For MCLR, I used a 3 way jumper selecting the programming or the functionnal mode. There surely is an automatic way but I did not test it.

You dont need the power control part of the schaer programmer (the D3 pin)

to:

If you don't have a pic programmer, I suggest that you implement an in situ programmer. (see the Schematics)

January 20, 2005, at 01:40 PM by sophana
Changed lines 46-47 from:
                  5|\  6              |     4|                  |
   D2 (4)----------+  >---------------+-o    |                  |
to:
                  5|\  6              |      |                  |
   D2 (4)----------+  >---------------+-o   4|                  |
January 20, 2005, at 01:38 PM by sophana
Changed lines 30-31 from:
                                                      Vdd

to:
                                                       5v

Changed line 33 from:
                          Vdd-[10K]--+       +---------+--------+
to:
                           5V-[10K]--+       +---------+--------+
Changed line 41 from:
                           Vdd-[10k]--+      |                  |
to:
                            5V-[10k]--+      |                  |
Changed line 45 from:
                           Vpp-[10K]--+      |                  |
to:
                           12V-[10K]--+      |                  |
Changed lines 47-49 from:
   D2 (4)----------+  >---------------+------+ -MCLR/Vpp        |
                   |/                        |                  |
                                             +---------+--------+
to:
   D2 (4)----------+  >---------------+-o    |                  |
                   |/                   o----+ -MCLR/Vpp        |
                  (7407)            5v--o    +---------+--------+
Added lines 53-60:
              5V
              |14
           +--+--+
           | 7407|
           +--+--+
              |7
             GND

January 20, 2005, at 01:30 PM by sophana
Changed lines 27-28 from:

For the power take the 12v from the unilink connector and the 5v from the regulator

to:

For the power take the 12v from the unilink connector and the 5v from the regulator (the same from your pic)

 
                                                      Vdd

                                                       |14
                          Vdd-[10K]--+       +---------+--------+
                  1|\  2             |     13|                  |
  D0 (2)-----------+  >--------------+-------+ RB7/Data         |
                   |/                |       |                  |
      +5V-[10k]-+                    |       |                  |
                | 12 /|13            |       |    PIC 16C84     |
Busy (11)-------+--<  +--------------+       |     18 pin       |
                     \|                      |    ZIF Socket    |
                           Vdd-[10k]--+      |                  |
                  3|\  4              |    12|                  |
   D1 (3)----------+  >---------------+------+ RB6/Clock        |
                   |/                        |                  |
                           Vpp-[10K]--+      |                  |
                  5|\  6              |     4|                  |
   D2 (4)----------+  >---------------+------+ -MCLR/Vpp        |
                   |/                        |                  |
                                             +---------+--------+
                                                       |5

                                                       GND

January 19, 2005, at 03:04 PM by Opeos
Added lines 1-2:

version francaise dans FrenchHowto

January 14, 2005, at 05:57 PM by sophana
Changed lines 11-14 from:

You don't need to use the max202. As the software uart can invert the serial pin, it is possible to log the data with a direct rs232 cable connection to the pic. In this case, you will have to swap the SERIAL_0 and SERIAL_1 in the source code.

You can choose any pic PIO pin to communicate. (I think I use port B3)

to:

You don't need to use the max202. As the software uart can invert the serial pin, it is possible to log the data with a direct rs232 cable connection to the pic. In this case, you will have to swap the SERIAL_0 and SERIAL_1 in the source code (but the archos communication won't work anymore). (please look at Faq for more info)

You can choose any pic PIO pin to communicate. (I think I use port RB2 on pin 8) It is defined by the SERIAL_PORT define in GNUnilink.asm.

November 24, 2004, at 03:49 AM by sophana
Changed lines 35-36 from:

For MCLR, I used a 3 way jumper selecting the programming or the functionnal more. There surely is an automatic way but I did not test it.

to:

For MCLR, I used a 3 way jumper selecting the programming or the functionnal mode. There surely is an automatic way but I did not test it.

October 27, 2004, at 10:55 PM by sophana
Changed lines 45-71 from:

Contact me in the forum for more details on the mod.

to:

For the archos players, a hardware mod is needed. I connected the On button wire to one of the line in connector wire. Some photos in Archos

The other end is directly connected to one of the pic pins (see the Schematics)

more to come...

Contact me in the forum for more details on the mod.

Recompiling the GNUnilink source

The source files are compiled with 'gnu pic utils' (gputils). gputils works on most platforms.

Personally, I recompiled gputils under cygwin under windows. To do that,

  • download and install cygwin. In the setup.exe you need to check some packages to be installed: gcc, gmake (maybe some others are needed).
  • download the gputils sources,
  • type ./configure
  • type make install

There is also a native windows version that I haven't tested.

To test if it works, just type 'gpasm'.

Once gpasm works, download the GNUnilink source from here or from the Subversion repository.

Once in the GNUnilink directory, just type gpasm GNUnilink.asm. You will obtain the GNUnilink.hex that you can program into the pic with IcProg.

It is normal that you have lots of messages like Register in operand not in bank 0. Ensure bank bits are correct Other messages are not normal...

October 24, 2004, at 02:46 AM by devro
Changed line 1 from:

The schematic is very simple. There are very few components.

to:

The schematic is very simple. There are very few components.

October 21, 2004, at 12:34 PM by 194.250.151.21
Added lines 11-12:

You don't need to use the max202. As the software uart can invert the serial pin, it is possible to log the data with a direct rs232 cable connection to the pic. In this case, you will have to swap the SERIAL_0 and SERIAL_1 in the source code.

October 18, 2004, at 01:27 PM by 194.250.151.21
Changed lines 18-20 from:

To program the pic directly in the gnunilink, I implemented a programmer compatible with ic-prog on the parallel port. The original schaer programmer schematic is the base. For the power take the 12v from the unilink connector and the 5v from the regulator

to:

If you don't have a programmer, you can make one on the same board, so you don't have to unmount your pic device each time you want to program the pic. You can then program the pic directly in the gnunilink.

Changed lines 21-25 from:

if you have a 7407, do like the original.

to:

The original schaer programmer schematic is the base. It is compatible with icprog and uses the parallel port.

For the power take the 12v from the unilink connector and the 5v from the regulator

If you have a 7407, do like the original.

Changed line 28 from:

the one from D0 to "RB7?"

to:

the one from D0 to RB7

Added line 38:

Added line 40:

Changed lines 42-43 from:

contact me in the forum for more details on the mod.

to:

Contact me in the forum for more details on the mod.

October 13, 2004, at 10:36 AM by 194.250.151.21
Added lines 1-37:

The schematic is very simple. There are very few components. The main component is a PIC microcontroller which needs to be programmed (which is also easy to make)

The unilink connector is quite complicated. You will need to get a cable from a sony retailer (very expensive) or from a car radio installer. They sometime have some damaged unilink cables that you can get and cut to connect to the pic board.

You need a generic board, place the components and connect the few needed connections. The original schematic is on the original Gnunilink project website.

The serial communication between pic and archos is totally handled by software. The pic uart is not used because I don't have a 16f628 and I don't think it is possible to perform an open collector communication with it.

You can choose any pic PIO pin to communicate. (I think I use port B3)

Make a direct connection. Then just add a 10k pull up resistor to the PIC vcc.

If you don't have a pic programmer, I suggest that you implement an in situ programmer.

In situ Schaer programmer

To program the pic directly in the gnunilink, I implemented a programmer compatible with ic-prog on the parallel port. The original schaer programmer schematic is the base. For the power take the 12v from the unilink connector and the 5v from the regulator

if you have a 7407, do like the original. I did not have 7407 so I used NPN transistors. The simplification is that you only need 2 open collector inverter that you can implement with a npn transistor: the one from D0 to "RB7?" and the one from D2 to MCLR

if you do the simplification dont forget to invert the data out and clock in icprog.

For MCLR, I used a 3 way jumper selecting the programming or the functionnal more. There surely is an automatic way but I did not test it.

You dont need the power control part of the schaer programmer (the D3 pin)

Auto power on

It is a MUST HAVE feature. When you start your car, the archos is started automatically. To do that I moded my player because it cannot be flashed. Flashed recorders can start automatically with power applied. The gnunilink does have 2 control signals: one for controling the power through a power transistor, one for simulating the 'ON' button push. contact me in the forum for more details on the mod.

Page last modified on January 01, 1970, at 01:00 AM