电子工程师技术服务社区
- 社区首页
- 下载
- 附件
资料描述
一、简介
tft-lcd即薄膜晶体管液晶显示器。tft-lcd与无源tn-lcd、stn-lcd的简单矩阵不同,它在液晶显示屏的每一个象素上都设置有一个薄膜晶体管(tft),可有效地克服非选通时的串扰,使显示液晶屏的静态特性与扫描线数无关,因此大大提高了图像质量。tft-lcd也被叫做真彩液晶显示器。
对于软件调试而言,最重要的交互方式有串口和lcd。对于lcd,s3c6410有自带的lcd驱动接口,但是我手头没有飞凌的lcd(飞凌的lcd还是挺贵的,学生党,唉~),恰好手头有一个spi接口的lcd(以前玩stm32剩下的),就想着使用s3c6410的io直接驱动该lcd。
本讲将以2.2寸的lcd(spi版)为例介绍,该lcd支持65k色显示,显示分辨率为320×240,接口为spi串行接口,不带触摸屏。在本讲中,将使用io口模拟spi通信,驱动lcd,今后有时间再研究硬件spi通信。
该模块如图所示:
该模块有如下一些信号线:
cs:tft片选信号
reset:硬件复位tft
dc/rs:命令/数据标志
sdi/mosi:spi主机写信号
sdo/miso:spi主机读信号
sck:时钟信号
led:背光控制
由于只是进行显示,所以只需要向液晶写入数据,固而只需要连接sdi/mosi,而把sdo/miso悬空。为了方便起见,直接把led背光控制连接到3.3v上(如果有需要也可以连接到io口上,使用pwm波控制背光),所以连接该模块只需要5个io口。
该lcd模块使用的驱动芯片为ili9341,下面介绍一下ili9341。
ili9341液晶控制器自带显存,在16位模式下,ili9341采用rgb565格式存储颜色数据。最低5位代表蓝色,中间6位为绿色,最高5位为红色。数值越大,表示该颜色越深。ili9341所有的指令都是8位的(高8位无效),且参数除了读写 gram 的时候是16位,其他操作参数,都是8位的。
关于ili9341的命令,这里就不做介绍了,有兴趣的可以查询ili9341的数据手册。
二、硬件设计
由于ok6410开发板上的摄像头接口有3.3v的电源接口,所以选择使用这