新聞中心

EEPW首頁 > 光電顯示 > 設(shè)計(jì)應(yīng)用 > 基于ARM+FPGA的大屏幕顯示器控制系統(tǒng)設(shè)計(jì)

基于ARM+FPGA的大屏幕顯示器控制系統(tǒng)設(shè)計(jì)

作者: 時(shí)間:2012-01-04 來源:網(wǎng)絡(luò) 收藏

0 前言

本文引用地址:http://m.butianyuan.cn/article/168674.htm

隨著計(jì)算機(jī)和半導(dǎo)體技術(shù)的發(fā)展,LED顯示系統(tǒng)成為集計(jì)算機(jī)控制、視頻、光電子、微電子、通信、數(shù)字圖像處理技術(shù)為一體的顯示設(shè)備。目前LED向更高亮度、更高耐氣候性、更高的發(fā)光均勻性、更化、更高的可靠性方向發(fā)展。LED顯示屏產(chǎn)業(yè)正成為我國電子信息產(chǎn)業(yè)的重要組成部分。大屏幕顯示技術(shù)的發(fā)展進(jìn)步,需要處理的數(shù)據(jù)量大大增加,系統(tǒng)的頻率越來越高,系統(tǒng)的規(guī)模越來越大,對顯示的要求不斷提高。以往的LED大屏幕顯示系統(tǒng)用中小規(guī)模集成電路實(shí)現(xiàn),系統(tǒng)體積較大、調(diào)試?yán)щy、不易修改。隨著半導(dǎo)體技術(shù)的進(jìn)一步發(fā)展及大規(guī)模集成電路的廣泛應(yīng)用,具有體積小、功耗低、數(shù)據(jù)處理能力強(qiáng)等特性,PLD能夠滿足LED大屏幕系統(tǒng)高速圖像數(shù)據(jù)傳輸對速度的要求且靈活。鑒于此,本采用+RAM+方案,解決了系統(tǒng)的運(yùn)行速度、尋址能力和功耗等問題,從而支持更大可視區(qū)域的穩(wěn)定顯示,存儲更多的顯示內(nèi)容。

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

該系統(tǒng)主要由PC機(jī)、顯示控制電路和LED顯示屏3部分構(gòu)成,如圖1所示。

PC機(jī)在控制中作為上位機(jī),用于后級下位機(jī)的控制和管理。上位計(jì)算機(jī)主要用于人機(jī)交互,完成對顯示控制電路的顯示數(shù)據(jù)發(fā)送以及設(shè)置LED顯示屏的顯示效果。用戶在上位機(jī)上通過控制軟件將編輯好的文字圖片信息和相應(yīng)的控制命令通過串行通信傳輸至系統(tǒng)的控制電路部分,LED顯示屏即可根據(jù)用戶選擇的方式循環(huán)顯示用戶編輯好的文字和圖片,該系統(tǒng)還具有脫機(jī)顯示的功能,用戶將顯示的內(nèi)容傳送至顯示控制電路部分后,上位計(jì)算機(jī)就可以不再介入顯示的過程,顯示系統(tǒng)可以根據(jù)用戶設(shè)定的模式顯示所要顯示的信息內(nèi)容。數(shù)據(jù)轉(zhuǎn)換信號控制部分采用ARM實(shí)現(xiàn),LED顯示屏的掃描驅(qū)動電路采用來完成。上位機(jī)與下位機(jī)之間的通信采用標(biāo)準(zhǔn)的RS232/RS485計(jì)算機(jī)數(shù)據(jù)串行通信方式,它們相對獨(dú)立,但相互間協(xié)調(diào)工作。顯示屏以LED為像素,由LED點(diǎn)陣顯示單元拼接而成的,本的顯示屏為16行×256列,采用640×480點(diǎn)陣結(jié)構(gòu)。

2 系統(tǒng)硬件設(shè)計(jì)

2.1顯示控制電路

顯示控制電路系統(tǒng)的重要部分,主要由輸入接口電路、數(shù)據(jù)轉(zhuǎn)換及信號控制電路、掃描驅(qū)動電路組成,如圖2所示。

