TJA1051T/3 not outputting CAN High signal

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

TJA1051T/3 not outputting CAN High signal

Jump to solution
1,137 Views
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 Kudos
Reply
1 Solution
1,025 Views
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!

View solution in original post

6 Replies
1,063 Views
nyunker
Contributor II

I have also switched on the 120ohm Termination

0 Kudos
Reply
1,063 Views
nyunker
Contributor II

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

nyunker_0-1689105777370.png

 

0 Kudos
Reply
1,116 Views
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 Kudos
Reply
1,110 Views
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 Kudos
Reply
1,066 Views
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 Kudos
Reply
1,026 Views
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!