基于FPGA的液晶顯示驅動IP核的實現
出處:王 騫,丁鐵夫 發(fā)布于:2007-09-24 15:06:47
關鍵詞:液晶顯示;FPGA ;驅動電路
引 言
液晶顯示驅動有多種方法,通常采用的方法為基于專用集成電路的方法和基于通用微處理器的方法。本文研究了一種基于FPGA (EP1K30QC208-3)的液晶顯示驅動方法,與專用集成電路比, FPGA 更靈活;與通用微處理器相比, FPGA 的速度更快。利用硬件描述語言,編制了液晶顯示驅動的IP核,開發(fā)了32×32 可變寬度像素點的液晶顯示驅動電路,指出,基于FPGA的驅動方法能夠滿足液晶顯示驅動時序上的要求,且具有控制靈活的特點,在外擴片外SRAM 或SDRAM 后,容易移植在更多可變寬度像素點的液晶顯示器的驅動上。因FPGA 液晶顯示驅動器的像素時鐘為25.175MHz ,普通的單片機難以滿足要求,故選用ALTERA 公司的ACEX 系列FPGA 作為驅動電路的部件。FPGA即現場可編程門陣列器件,是一種超大規(guī)模集成電路,具有在電路可重配置能力(in circuit reconfigurable , ICR) 。設計者設計的邏輯在編譯、適配后變成網絡表,到FPGA 芯片上之后, FPGA 即可執(zhí)行設計邏輯的功能。因此,FPGA 非常適合于進行快速原型設計,設計者可完全控制產品開發(fā)過程中由邏輯設計到終產品的全過程。
設計與實現
本液晶顯示屏采用了商用的CJM10C11 系列TFT 液晶顯示屏,該顯示屏是一種用非晶硅作為開關器件的有源矩陣液晶顯示器,其接口為TTL 電平,分辨率為640×480 像素,像素尺寸為100μm×300μm ,灰度級為64級灰度,用18bit數據信號能顯示262144 色。

圖1 液晶顯示驅動系統總體框圖
液晶顯示驅動電路總體框圖如圖1 所示。驅動電路通過串口和上位機進行通訊,數據通過串口傳輸到FPGA 的片上ROM 中,傳輸結束后FPGA 上的液晶顯示驅動電路開始工作,控制信號發(fā)生器產生控制信號及地址, 并將由片上ROM 讀出的各可變寬度像素點的灰度值送LCD顯示器顯示。在本方案中,與上位機的串行接口、片上ROM、像素時鐘發(fā)生器以及控制信號發(fā)生器都是在一片FPGA (ACEX1 K30) 上實現的。
ACEX 系列的FPGA 由排成行和列的邏輯陣列塊LAB (logic array block) 、每行之中嵌入的嵌入式陣列塊EAB (embedded array block) 、快速互連以及IO 單元構成。每個邏輯陣列塊包含8 個邏輯單元LE (logic element ) 和一個局部互聯。每個邏輯單元則由一個4 輸入查找表(LUT) ,一個可編程觸發(fā)器,快速進位鏈、級連鏈組成,多個LAB和多個EAB通過快速通道互相連接。嵌入式陣列塊是ACEX 系列器件在結構設計上的一個重要部件。它是輸入端口和輸出端口都帶有觸發(fā)器的一種靈活的RAM塊,其主要功能就是實現一些規(guī)模不太大的FIFO、ROM、RAM 和雙端口RAM 等。
在本液晶顯示驅動電路中,主要用宏功能模塊實現片上ROM ,它調用FPGA 上的EAB 資源實現灰度數據的存儲,用普通的邏輯單元存儲坐標值,實現可變寬度像素的像素寬度存儲。在ACEX1K30 中,共有6塊4096 位的EAB 資源,可實現45×45 可變寬度像素的18 bit 灰度顯示。另外,在綜合時,計數器、加法器等邏輯器件能夠調用FPGA 上的快速進位鏈等資源,提高設計的性能。液晶顯示器顯示方案如圖2所示,整個圖像分為消隱區(qū)和可視區(qū),在可視區(qū)中劃分出32×32可變寬度像素的控制顯示區(qū),每個可變寬度像素中是由n×n個像素構成的。當掃描點位于可視區(qū)內,控制顯示區(qū)外時,所顯示的灰度為0;當掃描信號進入控制顯示區(qū)后,根據控制信號發(fā)生器所產生的地址值,由ROM 中讀取灰度值,送LCD顯示器進行顯示??刂骑@示區(qū)在可視區(qū)中的坐標以及每個可變寬度像素的寬度,即行或列方向上的像素數都是獨立可調的,具有很強的靈活性。

