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

當(dāng)前位置:首頁(yè) > 嵌入式 > 嵌入式教程
[導(dǎo)讀]基于ARM與FPGA的LCD控制器設(shè)計(jì)

隨著顯示屏技術(shù)的不斷發(fā)展,真彩液晶顯示屏以其高分辨率、高對(duì)比度及高清晰度等優(yōu)勢(shì)逐漸在嵌入式顯示系統(tǒng)中占據(jù)重要地位。目前,基于嵌入式平臺(tái)的LCD顯控技術(shù)的實(shí)現(xiàn)主要有兩種方式:ARM內(nèi)嵌LCD控制器和獨(dú)立的控制器件。但是這兩種實(shí)現(xiàn)方式都存在著不足之處,內(nèi)嵌控制器的使用可能增大處理器的負(fù)擔(dān)和限制顯示幀率,而外部控制器件不僅成本高,而且專(zhuān)用性比較強(qiáng),很難適應(yīng)不同類(lèi)型的液晶屏。
    據(jù)此存在的問(wèn)題,這里提出一種基于ARM與FPGA的LCD控制器設(shè)計(jì)方案,該設(shè)計(jì)方案一方面能夠通過(guò)操作LINUX OS下的Framebuffer設(shè)備提高顯存的寫(xiě)入速率及減輕處理器的負(fù)擔(dān),另一方面用FPGA來(lái)實(shí)現(xiàn)LCD控制器的設(shè)計(jì),開(kāi)發(fā)周期短、功耗低,同時(shí)具有靈活的移植性,可應(yīng)用于
不同中小尺寸的液晶顯示屏。

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


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

2 系統(tǒng)硬件設(shè)計(jì)
2.1 LCD控制器

    LCD控制器是基于FPGA實(shí)現(xiàn)的。本方案采用Altera公司的Cvclone(颶風(fēng))系列EPlC6Q240。FPGA具有高速的數(shù)據(jù)傳輸I/O接口,可實(shí)現(xiàn)高速的顯存讀取速率,大大提高LCD顯示的幀率。而同時(shí)FPGA是可編程邏輯器件,可實(shí)現(xiàn)復(fù)雜的邏輯運(yùn)算及提供復(fù)雜的控制時(shí)序。LCD顯示屏采用
LQ035Q3DG01型的TFT-LCD液晶顯示屏,分辨率為320×240,圖像信號(hào)為RGB格式。
    由于SRAM有較高的讀寫(xiě)速度,該設(shè)計(jì)方案的顯示緩存采用1片IS61LV51216AL型SRAM,其容量為512 KB,讀寫(xiě)速度為10ns左右。而顯示一幀圖像的大小為125 KB(320x240x2/l024),F(xiàn)PGA對(duì)顯存的讀寫(xiě)速度約為200 ns,因此滿(mǎn)足系統(tǒng)要求。圖2為L(zhǎng)CD控制器電路連接圖。


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


[!--empirenews.page--]
3 系統(tǒng)軟件設(shè)計(jì)
    系統(tǒng)的軟件設(shè)計(jì)主要分為基于FPGA的LCD控制器設(shè)計(jì)與LINUX OS下Framebuffer驅(qū)動(dòng)程序設(shè)計(jì)2部分。
3.1 LCD控制器設(shè)計(jì)
3.1.1 LCD控制器組成

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


3.1.2 LCD控制器設(shè)計(jì)原理
    由TFT-LCD液晶屏顯示原理可知,顯示所需的主要控制信號(hào)有像素時(shí)鐘信號(hào)、行/場(chǎng)同步信號(hào)以及使能信號(hào)。該方案的顯示屏分辨率為320x240,要求設(shè)計(jì)液晶顯示屏的刷新頻率為60 Hz,即場(chǎng)同步信號(hào)(VSYNC)為60Hz,刷新一屏所需時(shí)間為1/60 s,而一場(chǎng)則由240個(gè)行同步信號(hào)組成,那么一個(gè)行同步信號(hào)的周期為1/(60x240)s,即可得行同步信號(hào)(HSYNC)為15 kHz。同理可得像素時(shí)鐘信號(hào)(CK)為5MHz。
    采用FPGA內(nèi)置的鎖相環(huán)IP模塊(PLL)將FPGA 50 MHz時(shí)鐘信號(hào)F_CLK 10分頻為5 MHz的像素時(shí)鐘信號(hào)。應(yīng)用狀態(tài)機(jī)方法,用Verilog硬件描述語(yǔ)言設(shè)計(jì)時(shí)序控制模塊,它為L(zhǎng)CD提供滿(mǎn)足時(shí)序要求的控制信號(hào)VSYNC、HSYNC以及ENAB。設(shè)計(jì)完成后在QuatuslI環(huán)境下完成時(shí)序仿真,得
