This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

TCAN4550配置问题

Other Parts Discussed in Thread: TCAN4550

我在根据demo进行CAN配置,调试到方法void Init_CAN(void)的第二步TCAN4x5x_Device_ConfigureInterruptEnable(&dev_ie)的时候发现寄存器“Interrupt Enables (address = h0830 )”在文档中的描述和demo中实现的的结构体有差异。文档如下

在写入全0后通过SPI读取该寄存器时会返回0x809628FF,其中显示为保留位且只能读取的第9和12位可以被写入;另外返回值中的“8”对应的第31位bit在文档中也显示为保留位,但在demo的TCAN4X5X_Data_Structs.h中的对其描述为 //! @brief DEV_IE[31] : CANBUSNOM, CAN Bus is normal flag,当调用TCAN4x5x_Device_ConfigureInterruptEnable写入该寄存器时会因为这一位而返回代表配置失败的false,但是demo中由于并不读取该返回值所以代码仍然会继续运行,所有想请问一下该位被置1的原因以及这个配置结果可能会造成什么影响?

另外,我在调用TCAN4x5x_Device_SetMode(TCAN4x5x_DEVICE_MODE_NORMAL);后有在canh接到一个上升波形,但是在后续写can报文调用TCAN4x5x_MCAN_WriteTXBuffer(0, &header, data);及TCAN4x5x_MCAN_TransmitBufferContents(0);后并未在canh即canl上接收到波形变化,这可能是由什么原因导致的?

  • 原理图如下,其中使用晶振数值有误,实际为40Mhz,

  • 您好, 关于TCAN 4550的这个寄存器中的一些只读保留位, 发现可写入, 并且您目前的问题,我帮您和美国工程师再确认下.
  • Hello Chen,

    除了前面的问题,我在测试canh和canl的波形时得到了如下的结果,配置过程完全按照TCAN4550的Demo,您或贵司其他熟悉TCAN4550的工程师是否能看出该情况可能是什么原因导致的?是寄存器的配置还是其他问题?期待您的答复,感谢。

  • 您好,关于这几个reserved 寄存器能进行读写的问题,我已经和美国工程师确认,中断寄存器您读取的值没有问题,有些reserved 寄存器确实是open状态,也就是可读可写的。
    另外,关于波形,看起来像是反射,我看了下您的电路, CAHH和CANL没有接120ohm匹配电阻吗? 附图中没有,不知实际测试的时候有没有,建议端接上120ohm终端匹配电阻再测试,是否还有这个问题。
  • 好的,波形的异常我已确认过是线束接触不良的原因,不过仍然感谢您的意见,既然寄存器的读取是正确的那我就没有疑问了。感谢您的回复。