The customer for this project asked DMC to create a system capable of acting as the CAN version of a "flight data recorder" for several automotive ECUs (Electronic Control Modules). The system was to act as an independent node on 12 different high speed (500kbs) CAN links, recording all CAN packets being exchanged throughout the course of several weeks of environmental and performance testing as part of a design validation test plan.
DMC considered several platforms for this system, including NI cRIO and PXI. Despite the various advantages of these platforms, we recognized that a simple PCI bus based PC system would best meet the client's requirements for a low cost of implementation. As such, DMC selected PCI bus dual port CAN cards from NI and an off the shelf industrial PC from DuroPC. Among the advantages of this option, was the ability to integrate a fast multi-core processor, extra RAM, and a 3TB RAID hard drive configuration. Adding these hardware options ensured sufficient processing headroom and data storage space for long recordings.
On the software side, DMC chose the LabVIEW development environment for the main application. Using DMC's LabVIEW state machine template, and the NI CAN frame API drivers, we were able to quickly construct a single software module capable of recording wire-speed data streams from a single CAN port to disk. By leveraging our experience in cloning state machine modules into multiple instances, increasing the number of active CAN ports from 1 to twelve was quickly accomplished.
Though not a specific requirement, DMC created an additional program which acts as a simple interface for extracting CAN frames back from the binary log files, displaying them in a time stamped tabular format. The data file viewer can optionally apply an *.ncd or *.dbc CAN database file to the recorded frames, so the data can be displayed as time stamped data channels. Processed frame and channel data can then be exported as text for further post processing if desired.
In the end, DMC delivered a complete system to the customer within their tight deadline and budget requirements while also including several additional features to make the system more flexible and useful.
Learn more about DMC's LabVIEW programming expertise.