天天看點

100ask_imx6ull絕對是最2的IMX6ULL開發闆!1.1 LCD硬體工作原理簡介1.2 RGB接口的LCD硬體連接配接信号1.3 TFT材質液晶屏接口簡介(7寸1024600TN-RGB)

100ask_imx6ull絕對是最2的IMX6ULL開發闆!1.1 LCD硬體工作原理簡介1.2 RGB接口的LCD硬體連接配接信号1.3 TFT材質液晶屏接口簡介(7寸1024600TN-RGB)

100ask_imx6ull開發闆絕對是最2的IMX6ULL開發闆!

為什麼這麼說呢?

因為它有别家的:

2倍的裸機文檔!

2倍的裸機實驗!

卻是2分之1的價格!

自從去年我們釋出了後,

開啟了一個新模式:

0利潤開發闆吸引客戶,

入門視訊全部免費服務大衆,

獨家視訊才收費。

硬體品質久經考驗,即使是最專業的硬體工程師,也認可我們的設計和用料;

之前,資料缺乏是唯一槽點,

但是,

從4月20号,這一切都改變了!

600頁裸機文檔已經釋出,

近30闆上、闆外子產品,

每一章節都是韋老師修改,保證品質;

來,看看我們的文檔,

就說LCD吧,

如果一上來,就是這個圖,你看得懂那些信号是什麼鬼?

100ask_imx6ull絕對是最2的IMX6ULL開發闆!1.1 LCD硬體工作原理簡介1.2 RGB接口的LCD硬體連接配接信号1.3 TFT材質液晶屏接口簡介(7寸1024600TN-RGB)

可能很多人都知道:HSYNC是行同步資訊,VSYNC是列同步信号。

同步?行?列?

什麼鬼東西嘛,請說些小白能聽懂的話。

我們是善于講課的老師,我們這樣教你:

100ask_imx6ull絕對是最2的IMX6ULL開發闆!1.1 LCD硬體工作原理簡介1.2 RGB接口的LCD硬體連接配接信号1.3 TFT材質液晶屏接口簡介(7寸1024600TN-RGB)

跟着韋老師,媽媽再也不用擔心我的嵌入式學習了!

2倍的裸機文檔/實驗:

LED、RAM重定位、時鐘、UART、GPIO按鍵、UND/SWI異常、

GPT定時器、EPIT定時器、EMMC卡、

TF卡、LCD、電容屏、

I2C、SPI、紅外遙控器、DHT11溫濕度、DS18B20溫度子產品、SR501人體紅外子產品、

SR04超音波、步進電機、OLED顯示屏、

SPI DAC、AT24C02、GPS、

光敏,ADC,CAN、485。

2分之1的價格:标配369起(轉發朋友圈),我們不掙硬體錢,是以當然0利潤。

下面分享100ASK_IMX6ULL裸機文檔第15章LCD程式設計之100ASK_IMX6ULL硬體原理

内容包括

1.1 LCD硬體工作原理簡介

1.2 RGB接口的LCD硬體連接配接信号

1.3 TFT材質液晶屏接口簡介(7寸1024600TN-RGB)

1.3.1 LCD關鍵特性

1.3.2 行時序

1.3.3 列時序

1.3.4 DE模式

1.3.5 RGB資料的存放形式

下面分别羅列。

1.1 LCD硬體工作原理簡介

100ask_imx6ull絕對是最2的IMX6ULL開發闆!1.1 LCD硬體工作原理簡介1.2 RGB接口的LCD硬體連接配接信号1.3 TFT材質液晶屏接口簡介(7寸1024600TN-RGB)

假設上圖是一個LCD螢幕,螢幕中一個一個密密麻麻的黑點稱之為像素點,每一行有若幹個點,試想下有一個電子槍,電子槍位于某一個像素點的背後,然後向這個像素發射紅,綠,藍三種原色,這三種顔色按不同的比例組合成任意一種顔色。電子槍在像素點的背後,一邊移動一邊發出各種顔色的光,電子槍從左往右移動,到右邊邊緣之後就跳到下一行的行首,繼續從左往右移動,如此往複,一直移動到螢幕右下角的像素點,最後就跳回原點。

問題1:電子槍如何移動?

