Skip to main content
appended answer 631565 as supplemental
Source Link
SamGibson
  • 18.3k
  • 5
  • 41
  • 63

I have a CAN communication problem with my PWM RGB LED driver. I have a controller and a PWM RGB LED driver. The controller sends messages to the LED driver about what the PWM duty cycle of the RGB channels should be. The communication speed is 250 kb/s.

I didn't see any communication problem in my previous LED driver design. But after some improvements like changing the PWM driver circuit of the MOSFETs, I realized that there are some commutation delays in my second design of the PWM driver (both PCBs are originally manufactured).

After debugging the driver, I saw that the CAN ESR register catches error frames. Because of these error frames, the driver responds to the commands late. But interestingly, these error frames are seen only in some of my second design driver PCBs; some are running with no errors. They were both manufactured in the same process with the same components.

When I reduced the communication speed to 125, 100, and 50 kb/s, the error frame did not appear in the debug. But testing in an 80°C environment, the error frames appeared again.

I designed two different versions of the 4-layer PCB of the driver. One is running without error frame. In a hot environment (80°C), error frames were seen in the second 4-layer PCB.

I think that this problem is because of the PCB layout. 800 Hz PWM pulses on the MOSFETs may be affecting the message on the CAN Rx and Tx lines.

Could there be a different reason than the layout?

What would you suggest I do for a solution?

My first PCB layout. There is no error frame in the communication.

enter image description here

My second PCB layout. Some of this PCB's error frames occur in 250 kb/s CAN communication.

enter image description here

My first 4-layer PCB layout: Top copper is poured with DigitalGND. Inner layer 1 is DigitalGND plane. Inner layer 2 is PowerGND plane (MOSFET's sources). Bottom copper poured with PowerGND (all GND layers connected at Input Common Mode Choke's leg).

enter image description here

Inner Layer 1: DigitalGND plane

enter image description here

Inner Layer 2: PowerGND plane

enter image description here

My second 4-layer PCB layout. Layers are same as the first one.

enter image description here

Inner Layer 1: DigitalGND plane

enter image description here

Inner Layer 2: PowerGND plane

enter image description here


EDIT: Adding CAN Bus circuit CAN bus schematic circuit: enter image description here

CAN Bus speed : 250kbps

Clock source is Internal RC osc (HSI).

I have a CAN communication problem with my PWM RGB LED driver. I have a controller and a PWM RGB LED driver. The controller sends messages to the LED driver about what the PWM duty cycle of the RGB channels should be. The communication speed is 250 kb/s.

I didn't see any communication problem in my previous LED driver design. But after some improvements like changing the PWM driver circuit of the MOSFETs, I realized that there are some commutation delays in my second design of the PWM driver (both PCBs are originally manufactured).

After debugging the driver, I saw that the CAN ESR register catches error frames. Because of these error frames, the driver responds to the commands late. But interestingly, these error frames are seen only in some of my second design driver PCBs; some are running with no errors. They were both manufactured in the same process with the same components.

When I reduced the communication speed to 125, 100, and 50 kb/s, the error frame did not appear in the debug. But testing in an 80°C environment, the error frames appeared again.

I designed two different versions of the 4-layer PCB of the driver. One is running without error frame. In a hot environment (80°C), error frames were seen in the second 4-layer PCB.

I think that this problem is because of the PCB layout. 800 Hz PWM pulses on the MOSFETs may be affecting the message on the CAN Rx and Tx lines.

Could there be a different reason than the layout?

What would you suggest I do for a solution?

My first PCB layout. There is no error frame in the communication.

enter image description here

My second PCB layout. Some of this PCB's error frames occur in 250 kb/s CAN communication.

enter image description here

My first 4-layer PCB layout: Top copper is poured with DigitalGND. Inner layer 1 is DigitalGND plane. Inner layer 2 is PowerGND plane (MOSFET's sources). Bottom copper poured with PowerGND (all GND layers connected at Input Common Mode Choke's leg).

enter image description here

Inner Layer 1: DigitalGND plane

enter image description here

Inner Layer 2: PowerGND plane

enter image description here

My second 4-layer PCB layout. Layers are same as the first one.

enter image description here

Inner Layer 1: DigitalGND plane

enter image description here

Inner Layer 2: PowerGND plane

enter image description here

I have a CAN communication problem with my PWM RGB LED driver. I have a controller and a PWM RGB LED driver. The controller sends messages to the LED driver about what the PWM duty cycle of the RGB channels should be. The communication speed is 250 kb/s.

I didn't see any communication problem in my previous LED driver design. But after some improvements like changing the PWM driver circuit of the MOSFETs, I realized that there are some commutation delays in my second design of the PWM driver (both PCBs are originally manufactured).

