《電子技術應用》
您所在的位置:首頁 > 顯示光電 > 設計應用 > 基于ARM與FPGA的LCD控制器設計
基于ARM與FPGA的LCD控制器設計
摘要: 提出一種基于ARM與FPGA的LCD控制器設計方案,該設計方案一方面能夠通過操作LINUX OS下的Framebuffer設備提高顯存的寫入速率及減輕處理器的負擔,另一方面用FPGA來實現LCD控制器的設計,開發周期短、功耗低,同時具有靈活的移植性,可應用于不同中小尺寸的液晶顯示屏。
Abstract:
Key words :

隨著顯示屏技術的不斷發展,真彩液晶顯示屏以其高分辨率、高對比度及高清晰度等優勢逐漸在嵌入式顯示系統中占據重要地位。目前,基于嵌入式平臺的LCD顯控技術的實現主要有兩種方式:ARM內嵌LCD控制器和獨立的控制器件。但是這兩種實現方式都存在著不足之處,內嵌控制器的使用可能增大處理器的負擔和限制顯示幀率,而外部控制器件不僅成本高,而且專用性比較強,很難適應不同類型的液晶屏。

據此存在的問題,這里提出一種基于ARM與FPGA的LCD控制器設計方案,該設計方案一方面能夠通過操作LINUX OS下的Framebuffer設備提高顯存的寫入速率及減輕處理器的負擔,另一方面用FPGA來實現LCD控制器的設計,開發周期短、功耗低,同時具有靈活的移植性,可應用于不同中小尺寸的液晶顯示屏。

1 系統組成及工作原理

系統主要有微控制器、FPGA(LCD控制器)、存儲單元以及外設接口組成,系統組成框圖如圖1所示。

系統的工作流程:在FPGA內部的時序發生電路所產生的時序控制信號作用下,LCD控制器通過Framebuffer接口從微控制器讀出顯示所需的數據存入顯示緩存SRAM中。同時LCD顯示屏從顯存SRAM中讀取顯示數據,并通過數據格式轉換電路直接將數據信息實時顯示。

2 系統硬件設計

2.1 LCD控制器

LCD控制器是基于FPGA實現的。本方案采用Altera公司的Cvclone(颶風)系列EPlC6Q240。FPGA具有高速的數據傳輸I/O接口,可實現高速的顯存讀取速率,大大提高LCD顯示的幀率。而同時FPGA是可編程邏輯器件,可實現復雜的邏輯運算及提供復雜的控制時序。LCD顯示屏采用LQ035Q3DG01型的TFT-LCD液晶顯示屏,分辨率為320×240,圖像信號為RGB格式。

由于SRAM有較高的讀寫速度,該設計方案的顯示緩存采用1片IS61LV51216AL型SRAM,其容量為512 KB,讀寫速度為10ns左右。而顯示一幀圖像的大小為125 KB(320x240x2/l024),FPGA對顯存的讀寫速度約為200 ns,因此滿足系統要求。圖2為LCD控制器電路連接圖。

2.2 ARM9微控制器

該系統設計的主控單元采用ATMEL公司的AT9lRM9200(簡稱9200)作為MCU,該處理器是基于ARM920T內核,工作主頻為180 MHz。性能可達到200 MI/s,系統采用開源的LINUX OS。但是ARM9作為系統的控制終端,需要完成信息采集、處理以及與外部通信等多項工作,而LCD控制器如果也要從內存中讀出數據顯示,這就會造成處理器負擔,從而降低顯示緩存讀入數據的速率,影響LCD的實時顯示。因此這里提出一種基于LINUX 0S下的Framebuffer接口的應用方法,大大提升顯存讀入數據的速率,從而提升整個顯示系統的實時性。圖3為AT91RM9200接口電路連接。

3 系統軟件設計

系統的軟件設計主要分為基于FPGA的LCD控制器設計與LINUX OS下Framebuffer驅動程序設計2部分。

3.1 LCD控制器設計

3.1.1 LCD控制器組成

該設計方案的LCD控制器主要由緩存讀寫、MCU接口及LCD時序控制等模塊組成,具體組成如圖4所示。

3.1.2 LCD控制器設計原理

由TFT-LCD液晶屏顯示原理可知,顯示所需的主要控制信號有像素時鐘信號、行/場同步信號以及使能信號。該方案的顯示屏分辨率為320x240,要求設計液晶顯示屏的刷新頻率為60 Hz,即場同步信號(VSYNC)為60Hz,刷新一屏所需時間為1/60 s,而一場則由240個行同步信號組成,那么一個行同步信號的周期為1/(60x240)s,即可得行同步信號(HSYNC)為15 kHz。同理可得像素時鐘信號(CK)為5MHz。

采用FPGA內置的鎖相環IP模塊(PLL)將FPGA 50 MHz時鐘信號F_CLK 10分頻為5 MHz的像素時鐘信號。應用狀態機方法,用Verilog硬件描述語言設計時序控制模塊,它為LCD提供滿足時序要求的控制信號VSYNC、HSYNC以及ENAB。設計完成后在QuatuslI環境下完成時序仿真,得到的仿真結果滿足時序要求,仿真圖如圖5所示。

