新聞中心

EEPW首頁 > 消費電子 > 設(shè)計應(yīng)用 > 基于Cyclone EP1C6和SPCE061A的LED大屏幕系統(tǒng)設(shè)計

基于Cyclone EP1C6和SPCE061A的LED大屏幕系統(tǒng)設(shè)計

——
作者:武漢科技大學(xué)信息科學(xué)與工程學(xué)院 郝國法 楊姣 黃睿 時間:2007-01-26 來源:《電子設(shè)計應(yīng)用》 收藏

目前采用的led大屏幕顯示系統(tǒng)的控制電路大多由單個或多個單片機及復(fù)雜的外圍電路組成,單片機編程比較復(fù)雜,整個電路的調(diào)試比較麻煩,可靠性和實時性難以得到保證。針對這種情況,本文提出了一種基于spce061a和cyclone ep1c6的led大屏幕解決方案。該設(shè)計方案無須外掛flash rom和ram,無須任何外部功能電路,所有功能均由一片ep1c6和一片spce061a實現(xiàn),數(shù)據(jù)處理速度快、可靠性高。

spce061a和cyclone ep1c6簡介

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

spce061a是凌陽科技的一款16位微控制器,內(nèi)嵌32kb閃存和2kb字sram,cpu最高可工作在49mhz的主頻下,較高的處理速度使spce061a能夠非常容易、快速地處理復(fù)雜的數(shù)字信號。本文設(shè)計的是一個點陣大小為192×128的單色(紅色)顯示屏,且按要求連續(xù)顯示5屏數(shù)據(jù),spce061a豐富的片內(nèi)資源正好滿足了如此大的數(shù)據(jù)處理和存儲要求。本文采用由uart中斷接收上位機數(shù)據(jù)并將數(shù)據(jù)寫入32kb閃存中的方法,取代了傳統(tǒng)mcu+rom+ram的設(shè)計,增加了系統(tǒng)的穩(wěn)定性。

cyclone ep1c6是altera推出的一款高性價比fpga。該器件提供的具有異步、雙端口、帶寄存器輸入口、可選擇的帶寄存器輸出口的存儲模塊-m4k在本設(shè)計中被設(shè)置成一個雙口ram,實現(xiàn)數(shù)據(jù)的讀寫同步,提高了系統(tǒng)的刷新頻率。

整體設(shè)計方案

本系統(tǒng)設(shè)計的是一塊具有192×128個紅色led點陣的電子大屏幕。整塊大屏幕是模塊化的結(jié)構(gòu),每4個16×16的點陣塊為一個最小模塊,每行點陣由3個同樣的最小模塊級聯(lián)而成,共8行。大屏幕上要求連續(xù)顯示5屏內(nèi)容,且每屏都具有上下左右移動等動畫效果。實際應(yīng)用中主控制室距離電子屏約為200米。結(jié)合設(shè)計對象的要求和大屏幕設(shè)計的特點,本文提出了一種新穎的設(shè)計方案。該方案的整體框圖如圖1所示。

led大屏幕系統(tǒng)由3個主要單元組成:上位機圖像/文字編輯與發(fā)送部分單元、主控板單元、顯示驅(qū)動電路單元。系統(tǒng)上位機由一臺pc機來控制,它主要編輯、發(fā)送圖像/文字信息到主控板的存儲器中;主控板對這些字模數(shù)據(jù)進行處理后發(fā)送到大屏幕,并在大屏幕上顯示出來。

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

上位機發(fā)出的信息經(jīng)符合rs-422標(biāo)準(zhǔn)的接口通過雙絞線傳送到主控板上,通訊速率可在上位機軟件中設(shè)置。接口所用芯片為mc3487和mc3486,rs-422在傳輸率為100kb/s時,可傳輸?shù)淖畲缶嚯x為1200米,本系統(tǒng)的傳輸距離約為200米,傳輸速率最大為115kb/s,采用rs-422方式傳輸可滿足這一長距離通訊的要求。

主控板單元設(shè)計

該單元的設(shè)計特點在于數(shù)據(jù)流接收、存儲以及驅(qū)動掃描的單片集成,無須任何外圍電路。主控板由一片spce061a和ep1c6組成,如圖2所示。

