日本黄色一级经典视频|伊人久久精品视频|亚洲黄色色周成人视频九九九|av免费网址黄色小短片|黄色Av无码亚洲成年人|亚洲1区2区3区无码|真人黄片免费观看|无码一级小说欧美日免费三级|日韩中文字幕91在线看|精品久久久无码中文字幕边打电话

當前位置:首頁 > 嵌入式 > 嵌入式軟件
[導讀]基于ARM與FPGA的LCD控制器設計

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

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

1 系統(tǒng)組成及工作原理

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

系統(tǒng)的工作流程:在FPGA內(nèi)部的時序發(fā)生電路所產(chǎn)生的時序控制信號作用下,LCD控制器通過Framebuffer接口從微控制器讀出顯示所需的數(shù)據(jù)存入顯示緩存SRAM中。同時LCD顯示屏從顯存SRAM中讀取顯示數(shù)據(jù),并通過數(shù)據(jù)格式轉(zhuǎn)換電路直接將數(shù)據(jù)信息實時顯示。

2 系統(tǒng)硬件設計

2.1 LCD控制器

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

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

2.2 ARM9微控制器

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

3 系統(tǒng)軟件設計

系統(tǒng)的軟件設計主要分為基于FPGA的LCD控制器設計與LINUX OS下Framebuffer驅(qū)動程序設計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內(nèi)置的鎖相環(huán)IP模塊(PLL)將FPGA 50 MHz時鐘信號F_CLK 10分頻為5 MHz的像素時鐘信號。應用狀態(tài)機方法,用Verilog硬件描述語言設計時序控制模塊,它為LCD提供滿足時序要求的控制信號VSYNC、HSYNC以及ENAB。設計完成后在QuatuslI環(huán)境下完成時序仿真,得到的仿真結果滿足時序要求,仿真圖如圖5所示。

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

3.2 Framebuffer驅(qū)動設計

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

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

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

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

在Linux文件系統(tǒng)中,F(xiàn)ramebuffer設備的主設備號為29,次設備號為幀緩沖序號。Framebuffer設備注冊后通過mknod指令在系統(tǒng)dev目錄下創(chuàng)建Framebuffer設備文件節(jié)點,應用層程序可通過Framebuffer設備文件實現(xiàn)Framebuffer設備的訪問和操作。

4 結束語

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

本站聲明: 本文章由作者或相關機構授權發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點,本站亦不保證或承諾內(nèi)容真實性等。需要轉(zhuǎn)載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權益,請及時聯(lián)系本站刪除。
換一批
延伸閱讀

LED驅(qū)動電源的輸入包括高壓工頻交流(即市電)、低壓直流、高壓直流、低壓高頻交流(如電子變壓器的輸出)等。

關鍵字: 驅(qū)動電源

在工業(yè)自動化蓬勃發(fā)展的當下,工業(yè)電機作為核心動力設備,其驅(qū)動電源的性能直接關系到整個系統(tǒng)的穩(wěn)定性和可靠性。其中,反電動勢抑制與過流保護是驅(qū)動電源設計中至關重要的兩個環(huán)節(jié),集成化方案的設計成為提升電機驅(qū)動性能的關鍵。

關鍵字: 工業(yè)電機 驅(qū)動電源

LED 驅(qū)動電源作為 LED 照明系統(tǒng)的 “心臟”,其穩(wěn)定性直接決定了整個照明設備的使用壽命。然而,在實際應用中,LED 驅(qū)動電源易損壞的問題卻十分常見,不僅增加了維護成本,還影響了用戶體驗。要解決這一問題,需從設計、生...

關鍵字: 驅(qū)動電源 照明系統(tǒng) 散熱

根據(jù)LED驅(qū)動電源的公式,電感內(nèi)電流波動大小和電感值成反比,輸出紋波和輸出電容值成反比。所以加大電感值和輸出電容值可以減小紋波。

關鍵字: LED 設計 驅(qū)動電源

電動汽車(EV)作為新能源汽車的重要代表,正逐漸成為全球汽車產(chǎn)業(yè)的重要發(fā)展方向。電動汽車的核心技術之一是電機驅(qū)動控制系統(tǒng),而絕緣柵雙極型晶體管(IGBT)作為電機驅(qū)動系統(tǒng)中的關鍵元件,其性能直接影響到電動汽車的動力性能和...

關鍵字: 電動汽車 新能源 驅(qū)動電源

在現(xiàn)代城市建設中,街道及停車場照明作為基礎設施的重要組成部分,其質(zhì)量和效率直接關系到城市的公共安全、居民生活質(zhì)量和能源利用效率。隨著科技的進步,高亮度白光發(fā)光二極管(LED)因其獨特的優(yōu)勢逐漸取代傳統(tǒng)光源,成為大功率區(qū)域...

關鍵字: 發(fā)光二極管 驅(qū)動電源 LED

LED通用照明設計工程師會遇到許多挑戰(zhàn),如功率密度、功率因數(shù)校正(PFC)、空間受限和可靠性等。

關鍵字: LED 驅(qū)動電源 功率因數(shù)校正

在LED照明技術日益普及的今天,LED驅(qū)動電源的電磁干擾(EMI)問題成為了一個不可忽視的挑戰(zhàn)。電磁干擾不僅會影響LED燈具的正常工作,還可能對周圍電子設備造成不利影響,甚至引發(fā)系統(tǒng)故障。因此,采取有效的硬件措施來解決L...

關鍵字: LED照明技術 電磁干擾 驅(qū)動電源

開關電源具有效率高的特性,而且開關電源的變壓器體積比串聯(lián)穩(wěn)壓型電源的要小得多,電源電路比較整潔,整機重量也有所下降,所以,現(xiàn)在的LED驅(qū)動電源

關鍵字: LED 驅(qū)動電源 開關電源

LED驅(qū)動電源是把電源供應轉(zhuǎn)換為特定的電壓電流以驅(qū)動LED發(fā)光的電壓轉(zhuǎn)換器,通常情況下:LED驅(qū)動電源的輸入包括高壓工頻交流(即市電)、低壓直流、高壓直流、低壓高頻交流(如電子變壓器的輸出)等。

關鍵字: LED 隧道燈 驅(qū)動電源
關閉