This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

TMS570LS1114: CAN function issue

Part Number: TMS570LS1114

dear :

question1:I use CAN1 port of three TMS570 chips to send and receive data;uint8_t tx_data1[D_COUNT] = {1, 2, 3, 4, 4, 3, 2, 1};
uint8_t tx_data2[D_COUNT] = {1, 3, 5, 7, 9, 11, 13, 15};
uint8_t tx_data3[D_COUNT] = {2, 4, 6, 8, 10, 12, 14, 16};
When the data collected in my IF2 changed from Tx1 to Tx3, the corresponding IF3 did not change synchronously. I do not know the reason
Problem 2: I want to use DMA for data reception, but my code cannot enter interrupt::dmaGroupANotification(FTC, DMA_CH0);Can you help me find the reason?Do I think my failure to enter is related to the fact that my IF3 has not been updated?[Line122-Line124]
3.attached file is my source program and HCG configuration ,test result as below

7774.CAN.zip

  • Hello,

    1. IF3 can receive data from the Message RAM automatically when a message object has been updated after reception of a CAN message. The CPU does not need to initiate the transfer from Message RAM to IF3 Register set. From your configuration, the data in RX message box 2/4/6 will be transferred to IFx automatically, and mail box 2 has higher priority. It has no relation to which TX mail box is used for transferring data.

    2.  Your code enable DMA BTC interrupt, but you doesn't enable BTC interrupt in VIM. VIM channel 33 is for DMA Frame transfer complete.