STM32中采用DMA实现方波的产生和捕获
时间:10-07
来源:单片机与嵌入式系统
点击:
5 总结
测试中STM32系列微控制器工作在36 MHz,可产生出1路最高1.5 MHz的方波,可捕获1 MHz的方波,而此时CPU的执行几乎不受影响。这里采用DMA来实现方波的产生和捕获,极大地提高了系统的实时性和执行效率,减少了中断次数,节省了宝贵的资源。这种方案也可以用来实现高效的模拟串口。
DMA的传输需要多个系统周期的,例如采用DMA实现内存到内存的搬移,每次传输需要5个系统周期,而内存到外围的一次传输需要2个APB周期+5个AHB周期。这样用上述方法产生的方波最小沿(低沿或高沿)为14个周期(包括比较/捕获寄存器到内部影子寄存器的传输等)。若有更高的需求,应考虑其他的实现方案。另外,若有多个DMA同时工作,应考虑最坏情况下DMA的响应时间,以避免错误发生。
- 罗姆“传感器战略”:全力完善软件解决方案(10-29)
- 做一个数字黄蜂大脑放到无人机中,你猜会发生什么?(04-20)
- MCU+智能传感,无缝物联网全靠它俩了!(05-15)
- 用TSSP4P38接近传感器,创造“奇妙”猫咪门铃(02-01)
- 蓝牙技术在短距离无线遥控中的应用(06-13)
- 利用精密电池检测和传感技术降低汽车电气故障(08-03)