Lcd(一)顯示原理

来源:https://www.cnblogs.com/linhaostudy/archive/2019/03/03/10467249.html
-Advertisement-
Play Games

一、LCD控制原理 S5PV210處理器中自帶LCD控制器,控制LCD的顯示,把 LCD 圖像數據從一個位於系統記憶體的 video buffer 傳送到一個外部的 LCD 驅動器介面。 類型: 1. STN(超扭曲向列),它的特點是功耗低,但亮度不足,響應時間長;(1602那種類型的) 2. TFT ...


一、LCD控制原理

S5PV210處理器中自帶LCD控制器,控制LCD的顯示,把 LCD 圖像數據從一個位於系統記憶體的 video buffer 傳送到一個外部的 LCD 驅動器介面。

類型:

  1. STN(超扭曲向列),它的特點是功耗低,但亮度不足,響應時間長;(1602那種類型的)
  2. TFT(薄膜晶體管),它的特點是響應時間短,畫面清晰,但功耗稍高,(自己實驗用的應該是這個類型的,這個類型當作電腦液晶顯示設備)。
  3. LTPS(低溫多晶硅),各方面性能優越,但技術要求高;
  4. OLED(有機發光二極體),各方面性能優越,但技術要求高。

LCD驅動介面支持 3 種介面:

  • RGB 介面:((並行 24 位,串列 8 位)自己用的使這種)
  • indirect-i80 介面
  • UV 介面

SoC如何控制LCD顯示原理:

LCD驅動器:LCD驅動器一般與LCD面板集成在一起,面板需要一定的模擬電信號來控制液晶分子,LCD驅動器晶元負責給面板提供控制液晶分子的模擬電信號,驅動器的控制信號(數字信號)來自於LCD控制器的提供的介面。

  LCD控制器:LCD控制器集成在SoC內部,它負責通過數字介面向外部的LCD驅動器提供要顯示的像素數字信號。它必須按照一定的時序和LCD驅動器通信,LCD控制器受SoC控制,SoC會從記憶體中拿出像素數據給LCD控制器並最終傳給LCD驅動器。

  顯存:SoC在記憶體中選一段記憶體,用來存放顏色數據,然後通過配置將LCD控制器和這一段記憶體連接起來,構成一個映射關係,一旦這個關係建立以後,LCD控制器就會自動從顯存中讀取像素數據傳給LCD驅動器,LCD驅動器會自動的控制每個像素點的液晶分子,以形成最終的圖像,建立這個映射以後就不需要SoC在來參與任何行為了。

總結一下:SoC控制LCD液晶顯示的過程分為兩個部分:

(1) SoC的LCD控制器引出一定的引腳與LCD驅動器連接,按照標準設置一定的時序;

(2) 把LCD要顯示的像素信息放入記憶體中,在通過設置LCD控制器中的寄存器,與LCD控制器建立映射;之後過程就是LCD控制器晶元與驅動器晶元自動完成的事情了,整個LCD圖像的顯示過程就是這樣。

image

S5PV210 的 LCD 控制器支持多種顏色格式,例如

  • RGB (1BPP 到 24BPP)
  • YCbCr 4:4:4 (只有本地匯流排)

1:顯示屏跟記憶體的關係。

我們都買過顯卡,知道買獨立顯卡的好,那麼為什麼獨顯好?

獨顯跟集顯的區別又在哪裡?

獨顯的特點:有獨立記憶體

  • 可以獨立複製內容(DMA控制器)

集顯的特點:跟主板共用記憶體

  • 可以獨立複製內容(DMA控制器)

2:屏幕為什麼能顯示?(集顯)

  1. 在初始化的時候,在記憶體開闢的一片空間作為顯存
  2. 將要顯示的內容寫到顯存上
  3. lcd控制器對顯存進行讀取,然後寫入顯示屏里。

A DMA完成顯示數據的傳輸,不需要CPU執行COPY函數

B LCD控制器向顯示屏提供時序信號、視頻數據、.....

image

二、LCD顯示原理

image

如果需要顯示一滿屏的數據,則數據的大小:80048024bits

  1. 幀同步信號:液晶屏的刷新頻率、垂直同步信號的頻率、場頻率

    幀同步信號= 50Hz~70Hz,典型值:60Hz

  2. 行同步信號的頻率:一幀中有多少行?

行同步信號的頻率 = ( 480 +回掃的行數(45) )* 幀同步信號的頻率

  1. 像素時鐘的頻率:掃描像素點的頻率