到的仿真結(jié)果滿(mǎn)足時(shí)序要求,仿真圖如圖5所示。


    SRAM為顯存模塊,由圖2可知LCD控制器與微控制器之間的數(shù)據(jù)傳輸是在ARM的時(shí)鐘控制下讀入,而同時(shí)LCD屏顯則是在像素時(shí)鐘信號(hào)CK的控制下從SRAM中讀取數(shù)據(jù)。針對(duì)該異時(shí)鐘域之間數(shù)據(jù)的傳輸問(wèn)題本方案采用FPGA設(shè)計(jì)實(shí)現(xiàn)異步FIFO來(lái)完成。
3.2 Framebuffer驅(qū)動(dòng)設(shè)計(jì)
    Framebuffer是Linux內(nèi)核中的一種驅(qū)動(dòng)程序接口,該接口將顯示設(shè)備映射為幀緩沖區(qū)。平臺(tái)使用Linux2.6.25內(nèi)核。在Linux2.6內(nèi)核當(dāng)中,通常采用分層的驅(qū)動(dòng)設(shè)計(jì)框架。對(duì)設(shè)備進(jìn)行分層和分類(lèi)管理,驅(qū)動(dòng)底層為總線(xiàn)驅(qū)動(dòng),上層為具體設(shè)備驅(qū)動(dòng)。在Framebuffer驅(qū)動(dòng)程序中,其軟件設(shè)計(jì)流程為:首先需要針對(duì)該具體的設(shè)備和硬件連接注冊(cè)總線(xiàn)類(lèi)型及申請(qǐng)系統(tǒng)總線(xiàn)資源;其次,將具體設(shè)備驅(qū)動(dòng)程序注冊(cè)進(jìn)入總線(xiàn)鏈表,Linux內(nèi)核根據(jù)設(shè)備驅(qū)動(dòng)程序中提供的探測(cè)函數(shù)檢測(cè)總線(xiàn)設(shè)備類(lèi)型;最后在驅(qū)動(dòng)探測(cè)函數(shù)中實(shí)現(xiàn)具體設(shè)備類(lèi)型的注冊(cè)。以下為其具體的實(shí)現(xiàn)過(guò)程。
    1)資源申請(qǐng) 系統(tǒng)中,9200通過(guò)外部總線(xiàn)接口的BANK7與FPGA FIFO接口連接,采用16位靜態(tài)總線(xiàn)方式對(duì)FIFO數(shù)據(jù)進(jìn)行寫(xiě)入操作。根據(jù)驅(qū)動(dòng)設(shè)計(jì)框架,驅(qū)動(dòng)程序設(shè)計(jì)的第一步需要通過(guò)系統(tǒng)調(diào)用platform_device_register函數(shù)申請(qǐng)總線(xiàn)資源,示意代碼如下:[!--empirenews.page--]

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


    3)Framebuffer設(shè)備注冊(cè) 在Linux中,通過(guò)fb_info結(jié)構(gòu)體對(duì)幀緩沖設(shè)備信息進(jìn)行描述。在fb_info中,較為重要的結(jié)構(gòu)有fb_var_scree-ninfo、fb_var_screeninfo、fb_ops。其中,fb_var_screeninfo記錄用戶(hù)可修改的顯示控制器參數(shù),包括屏幕分辨率;fb_fix_screeninfo記錄用戶(hù)不能修改的顯示控制器的參數(shù),如屏幕緩沖區(qū)的物理地址等;fb_ops記錄了具體顯示設(shè)備IO操作的實(shí)現(xiàn)方法。驅(qū)動(dòng)通過(guò)register_-framebuffer函數(shù)將fb_info記錄的顯示設(shè)備信息注冊(cè)進(jìn)Framebuffer設(shè)備鏈表。
    在Linux文件系統(tǒng)中,F(xiàn)ramebuffer設(shè)備的主設(shè)備號(hào)為29,次設(shè)備號(hào)為幀緩沖序號(hào)。Framebuffer設(shè)備注冊(cè)后通過(guò)mknod指令在系統(tǒng)dev目錄下創(chuàng)建Framebuffer設(shè)備文件節(jié)點(diǎn),應(yīng)用層程序可通過(guò)Framebuffer設(shè)備文件實(shí)現(xiàn)Framebuffer設(shè)備的訪(fǎng)問(wèn)和操作。

4 結(jié)束語(yǔ)
    該設(shè)計(jì)方案的LCD控制器達(dá)到實(shí)時(shí)性及顯示幀率的要求,每秒顯示至少25幀?;?strong>FPGA設(shè)計(jì)的LCD控制器技術(shù)具有應(yīng)用廣泛、移植性強(qiáng)、開(kāi)發(fā)周期短以及成本低等優(yōu)點(diǎn),可以適用于眾多的需要LCD液晶顯示的系統(tǒng)或場(chǎng)合。

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

