最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會員登陸 & 注冊

這絕對是最2的IMX6ULL開發(fā)板!

2020-04-22 11:48 作者:韋東山  | 我要投稿


為什么這么說呢?
因為它有別家的:
2倍的裸機文檔!

2倍的裸機實驗!

卻是2分之1的價格!

自從去年我們發(fā)布了100ASK_IMX6ULL 0利潤開發(fā)板后,

開啟了一個新模式:

0利潤開發(fā)板吸引客戶,

入門視頻全部免費服務(wù)大眾,

獨家視頻才收費。

硬件質(zhì)量久經(jīng)考驗,即使是最專業(yè)的硬件工程師,也認可我們的設(shè)計和用料;

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

但是,

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

600頁裸機文檔已經(jīng)發(fā)布,

近30板上、板外模塊,

每一章節(jié)都是韋老師修改,保證質(zhì)量;

來,看看我們的文檔,

就說LCD吧,

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

可能很多人都知道:HSYNC是行同步信息,VSYNC是列同步信號。

同步?行?列?

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

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


跟著韋老師,媽媽再也不用擔(dān)心我的嵌入式學(xué)習(xí)了!

100ask_imx6ull購買地址:
100ask.taobao.com?(復(fù)制到瀏覽器,點開第一個海報即可進入)

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的價格:標(biāo)配369起(轉(zhuǎn)發(fā)朋友圈),我們不掙硬件錢,所以當(dāng)然0利潤。

下面分享100ASK_IMX6ULL裸機文檔第15章LCD編程之100ASK_IMX6ULL硬件原理

內(nèi)容包括

1.1?LCD硬件工作原理簡介

1.2?RGB接口的LCD硬件連接信號

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

1.3.1?LCD關(guān)鍵特性

1.3.2 行時序

1.3.3 列時序
1.3.4 DE模式

1.3.5 RGB數(shù)據(jù)的存放形式

下面分別羅列。

1.1?LCD硬件工作原理簡介




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


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

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


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

答:有三組紅,綠,藍信號線(RGB),連接屏幕,由這三組信號線(RGB)傳遞顏色


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

答:有一條水平同步信號線(HSYNC),連接屏幕,當(dāng)接收到水平同步信號(HSYNC),電子槍就跳到下一行的最左邊


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

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


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

答:有一條RGB數(shù)據(jù)使能信號線(DE),連接屏幕,當(dāng)接收到數(shù)據(jù)使能信號線(DE),電子槍就知道這時由這三組信號線(RGB)確定的顏色是有效的,可以發(fā)射到該像素點。

下圖是開發(fā)板,LCD控制器,LCD屏幕的框圖


之前提到的像素時鐘(DCLK), 三組紅,綠,藍信號線(RGB),水平同步信號線(HSYNC),垂直同步信號線(VSYNC),RGB數(shù)據(jù)使能信號線(DE)都是從LCD控制器發(fā)出的,只要開發(fā)板支持LCD顯示,它肯定就會有一個LCD控制器。

問題6:RGB三組信號線上的數(shù)據(jù)從何而來?


上圖是RGB數(shù)據(jù)來源框圖,內(nèi)存中劃出一部分區(qū)域,這塊區(qū)域被稱為Framebuffer。在Framebuffer里面我們會構(gòu)造好每一個顏色所對應(yīng)的像素。Framebuffer中的值會被LCD控制器讀出來,通過RGB三組線傳給電子槍,電子槍再把它轉(zhuǎn)換成紅綠藍三種顏色打到屏幕上。在屏幕上的每一個像素,在Frambuffer里面都有一個對應(yīng)存儲空間,里面存有屏幕上對應(yīng)像素的顏色。

LCD控制器會周而復(fù)始的從Framebuffer中取出一個個像素的顏色值,發(fā)給電子槍,同時需要和DCLK,VSYNC,HSYNC,DE這些信號配合好。

1.2 RGB接口的LCD硬件連接信號

本次實驗編程的屏幕屬于RGB接口的顯示屏,RGB接口的顯示屏至少具備以下信號:

① 像素時鐘信號(DCLK)

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


② RGB數(shù)據(jù)信號(R[0:7] ,G[0:7],B[0:7])

三組信號線組成,分別代表R(紅色),G(綠色),B(藍色),這三組信號中的每一組都會有8根信號,三組共同組成24根線來控制顏色數(shù)據(jù)。

有些LCD只需要16位顏色(RGB565),可以只使用8條紅色數(shù)據(jù)線中的高5位,其余3位懸空;只使用8條綠色數(shù)據(jù)線中的高6位,其余2位懸空;只使用8條藍色數(shù)據(jù)線中的高5位,其余3位懸空。


③ RGB數(shù)據(jù)使能信號(DE)

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

在HV模式下,需要用到HS與VS來控制刷新。比如對于分辨率為1024x600RGB的LCD,LCD控制器發(fā)出HS信號后,就會發(fā)出1024個DCLK,在每個DCLK上傳輸像素數(shù)據(jù);當(dāng)發(fā)出600個HS信號后,就會發(fā)出一個VS信號。

在DE模式下,需要用到DE信號來控制刷新,比如對于分辨率為1024x600RGB的LCD,LCD控制器發(fā)出DE信號后,就要發(fā)出1024個DCLK,在每個DCLK上傳輸像素數(shù)據(jù);當(dāng)發(fā)出600個DE信號,刷新完一幀數(shù)據(jù)后,又從第1行開始掃描。

編寫LCD程序時,一般都會兼容兩種模式,所以程序中會設(shè)置這3個信號:數(shù)據(jù)使能信號(DE),垂直同步信號(HS),水平同步信號(VS)。

