TCAN3414: Strange low kHz-range oscillation/ripple in power supply resulting from communication TCAN3414DRBR and Microchip PIC24HJ128GP504; Possibly breaching current limit of LP3985 LDO

Part Number: TCAN3414
Other Parts Discussed in Thread: LM2841

Tool/software:

Dear TI circuit wizards,

Help! I'm running into an issue that has been giving us woes for a couple weeks now and seemingly have been able to narrow down its source to communication between the host microcontroller/CAN controller and the TCAN3414 transceiver. Basically, this circuit is a mixed-signal measurement system that measures timing by blowing tiny signals up into square waves, and has a LOT of gain on the analog side (>50dB). Additionally (unfortunately) in this version of the circuit, the very first functional block in the analog signal chain has essentially no power supply rejection (think common emitter single BJT kind of structure). So if there's any frequency that ripples in the power supply that happens to be in the frequency range of interest, we start having issues, especially because the analog circuit has AM envelope detection.

But in theory all digital devices whose current draw transients might cause ripple operate at a much higher frequency, or so we thought.

This is the first time a product in our family of devices has used a TCAN3414. Previous versions have used a 5V CAN transceiver (SN55HVD251DRJR) with no issues, but these designs also happen to be significantly lower gain and generally have better PSRR (as well as different current consumption specs). In the problem child design, it seems that whenever the host microcontroller has basic code in place (that I did not write, but can get access to information if necessary) to communicate with the TCAN, this extremely consistent 3.4kHz ripple appears in the power supply, which sits right in the middle of our analog frequency range of interest. I'm attaching snippets of the schematic below to help illustrate. The TCAN is powered by the 3.3V rail pictured below, by way of input voltage (9-30V) switched down with an LM2841 to about 6V, then run through two linear regulators (the 3.3V regulator is in series with the 5V regulator). 

This design resides in a small ROHS compliant 4-layer FR-4 PCB with the following (copper) stackup:
1) Bottom Copper (this is where all the sensitive analog circuitry is)
2) Ground plane (unbroken)
3) Reference plane (segmented)
4) Top Copper (this is where nearly all digital ICs reside - worth noting the CAN chip is pretty much as far as physically possible from the analog circuitry)

I have considered and investigated the following failure modes:

- Maximum current draw exceeded: SMPS. LM2841 limit is 300mA per the datasheet, and system current draw is around 100mA, so this is not our problem.
 
- Saturation current reached: SMPS inductor. API Delevan S1210R-333K has a maximum current rating (note - not saturation current, which is not specified) of 189mA. Again, the system current draw sits right around 100mA during normal operation. I even tried a similar inductor (SP1210R-333K) with a higher max current rating of 243mA just in case - no significant difference. Maybe a tiny, tiny amplitude difference. This seems unrelated to the issue.

- Maximum current draw exceeded: 3.3V LDO (LP3985IM5-3.3/NOPB). This does seem like a possible factor. Limit is 150mA, worst case currents (assuming no bus fault) total to 141mA (MCU running at 48MHz, effectively 24MIPS, so current draw from the datasheet is max at +85C, the max temperature this device will be used at). With a bus fault, this would add another 70mA to current draw, so I could see this possibly being an issue, but I am no CAN expert. Our firmware guy says there hasn't been any bus fault behavior in typical usage, and I see the 3.4kHz with and without the CAN lines connected and terminated. It's possible current peaks are jumping past that 150mA limit. 


- Maximum current draw exceeded: 5V LDO (AP7375). This seems unlikely. This LDO has a max current draw of 300mA, and the analog measurement side of things draws only a handful of mA, less than 50. 


- SMPS control loop stability - lowered integrator gain, added feedforward capacitance, changed nothing about the 3.4kHz ripple


- Considering how low frequency the ripple is, I removed the 100uF from the 6V rail to see if it affected oscillation frequency at all - it didn't. I added 100uF to the 3.3V rail as well, for fun. No change.

- Communication with the TCAN chip. When our bootloader is wiped from the MCU, the ripple immediately disappears, and the only thing in the bootloader is code to facilitate CAN communication. I also used an Xacto knife to cut the power delivery trace to the TCAN chip and the ripple immediately went away. I also at one point cut the connection between the 5V and 3.3V LDO and the ripple went away as well, so something on the 3.3V rail is causing this issue for sure. 