After debugging the driver, I saw that the CAN ESR register catches error frames. Because of these error frames, the driver responds to the commands late. But interestingly, these error frames are seen only in some of my second design driver PCBs; some are running with no errors. They were both manufactured in the same process with the same components.

When I reduced the communication speed to 125, 100, and 50 kb/s, the error frame did not appear in the debug. But testing in an 80°C environment, the error frames appeared again.

I designed two different versions of the 4-layer PCB of the driver. One is running without error frame. In a hot environment (80°C), error frames were seen in the second 4-layer PCB.

I think that this problem is because of the PCB layout. 800 Hz PWM pulses on the MOSFETs may be affecting the message on the CAN Rx and Tx lines.

Could there be a different reason than the layout?

What would you suggest I do for a solution?

My first PCB layout. There is no error frame in the communication.

enter image description here

My second PCB layout. Some of this PCB's error frames occur in 250 kb/s CAN communication.

enter image description here

My first 4-layer PCB layout: Top copper is poured with DigitalGND. Inner layer 1 is DigitalGND plane. Inner layer 2 is PowerGND plane (MOSFET's sources). Bottom copper poured with PowerGND (all GND layers connected at Input Common Mode Choke's leg).

enter image description here

Inner Layer 1: DigitalGND plane

enter image description here

Inner Layer 2: PowerGND plane

enter image description here

My second 4-layer PCB layout. Layers are same as the first one.

enter image description here

Inner Layer 1: DigitalGND plane

enter image description here

Inner Layer 2: PowerGND plane

enter image description here


EDIT: Adding CAN Bus circuit CAN bus schematic circuit: enter image description here

CAN Bus speed : 250kbps

Clock source is Internal RC osc (HSI).

added 74 characters in body; edited title
Source Link
ocrdu
  • 9.3k
  • 23
  • 32
  • 42

CAN Bus Error Frameerror frame in PWM Driverdriver

I methave a CAN communication problem atwith my PWM RGB LED driver. I have a controller and a PWM RGB LED driver. The controller sends messegemessages to the LED driver about what the PWM duty cyclescycle of the RGB channels should be. The communication speed is 250kbps250 kb/s. 

I didn't see any communication problem in my previous LED Driverdriver design. But after some improvementimprovements like changing the PWM driver circuit of the MOSFETs, I realized that there are some commutation delaydelays in my second design of the PWM driver. (Both pcbsboth PCBs are originally manufactured.).

After debugging to the driver, it is seenI saw that the CAN ESR register catches error frames. Because of thisthese error frames, the driver responsesresponds to the commands late. But interestingly, thisthese error frames are seen only in some of my second design driver pcbs. SomePCBs; some are running with no errors. They were both manufactured in the same process andwith the same components. 

When I reduced the communication speed to 125, 100, and 50 kbpskb/s, the error frame did not appear in the debug. But testing in an 80°C environment, the error frames appeared again.

I designed 2two different versions of the 4-layer pcbPCB of the driver. oneOne is running without error frame. In a hot environment (80°C), error frames were seen in the second 4-layer pcbPCB.

I think that, this problem is because of the pcbPCB layout. 800Hz800 Hz PWM pulses on the MOSFETs may be affecting the message on the CAN Rx, and Tx lines.

Could itthere be a different reason than the layout?

What would you suggest I do for a solution?

Thank you in advance for your help.

My first pcbPCB layout. There is no error frame in the communication.   

enter image description here

My second pcbPCB layout. Some of this pcbsPCB's error frames are occuredoccur in 250kbps250 kb/s CAN communication.   

enter image description here

My first 4-ayer pcblayer PCB layout: Top copper is poured with DigitalGND. Inner layer 1 is DigitalGND plane. Inner layer 2 is PowerGND plane (MOSFETs Sources.MOSFET's sources). Bottom copper poured with PowerGND (all GND layers connected at Input Common Mode Choke's leg. )  .

enter image description here Inner

Inner Layer 1: DigitalGND plane   

enter image description here Inner

Inner Layer 2: PowerGND plane   

enter image description here

My second 4-layer pcbPCB layout. Layers are same as the first one.   

enter image description here Inner

Inner Layer 1: DigitalGND plane   

enter image description here Inner

Inner Layer 2: PowerGND plane   

enter image description here

CAN Bus Error Frame in PWM Driver

