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.

[参考译文] TMS320F28069:输出时间戳和输出状态功能在 CAN 中不起作用为 C2000嵌入式锁集解压缩块

Guru**** 2587345 points


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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/986639/tms320f28069-output-timestamp-and-output-status-functionality-not-working-in-can-unpack-block-for-c2000-embedded-blockset

器件型号:TMS320F28069

在尝试 从 CAN 解压块获取时间戳和状态信息时、我们始终会获得相同的值

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

    我的应用报告 http://www.ti.com/lit/spra876 中有一个经过测试的时间戳计数器示例。 但是、我认为您的问题与 Simulink 有关。 请访问 Mathworks 论坛获取 Simulink 支持。

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

    您好、Haresh

    我能够使用 CANTSC 寄存器值更新 Simulink 中的时间戳值。  

    myModel.eCAN-Receive_SS0_SS2_o2.Timestamp =(双精度) ECanaRegs.CANTSC;

    读取数据表似乎可以在每次 CAN 收发器收到消息时更新 CANTSC、或者我可以将 CANTSC 绑定到一个特定的邮箱。 这意味着 CANTSC 将针对特定邮箱中的单个帧在更新时对所有帧进行更新。

    是否有办法为我的微控制器正在接收的每个帧 ID 获取单独的时间戳? 我想计算每个帧 ID 接收消息的增量时间。   

    如果开箱即用的寄存器不能执行我想要的操作、那么每次微控制器收到一个帧以更新我创建的增量时间表时是否有办法触发中断?  

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    [引用]阅读数据表似乎可以在 CAN 收发器每次收到消息时更新 CANTSC [/引用]

    CANTSC 是一个自由运行计数器、它以位时钟的速率递增。

    [引用]或者我可以将 CANTSC 绑定到一个特定的邮箱。 [/报价]

    CANTSC 未与任何特定邮箱绑定。 当 Tx 或 Rx 事件完成时、可以在配置的 MBX 的相应 MOTS 寄存器中捕获 CANTSC 的值。

    [引用]这意味着 CANTSC 将针对特定邮箱中单个帧的所有更新帧进行更新。 [/报价]

    如前所述、它是一个自由运行的计数器。 它不知道或不关心任何邮箱。

    [报价]我的微控制器是否有办法为每个帧 ID 获取单独的时间戳? [/报价]

    您不会获得特定 MSGID 的时间戳。 为配置的邮箱捕获时间戳。

    [报价]我想计算每个帧 ID 接收消息的增量时间。   [/报价]

    是的、这可以完成。

    [引用]如果开箱即用的寄存器不能执行我想要的操作、那么每次微控制器收到一个帧以更新我创建的增量时间表时是否有一种触发中断的方法?  [/报价]

    模块中已提供所有资源。 请参阅我的应用报告 http://www.ti.com/lit/spra876中的示例