对于一款处理器,可以用来做控制系统,不需要与外界进行信息交流,那么,将需要的程序烧写在处理器中,让其继续执行即可。若处理器需要在完成某些任务后,需要与外界进行信息交互,那么就需要为该处理器配备显示屏了。如果在执行某些程序的时候,需要外界对程序进行干预,那么,具备触摸输入功能的显示屏就显示出其功用。ARM s3c6410作为一款中低端的ARM芯片(三星公司还有针对这款芯片推出了基于mobile6.5系统的智能手机,尽管现在三星推出的新型号手机或者平板是基于Exynos4412,毕竟6410也在智能机市场上出现过),具有触摸显示屏的功能。
本文引用地址:http://www.eepw.com.cn/article/203126.htm
首先我们看下S3C6410的管脚说明:

从管脚说明中,可以看出GPI和GPJ作为LCD的管脚。通过对数据手册的查看,可以发现这28个管脚完成了RGB三原色的配置和HSYNC、VSYNC、VDEN和VCLK的配置。其中RGB分别用8位数据来表示。LCD硬件连接图如下图所示:

其中TSXP、TSYP、TSXM和TSYM为触摸屏的控制端口,与6410的B50、B51、B52和B53连接,如下图所示:

现在我们分析下LCD的工作原理:

① 设置LCD控制器,在LCD控制器的设置中设置分辨率,时间参数行同步信号,列同步信号,显示使能和LCD极性信号,在编写程序时可以将该部分写为LCD初始化子函数;
②在DDR中划出一部分空间用来存储显示数据,并将该存储空间信息通知LCD控制器,之后,LCD控制器既可以读取DDR中LCD数据存储区域的数据,将其在LCD中显示;
③设置LCD的颜色和显示格式;
下面针对ARM s3c6410和夏普LQ43T3DX02 TFT-LCD进行详细说明:
首先列出需要的一些寄存器,利用这些寄存器完成LCD的控制设置:

其次,依据硬件原理图配置输出数据管脚和LCD背光的管脚

然后进行相关参数的设置,有hsync,vsync,vclk,vden的极性、时间参数设置、分辨率设置、象素颜色的格式、分配显存和写入display controller的操作,具体程序如下:

通过以上的设置,既可以实现ARM s3c6410对LCD的控制和显示了。由于显示屏的型号和生产厂家不同,针对不同的LCD,各项时间参数也不尽相同,可查看不同LCD产品的数据手册完成参数配置,不过,针对不同的LCD配置,其大致原理还是一样的。