SPRACE5A May 2019 – May 2021 F29H850TU , F29H859TU-Q1 , TMS320F280021 , TMS320F280021-Q1 , TMS320F280023 , TMS320F280023-Q1 , TMS320F280023C , TMS320F280025 , TMS320F280025-Q1 , TMS320F280025C , TMS320F280025C-Q1 , TMS320F280040-Q1 , TMS320F280040C-Q1 , TMS320F280041 , TMS320F280041-Q1 , TMS320F280041C , TMS320F280041C-Q1 , TMS320F280045 , TMS320F280048-Q1 , TMS320F280048C-Q1 , TMS320F280049 , TMS320F280049-Q1 , TMS320F280049C , TMS320F280049C-Q1 , TMS320F28075 , TMS320F28075-Q1 , TMS320F28076 , TMS320F28374D , TMS320F28374S , TMS320F28375D , TMS320F28375S , TMS320F28375S-Q1 , TMS320F28376D , TMS320F28376S , TMS320F28377D , TMS320F28377D-EP , TMS320F28377D-Q1 , TMS320F28377S , TMS320F28377S-Q1 , TMS320F28378D , TMS320F28378S , TMS320F28379D , TMS320F28379D-Q1 , TMS320F28379S , TMS320F28384D , TMS320F28384S , TMS320F28386D , TMS320F28386S , TMS320F28388D , TMS320F28388S , TMS320F28P650DH , TMS320F28P650DK , TMS320F28P650SH , TMS320F28P650SK , TMS320F28P659DH-Q1 , TMS320F28P659DK-Q1 , TMS320F28P659SH-Q1
This section provides some helpful hints if you are migrating from the eCAN module to the DCAN module. DCAN follows a very different register structure compared to eCAN and hence code written for one module cannot be migrated to another. The following section highlights the differences, but also illustrates the functional similarities between the two modules.
The following features are available in DCAN that are not available in eCAN:
The following are the features that are available in eCAN that are not available in DCAN:
Table 4-2 shows the equivalent registers and bit-fields in eCAN and DCAN and also some functional differences.
Function | eCAN | DCAN | Comments |
---|---|---|---|
CAN module software reset bit | CANMC.SRES | CAN_CTL.SWR | |
Automatic bus-on (after bus-off) | CANMC.ABO | CAN_CTL.ABO | |
Self-test mode | CANMC.STM | CAN_CTL.Test | Further selection needed for DCAN in CAN_TEST register |
Configuration mode | CANMC.CCR | CAN_CTL.Init | |
Configuration mode enabled | CANES.CCE | CAN_CTL.CCE | |
Mailbox interrupt source | CANGIFx.MIVy | CAN_INT.INTnID | |
Interrupt line selection (for mailbox) | CANMIL | CAN_IP_MUX21 | |
Interrupt line selection (for error & status) | CANGIM.GIL | Hardwired to CANINT0 | |
CAN to PIE interrupt line0 enable | CANGIM.I0EN | CAN_CTL.IE0 | |
CAN to PIE interrupt line1 enable | CANGIM.I1EN | CAN_CTL.IE1 | |
Transmit Error Counter | CANTEC.TEC | CAN_ERRC.TEC | |
Receive Error Counter | CANREC.REC | CAN_ERRC.REC | |
Bus-off status | CANES.BO | CANES.Boff | |
Early warning (TEC or REC = 96) | CANES.EW | CANES.EWarn | |
Error passive | CANES.EP | CANES.EPass | |
Acceptance mask register | LAM | CAN_IFxMSK | |
Acceptance mask filter for a Mailbox | LAM.LAM | CAN_IFnMSK.Msk | Mask bit behavior is opposite |
Mailbox message-ID register | MSGID | CAN_IF1ARB | |
Mailbox enable or disable | CANME.MEn | CAN_IFnARB.MsgVal | In DCAN, MBX can remain "enabled" while configuring the MSGID. |
Extended Identifier | MSGID.IDE | CAN_IFxARB.Xtd | |
Mailbox direction | CANMD.MDn | CAN_IFxARB.Dir | |
Message ID | MSGID.ID | CAN_IFxARB.Id | |
Lost message indication | CANRML.RMLn | CAN_IFxMCTL.MsgLst | |
Transmission request | CANTRS.TRSn | CAN_IFxMCTL.TxRqst | |
# of bytes in a frame | MSGCTRL.DLC | CAN_IFxMCTL.DLC | |
Transmit or Receive priority | Higher numbered MBX has priority | Lower numbered MBX has priority | |
Enabling/disabling interrupts for a specific mailbox | CANMIM | IFnMCTL.TxIE or IFnMCTL.RxIE |