💡
原文中文,约1200字,阅读约需3分钟。
📝
内容提要
在Bidir-DSHOT中,STM32的DMA数据丢失问题较为常见,首次DMA传输时可能丢失一个bit,影响电调识别。为解决此问题,提出两种方案:一是传输前发送占位符,二是调整DMA与Timer的启动顺序,确保无时间间隙。经过测试,DMA数据丢失情况基本消失。
🎯
关键要点
- STM32的DMA数据丢失问题较为常见,首次DMA传输时可能丢失一个bit。
- DMA数据丢失会影响电调识别,导致Telemetry无法返回。
- 方案一:在传输前发送占位符,确保首bit出错出现在无用地方。
- 方案二:调整DMA与Timer的启动顺序,避免时间间隙导致数据丢失。
- 经过测试,DMA数据丢失情况基本消失。
❓
延伸问答
STM32的DMA数据丢失问题是什么原因导致的?
DMA数据丢失主要是由于首次DMA传输时可能丢失一个bit,影响电调识别。
如何解决STM32的DMA数据丢失问题?
可以通过发送占位符或调整DMA与Timer的启动顺序来解决DMA数据丢失问题。
发送占位符的方案是如何工作的?
在DMA传输开始前发送几个高电平的占位符,确保首bit出错出现在无用地方,不影响后续识别。
调整DMA与Timer启动顺序的方案有什么效果?
通过确保DMA在Timer启动前先启动,可以避免时间间隙,从而基本消除DMA数据丢失情况。
DMA数据丢失对电调识别有什么影响?
DMA数据丢失会导致电调无法正确识别,从而影响Telemetry的返回。
在Bidir-DSHOT中,DMA数据丢失的现象是什么?
在Bidir-DSHOT中,DMA数据丢失表现为首次传输时输出错误的bit,后续数据正常。
🏷️
标签
➡️