Well I can 110% completely and totally guarantee and verify that the 160-baud ALDL data on my '87 Fiero is a constant receive-only stream, the computer simply chugs out that data whenever a 10k resistor is put across the ALDL mode pin (open = normal operation; 10k = ALDL diagnostic stream; shorted = diagnostic mode, blinks codes & runs engine in timing mode). The ALDL cable used to read this data only uses one serial pin, Rx, and a simple TTL level-converter circuit (to bring it to proper serial signalling voltages). Then software samples the broken data at ~8192 baud (since 160-baud is non-standard), and interprets the data. Since the Arduino impementation would be all software, it would seem to be very simple to read the incoming data stream natively (at 160 baud, or hell, using interrupts, it could be any reasonable data rate) without needing to do any electrical conversions.
So I think that answers all the questions:
1) Baud rate is 160 baud, at least on my old OBD1 car. Yours may be completely different. OBD2 uses a completely different format and nothing about ALDL from OBD1 will be compatible.
2) It's a constant outgoing data stream, no data can be sent back to the computer; the computer doesn't have any facility to receive commands or any sort of data at all.
3) The pins - and I'm not sure what they're named/numbered (I believe they're referred to as "A and B") - need to be shorted with a 10k resistor.
But I think the key here is, what year is your car?
|