by ESM » Wed 12.04.2006, 16:01
First thing to say is the odd error isn't unusual and isn't a problem. The ECU is being queried several times a second (10 times/per sec is the maximum) and so a couple of errors a minute represents 2 errors in every 600 requests, a success rate of 99.7%. If you get errors every other call that's obviously an issue.
The latency thing is a work around provided by FTDI to get old slow serial hardware to work with the much faster USB system. By design the USB system waits until it has a load of data and then blasts it out all at once Since the ECU only sends 63 bytes of data after each request and this doesn't come close to filling the USB buffer, the data will sit in the USB buffer and not get through to the serial port in real time. So you get an error message from ElanScan because it didn't receive any reply. The FTDI driver gets around this by sending the data in the buffer, even its only a few bytes, after a defined period of inactivity (the latency). So if the latency is set to 1ms the ALDL will be sent 1ms after the car has finished sending - which is comfortably fast enough for this application. If its set to, say, 200ms it just won't work as the next request will be due before a reply is received for the previous request.
Other USB- serial converters lack the latency setting and so they work very badly in this application.
It takes 43 muscles to frown and 17 to smile, but it doesn't take any to sit on your arse with a blank look on your face.
Click on my WWW link for information on chips and ElanScan.