④ 水平同步信號

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


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

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


⑥ LCD背光電源控制信號

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

背光電路可以用GPIO引腳控制,輸出高低電平表示亮滅,只有亮滅兩種狀態(tài);也可以用PWM引腳來控制,它可以輸出占空比不同的方波,根據(jù)占空比來調(diào)節(jié)LCD的亮度,更加精細。


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

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

嵌入式設(shè)備中一般都采用TFT材質(zhì)的液晶屏,如遇到別的材質(zhì)的屏幕,操作方法也是相似的,可能稍微有些差異,針對差異去做修改即可,7寸1024600TN-RGB液晶屏幕接口引腳如下圖,一些關(guān)鍵的引腳做了注釋。


1.3.1 LCD關(guān)鍵特性

1.3.1.1 行時序


接下來我們查看下100ASK_7.0寸LCD手冊時序圖(在資料光盤/06_Datasheet(數(shù)據(jù)手冊)->Extend_modules->7寸LCD模塊.zip->7.0-13SPEC(7寸1024600TN-RGB).pdf):



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

電子槍當(dāng)打完一行的最后一個數(shù)據(jù)后,就會收到Hsync行同步信號,如上圖可知該LCD的Hsync有效脈沖為低脈沖,根據(jù)時序圖,一個行周期可以大致分為四部分組成:

① thp:horizontal pulse

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

② thb:horizontal back porch

③ thf:horizontal front porch

Hsync信號發(fā)出后,電子槍從最右端移動到最左端,這是需要時間的:這個移動的時間就是thb。

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

④ thd:horizontal data

thd為數(shù)據(jù)有效區(qū),假設(shè)一行的有效像素個數(shù)為x。


1.3.1.2 列時序


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

電子槍打完一幀的最后一個數(shù)據(jù)后,就會收到Vsync行同步信號。根據(jù)時序圖,一幀的周期可以大致分為四部分組成:

① tvp:vertical pulse

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

② tvb:vertical back porch

③ tvf:vertical front porch

Vsync信號發(fā)出后,電子槍從最底端移動到最上端,這是需要時間的:這個移動的時間就是tvb。

在電子槍移動的過程中,Hsync信號會一直有,但是RGB上沒有有效的數(shù)據(jù)。假設(shè)一幀信號里,含有有效數(shù)據(jù)的第1個Hsync信號發(fā)生時間稱為T1;一幀里,最后一行有效數(shù)據(jù)的下一個Hsync信號發(fā)生的時間稱為T2。

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

④ tvd:vertical data

tvd為數(shù)據(jù)有效區(qū),假設(shè)一幀數(shù)據(jù)里的有效行數(shù)為y。

LCD的分辨率是:x*y。


1.3.1.3 DE模式


RGB數(shù)據(jù)有效信號(DEN),高電平表示數(shù)據(jù)有效。

根據(jù)以上信息大致了解幾個關(guān)鍵信號的時序和極性,后面章節(jié)會詳細介紹。


再根據(jù)上圖,我們就可以確定像素時鐘是51.2Mhz。


1.3.1.4 RGB數(shù)據(jù)的存放形式

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

本實驗支持ARGB888和ARGB555。

ARGB888:每個像素就占據(jù)32位數(shù)據(jù),其中最高字節(jié)A表示灰度透明度其余RGB數(shù)據(jù)8+8+8=24BPP,因為硬件上根本沒接透明度的數(shù)據(jù)線,所以透明度的數(shù)據(jù)沒用上。

ARGB555:每個像素就占據(jù)16位數(shù)據(jù),其中最高位A表示灰度透明度其余RGB數(shù)據(jù)5+5+5=15BPP,但是LCD本身沒有透明度的數(shù)據(jù)線,所以透明度數(shù)據(jù)沒用上。

-END-

100ask_imx6ull購買地址:
100ask.taobao.com?(點開第一個海報即可進入)
以后會不定期連載100ASK_IMX6ULL裸機文檔。
是否意猶未盡? 100ASK_IMX6ULL 裸機文檔完整版(600頁)下載

下載方法一,

a.

下載安裝Git Bash工具 :

gitforwindows.org/

b.

打開Git Bash,執(zhí)行命令:

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


大概1分鐘,下載成功后,你會在C:\Users 目錄下,你自己的用戶目錄里,看到一個imx6ull_NoosProgramProject目錄。


下載方法二,

百度網(wǎng)盤,

鏈接:

eyun.baidu.com/s/3smDzF

密碼:LDCn


路徑:
100ask_imx6ull_2020.02.29_v2.0

->10_裸機程序及文檔

嵌入式Linux應(yīng)用開發(fā)完全手冊第2版_韋東山全系列視頻文檔全集.pdf的第四篇 裸機開發(fā) 。

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

歡迎加群討論:




這絕對是最2的IMX6ULL開發(fā)板!的評論 (共 條)

分享到微博請遵守國家法律
辽中县| 阳东县| 武夷山市| 玛曲县| 申扎县| 仙桃市| 阳泉市| 兴宁市| 雷山县| 汉沽区| 岱山县| 兰溪市| 襄樊市| 龙川县| 五台县| 区。| 甘南县| 南丰县| 三穗县| 辛集市| 连州市| 南开区| 绥德县| 开封市| 当阳市| 肥东县| 广昌县| 浦江县| 云霄县| 巴彦淖尔市| 当阳市| 奇台县| 沭阳县| 革吉县| 鄂伦春自治旗| 鹤岗市| 滕州市| 民勤县| 南康市| 广汉市| 凤山县|