由于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还有地址线,这使得数据输出不连续。
|