Deutsche Seite English page

Opel TID
 

Projects
Linux
Delphi
Misc.
Contact
Links

Home

Programming the OPEL TID

TIDspeed


My program displays several scroll texts and the current speed on the display of an Opel TID.
You will also find all which is neccessary to program the microcontroller.


TID protocol

The TID protocol is based on the I2C protocol but there is one extra control wire.

Here you can find a very good description of the protocol in German: http://www.carluccio.de/index.php?page=pro-tid
Here the same in English from Eelke Visser with examples for a tachometer and fuel control: http://www.eelkevisser.nl/display.htm


Microcontroller

I use a PIC16F84A from Microchip to control the TID. The reason is simply that Eelke Visser provides source code (GPL) for this chip which made the development easier.

Programming the PIC

If you want to save the costs for a starter kit you can easily build your own programmer. I use the Classic Tait Programmer for which the components cost only a few Euros.

Programmer


Here is my programmer:

Platine Platine


Development tools

I use PiKdev to develop the application.
PiKdev supports the Tait programmer and can program the PIC16F84 and many more.
The application runs under Linux with KDE. There is also an addon to calculate delay loops, PiKloops.

The compilation of the assembler code can be done with gpasm.

There is also an simulator for PICs under Linux: gpsim

EEPROM

The scroll texts are too large for the internal EEPROM of the PIC1684, therefore I save them in a 24C65 EEPROM from Microchip.
The 24C65 is controled via an I2C interface.

The programmer can be built easily, too. You can put it on the same board as the PIC-programmer.

Debian users can use eep24c which uses the following schematic:

eep24c



Board to connect to TID

 schaltung
Schematic (Eagle format): Schematic

The PIC can be placed together with the 24C65 and a fixed voltage regulator on a small board. This will fit behind the TID without problems.
My schematic is based on the layout of G�bor Gr�tzl (fogy.zip). With the transistors at the outputs it is not needed to switch input/output for the B ports.

The pin DIS is connected to the antenna signal (Pin 8 at Corsa B).

Godja Cristian has created a PCB: circuit.zip

 

 


Software

Version 1.0 (only scroll texts)
Version 2.1 (with speed display)

The program shows a welcome message when the car is started and then every 5min a message from the EEPROM as scroll text on the TID.
The texts in the EEPROM begin at addresses 0000, 0100 to 1F00 and can be 256 characters long. If you use a 64kBit EEPROM then 32 texts are possible. All texts must have a null byte at the end.
The archive contains a PHP script which can convert the texts to a format that is readable by txt2ihex.

Display

The display switches between date, scroll texts, speed and top speed.

1. Date: 1min
2. Speed: 1.5 min
3. Top speed: 10s
4. Speed: 1.5 min
5. Date: 1min
6. Scroll text

Scroll texts





The 24C65 includes texts which are displayed as scroll texts on the display.

Speed display

  You can get the speed signal from SDV at the TID connector. This can be used to display the speed with much more accuracy than on the tachometer.

speed


There are 32 impulses for every rotation of the wheel on SDV. If you know the wheel circumference you can calculate the current speed.
The time to count the impulses is set to a value where the number of impulses is equal to the speed in km/h.

T = (3.6 * U) / 32      (U: circumference, e.g. 1.8m)

Top speed

After every speed measurement the top speed is changed, if needed. It is permanently stored in the PIC's internal EEPROM.