CAN With Flexible Data Rate (CAN FD) Devices For Embedded Systems Such As Raspberry Pi, Arduino, And Teensy
Developed by Bosch (Germany), CAN with Flexible Data Rate (CAN FD) is an extension to the original CAN Bus protocol as specified in ISO 11898-1 that responds to increased bandwidth requirements in automotive and industrial networks. CAN FD is supported by semiconductor chip manufacturers and end users alike, with Infineon, NXP, Daimler and GM among the companies being the initiators of the new standard.
A standard CAN Bus network is limited to 1 MBit/s, with a maximum payload of 8 bytes per frame. CAN FD increases the effective data-rate by allowing longer data fields of up to 64 bytes per frame, without changing the CAN physical layer. CAN FD also retains normal CAN Bus arbitration, increasing the bit-rate by switching to a shorter bit time only at the end of the arbitration process and returning to a longer bit time at the CRC Delimiter, before the receivers send their acknowledge bits. A realistic bandwidth gain of 3 to 8 times, compared to classic CAN, will particularly benefit flashing applications.
When building CAN FD systems and sub-systems, the higher bit-rate demands that more information is known about the physical layer as achieving maximum bit rate will highly depend on the physical layer quality. CAN FD messages also demand a common Time Quanta and that the location of the sampling point be known. For these reasons, CAN FD systems will require more advanced troubleshooting tools plus supporting hardware and software.
In regards to the Arduino platform, we at Copperhill Technologies offer the CAN FD Breakout Board With SPI Interface, which utilizes the Microchip MCP2517FD CAN FD controller in combination with the MCP2562FD CAN Bus transceiver. The CAN connection is available via the DB9 connector. The connector can be configured for different pinout, either for ODB-II or standard CAN. A demo software from Microchip is also included.
Naturally, the same board could also be used in combination with the Raspberry Pi, but we also offer an RPi HAT, the CAN Bus FD Board With Real-Time Clock for Raspberry Pi. It, too, uses the Microchip MCP2517FD CAN FD controller with MCP2562FD CAN transceiver. CAN Bus connections are made via DB9 connector or 4 way screw terminal. The board is also available with a 5 VDC 1A SMPS (Switch Mode Power Supply) that can power the RPi as well via the screw terminal or DB9 connector. A real time clock with battery back up (battery not included) is also on the board. There is an easy-to-install SocketCAN driver, and programming can be done in C or Python.
Last, but not least, for those who prefer a turnkey solution, we offer the Teensy 3.6 CAN 2.0B and CAN FD Breakout Board. This is a Teensy 3.6 board with CAN 2.0B and CAN FD interface. The CAN FD is, yet again, supplied by the Microchip MCP2517FD CAN FD controller with MCP2562FD CAN FD transceiver. There is also a socket for a 128x64 (I2C) OLED display (which is not included in delivery). The beauty of this design is in the fact that it can be programmed through the standard Arduino IDE using the demo Arduino sketch we provide.