圖2 液晶顯示器顯示方案
像素時鐘發(fā)生器
像素時鐘發(fā)生器是LCD 液晶顯示器驅動IP核中顯示和控制信號發(fā)生器的基準。該顯示屏的時序信號為由水平和垂直視頻時序組合而成的復合視頻時序。像素時鐘頻率為25.175MHz ,像素時鐘周期為39.72ns ,行顯示時間為640個時鐘周期,行消隱時間為160個時鐘周期,每個視頻行為800 個時鐘周期,幀顯示時間為480個視頻行周期,幀消隱時間為45個視頻行周期。在FPGA中,將像素時鐘發(fā)生器和控制信號發(fā)生器組合在同一個控制模塊WF 中,用硬件描述語言VHDL實現了該液晶顯示驅動IP 核,如圖3 所示。CLK腳接25.175 MHz 晶振,產生液晶顯示屏所需要的像素時鐘??刂菩?、幀顯示及消隱的二進制計數器在行、幀消隱期間復位,在行、幀顯示期間開始工作,并產生控制信號發(fā)生器所需要的信號。

圖3 液晶顯示器驅動IP核
控制信號發(fā)生器
控制信號發(fā)生器主要的部分是地址產生器,它根據水平和垂直顯示及消隱計數器的值產生控制信號,其狀態(tài)機如圖4 所示。液晶顯示驅動器驅動電路工作后,首先由ROM中讀入控制顯示區(qū)的參照點坐標、控制顯示區(qū)每行中的可變寬度像素數、可變寬度像素的寬度等數據,在水平顯示及垂直顯示時間, 將水平顯示與垂直顯示計數器中的值與這些數據進行比較,判定是否進入控制顯示區(qū)域,需要進行顯示。如未進入控制顯示區(qū)域,即Ent = 0 ,則灰度值為0 ,若Ent = 1 則水平、垂直的可變寬度像素計數器和像素計數器開始計數,如垂直的像素計數器Vis、水平的可變寬度像素計數器Hsb 和水平的像素計數器His 都為零,則表示已掃描到一行可變寬度像素的一個像素,觸邊計數器Rre計數值加1 。根據觸邊計數器、水平可變寬度像素計數器以及每行中的可變寬度像素數(為常數,本文中為32) ,可確定地址Addr的值。通過此地址即可由ROM 中讀出灰度值,送到TFT 液晶顯示屏后就可以控制每個可變寬度像素的灰度值,即加在每個像素的兩極的電壓,從而實現可變坐標、可變像素寬度、可變灰度的顯示。

圖4 控制信號發(fā)生器狀態(tài)機
液晶顯示驅動IP 核的仿真結果如圖5 所示,其中enab 為復合同步信號,fsyn 為幀同步信號。該IP 核在QuartusII 4.2 下編譯通過,占用1K30-3中的458個LE ,時鐘頻率為25.71 MHz ,滿足設計要求。
圖5 幀、行時序仿真結果
結 語
本方案以FPGA 為,實現了液晶顯示器驅動IP 核,整個系統控制靈活,結構緊湊。當然,對于規(guī)模更大的方案,如100×100 像素等,可用片外SRAM 或SDRAM 代替片上ROM。另外,若液晶屏的分辨率更高,如800×600 ,此時像素時鐘為50 MHz ,可用線性反饋移位寄存器型計數器(LFSR Counter) 代替二進制計數器,以取得更好的顯示效果。
參考文獻:
[1]. TTL datasheet http://m.58mhw.cn/datasheet/TTL+_1174409.html.
[2]. ROM datasheet http://m.58mhw.cn/datasheet/ROM+_1188413.html.
[3]. Hsb datasheet http://m.58mhw.cn/datasheet/Hsb+_1929560.html.
上一篇:摩托車防盜報警器 (五)
版權與免責聲明
凡本網注明“出處:維庫電子市場網”的所有作品,版權均屬于維庫電子市場網,轉載請必須注明維庫電子市場網,http://m.58mhw.cn,違反者本網將追究相關法律責任。
本網轉載并注明自其它出處的作品,目的在于傳遞更多信息,并不代表本網贊同其觀點或證實其內容的真實性,不承擔此類作品侵權行為的直接責任及連帶責任。其他媒體、網站或個人從本網轉載時,必須保留本網注明的作品出處,并自負版權等法律責任。
如涉及作品內容、版權等問題,請在作品發(fā)表之日起一周內與本網聯系,否則視為放棄相關權利。
- 什么是氫氧燃料電池,氫氧燃料電池的知識介紹2025/8/29 16:58:56
- SQL核心知識點總結2025/8/11 16:51:36
- 等電位端子箱是什么_等電位端子箱的作用2025/8/1 11:36:41
- 基于PID控制和重復控制的復合控制策略2025/7/29 16:58:24
- 什么是樹莓派?一文快速了解樹莓派基礎知識2025/6/18 16:30:52









