摘要:随着LCD显示技术的迅速发展,LCD显示屏得到了广泛的应用。一般来说,对于RGB总线接口的数字屏都需要有控制器才能正常显示,但是本文利用STM32处理器设计出了一种能直接挂载RGB接口数字屏的方法。实际应用验证了该CPU有足够的时间来处理用户程序,一般中低端的CPU很难做到这一点。本方案能成功应用在电脑横机的人际界面显示中,主要得益于STM32的强大功能:DMA传输以及高级定时器等的应用。本方案降低了产品的硬件成本。
关键词:TFT;DMA;FSMC;定时器;STM32F103VCT6;电脑横机
引言
随着工业技术的不断发展,人机界面的开发及应用空前火热,为了具有比较友好的人机界面,TFT数字彩屏被广泛的应用,但是TFT彩屏通常都不带有控制器,所以现在驱动彩屏的方案大致有2种:
①采用ARM9或者更高级别的平台,芯片上带有TFT控制器,可以直接挂接TFT数字屏。
②采用低端CPU处理器平台,外加TFT控制器模块,再挂接TFT数字屏。
对于方案①来说,系统的复杂度会莫名地增加,再加上该类的平台中主MCU多为BGA封装,对于需求很多小量多样化产品的客户来说,较难以接受这样的方案;而 ②方案平白无故添加了一个LCD控制器。这两种方案无论哪一种都增加了硬件成本,本文提出了一种由STM32的FSMC总线直接挂载RGB接口屏的方案,直接由一片 CPU(STM32F103VC)来完成TFT屏的显示而且不会占用全部的CPU时间,从而节约了产品的成本。
1 总体方案与硬件整体架构
现在,TFT屏的价格与传统的单色液晶模块的价格几乎相当,甚至比一些尺寸差不多的单色屏还要便宜;而从客户和厂商的角度来看,很多设备/仪器/小型工业装备的制造商也纷纷寻求彩色TFT的设计方案,以提升产品的竞争力和显示效果。基于以上原因,笔者以STM32处
理器的FSMC接口挂载RGB接口数字屏并结合DMA传输的方式设计出了一种驱动RGB数字屏的方法。DMA即直接存储器,存取用来提供在外设和存储器之间或者存储器和存储器之间的高速数据传输。无须CPU干预,数据可以通过DMA快速地移动,这就节省了CPU的资源来做其他操作。本文采用STM32F103VCT6外部挂接ISSI的25616 SRAM 512 KB的静态RAM用作显存,再使用DMA的Memory to Memory模式从外部显存往FSMC的数据线不停地送数据来刷新彩屏,无需CPU的干预。其整体硬件方案如图1所示。
2 软件部分设计及实现
本方案的所有功能都是在STM32内部实现,软件部分主要是对系统、FSMC、DMA、定时器部分的初始化以及参数的设置,同时为了满足RGB数字屏对接口时序的严格要求,本方案采用STM32自带的定时器来产生精确的定时,满足屏接口对时序的严格要求。由DMA的MEMORY TO MEMORY模式完成从SRAM到屏数据接口的数据传输以完成对屏的刷新。