當(dāng)顯示屏做得越大,即屏幕的點(diǎn)陣越多,向顯示屏發(fā)送的數(shù)據(jù)就越多,數(shù)據(jù)傳輸與控制的時(shí)間也會增加,完成一屏掃描的時(shí)間會越長。因此,在設(shè)計(jì)中必須考慮這個(gè)因素。滿足這一要求,關(guān)鍵在于提高程序的執(zhí)行速度,可以選擇更快的CPU或數(shù)字信號處理芯片ARM。本設(shè)計(jì)采用ARM的32位嵌入式RISC為處理器,S3C4510B是完全可以勝任的,該微處理器的速度較高,而且存儲容量較大。

上位機(jī)通過串口經(jīng)過RS232/RS485轉(zhuǎn)換器將指令集發(fā)送給ARM微處理器,ARM微處理器把接收到的指令集放入外部的FLASH中保存,斷電后內(nèi)容不丟失,同時(shí)ARM外部擴(kuò)展兩片SRAM用于存放快速運(yùn)算的數(shù)據(jù),光傳感器和溫度傳感器用來測量外界的光和溫度,以便隨著光線的強(qiáng)弱改變顯示屏的亮度,在顯示屏上顯示出外界溫度。完成對LED屏的掃描驅(qū)動過程,其內(nèi)部固化的數(shù)字邏輯負(fù)責(zé)產(chǎn)生屏幕顯示控制信號(串行移位時(shí)鐘、行鎖存信號、行選信號等),其外部配置的兩片SRAM用于分時(shí)讀取灰度數(shù)據(jù)。同時(shí),F(xiàn)PGA從SRAM中讀取灰度數(shù)據(jù)信號,并將其轉(zhuǎn)換成上屏數(shù)據(jù)后串行輸出到相應(yīng)的顏色的信號數(shù)據(jù)總線上。FPGA外部擴(kuò)展的兩片SRAM組成了數(shù)據(jù)緩沖、切換區(qū),采用乒乓邏輯,某一時(shí)刻向一片存儲器寫入數(shù)據(jù),另一片被FPGA邏輯讀取數(shù)據(jù)轉(zhuǎn)換后送人顯示屏,二者輪流切換,保證了數(shù)據(jù)的高速上屏和顯示的連續(xù)性。ARM外部配置大容量的SRAM和Flash存儲器,與傳統(tǒng)的顯示屏控制電路相比較,可以支持更大的顯示區(qū)域、存儲更多的顯示內(nèi)容、獲得更好的顯示效果。

2.2掃描驅(qū)動電路設(shè)計(jì)

LED顯示屏的掃描驅(qū)動電路部分是由FPGA來實(shí)現(xiàn)的,如圖3所示。

掃描驅(qū)動電路主要完成灰度數(shù)據(jù)的讀取和發(fā)送、上屏灰度數(shù)據(jù)的產(chǎn)生、移位時(shí)鐘的產(chǎn)生、亮度信號的控制、4個(gè)分區(qū)鎖存信號的產(chǎn)生、通知ARM發(fā)送數(shù)據(jù)等功能。這些功能均在一片F(xiàn)PGA中完成,這樣使顯示控制電路板的體積減小,而且由于FPGA功能用硬件描述語言VHDL編程實(shí)現(xiàn),即可以通過使用VHDL語言編程,來驗(yàn)證系統(tǒng)方案的可行性及正確性,然后再用FPGA硬件來實(shí)現(xiàn),從而可以大大縮短開發(fā)周期,使設(shè)計(jì)靈活、修改方便,同時(shí)FPGA由于高集成度、高速高可靠性、開發(fā)周期短的特點(diǎn),從而大大改善電路性能。

