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.

TMS320F2800137: F20013x-dcan

Part Number: TMS320F2800137
Other Parts Discussed in Thread: C2000WARE

Tool/software:

   


Example projects exist for F280015x, I tried to adapt these to F20013x, but found it stuck all the time while(BlockHeader.BlockSize != (uint16_t)0x0000), Why is this? The upper computer has been sending 8 pieces of 8-byte data, which cannot all be zero. CAN can send and receive data normally, and received 08 AA

  • Hi Zhou,

    Sorry, I'm not familiar with the example you are pointing to.  Code does not seem to be something that is provided by TI.  Could you provide a link where the code is derived so i can explore what is going on with DCAN and i can use that as a reference?

    Thanks,

    Joseph

  • D:\ti\c2000\C2000Ware_MotorControl_SDK_5_02_00_00\c2000ware\driverlib\f280015x\examples\flash 



    Hello, this is the official code from TI, but it is a dacn boot for f2800115x. I tried porting it to f2800137 and found that communication was normal, but it stuck on the code above. Simulation found that the message read was always zero. What is the function of the code in the picture

    I looked at the code, the first time I read can was to read 0x08AA, and the second time I read can, isn't it the second frame? I think all the posts are zero


    Alternatively, I can send you the ported code to help me identify any issues. Thank you very much

  • Hi Zhou,

    Thank you.  This is helpful information.  Let me refer you to our DCAN flash kernel expert.

    Best regards,

    Joseph 

  • Hello,

    Did you replace bytes 3-4 to be the target bit timing (ex. 0xC0 7A) in the CAN flash kernel .txt file? These bytes contain metadata to configure the bit rate of the CAN bus. Please refer to Section 4.1.2 CAN Flash Programming Guide:

    Best,

    Matt

  • flash_kernel_ex3_dacn_flash_kernel.zip

    Hello, the boot program should be successfully burned, because I found that 137 sent the can message I set, 

    I changed the boot third and fourth bytes to the corresponding values, and found that I would always report errors. This value was directly read and written from the software, and the value should be correct. If it is changed back to 00, it can be sent normally.

     I packed the transplanted program. Can you help me see what went wrong?

  • Hi Zhou,

    The value of bytes 3 and 4 is incorrect for a 1Mbps bitrate as configured by the kernel. As Matt highlighted in his comment above, it should be 0xC0 0x7A. If you see 0xC7 0x7F in the CAN_CALC_BTRREG field, you may have to update the bootloader_can_timing.h file and make sure that CAN_CALC_BITRATE is 1Mbps.

    Kind regards,
    Skyler