STM32的IO口速率可达50MHz,但IO口作为读写信号读写数据时,翻转速率没有那么快。
在运用STM32读取数字摄像头数据、写入TFT中时,触及数据传输速率的问题,需求IO口快速翻转。所以,我做了这个试验,测验STM32的IO口最快翻转速率
测验共分三部分:
(1)经过IO口的翻转读取外部数据:
(2)朴实的IO翻转速率:
(3)经过FSMC方法拜访外部数据
测验条件:72MHz主频,FLASH_Latency_2
测验成果:
高级优化:
读数据:
IO翻转:
FSMC:
低一级优化:
读数据:
IO翻转:
FSMC:
又装备了DMA进行数据传输,其传输速率与FSMC的速率根本完全一致。
一起,又运用飞思卡尔的MC9S12XS128处理器做了引脚翻转试验,在60MHz主频下,读数据速率为3.5MHz,IO翻转速度为5.4MHz,并且还能够再进步。
成果中能够看出:
尽管STM32的主频可达72MHz,但其引脚翻转速率并不能做到很快。尤其在flash中运转时,受FLASH_Latency的约束,只要在主频为36MHz时,FLASH_Latency才干到达0而安稳运转。此刻的履行功率才干到达手册上声称的1.25个百万指令周期每秒每兆赫兹。但是,这却并不是处理器的最高处理速度。但在主频72MHz时,又不能到达履行功率的最高。
高级速度优化能够明显进步引脚翻转速度(从反汇编来看,还能够持续进步)但最快的数据传输仍然是FSMC,并且,FSMC也是最有用的数据传输形式,由于它还包含相应的地址线输出,能够一起主动完结OE、CS、RS等信号的挑选,这是IO模仿数据传输所不能的。
与其他处理器比较,(例如MC9S12XS128)STM32的数据传输并没有多大的优势(乃至有点慢)。当然S12现已超频50%了。STM32的高速数据传输要靠高级优化来完结,而这是比较风险的。所以,只能靠对C言语的了解,和对代码优化的经历,才干更好的运用STM32。
关于了解它的人,STM32肯定是他手中利器