TI中文支持网
TI专业的中文技术问题咨询交流网站

IWR1642 CAN程序

我的CAN程序是根据SDK drivers中的CAN和automotive_toolbox中lab0005_object_data_over_can这两个程序写的。

IWR1642BOOST硬件部分有做更改,但是还是没有输出。

我想问一下我的程序有没有错误,是不是程序写错了所以没输出?

Chris Meng:

你好,

建议先使用CAN driver里的测试例程进行测试。
请确认IWR1642BOOST的CAN接口有接在CAN总线上,有接收CAN信息的设备在总线上。

user6120592:

回复 Chris Meng:

CAN Unit Test Menu Please select the type of test to execute: 1. DCAN Internal loopback test 2. DCAN External loopback test 3. DCAN Parity test 4. DCAN Tx/Rx test 这四项测试都做了,1和2都显示通过。 3和4有问题,以下是console的报文: ******************************************************* CAN Unit Test Menu Please select the type of test to execute: 1. DCAN Internal loopback test 2. DCAN External loopback test 3. DCAN Parity test 4. DCAN Tx/Rx test ******************************************************* > Enter your selection: Debug: parity testing Error: ECC error status check failed. Single bit error 0 Double bit error 1 Message Number 49 Feature: Parity testing: Failed Debug:CAN testing failed ******************************************************* CAN Unit Test Menu Please select the type of test to execute: 1. DCAN Internal loopback test 2. DCAN External loopback test 3. DCAN Parity test 4. DCAN Tx/Rx test ******************************************************* > Enter your selection: Debug: External transmit testing 第四个测试一直卡在Debug: External transmit testing处,我把gDisplayStats设为1后显示如下: Please select the type of test to execute: 1. DCAN Internal loopback test 2. DCAN External loopback test 3. DCAN Parity test 4. DCAN Tx/Rx test ******************************************************* > Enter your selection: Debug: External transmit testing Debug: External transmit testing Passed Debug: Number of iterations : 1 Debug: Number of messages transmitted : 0 Debug: Number of messages received : 0 Debug: Number of messages lost : 0 Debug: Error Status Interrupt : 1 Debug: Message object number : 1 Debug: Direction : Transmit Debug: Number of interrupts received : 0 Debug: Number of messages processed : 1 Debug: Message object number : 2 Debug: Direction : Receive Debug: Number of interrupts received : 0 Debug: Number of messages processed : 0 Debug: Receive passive error : 0 Debug: Transmit Error Counter : 136 Debug: Receive Error Counter : 0 我把S2开关拨到CAN ON,J3的CANH和CANL连接到了一个CAN-USB转换器上,然后连接电脑并打开了对应软件。

我用示波器去看CANH和CANL,发现没有CAN的波形出现。 我不知道为什么会失败,所以来这里问下哪里可能有问题?

Chris Meng:

回复 user6120592:

你好,

对外收发的时候,message ID能对上么?

你是否有参考过下面文档里2. 3. 1. R4 CAN Tx/Rx Test to PCAN相关信息。
C:\ti\mmwave_sdk_03_05_00_04\docs\mmwave_sdk_unit_test_procedure.pdf

Chris Meng:

回复 user6120592:

你好,

对外收发的时候,message ID能对上么?

你是否有参考过下面文档里2. 3. 1. R4 CAN Tx/Rx Test to PCAN相关信息。
C:\ti\mmwave_sdk_03_05_00_04\docs\mmwave_sdk_unit_test_procedure.pdf

user6120592:

回复 Chris Meng:

1、除了testSelection和gDisplayStats的值以外,我没有改动测试例程,message ID 一直都是0xC1。我觉得即使是设置参数有问题,CANH和CANL也应该有波形输出吧,只是识别不出来而已。但现在是CANH和CANL都没有波形输出。

2、这个文档描述的似乎是PCAN的使用方法?以及正常的报文显示?
这个测试只有使用PCAN才能做吗?还是普通的CAN-USB转换器也能做?

Chris Meng:

回复 user6120592:

你好。

从下面的论坛讨论看,你还需要另外一块硬件板DEVPACK,才能进行CAN的测试。不过现在DEVPACK已经不再销售了。

e2e.ti.com/…/736299

user6120592:

回复 Chris Meng:

也就是说SDK里的CAN Unit Test Menu  需要DEVPACK才能做?是不是意味着IWR1642要连接硬件板DEVPACK才能用CAN输出?

还有一个问题,IWR1642-EVM PROC011 REV B这块板子如果要用CAN,硬件部分是不是只用把S2拨到CAN ON就行了?

有工程师跟我说除了S2还需要改动电路,但是另一个工程师又说REV B这块板子只用把S2拨到CAN ON就行了。

这里有点矛盾,我想确定一下我的硬件改动是不是对的?

我实在没有头绪,不知道问题出在哪。对于现在这种情况有什么建议吗?

Chris Meng:

回复 user6120592:

你好,

我查看了IWR1642BOOST的原理图,它和AWR1642BOOST的原理图基本上是一样的。在AWR1642上支持MCAN(CANFD),通过S2是可以切换CANFD和SPI的链接的。所以在AWR1642上测试MCAN是不需要修改硬件,直接通过S2开关就可以了。

但是在IWR1642上没有CANFD,只有DCAN,IWR1642 DCAN的接口并没有接到BOOST的CAN转换芯片上。

下面的信息是从IWR1642的数据手册和IWR1642BOOST的原理图上复制的,请参考。

user6120592:

回复 Chris Meng:

你好,我看了原理图之后我觉得可不可以从J5和J6的SPICLK1和CS1引两根线连到其他CAN收发器上。

我在CAN Unit Test Menu程序运行的时候查看了J5和J6的这两个引脚,但是只有高电平没有输出。

这是为什么?J5和J6不能用吗?而且J6的1、2引脚并没有3V3和5V

Chris Meng:

回复 user6120592:

你好,

can信号必须要连接在can总线上检测,如果悬空是测量不到信号的。

J6上1/2引脚没有电压是正常的,R115,R130电阻都没有焊接。

赞(0)
未经允许不得转载:TI中文支持网 » IWR1642 CAN程序
分享到: 更多 (0)