一种基于S3C2410A的液晶屏接口设计
3B来连接到LCM19264液晶屏上。
2.2软件设计
2.2.1设计分析
LCM192×64型液晶显示器模块与S3C2410A CPU模块的连接采用直接控制方式,其特点是电路简单,控制时序由软件实现,可以实现高速ARM CPU与液晶显示模块的接口。
液晶屏的驱动控制程序软件包括数据传送、设置X/Y地址、液晶显示控制等程序。
数据传送包括初始化和将显示数据发送到液晶屏的显示存储器中。
设置X/Y地址包括设置显示起始行、设置页面地址(即X地址)、设置Y地址。
液晶显示控制等程序包括显示开关控制、读取液晶屏状态以及读取显示数据等。
因此,要使液晶屏正常显示,主要实现两个功能,一个是向与写指令和写数据相对应的I/O端口地址,写入控制液晶屏工作的指令代码和所要显示的内容的编码。另一个就是要用程序来控制实现KS0107的读写时序[5],尤其是控制管脚E的高低电平持续时间产生液晶显示所需的写时序。KS0107写操作的工作时序如图3。
借助坐标设置指令可以对所要显示的图形进行准确的定位。KS0107有两个常用指令用于设置光标的X(行)方向坐标、Y(列)方向坐标。光标出现的位置由0XB8(0~3比特位有效)和0x40(0~ 6比特位有效)分别加上一定的地址偏移量决定的。原则上在写数据,显示一行图形的过程中,X(行)坐标保持不变,Y(列)坐标会自动循环加1,这样对于静态图形的显示,由于只需考虑行坐标,就很方便,但如果要动态显示各种文字图形,它的编程效率就不是很高。最好对X,Y向的地址偏移量都进行人为的设置,就可以精确控制图像出现的位置。
[0XB8+(disp_x(屏幕坐标))]→X(行)向的物理坐标
[0XB8+(disp_y(屏幕坐标))]→Y(列)向的物理坐标
disp_x表示X(行)向的地址偏移量,取值范围为0~7,也即代表显示屏上的8行;disp_y表示Y(列)向的地址偏移量,取值范围为0~63,也即代表显示屏上的64列;当然在开始显示图形之前,由0X3F打开显示,此外还要存入所要显示图形的编码。
2.2.2LCM 硬件层原子编程
2.2.2.1LCM初始化
初始化 LCM 实现为后续写入显示数据做准备。
写整个 LCD 内部显示存储器的内容为 0x00,这样整个 LCD 显示空白的屏幕以达到清屏效果。
2.2.2.2 读LCM状态
每次读写LCM之前,都需要判断LCM的上作状态,以便能够得到期望的结果。读LCM状态,就是读LCM命令状态寄存器,其最高位为‘1’,表示了 LCM的出于忙状态,不能接受任何命令或者数据的写入。在从端口读到数据中,最高位表示了 LCM 的工作状态,据此位即可获得LCM状态。
2.2.2.3 写命令到 LCM
将一个命令字写到指定的控制芯片的命令寄存器中(对应一个控制端口地址)。
设置页地址即X地址时,DDRAM中8行为一页,LCM19264液晶模块共计64行即8页,由最低3位地址来选择0~7页,读写数据对页地址没有影响,页地址由本指令或RST信号改变,复位后页地址为0。
2.2.2.4 写数据到 LCM
将一个数据(就是显示的数据)写到指定控制芯片的 RAM 中。Y地址计算器具有自动加1功能,在每次读/写数据后自动加1,所以,在连续进行读/写数据时,不必每次都设置一次Y地址计数器。
写LCM数据到DDRAM中,数据在E信号下降沿,瞬时打入LCM中。
2.2.2.5 读 RAM 数据
从指定控制器的规定地址 RAM 中,读出一个相应数据。读LCM数据可以从DDRAM中读出某个位置的内容到数据总线DB7~DB0,此时Y地址指针自动加1。
3 结语
本文创新点在于:通过软、硬件设计相结合的方式,提出的LCM19264液晶显示模块接口设计,结合特定的应用场合,搭建了以S3C2410A和 KS0107控制器为基础的嵌入式液晶屏开发底层平台。成功解决了液晶模块与ARM9 CPU的读写和控制等问题,大大提高了显示效果和控制灵活性,为ARM嵌入式系统液晶显示平台的构建提供了一种新的参考。该开发模式可以有效地运用到以 POS机为主的嵌入式应用场合,在其他显示场合稍作修改,即可使用,因此,具有很强的移植性。
参考文献:
[1] 周立功. ARM微控制器基础与实战[M]. 北京:北京航空航天大学出版社,2005.8
[2] S3C2410 Data sheet
[3] LCM Product Specifications—LCM 192644-01.
[4] 杨于镭. 基于ARM的Sam sung S3C44BOX触摸屏接口设计[J].计算机应用,2006,9:2264—2266
[5]周广禄,王翠华,孙鹏娇等. 基于AVS-M和DM642视频服务器的研究,微计算机信息,2006,10-2:46-48
- 基于FPGA的DSP设计方法(08-26)
- 电力电子装置控制系统的DSP设计方案(04-08)
- 基于DSP Builder的VGA接口设计(04-10)
- 基于DSP和USB的高速数据采集与处理系统设计(05-01)
- 数字信号处理(DSP)应用系统中的低功耗设计(05-02)
- 基于DSP的嵌入式显微图像处理系统的设计(06-28)