Creating software for ELM327 -- Maximum refresh rate?
I was hoping someone could help me calculate the max theoretical refresh rate for ELM327 devices, assuming the ECU keeps up with requests. ELM327v 1.4 supports a maximum bit rate of 500kbaud. I'm sending OBD requests over CAN. So in the worst case scenario to request a single PID I'm using 8 data bytes. According to this awesome site:
This corresponds to a message length of 111 bits after the rest of the frame bits are put in... And it says the max transfer rate is about 290kbps on a 500kbaud bus. Dividing the two,
290000 bps / 111 bits = 2612 messages per second. For a single request and response, there's two messages; so to figure out the response rate, divide by two; 1306 responses per second. There's also the '>' ready response indicator from the ELM that's sent back (I'm assuming echoes are off), other misc characters, internal processing the ELM needs to do, and bus arbitration delays (though I think that's accounted for in that site). So using a FoS of 2, I'm halving the response rate to 650 responses/second.
I've never heard of anyone getting rates like this with an ELM devices; videos and stuff I see on youtube typically show a refresh rate of like, less than 10Hz. My own experiments have been able to get rates down to 20-30Hz as being the max rate that my device supports. Even at this rate I get erroneous data fairly often. Are these awesomely high refresh rates attainable? Also, I'm assuming my ECU is not the limiting factor here as others have been able to log the same car at a refresh rate of ~1000Hz with a direct CAN to USB device.