Any help here appreciated. It seems to me this 3.4kHz issue either is a result of the communication between the MCU and the TCAN3414 transceiver, or a result of the increased current draw from this communication, but I could be missing something right in front of my face. The 3.4kHz periodicity of the ripple and how ruthlessly consistent it is must be some kind of hint, right? Please let me know if there is more information I can provide (baud rates or whatever), and thank you in advance for the assistance!

Best,

Nathan

PS In parallel I'm gonna see if I can grab a pin-for-pin 3.3V LDO with a higher current output, see if that makes a difference. Will report back.

  • Edit: Found the 3.4kHz - it is indeed on the communication lines between the MCU and TCAN3414. Scope screenshot attached.
    3.4kHz

    It seems to be appearing in the power supply as the sort of alternating between data transmission and no transmission. I'm digging through our CAN module settings right now but I'm wondering if you folks know what parameter this is? It's so consistent it makes me think there's something that can be done about this... any wisdom here appreciated, thanks!

  • Hi Nathan,

    Thanks for reaching out on E2E! I am assigning this to our TCAN3414 expert Michael, but I'll help get the ball rolling.

    What pin is that waveform measuring: TXD or RXD?

    If it's TXD, then I doubt it's a transceiver issue. Likely either caused by MCU or some sort of coupling onto the TXD line. If it's RXD, could you share a waveform with RXD, CANH, and CANL all together?

    I also see that shutdown pin 5 is floating. This is fine since it has an internal pulldown, but is there any chance this pin receiving a signal? Might be worth probing or temporarily tying to GND. 

    Best,

    Ethan 

  • Hey Ethan, appreciate you. That was RXD. Here's both TXD and RXD at the same time (had to take a cell phone shot because the scope decided it hates my USB drive):




    Ignore that little slope at the end on the top right, I was rising edge triggering off TXD (yellow) and was dual wielding probes with both hands. I only have two hands.

    This doesn't seem to be a defect kind of issue as much as it does a configuration issue to me. I just don't know enough about CAN to call out what it is that I'm seeing Slight smile

    Regarding the floating pin, I'll probe that and ground it next week. Firmly a believer in just eliminating every even slightly possible source of headache. I do not believe it is seeing any signal, however. 


    More to come and excited to chat with Michael as well. 

    Cheers,

    Nathan

  • Oh and PS the yellow channel was AC coupled on the scope. When DC coupled it's the same as the green trace. Just FYI so there's no confusion!

  • Hi Nathan,

    It seems like a power rail coupling / decoupling and periodic digital current pulse concern. I would suggest considering stopping or altering the periodic digital burst from the firmware and / or strongly decouple the TCAN 3.3 V rail to help avoid the pulse from modulating the sensitivities of the analog stage. Further double confirm and avoid the floating pins.

    • Hence, I would recommend to include a 47 uF + 10 uF + 0.1 uF as close as possible to the TCAN VCC pin to verify.
    • You may pull TXD idle (or cut the trace like you previously did - isolating from the driver) and drive the bus externally to verify the periodic frames. Your concerns should strongly correlate to the MCU if the ripple disappears when TXD is idle. Hence, you may further double check the CAN bootloader for any tasks doing periodic transactions (retries / auto retransmits, loopbacks, bus-off timers etc.) and increase the intervals or move to a less sensitive timing to verify.
    • If ripple persists, measure current pulses with a current probe from the 3.3 V LDO and correlate to the TXD bursts. This could imply the current pulses are the cause. You may then give the TCAN device a separate / dedicated supply with higher margin where the current draw do not modulate the rest of the board, to further verify. Furthermore capture TXD / RXD / CANH / CANL during the ripple. If you see a repeating frame, timer or identical spacing, this can imply it is most likely caused by the periodic frames I.e., the driver behavior. You may then add small series resistors (33 to 100 ohms and adjust accordingly) on TXD / RXD to verify, thanks.

    Best Regards,

    Michael.

  • Hi Michael,

    Awesome, this is all lining up with our observations thus far and your list of action items makes logical sense. I'm waiting for the higher current limit LDO to come in and will incrementally introduce the solutions you mentioned as well to see when the problem disappears. I think the two-pronged approach of 1) better bypassing/higher current limit and 2) changing transaction intervals should do the trick. I will update as soon as I can. Thank you!

    Best,

    Nathan