該單元的設(shè)計思路是,由單片機的iob7口以uart中斷的方式接收上位機發(fā)送的數(shù)據(jù),這是由于大屏幕處于被動、循環(huán)往復(fù)的顯示狀態(tài),采用異步傳輸能減少系統(tǒng)不斷查詢串口接收標(biāo)志位的系統(tǒng)消耗。單片機將接收的串口數(shù)據(jù)以兩個字節(jié)為單位逐一寫入內(nèi)置的閃存中。單片機內(nèi)部的2kb sram作為緩存區(qū),每當(dāng)單片機要向fpga中寫一屏新的數(shù)據(jù)時,先按特定的地址從閃存中讀出數(shù)據(jù)并存放到sram中,再將sram中的數(shù)據(jù)并行寫到fgga的雙口ram中,單片機與fpga的接口信號除了16根數(shù)據(jù)線外,還包括單片機向fpga寫數(shù)據(jù)的地址、寫使能和寫時鐘。由于每屏點陣數(shù)為192×128,16位數(shù)據(jù)并行傳輸所需的地址線為11根。但由于設(shè)計需要,系統(tǒng)中還專門設(shè)置了1根額外的地址線,用于對fpga的雙口ram進行讀寫分區(qū),因此共使用了12根地址線。

fpga在其內(nèi)部配置一個雙口ram緩存單片機寫入的數(shù)據(jù),同時將這些數(shù)據(jù)按照大屏幕的結(jié)構(gòu)和掃描電路的特點選擇性地讀出,然后對數(shù)據(jù)由并轉(zhuǎn)串輸出到大屏幕的掃描驅(qū)動電路。由于大屏幕采用模塊化的隔行掃描方式,每行需要2根數(shù)據(jù)線進行隔行傳輸,整塊大屏幕共需16根數(shù)據(jù)線。由于點陣的行列驅(qū)動均采用74ls595驅(qū)動,故fpga還應(yīng)產(chǎn)生列掃描的點時鐘、鎖存信號和行掃描的數(shù)據(jù)、時鐘、鎖存信號。

雙口ram的配置

由于數(shù)據(jù)顯示是一種動態(tài)掃描方式,如果采用一個ram區(qū),當(dāng)單片機寫ram時,fpga只能處于等待狀態(tài),這樣就會導(dǎo)致屏幕動態(tài)掃描停止。由于屏幕數(shù)據(jù)是移位輸出的,當(dāng)掃描停止時,因為會有某一行的高電平保持較長的時間,該行就會一直保持較強的亮度,影響屏幕的顯示效果。本系統(tǒng)中設(shè)計了2個同樣大小的ram區(qū):a區(qū)和b區(qū),讓單片機交替進行寫操作。當(dāng)單片機在寫a區(qū)時,fpga就去讀b區(qū)的字模數(shù)據(jù);當(dāng)單片機寫b區(qū)時,fpga就去讀a區(qū)的字模數(shù)據(jù)。這樣就不會造成fpga的停止掃描,保證了各行的點陣有相同的時間占空比,使屏幕點陣有同樣的亮度。單片機中的highadr引腳可用于控制單片機的寫區(qū)和fpga的讀區(qū)。

由于每屏點陣數(shù)據(jù)的大小為1536字,a區(qū)和b區(qū)的容量都至少要大于1536,那么整個的ram區(qū)至少為1536×2字,考慮到ep1c6內(nèi)部集成了20塊容量為256字的m4k模塊,正好可以滿足本系統(tǒng)對ram的需求。雙口ram的配置如圖3所示。


其中wren是單片機往fpga中寫入數(shù)據(jù)的寫使能信號,wraddress[11..0]是寫地址信號,wrclock是寫時鐘,data[15..0]是寫數(shù)據(jù),rdaddress[11..0]是讀地址信號,rdclock是讀數(shù)據(jù)的時鐘信號,q[15..0]是讀出的數(shù)據(jù)。對于這個雙口ram而言,只有q[15..0]是輸出端口,其他均為輸入端口。與寫數(shù)據(jù)相關(guān)的信號全部由單片機產(chǎn)生,讀數(shù)據(jù)的所有信號由fpga產(chǎn)生。其中讀寫地址的最高位可實現(xiàn)ram分區(qū)。

點陣驅(qū)動電路

