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:如何知道 TCAN4550 配置良好并准备好发送 CAN 消息?

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

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

https://e2e.ti.com/support/interface-group/interface/f/interface-forum/1548520/tcan4550-q1-how-can-i-know-that-tcan4550-are-configured-well-and-ready-to-send-can-message

器件型号:TCAN4550-Q1
主题中讨论的其他器件:TCAN4550

工具/软件:

尊敬的专家:

我的客户正在配置 TCAN4550 软件、他们想知道 TCAN4550 是否配置良好并准备好发送 CAN 消息、应该读取哪些寄存器来指示这一点、谢谢。

此致、

插孔

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

    您好、Jack、

    没有任何特定的寄存器会指示配置良好。  客户需要配置所有 MCAN 设置(例如标称和数据位时序)、为不同 RX/TX 缓冲器元素、消息 ID 过滤器等的数量和大小分配 MRAM 空间 完成这一操作后、它们需要将器件转换为正常模式、或将控制寄存器 0x1018 中的 INIT 位设置为 0、以将器件转换出初始化模式并允许其在 CAN 总线上进行通信。

    根据问题、客户似乎对设备的配置或操作方式没有很好的了解、因此我将向您推荐一些他们需要查看的文档。

    TCAN45xx 软件用户指南 (链接)

    MCAN 用户手册 (链接)

    TCAN455x 时钟优化和设计指南应用报告 (链接)

    此致、

    Jonathan

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

    尊敬的 Jonathan:

    结果表明、TCAN4x5x_MCAN_ReadNextFIFO 和 TCAN4x5x_MCAN_ReadRXBuffer 用于读取示例代码中的 RX 数据。 您能给我们详细介绍一下这两个功能之间的差异吗? 如果我们希望执行更多 初始化和读取 RX 数据、应该使用哪一个? 谢谢。

    此致、

    Jack Li

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

    您好、Jack、

    MCAN 控制器可配置为具有两个 RX FIFO (RX FIFO 0 和 RX FIFO 1) 和用于存储消息的专用 RX 缓冲区。  您不必使用所有选项、可以将器件配置为仅使用 RX FIFO 或专用 RX 缓冲区、或者结合使用 RX FIFO 和专用 RX 缓冲区与不同消息 ID 过滤器、将不同消息的存储定向到不同的位置。

    使用 RX FIFO 时、您需要读取 RX FIFO 状态寄存器、以获取包含新消息的一个或多个 FIFO 元素的缓冲区编号。  使用专用 RX 缓冲区时、您将读取新数据寄存器以查看哪些 RX 缓冲区包含新消息。

    演示代码包含同时支持 RX FIFO 和专用 RX 缓冲器的功能。  如果使用专用 RX 缓冲区、则还需要设置 SID 和 XID 过滤器元素、以将新 RX 消息的存储定向到专用缓冲区中。  只有 RX FIFO 可用于在没有过滤器的情况下接受任何 RX 消息。

    有关 RX FIFO 和 RX 缓冲器的更多信息、请查看以下文档:

    TCAN45xx 软件用户指南 (链接)

    MCAN 用户手册 (链接)

    此致、

    Jonathan

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

    尊敬的  Jonathan:

    我的客户遇到另一个问题,请帮助,谢谢.

     如果仅使用接收函数、它们可能会接收正确的数据、SPI 结果如下所示:

    但是、如果用户使用 TCAN45550-Q1 发送数据、则会收到错误的数据:

    发送 ID 为 0x100、发送数据为 0x000001000000000

    接收到的错误数据是 0x215、数据是 0xFFFFFF9F00000000

    此致、

    插孔

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

    您好、Jack、

    我不确定您尝试用 SPI 图向我展示什么、但我确实看到了一些潜在的错误。  发送的第 4 个字节是“长度“字段、它是在此 SPI 事务中将发送或接收的数据“字“的数量。  每个数据字为 4 字节或 32 位、这告诉器件在片选信号为低电平时应该有多少个 SPI 位和 SPI 时钟周期。

    单个寄存器读取总共有 64 个 SPI 时钟周期或位。  前 32 个来自包含读取/写入操作码 (0x41 或 0x61) 的标头、后跟地址和长度字节。  如果长度=0x01、则在片选为低电平时将额外传输 32 个 SPI 时钟周期或位。

    如果长度= 0x02、则总共有 96 个 SPI 时钟周期(标头中 32 个、数据中 64 个)。

    如果 Length = 0x03、则总共将有 128 个 SPI 时钟周期(32 个来自报头、96 个来自数据)。

    我在他们的图中看到、片选在长度= 0x01 对应的时间段内保持低电平。  有时、它们正确设置长度= 0x01、有时 0x02 或 0x08 不正确。

    我不知道他们是如何在其 SPI 驱动程序代码中设置“长度“字段的、但它似乎可能有错误、这可能是也可能不是导致其他错误的原因。

    另一个可能的原因是 MRAM 分配错误、即它们具有重叠的元素时间(例如 RX FIFO 缓冲器元素与 TX 缓冲器元素导致数据覆盖自身,从而导致意外的数据发送或接收)。  我建议他们也检查他们的 MRAM 配置、以确保没有重叠的元素。

    此致、

    Jonathan

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

    尊敬的  Jonathan:

    感谢您的善意回应、我的客户想知道唤醒的方式、我想我们只需要阅读 h0820 的 14/bit15、对吧?

    此致、

    插孔

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

    插孔、

    是的、若要检查 TCAN4550-Q1 上出现的唤醒源、可以通过 SPI 读取 CANINT 和 LWU 位。

    此致、

    Eric Hackett  

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

    您好、Eric、

    我们注意到、Cwake 需要在数据表中大于 10nF、但我们只在 EVM 中使用 100pF、是否有问题?

    数据表中推荐的 Cwake:

    EVM 原理图如下所示:

    此致、

    Jack Li

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

    您好、Jack、

    电容的目的是稳定引脚上的电压、以避免错误的瞬态开关和错误的唤醒事件。  车辆中的实际应用更有可能出现这种类型的瞬态噪声、因此 EVM 用于不存在这种噪声的实验室环境。  EVM 板只是一个评估平台、可能具有也可能没有具有适用于所有应用的所有元件或具有所需值的元件。

    数据表建议应用使用 10nF。  数据表还指出、如果不使用 WAKE 引脚、则可以将其直接连接到 GND 或 VSUP、这意味着不需要 10nF 电容器。  因此、客户需要根据其应用确定适当的电容值和引脚配置。

    此致、

    Jonathan

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

    尊敬的  Jonathan:

    是否正确、为了节省功耗、我的客户将 VSUP 设置为 6.8V、是否存在任何风险?

    此致、

    Jack Li

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

    您好、Jack、

    唯一的风险是高达 UVLO 阈值的余量电压更小。  我不知道他们是否预计任何类型的负载突降会产生任何电压波动、但只要 VSUP 保持在 UVLO 阈值以上、那么器件就应正常运行。

    此致、

    Jonathan

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

    尊敬的  Jonathan:

     GLOBALERR 位意味着什么? 您能帮助澄清一下吗、谢谢。

    此致、

    插孔

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

    您好、Jack、

    请参阅表底部的注释。

    当设置了任何其他中断位并允许监控单个位时、此位被置位、表示在寄存器 0x0820 或 0x0824/0x1050 中设置了一个或多个其他中断位。

    此致、

    Jonathan

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

    尊敬的  Jonathan:

    感谢您的热情支持、我的客户可以将 TCAN4550 用于 CAN 消息收发器、我想知道是否有任何寄存器可以指示 TCAN4550-Q1 已成功发送 CAN 消息? 谢谢。

    此致、

    插孔

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

    您好、Jack、

    是、寄存器 0x10D8 是发生 TX 缓冲区添加请求传输的寄存器、在消息传输完毕时、与用于传输消息的 TX 缓冲区相对应的位将设置为 1。

    TX 事件 FIFO 也可以配置为存储传输事件。

    此致、

    Jonathan