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.

TMS320F28069M: CAN boot loader communication bit rate

Part Number: TMS320F28069M

I am trying to communicate with the CAN boot loader using our PC host (PCAN-View) set to  Bit rate = 100kbps. 

The boot loader code get stuck at the following line in CAN_GetWordData()

// Fetch the LSB
while(ECanaRegs.CANRMP.all == 0) { }

We are using controlCARD with Piccolo TMS320F28069MPZT, InstaSPIN-FOC and InstaSPIN-MOTION enabled.

From the picture below you can see that we are receiving lots of receive errors.

Tried lots of different bit rates on the host side with no luck.

Think I must be missing something.

Any ideas?

  • Before trying out the bootloader, could you please check if “normal” CAN communications between the 28069 and PCAN works? You could simply transmit a frame from 28069 to PCAN. There are tested examples in SPRA876.

    Also, please take a look at the debug checklist in SPRA876 (http://www.ti.com/lit/an/spra876b/spra876b.pdf).

     

  • Hi and thanks for your response.

    We have an in-house firmware application that transmits and receives over CAN.

    I downloaded this to our target and I can tx and rx using PCAN-View with no problem @ 500Kbit/s.

    Seems the hardware setup is all ok.

    I should mention that my code is a secondary boot-loader.

    I am not entering the CAN boot-loader via "Get Mode", I am booting to FLASH and then

    I am calling CAN_Init() and CAN_GetWordData() via pointers to the ROM.

  • Good to know there are no H/W issues. Have you tried executing the CAN bootloader in ROM directly? You could do this via the emulation boot modes. The bit rate is 100 kbps. Once you verify that the CAN bootloader in bootROM works fine (this also verifies proper transmission of the bytes by the host), you could proceed to debug why the secondary bootloader does not work.

  • Thank you for your help.

    My code is now working.

    So I had set PCAN-View to transmit a packet once per second.

    And I had set a break point in the ROM code.

    This caused PCAN-View to flash it's error LED red.

    And it stays red (error) until you disconnect and then reconnect.

    Actually my code was working all along.

    Regards