当前位置: 首页 > 新闻中心 > 集团新闻

米乐体育活动

NEWS
×

米乐体育活动

米乐体育活动:依据ILI9341的TFT液晶显现模组驱动原理透彻详解

发布时间:2023-02-01 01:55:23 来源:米乐体育在线下载 作者:米乐体育app官方版下载

  Hello,咱们好,今日咱们来评论当下十分盛行的TFT液晶显现模组,它最大的特色是可以显现出作用十分好的五颜六色信息,绝大多数手机、液晶显现器,液晶电视、MID、MP4等产品都在运用它,你想抵抗它的魅力还真的很难。

  咱们首要评论依据ILI9341的TFT液晶显现模组,但在正式评论之前,仍是得先了解一下TFT液晶显现器的五颜六色发生原理,它是依据咱们都了解的红(Red)、绿(Green)、蓝(Blue)三原色光混合原理,例如,绿色+赤色=黄色,绿色+蓝色=青色,赤色+蓝色+绿色=白色,如下图所示:

  尽管上图仅显现了7种色彩,可是只需咱们可以得到红、绿、蓝三种色彩(原色),然后调理它们的亮度份额,就可以得到你想要的五颜六色,而得到的色彩数量则称为色深(Color Depth)。

  依据各原色的调理级数也可以分为许多色彩形式,比较常用的是三原色各占8位,即每种原色有2的8次方(256)种亮度改变,相应的色深为256*256*256=16777216(俗称16兆五颜六色),咱们称其为RGB888形式。RGB配色一般运用RGB(rr,gg,bb)来表明,例如RGB(0xFF, 0x00, 0x00)表明赤色,RGB(0xFF, 0xFF, 0xFF)表明白色。在进行C源代码编程时,常常会运用宏来界说一些常用的色彩,部分RGB888色彩如下:

  当然,并不是一切场合都需求这么多色彩,RGB565与RGB666形式也很常用(其它还有RGB332、RGB555等等),相应的色深别离为32*64*32=65536(65千色)及64*64*64=262144(262千色)。RGB666形式部分常用色彩的宏界说如下图所示:

  教堂五颜六色玻璃上绘有各种人物图画,每一幅都是一个宗教故事,一些教会本地的传说也会作为主题呈现,以这种方法向民众宣扬教义,也成果了它的艺术……这位同学你干嘛呢?在座的其它同学可都是有志于牺牲电子技术领域,并以“为社会追求福祉”的方针而奋斗着,你要是喜爱讲故事瞎扯淡就赶忙学厨师当个成衣比较好一些….等等,我还没说完(摔门的声响响起来了)。

  呵呵!宗教那啥的我不太懂,只知道上图现已告知咱们怎么发生三原色,那便是:运用一个红、绿、蓝色的薄膜对光源进行过滤就可以了。TFT液晶显现模组中总会有一个白光源(CCFL或LED,此处不赘述,具体原理及相应的驱动电路请参阅《显现器材运用精粹》(以下简称“显现器材”)与一片五颜六色滤光膜。假定TFT屏当时正显现纯白的画面,你用放大镜去调查,会发现有屏上有许多红、绿、蓝的方块,如下图那样:

  咱们把每一个点称为子像素(SubPixel),三个子像素组成一个显现像素。关于分辨率为240列320行的TFT屏,它需求240*3=720个列驱动(320个行驱动)引脚。每个显现像素都会对应驱动芯片中显存(Graphics RAM, GRAM)里的一个地址,分辨率为240*320的TFT屏对应的GRAM地址应该有240*320=76800个,具体容量为多少则取决于芯片支撑的RGB形式。例如,ILI9341有720列320行驱动输出,支撑RGB565与RGB666形式,按最大位数(18位)来核算,相应的GRAM容量巨细应该为240*320*18=138240bits(位)=172800bytes(字节),数据手册符号的特色如下图所示:

  咱们运用VisualCom软件渠道中 “依据ILI9341的320X240的TFT液晶显现模组”来仿真一下,相应的作用如下图所示。

  ILI9341的指令比较多,英文数据手册超越200页,触及的寄存器数量也十分巨大,VisualCom软件渠道按功用附近的准则将其划分为多个类别。因为这是咱们第一次触摸TFT液晶显现模组,所以先给咱们演示怎么以最少的指令点亮TFT屏,后续文章会按类别具体评论其它指令功用。

  首要咱们先留意“特点”窗口的“高档”组合框中有三个选项,其一为起始页。“页”便是行,它与“列”是对GRAM地址的定位方法。ILI9341的GRAM共划分为320页,每页240列。在“单步运转”仿真形式下,“内存窗口”可以实时调查GRAM空间的显现数据,可是因为320页的数据量过分巨大,为防止加载时刻过慢(不影响单步运转时数据的改写时刻,仅仅当从头翻开另一个文件或替换器材时,VisualCom软件渠道需求对当时工程的内存与寄存器数据进行整理的时刻比较长),咱们约束一次性只能加载8页内存(一般也不需求悉数载入),你所需求做的便是指定起页始。上图指定的起始页为32,所以加载的内存页为32~39页。当然,在单步运转时,你可以随时更改起始页,内存窗口会在下一步运转时进行相应的改写。

  假定现在要求显现一张图片,怎么办?因为ILI9341的GRAM空间太大,假如依然按以往的方法(预置数据)来写满GRAM,需求预置的数据至少为76800条,恐怕底子不会有人会这么做,即使像ST7920、KS0108B那样相对小一点的“是非”点阵LCD驱动芯片,经过预置数据来接连写入显存的方法也并不巴结。VisualCom软件渠道当然不会只提供半套解决方案,它答应你指定一个.BMP图像文件对GRAM进行初始化,当你运转仿真之后,首要会运用指定的图片初始化ILI9341的GRAM,爽歪歪!

  前面现已提过,ILI9341支撑RGB565与RGB666两种像素格局。从“高档”特点中挑选一种后,你方才指定的图片会以相应像素格局写入到GRAM中。需求留意的是:特点窗口里的“像素格局”仅仅用来操控图片初始化到GRAM的显现数据,而不是用来设置ILI9341状况的(需求指令,后述)。

  好的,现在咱们来看看需求哪些指令才能让屏幕有所显现呢?相应的预置数据如下图所示:

  乖乖,咱们只预置了两条指令,它首要退出了睡觉形式,然后翻开了显现。咱们来看看数据手册中复位后的状况,如下图所示:

  整个表格中,只要“睡觉(Sleep)”与“显现(Display)”两项影响屏幕的显现,ILI9341上电复位后默许处于睡觉形式(Sleep In),而且显现也是封闭的(Off)。“闲暇(Idle)”形式下是可以显现的,只不过显现的色彩比较少(后述),更何况还并不在闲暇形式下(Idle Off)。(其它是一些地址设置或读寄存器等等,咱们暂时疏忽)

  睡觉形式是个虾米东东呢?不知道,仍是翻翻数据手册吧!其中有一条“进入睡觉形式”指令,如下图所示:

  哦!本来睡觉形式首要是为了省电,此刻内部电荷泵升压(Pump DC/DC Converter)电路(有关硬件电路原理请参阅《显现器材》)、体系振荡器都会封闭(可是现已写入到GRAM的数据依然坚持不变),那这个屏幕还显现个毛线,所以履行“退出睡觉形式”指令是让屏幕可以显现GRAM数据前有必要要做的一步。咱们再来看看相应的指令,如下图所示:

  可以看到,“退出睡觉”指令为0x11,这也是咱们预置的第一条指令,接下来运用“翻开显现”指令0x29,咱们指定的初始化图片就显现出来了。在VisualCom软件的“寄存器窗口”中,SLEEP与DISPLAY位别离代表相应的形式(0为封闭,1为敞开)。

  值得一提的是:ILI9341仿真模型还增加了预置数据处理状况,在“输出”窗口的信息栏中可以显现当时预置数据的解析状况。例如,我在前述预置数据后再增加一条指令(0x14)与两条恣意数据,如下图所示:

  因为ILI9341不存在0x14对应的指令,所以信息栏中会显现相应指令为无效。相同,后边跟从的多个数据也是无效的,这样的实时信息反馈可以进一步协助运用者应证自己对芯片指令作用的了解(假如指令解析成果不是你需求的,必定哪里出错了,而不像以往那样只能看屏幕、内存、寄存器窗口),相应的作用如下图所示。

  那怎么往指定的GRAM地址写入指定的显现数据呢?这与以往ST7920、KS0108B之类的驱动芯片还有点不太相同,咱们下一期再见吧!