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.

TMS570LS0432: Is it possible to use the DCAN module at 500kbaud using HFLPO (10MHz)?

Part Number: TMS570LS0432
Other Parts Discussed in Thread: SN65HVD230

Hello,

I have a batch of prototype boards stuffed with the Hercules TMS570LS0432 microcontroller and SN65HVD230 CAN transceiver. Unfortunately, the oscillator design failed on these boards, but I'd still like to develop and test using the internal high-frequency low-power oscillator (HFLPO) at 10MHz. Everything works well so far, except for varying CAN performance across different boards. Some boards can transmit and receive without any errors on the bus, and others accrue errors immediately, causing the DCAN peripheral to turn off (either the Bus-Off State bit in ES Register, or the Receive Error Passive bit in the ERRC Register). Others still can transmit and receive with occasional bit errors, but the DCAN peripheral still shuts down eventually.

My tests use a Kvaser USBcan Pro v2 and Busmaster V3.1. I am using a Spectrum Digital XDS200 JTAG emulator to pause the 570LS and view its DCAN registers. The other devices on the CAN Bus have been validated, and I do not believe are part of the problem.

I have tried many different bit timing settings, but here are my current settings:
10MHz VCLKA1 input w/ BRP 1
200ns quanta time & nom. bit time of 10
1 Sync Seg
1 Prop Seg
4 Phase 1 Seg
4 Phase 2 Seg
4 Sync. Jump Width

The above settings are recommended by the TRC to give the highest bit-timing tolerance to oscillator frequency variations (TMS570LS04x TRM Rev. B; Section 20.2.3.1.4: Oscillator Tolerance Range).

Could the instability of the internal oscillator be the cause of the varying performance across otherwise identical boards?

Thanks for you help,
Matthew

  • Hello Matthew,

    The internal low power oscillator can not be used for DCAN communication. The trimmed HFLPO varies from 8MHz to 11MHz which is beyond the DCAN oscillator tolerance.

    To ensure effective DCAN communication, the minimum requirement for a CAN network is that two nodes, and each having a DCAN system clock frequency at the opposite limits of the specified frequency tolerance, must be able to correctly receive and decode every message transmitted on the network. This requires that all nodes sample the correct value for each bit.

    Regards,

    QJ

  • Hi QJ,
    You were absolutely right! After reading your answer I cobbled together a solution for an external oscillator, and it solved all my CAN problems. Thanks for your quick reply!
    -Matthew