SLAAEN5 February   2025 MSPM0G1106 , MSPM0G1107 , MSPM0G1506 , MSPM0G1507 , MSPM0G1518 , MSPM0G1519 , MSPM0G3106 , MSPM0G3106-Q1 , MSPM0G3107 , MSPM0G3107-Q1 , MSPM0G3506 , MSPM0G3506-Q1 , MSPM0G3507 , MSPM0G3507-Q1 , MSPM0G3518 , MSPM0G3518-Q1 , MSPM0G3519 , MSPM0G3519-Q1

 

  1.   1
  2.   Abstract
  3.   Trademarks
  4. 1Introduction
    1. 1.1 Bridge between CAN and SPI
  5. 2Implementation
    1. 2.1 Principle
    2. 2.2 Structure
  6. 3Software Description
    1. 3.1 Software Functionality
    2. 3.2 Configurable Parameters
    3. 3.3 Structure of Custom Element
    4. 3.4 Structure of FIFO
    5. 3.5 SPI Receive and Transmit (Transparent Transmission)
    6. 3.6 SPI Receive and Transmit (Protocol Transmission)
    7. 3.7 CAN Receive and Transmit
    8. 3.8 Application Integration
  7. 4Hardware
  8. 5Application Aspects
    1. 5.1 Flexible structure
    2. 5.2 Optional Configuration for SPI
    3. 5.3 Optional Configuration for CAN
    4. 5.4 CAN Bus Multinode Communication Example
  9. 6Summary
  10. 7References

Software Functionality

The functions are designed according to Figure 2-3. Functions are listed in Table 3-3.

Table 3-1 Functions and Descriptions
Tasks Functions Description Location
SPI receive readSpiRxMsg() Send bytes to receive message (SPI master only) bridge_spi.c
bridge_spi.h
getSpiRxMsg() Obtain the received SPI message (protocol)
getSpiRxMsg_transparent() Obtaub the received SPI message (transparent)
processSpiRxMsg() Convert the received SPI message format (protocol) and store the message in gSPI_RX_Element
processSpiRxMsg_transparent() Convert the received SPI message format (transparent) and store it in gSPI_RX_Element
SPI transmit processSpiTxMsg() Convert the gSPI_TX_Element format (protocol) to be sent through SPI
processSpiTxMsg() Convert the gSPI_TX_Element format (transparent) to be sent through SPI
sendSpiTxMsg() Send message through SPI
CAN receive getCANRxMsg() Obtain the received CAN message bridge_can.c
bridge_can.h
processCANRxMsg() Convert the received CAN message format and store the message in gCAN_RX_Element
CAN transmit processCANTxMsg() Convert the gCAN_TX_Element format to be sent through CAN
sendCANTxMsg() Send message through CAN