目前采用的LED大屏幕顯示系統(tǒng)的控制電路大多由單個(gè)或多個(gè)單片機(jī)及復(fù)雜的外圍電路組成,,單片機(jī)編程比較復(fù)雜,,整個(gè)電路的調(diào)試比較麻煩,可靠性和實(shí)時(shí)性難以得到保證,。針對(duì)這種情況,,本文提出了一種基于SPCE061A和Cyclone EP1C6的LED大屏幕解決方案。該設(shè)計(jì)方案無(wú)須外掛FLASH ROM和RAM,,無(wú)須任何外部功能電路,,所有功能均由一片EP1C6和一片SPCE061A實(shí)現(xiàn),數(shù)據(jù)處理速度快,、可靠性高,。
SPCE061A和CycloneEP1C6簡(jiǎn)介
SPCE061A是凌陽(yáng)科技的一款16位微控制器,內(nèi)嵌32KB閃存和2KB字SRAM,。CPU最高可工作在49MHz的主頻下,,較高的處理速度使SPCE061A能夠非常容易、快速地處理復(fù)雜的數(shù)字信號(hào),。本文設(shè)計(jì)的是一個(gè)點(diǎn)陣大小為192×128的單色(紅色)顯示屏,,且按要求連續(xù)顯示5屏數(shù)據(jù),SPCE061A豐富的片內(nèi)資源正好滿足了如此大的數(shù)據(jù)處理和存儲(chǔ)要求,。本文采用由UART中斷接收上位機(jī)數(shù)據(jù)并將數(shù)據(jù)寫入32KB閃存中的方法,,取代了傳統(tǒng)MCU+ROM+RAM的設(shè)計(jì),增加了系統(tǒng)的穩(wěn)定性,。
Cyclone EP1C6是Altera推出的一款高性價(jià)比FPGA,。該器件提供的具有異步、雙端口,、帶寄存器輸入口,、可選擇的帶寄存器輸出口的存儲(chǔ)模塊—M4K在本設(shè)計(jì)中被設(shè)置成一個(gè)雙口RAM,實(shí)現(xiàn)數(shù)據(jù)的讀寫同步,,提高了系統(tǒng)的刷新頻率,。
整體設(shè)計(jì)方案
本系統(tǒng)設(shè)計(jì)的是一塊具有192×128個(gè)紅色LED點(diǎn)陣的電子大屏幕。整塊大屏幕是模塊化的結(jié)構(gòu),,每4個(gè)16×16的點(diǎn)陣塊為一個(gè)最小模塊,,每行點(diǎn)陣由3個(gè)同樣的最小模塊級(jí)聯(lián)而成,共8行,。大屏幕上要求連續(xù)顯示5屏內(nèi)容,,且每屏都具有上下左右移動(dòng)等動(dòng)畫效果。實(shí)際應(yīng)用中主控制室距離電子屏約為200米,。結(jié)合設(shè)計(jì)對(duì)象的要求和大屏幕設(shè)計(jì)的特點(diǎn),,本文提出了一種新穎的設(shè)計(jì)方案。該方案的整體框圖如圖1所示,。
圖1 系統(tǒng)框圖
LED大屏幕系統(tǒng)由3個(gè)主要單元組成:上位機(jī)圖像/文字編輯與發(fā)送部分單元,、主控板單元、顯示驅(qū)動(dòng)電路單元,。系統(tǒng)上位機(jī)由一臺(tái)PC機(jī)來(lái)控制,,它主要編輯、發(fā)送圖像/文字信息到主控板的存儲(chǔ)器中,;主控板對(duì)這些字模數(shù)據(jù)進(jìn)行處理后發(fā)送到大屏幕,,并在大屏幕上顯示出來(lái)。
系統(tǒng)硬件設(shè)計(jì)
上位機(jī)發(fā)出的信息經(jīng)符合RS-422標(biāo)準(zhǔn)的接口通過(guò)雙絞線傳送到主控板上,,通訊速率可在上位機(jī)軟件中設(shè)置,。接口所用芯片為MC3487和MC3486,RS-422在傳輸速率為100kb/s時(shí),可傳輸?shù)淖畲缶嚯x為1200米。本系統(tǒng)的傳輸距離約為200米,,傳輸速率最大為115kb/s,,采用RS-422方式傳輸可滿足這一長(zhǎng)距離通訊的要求。
主控板單元設(shè)計(jì)
該單元的設(shè)計(jì)特點(diǎn)在于數(shù)據(jù)流接收,、存儲(chǔ)以及驅(qū)動(dòng)掃描的單片集成,,無(wú)須任何外圍電路。主控板由一片SPCE061A和EP1C6組成,如圖2所示,。
&
nbsp; 圖2 主控板框圖
該單元的設(shè)計(jì)思路是,,由單片機(jī)的IOB7口以UART中斷的方式接收上位機(jī)發(fā)送的數(shù)據(jù)。這是由于大屏幕處于被動(dòng),、循環(huán)往復(fù)的顯示狀態(tài),采用異步傳輸能減少系統(tǒng)不斷查詢串口接收標(biāo)志位的系統(tǒng)消耗,。單片機(jī)將接收的串口數(shù)據(jù)以兩個(gè)字節(jié)為單位逐一寫入內(nèi)置的閃存中,。單片機(jī)內(nèi)部的2KB SRAM作為緩存區(qū),每當(dāng)單片機(jī)要向FPGA中寫一屏新的數(shù)據(jù)時(shí),,先按特定的地址從閃存中讀出數(shù)據(jù)并存放到SRAM中,,再將SRAM中的數(shù)據(jù)并行寫到FPGA的雙口RAM中。單片機(jī)與FPGA的接口信號(hào)除了16根數(shù)據(jù)線外,,還包括單片機(jī)向FPGA寫數(shù)據(jù)的地址,、寫使能和寫時(shí)鐘。由于每屏的點(diǎn)陣數(shù)為192×128,,16位數(shù)據(jù)并行傳輸所需的地址線為11根,。但由于設(shè)計(jì)需要,系統(tǒng)中還專門設(shè)置了1根額外的地址線,,用于對(duì)FPGA的雙口RAM進(jìn)行讀寫分區(qū),,因此共使用了12根地址線。
FPGA在其內(nèi)部配置一個(gè)雙口RAM緩存單片機(jī)寫入的數(shù)據(jù),,同時(shí)將這些數(shù)據(jù)按照大屏幕的結(jié)構(gòu)和掃描電路的特點(diǎn)選擇性地讀出,,然后對(duì)數(shù)據(jù)由并轉(zhuǎn)串輸出到大屏幕的掃描驅(qū)動(dòng)電路。由于大屏幕采用模塊化的隔行掃描方式,,每行需要2根數(shù)據(jù)線進(jìn)行隔行傳輸,整塊大屏幕共需16根數(shù)據(jù)線,。由于點(diǎn)陣的行列驅(qū)動(dòng)均采用74LS595驅(qū)動(dòng),故FPGA還應(yīng)產(chǎn)生列掃描的點(diǎn)時(shí)鐘,、鎖存信號(hào)和行掃描的數(shù)據(jù),、時(shí)鐘、鎖存信號(hào),。
雙口RAM的配置
由于數(shù)據(jù)顯示是一種動(dòng)態(tài)掃描方式,,如果采用一個(gè)RAM區(qū),當(dāng)單片機(jī)寫RAM 時(shí),F(xiàn)PGA只能處于等待狀態(tài),,這樣就會(huì)導(dǎo)致屏幕動(dòng)態(tài)掃描停止,。由于屏幕數(shù)據(jù)是移位輸出的,當(dāng)掃描停止時(shí),,因?yàn)闀?huì)有某一行的高電平保持較長(zhǎng)的時(shí)間,,該行就會(huì)一直保持較強(qiáng)的亮度,影響屏幕的顯示效果,。本系統(tǒng)中設(shè)計(jì)了2個(gè)同樣大小的RAM 區(qū):A區(qū)和B區(qū),,讓單片機(jī)交替進(jìn)行寫操作。當(dāng)單片機(jī)在寫A區(qū)時(shí),, FPGA就去讀B區(qū)的字模數(shù)據(jù),;當(dāng)單片機(jī)寫B(tài)區(qū)時(shí),F(xiàn)PGA就去讀A區(qū)的字模數(shù)據(jù),。這樣就不會(huì)造成FPGA的停止掃描,,保證了各行的點(diǎn)陣有相同的時(shí)間占空比,使屏幕點(diǎn)陣有同樣亮度,。單片機(jī)中的 HIGHADR引腳可用于控制單片機(jī)的寫區(qū)和FPGA的讀區(qū),。
由于每屏點(diǎn)陣數(shù)據(jù)的大小為1536字,A區(qū)和B區(qū)的容量都至少要大于1536,那么整個(gè)的RAM區(qū)至少為1536×2字??紤]到EP1C6內(nèi)部集成了20塊容量為256字的M4K模塊,正好可以滿足本系統(tǒng)對(duì)RAM的需求,。雙口RAM的配置如圖3所示。
圖3 雙口RAM配置
其中wren是單片機(jī)往FPGA中寫入數(shù)據(jù)的寫使能信號(hào),,wraddress[11..0]是寫地址信號(hào),, wrclock是寫時(shí)鐘,data[15..0]是寫數(shù)據(jù),,rdaddress[11..0]是讀地址信號(hào),,rdclock是讀數(shù)據(jù)的時(shí)鐘信號(hào),q[15..0]是讀出的數(shù)據(jù),。對(duì)于這個(gè)雙口RAM而言,,只有q[1
5..0]是輸出端口,其它均為輸入端口,。與寫數(shù)據(jù)相關(guān)的信號(hào)全部由單片機(jī)產(chǎn)生,,讀數(shù)據(jù)的所有信號(hào)由FPGA產(chǎn)生。其中讀寫地址的最高位可實(shí)現(xiàn)RAM分區(qū),。
點(diǎn)陣驅(qū)動(dòng)電路
本系統(tǒng)中LED的灰度等級(jí)是采用調(diào)制占空比的方法來(lái)實(shí)現(xiàn)的,,由于大屏幕是單色點(diǎn)陣,主要用來(lái)顯示文字信息,,所以要求亮度高且均衡,。根據(jù)這一特點(diǎn),,采用了模塊化的隔8行掃描方式。每隔8行點(diǎn)陣同時(shí)進(jìn)行掃描,,則每行的占空比是1/8,,使屏幕亮度得到保證。
點(diǎn)陣的驅(qū)動(dòng)電路分為行驅(qū)動(dòng)和列驅(qū)動(dòng),,列驅(qū)動(dòng)采用串行數(shù)據(jù)傳輸方式,,易于模塊化。列驅(qū)動(dòng)電路由74LS595組成,,行驅(qū)動(dòng)電路由74LS595和與之配套的反相器7406,、PNP達(dá)林頓功率三極管TIP127組成。所有作為行驅(qū)動(dòng)74LS595的數(shù)據(jù)時(shí)鐘信號(hào),、數(shù)據(jù)鎖存信號(hào),、掃描數(shù)據(jù)、時(shí)鐘,、鎖存信號(hào)都在一起,,所有作為列驅(qū)動(dòng)74LS595的數(shù)據(jù)時(shí)鐘信號(hào)、數(shù)據(jù)鎖存信號(hào),、掃描數(shù)據(jù)、時(shí)鐘,、鎖存信號(hào)也是在一起的,,這樣可以實(shí)現(xiàn)大屏幕的同步顯示。
軟件設(shè)計(jì)
系統(tǒng)的軟件設(shè)計(jì)由3部分組成:上位機(jī)圖像/文字編輯與發(fā)送軟件設(shè)計(jì),、單片機(jī)控制單元軟件設(shè)計(jì),,以及FPGA控制單元軟件設(shè)計(jì)。
上位機(jī)軟件設(shè)計(jì)
上位機(jī)的圖像/文字編輯與發(fā)送軟件由Visual Basic編寫,,只須在界面中將屏幕大小設(shè)置為192×128,,串口選擇COM1或COM2,波特率設(shè)置為9600,,并設(shè)置每屏的起始地址和要發(fā)送的屏數(shù),,調(diào)入包含相關(guān)信息的文件,點(diǎn)擊“發(fā)送”按鈕即可,。數(shù)據(jù)流經(jīng)符合RS-422標(biāo)準(zhǔn)的雙絞線傳輸?shù)街骺匕?。該軟件適用于任何大小的彩色/單色屏,提供了豐富的圖形/文字編輯,、修改功能,。也可以直接調(diào)用Windows中的16色畫圖文件(*.bmp),從而可以利用Windows或基于Windows的各種作圖工具設(shè)計(jì)出豐富多彩的圖像,。
單片機(jī)控制單元軟件設(shè)計(jì)
單片機(jī)控制單元的軟件設(shè)計(jì)主要實(shí)現(xiàn)3大功能:串行數(shù)據(jù)接收,、數(shù)據(jù)輸出和圖像顯示方式變換,。設(shè)計(jì)流程如圖4所示。串行數(shù)據(jù)接收部分主要是通過(guò)UART中斷接收并保存位圖文件,。圖像顯示方式變換部分實(shí)現(xiàn)圖像的變換,,如上移、下移,、左移,、右移等,以實(shí)現(xiàn)豐富多彩的圖像顯示效果,。
圖4 主程序流程圖和中斷程序流程圖
FPGA控制單元軟件設(shè)計(jì)
FPGA控制單元是在QUARTUSII環(huán)境下開發(fā)的,,主要功能是配置雙口RAM、傳送數(shù)據(jù)和相應(yīng)的驅(qū)動(dòng)信號(hào),,以實(shí)現(xiàn)串行數(shù)據(jù)的顯示,。串行數(shù)據(jù)顯示是軟件設(shè)計(jì)的核心,該單元的軟件設(shè)計(jì)模塊如圖5所示,。雙端口RAM的配置完全由軟件實(shí)現(xiàn),,F(xiàn)PGA讀雙口RAM的A區(qū)還是B區(qū)是由單片機(jī)的HIGHADR引腳控制的。FPGA按照顯示驅(qū)動(dòng)的要求讀出相應(yīng)的數(shù)據(jù)后,,還要將這些數(shù)據(jù)由串轉(zhuǎn)并送至列驅(qū)動(dòng)的74LS595上,。掃描控制信號(hào)則在數(shù)據(jù)送到顯示驅(qū)動(dòng)的過(guò)程中產(chǎn)生,用于實(shí)現(xiàn)行,、列驅(qū)動(dòng),。
圖5 FPGA控制單元軟件設(shè)計(jì)框圖
結(jié)語(yǔ)
本文提出的基于Cyclone EP1C6和SPCE061A 的LED 大屏幕方案已應(yīng)用于現(xiàn)場(chǎng)。其基于FPGA的雙口RAM 和掃描控制設(shè)計(jì)使得系統(tǒng)穩(wěn)定可靠,。實(shí)踐證明,,本系統(tǒng)能以多種播出方式顯示各種字體和型號(hào)的文字和圖形信息,與同類設(shè)計(jì)相比,,畫面清晰,、性能穩(wěn)定、操作使用簡(jiǎn)單,,具有很好的應(yīng)用前景,。