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.

[参考译文] CCS/TMS570LC4357:以1秒的速率生成 CAN 信号

Guru**** 2473260 points
Other Parts Discussed in Thread: TMS570LC4357, HALCOGEN

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

https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/682169/ccs-tms570lc4357-can-signal-generation-at-1-second-rate

器件型号:TMS570LC4357
主题中讨论的其他器件: HALCOGEN

工具/软件:Code Composer Studio

我正在 从基于 TI TMS570LC4357的 Launchpad 中的 CAN 通道生成 CAN 信号。 我需要以1秒的速率内生成 CAN 信号。每秒生成一个 CAN 信号。  

但它将在一微秒内出现。

请任何人指导我如何使用 Halcogen 和 Code composer studio 来获得此结果。

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

    CAN 模块仅在被告知发送数据时发送数据、并且仅在 CAN 总线/网络上的另一个元件发送匹配 ID 时接收数据。

    所有这些话都说、如果您以您注意到的传输速率(1us)传输、那么您将不需要频繁调用传输函数。 如果需要精确的时序、您可以将 RTI 配置为以某个溢出值触发中断、该值对应于允许您满足1秒时序的时基。 达到时序后、调用函数发送 CAN 数据。

    如果问题是您每1us 接收一次数据、则需要了解传输源。 即、网络上必须有另一个器件使用与 MSGID 掩码过滤匹配的 ID 发送数据。 这样 CAN 模块就可以接收到该消息。 这可能是因为掩码设置不足以完全过滤来自其他器件的不必要传输、或者系统不符合您的1秒要求。
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好 Rashmi、

    比特率是1bps 吗?

    您无法达到此较低值:

    1.可使用 VCLKA 或晶体作为驱动时钟。 如果16MHz 晶体用作 CAN 模块的时钟源。  

    最大份额(tq):1024/16MHz -> 64us (1024是 BRP 加 BRPE)

    1位的最大 tq:29 (SYNC_SEG + PROP_SEG+Phase_seg1/2+SJW)

    4、因此29*64->1.856毫秒

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    实际上、要控制的组件要求 CAN 信号每秒传输1个信号。 但它在1秒时发出多个信号 我需要帮助如何实现这一目的?
  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    任何人都可以参阅任何文档、以帮助我使用中断和延迟功能吗?