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.

TMS320F28335: CAN peripheral can't enter to Transmit mode issue

Part Number: TMS320F28335


Hi Team,

   CAN peripheral can’t transmit any frame after first time F28335 powered up, and then after random times of CAN peripheral re-initialization, the CAN worked as expected; During this period, the CAN can’t Transmit any data.

   On-site support found that, the CANTEC will up to 255 and then cleared to 0, the CANREC will increased from 0 to 128, during the period that CANREC from 0 to 128, the BO is still 0(no Bus Off reported); and sometimes after CANREC & CANTEC are cleared to 0, the TM can’t set to 1, but the receive is still worked well.

Support Need:

     

  1. While the TRS is set, and there is no other issue for the CAN peripheral configuration, the F28335 CAN peripheral can’t transmit any frame, and the TM bit is always 0, which will caused this issue, could you kindly give comments why TM can’t be 1? And how to solve this issue?

 More info can be found in the attached file.  expect for your reply, thanks.

Best Regards

Benjamin

  F28335 CAN can't transmit issue.docx

  • Benjamin,

       So, the problem is seen only during power-up? After the "random number of CAN re-initializations", and once the CAN module starts working this problem is never seen again? Why are there multiple termination resistors on the bus and that too 320-ohm (as opposed to 120-ohm)?

  • Hareesh,
    Currently this issue can be easily duplicated while the Power module is powered on, not reported after the CAN is worked. There are lots of Error frames while the module is plug into the system(Power Module Power On after Plug).

    Best Regards
    Benjamin
    1. Why are there multiple termination resistors on the bus and that too 320-ohm (as opposed to 120-ohm)?
    2. Is there an oscilloscope capture of the bus-traffic when the problem is seen? Specifically, I am interested in knowing the bit-rate at that time.
    3. Few years back, I had faced a similar situation with another customer and it turned out the code was initiating communication without waiting for the PLL to lock. Are you sure the code waits for the PLL to be locked before initiating the communication?

  • Hi Hareesh,

       Comments as below:

      1.  it's link to their system solution: customer consider CAN is very important BUS, and want to keep the communication while 1 point is broken but the communication will still keep alive as the circle design,  have discussed with customer at very beginning while the product is in design phase;

      2. The CAN baudrate is 625Kbps,

      3. The PLL is worked well as other peripherals like GPIO/SPI worked well.

    The Key message customer want to know is: why after the CAN BUS off and On, the CAN TX not worked but the Rx is worked?  Expect for your reply, thanks.

    Best Regards

    Benjamin

  • The key point to note here is that the node indeed goes bus-off. How do they determine when the node comes out of bus-off? Could it be that they are mistaken about when the node comes out of BO? What is the value of ABO bit?
  • Hi Hareesh,

       Below attachments described clearly for the CAN Transmit and Receive operation, also included the registers;  from the figure 2, you can see that:

      1) in the first round, the CANTEC increased to 255, then drop to 0, meanwhile the CANREC increased to 128;

      2)   in the second round , the CANTEC increased to 255, then drop to 0, meanwhile the CANREC increased to 128, but no other CANTEC changed, after this, the CAN peripheral can't transmit any data.

       you also can see that the ABO bit is 1;   

       This is very critical issue for the customer now. could you kindly please give feedbacks about the cause? thanks.

       7144.F28335 CAN can't transmit issue.docx