I met a CAN communication problem at my PWM RGB LED driver. I have a controller and a PWM RGB LED driver. The controller sends messege to the LED driver what the PWM duty cycles of the RGB channels be. The communication speed is 250kbps. I didn't see any communication problem in my previous LED Driver design. But after some improvement like changing the PWM driver circuit of MOSFETs, I realized that there are some commutation delay in my second design of the PWM driver. (Both pcbs are originally manufactured.) After debugging to the driver, it is seen that the CAN ESR register catches error frames. Because of this error frames, the driver responses the commands late. But interestingly, this error frames seen in some of my second design driver pcbs. Some are running with no errors. They both manufactured in same process and components. When I reduced the communication speed to 125, 100, and 50 kbps, the error frame did not appear in the debug. But testing in 80°C environment, the error frames appeared again.

I designed 2 different of 4-layer pcb of the driver. one is running without error frame. In hot environment (80°C), error frames were seen in second 4-layer pcb.

I think that, this problem is because of the pcb layout. 800Hz PWM pulses on the MOSFETs may be affecting the message on the CAN Rx, Tx lines.

Could it be a different reason than the layout?

What would you suggest I do for a solution?

Thank you in advance for your help.

My first pcb layout. There is no error frame in communication.  enter image description here

My second pcb layout. Some of this pcbs error frames are occured in 250kbps CAN communication.  enter image description here

