STM32的定时器能否实现8位并行SPI时序,详细描述见贴。

2019-03-23 19:53发布

一个管脚输出占空比可调的方波,不输出时为高电平,每次输出8个负脉冲,输出完8个后又变成高电平。
在输出每个脉冲的下降沿触发DMA把内存中的8个字节送到一个完整的端口,比如PB0~7,并且要求在上升沿到来之前到达端口引脚,并且保持电平稳定。
8个下降沿触发8次DMA把8个字节自动送到PB,8个上升沿把8个字节以SPI的时序打出去。
方波的频率可以到达4M左右,DMA的速度也要跟上上升沿的速度。
每次传完8个字节后,停止方波,直到下次人为启动。


使用外部总线的读写时序可以实现这功能,但是外部总线的封装一般在100脚以上。
请问STM32的定时器能否实现这一功能? 此帖出自小平头技术问答
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
6条回答
Li_Lei
1楼-- · 2019-03-24 05:16
 精彩回答 2  元偷偷看……
wuyiduan
2楼-- · 2019-03-24 05:56
IO的频率肯定是可以到4M以上的,有人已经做到4.5M,收DMA的速度限制。
wuyiduan
3楼-- · 2019-03-24 07:55
如果改成不可调的怎么实现能否详细说明一下?

我现在用的办法是用一个IO连接到TIMX的输入脚,捕获下降沿,IO软件翻转,可以到达2M多,3M以上就出现数据偶尔错位。

这种办法有局限性就是要硬件相连

想用主从定时器
Li_Lei
4楼-- · 2019-03-24 10:42
 精彩回答 2  元偷偷看……
wuyiduan
5楼-- · 2019-03-24 14:26
下降沿----DMA送数据到GPIO----上升沿
这个过程中断打断也不会有什么影响
只要上升沿到来的那刻GPIO的数据是稳定的就没问题
CPLD就涉及成本了
Li_Lei
6楼-- · 2019-03-24 18:23
频率高了方波形状会变差,另外dma响应也是有延时的。示波器看看。

一周热门 更多>