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:在配置操作期间、tcan4550 Linux 驱动程序无法发送数据

Guru**** 2941370 points

Other Parts Discussed in Thread: TCAN4550

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

https://e2e.ti.com/support/interface-group/interface/f/interface-forum/907268/tcan4550-tcan4550-linux-driver-can-not-send-data-during-configuration-operation

器件型号:TCAN4550

大家好、

客户遇到以下问题、需要您的帮助。  他从 Linux-5.14版本中获得了 tcan4x5x 驱动程序、并在调试过程中发现了以下问题:

  1. 当设备驱动程序读取 ID 作为匹配项时、它会调用 tcan4x5x_read_reg。  此函数向地址位中的所有地址偏移量添加0x1000、发送地址数据为0x41100001。  根据手册、应为0x41000001。  修改后读取 ID 是正常的;
  2. 根据在 m_CAN_CHECK_CORELED_RELEASE ()中读取 ID 后的逻辑判断、根据手册和实际测量结果、读取 ID0的 ID 应为0x4e414354。  但它不能满足后来的判决的30-32判决逻辑。  客户推测是否读取 ID1 0x30353534的值、随后的逻辑判断为30、这符合后来版本的判断;
  3. 在驱动程序的修改部分可以正常加载后、可以在成功加载 CAN 器件后在应用层插槽中调用它。  应用程序写入提示"没有可用的缓冲区空间";
  4. SPI 是大端字节序传输(SPI 问题)、芯片不响应、修改后响应正常;

问题3当前未解决。

e2e.ti.com/.../5635.tcan4x5x.c

谢谢、

安妮

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

    尊敬的 Annie:

    您也可以尝试从 Linux 社区寻求一些帮助、因为这些问题似乎与内核中的驱动程序实现比 TCAN4550硬件更相关。  我搜索了"no buffer space available (无可用缓冲区空间)"错误、并发现了几种解决方案是增加队列长度的情况、如下所示:

    sudo ifconfig CAN0 txqueuelen 1000

    可以尝试一下吗?

    此外、请确保总线至少连接了两个节点。  这是正常运行所必需的、因为每个 TX 帧都将从接收节点收到一个 ACK。

    此致、
    最大

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

    尊敬的 Max:

    我发现 Linux 论坛为只读论坛、 2017年后未激活: https://e2e.ti.com/support/legacy_forums/embedded/linux/

    以下是客户的反馈:

    他尝试了上述所有方法,现在问题已经取得了进展。 发送数据正常、接收数据仍在修改中。  问题如下:

    1. 他提到这篇文章:https://e2e.ti.com/support/interface/f/138/p/855657/3171152。  请参阅配置的 Bosch、MRAM-cfg 将使驱动程序配置的 MRAM 比实际的 MRAM 2k 大得多、从而导致配置的 TX 缓冲区 buf 成为非法地址;
    2. m_CAN_open ()中存在一些初始化问题、但根据手册进行修改后这些问题是正常的;

    现有接收到的数据异常会导致 Rx FIFO 满问题。 他认为这也应该是一个配置问题,应该通过修改寄存器配置来解决。

    谢谢、

    Anniee2e.ti.com/.../m_5F00_can.txt

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

    尊敬的 Annie:

    Max 目前不在办公室、所以我在他外出时就会补足。

    您能否让他提供他的完整器件树、TCAN4550寄存器和 MRAM 配置、以便我们可以检查它们是否有错误?  您还能让他提供他收到的准确错误消息吗?  很难处理这些一般性问题、更具体的信息将真正帮助我们找到问题。

    谢谢、

    Jonathan