隨著顯示技術的不斷發展, 真彩色液晶顯示器以其高解析度的優勢,在PCB嵌入式顯示系統中逐漸佔據重要地位, 高對比, 和高清晰度. 現時, 基於PCB嵌入式平臺的LCD控制器的設計和開發主要有兩種實現管道:ARM嵌入式LCD控制器和獨立控制裝置. 然而, 這兩種實現都有缺點. 嵌入式控制器的使用可能會新增 PCB處理器 並限制顯示畫面播放速率. 外部PCB控制設備不僅成本高昂, 但也非常具體, 這很難. 適應不同類型的LCD荧幕.
針對這一問題,本文提出了一種基於ARM和FPGA的LCD控制器的設計方案。 一方面,該設計方案可以通過在LINUX作業系統下操作幀緩衝區設備來提高視頻記憶體的寫入速率,减少處理器的負擔。 一方面,採用FPGA實現LCD控制器的設計,開發週期短、功耗低、可移植性强,可應用於不同的中小型LCD荧幕。
該系統主要由微控制器、FPGA(LCD控制器)、存儲單元和週邊介面組成。 系統框圖如圖1所示。
系統工作過程:在FPGA內部時序生成電路產生的時序控制訊號的作用下,LCD控制器通過幀緩衝介面從微控制器讀取顯示所需的數據,並將其存儲在顯示緩衝SRAM中。 同時,液晶顯示器從顯示記憶體SRAM讀取顯示數據,並通過數據格式轉換電路直接實时顯示數據資訊。
LCD控制器基於FPGA實現。 該程式使用Altera的Cvclone(hurricane)系列EPlC6Q240。 FPGA具有高速資料傳輸I/O介面,可以實現高速顯示記憶體讀取率,大大提高LCD顯示的畫面播放速率。 同時,FPGA是一種可程式設計邏輯器件,可以實現複雜的邏輯操作並提供複雜的控制時序。 液晶顯示器採用LQ035Q3DG01型TFT-LCD液晶顯示器,分辯率為320倍; 240,影像訊號為RGB格式。
因為SRAM具有更高的讀寫速度, 此的顯示緩存 PCB設計 該方案使用1塊容量為512 KB的IS61LV51216AL SRAM,讀寫速度約為10ns. And the size of displaying a frame of image is 125 KB (320x240x2/l024), FPGA對顯示記憶體的讀寫速度約為200納秒, 囙此滿足系統要求.
控制器設計開發的主控制單元採用ATMEL公司的AT9lRM9200(簡稱9200)作為微控制器。 PCB處理器基於ARM920T內核,工作頻率為180 MHz。 效能可以達到200mi/s,系統採用開源LINUX作業系統。 然而,作為系統的控制終端,ARM9需要完成資訊收集、處理和外部通信等多項任務。 如果LCD控制器也從記憶體中讀取數據進行顯示,這將加重處理器的負擔並减少顯示緩存。 讀取數據的速率會影響LCD的實时顯示。 囙此,本文提出了一種在LINUX作業系統下基於幀緩衝區介面的應用方法,大大提高了從顯示記憶體中讀取數據的速率,從而提高了整個顯示系統的實时效能。 圖3顯示了AT91RM9200介面電路連接。
系統的軟體設計主要分為兩部分:基於FPGA的LCD控制器設計和LINUX作業系統下的幀緩衝驅動程序設計。
本設計的LCD控制器主要由緩存讀寫、MCU介面和LCD定時控制等模塊組成。
根據TFT-LCD顯示原理,顯示所需的主要控制訊號包括點數時鐘訊號、線/場同步PCB訊號和使能訊號。 該方案的顯示幕分辯率為320x240,需要將LCD顯示幕的刷新頻率設計為60 Hz,即場同步訊號(VSYNC)為60 Hz。 由線路同步訊號組成,則線路同步訊號的週期為1/(60x240)s,然後線路同步訊號(HSYNC)為15 kHz。 同樣,點數時鐘訊號(CK)為5MHz。
FPGA的內寘鎖相環IP模塊(PLL)用於將FPGA 50 MHz時鐘訊號F_CLK除以10,得到5 MHz點數時鐘訊號。 採用狀態機方法,用Verilog硬體描述語言設計時序控制模塊,提供滿足LCD時序要求的PCB控制訊號VSYNC、HSYNC和ENAB。 PCB設計完成後,在QuatuslI環境下完成時序模擬,得到的模擬結果滿足時序要求。
SRAM是一種視頻存儲模塊. 可以看出 PCB數據 LCD控制器和微控制器之間的傳輸在ARM時鐘的控制下讀取, 當LCD荧幕在點數時鐘訊號CK的控制下從SRAM讀取數據時 . 針對以下問題: PCB數據 不同時鐘域之間的傳輸, 該方案採用FPGA設計實現非同步FIFO來完成.