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.

TMS320F28379S: Issue with CAN Communication Using ISO1050DUBR Transceiver

Part Number: TMS320F28379S
Other Parts Discussed in Thread: ISO1050, SN65HVD233

Dear TI support Team,

I am currently working with the TMS320F28379S MCU. In my setup, GPIO31 is configured as the CAN TX pin and GPIO30 as the CAN RX pin, with a bitrate of 250 kbps.

I am facing communication issues (both transmit and receive) when using the ISO1050DUBR CAN transceiver. However, the communication works correctly when using the SN65HVD233DR transceiver.

 I could not identify the root cause, so I performed the following tests:


Test 1:

Using SN65HVD233DR with the TMS320F28379S MCU

  • CAN communication works correctly.

  • This confirms that the software configuration and the MCU CAN TX/RX pins are functioning properly.


Test 2:

Using ISO1050DUBR with dsPIC33 (Microchip MCU)

  • CAN communication works correctly.

  • This confirms that the ISO1050DUBR transceiver circuit is functioning properly.


Test 3:

Using TMS320F28379S with ISO1050DUBR

  • CAN communication does not work.

  • When checking the CAN TX pin on the oscilloscope, the pin remains in a constant HIGH state.

Iterations performed during Test 3:

  1. Removed the 4.7 k ohm pull-up resistor → TX pin still always HIGH.

  2. Removed the 4.7 k ohm  pull-up and bypassed the 270  ohm series resistor → TX pin still always HIGH.


Even though the MCU's CAN TX and RX pins are not connected to any transceiver IC, I still cannot see any pulses on the MCU's CAN TX pin. What could be the possible reasons for this? But it works if connect SN65HVD233DR.

