ok info: PC in my car = replacement media centre.
i want to connect the original info display to my pc, to display track names etc [tracks r played via my application]
ive found info on the display here:
http://www.eelkevisser.nl/display.htm
unfortunately im not of the "intelligence" to understand how this works but have an idea...
Connect pin 1 - 3 LPT to the SDC SDL MRQ
use the outputinput Dll to alter the on/off state of pins on the lpt port...
but heres the problem... - I dont understand HOW i send the info etc?
maybe somebody can help me with this?
info from link:
Code:
Looks like a mess. But it can easily be explained. First click the picture to enlarge. In this picture each pixel in the X-direction is a sample of the three communication lines used. The black line is SCL, the blue is MRQ and the red is SDA. There are 65535 samples taken in 2.00 seconds. The sample rate is 32.8 kHz. The time each sample presents is about: 30 microseconds.
The radio was turned off. The measurement was set to start on a change. Than the radio was turned on. The result:
1. The power up sequence of the car radio shows that all three go low followed by a low pulse (line test?) of each line. Pulling MRQ is acknowledged by the display by pulling SDA low. Next there is a long period that MRQ is low This is a sort of reset pulse coming from the radio. The display responds by pulling all three lines low.
2. After an idle period (all high), you see a communication block. It is started by MRQ going low for a short period. Than an I2C start is send (SDA goes low while SCL is high). Next the address byte is send according the i2c protocol. Next MRQ goes low. And than the 10 data bytes follow. Next MRQ goes high and a I2C stop is send (SDA goes high while SCL is high).
3. And a second communication block is send, but the data makes no sense, as it suddenly appears to be terminated.
Analyzing the protocol shows:
1. Idle state all lines are high.
2. Pull MRQ low for a short period and let it go high again.
3. Send a "I2C Start"
4. Send the address byte (0x94).
5. Pull MRQ low.
6. Send 10 data bytes
7. Let MRQ go high
8. Send "I2C Stop"
9. We are back in the idle state.
The bytes contain in total 9 bits. First there are 7 bits of data followed by a parity bit (odd-parity) followed by an acknowledge bit (Part of I2C specification). The first byte is the address byte of the display. The next two bytes control the "lights" like "CD", "RDS" and the decimal points. The following 8 data bytes contain the characters to be shown on the display using 7 bits ASCII. Decoding the first block results in:
1. 0x94 = 10010100A (This is the I2C address of the display)
2. 0x10 = 00010000A (Turn one light on, I did not bother to check which bit belongs to which light.)
3. 0x01 = 00000001A (Turn the other lights off)
4. 0x8C = 10001100A = "F"
5. 0xA4 = 10100100A = "R"
6. 0x8A = 10001010A = "E"
7. 0x8A = 10001010A = "E"
8. 0xB5 = 10110101A = "Z"
9. 0x40 = 01000000A = " "
10. 0x8C = 10001100A = "F"
11. 0x9B = 10011011A = "M"
The Display has a 12 pin connector which is described as follows:
Pin # Name Description
1 Permanent 12V Always on 12V, keeps the clock running.
2 Not connected (Temperature) Temperature for TID
3 Ground 0V Ground connected to the chassis
4 Not connected (Temperature) Temperature for TID
5 Accessories 12V when the key is on accessories. The display goes on.
6 Headlights 12V when headlights are on.
7 Dashboard illumination Signal for the strength of the dashboard lights
8 Car-radio on The Radio is on. The date will disappear and make space for the RDS signal
9 SCL Serial Clock
10 MRQ Master Request or something...
11 SDA Serial data from the radio
12 Not connected (Speed) Speed signal for displays with temperature readout. (TID)