SLAAET4 April   2025 MSPM0G3506 , MSPM0G3507 , MSPM0G3518 , MSPM0G3519

 

  1.   1
  2.   Abstract
  3.   Trademarks
  4. 1Introduction
    1. 1.1 MCAN Features
  5. 2Sysconfig Configuration for MCAN Module
    1. 2.1 MCAN Clock Frequency
    2. 2.2 MCAN Basic Configuration
      1. 2.2.1 Transmitter Delay Compensation (TDC)
      2. 2.2.2 Bit Timing Parameters
      3. 2.2.3 Message RAM Configuration
        1. 2.2.3.1 Standard and Extended ID Filter Configuration
          1. 2.2.3.1.1 How to Add More Filters
        2. 2.2.3.2 TX MSG RAM
        3. 2.2.3.3 RX MSG RAM
    3. 2.3 Advanced Configuration
    4. 2.4 Retention Configuration
    5. 2.5 Interrupts
    6. 2.6 Pin Configuration and PinMux
  6. 3Demo Project Descriptions
    1. 3.1 TX Buffer Mode
    2. 3.2 TX FIFO Mode
    3. 3.3 RX Buffer Mode
    4. 3.4 RX FIFO Mode
  7. 4Debug and Design Tips to Resolve/Avoid CAN Communication Issues
    1. 4.1 Minimum Number of Nodes Required
    2. 4.2 Why a Transceiver is Needed
    3. 4.3 Bus Off Status
    4. 4.4 Using MCAN in Low Power Mode
    5. 4.5 Debug Checklist
      1. 4.5.1 Programming Issues
      2. 4.5.2 Physical Layer Issues
      3. 4.5.3 Hardware Debug Tips
  8. 5Summary
  9. 6References

Why a Transceiver is Needed

Users cannot directly connect MCAN_TX of node-A to MCAN_RX of node-B and vice versa and expect successful CAN communication. In this case, CAN is unlike other serial interfaces like UART or SPI. For example, UART can work with a RS232 transceiver or through a direct connection (UART_TX of one node to UART_RX of another node and vice versa). However, CAN bus needs a CAN transceiver for the following reason. In addition to converting the single-ended CAN signal for differential transmission, the transceiver also loops back the CAN_TX pin to the CAN_RX pin of a node. This is because a CAN node needs to be able to monitor the transmission.

  • This has to do with the ACK requirement mandated by the CAN protocol. When a node transmits a frame on the CAN bus, the node expects an ACK from at least one other node on the network. For the ACK phase, the transmitter puts out a 1 and expects to read back a 0.
  • During arbitration, a node with a higher-priority Message ID needs to be able to override a 1 with a 0. Here, the transmitter needs to be able to read back the transmitted data. When a node puts out a 1 and reads back a 0 during the arbitration phase, the node loses arbitration.

To save the cost of a transceiver, some applications (where all the nodes are on the same PCB and in close proximity) use discrete components like diodes to meet the requirement that a CAN node to monitor the transmission.