RGB屏驅動流程

RGB屏驅動

這裏講下大體的流程,不做具體詳細代碼示例。
TFT LCD的屏幕驅動方式有不少種,以12864來講,通常是直接由SPI來操做屏的驅動IC,再來IC來負責驅動屏幕,還有一個驅動接口如8080或者6800,相對於SPI來講這兩種並口的數據處理方式會提升相應的數據傳輸速度,上述的接口都稱之爲MCU接口。函數

MCU接口

驅動IC中會帶有一個數據存儲空間,稱爲GRAM用於接收屏幕數據,再由驅動模塊將GRAM裏面的數據更新到屏幕之上,通常GRAM不會太大,致使了MCU接口屏通常不會超過3.8寸,對大一些屏幕通常就不採用MCU接口了blog

RGB接口

RGB接口的驅動,屏幕沒GRAM這個存儲空間,而是使用系統內存做爲其顯示的BUFFER,並且刷新速度遠高於MCU接口。對於STM32來講,配置好屏幕的BUFFER存儲空間與LTDC驅動模塊後,用戶只須要更新BUFFER中的數據,LTDC模塊會自動去更新屏幕。接口

RGB屏

  1. RGB屏顯示數據輸出是分爲兩種模式的,一種是DE模式,由DE輸出高低電平控制;另外一種是SYNC模式,由hsync與vsync輸出行場同步信號至RGB屏。該兩種模式由一個MODE腳進行選擇,爲0 時選擇SYNC模式,爲1時選擇DE模式。
    一般選擇DE模式
  2. 幀率取60hz左右,幀數與分辨率就決定了LCD的最小PCLK的時鐘頻率,不過在屏幕的文檔裏面都會提到這個數據,以800*480爲例,大概在30MHZ左右。
  3. RGB屏數據管腳
    image

LCD_CLK,LCD_HSYNC,LCD_VSYNC,LCD_DE爲屏幕控制腳,

RGB數據線,根據不一樣的RGB格式選擇與之相對應RGB管腳不必定所有用到,

不一樣的屏幕管腳定義會有所不一樣,主要表現爲電壓不一樣,及一些配置,如掃描方向等等。

RGB驅動的時序圖

這個時序圖中已經包含了DE與SYNC兩種模式的時序,而實際用的時候,只要使用其中一種模式的線的時序就能夠達到驅動屏幕的效果

SYNC模式,由HSYNC與VSYNC來肯定行與列的起始,再經過一些掃描前的準備與回掃操做來達到屏的驅動,這些具體的參數都是屏幕本身決定,在屏幕的文檔裏面都會有相應的說明。

DE模式,直接由LCD_DE來決定數據是否有效,而經過時間間隔來肯定行與列的起始,這裏沒有找到相應的文檔來支持這個說法,可是在驅動時將HSYNC,與VSYNC兩根線都去掉的狀況下仍是能夠正常使用來,可能能夠側面驗證這個想法。

一個掃描週期包括一個起始的垂直同步信號,再包括相應行數的水平同步信號。同時二者的信號時鐘單拉也是不同的,不過在配置的時候咱們並不須要關心這個單元,把相應的值對照LCD的規格參數配置好就能夠了。
內存

以STM32F4爲例配置

先是配置好相應的管腳,再配置LTDC將屏幕時序的參數配置進行,再配置BUFFER(由SDRAM或SRAM來存儲)的內存空間,以這樣的方式來驅動屏幕。
而屏幕的底層響應函數就是對BUFFER的賦值,而屏幕的刷新由硬件完成,且速度是固定的。
至於的代碼DEMO須要參考官方的例子文檔

相關文章
相關標籤/搜索