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: F28335 ECAN question

Part Number: TMS320F28335

Hi Champ,

Customer want to know the detail why only 32-bit accesses are allowed to the Control and Status registers?  if use 16-bit access to these registers, will always met issue or just sometimes?

  • This has to do with the internal architecture of the device (the way the CAN peripheral is interfaced to the CPU). 16-bit accesses may produce unpredictable results (that is, sometimes it will work correctly; sometimes it will not) and hence should not be used.

  • Hi Hareesh,

    Customer want to know the detail why sometimes it will work correctly and sometimes it will not?  under which condition it will work correctly? under which condition will not ?

    Customer code has 16bit accesses to CANGIM  and CANGIF0, sometimes the CAN transmit working well but cannot receive the message frame, the CAN receive use interrupt, they want to know this failure related to 16bit access or not.

  • This is a random phenomenon and cannot be predicted. That is why our documentation suggests to always use 32-bit R/W. 

    but cannot receive the message frame, the CAN receive use interrupt, they want to know this failure related to 16bit access or not.

    As mentioned before, this is a random thing and I cannot make predictions. Having said that, I can make one observation: When you say "cannot receive the message frame", it is important to distinguish (i) whether the frame was not received in the mailbox or (ii) whether the message was received but an interrupt was not generated. Reason for (i) cannot be the 16-bit access. Reason for (ii) can be 16-bit access or something else also.

  • Hi Hareesh,

    Understood and thanks!