這種設(shè)計(jì)的實(shí)現(xiàn)需要FPGA提供大量的I/O引腳,其中I/O引腳包括(1)系統(tǒng)總線接口:數(shù)據(jù)總線8根,控制信號線5根,亮度信號線3根,輸入線1根,復(fù)位信號線1根,共18根;(2)雙體SRAM總線接口:地址總線15根,數(shù)據(jù)總線8根,讀寫控制信號2根,共50根;(3)顯示控制信號輸出接口:移位時(shí)鐘信號1根,行鎖存信號1根,行選4根;(4)顯示像素?cái)?shù)據(jù)輸出接口:紅、綠、藍(lán)共3根。共計(jì)18+50+6+3=77個(gè)I/O口。為了可以使LED顯示屏的尺寸增加1倍,即所需的I/O口增多,同時(shí)考用VHDL語言描述的內(nèi)部功能邏輯所需的宏單元數(shù)量,需要選擇256個(gè)宏單芯片,在此FPGA選用32位的PolarPro QLlP300芯片。

2.3靜態(tài)存儲器SRAM的選擇

外部擴(kuò)展的兩片SRAM,要求能滿足上屏數(shù)據(jù)讀取速度的要求,考慮到存儲數(shù)據(jù)的寬度和容量,本設(shè)計(jì)選用ISSI(Integrated Silicon Solution Inc.)公司的IS61C1024芯片。該芯片存儲容量為128 kB,8位數(shù)據(jù)寬度,最高讀寫速度為25 ns,電源電壓為5 V,具有最高40 MHz的讀寫頻率,可進(jìn)行高速異步讀寫操作,無須等待時(shí)間,其容量滿足一屏文字和圖像數(shù)據(jù)信息的存儲要求,兩片SRAM采用雙體切換技術(shù)來完成數(shù)據(jù)的存儲和讀取過程。

3 系統(tǒng)軟件設(shè)計(jì)

3.1 ARM軟件設(shè)計(jì)

根據(jù)該系統(tǒng)的設(shè)計(jì)需求,將軟件劃分如下幾個(gè)模塊分別形成獨(dú)立的程序文件:啟動代碼模塊、串口模塊、時(shí)鐘模塊、溫度和亮度傳感器模塊、FLASH管理模塊、下載管理模塊和顯示模塊。啟動代碼用于初始化系統(tǒng)配置、初始化各個(gè)處理器模式下的??臻g,初始化目標(biāo)板,引導(dǎo)C程序運(yùn)行,用匯編語言編寫;串口模塊實(shí)現(xiàn)串口的發(fā)送、接收等基本功能;時(shí)鐘模塊實(shí)現(xiàn)RTC時(shí)間的設(shè)置與讀取等基本功能;溫度和亮度傳感器模塊實(shí)現(xiàn)溫度和亮度控制;Flash管理模塊實(shí)現(xiàn)外部FLASH擦除、存儲、分配的管理,將顯示指令和顯示信息進(jìn)行存儲;下載管理模塊負(fù)責(zé)與上位機(jī)通訊,下載顯示指令和信息;顯示模塊負(fù)責(zé)顯示指令的解析以及顯示信息的提取,顯示效果的處理,包括出場模式和表演模式以及各種字體字形的產(chǎn)生,同時(shí)負(fù)責(zé)送灰度數(shù)據(jù)給FPGA,本設(shè)計(jì)以啟動代碼為例闡述源代碼的編寫。

通常將啟動代碼劃分為5個(gè)文件:startup.s、IRQ.s、stack.s、heap.s和target.c。startup.s包含中斷向量表和系統(tǒng)初始化代碼;IRQ.s包含中斷服務(wù)程序與C程序的接口代碼;stack.s和heap.s保存C語言使用的堆和棧的開始位置;target.c包含目標(biāo)板特殊的代碼,包括異常處理程序和目標(biāo)板初始化程序。下面給出幾個(gè)關(guān)鍵的初始化程序段供參考。

1.中斷向量表

2.系統(tǒng)初始化代碼

ResetInit

BL Initstack;初始化芯片各種模式的堆棧

BL TargetResetInit:目標(biāo)板基本初始化

B Main;跳轉(zhuǎn)到ADS提供的_ain函數(shù)處,它初始化函數(shù)庫并最終引導(dǎo)CPU進(jìn)入main()函數(shù)

3.初始化CPU堆棧Initstack(源代碼略)

3.2 FPGA內(nèi)部的功能模塊

