2 软件部分设计及实现 本方案的所有功能都是在STM32内部实现,软件部分主要是对系统、FSMC、DMA、定时器部分的初始化以及参数的设置,同时为了满足RGB数字屏对接口时序的严格要求,本方案采用STM32自带的定时器来产生精确的定时,满足屏接口对时序的严格要求。由DMA的MEMORY TO MEMORY模式完成从SRAM到屏数据接口的数据传输以完成对屏的刷新。[page]
2.1 系统初始化 Syslemlnit(); GPIOInit();2.2 FSMC模块介绍以及初始化程序 FSMC即灵活的静态存储控制器,是内置有大容量STM32F10XXX的外部存储控制器。使用这个控制器,STM32F10XXX微控制器可以与许多存储器连接,包括SRAM、NOR闪存和NAND闪存等。FSMC模块如图2所示。本文FSMC同时挂载SRAM和RGB接口屏,并且数据接口复用,因此对程序中数据总线的时间配置提出了严格的要求,以防止数据总线使用冲突。
[page]
FSMC初始化部分代码如下:[page]
2.3 DMA模块介绍及初始化代码 本文采用存储器到存储器之间的数据传输模式,由外部显存SRAM传输数据到FSMC接口来完成数据更新。DMA部分初始化代码如下所示:2.4 屏接口时序的实现 由于RGB接口数字屏对时序要求相对来说比较苛刻,所以采用STM32103VCT6的**定时器来产生精确的时间单位,并以此为*小的时间单位来产生相应的接口时序,STM32由定时器来控制对TFT的扫描,以保证足够的刷新率。扫描时,STM32的CPU仅仅参与对DMA的设置和显存的操作,由DMA控制器来直接从显存中读取显示数据并送至连接RGB数字总线上,不停地读写。这都是由DMA控制器来完成的,占用CPU的时间是有限的,从而有足够的时间来实现用户程序代码。结语 经实际证明,本方案是可行的,能保证320×240点阵的TFT的刷新率,且留有足够CPU时间给用户程序。但是对于分辨率较高的彩屏,由于STM32主频的限制,刷屏速度会很慢,达不到应用要求,但是对于一些分辨率适当的彩屏还是能胜任的。
百检网秉承“客户至上,服务为先,精诚合作,以人为本”的经营理念,始终站在用户的角度解决问题,为客户提供“一站购物式”的新奇检测体验,打开网站,像挑选商品一样简单,方便。打破行业信息壁垒,建构消费和检测机构之间高效的沟通平台