I have attached the block diagram and circuits of above conducted tests for your reference.
Kindly review and advise on this issue.can simulation.pdf 

  • Hi,

    It is recommended to tie the ground of MCU to the ground of the CAN transceiver. This ensures that the signals exchanged between the MCU and the CAN transceiver are referenced to the same ground reference, which is crucial for stable and accurate communication. Have you share the GND between F28x board and ISO1050DUBR board?

  • Hi,

    Yes, the ground of the ISO1050DUBR (pin 4) is properly connected to the MCU ground.
    On the isolated side of the transceiver, we are providing the isolated ground as per the recommended design.

    If you need any further details such as hardware setup or test results, please let me know.

  • Hi,

    I believe you use the same SW for test with SN65HVD233DR and ISO1050DUBR. Did you step over your code when using ISO1050 to make sure the code didn't get stuck somewhere before CAN configuration?

  • Hi,

    Yes, the same software is used for both SN65HVD233DR and ISO1050DUBR.

    I have already checked the software behavior while testing with the ISO1050DUBR hardware. The ISR functions and the continuous loop (while(1)) are running correctly. Only the CAN communication is not working in this setup.

    Please let me know if you need any additional information for further debugging.

  • Hi,

    Have you checked with transceiver team to know the differences between SN65HVD233DR and ISO1050DUBR?

  • Hi,

    I have not yet checked with the transceiver team directly. Since both SN65HVD233DR and ISO1050DUBR transceivers are from TI, and the MCU is also from TI, I initially compared their datasheets. The specifications appear very similar, and I did not find any major differences that would impact basic CAN communication.

    At this point, I am unsure whether I should focus more on the MCU side or the transceiver side for troubleshooting this issue. From the MCU software perspective, I already tested the CAN TX pin with both push-pull and open-drain configurations, but neither configuration resolved the issue.

    If the concern might be related to the transceiver hardware behavior, I kindly request your support in involving the transceiver/hardware team to help identify the root cause.

    Thank you.

  • I compared these two CAN transceivers, and believe that the same SW should work for both transceivers without any changes. Is it ok for you to share CAN related schematics on MCU side and on ISO board? 

  • Hi,

    I have removed unrelated circuits and only shared the essential sections required for CAN communication.

    I have attached two schematic files:

    1. CAN NON-ISO (Board_1 with SN65HVD233DR ) — CAN Working

    CAN NON_ISO.pdf

     

    2. CAN ISO — (Board 2 with  ISO1050DUBR) - CAN Not Working

    CAN ISO.pdf

    Please review the attached schematic sections and let me know if any additional information is required.

  • Thanks, I will review the schematics, and come back to you later.

  • Per the schematics, you have two PCB boards: 1st board with F28379x MCU + ISO1050 transceiver, and 2nd board with F28379x MCU + SN65HVD233. Do you have another board with dsPIC33 MCU + ISO1050 transceiver? How do you know the MCU on 1st board and it's CAN controller work ok?

  • Hi,

    Yes, we have a 3-PCB test setup.

    1. To verify PCB-1 CAN Controller functionality:
    We removed the ISO1050 IC on PCB-1 and routed the MCU CAN TX/RX signals to PCB-2 (with its MCU removed). This confirmed the CAN controller on PCB-1 is working correctly.

    2. To verify PCB-1 ISO1050 circuitry:
    We removed the MCU on PCB-1 and connected CAN TX/RX signals from PCB-3 (with its ISO1050 removed) to PCB-1’s ISO1050 circuit. This verified the ISO1050 section is also functioning properly.

    We have attached a block diagram showing all PCBs, test configurations, and results. Kindly review it.
    CAN test iterations.pdf

    All other product functions are working as expected. Since we are close to production release, we request your support to resolve this CAN issue at the earliest.

    Thank you.

  • Another thought, F28379x device has an internal 10MHz OSC whose frequency deviation is up to 3%. The frequency deviation varies device by device. 3% frequence deviation is too high for CAN communication (<1.58%). 

    Just to double check, do you use internal OSC or external crystal?

  • Hi,

    I am using an external oscillator, part number 520-CSM1600-20DN-X. It has an aging specification of ±5 ppm per year and provides a 16 MHz output. Since this is a new crystal, the frequency error should be very minimal. The 16 MHz external clock is then fed through the PLL to generate 200 MHz. I have already shared the schematic, and the crystal circuit is included there—please review it.

    As mentioned earlier, our product is currently on hold in production due to this CAN communication issue. Could you please discuss this with your technical team and provide a solution at the earliest?

    Thank you.

  • Thanks. I invited our CAN transceiver expert Andrew to help us.

  • Hi,

    I have found another update that might be useful. I tested with another PCB that has the ISO1050 circuit, and now I am able to see pulses on the MCU CAN TX pin.
    I have attached the pulse waveforms for both the working SN65HVD233 board and the ISO1050 board for your reference.

    Pulse signals.pdf

  • The TX and RX pulses don't look correct. I just sent an email to Andrew who is an ISO1050 transceiver expert, and hope he will give us some advice today.

  • Hi,

    I hope you are doing well. May I know if there is any update on this issue?

    We are currently in a critical stage, as our product production and testing phases have been completed, except for the CAN communication.

    We would greatly appreciate it if you could kindly share a solution or update at your earliest convenience.

  • I will ask Jackiw to add his comments.

  • Hello,

    It looks like the main issue is TXD “always appears high on the oscilloscope”.  TXD is an input on the ISO1050 and does not control this pin. Therefore, this issue may only be resolved with the MCU’s logic.

     SN65HVD233 has additional features that ISO1050 does not have (such as loopback, standby and slope control). If the MCU is expecting these features in order to toggle TXD then this may be the issue.

    Best,
    Andrew

  • Hi,

    You mentioned that ISO1050 does not have features such as loopback, standby, and slope control.

    Could you please tell what changes are required in the CAN initialization when using the ISO1050 transceiver?

  • Hi Andrew,

    Is there any update on this?
    If I need to focus on the software side, could you please let me know what changes are required in the software?

    Thank you.

  • Hi,

    Can you post this question to Isolation forum to get quick response from ISO1050 experts there?

    (+) Isolation forum - Isolation - TI E2E support forums