圖4為FPGA內(nèi)部的功能模塊圖。FPGA將ARM傳送過來的信號包括灰度數(shù)據(jù)(DATA)、系統(tǒng)時(shí)鐘(CLK)、幀同步信號(VSYNC)、行同步信號(HSYNC)、片選信號(CS2)和寫信號(WRITE)送入存儲器切換電路,存儲器切換電路將圖像數(shù)據(jù)(DAIA)分時(shí)送到靜態(tài)存儲器SRAM1和靜態(tài)存儲器SKAM2進(jìn)行存儲。SRAM1和SRAM2工作在交替讀寫狀態(tài),即向一片SRAM寫人數(shù)據(jù)的同時(shí),從另一片SRAM中讀出數(shù)據(jù);靜態(tài)存儲器的讀寫狀態(tài)由系統(tǒng)時(shí)鐘、幀同步、行同步以及片選信號來控制。讀地址發(fā)生器用于計(jì)算所需數(shù)據(jù)信息在存儲器中存儲的地址,以便保證LED大屏幕的正確顯示,它是由移位時(shí)鐘來控制產(chǎn)生15位讀地址信號,移位時(shí)鐘信號的工作頻率為4 MHz。讀地址發(fā)生器產(chǎn)生的讀地址信號在移位時(shí)鐘的作用下,產(chǎn)生4個(gè)分區(qū)鎖存信號,4個(gè)分區(qū)的顯示數(shù)據(jù)同時(shí)送人屏體,只有當(dāng)鎖存信號有效時(shí),才點(diǎn)亮顯示屏。從SRAM讀出的灰度數(shù)據(jù)DAIA送入灰度值發(fā)生器,并根據(jù)屏體顯示結(jié)構(gòu)進(jìn)行數(shù)據(jù)重組,轉(zhuǎn)化成LED顯示屏要求的上屏數(shù)據(jù)信號(紅、綠、藍(lán)灰度數(shù)據(jù))。三色的上屏數(shù)據(jù)送入串行發(fā)送數(shù)據(jù)寄存器,并在移位時(shí)鐘的作用下串行發(fā)送至屏體。在將一片SRAM中的數(shù)據(jù)轉(zhuǎn)換后上屏的同時(shí),通知微處理器發(fā)送下一屏數(shù)據(jù)。此外,ARM還發(fā)送兩位亮度控制信號COMM0、COMM1和亮度數(shù)據(jù)信號COMM2。串行發(fā)送的亮度數(shù)據(jù)信號進(jìn)入8位串并轉(zhuǎn)換電路,在COMM0、COMM1的控制下,產(chǎn)生亮度信號。

4 仿真及系統(tǒng)驗(yàn)證

使用ModelSim仿真用VHDL編寫的掃描驅(qū)動電路波形如圖5。從圖5可知,從ARM接收到的數(shù)據(jù)data(01010101)存入到外部擴(kuò)展的存儲器SRAM2,m2ma是存儲器2的地址線,它根據(jù)控制信號(tp1,tp2,cs2,swite)的控制作用連續(xù)增加;cm2d是存儲器2的數(shù)據(jù)線,將data數(shù)據(jù)存入,則cm2d為01010101,同時(shí)從存儲器1中讀出數(shù)據(jù),轉(zhuǎn)換后送給red0、ged0、bed0,從而驗(yàn)證驅(qū)動電路的正確性。

經(jīng)硬件設(shè)計(jì)和軟件編碼與調(diào)試后,將ARM軟件源代碼通過ISP下載到ARM中的FLASH后復(fù)位運(yùn)行,系統(tǒng)驗(yàn)證了該設(shè)計(jì)的可靠性和正確性。

5 結(jié)論

本設(shè)計(jì)采用32位ARM嵌入式微處理器S3C4510B和32位FPGA掃描驅(qū)動電路芯片PolarProQLlP300,選用IS61C1024靜態(tài)RAM作為緩存器,組成由多塊大屏幕LED構(gòu)成的顯示系統(tǒng),選用ARM+RAM+FPGA設(shè)計(jì)方案,從而解決了系統(tǒng)的運(yùn)行速度、尋址能力和功耗等問題,從而支持更大可視區(qū)域的穩(wěn)定顯示,存儲更多的顯示內(nèi)容。



評論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