SAE J1939 Data Logger - SD Micro Card Capacity And Write Speed Requirements
Our SAE J1939 Gateway And Data Logger was designed for vehicle fleet management (trucks, buses, agricultural equipment, and any other diesel engine application), prototype field testing, diagnostics, or reverse engineering.
The SAE J1939 Gateway And Data Logger records SAE J1939 message frames (PGNs) onto an onboard MicroSD memory card and timestamps them with a real-time clock (RTC). Alternatively, it can be used for mere SAE J1939 data monitoring and viewing.
The data logger's most important requirement, besides a guaranteed ability to record data at maximum busload, is a satisfactory recording capacity that allows logging for weeks, if not months (in extreme cases).
Overall, the data logger's performance depends primarily on the SD card used. At first glance, one might think that this is a mere capacity topic, i.e. the larger the recording capacity the longer the recording time. Unfortunately, it's not quite as easy.
Our data logger uses an SD Micro Card, which comes in a wide range of storage capacities, but there are more requirements.
Micro SD Card Requirements
- Capacity - Yes, capacity is the major requirement to assure long recording times.
- Write Speed - We need to guarantee that we can fetch all data at highest busload. As it turns out, any standard memory card is quite capable to store SAE J1939 data frames at maximum busload.
- Temperature Range - Regular SD cards support a temperature range of -25C to 85C. However, -25C is not sufficient when it comes to off-road vehicle applications in, for instance, the American Mid-West or Canada.
- Shock and Vibration Proof - Standard memory cards are capable of withstanding up to 500Gs of shock, which is more than sufficient.
SAE J1939 Vehicle Network Parameters
There are a few SAE J1939 network parameters that will affect the recording time of an SD memory card:
- Baudrate - A 500 kbps baudrate doubles the data traffic compared to the standard 250 kbps.
- Busload - An SAE J1939 message frame time (135 bits with 8 data bytes and average bit stuffing applied) is 0.54 msec @ 250kbps and 0.27 msec @ 500 kbps. Assuming a busload of 70%, which is generally considered the "real-world" maximum, there can be 1,299 data frames per second @ 250 kbps or 2,564 data frames per second @ 500 kbps.
- Message Filtering - Filtering PGNs has a major impact on the max. recording time. i.e. it can increase the recording time significantly.
- Data Message Frequency - Some PGNs are transmitted at higher frequencies, up to 100 frames per second (i.e. every 10 milli-seconds). That may not be necessary for all scenarios, and that is the reason why we offer to sample data at lower frequencies.
In regard to busload and message frequency, see also our post SAE J1939 Bandwidth, Busload And Message Frame Frequency.
With the above referenced message frequency, we have calculated the maximum required SD write speed to be 1 MB/sec. Standard SD cards have write speeds of 80 MB/sec and even faster.
Data Storage Parameters
It is obvious, the CAN Bus data frame (PGN) will require a certain record length in the data file. Add to this the timestamp plus optional GPS information, checksum, and other parameters supporting the "replay" of data traffic. We have optimized the record length per data set, however, without compromising the information we provide.
Operational Hours and Operation Mode
We have been through some calculations regarding the maximum recording time, and in one example (1GB SD card, 250 kbps baud rate, 70% busload), we reached a recording time of 5.3 hours, which was quite disappointing at first glance. However, this was under the aspect of 5+ hours at maximum busload.
There are scenarios, such as reverse engineering, where a few hours of recording time at maximum busload is sufficient. Another scenario, such as diagnostics, may require only a few PGNs (message filtering applied), which can increase the recording time significantly.
In another example (32 GB SD card, 250 kbps baud rate, 70% busload), we reached a recording time of 171 hours or ~7 days at 24 hours per day. However, if you apply an eight hour workday, the recording time triples (~21 days).
Especially in case of diagnostics with message filtering and message frequency adjustments, it is possible to reach recording times of several months.