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-Q1:如何启用回退功能?

Guru**** 2551300 points
Other Parts Discussed in Thread: TCAN4550-Q1

请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/interface-group/interface/f/interface-forum/1558818/tcan4550-q1-how-to-enable-lookback-function

器件型号:TCAN4550-Q1


工具/软件:

你(们)好  

下面是我们为启用回退函数所做的操作、但我们无法接收任何数据。 如果有任何问题、您可以帮助回顾下面的步骤吗?

1.我们已成功初始化驱动程序  

     1.350269] tcan4x5x spi0.0 CAN0:TCAN4X5X 已成功初始化。

2.按照以下说明打开 CAN0  

   IP 链路设置 CAN0 已关闭

   IP 链路设置 CAN0 类型 CAN 比特率 500000 环回打开

   IP 链路设置 CAN0 UP

   ip -details 链接显示 CAN0

  CANdump CAN0 &

3、使用以下指令将数据发送到 CAN0、但在 CAN0 没有看到任何数据

CAN 发送 CAN0 123#DEADBEEF

我们已经检查环回是否正确启用、但在 CAN0 处没有数据

下面是我们检查的内容  

IP 链路设置 CAN0 类型 CAN 比特率 500000 环回打开

IP 链路设置 CAN0 UP

2:CAN0: MTU 16 qdisc pfifo_fast 状态 up 模式默认组缺省值 qlen 10

   链接/CAN 混杂 0 allmulti0 minmtu 0 maxmtu 0

   CAN 状态错误激活 (berr-counter TX 0 Rx 0) restart-ms 0

         比特率 500000 采样点 0.875

         tq 25 prop-seg 34 phase-seg1 35 phase-seg2 10 SJW 1 BRP 1

         m_can:tseg1 2..256 tseg2 2..128 SJW 1..128 BRP 1..512 BRP_inc 1.

         m_can:dtseg1 1..32 dtseg2 1..16 dsjw 1..16 dbrp 1..32 dbrp_inc 1

         时钟 40000000 numtxqueue 1 numrxqueue 1 GSO_max_size 65536 GSO_max_segs 65535 TSO_max_size 65535 GRO_max_size 65536 parentbus spi parentdev spi0.0

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    尊敬的 PY:

    我们已检查环回是否正确启用、但 CAN0
    没有数据

    我不确定如何检查环回是否已正确启用。  您是否读取了器件寄存器以验证设置是否正确?  还有一个外部环回模式和一个内部环回模式。  在外部模式下、消息被传输到总线、并在内部环回至自身。  在内部模式下、消息不会传输到总线、只会环回到自身。

    您可以在上找到更多信息 M_CAN 用户手册中的 MCAN 环回模式 (链接)

    在 TCAN4550-Q1 器件寄存器级别、您需要首先向控制寄存器 (CCCR) 0x1018[7]写入“1"以“以启用测试模式。  为此、您还需要将 INIT 和 CCE 位设置为“1"以“以允许设置 TEST 位、因此这可能需要对该寄存器进行多次写入。

    然后、在 TEST=1 后、您需要向测试寄存器 0x1010[4]的 LBCK 位写入“1",“,以、以启用环回模式。

    如果您想要内部环回模式、您还需要将控制寄存器 0x1018[5]的 MON 位设置为“1",“,这、这将禁用外部传输。  这可以通过之前对控制寄存器的写入来完成。  如果您想要使用外部环回模式、则需要将 MON 位设置为“0"以“以允许消息外部传输。

    完成此操作后、您需要将 Control 寄存器的 INIT 位设置为“0"以“以启用正常运行。

    请验证控制和测试寄存器的值是否正确、并正确设置了测试、LBCK 和 MON 位。

    此致、

    Jonathan