答: 有一條像素時鐘信号線(DCLK),連接配接螢幕,每來一個像素時鐘信号(DCLK),電子槍就移動一個像素。

問題2:電子槍打出的顔色該如何确定?

答:有三組紅,綠,藍信号線(RGB),連接配接螢幕,由這三組信号線(RGB)傳遞顔色

問題3:電子槍移動到LCD螢幕右邊邊緣時,如何得知需要跳到下一行的行首?

答:有一條水準同步信号線(HSYNC),連接配接螢幕,當接收到水準同步信号(HSYNC),電子槍就跳到下一行的最左邊

問題4:電子槍如何得知需要跳到原點?

答:有一條垂直同步信号線(VSYNC),連接配接螢幕,當接收到垂直同步信号線(VSYNC),電子槍就由螢幕右下腳跳到左上角(原點)

問題5:電子槍如何得知三組信号線(RGB)确定的顔色就是它是需要的呢?

答:有一條RGB資料使能信号線(DE),連接配接螢幕,當接收到資料使能信号線(DE),電子槍就知道這時由這三組信号線(RGB)确定的顔色是有效的,可以發射到該像素點。

下圖是開發闆,LCD控制器,LCD螢幕的框圖

100ask_imx6ull絕對是最2的IMX6ULL開發闆!1.1 LCD硬體工作原理簡介1.2 RGB接口的LCD硬體連接配接信号1.3 TFT材質液晶屏接口簡介(7寸1024600TN-RGB)

之前提到的像素時鐘(DCLK), 三組紅,綠,藍信号線(RGB),水準同步信号線(HSYNC),垂直同步信号線(VSYNC),RGB資料使能信号線(DE)都是從LCD控制器發出的,隻要開發闆支援LCD顯示,它肯定就會有一個LCD控制器。

問題6:RGB三組信号線上的資料從何而來?

100ask_imx6ull絕對是最2的IMX6ULL開發闆!1.1 LCD硬體工作原理簡介1.2 RGB接口的LCD硬體連接配接信号1.3 TFT材質液晶屏接口簡介(7寸1024600TN-RGB)

上圖是RGB資料來源框圖,記憶體中劃出一部分區域,這塊區域被稱為Framebuffer。在Framebuffer裡面我們會構造好每一個顔色所對應的像素。Framebuffer中的值會被LCD控制器讀出來,通過RGB三組線傳給電子槍,電子槍再把它轉換成紅綠藍三種顔色打到螢幕上。在螢幕上的每一個像素,在Frambuffer裡面都有一個對應存儲空間,裡面存有螢幕上對應像素的顔色。

LCD控制器會周而複始的從Framebuffer中取出一個個像素的顔色值,發給電子槍,同時需要和DCLK,VSYNC,HSYNC,DE這些信号配合好。

1.2 RGB接口的LCD硬體連接配接信号

本次實驗程式設計的螢幕屬于RGB接口的顯示屏,RGB接口的顯示屏至少具備以下信号:

① 像素時鐘信号(DCLK)

用于同步LCD上的DE,VS,HS,RGB信号線。

② RGB資料信号(R[0:7] ,G[0:7],B[0:7])

三組信号線組成,分别代表R(紅色),G(綠色),B(藍色),這三組信号中的每一組都會有8根信号,三組共同組成24根線來控制顔色資料。

有些LCD隻需要16位顔色(RGB565),可以隻使用8條紅色資料線中的高5位,其餘3位懸空;隻使用8條綠色資料線中的高6位,其餘2位懸空;隻使用8條藍色資料線中的高5位,其餘3位懸空。

③ RGB資料使能信号(DE)

RGB接口的 LCD 有兩種驅動模式:DE 模式和 HV 模式。

在HV模式下,需要用到HS與VS來控制重新整理。比如對于分辨率為1024x600RGB的LCD,LCD控制器發出HS信号後,就會發出1024個DCLK,在每個DCLK上傳輸像素資料;當發出600個HS信号後,就會發出一個VS信号。

在DE模式下,需要用到DE信号來控制重新整理,比如對于分辨率為1024x600RGB的LCD,LCD控制器發出DE信号後,就要發出1024個DCLK,在每個DCLK上傳輸像素資料;當發出600個DE信号,重新整理完一幀資料後,又從第1行開始掃描。

