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.

[参考译文] TMS320F28377D:在没有任何软件干预的情况下使用 SCI?

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

https://e2e.ti.com/support/microcontrollers/c2000-microcontrollers-group/c2000/f/c2000-microcontrollers-forum/566581/tms320f28377d-using-sci-without-any-software-intervention

器件型号:TMS320F28377D

你好

我使用带有 IDDK 电路板的控制卡 F28377D 来控制无刷电机。

我们正在测试一个新的电机供应商、其中包括绝对编码器。 编码器在 2.5Mbps 的异步串行链路上工作。

目的是通过 SCI 发送一个字节、该字节将请求当前位置、然后编码器在串行链路上发送3µs 位置(13个字节-> 44µs)

目前、与 IDDK 演示一样、我们有一个计时器中断、它将软件子例程进行三次采样以管理无刷(Clark、Park...)

通过这个相同的信号(PWM 中断或者通过软件)有可能触发 SCI 上一个字节(始终是相同的值)的发送?

然后、Rx 路将接收13个字节、这些字节将在下一个 PWM 中断上可用。 这些13字节可以 始终位于同一寄存器中(带有 DMA 副本的 RAM 或其他...?) 然后、新接收到的数据将覆盖上次接收的数据...

目的是尽可能减少软件干预。 最好的办法是在我们需要时读取13个字节寄存器上的值! (每个定时器中断都会刷新值。)

谢谢

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

    您好!

    SCIRXBUF 为16槽深、每个字节宽。 因此、我认为您可以接收13个字节。

    Rgds、

    Ramesh

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

    是的、没错、
    我只希望在某种情况下、像接收到 RAM 变量的 DMA 副本 SCI、它对应于软件可以直接解释的数据结构、而无需读取 FIFO 的所有字节。

    但我看到 DMA 未链接到 SCI。
    因此、我将只读取 FIFO。
    谢谢

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。
    [引用]但我看到 DMA 未链接到 SCI。 [/报价]
    你是对的。 DMA 不能访问 SCI 模块。

    Vivek Singh