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.

TMS320F280049C: Bit-Time of CAN module Setting

Part Number: TMS320F280049C
Other Parts Discussed in Thread: C2000WARE,

TMS320F280049C chip chooses a 500Kbps baud rate. Follow the reference document "C:\ti\c2000\C2000Ware_5_01_00_00 \device_support \f28004x\docs\DCAN_CANBTR_ values . xlsx", in this file, the green Bit-Time option is the valid option.But, ls it  because the data is divisible that the data can be recelived even if the Bit-Time is set to 22?

  • As shown in the spreadsheet, only certain combinations for the BRP and bit-time would yield the correct bit-rate without any error. Other (invalid) options have been greyed out.

  • Hello,but I tested it, and the program set the baud rate to 500Kbps, and the Bit-Time writes to 22. The communication tool sets the baud rate to 500Kbps, and it is true that the data can be received.When Bit-Time is set to 22, the register settings do change.

    22:

  • I regret I don't understand what you are asking. 

    The values you have showed does not equate to a bit-time of 22. Please refer to 4.5 Configuring the CANBTR Register in www.ti.com/lit/SPRACE5, where I have explained how to compute the bit-timing values.

  • Hello,sorry I didn't describe it clearly.In the picture I showed,Bit-time = (TSEG1reg + 1) + (TSEG2reg + 1) + 1 = (12 + 1) + (7 + 1)+1 = 22, as described of Bit-time in the documentation you provided.

    As shown in the spreadsheet,invalid options have been greyed out.If I set the baud rate to 500Kbps,Bit-time of 22 is invalid.But I don't understand why can I receive data even if I set the Bit-time to 22?

  • Kun,

                OK, I understand now. The values you have used yield 505.05 kbps, an error of 1% compared to the desired bit-rate of 500kbps. The following factors impact communication:

    1. Oscillator tolerance of nodes in the network
    2. Number of nodes on the bus
    3. End-to-end bus length (which decides propagation delay)
    4. Transceiver loop delay
    5. Prop delay of any isolation device used.

    Now, if your bus-length is very short, reception may work fine due to the following reason: Synchronization starts with a hard synchronization on the first recessive to dominant transition after a period of bus idle (the start bit). Resynchronization occurs on every recessive to dominant transition during the frame.

    Transmission may prove to be error-prone. I recommend you stick to the correct values shown in the spreadsheet.

  • OK,thank you,and I already understand.