最近实现的设计包含哪些SPI操作机制?

1个回答

写回答

qazxsw1124

2026-02-17 21:32

+ 关注

近期刚刚达成。其一,由定时器1触发DMA操作SPI进行发送;其二,定时器2对定时器1实施门控,定时器2的周期为定时器1的SPI的帧个数的倍数,并且负责触发DMA操作GPIO片选;其三,定时器3对定时器2进行门控,以此适配SPI器件的更新率;其四,再开启一个SPI DMA接收操作;其五,整个设计需要三个DMA通道和三个定时器。要是通道数量超过16,支持额外增加DMA通道来操作片选GPIO输出寄存器。其优势如下:第一,几乎能够适配所有的SPI器件以及大部分操作逻辑。只需编辑待发送的数组、片选数组以及对应的定时器周期关系即可。第二,单个SPI器件能够实现全后台DMA操作。第三,对于多个SPI器件而言,因为采用了两级门控功能,并且由于门控(在STM32中称为门控模式,在GD32中称为复位模式,实际上复位模式的叫法更合理)功能存在缺陷,所以需要开启定时器2的中断。第四,部分SPI器件的一些操作需要特定的延时。例如配置某个寄存器之后需要等待几十微秒才能执行下一个命令,此时采用delayms阻塞方法或者中断方法都不够理想。由于本应用是由定时器触发DMA驱动的,所以处理这种情况非常合适。

举报有用(0分享收藏

Copyright © 2025 IZhiDa.com All Rights Reserved.

知答 版权所有 粤ICP备2023042255号