My first 4-ayer pcb layout: Top copper is poured with DigitalGND. Inner layer 1 is DigitalGND plane. Inner layer 2 is PowerGND plane (MOSFETs Sources.) Bottom copper poured with PowerGND (all GND layers connected at Input Common Mode Choke's leg. )  enter image description here Inner Layer 1: DigitalGND plane  enter image description here Inner Layer 2: PowerGND plane  enter image description here

My second 4-layer pcb layout. Layers are same as the first one.  enter image description here Inner Layer 1: DigitalGND plane  enter image description here Inner Layer 2: PowerGND plane  enter image description here

CAN Bus error frame in PWM driver

I have a CAN communication problem with my PWM RGB LED driver. I have a controller and a PWM RGB LED driver. The controller sends messages to the LED driver about what the PWM duty cycle of the RGB channels should be. The communication speed is 250 kb/s. 

I didn't see any communication problem in my previous LED driver design. But after some improvements like changing the PWM driver circuit of the MOSFETs, I realized that there are some commutation delays in my second design of the PWM driver (both PCBs are originally manufactured).

After debugging the driver, I saw that the CAN ESR register catches error frames. Because of these error frames, the driver responds to the commands late. But interestingly, these error frames are seen only in some of my second design driver PCBs; some are running with no errors. They were both manufactured in the same process with the same components. 

When I reduced the communication speed to 125, 100, and 50 kb/s, the error frame did not appear in the debug. But testing in an 80°C environment, the error frames appeared again.

I designed two different versions of the 4-layer PCB of the driver. One is running without error frame. In a hot environment (80°C), error frames were seen in the second 4-layer PCB.

I think that this problem is because of the PCB layout. 800 Hz PWM pulses on the MOSFETs may be affecting the message on the CAN Rx and Tx lines.

Could there be a different reason than the layout?

What would you suggest I do for a solution?

My first PCB layout. There is no error frame in the communication. 

enter image description here

My second PCB layout. Some of this PCB's error frames occur in 250 kb/s CAN communication. 

enter image description here

My first 4-layer PCB layout: Top copper is poured with DigitalGND. Inner layer 1 is DigitalGND plane. Inner layer 2 is PowerGND plane (MOSFET's sources). Bottom copper poured with PowerGND (all GND layers connected at Input Common Mode Choke's leg).

enter image description here

Inner Layer 1: DigitalGND plane 

enter image description here

Inner Layer 2: PowerGND plane 

enter image description here

My second 4-layer PCB layout. Layers are same as the first one. 

enter image description here

Inner Layer 1: DigitalGND plane 

enter image description here

Inner Layer 2: PowerGND plane 

enter image description here

added 464 characters in body
Source Link
OzkulA
  • 195
  • 1
  • 9

I met a CAN communication problem at my PWM RGB LED driver. I have a controller and a PWM RGB LED driver. The controller sends messege to the LED driver what the PWM duty cycles of the RGB channels be. The communication speed is 250kbps. I didn't see any communication problem in my previous LED Driver design. But after some improvement like changing the PWM driver circuit of MOSFETs, I realized that there are some commutation delay in my second design of the PWM driver. (Both pcbs are originally manufactured.) After debugging to the driver, it is seen that the CAN ESR register catches error frames. Because of this error frames, the driver responses the commands late. But interestingly, this error frames seen in some of my second design driver pcbs. Some are running with no errors. They both manufactured in same process and components. When I reduced the communication speed to 125, 100, and 50 kbps, the error frame did not appear in the debug. But testing in 80°C environment, the error frames appeared again.

I designed 2 different of 4-layer pcb of the driver. one is running without error frame. In hot environment (80°C), error frames were seen in second 4-layer pcb.

I think that, this problem is because of the pcb layout. 800Hz PWM pulses on the MOSFETs may be affecting the message on the CAN Rx, Tx lines.

Could it be a different reason than the layout?

What would you suggest I do for a solution?

Thank you in advance for your help.

My first pcb layout. There is no error frame in communication. enter image description here

My second pcb layout. Some of this pcbs error frames are occured in 250kbps CAN communication. enter image description here

My first 4-ayer pcb layout: Top copper is poured with DigitalGND. Inner layer 1 is DigitalGND plane. Inner layer 2 is PowerGND plane (MOSFETs Sources.) Bottom copper poured with PowerGND (all GND layers connected at Input Common Mode Choke's leg. ) enter image description here Inner Layer 1: DigitalGND plane enter image description here Inner Layer 2: PowerGND plane enter image description here

My second 4-layer pcb layout. Layers are same as the first one. enter image description here Inner Layer 1: DigitalGND plane enter image description here Inner Layer 2: PowerGND plane enter image description here

I met a CAN communication problem at my PWM RGB LED driver. I have a controller and a PWM RGB LED driver. The controller sends messege to the LED driver what the PWM duty cycles of the RGB channels be. The communication speed is 250kbps. I didn't see any communication problem in my previous LED Driver design. But after some improvement like changing the PWM driver circuit of MOSFETs, I realized that there are some commutation delay in my second design of the PWM driver. (Both pcbs are originally manufactured.) After debugging to the driver, it is seen that the CAN ESR register catches error frames. Because of this error frames, the driver responses the commands late. But interestingly, this error frames seen in some of my second design driver pcbs. Some are running with no errors. They both manufactured in same process and components. When I reduced the communication speed to 125, 100, and 50 kbps, the error frame did not appear in the debug. But testing in 80°C environment, the error frames appeared again.

I designed 2 different of 4-layer pcb of the driver. one is running without error frame. In hot environment (80°C), error frames were seen in second 4-layer pcb.

I think that, this problem is because of the pcb layout. 800Hz PWM pulses on the MOSFETs may be affecting the message on the CAN Rx, Tx lines.

Could it be a different reason than the layout?

What would you suggest I do for a solution?

Thank you in advance for your help.

My first pcb layout. There is no error frame in communication. enter image description here

My second pcb layout. Some of this pcbs error frames are occured in 250kbps CAN communication. enter image description here

My first 4-ayer pcb layout: Top copper is poured with DigitalGND. Inner layer 1 is DigitalGND plane. Inner layer 2 is PowerGND plane (MOSFETs Sources.) Bottom copper poured with PowerGND (all GND layers connected at Input Common Mode Choke's leg. ) enter image description here

My second 4-layer pcb layout. Layers are same as the first one. enter image description here

I met a CAN communication problem at my PWM RGB LED driver. I have a controller and a PWM RGB LED driver. The controller sends messege to the LED driver what the PWM duty cycles of the RGB channels be. The communication speed is 250kbps. I didn't see any communication problem in my previous LED Driver design. But after some improvement like changing the PWM driver circuit of MOSFETs, I realized that there are some commutation delay in my second design of the PWM driver. (Both pcbs are originally manufactured.) After debugging to the driver, it is seen that the CAN ESR register catches error frames. Because of this error frames, the driver responses the commands late. But interestingly, this error frames seen in some of my second design driver pcbs. Some are running with no errors. They both manufactured in same process and components. When I reduced the communication speed to 125, 100, and 50 kbps, the error frame did not appear in the debug. But testing in 80°C environment, the error frames appeared again.

I designed 2 different of 4-layer pcb of the driver. one is running without error frame. In hot environment (80°C), error frames were seen in second 4-layer pcb.

I think that, this problem is because of the pcb layout. 800Hz PWM pulses on the MOSFETs may be affecting the message on the CAN Rx, Tx lines.

Could it be a different reason than the layout?

What would you suggest I do for a solution?

Thank you in advance for your help.

My first pcb layout. There is no error frame in communication. enter image description here

My second pcb layout. Some of this pcbs error frames are occured in 250kbps CAN communication. enter image description here

My first 4-ayer pcb layout: Top copper is poured with DigitalGND. Inner layer 1 is DigitalGND plane. Inner layer 2 is PowerGND plane (MOSFETs Sources.) Bottom copper poured with PowerGND (all GND layers connected at Input Common Mode Choke's leg. ) enter image description here Inner Layer 1: DigitalGND plane enter image description here Inner Layer 2: PowerGND plane enter image description here

My second 4-layer pcb layout. Layers are same as the first one. enter image description here Inner Layer 1: DigitalGND plane enter image description here Inner Layer 2: PowerGND plane enter image description here

Source Link
OzkulA
  • 195
  • 1
  • 9
Loading