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

https://e2e.ti.com/support/interface-group/interface/f/interface-forum/1353491/tcan4550-q1-problems-writing-to-control-register

器件型号:TCAN4550-Q1
主题中讨论的其他器件:EK-TM4C123GXL、BOOSTXL-CANFD-LIN、 TCAN4550

设置:

  EK-TM4C123GXL 连接到 BOOSTXL-CANFD-LIN

  SPI:

    MOSI - B7、MISO-B6、CLK-B4和 CS-A4。 我使用的是 SSI_FRF_MOTO_MODE_0、位速率为2000000。

我正在尝试 SPI 写入0x00000003以设置 CCCR。 CCE 和 CCCR。  不过、Control 寄存器下的 INIT 位、但是写操作似乎没有任何作用、因为 CCE 位没有置位、每次尝试置位后从该寄存器读取时、我得到0x00000019、这是根据文档提供的复位值。 想知道为什么会出现这种情况?

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

    您好、Brendan:

    感谢您向 E2E 提出问题。  

    您是否能够验证 MCU 和 TCAN4550之间的其他 SPI 事务是否成功? 一种很好的测试方法是使用暂存区寄存器(h0808)来确保 MCU 能够正确写入和读回预期值。 这还将确保晶体振荡器正常工作、因为所有高于 h000C 的寄存器都要求这个时钟源处于激活状态并稳定。  

    在请求期间、MCAN 可能正忙、尝试解锁受保护的寄存器失败。 在报告配置尝试中的故障之前、软件通常会多次尝试解锁。 请参阅 器件存储页面上提供的 TCAN4550演示驱动程序中的 TCAN4x5x_MCAN_EnableProtectedRegisters ()函数,以了解如何解锁这些字段。  然后可以使用 TCAN4x5x_MCAN_ConfigureCCCRRegister ()函数测试所需的配置位。  

    如果这些对您的测试有帮助、同时您有任何其他问题、请告诉我。  

    此致、  
    埃里克·肖特

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

    您好、Eric、

    感谢您的帮助。

    我测试了暂存区寄存器、我得到了0x00000000的初始读取、似乎是正确的、但我向寄存器写入了0xFFFFFFFF、读取后返回了0xFFFFFF29、因此最后一个字节已通过 SPI 关闭。 更改 我用于在发送最后一个字节后检查传输是否完成的逻辑 似乎可以修复此问题。 此外、我一直在关注  商店页面上的 TCAN4550演示、只是针对我的特定 MCU 对其进行了配置。

    谢谢!

    布伦丹

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