EFILive Home Page | Downloads | Support Forum
Home
Up
 

 

 

Timing

T1: Interval time-out
T1 Specifies the maximum time, in milliseconds, allowed to elapse between the arrival of two characters on the Aldl. 

For 8192 baud data:
The Aldl hardware transmits 10 bits per character (1 start bit, 8 data bits and 1 stop bit) at 8192 baud, which is approximately 820 characters per second, or 1.22 characters per millisecond.
Theoretically, this value should not need to be set any higher than 2 milliseconds - but the pre-emptive nature and the coarse timing granularity of Microsoft Windows means that 10 milliseconds is the practical minimum for this value.
This value should be set to 0 or between 25..100 milliseconds.

For 160 baud data:
The Aldl hardware transmits 10 bits per character (1 start bit, 8 data bits and 1 stop bit) at 160 baud, which is approximately 16 characters per second, or 1 character per 62.5ms.
Theoretically, this value should not need to be set any higher than 650 milliseconds - but the pre-emptive nature and the coarse timing granularity of Microsoft Windows means that 70 milliseconds is the practical minimum for this value.
This value should be set to 0 or between 70..100 milliseconds.

The higher the value the longer EFILive will wait when no data is available on the Aldl. EFILive will be slow to respond and will appear sluggish. 

The lower the value the more chance there is of dropping the end of a frame which will result in a checksum failure and the whole frame being discarded.

T2 Time-out multiplier

T2 Specifies the multiplier, in milliseconds, used to calculate the total time-out period for a single frame. 
For each frame, this value is multiplied by the expected length of the entire frame.

This value, combined with T3, determines the length of time that EFILive will wait for each frame to be completely received from the Aldl.

For 8192 baud data:
This value should be set to 0 or between 5..20 milliseconds.

For 160 baud data:
This value should be set to 0 or between 70..100 milliseconds.

The higher the value the longer EFILive will wait when no data is available on the Aldl. EFILive will be slow to respond and will appear sluggish. 

The lower the value the more chance there is of EFILive reporting that there is no data available.

T3 Time-out constant

T3 Specifies the constant, in milliseconds, used to calculate the total time-out period for receiving Aldl frames. 
For each frame, this value is added to the product of T2 and the expected length of the entire frame.

This value, combined with T2, determines the length of time that EFILive will wait for each frame to be completely received from the Aldl.

For 8192 baud data:
This value should be set between 100..1000 milliseconds.

For 160 baud data:
This value should be set between 1300..2000 milliseconds.

The higher the value the longer EFILive will wait when no data is available on the Aldl. EFILive will be slow to respond and will appear sluggish. 

The lower the value the more chance there is of EFILive reporting that there is no data available.

T4 Request delay
T4 Specifies the required delay, in milliseconds, between receiving the last byte of the heartbeat frame and sending the first byte of a request frame.

This value should be set between 0..10 milliseconds.

The actual value is VERY ECM/PCM specific. Usually a value of 0 will work. Although some ECMs are very sensitive about this delay and require it to be set very accurately. Trail and error is probably the easiest way to set this value.

To achieve sub-millisecond timings, the implementation of this delay uses a high frequency timer - if your PC does not have a high frequency timer then this setting will have no effect.

T5 Write/Read delay
T5 Specifies the delay, in milliseconds, between sending the last byte of a command frame and attempting to read the reply frame.

For most applications this can be safely set to 0.

However some serial drivers require a short amount of time to change from sending to receiving. If the serial communications appears to fail or hang for no apparent reason then it is advisable to set this value between 10..50 milliseconds.

T6 Find silence
T6 is used to determine when the ALDL bus is "silent".

If no data is received for this length of time then EFILive "assumes" that it is safe to send data onto the ALDL bus.

For most applications this can be safely set between 30..100ms.

The actual value should be at most, half the number of milliseconds of the longest period of silence following any chatter frame. Usually this means half of the number of milliseconds following the heartbeat frame, since the heartbeat frame is defined as the frame with the longest period of silence following.

Check high frequency timer
Click this button to determine if your PC supports a high frequency timer.

If your PC does not have a high frequency timer, the timing accuracy will be reduced. The most noticeable effect is the timestamp creep. Timestamp creep can be observed when successive frame timestamps get further and further out of synchronisation at the rate of approximately 1-2ms per 10 frames.

This does not effect EFILive V4 - it just means that the frame timestamps are not as accurate as they should be.


Copyright 1998-2006 EFILive Limited