SRAM為顯存模塊,由圖2可知LCD控制器與微控制器之間的數據傳輸是在ARM的時鐘控制下讀入,而同時LCD屏顯則是在像素時鐘信號CK的控制下從SRAM中讀取數據。針對該異時鐘域之間數據的傳輸問題本方案采用FPGA設計實現異步FIFO來完成。

3.2 Framebuffer驅動設計

Framebuffer是Linux內核中的一種驅動程序接口,該接口將顯示設備映射為幀緩沖區。平臺使用Linux2.6.25內核。在Linux2.6內核當中,通常采用分層的驅動設計框架。對設備進行分層和分類管理,驅動底層為總線驅動,上層為具體設備驅動。在Framebuffer驅動程序中,其軟件設計流程為:首先需要針對該具體的設備和硬件連接注冊總線類型及申請系統總線資源;其次,將具體設備驅動程序注冊進入總線鏈表,Linux內核根據設備驅動程序中提供的探測函數檢測總線設備類型;最后在驅動探測函數中實現具體設備類型的注冊。以下為其具體的實現過程。

1)資源申請 系統中,9200通過外部總線接口的BANK7與FPGA FIFO接口連接,采用16位靜態總線方式對FIFO數據進行寫入操作。根據驅動設計框架,驅動程序設計的第一步需要通過系統調用platform_device_register函數申請總線資源,示意代碼如下:

2)驅動注冊 在具體設備驅動中,通過使用module_init宏與module_exit定義驅動模塊的加載與卸載方法,在模塊注冊函數中使用plat-form_driver_register函數將具體設備的platform_driver結構體注冊進入系統總線鏈表,platform_driver中為總線提供具體設備的probe與remove等操作方法,其示意代碼如下:


3)Framebuffer設備注冊 在Linux中,通過fb_info結構體對幀緩沖設備信息進行描述。在fb_info中,較為重要的結構有fb_var_scree-ninfo、fb_var_screeninfo、fb_ops。其中,fb_var_screeninfo記錄用戶可修改的顯示控制器參數,包括屏幕分辨率;fb_fix_screeninfo記錄用戶不能修改的顯示控制器的參數,如屏幕緩沖區的物理地址等;fb_ops記錄了具體顯示設備IO操作的實現方法。驅動通過register_-framebuffer函數將fb_info記錄的顯示設備信息注冊進Framebuffer設備鏈表。

在Linux文件系統中,Framebuffer設備的主設備號為29,次設備號為幀緩沖序號。Framebuffer設備注冊后通過mknod指令在系統dev目錄下創建Framebuffer設備文件節點,應用層程序可通過Framebuffer設備文件實現Framebuffer設備的訪問和操作。

4 結束語

該設計方案的LCD控制器達到實時性及顯示幀率的要求,每秒顯示至少25幀。基于FPGA設計的LCD控制器技術具有應用廣泛、移植性強、開發周期短以及成本低等優點,可以適用于眾多的需要LCD液晶顯示的系統或場合。