像素時鐘頻率 = (800+一行中回掃的像素點(256))*行同步信號的頻率

註意:

  1. 液晶屏的分頻率越大,則VCLK的頻率越高
  2. VCLK的頻率的最大上限:HCLK_DSYS=166MHz
  3. 思考:S5PV210最大可以接多大的液晶屏?

計算:
在800*480的LCD中,VCLK的頻率值:

VCLK = (800+256)(480+45) 60Hz = 33.264MHz

三、LCD的描述參數(液晶屏的選型)

  1. 解析度

    行和列像素點的個數

  2. 尺寸

    有效的顯示區對角線的長度,單位英寸。

  3. 色位

    一個像素點用多少位數據來描述----24bits

  4. 響應時間

    刷新時間---->60Hz(16ms)

    響應時間---->幾ms

  5. 亮度        cd/m**2

    高亮屏:600
    一般屏:250

  6. 對比度    

    白色的亮度/黑色的亮度。
     

  7. 壽命        

    單位:小時    5萬小時

    當液晶屏的亮度降低到出廠亮度的一半的時候,認為壽命到了。
     

  8. 可視角度

    四個方向的可視角度是不對稱的,一般有一個方向是比較差的

四、硬體的設計介面

1、S5PV210 LCD控制器的介面

看一下核心板原理圖:LCD接線為24條VD數據輸出線,用來傳輸RGB888 24位顏色數據,VCLK時鐘線,HSYNC:水平同步信號線;VSYNC:垂直同步信號線,VDEN:數據使能線;

image

image

RGB介面信號:

LCD_HSYNC:

行同步信號,表示一行數據的開始,LCD控制器在整個水平線(整行)數據移入LCD驅動器後,

插入一個LCD_HSYNC信號;

LCD_VSYNC:

幀同步信號,表示一幀數據的開始,LCD控制器在一個完整幀顯示完成後立即插入一個LCD_VSYNC信號,

開始新一幀的顯示;VSYNC信號出現的頻率表示一秒鐘內能顯示多少幀圖像,稱為“顯示器的頻率”

LCD_VCLK:

像素時鐘信號,表示正在傳輸一個像素的數據;

LCD_VDEN: 數據使能信號;

LCD_VD[23:0]: LCD像素數據輸出埠

image

五、英寸液晶屏介面

0xffff

1-11位是功能 剩下的每八位 分別是藍綠紅

image

image

八、LCD的驅動主要做什麼?

  1. 根據液晶屏的特定參數來設置LCD控制器(介面、bpp、......)
  2. 設置液晶屏的同步信號的頻率(VCLK、VSYNC、HSYNC.....)
  3. 設置液晶屏的時序參數(幀的回掃時間、行的回掃時間、同步信號的極性.....)
  4. 設置顯存的位置和大小

九、LCD的時序圖

1、LCD控制器的輸出時序

image

(1)幀的傳輸過程

1)VSYNC信號有效時,表示一幀數據的開始, 信號寬度為 (VSPW + 1)個HSYNC信號周期,即(VSPW + 1)個無效行;

2)VSYNC信號脈衝之後,總共還要經過(VBPD + 1)個HSYNC信號周期,有效的行數據才出現; 所以,在VSYNC信號有效之後,還要經過(VSPW + 1 + VBPD + 1)個無效的行;

3)隨即發出(LINEVAL + 1)行的有效數據;

4)最後是(VFPD + 1)個無效的行;

(2)行中像素數據的傳輸過程

1)HSYNC信號有效時,表示一行數據的開始,信號寬度為(HSPW + 1)個VCLK信號周期,即(HSPW + 1)個無效像素;

2)HSYNC信號脈衝之後,還要經過(HBPD + 1)個VCLK信號周期,有效的像素數據才出現;

3)隨後發出(HOZVAL + 1)個像素的有效數據;         

4)最後是(HFPD + 1)個無效的像素;

(3)將VSYNC、HSYNC、VCLK等信號的時間參數

並將幀記憶體的地址告訴LCD控制器,它即可自動地發起DMA傳輸從幀記憶體中得到圖像數據,最終在上述信號的控制下出現在數據匯流排VD[23:0]上。用戶只需要把要顯示的圖像數據寫入幀記憶體中。

2、LCD液晶屏輸入時序

image

image

image

十、相關寄存器

寄存器:DISPLAY_CONTROL 設置為10或11;RGB模式可行即可;
image

VIDCON0:Video Main Control 0 Register

bit28-26視頻輸出格式,設為RGB模式

image

bit18:設置RGB數據傳輸方式為並行還是串列,因為有24根數據線所以為並行;

