目錄
顯示器簡(jiǎn)介
液晶顯示器
液晶
像素
液晶屏缺點(diǎn)
LED顯示器
OLED顯示器
顯示器的基本參數(shù)
STM32板載液晶控制原理(不帶微控制器)
液晶控制原理
控制信號(hào)線(不帶液晶控制器)
液晶數(shù)據(jù)傳輸時(shí)序
顯存
總結(jié)
3.2寸液晶屏介紹(搭載液晶控制器)
3.2寸電阻觸摸屏實(shí)物
ILI9341液晶控制器簡(jiǎn)介
3.2寸液晶原理圖
液晶屏的信號(hào)線及8080時(shí)序
顯示器簡(jiǎn)介
????????顯示器屬于計(jì)算機(jī)的I/O設(shè)備,即輸入輸出設(shè)備。它是一種將特定電子信息輸出到屏幕上再反射到人眼的顯示工具。常見的有CRT顯示器、液晶顯示器、LED點(diǎn)陣顯示器及OLED顯示器。
液晶顯示器
????????液晶顯示器,簡(jiǎn)稱LCD(Liquid Crystal Display),相對(duì)于上一代CRT顯示器(陰極射線管顯示器),LCD顯示器具有功耗低、體積小、承載的信息量大及不傷眼的優(yōu)點(diǎn),因而它成為了現(xiàn)在的主流電子顯示設(shè)備,其中包括電視、電腦顯示器、手機(jī)屏幕及各種嵌入式設(shè)備的顯示器。
????????液晶電視與CRT電視的外觀對(duì)比,很明顯液晶電視更薄,“時(shí)尚”是液晶電視給人的第一印象,而CRT 電視則感覺很“笨重”。
液晶
????????液晶是一種介于固體和液體之間的特殊物質(zhì),它是一種有機(jī)化合物,常態(tài)下呈液態(tài),但是它的分子排列卻和固體晶體一樣非常規(guī)則,因此取名液晶。如果給液晶施加電場(chǎng),會(huì)改變它的分子排列,從而改變光線的傳播方向,配合偏振光片,它就具有控制光線透過率的作用,再配合彩色濾光片,改變加給液晶電壓大小,就能改變某一顏色透光量的多少。
像素
????????利用液晶控制的原理,做出可控紅、綠、藍(lán)光輸出強(qiáng)度的顯示結(jié)構(gòu),把三種顯示結(jié)構(gòu)組成一個(gè)顯示單位,通過控制紅綠藍(lán)的強(qiáng)度,可以使該單位混合輸出不同的色彩,這樣的一個(gè)顯示單位被稱為像素。
液晶屏缺點(diǎn)
????????注意液晶本身是不發(fā)光的,所以需要有一個(gè)背光燈提供光源,光線經(jīng)過一系列處理過程才到輸出,所以輸出的光線強(qiáng)度是要比光源的強(qiáng)度低很多的,比較浪費(fèi)能源(當(dāng)然,比CRT顯示器還是節(jié)能多了)。而且這些處理過程會(huì)導(dǎo)致顯示方向比較窄,也就是它的視角較小,從側(cè)面看屏幕會(huì)看不清它的顯示內(nèi)容。另外,輸出的色彩變換時(shí),液晶分子轉(zhuǎn)動(dòng)也需要消耗一定的時(shí)間,導(dǎo)致屏幕的響應(yīng)速度低。
LED顯示器
????????LED點(diǎn)陣彩色顯示器的單個(gè)像素點(diǎn)內(nèi)包含紅綠藍(lán)三色LED燈,顯示原理類似實(shí)驗(yàn)板上的LED彩燈,通過控制紅綠藍(lán)顏色的強(qiáng)度進(jìn)行混色,實(shí)現(xiàn)全彩顏色輸出,多個(gè)像素點(diǎn)構(gòu)成一個(gè)屏幕。由于每個(gè)像素點(diǎn)都是LED燈自發(fā)光的,所以在戶外白天也顯示得非常清晰,但由于LED燈體積較大,導(dǎo)致屏幕的像素密度低,所以它一般只適合用于廣場(chǎng)上的巨型顯示器。相對(duì)來說,單色的LED點(diǎn)陣顯示器應(yīng)用得更廣泛,如公交車上的信息展示牌、店招等。
OLED顯示器
????????新一代的OLED顯示器與LED點(diǎn)陣彩色顯示器的原理類似,但由于它采用的像素單元是“有機(jī)發(fā)光二極管”(Organic Light Emitting Diode),所以像素密度比普通LED點(diǎn)陣顯示器高得多
OLED顯示器不需要背光源、對(duì)比度高、輕薄、視角廣及響應(yīng)速度快等優(yōu)點(diǎn)。待到生產(chǎn)工藝更加成熟時(shí),必將取代現(xiàn)在液晶顯示器的地位。
對(duì)于不同種類的顯示器,其控制程序原理是類似的,都是以操作像素點(diǎn)為基礎(chǔ)。
顯示器的基本參數(shù)
不管是哪一種顯示器,都有一定的參數(shù)用于描述它們的特性,各個(gè)參數(shù)介紹如下:
- 像素
像素是組成圖像的最基本單元要素,顯示器的像素指它成像最小的點(diǎn),即前面講解液晶原理中提到的一個(gè)顯示單元。
- 分辨率
????????一些嵌入式設(shè)備的顯示器常常以“行像素值x列像素值”表示屏幕的分辨率。如分辨率800x480表示該顯示器的每一行有800個(gè)像素點(diǎn),每一列有480個(gè)像素點(diǎn),也可理解為有800列,480行。
- 色彩深度
????????色彩深度指顯示器的每個(gè)像素點(diǎn)能表示多少種顏色,一般用“位”(bit)來表示。如單色屏的每個(gè)像素點(diǎn)能表示亮或滅兩種狀態(tài)(即實(shí)際上能顯示2種顏色),用1個(gè)數(shù)據(jù)位就可以表示像素點(diǎn)的所有狀態(tài),所以它的色彩深度為1bit,其它常見的顯示屏色深為16bit(RGB565)、24bit(RGB888,即RGB每個(gè)顏色的范圍都是0-255)。
- 顯示器尺寸
????????顯示器的大小一般以英寸表示,如5英寸、21英寸、24英寸等,這個(gè)長(zhǎng)度是指屏幕對(duì)角線的長(zhǎng)度, 通過顯示器的對(duì)角線長(zhǎng)度及長(zhǎng)寬比可確定顯示器的實(shí)際長(zhǎng)寬尺寸。
- 點(diǎn)距
????????點(diǎn)距指兩個(gè)相鄰像素點(diǎn)之間的距離,它會(huì)影響畫質(zhì)的細(xì)膩度及觀看距離,相同尺寸的屏幕,若分辨率越高,則點(diǎn)距越小,畫質(zhì)越細(xì)膩。如現(xiàn)在有些手機(jī)的屏幕分辨率比電腦顯示器的還大,這是手機(jī)屏幕點(diǎn)距小的原因;LED點(diǎn)陣顯示屏的點(diǎn)距一般都比較大,所以適合遠(yuǎn)距離觀看。
STM32板載液晶控制原理(不帶微控制器)
液晶控制原理
下圖兩種適合于STM32芯片使用的顯示屏,我們以它為例講解控制液晶屏的原理。
一個(gè)液晶屏分成一個(gè)液晶顯示器面板和一個(gè)電容(或電容)觸摸屏面板。
這里首先講的是最基礎(chǔ)的液晶控制原理,是以不帶微控制器的液晶屏如何控制顯示進(jìn)行講解
????????完整的顯示屏由液晶顯示面板、電容觸摸面板以及PCB底板構(gòu)成。
????????圖中的觸摸面板帶有觸摸控制芯片,該芯片處理觸摸信號(hào)并通過引出的信號(hào)線與外部器件通訊面板中間是透明的,它貼在液晶面板上面,一起構(gòu)成屏幕的主體,觸摸面板與液晶面板引出的排線連接到PCB底板上。
????????根據(jù)實(shí)際需要,PCB底板上可能會(huì)帶有“液晶控制器芯片”。因?yàn)榭刂埔壕姘逍枰容^多的資源,所以大部分低級(jí)微控制器都不能直接控制液晶面板,需要額外配套一個(gè)專用液晶控制器來處理顯示過程,外部微控制器只要把它希望顯示的數(shù)據(jù)直接交給液晶控制器即可。而不帶液晶控制器的PCB底板 ,只有小部分的電源管理電路,液晶面板的信號(hào)線與外部微控制器相連,直接控制。STM32F429系列的芯片不需要額外的液晶控制器,也就是說它把專用液晶控制器的功能集成到STM32F429芯片內(nèi)部了,節(jié)約了額外的控制器成本。STM32F1系列的芯片控制液晶時(shí),液晶屏需帶有液晶控制器。
控制信號(hào)線(不帶液晶控制器)
液晶面板的控制信號(hào)線(不帶液晶控制器):
其中R、G、B一共二十四根信號(hào)線用來傳輸像素?cái)?shù)據(jù)
- RGB信號(hào)線
????????RGB信號(hào)線各有8根,分別用于表示液晶屏一個(gè)像素點(diǎn)的紅、綠、藍(lán)顏色分量。使用紅綠藍(lán)顏色分量來表示顏色是一種通用的做法,打開Windows系統(tǒng)自帶的畫板調(diào)色工具,可看到顏色的紅綠藍(lán)分量值,常見的顏色表示會(huì)在“RGB”后面附帶各個(gè)顏色分量值的數(shù)據(jù)位數(shù),如RGB565表示紅綠藍(lán)的數(shù)據(jù)線數(shù)分別為5、6、5根,一共為16個(gè)數(shù)據(jù)位,可表示216種顏色;而這個(gè)液晶屏的種顏色分量的數(shù)據(jù)線都有8根,所以它支持RGB888格式,一共24位數(shù)據(jù)線,可表示的顏色為224種。
- 同步時(shí)鐘信號(hào)CLK
????????液晶屏與外部使用同步通訊方式,以CLK信號(hào)作為同步時(shí)鐘,在同步時(shí)鐘的驅(qū)動(dòng)下,每個(gè)時(shí)鐘傳輸一個(gè)像素點(diǎn)數(shù)據(jù)。
- 水平同步信號(hào)HSYNC
????????水平同步信號(hào)HSYNC(Horizontal Sync)用于表示液晶屏一行像素?cái)?shù)據(jù)的傳輸結(jié)束,每傳輸完成液晶屏的一行像素?cái)?shù)據(jù)時(shí),HSYNC會(huì)發(fā)生電平跳變,如分辨率為800x480的顯示屏(800列,480行),傳輸一幀的圖像HSYNC的電平會(huì)跳變480次。
- 垂直同步信號(hào)VSYNC
????????垂直同步信號(hào)VSYNC(Vertical Sync)用于表示液晶屏一幀像素?cái)?shù)據(jù)的傳輸結(jié)束,每傳輸完成一幀像素?cái)?shù)據(jù)時(shí),VSYNC會(huì)發(fā)生電平跳變。其中“幀”是圖像的單位,一幅圖像稱為一幀,在液晶屏中,一幀指一個(gè)完整屏液晶像素點(diǎn)。人們常常用“幀/秒”來表示液晶屏的刷新特性,即液晶屏每秒可以顯示多少幀圖像,如液晶屏以60幀/秒的速率運(yùn)行時(shí),VSYNC每秒鐘電平會(huì)跳變60次。
- 數(shù)據(jù)使能信號(hào)DE
????????數(shù)據(jù)使能信號(hào)DE(Data Enable)用于表示數(shù)據(jù)的有效性,當(dāng)DE信號(hào)線為高電平時(shí),RGB信號(hào)線表示的數(shù)據(jù)有效。
液晶數(shù)據(jù)傳輸時(shí)序
????????向液晶屏傳輸一幀圖像數(shù)據(jù)的時(shí)序:一幀的范圍是VBP開始到下一個(gè)VSW結(jié)束(VSYNC跳變)(也叫VGA時(shí)序,使用了獨(dú)立的液晶面板)
PS:時(shí)序圖可配合矩形圖和時(shí)間參數(shù)表來理解,若還不理解,可看視頻講解。
????????液晶屏顯示的圖像可看作一個(gè)矩形,液晶屏有一個(gè)顯示指針,它指向?qū)⒁@示的像素。顯示指針的掃描方向方向從左到右、從上到下,一個(gè)像素點(diǎn)一個(gè)像素點(diǎn)地描繪圖形。這些像素點(diǎn)的數(shù)據(jù)通過RGB數(shù)據(jù)線傳輸至液晶屏,它們?cè)谕綍r(shí)鐘CLK的驅(qū)動(dòng)下一個(gè)一個(gè)地傳輸?shù)揭壕林?,交給顯示指針,傳輸完成一行時(shí),水平同步信號(hào)HSYNC電平跳變一次,而傳輸完一幀時(shí)VSYNC電平跳變一次。
????????液晶顯示指針在行與行之間,幀與幀之間切換時(shí)需要延時(shí),而且HSYNC及VSYNC信號(hào)本身也有寬度,這些時(shí)間參數(shù)說明見下表:
????????在這些時(shí)間參數(shù)控制的區(qū)域,數(shù)據(jù)使能信號(hào)線“DE”都為低電平,RGB數(shù)據(jù)線的信號(hào)無(wú)效,當(dāng)“DE”為高電平時(shí),表示的數(shù)據(jù)有效,傳輸?shù)臄?shù)據(jù)會(huì)直接影響液晶屏的顯示區(qū)域。
顯存
????????液晶屏中的每個(gè)像素點(diǎn)都是數(shù)據(jù),在實(shí)際應(yīng)用中需要把每個(gè)像素點(diǎn)的數(shù)據(jù)緩存起來,再傳輸給液晶屏,這種存儲(chǔ)顯示數(shù)據(jù)的存儲(chǔ)器被稱為顯存(和SRAM和SDRAM完全沒有區(qū)別)。顯存一般至少要能存儲(chǔ)液晶屏的一幀顯示數(shù)據(jù),如分辨率為800x480的液晶屏,使用RGB888格式顯示,它的一幀顯示數(shù)據(jù)大小為:3x800x480=1152000字節(jié);若使用RGB565格式顯示,一幀顯示數(shù)據(jù)大小為:2x800x480=768000字節(jié)。
????????顯存至少能緩存一幀的數(shù)據(jù)。
為什么有一些STM32的型號(hào)需要液晶控制器而有些不需要呢?
????????首先一個(gè)原因就是STM32內(nèi)部的SRAM或SDRAM容量是否足夠顯存的使用,比如STM32F103VET6由于無(wú)法拓展SRAM和SDRAM,所以不夠顯存的使用。
????????另一個(gè)原因是液晶屏的顯示必須要輸出時(shí)序,如果STM32像硬件IIC和硬件SPI那樣集成液晶控制器,需要加上很多控制邏輯,比較復(fù)雜。
????????因此像F103和F407本身都不帶液晶控制器,而是使用自帶液晶控制器的屏幕。
????????而對(duì)于F429之類不需要液晶控制器的STM32,是利用自帶的LTDC的硬件外設(shè)來產(chǎn)生液晶數(shù)據(jù)的傳輸時(shí)序,使用內(nèi)部的SDRAM作為顯存來實(shí)現(xiàn)的液晶顯示。這樣的好處是可以節(jié)省成本。
總結(jié)
????????對(duì)于帶液晶控制器的液晶屏來說。
????????STM32只需要與液晶控制器進(jìn)行交流,命令控制器顯示一幅圖像,控制器就會(huì)通過傳輸時(shí)序?qū)D像緩存到自己的顯存空間。
????????STM32只負(fù)責(zé)協(xié)調(diào)和液晶控制器的通信就可以了,不需要管液晶屏的刷新,不需要管緩存,更不需要管液晶屏顯示的那些傳輸時(shí)序,這些都是通過液晶控制器來實(shí)現(xiàn)的。
3.2寸液晶屏介紹(搭載液晶控制器)
????????之前介紹的5寸屏幕其液晶控制器與液晶屏是完全分離的,且具有帶控制器和不帶控制器的版本,易于理解,下面來分析實(shí)驗(yàn)板標(biāo)配的分辨率為320*240的3.2寸電阻觸摸液晶屏。
3.2寸電阻觸摸屏實(shí)物
這里底部只有觸摸控制器,而液晶控制器焊在了屏幕里面,需要拆開查看。
????????圖中的標(biāo)號(hào)3部分是液晶屏幕的整體,通過引出的排針接入到實(shí)驗(yàn)板上可對(duì)它進(jìn)行控制,它分為標(biāo)號(hào)1的液晶觸摸面板和標(biāo)號(hào)2的PCB底板兩部分。
????????標(biāo)號(hào)1處的液晶觸摸面板由液晶屏和觸摸屏組成,屏幕表面的灰色線框即為電阻觸摸屏的信號(hào)線,觸摸屏的下方即為液晶面板,在它的內(nèi)部包含了一個(gè)型號(hào)為ILI9341的液晶控制器芯片(由于集成度高,所以圖中無(wú)法看見),該液晶控制器使用8080接口與單片機(jī)通訊,圖中液晶面板引出的FPC信號(hào)線即8080接口(RGB接口已在內(nèi)部直接與ILI9341相連),且控制器中包含有顯存,單片機(jī)把要顯示的數(shù)據(jù)通過引出的8080接口發(fā)送到液晶控制器,這些數(shù)據(jù)會(huì)被存儲(chǔ)到它內(nèi)部的顯存中,然后液晶控制器不斷把顯存的內(nèi)容刷新到液晶面板,顯示內(nèi)容。
????????標(biāo)號(hào)2處的是PCB底板,它主要包含了一個(gè)電阻觸摸屏的控制器XPT2046,電阻觸摸屏控制器實(shí)質(zhì)上是一個(gè)ADC芯片,通過檢測(cè)電壓值來計(jì)算觸摸坐標(biāo)。PCB底板與液晶觸摸面板通過FPC排線座連接,然后引出到排針,方便與實(shí)驗(yàn)板的排母連接。
ILI9341液晶控制器簡(jiǎn)介
本液晶屏內(nèi)部包含有一個(gè)液晶控制芯片ILI9341,它的內(nèi)部結(jié)構(gòu)如下圖:
????????該芯片最主核心部分是位于中間的GRAM(Graphics RAM),它就是顯存。GRAM中每個(gè)存儲(chǔ)單元都對(duì)應(yīng)著液晶面板的一個(gè)像素點(diǎn)。它右側(cè)的各種模塊共同作用把GRAM存儲(chǔ)單元的數(shù)據(jù)轉(zhuǎn)化成液晶面板的控制信號(hào),使像素點(diǎn)呈現(xiàn)特定的顏色,而像素點(diǎn)組合起來則成為一幅完整的圖像??驁D的左上角為ILI9341的主要控制信號(hào)線和配置引腳,根據(jù)其不同狀態(tài)設(shè)置可以使芯片工作在不同的模式,如每個(gè)像素點(diǎn)的位數(shù)是6、16還是18位;可配置使用SPI接口、8080接口還是RGB接口與MCU進(jìn)行通訊。MCU通過SPI、8080接口或RGB接口與ILI9341進(jìn)行通訊,從而訪問它的控制寄存器(CR)、地址計(jì)數(shù)器(AC)、及GRAM。
????????芯片左邊也引出了D[17:0]、HSYNC、VSYNC、DOTCLK、和DE信號(hào)線,它是用于與STM32通訊的,而不是用來同液晶面板通訊的??刂埔壕姘迨峭ㄟ^右邊的LCD Gate Driver和LCD Source Driver來控制。
????????左邊的引腳與STM32相連,主要我們是使用黃顏色部分的引腳。數(shù)據(jù)引腳,板子上只有D0-D15,因?yàn)轭伾疃瓤梢杂?/16/18bit RGB格式來選擇。我們正常使用16bit,因?yàn)檎G闆r每個(gè)像素點(diǎn)超過兩個(gè)字節(jié)但不夠三個(gè)字節(jié),會(huì)很浪費(fèi)空間,所以常常使用RGB565的格式,也就是16bit的顏色深度。
????????STM32通過這些引出來的引腳與ILI9341控制器通訊,通過控制ILI9341達(dá)到控制液晶屏的目的。
????????而其它的如SDA、SDO、HSYNC、VSYNC、DOTCLK、和DE等硬件沒有用到,它們是用來支持SPI通訊或者IIC通訊的,ILI9341本身是支持這些通訊方式的,但在這里我們沒有使用,我們使用的是8080接口,也就是黃色部分的引腳:RESX、CSX、WRX、RDX、D/CX、D[17:0]。
????????注:其中D/CS引腳在板子上改了名字,為RS引腳。
在GRAM的左側(cè)還有一個(gè)LED控制器(LED Controller)。LCD為非發(fā)光性的顯示裝置,它需要借助背光源才能達(dá)到顯示功能,LED控制器就是用來控制液晶屏中的LED背光源(通過GPIO控制,低電平點(diǎn)亮,背光燈的強(qiáng)度可以通過PWM占空比來控制)。
3.2寸液晶原理圖
?
液晶屏排針對(duì)應(yīng)野火STM32指南者開發(fā)板和霸道開發(fā)板
液晶屏的信號(hào)線及8080時(shí)序
????????ILI9341控制器根據(jù)自身的IM[3:0]信號(hào)線電平?jīng)Q定它與MCU的通訊方式,它本身支持SPI及8080通訊方式,本示例中液晶屏的ILI9341控制器在出廠前就已經(jīng)按固定配置好(內(nèi)部已連接硬件電路),它被配置為通過8080接口通訊,使用16根數(shù)據(jù)線的RGB565格式。內(nèi)部硬件電路連接完,剩下的其它信號(hào)線被引出到FPC排線,最后該排線由PCB底板引出到排針,排針再與實(shí)驗(yàn)板上的STM32芯片連接,引出的排針信號(hào)線如下圖:
????????這些引出的信號(hào)線即8080通訊接口,帶X的表示低電平有效,STM32通過該接口與ILI9341芯片進(jìn)行通訊,實(shí)現(xiàn)對(duì)液晶屏的控制。通訊的內(nèi)容主要包括命令和顯存數(shù)據(jù),顯存數(shù)據(jù)即各個(gè)像素點(diǎn)的RGB565內(nèi)容;命令是指對(duì)ILI9341的控制指令,MCU可通過8080接口發(fā)送命令編碼控制ILI9341的工作方式,例如復(fù)位指令、設(shè)置光標(biāo)指令、睡眠模式指令等等,具體的指令在《ILI9341.pdf》數(shù)據(jù)手冊(cè)均有詳細(xì)說明。
實(shí)現(xiàn)控制液晶屏實(shí)際上就是往GRAM里面寫入內(nèi)容。
向ILI9341寫命令的時(shí)序圖:
最后兩個(gè)表示數(shù)據(jù)傳輸?shù)姆较颍皇切盘?hào)線
從ILI9341讀命令的時(shí)序圖:文章來源:http://www.zghlxwxcb.cn/news/detail-582115.html
文章來源地址http://www.zghlxwxcb.cn/news/detail-582115.html
到了這里,關(guān)于LCD—STM32液晶顯示(1.顯示器簡(jiǎn)介及LCD顯示原理)(6000字詳細(xì)介紹)的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!