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**** 1963925 points
Other Parts Discussed in Thread: TCAN4550, TCAN4550-Q1
请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/interface-group/interface/f/interface-forum/1443648/tcan4550-q1-how-can-we-configure-the-registers-to-send-the-command

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

工具与软件:

尊敬的 Expert:

我的客户遇到一个问题、我们需要您帮助我们配置寄存器、提前感谢!

我们可以看到下面、他们已经配置了状态1的正确寄存器、有两个使用 TCAN4550的测试板、我们并通过 CAN 接口读取数据。

现在他们要向测试板1发送控制命令、我们想知道如何配置寄存器吗? 在我看来,我们需要写入1,080,1084,1088和4108和8000寄存器,但我们不知道更多的细节如何配置它们,你能不能给一些意见,谢谢!

  

此外、如何将发送命令配置为中断源?

此致、

插孔

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

    尊敬的 Jack:

    请参阅 TCAN45xx 软件用户指南 (链接)、了解有关如何配置器件寄存器以及如何发送和接收 CAN 消息的说明。

    有关 TCAN4550中使用的名为 MCAN 的 CAN FD 控制器 IP 的更多详细信息、请参阅 M_CAN 用户手册 (链接)。

    此致、

    Jonathan

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

    Jonathan、您好!

    我的客户想知道是否有方法可以知道 TCAN4550-Q1已完成数据发送、他们采用以下三种方式、请提前帮助审查、谢谢!

    1.设置 消息 RAM 访问失败中断使能和 消息存储到专用 Rx 缓冲区中断使能

    写入0X1054寄存器、0XA01

    写入0X105C 寄存器、0x03

    写入0x0800寄存器、0XC8400480

    读取0X0824 寄存器位9以完成传输

    写入0X1054寄存器、0XA01

    读取0X0824寄存器的第9位

    3.比较下面的寄存器:

    读取0X10C4、、然后比较位16~20和位8~12

    但他们都失败了,需要你的帮助来实现它。

    此致、

    插孔

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

    尊敬的 Jack:

    当一条消息成功发送时、发送完成中断位应该被置位。  看起来他们已正确启用该位。  

    我不了解他们为什么认为消息 RAM 访问失败中断位指示传输完成。  这是在正常运行情况下不应设置的故障位。

    我再次请您参考 M_CAN 用户手册 (链接)和第3.5节以及寄存器的各种位说明、以了解有关 TX 处理的所有信息。

    目前尚不清楚器件实际正在传输消息、并且可能存在其他配置问题、导致消息无法传输。  需要验证完整寄存器配置以检查是否存在错误。

    通常、TX 过程如下所示:

    -消息被加载到 MRAM 中的 TX 缓冲器元素中。

    -在 TX 缓冲区添加请求寄存器(0x10D0)中,对应于用于消息的 TX 缓冲区元素的位被设置为"1"。

    -器件随后将在 TX 缓冲区请求挂起寄存器(0x10CC)中设置相应的位。

    -成功发送报文后、器件将清除 TX 缓冲区请求挂起寄存器(0x10CC)中的位、并将 TX 缓冲区添加请求传输发生寄存器(0x10D8)中相应的位置位。

    -该器件还应在中断寄存器(0x1050和0x0824)中设置传输发生中断位。

    如果配置了 TX 事件 FIFO、则事件元素将添加到 TX 事件 FIFO 中的下一个可用缓冲区。

    -如果使用 TX FIFO 或队列, Put 和 Get 索引将被更新。

    我建议监视0x10CC 和0x10D8的值、以获得有关 TX 缓冲区状态(包含它们所使用的消息)的直接信息。

    此致、

    Jonathan

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

    Jonathan、您好!

    我不了解他们为什么认为消息 RAM 访问失败中断位指示传输完成。  这是在正常操作下不应设置的故障位。[/QUOT]

    感谢您的答复、我的客户想要使用中断来指示是否已发送 CAN 数据、请帮助我们配置这些寄存器、提前感谢!

    1.设置 消息 RAM 访问失败中断使能和 消息存储到专用 Rx 缓冲区中断使能

    写入0X1054寄存器、0XA01

    写入0X105C 寄存器、0x03

    写入0x0800寄存器、0XC8400480

    此致、

    插孔

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

    尊敬的 Jack:

    要生成指示 CAN 消息传输已完成的中断、需要将以下位设置为"1"。

    中断使能寄存器(0x1054)中的发送完成中断使能位(位9)。

    请注意、MCAN 有2条中断线路、默认情况下、所有中断位都分配给中断线选择寄存器(0x1058)中的"线路0"。  

    如果中断被分配给线路0 (缺省)、那么中断线使能寄存器(0x105C)中的启用中断线0应该被置位(位0)。  如果任何中断位被分配到行1、则也应设置启用中断线1 (位1)。

    然后、当一条消息 CAN 消息成功发送时、中断寄存器(0x1050和0x0824)中的 Transmit completed 位(第9位)将被设定为"1"。  

    请注意、寄存器0x0824只是寄存器0x1050的只读副本、因此向寄存器0x1050的第9位写入"1"需要将该位清零。  写入寄存器0x0824不会产生影响、也不会清除该位。

    此致、

    Jonathan

x 出现错误。请重试或与管理员联系。