因为CPU与FPGA通讯的需求,以及对8080总线的了解,首选采用了STM32的FSMC总线,作为片间通讯接口。FSMC能到达16MHz的写入速度,理论上能写20fps的1024*768的图片哈哈。(当然实际上是不可能的,就算是DMA传输,数据源也跟不上,实际上刷模仿的图片每秒10fps,刷的很high)当然这不是本篇的关键,这儿首要研讨STM32的FSMC接口,将速度提升到极限。
1. FSMC协议剖析
如下为ILI9325的8080接口的协议
CS(片选信号):低电平片选有用,高电平失能(默以为高:失能)
RS(数据寄存器):低电平写寄存器,高电平写数据(默以为高:写数据)FSMC默以为低。。。。
RD(读信号) :低电平有用,上升沿写入数据,高电平失能(默以为高,失能)
WR(写信号) :低电平有用,上升沿写入数据,高电平失能(默以为高,失能)
FSMC写SRAM形式如下:
(1)读操作
(2)写操作
HCLK为体系时钟72MHz
综上,剖分出FSMC与8080接口协议异同点
(1)同:CS,RS,RD有用电平都相同,单个字节的写入与读取时序彻底相同
(2)异:
A:8080 默许RS为高,而FSMC默许RS为低
B:8080接口协议能坚持CS,RS等有用,接连写数据,而FSMC以此只能输出一个数据。
C:8080协议没有地址线,而FSMC还有地址线,这使得数据输出不接连。