image

bit2選擇時鐘源,選HCLK 連的是HCLC_DSYS 為166MHz

image

bit4:開啟分頻;

image

bit13-6設置時鐘大小,時鐘頻率要小於控制器的最大時鐘,也要小於LCD驅動器的最大時鐘。

image

bit0 bit1為使能控制信號都使能

image

VIDCON1寄存器 Video Main Control 1 Register

bit5 bit6設置HSYNC和VSYNC的極性,如果LCD的高低電平脈衝是相同的話,則Normal,如果極性相反則Invert。

image

VIDTCON0:設置時序,根據LCD數據手冊中的時序來設置,結合“LCD控制器的輸出時序”

image

VIDTCON1

image

VIDTCON2
image

WINCON0寄存器

bit1:使能window0

image

bit5-2選擇RGB888模式 1011

image

bit15:設置輸出順序為 red green blue還是 blue green red  設置為1:BGR 設置為0:RGB

image

VIDOSD0A VIDOSD0B這兩個寄存器是用來設置記憶體中window0大小;

比如設置為LCD屏幕的尺寸(即左上坐標為(0, 0) 右下坐標為(799, 479))

image

image

VIDOSD0C也是設置記憶體中window0的大小

比如設置為LCD屏幕的尺寸=800*480

image

VIDW0xADD0Bx設置記憶體中window0的起始地址的

image

VIDW0xADD1Bx設置記憶體中window0的結束地址的

image

SHODOWCON寄存器來設置虛擬windows顯示的;

以下位可以分別設置哪個windows顯示;

image

補充:看核心板、地板原理圖相應引腳要設置為LCD的引腳模式,LCD背光要打開;


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 微軟拋棄了System.Data.OracleClient,在VS2012中使用 System.Data.OracleClient連接ORACLE資料庫就會出現異常,本文介紹了在VS2012中直接引用Oracle.ManagedDataAccess.dll庫文件連接訪問ORACLE資料庫。 ...
  • 大家好,這篇文章,我將向大家介紹ASP.NET MVC的模型視圖綁定,ASP.MVC的模型綁定分為兩種:一種是動態綁定【Dynamic Binding】;還有一種就是強類型綁定【Strongly typed binding】;【PS--上一篇文章:3.怎樣將ASP.NET MVC應用程式發佈到IIS ...
  • 大家好,上一篇對ASP.NET MVC 有了一個基本的認識之後,這一篇,我們來看下怎麼從頭到尾創建一個ASP.NET MVC 應用程式吧。【PS:返回上一篇文章:1.開始學習ASP.NET MVC】 第一步:開打VS2017,選擇【文件】-->【新建】-->【項目】,然後在彈出來的方框中,按照下麵的 ...
  • 調試機:win10 1809 虛擬機: win7 windbg屬性設置,在目標後面加上紫色字體參數: "D:\Program Files\Debugging Tools for Windows (x64)\windbg.exe" -b -k com:port=\\.\pipe\com_1,baud= ...
  • 我們常常為了一些軟體啟動的方便,將一些軟體的文件夾指定到系統的環境變數中,這樣就不需要到指定軟體的bin目錄,運行目錄下啟動(類似於JAVA,Python,Node等命令),直接Win+R、或者cmd直接就可以啟動,但是隨著一個個目錄的添加導致系統的環境變數超出了1024B,這時系統就會發出警告。 ...
  • 早在 20 世紀 70 年代,UNIX 系統是開源而且免費的。但是在 1979 年時,AT&T 公司宣 布了對 UNIX 系統的商業化計劃,隨之開源軟體業轉變成了版權式軟體產業,源代碼被當作 商業機密,成為專利產品,人們再也不能自由地享受科技成果。 於是在 1984 年,Richard Stallm ...
  • Linux內核地址映射模型 x86 CPU採用了段頁式地址映射模型。進程代碼中的地址為邏輯地址,經過段頁式地址映射後,才真正訪問物理記憶體。 段頁式機制如下圖。 Linux內核地址空間劃分 通常32位Linux內核地址空間劃分0~3G為用戶空間,3~4G為內核空間。註意這裡是32位內核地址空間劃分,6 ...
  • 問題: 在使用 WRK 對應用服務進行壓測的時候,提示 "too many open files" 信息,導致無法啟動測試。 原因: CentOS 7.x 預設的打開文件數目限製為 ,如果在使用其他軟體出現 "too many open files" 的錯誤。 解決: 只需要更改 文件裡面的內容,增 ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...