編寫LCD程式時,一般都會相容兩種模式,是以程式中會設定這3個信号:資料使能信号(DE),垂直同步信号(HS),水準同步信号(VS)。

④ 水準同步信号

電路中常用HS或HSYNC表示,詳細說明下一小節會說明。

⑤ 垂直同步信号(幀同步或場同步)

電路中常用VS或VSYNC表示,相信說明下一小節會說明。

⑥ LCD背光電源控制信号

所謂背光,就是在LCD顯示屏的背部有很多的燈珠,用它們來照亮螢幕。

背光電路可以用GPIO引腳控制,輸出高低電平表示亮滅,隻有亮滅兩種狀态;也可以用PWM引腳來控制,它可以輸出占空比不同的方波,根據占空比來調節LCD的亮度,更加精細。

100ASK_IMX6ULL開發闆的LCD接口定義(在資料CD光牒/05_Hardware(原理圖)->Base_board->100ask_imx6ull_v1.1.pdf)),就包含了上面所述的幾種信号類型,如下圖:

1.3 TFT材質液晶屏接口簡介(7寸1024600TN-RGB)

嵌入式裝置中一般都采用TFT材質的液晶屏,如遇到别的材質的螢幕,操作方法也是相似的,可能稍微有些差異,針對差異去做修改即可,7寸1024600TN-RGB液晶螢幕接口引腳如下圖,一些關鍵的引腳做了注釋。

100ask_imx6ull絕對是最2的IMX6ULL開發闆!1.1 LCD硬體工作原理簡介1.2 RGB接口的LCD硬體連接配接信号1.3 TFT材質液晶屏接口簡介(7寸1024600TN-RGB)

1.4 LCD關鍵特性

1.4.1 行時序

接下來我們檢視下100ASK_7.0寸LCD手冊時序圖(在資料CD光牒/06_Datasheet(資料手冊)->Extend_modules->7寸LCD子產品.zip->7.0-13SPEC(7寸1024600TN-RGB).pdf):

100ask_imx6ull絕對是最2的IMX6ULL開發闆!1.1 LCD硬體工作原理簡介1.2 RGB接口的LCD硬體連接配接信号1.3 TFT材質液晶屏接口簡介(7寸1024600TN-RGB)

如上圖所示,從最小的像素開始分析,電子槍每次在CLK下降沿采集資料,即從資料線上得到資料,并發射到顯示屏上,然後移動到下一個位置。DATA資料線上的資料來源就是前面介紹的FrameBuffer。就這樣從一行的最左邊,一直移動到一行的最右邊,完成了一行的顯示。

電子槍當打完一行的最後一個資料後,就會收到Hsync行同步信号,如上圖可知該LCD的Hsync有效脈沖為低脈沖,根據時序圖,一個行周期可以大緻分為四部分組成:

① thp:horizontal pulse

Hsync信号的脈沖,thpw稱為脈沖寬度,這個時間不能太短,太短電子槍可能識别不到。

② thb:horizontal back porch

③ thf:horizontal front porch

Hsync信号發出後,電子槍從最右端移動到最左端,這是需要時間的:這個移動的時間就是thb。

從Hsync結束到DE開始的區間被稱為行掃描的後肩(back porch),從DE結束到Hsync開始稱為前肩(front porch)。

④ thd:horizontal data

thd為資料有效區,假設一行的有效像素個數為x。

1.4.2 列時序

100ask_imx6ull絕對是最2的IMX6ULL開發闆!1.1 LCD硬體工作原理簡介1.2 RGB接口的LCD硬體連接配接信号1.3 TFT材質液晶屏接口簡介(7寸1024600TN-RGB)

同理,電子槍被Hsync驅動,一行一行地從上面移動到最下面時,它會收到一個Vsync信号(上圖中标為VSD):你應該回到原點去了。如上圖可知該LCD的VSD有效脈沖為低脈沖,然後就讓電子槍移動回最上邊。VSD中的tvpw是脈沖寬度,tvb是移動時間,tvfp表示顯示完最下一行像素,再過多久VSD才來,tvd為資料有效區,tv為打完一幀所需要的時間。假設一共有y行,則LCD的分辨率就是x*y。

