Other Parts Discussed in Thread: TMS570LC4357
器件型号: TMS570LC4357
您好:
我正在 TMS570LC4357 评估板上工作、并针对可变字节长度数据包开发无中断 SCI1 RX DMA 接口。 我阅读并知道这张票证、其中提到该器件不支持接收可变数据包长度: https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/838614/tms570lc4357-how-to-configure-sci-dma-for-receiving-varying-sized-packets
不过、我尝试了 WCP CTCOUNT 的一个简单测试、我可以看到、在 DMA 接收到一些字节后、它会得到更新。 我能够使用它来跟踪我是否收到了新的字节、但是除非发生新的 DMA 触发、否则它不会更新、因此在仲裁之前它始终保存过时的值。
我通过了这个 TT、其中提到使用 Porta/B TR Count 来了解收到了多少字节: https://e2e.ti.com/support/microcontrollers/arm-based-microcontrollers-group/arm-based-microcontrollers/f/arm-based-microcontrollers-forum/1237441/sci-with-dma/4681424?tisearch=e2e-sitesearch&keymatch=%22DMA%22%20AND%20%22length%22%20AND%20%22dynamic%22%20AND%20%22Jagadish%22
不过、我观察到端口 A/B 值始终反映 DMA 计划执行的当前传输。 在可能的情况下、我将多个 DMA 通道与不同的外设一起使用、如何使用端口 A/B TR 计数来了解我在特定 SCI RX DMA 通道上接收到了多少个字节? 我尝试使用 FIFOSTAT 寄存器、但它们在收到字节时也不会更新。
从我在论坛上阅读的其他门票,我知道使用协议是使这项工作的唯一方法,但是,我想知道 FIFO TR 或 WCP CNT 是否可以使它实际工作。
此致、
Surabhi