CANbus Voltage Spikes

Thread Starter

andreakj

Joined Mar 26, 2018
5
Greetings!

After several hours of trying and failing I have searched the web and forum for an answer to my problem. I haven't found a solution to my problem, so I am crossing my fingers that someone here have a solution. I apologize in advance if this question has been answered before.

So;

I'm currently working on my bachelor's thesis, where I am doing some work on a motor controller (SEVCON GEN4) using CANbus. My first object is to connect the controller to an NXP DEVKIT-MPC5748G (baud rate = 500 kbits/s). However, because of a rather large capacitor the motor controller generates large voltage spikes when powering it up and down.

F0005TEK.JPG

(yellow = CAN_HIGH, blue = CAN_LOW).

I fear that this voltage spike will damage the micro controller, so I have created a simple low-pass filter (fc = 546kHz) with a zener diode. This eliminated most of the spikes but not all.

IMG_20180326_105157.jpg

So I am wondering if I have dimensioned the circuit wrong, or if my solution is inappropriate for this application?

Thank you in advance!
 

Thread Starter

andreakj

Joined Mar 26, 2018
5
What do your scope traces look like that show incomplete clamping ?


Regards, Dana.
Hi Dana,

The scope trace shows the time period where I turn the power on. Notice that on CH1 the voltage level is set to 10V/DIV to show the amplitude of the spike.
 

Papabravo

Joined Feb 24, 2006
21,159
You are wasting your time with a filter. If you need isolation then use low delay HP(AVAGO(BROADCOM))) opto isolators. At 500 kbaud you will be limited to about 100 Meters of cable. The problem with the filters is they will slow down the transitions from dominant to recessive. This is something you really cannot tolerate at high baudrates. Your devices will be throwing error frames at great rate.

https://www.broadcom.com/products/o...igital-optocouplers/high-speed-cmos/hcpl-7710

Let me repeat myself in case I was unclear. Do not under any circumstances apply ANY analog components to CAN_H and CAN_L between a pair of transceivers, except appropriate terminators at the ends of the cable. It will do very little except screw up the CAN bit timing. Also, do not place the terminators in your devices.
 

Thread Starter

andreakj

Joined Mar 26, 2018
5
You are wasting your time with a filter. If you need isolation then use low delay HP(AVAGO(BROADCOM))) opto isolators. At 500 kbaud you will be limited to about 100 Meters of cable. The problem with the filters is they will slow down the transitions from dominant to recessive. This is something you really cannot tolerate at high baudrates. Your devices will be throwing error frames at great rate.

https://www.broadcom.com/products/o...igital-optocouplers/high-speed-cmos/hcpl-7710

Let me repeat myself in case I was unclear. Do not under any circumstances apply ANY analog components to CAN_H and CAN_L between a pair of transceivers, except appropriate terminators at the ends of the cable. It will do very little except screw up the CAN bit timing. Also, do not place the terminators in your devices.
Hello and thank you for your reply!

Regarding the delay, I experienced this earlier today as I scoped the signal through the filter. I completely forgot that the electrical properties of a digital signal is different from a sinusoidal signal. I really appreciate your explanation and proposed solution!

I probably won't have time to create something in the remaining time, but I really appreciate these documents as they might prove useful later on!
 

Thread Starter

andreakj

Joined Mar 26, 2018
5
Do you pre-charge the motor controller?
Hello, and thank you for replying!

At the current setup I have just connected the controller directly to a 32V power supply without any sort of pre-charging. I do not know if there are any sort of pre-charging in the vehicle it is being used, but that is not relevant at the moment.
 

EVZ3

Joined Mar 31, 2018
3
The ringing seen on the can-bus when measuring single ended may gave false idea on what is actually sent differentially over the bus.
Can-bus devices often include common-mode filtering components, these components block out any currents that are not sent differentially. The consequence of those components is that outside the canbus devices the canbus itself is lifted up and down electrially with very little effort. If the canbus devices do not snubber the external bus, you may effectively have a ringing exterior bus that is fine from a differentially point of view.

If you can get hold of a diff-probe with a suitable input voltage range, or a fast storage scope with a good a-b operation with properly matched probes you may effectively block the common-mode components. The scope screenshot looks very coarse (low/ress) and hard to determine if the ringing is or is not present on both channels simultaneously. For documentation purposes it is okay to lay both can-bus gnd reference signals over eachother on the scope. Makes it a bit more easier to visually diagnose what is going on. This also gives room to crank up the vertical sensitivity.

Im not familiar with the dev kit you mentioned, but if your afraid you may damage it, adding a common-mode choke intended for CAN Bus networks with a dual TVS protection diode in the range of ~ 16V TVS should do fine. (TVS between the CAN PHY and common-mode choke, ) The TVS (usually a sot23 or alike package) must have proper low inductance earth bonding to be effective.



Hope this helps
 

Thread Starter

andreakj

Joined Mar 26, 2018
5
The ringing seen on the can-bus when measuring single ended may gave false idea on what is actually sent differentially over the bus.
Can-bus devices often include common-mode filtering components, these components block out any currents that are not sent differentially. The consequence of those components is that outside the canbus devices the canbus itself is lifted up and down electrially with very little effort. If the canbus devices do not snubber the external bus, you may effectively have a ringing exterior bus that is fine from a differentially point of view.

If you can get hold of a diff-probe with a suitable input voltage range, or a fast storage scope with a good a-b operation with properly matched probes you may effectively block the common-mode components. The scope screenshot looks very coarse (low/ress) and hard to determine if the ringing is or is not present on both channels simultaneously. For documentation purposes it is okay to lay both can-bus gnd reference signals over eachother on the scope. Makes it a bit more easier to visually diagnose what is going on. This also gives room to crank up the vertical sensitivity.

Im not familiar with the dev kit you mentioned, but if your afraid you may damage it, adding a common-mode choke intended for CAN Bus networks with a dual TVS protection diode in the range of ~ 16V TVS should do fine. (TVS between the CAN PHY and common-mode choke, ) The TVS (usually a sot23 or alike package) must have proper low inductance earth bonding to be effective.



Hope this helps
Thank you for a very informative answer! I will look into this after the holidays, and I am really hoping that you are correct about the filtering components. I should contact the manufacturer and investigate this further!

Cheers!
 
Top