lcd如何顯示影象
畫素的概念、掃瞄顯示方式、lcd驅動器和lcd控制器的分別、顯示快取區的概念等,這些概念有助於我們從程式設計角度理解lcd如何工作。
lcd的六個主要時序引數
lcd初始化過程中很重要的6個引數,這個六個引數是crt年代繼承而來,但是對於lcd來說卻很重要,也是我們後面寫程式初始化lcd時很重要的幾個引數。
lcd顯示的主要相關概念
lcd顯示中關鍵的幾個概念,如畫素、畫素深度、清晰度、解析度等,這些概念在後面的程式設計實踐中用得上,而且對我們理解顯示原理至關重要。
1.lcd簡介
1.1、什麼是lcd?
(1)lcd(liquid crystal display)俗稱液晶.
(2)液晶是一種材料,液晶這種材料具有一種特點:可以在電訊號的驅動下液晶分子進行旋轉,旋轉時會影響透光性,因此我們可以在整個液晶面板後面用白光照(稱為背光),可以通過不同電訊號讓液晶分子進行選擇性的透光,此時在液晶面板前面看到的就是各種各樣不同的顏色,這就是lcd顯示。
(3)被動發光和主動發光。有些顯示器(譬如led顯示器、crt顯示器)自己本身會發光稱為主動發光,有些(lcd)本身不會發光只會透光,需要背光的協助才能看起來是發光的,稱為被動發光。
(4)液晶應用領域:電視機、電腦顯示屏、手機顯示屏、工業顯示屏等····
1.2、其他主流顯示裝置(led、crt、等離子、oled)
(1)crt:陰極攝像管顯示器。
(2)等離子顯示:未成為主流
(3)oled:目前未成為主流,但是很有市場潛力
(4)led:主要用在戶外大螢幕
(5)lcd:目前是主流顯示器
1.3、lcd的顯示原理和特點(液晶分子透光+背光)
(1)白光其實是由各種不同顏色的光組成的,所以白光被選擇性透光之後可以產生各種不同顏色的光。
1.14.1.4、lcd的發展史和種類(tn/stn/tft)
(1)tn最早。壞處是響應性不夠好,有拖尾現象。
(2)stn是tn的公升級版。有效解決拖尾現象,顯示更清晰。
(3)tft的最大特點就是超薄。
(4)tft技術之上發展出來很多更新的技術。
(參考資料一:
(參考資料二:
2.lcd的接**術
2.1、從電平角度來講本質上都是ttl訊號
(1)什麼是ttl介面。+5v表示邏輯1,0v表示邏輯0.這種就叫ttl電平,和cmos電平相對比。
(2)soc的lcd控制器硬體介面是ttl電平的,lcd這邊硬體介面也是ttl電平的。所以他們倆本來是可以直接對接的,手機、平板、開發板都是這樣直接對接的(一般用軟排線連線)。
(3)ttl電平的缺陷就是不能傳遞太遠,如果lcd螢幕和主機板控制器太遠(1公尺甚至更遠)就不能直接ttl連線了,要進行轉換。轉換方式:主機soc(ttl) ->vga-> lcd螢幕(ttl)
2.2、各種介面(ttl、lvds、edp、mipi、)在傳輸速率、距離、適配性方面不同(參考資料:
.2.3、rgb介面詳解(參考資料手冊p1207頁時序圖)
(1)vd[23:0]:24根資料線,用來傳輸影象資訊。可見lcd是並行介面,速率才夠快。
(2)hsync(水平同步訊號)
(3)vsync(垂直同步訊號):時序訊號線,為了讓lcd能夠正常顯示給的控制訊號
(4)vclk(畫素時鐘):lcd工作時需要主機板控制器給lcd模組乙個工作時鐘訊號,就是vclk。
(5)vden(資料有效標誌):時序訊號,和hsync、vsync結合使用。
(6)lend(行結束標誌,不是必須的):時序訊號,非必須,譬如x210介面就沒有。
7.4、清晰度
(1)清晰度是乙個主觀概念,是人眼對顯示效果的乙個主觀判斷。說白了就是人看起來感覺清晰不清晰。
(2)客觀來講,清晰度由解析度和畫素間距共同決定。一般的,螢幕尺寸固定時解析度越高越清晰,解析度越低就越不清晰;解析度固定下,螢幕尺寸越小越清晰,越大越不清晰。
(3)清晰度還由其他很多因素共同決定。
45、畫素深度(bits per pixel,簡稱bpp)
(1)乙個畫素在計算機中由多少個位元組資料來描述。
(2)計算機中用二進位制位來表示乙個畫素的資料,用來表示乙個畫素的資料位越多,則這個畫素的顏色值更加豐富、分的更細,顏色深度就更深。
(3)一般來說畫素深度有這麼幾種:1位、8位、16位、24位、32位。
4.8.顏色在計算機中的表示
4.8.1、顏色的本質
(1)顏色是主觀存在,顏色其實是自然光在人的眼睛中和大腦中產生的一種映像。
(2)顏色的本質決定於光的波長。
1.14.8.2、自然光的顏色是連續的
(1)光的波長是連續的,導致顏色也是連續的。理論上,只要你的眼睛分辨能力足夠好,可以在自然界中發現無數中顏色。
4.8.3、計算機中的顏色是離散的
(1)計算機中不可能儲存無數種顏色,所以必須將顏色有限化,所以就用有限種顏色來代表自然界中的無限種顏色。這個理論非常類似於之前學過的ad轉換。
(2)這種離散化表達顏色的缺點是不夠真實,漏掉了很多種顏色。因此計算機中所能表達的顏色沒有自然界中豐富(計算機螢幕上顯示的影象和真實影象有差別)
(3)計算機所能表達的顏色種類個數,這個引數叫:畫素深度bpp。
4.8.4、常見畫素深度:1位、8位、16位、24位、32位
1位:用1個二進位制位來表示顏色,這種就叫單色顯示。示例就是小飯店、理髮店門口的led屏。
8位:用8個二進位制位來表示顏色,此時能表示256種顏色。這種叫灰度顯示。這時候是黑白的,沒有彩色,我們把純白到純黑分別對應255到0,中間的數值對應不同的灰。示例就是以前的黑白電視機。
16位:用16個二進位制位表示顏色,此時能表示65536種顏色。這時候就可以彩色顯示了,一般是rgb565的顏色分布(用5位二進位制表示紅色、用6位二進位制表示綠色、用5位二進位制表示藍色)。這種紅綠藍都有的顏色表示法就是一種模擬自然界中所有顏色的表示方式。但是因為rgb的顏色表達本身二進位制位數不夠多(導致紅綠藍三種顏色本身分的都不夠細緻),所以這樣顯示的彩色失真比較重,人眼能明顯看到顯示的不真實。
24位:用24個二進位制位來表示顏色,此時能表示16777216種顏色。這種表示方式和16位色原理是一樣的,只是rgb三種顏色各自的精度都更高了(rgb各8位),叫rgb888。此時顏色比rgb565更加真實細膩,雖然說比自然界無數種顏色還是少了很多,不過由於人眼的不理想性所以人眼幾乎不能區分1677萬種顏色和無數種顏色的差別了。於是乎就把這種rgb888的表示方法叫做真彩色。(rgb565就是假彩色)
32位:總共用32位二進位制來表示顏色,其中24位表示紅綠藍三元色(還是rgb888分布),剩下8位表示透明度。這種顯色方式就叫argb(a是阿爾法,表示透明度),現在pc機中一般都用argb表示顏色。
補充:顏色的組成,三元色(三基色)是rgb,也就是說所有的顏色都可以由紅綠藍三種顏色組成。
4.9.s5pv210的lcd控制器
4.9.1、fimd結構框圖
(1)210的lcd控制器叫fimd,fimd是210內部和影象處理相關的一些部件,在攝像頭等和影象處理有關的部分都可以有關聯。
(2)fimd在內部與ahb匯流排等相連線,在外部提供rgb介面、i80介面、yuv介面與外部相連線,我們實際使用的是rgb介面。
4.9.2、虛擬螢幕疊加(資料手冊p1194)
(1)虛擬螢幕的意思是,我們平時看到的螢幕上顯示出來的場景實際是很多個螢幕顯示疊加在一起的效果(譬如新聞影象、電視台台標、下方飄動的字幕新聞)
(2)像s5pv210的lcd控制器中有5個虛擬螢幕window0到window4,虛擬螢幕不存在於真實而存在於記憶體中。(之前講過,lcd顯示時實際是顯示的是對應的記憶體中的視訊記憶體區域的數值)虛擬螢幕其實就是乙個記憶體中的視訊記憶體區域,有幾個視訊記憶體區域就有幾個虛擬螢幕,但是這些虛擬螢幕都被對映到乙個真實的顯示屏上面,所以將來真實的現實效果實際是這幾個虛擬螢幕的顯示內容的疊加。(疊加時要注意上面一層會覆蓋下面一層,所以要注意誰在前誰在後,設定暫存器時有這個選項)
(3)使用虛擬螢幕而不是整個lcd使用乙個視訊記憶體是有一定好處的:第一,可以保證不汙染源影象,方便程式處理;第二,可以減少螢幕重新整理,提高顯示效率,減少cpu工作量。
4.9.3、虛擬顯示(資料手冊p1206)
(1)如何實現在小解析度的螢幕上(真實)顯示大解析度的影象
(2)細節上,我們需要螢幕上看到不同影象時,需要對視訊記憶體區域進行重新整理。即使我們只需要螢幕顯示移動一點點,整個螢幕對應的視訊記憶體空間也需要整個重新重新整理,工作量和完全重新顯示一幅影象是一樣的。這個顯然不好,這樣cpu重新整理螢幕的工作量太大了,效率很低。
(3)如何能夠在顯示乙個大的不同區域時讓cpu重新整理螢幕工作量減少?有,方法就是虛擬顯示。具體做法就是在記憶體中建立顯示快取的時候實際建立乙個很大的區域,然後讓lcd去對應其中的一部分區域作為有效的顯示區域。將來要顯示大影象時,直接將大影象全部一次性加載入顯示快取區,然後通過移動有效顯示區域就可以顯示大影象的不同區域了。
4.9.4.rgb565和rgb888
(1)微控制器等效能和資源有限的平台會用rgb565,嵌入式平台習慣用rgb888.
(2)有時候手頭只有rgb888的顏色值,但是顯示部分卻只接受rgb565的(有時候反過來),這時候就需要在2種顏色之間做轉換。
4.9.5不同解析度、不同起點座標下的顯示
(1)螢幕解析度和影象解析度不同時的顯示。我們現在寫的**都是沒有考慮的。
(2)影象起點座標(左上角座標)不一定在螢幕左上角,也可能在螢幕的任何其他區域,這種情況下畫圖的函式要做處理來支援。
(3)解析度不同而且起始座標不同下,這兩個問題組合起來也對畫圖函式提出了更高要求。
Oracle 基本知識
乙個表空間只能屬於乙個資料庫 每個資料庫最少有乙個控制檔案 建議3個,分別放在不同的磁碟上 每個資料庫最少有乙個表空間 system表空間 建立system表空間的目的是盡量將目的相同的表存放在一起,以提高使用效率,只應存放資料字典 每個資料庫最少有兩個聯機日誌組,每組最少乙個聯機日誌檔案 乙個資料...
Oracle 基本知識
乙個表空間只能屬於乙個資料庫 每個資料庫最少有乙個控制檔案 建議3個,分別放在不同的磁碟上 每個資料庫最少有乙個表空間 system表空間 建立system表空間的目的是盡量將目的相同的表存放在一起,以提高使用效率 每個資料庫最少有兩個聯機日誌檔案 乙個資料檔案只能屬於乙個表空間 乙個資料檔案一旦被...
Oracle 基本知識
oracle 文章摘要 oracle 基本知識。正文 oracle 基本知識 乙個表空間只能屬於乙個資料庫 每個資料庫最少有乙個控制檔案 建議3個,分別放在不同的磁碟上 每個資料庫最少有乙個表空間 system表空間 建立system表空間的目的是盡量將目的相同的表存放在一起,以提高使用效率 每個資...