CAN BUS is not working on imx6 custom board

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

CAN BUS is not working on imx6 custom board

跳至解决方案
2,419 次查看
peteramond
Contributor V

Hi All,

@alejandrolozano

This is regarding imx6 quad processor based custom hardware design. This custom hardware is mostly similar to Nitrigon6 Max developmet board and it has used same CAN interface [hardware design and processor pins are same, CAN Transceiver (TJA1040T) ]. I'm using nitrogen6_max same uboot and dtbs and there are no major changes in CAN and so pin assignment in dtbs are same. But candump can0 doesn't show any value after running Yocto image. I checked the signals before the CAN transceiver chip TXD and they are looks okay exactly 3v. But after the can transceiver CANH pin shows sloped wave bellow 3v. Signals are not clear.

Could you please explain the reason for this ? Is there some thing wrong with hardware design or dtbs or u-boot ? I found same problem in Nitrogen6_MAX one of my development board.But CAN is working only sabrelite development boards. 

I noticed that the resistors which were used near SPLIT is 60.4Ohms. But it is recommended to use 60 Ohms resistor in TJA1040T chip. So is this the problem here ? 

pastedImage_1.png

pastedImage_2.png

pastedImage_3.png

Thank You,

Peter.

标签 (2)
1 解答
1,840 次查看
alejandrolozan1
NXP Employee
NXP Employee

Hi Peter,

Is there any other node sending frames over the bus? If so, can you check the CAN signals from the  MPU to the transciever? also send data from the iMX6 and check that at least the data is sent from the  iMX6 to the Transceiver. That way we can narrow down and verify if the problem is a configuraiton in the transciever or maybe a sw change  in the iMX6 side.

Best Regards,

Alejandro

在原帖中查看解决方案

2 回复数
1,840 次查看
gary_bisson
Senior Contributor III

Hi,

Not sure if you are still facing that issue but I wanted to jump in and give some insights:

- Yes the CAN on Nitrogen6_MAX has been tested and is known to work

- The split resistors values are ok, 60,4 is close enough to 60

- You're right, the resistors are different on SabreLite but that is a mistake, it should not be 30

Considering that it works on SabreLite for you and not on MAX I suspect the termination on your other device to be wrong. It has to be 120ohms as well on the other end of the line.

This was tested against a CANUSB device:

CANUSB | CAN Tools 

Regards,

Gary

0 项奖励
回复
1,841 次查看
alejandrolozan1
NXP Employee
NXP Employee

Hi Peter,

Is there any other node sending frames over the bus? If so, can you check the CAN signals from the  MPU to the transciever? also send data from the iMX6 and check that at least the data is sent from the  iMX6 to the Transceiver. That way we can narrow down and verify if the problem is a configuraiton in the transciever or maybe a sw change  in the iMX6 side.

Best Regards,

Alejandro