TJA1051T/3 not outputting CAN High signal

取消
显示结果 
显示  仅  | 搜索替代 
您的意思是: 
已解决

TJA1051T/3 not outputting CAN High signal

跳至解决方案
1,727 次查看
nyunker
Contributor II

I am trying to use the Adafruit 5708 CAN Pal transceiver which has the TJA1051T/3 transceiver chip on it.  I have been able to prove I'm sending the CAN transmission from my STM32F091 MCU to the transceiver on the adafruit board using a Siglent SDS2204X Plus oscilloscope w/ digital logic probe and CAN decoder but the CAN_H signal from the transceiver doesn't seem to be doing anything.

I do not have the CAN_H or CAN_L signals hooked up to the motor I'm trying to control yet so could that be what's making the transceiver not output anything?  I have made sure to connect the Silent pin to Ground just to make sure that wasn't the problem.  Other than this what else could I be doing wrong?

0 项奖励
回复
1 解答
1,615 次查看
nyunker
Contributor II

I have managed to get this working...I was able to verify which wire should be CAN_H and which should be CAN_L and then using my oscilloscope probes rather than digital probes I've been able to correctly read the CAN_H and CAN_L lines.  Here is a scope capture of my signal being transmitted onto the CAN bus as expected:

nyunker_0-1689186013165.png

 

Thanks for your attention on this!

在原帖中查看解决方案

6 回复数
1,653 次查看
nyunker
Contributor II

I have also switched on the 120ohm Termination

0 项奖励
回复
1,653 次查看
nyunker
Contributor II

I do, here is Adafruit's schematic for the little PCB it's soldered to.

nyunker_0-1689105777370.png

 

0 项奖励
回复
1,706 次查看
diazmarin09
NXP TechSupport
NXP TechSupport

Hello nyunker,

I hope all is great with you. Thank you for using the NXP communities.

For a better understanding, could you please share the oscilloscope CAN signals? I mean, the signals from the MCU.

Could you please share your schematic?

Regards,

David

0 项奖励
回复
1,700 次查看
nyunker
Contributor II

I have been able to connect the motor to the CAN Bus now when I first power it on for about 5 seconds I get nothing on the CAN Bus but the MCU output seems to be working fine (see attached screen capture) and then after about 5 seconds or so my MCU hangs (nothing works) the MCU output stops and the CAN bus comes alive with a ton of data (presumably from the Motor) (see attached screen capture).

One thing I've thought about is I only have code written to handle transmitting data to the motor...I did not implement code for receiving data from the motor since all I'm trying to do is set the motor speed.  I wonder if that's causing the MCU to hang.  Ultimately though, it doesn't seem like the TX data even initially is going out onto the CAN Bus past the NXP transceiver anyway.

As for a schematic...it's not a custom board design, I'm using the Nucleo-F091RC from STMicroelectronics and plugging your transceiver into PA11 and PA12 for the CAN connections. CAN_TX to PA12 and CAN_RX to PA11.  I'm powering the adafruit board your transceiver is on using the 3.3V and GND outputs from the Nucleo board as well

0 项奖励
回复
1,656 次查看
diazmarin09
NXP TechSupport
NXP TechSupport

Hello nyunker,

I am pleased to know that you have some progress. 

Could you please ensure that you have the correct configuration for the TJA1051 connection?

diazmarin09_2-1689105175478.png

Regards,

David

0 项奖励
回复
1,616 次查看
nyunker
Contributor II

I have managed to get this working...I was able to verify which wire should be CAN_H and which should be CAN_L and then using my oscilloscope probes rather than digital probes I've been able to correctly read the CAN_H and CAN_L lines.  Here is a scope capture of my signal being transmitted onto the CAN bus as expected:

nyunker_0-1689186013165.png

 

Thanks for your attention on this!