此內容為AET網站原創,未經授權禁止轉載。
亚洲一区二区欧美_亚洲丝袜一区_99re亚洲国产精品_日韩亚洲一区二区
国产亚洲欧美日韩美女| 亚洲国产精品尤物yw在线观看| 欧美影院一区| 亚洲一区二区在线视频| 夜色激情一区二区| 日韩视频中文| 亚洲精品久久久一区二区三区| 久久国产精品99久久久久久老狼| 中日韩高清电影网| 日韩视频一区二区| 日韩午夜在线视频| 99成人免费视频| av成人免费观看| 一区二区欧美国产| 一本色道久久综合一区| 一本久久a久久精品亚洲| 99在线热播精品免费99热| 亚洲久久一区| 日韩一级成人av| 在线亚洲+欧美+日本专区| 一区二区精品在线观看| 亚洲免费观看高清在线观看| 亚洲毛片视频| 一区二区高清在线| 亚洲综合欧美| 欧美在线观看视频一区二区| 久久激情综合| 91久久久久久久久久久久久| 91久久精品国产91久久性色tv| 亚洲精品欧美日韩专区| 夜夜爽夜夜爽精品视频| 亚洲午夜三级在线| 欧美亚洲一区二区在线观看| 久久成人av少妇免费| 久久色中文字幕| 欧美国产视频一区二区| 欧美日韩一区二区在线观看| 国产精品视频网站| 国产综合一区二区| 亚洲国产成人久久| 日韩视频免费| 午夜视频在线观看一区二区三区| 欧美一区二区三区精品电影| 亚洲国产91| 日韩一级免费观看| 亚洲欧美日韩国产一区二区三区 | 亚洲私人黄色宅男| 午夜视频在线观看一区二区| 久久精品夜色噜噜亚洲a∨| 亚洲免费精品| 欧美亚洲三级| 欧美.日韩.国产.一区.二区| 欧美色综合天天久久综合精品| 国产精品日韩欧美一区| 国语自产精品视频在线看| 亚洲欧洲另类| 亚洲欧美一区在线| 最新国产成人av网站网址麻豆 | 欧美私人啪啪vps| 国产一区二区三区四区hd| 亚洲国产精品视频一区| 亚洲校园激情| 亚洲啪啪91| 欧美亚洲日本一区| 欧美激情1区2区| 国产视频一区免费看| 亚洲黄一区二区三区| 亚洲欧美日韩精品久久| 亚洲破处大片| 午夜精品在线视频| 欧美不卡在线视频| 国产精品亚洲综合| 亚洲精品乱码久久久久久| 午夜一区二区三视频在线观看| 91久久精品日日躁夜夜躁欧美 | 久久aⅴ国产紧身牛仔裤| 欧美激情小视频| 国产香蕉97碰碰久久人人| 亚洲美洲欧洲综合国产一区| 久久国产精品网站| 午夜欧美大片免费观看| 欧美精品乱人伦久久久久久 | 亚洲一级一区| 美日韩在线观看| 国产精品视频一二三| 亚洲日本aⅴ片在线观看香蕉| 欧美一区在线直播| 亚洲欧美日韩精品久久奇米色影视| 欧美成人午夜激情视频| 国产亚洲欧美日韩精品| 亚洲午夜电影| 中日韩男男gay无套| 快射av在线播放一区| 国产农村妇女精品一二区| 一本色道久久综合狠狠躁的推荐| 亚洲国产日韩一区二区| 欧美一区二区三区久久精品| 欧美日韩日日骚| 亚洲国产欧美日韩另类综合| 久久精品噜噜噜成人av农村| 欧美在线观看www| 国产精品久久久久久久9999 | 亚洲影院一区| 欧美日韩一区二区三区免费| 亚洲黄色在线| 亚洲区中文字幕| 久久亚洲影音av资源网| 国产日韩欧美高清| 亚洲一区二区精品在线观看| 一区二区三区蜜桃网| 欧美精品福利| 亚洲人妖在线| 99re热这里只有精品免费视频| 老鸭窝亚洲一区二区三区| 国产在线播放一区二区三区| 欧美一区二区精品久久911| 亚洲欧美自拍偷拍| 国产精品黄色在线观看| 一本色道久久综合亚洲二区三区| 一区二区三区日韩精品| 欧美日韩国产系列| 亚洲精品在线免费| 一区二区欧美亚洲| 欧美三级电影网| 一区二区三区欧美激情| 亚洲一区二区综合| 国产精品激情av在线播放| 亚洲一区自拍| 久久国产精品色婷婷| 国产一区日韩一区| 久久精品国产亚洲精品| 噜噜噜躁狠狠躁狠狠精品视频| 在线看成人片| 99精品欧美一区二区蜜桃免费| 欧美美女福利视频| 中日韩高清电影网| 欧美一区二区三区免费观看视频| 国产精品亚洲欧美| 欧美在线网址| 麻豆国产va免费精品高清在线| 亚洲高清123| av成人天堂| 国产精品久久久久9999高清| 香蕉久久国产| 免费欧美日韩| 亚洲裸体在线观看| 午夜精品久久久久久| 国产一区二区丝袜高跟鞋图片| 久久精品免视看| 欧美激情视频一区二区三区在线播放| 亚洲激情专区| 亚洲综合视频1区| 国产欧美午夜| 亚洲片区在线| 国产精品国内视频| 久久精品国产精品亚洲综合| 美女网站久久| 一区二区欧美视频| 久久av一区二区三区| 尤物精品国产第一福利三区| 在线中文字幕一区| 国产麻豆精品视频| 亚洲欧洲另类| 国产精品久久久久久久午夜| 久久岛国电影| 欧美人交a欧美精品| 午夜国产一区| 欧美精品一区二区三区一线天视频| 一区二区三区回区在观看免费视频| 久久aⅴ乱码一区二区三区| 亚洲风情亚aⅴ在线发布| 亚洲伊人一本大道中文字幕| 狠狠综合久久av一区二区小说| 99国产精品国产精品毛片| 国产精品亚洲视频| 亚洲精品日韩精品| 国产精品免费电影| 亚洲欧洲综合另类| 国产麻豆午夜三级精品| 亚洲伦理久久| 国产午夜精品久久| 在线视频亚洲| 韩国久久久久| 亚洲欧美日韩第一区| 亚洲国产91色在线| 欧美一级理论片| 亚洲精品影视| 麻豆成人在线播放| 亚洲免费在线播放| 欧美精品一区在线| 久久av老司机精品网站导航| 欧美日韩在线观看一区二区| 久久激情综合| 国产精品亚洲产品| 一本大道久久a久久精二百| 国产有码一区二区| 亚洲欧美在线播放| 亚洲精品乱码久久久久久黑人| 久久久久久久久久久一区 | 亚洲欧洲免费视频|