北京2022年10月19日 /美通社/ -- 隨著云計(jì)算、大數(shù)據(jù)的普及發(fā)展,過(guò)去的"云"是服務(wù)于大企業(yè)的計(jì)算模型,而十多年過(guò)去了,越來(lái)越多的應(yīng)用及業(yè)務(wù)走上"云端",對(duì)計(jì)算核心數(shù)需求...

關(guān)鍵字: ARM 大數(shù)據(jù) 云游戲 CPU

無(wú)線(xiàn)連接已成為許多產(chǎn)品的必備功能,但往往會(huì)增加系統(tǒng)設(shè)計(jì)的成本和復(fù)雜性,因?yàn)樗ǔ1仨氉鳛楦髴?yīng)用的附加功能。Microchip Technology Inc.(美國(guó)微芯科技公司)今日推出首款基于Arm Cortex?-M...

關(guān)鍵字: Microchip ARM PIC

物聯(lián)網(wǎng)正在擴(kuò)大規(guī)模并加速發(fā)展,進(jìn)而驅(qū)動(dòng)著全新的經(jīng)濟(jì)。而Arm生態(tài)系統(tǒng)正是這一巨大機(jī)遇背后的推動(dòng)力。

關(guān)鍵字: ARM 物聯(lián)網(wǎng)

ARM公司是一家知識(shí)產(chǎn)權(quán)(IP)供應(yīng)商,它與一般的半導(dǎo)體公司最大的不同就是不制造芯片且不向終端用戶(hù)出售芯片,而是通過(guò)轉(zhuǎn)讓設(shè)計(jì)方案,由合作伙伴生產(chǎn)出各具特色的芯片。

關(guān)鍵字: ARM

2018年10月26日,深圳星河麗思卡爾頓酒店,ARM中國(guó)CEO吳雄昂在ARM年度技術(shù)論壇上對(duì)記者如是說(shuō),彼時(shí)的吳堅(jiān)定,溫雅,意氣風(fēng)發(fā)。時(shí)隔兩年,ARM中國(guó)CEO吳雄昂再次回到媒體視線(xiàn),這一次,ARM中國(guó)與來(lái)自投資方和劍...

關(guān)鍵字: ARM 芯片 集成電路

最近為什么越來(lái)越多的研究開(kāi)始利用FPGA作為CNN加速器?FPGA與CNN的相遇究竟能帶來(lái)什么神奇效果呢?原來(lái),F(xiàn)PGA擁有大量的可編程邏輯資源,相對(duì)于GPU,它的可重構(gòu)性以及高功耗能效比的優(yōu)點(diǎn),是GPU無(wú)法比擬的;同時(shí)...

關(guān)鍵字: FPGA 可編程邏輯資源 GPU

FPGA的應(yīng)用領(lǐng)域包羅萬(wàn)象,我們今天來(lái)看看在音樂(lè)科技領(lǐng)域及醫(yī)療照護(hù)的智能巧思。

關(guān)鍵字: FPGA 科技領(lǐng)域 智能

喜歡折騰主機(jī)的小伙伴一定都知道X86和ARM架構(gòu)的區(qū)別,前者在PC領(lǐng)域已經(jīng)統(tǒng)治了幾十年;后者則主要應(yīng)用于移動(dòng)領(lǐng)域,尤其是近幾年,ARM的產(chǎn)品在終端應(yīng)用特別是手持終端應(yīng)用飛速發(fā)展。

關(guān)鍵字: 國(guó)產(chǎn) ARM 主機(jī)

科技公司們認(rèn)為,收購(gòu)將使英偉達(dá)控制一個(gè)重要的供應(yīng)商,該供應(yīng)商向蘋(píng)果、英特爾、三星電子、亞馬遜和華為等公司授權(quán)基本的芯片技術(shù),同時(shí)也向不計(jì)其數(shù)的中小技術(shù)企業(yè)提供授權(quán)。總部位于英國(guó)的ARM公司將芯片設(shè)計(jì)和相關(guān)軟件代碼授權(quán)給所...

關(guān)鍵字: 英偉達(dá) ARM 半導(dǎo)體公司

在去年九月,英偉達(dá)宣布以400億美金收購(gòu)ARM時(shí),就注定這場(chǎng)收購(gòu)不會(huì)太順利。因?yàn)橐坏〢RM成功被英偉達(dá)收購(gòu),這將使ARM改變?cè)谌虬雽?dǎo)體市場(chǎng)中的中立立場(chǎng),因?yàn)锳RM的很多客戶(hù),都是英偉達(dá)的直接或者間接的對(duì)手。除此之外,還...

關(guān)鍵字: 英偉達(dá) ARM 半導(dǎo)體

嵌入式教程

6897 篇文章

關(guān)注

發(fā)布文章

編輯精選

技術(shù)子站

關(guān)閉