本系統(tǒng)中l(wèi)ed的灰度等級是采用調(diào)制占空比的方法來實現(xiàn)的,由于大屏幕是單色點陣,主要用來顯示文字信息,所以要求亮度高且均衡。根據(jù)這一特點,采用了模塊化的隔8行掃描方式。每隔8行點陣同時進行掃描,則每行的占空比是1/8,使屏幕亮度得到保證。

點陣的驅(qū)動電路分為行驅(qū)動和列驅(qū)動,列驅(qū)動采用串行數(shù)據(jù)傳輸方式,易于模塊化。列驅(qū)動電路由74ls595組成,行驅(qū)動電路由74ls595和與之配套的反相器7406、pnp達林頓功率三極管tip127組成。所有作為行驅(qū)動74ls595的數(shù)據(jù)時鐘信號、數(shù)據(jù)鎖存信號、掃描數(shù)據(jù)、時鐘、鎖存信號都在一起,所有作為列驅(qū)動74ls595的數(shù)據(jù)時鐘信號,數(shù)據(jù)鎖存信號、掃描數(shù)據(jù)、時鐘、鎖存信號也是在一起的,這樣可以實現(xiàn)大屏幕的同步顯示。

軟件設(shè)計

系統(tǒng)的軟件設(shè)計由3部分組成:上位機圖像/文字編輯與發(fā)送軟件設(shè)計、單片機控制單元軟件設(shè)計,以及fpga控制單元軟件設(shè)計。

上位機軟件設(shè)計

上位機的圖像/文字編輯與發(fā)送軟件由visual basic編寫,只須在界面中將屏幕大小設(shè)置為192×128,串口選擇com1或com2,波特率設(shè)置為9600,并設(shè)置每屏的起始地址和要發(fā)送的屏數(shù),調(diào)入包含相關(guān)信息的文件,點擊“發(fā)送”按鈕即可,數(shù)據(jù)流經(jīng)符合rs-422標(biāo)準(zhǔn)的雙絞線傳輸?shù)街骺匕?。該軟件適用于任何大小的彩色/單色屏,提供了豐富的圖形/文字編輯、修改功能。也可以直接調(diào)用windows中的16色畫圖文件(*.bmp),從而可以利用windows或基于windows的各種作圖工具設(shè)計出豐富多彩的圖像。

單片機控制單元軟件設(shè)計

單片機控制單元的軟件設(shè)計主要實現(xiàn)3大功能:串行數(shù)據(jù)接收、數(shù)據(jù)輸出和圖像顯示方式變換。設(shè)計流程如圖4所示。串行數(shù)據(jù)接收部分主要是通過uart中斷接收并保存位圖文件。圖像顯示方式變換部分實現(xiàn)圖像的變換,如上移、下移、左移、右移等,以實現(xiàn)豐富多彩的圖像顯示效果。

fpga控制單元軟件設(shè)計

fpga控制單元是在quartusⅱ環(huán)境下開發(fā)的,主要功能是配置雙口ram、傳送數(shù)據(jù)和相應(yīng)的驅(qū)動信號,以實現(xiàn)串行數(shù)據(jù)的顯示。串行數(shù)據(jù)顯示是軟件設(shè)計的核心,該單元的軟件設(shè)計模塊如圖5所示。

雙端口ram的配置完全由軟件實現(xiàn),fpga讀雙口ram的a區(qū)還是b區(qū)是由單片機的highadr引腳控制的。fpga按照顯示驅(qū)動的要求讀出相應(yīng)的數(shù)據(jù)后,還要將這些數(shù)據(jù)由串轉(zhuǎn)并送至列驅(qū)動的74ls595上。掃描控制信號則在數(shù)據(jù)送到顯示驅(qū)動的過程中產(chǎn)生,用于實現(xiàn)行、列驅(qū)動。

結(jié)語

本文提出的基于cyclone ep1c6和spce061a的led大屏幕方案已應(yīng)用于現(xiàn)場。其基于fpga的雙口ram和掃描控制設(shè)計使得系統(tǒng)穩(wěn)定可靠。實踐證明,本系統(tǒng)能以多種播放方式顯示各種字體和型號的文字和圖形信息,與同類設(shè)計相比,畫面清晰,性能穩(wěn)定、操作使用簡單,具有很好的應(yīng)用前景。



關(guān)鍵詞: 發(fā)光二極管 LED

評論


相關(guān)推薦

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

關(guān)閉