【求助】STM32如何实现IO口高速并行通信

2019-07-20 23:18发布

我的项目中需要用到传感器输出的是10M、10bit的高频并行数据,数据在时钟的上升沿锁存输出;在这种情况下,大家有没有什么好的方法可以实现高速并行通信来读取IO的并行数据

目前的我想利用DMA,数据源设为GPIO->IDR,来读取数据。但是DMA的触发可以达到10M吗?而且STM32的DMA好像无法实现外部触发吧?这个如果可以改选用DMA的那个触发源?


不知道各位大神有没有什么好的方法?FSMC?
谢谢!




友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
12条回答
lonky
2019-07-22 04:05
正点原子 发表于 2016-1-4 23:15
用FSMC比较好.
DMA+GPIO也是可以的,不过我测试过,速度也不是很理想.不过可以利用DCMI接口,来读取数据,这 ...

今天尝试了下DCMI+DMA,说实话DCMI非常适合我的情况。但是对于DCMI有些疑虑:
(1)DCMI使用DMA来搬运数据到底该什么时候开始?
       手册上说DCMI每收到一个完整的32位数据块时,都将触发DMA请求。这样说来我是不是该在有效数据开始传输时就开启DMA来搬运?
       但在硬件同步模式下(我的工作模式),启用捕获时,数据传输将于VSYNC信号的无效电平同步,这个又是什么意思呢?是说在发送帧结束中断再开启DMA传输吗?
(2)我的信号在使能信号拉高时连续输出4K个10bit数据,那我的DMA Buffersize是不是该设为2K(4K的一半)?

不好意思又要麻烦原子哥了,非常感谢!!

一周热门 更多>