電子槍打完一幀的最後一個資料後,就會收到Vsync行同步信号。根據時序圖,一幀的周期可以大緻分為四部分組成:

① tvp:vertical pulse

Vsync信号的脈沖,tvpw稱為脈沖寬度,這個時間不能太短,太短電子槍可能識别不到。

② tvb:vertical back porch

③ tvf:vertical front porch

Vsync信号發出後,電子槍從最底端移動到最上端,這是需要時間的:這個移動的時間就是tvb。

在電子槍移動的過程中,Hsync信号會一直有,但是RGB上沒有有效的資料。假設一幀信号裡,含有有效資料的第1個Hsync信号發生時間稱為T1;一幀裡,最後一行有效資料的下一個Hsync信号發生的時間稱為T2。

從Vsync結束到T1的這段時間,被稱為列掃描的後肩(back porch),從T2到Vsync開始稱為前肩(front porch)。

④ tvd:vertical data

tvd為資料有效區,假設一幀資料裡的有效行數為y。

LCD的分辨率是:x*y。

1.4.3 DE模式

100ask_imx6ull絕對是最2的IMX6ULL開發闆!1.1 LCD硬體工作原理簡介1.2 RGB接口的LCD硬體連接配接信号1.3 TFT材質液晶屏接口簡介(7寸1024600TN-RGB)

RGB資料有效信号(DEN),高電平表示資料有效。

根據以上資訊大緻了解幾個關鍵信号的時序和極性,後面章節會詳細介紹。

100ask_imx6ull絕對是最2的IMX6ULL開發闆!1.1 LCD硬體工作原理簡介1.2 RGB接口的LCD硬體連接配接信号1.3 TFT材質液晶屏接口簡介(7寸1024600TN-RGB)

再根據上圖,我們就可以确定像素時鐘是51.2Mhz。

1.4.4 RGB資料的存放形式

前面的LCD硬體接口圖裡用到了24條資料線:R0-R7、G0-G7、B0-B7,每個像素的顔色占據3*8=24位。硬體上LCD的資料引腳連接配接是固定的,但是我們使用的時候,在軟體上可以支援不同的像素格式,比如ARGB888,ARGB555,RGB565等等。也就是說雖然硬體上用了24條資料線,但是軟體上我們可以提供24位資料,也可以隻提供16位資料。當隻提供16位資料時,硬體上24位資料線中會有8條資料線上沒有資料。比如對于RGB565格式,R0R1R2、G0G1、B0B1B2這8條資料線上是不傳輸資料的,恒為0。

本實驗支援ARGB888和ARGB555。

ARGB888:每個像素就占據32位資料,其中最高位元組A表示灰階透明度其餘RGB資料8+8+8=24BPP,因為硬體上根本沒接透明度的資料線,是以透明度的資料沒用上。

ARGB555:每個像素就占據16位資料,其中最高位A表示灰階透明度其餘RGB資料5+5+5=15BPP,但是LCD本身沒有透明度的資料線,是以透明度資料沒用上。

-END-
           

100ask_imx6ull購買位址:

http://100ask.taobao.com (點開第一個海報即可進入)

以後會不定期連載100ASK_IMX6ULL裸機文檔。

是否意猶未盡? 100ASK_IMX6ULL 裸機文檔完整版(600頁)下載下傳

下載下傳方法一,

a.

下載下傳安裝Git Bash工具 :

https://gitforwindows.org/

b.

打開Git Bash,執行指令:

git  clone  https://gitee.com/weidongshan/imx6ull_NoosProgramProject.git
           

大概1分鐘,下載下傳成功後,你會在C:\Users 目錄下,你自己的使用者目錄裡,看到一個imx6ull_NoosProgramProject目錄。

下載下傳方法二,

百度網盤,

連結:

https://eyun.baidu.com/s/3smDzFAH

密碼:LDCn

路徑:

100ask_imx6ull_2020.02.29_v2.0

->10_裸機程式及文檔

嵌入式Linux應用開發完全手冊第2版_韋東山全系列視訊文檔全集.pdf的第四篇 裸機開發 。

我們推薦您使用下載下傳速度更快的GIT下載下傳。

繼續閱讀