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.

[参考译文] TCAN4550EVM:CANSLNT 错误标志置1、不使用唤醒或睡眠模式、RX/TX Pkts 正常

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

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

https://e2e.ti.com/support/interface-group/interface/f/interface-forum/902431/tcan4550evm-canslnt-error-flag-is-set-not-using-wake-or-sleep-mode-rx-tx-pkts-ok

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

您好!

我有一个 FPGA 板连接到 TCAN4550 EVM。 FPGA 在没有 CPU 的情况下直接控制 TCAN 并与之通信。 我已经使用了 TCAN 软件示例、并基于它编写了 HDL。

一切都可以从 RX 和 TX 的角度运行。 我可以将 pkts 接收到 FPGA 的 SRAM 中、并从 FPGA SRAM 发出 pkts。 我看到的问题是在 TCAN 命令32位阶段从 TCAN 返回的8位状态中的 CANSLNT 错误。 我不使用 WAKE、也不使用睡眠模式、因此根据评估硬件和软件选择、这些功能将被禁用。

0800h 设置为080004A2h、因此唤醒配置被禁用/00、WD_EN 为0、MODE_SEL 为 NORMAL /10。 另一个 reg 配置是根据示例代码进行的。 我不需要等待、但要等30秒左右才能开始双向传输。

我搜索并阅读了其他与 CANSLNT 相关的帖子、但我没有看到任何类似的内容。 有什么关于调试它的想法吗?

谢谢、

Greg Holdren

运动控制工程

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

    您好、Greg、

    只是为了确认-即使在总线上发生通信、您是否看到此标志仍然存在? 它是否始终置位、还是间歇性设置?

    此致、

    最大

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

    尊敬的 Max:

    它在接收到的数据包开始时很早发生。 第一个或第二个接收到的数据包、之后始终置位。 点。 在接收之前、SPI 通信中没有设置 CANSLNT 错误。

    RX 和 TX 操作似乎正常。 下面是第一个数据包。

    我在家里工作了4天。 明天、我将在5月7日至7日的办公室中查看 逻辑分析仪上发生错误的确切 SPI 通信事务。

    谢谢、

    Greg Holdren

    运动控制工程

    存储器块名称: TPSRAM_0/eSRAM_eNVM_ACCESS_TOP_TPSRAM_0_TPSRAM_R0C0/INST_RAM1K18_IP
    数据位模式:     9位

    0034 007            000             000      000      000 000      0A0       000      008      001      010      014      0E7      0DC      03C       
    007      034      000             000      000      000 000 000      0A0       03B      0AC      008      0FF      05B      0FA      0C7      015       
    007      034      000             000      000 000      000      000 0A0       012      034      056      078      04D      032      0D4      0AE       
    007      034      000             000      000 000      000 000 000      0A0       055      0AA      055      0AA      0FC      0B5      0D1      0FA       
        
    000      008      001      010      03B      0AC      008      0FF      012      034      056      078      055      0AA      055      0AA       

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

    Greg、

    如果您在第一次检测到 CANSLNT 标志后写入以清除、是否会再次升高? 即使触发该标志的条件消失、也必须写入该标志才能被清除。

    这不是标志被抛出的根本原因、我只想看看我们是否可以隔离何时发生。

    此致、

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

    您好 Eric、

    越来越近。

    我在0820h 中设置 CANSLNT 标志、它确实清除了每个后续 SPI 事务的状态字节上的错误。 在接收到下一个数据包时、CANSLNT 将再次置位。 我注意到、如果我以840ms 至850ms 或更快的速率向 TCAN (RX)发送 pktt、则错误永远不会再次出现。 那么、它看起来像是在某个位置激活了计时器、或者这是正常的吗? WD 关闭。

    谢谢、

    Greg Holdren

    运动控制工程

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

    Greg、

    这是 TCAN4550-Q1上的计时器。 如果您看第10页的器件开关特性、它会列出 tsilence、当计时器经过且没有 CAN 总线活动时、会产生 CANSLNT 标志。 如果不是在840ms 至850ms 之间发送数据包、您的发送速率是多少?

    由于计时器最短为0.6s、最长为1.2s、因此计时器必须在较慢的情况下过期、并且在840ms 至850ms 的情况下、计时器仍在静音计时器内。

    请告诉我这是否合理、或者您有任何其他问题。

    此致、  

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

    Eric、

    感谢您的澄清。 我错过了参数表和第10页的说明测试中的 tsilent。

    CAN 流量的发生频率将高于实际应用中的 tsilent 超时值、因此不应出现错误。 但是、如果 CANSLNT 被激活、我有相应的代码。

    谢谢、