SPRACU9 October 2021 F29H850TU , F29H859TU-Q1 , TMS320F2800152-Q1 , TMS320F2800153-Q1 , TMS320F2800154-Q1 , TMS320F2800155 , TMS320F2800155-Q1 , TMS320F2800156-Q1 , TMS320F2800157 , TMS320F2800157-Q1 , TMS320F280033 , TMS320F280034 , TMS320F280034-Q1 , TMS320F280036-Q1 , TMS320F280036C-Q1 , TMS320F280037 , TMS320F280037-Q1 , TMS320F280037C , TMS320F280037C-Q1 , TMS320F280038-Q1 , TMS320F280038C-Q1 , TMS320F280039 , TMS320F280039-Q1 , TMS320F280039C , TMS320F280039C-Q1 , TMS320F28384D , TMS320F28384D-Q1 , TMS320F28384S , TMS320F28384S-Q1 , TMS320F28386D , TMS320F28386D-Q1 , TMS320F28386S , TMS320F28386S-Q1 , TMS320F28388D , TMS320F28388S , TMS320F28P550SG , TMS320F28P550SJ , TMS320F28P559SJ-Q1 , TMS320F28P650DH , TMS320F28P650DK , TMS320F28P650SH , TMS320F28P650SK , TMS320F28P659DH-Q1 , TMS320F28P659DK-Q1 , TMS320F28P659SH-Q1
C2000 and Code Composer Studio are trademarks of Texas Instruments.
All trademarks are the property of their respective owners.
CAN is a serial protocol that was originally developed for automotive applications. Due to its robustness and reliability, it now finds application in diverse areas such as industrial equipment, medical electronics, trains, aircraft, and so forth. CAN protocol features sophisticated error detection and confinement mechanisms and lends itself to simple wiring at the physical level. The original CAN protocol standard is now referred to as "classical" CAN to distinguish it from the more recent CAN FD standard. Figure 1-1 shows the typical wiring for CAN bus.
CAN Flexible Data Rate (CAN FD) is an enhancement to the classical CAN in terms of higher bit rates and the number of bytes transferred in one frame, thus increasing the effective throughput of communication. While classical CAN supports bit rates up to 1 Mbps and a payload size of 8 bytes per frame, CAN FD supports bit-rates up to 5 Mbps and a payload size of up to 64 bytes per frame. Figure 1-2 shows the frame structure for CAN FD frames.
Salient features of the MCAN module are as follows:
On devices like TMS320F2838xD and TMS320F2838xS, the MCAN module may be controlled either by CPU1 (28x) or the Connectivity Manager ( M4). This is not applicable for devices with only a 28x CPU. Below are some useful tips for a successful run of the examples:
"By default, the Device_init function assumes 25 MHz XTAL. If a 20 MHz crystal is used, add a predefined symbol "USE_20MHZ_XTAL" in your CCS project. If a different XTAL is used, please update the DEVICE_SETCLOCK_CFG macro accordingly. For example, if you are running the examples on a board with a 20 MHz input clock to the MCU, make sure USE_20MHZ_XTAL is added to the predefined symbols". For details, see Figure 2-1.
If you convert a RAM-based example to a Flash based example, it is important to once again add the USE_20MHZ_XTAL symbol for the flash-based project as well.
#define DEVICE_GPIO_CFG_MCANRXA GPIO_30_MCAN_RX // "pinConfig" for MCAN RX
#define DEVICE_GPIO_CFG_MCANTXA GPIO_31_MCAN_TX // "pinConfig" for MCAN TX
GPIO_30_MCAN_RX & GPIO_31_MCAN_TX are defined in pin_map.h