基于Cyclone EP1C6和SPCE061A的LED大屏幕系統(tǒng)設(shè)計(jì)
掃描二維碼
隨時(shí)隨地手機(jī)看文章
目前采用的led大屏幕顯示系統(tǒng)的控制電路大多由單個(gè)或多個(gè)單片機(jī)及復(fù)雜的外圍電路組成,單片機(jī)編程比較復(fù)雜,整個(gè)電路的調(diào)試比較麻煩,可靠性和實(shí)時(shí)性難以得到保證。針對(duì)這種情況,本文提出了一種基于spce061a和cyclone ep1c6的led大屏幕解決方案。該設(shè)計(jì)方案無須外掛flash rom和ram,無須任何外部功能電路,所有功能均由一片ep1c6和一片spce061a實(shí)現(xiàn),數(shù)據(jù)處理速度快、可靠性高。 spce061a和cyclone ep1c6簡介 spce061a是凌陽科技的一款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所示。 led大屏幕系統(tǒng)由3個(gè)主要單元組成:上位機(jī)圖像/文字編輯與發(fā)送部分單元、主控板單元、顯示驅(qū)動(dòng)電路單元。系統(tǒng)上位機(jī)由一臺(tái)pc機(jī)來控制,它主要編輯、發(fā)送圖像/文字信息到主控板的存儲(chǔ)器中;主控板對(duì)這些字模數(shù)據(jù)進(jìn)行處理后發(fā)送到大屏幕,并在大屏幕上顯示出來。 系統(tǒng)硬件設(shè)計(jì) 上位機(jī)發(fā)出的信息經(jīng)符合rs-422標(biāo)準(zhǔn)的接口通過雙絞線傳送到主控板上,通訊速率可在上位機(jī)軟件中設(shè)置。接口所用芯片為mc3487和mc3486,rs-422在傳輸率為100kb/s時(shí),可傳輸?shù)淖畲缶嚯x為1200米,本系統(tǒng)的傳輸距離約為200米,傳輸速率最大為115kb/s,采用rs-422方式傳輸可滿足這一長距離通訊的要求。 主控板單元設(shè)計(jì) 該單元的設(shè)計(jì)特點(diǎn)在于數(shù)據(jù)流接收、存儲(chǔ)以及驅(qū)動(dòng)掃描的單片集成,無須任何外圍電路。主控板由一片spce061a和ep1c6組成,如圖2所示。 該單元的設(shè)計(jì)思路是,由單片機(jī)的iob7口以u(píng)art中斷的方式接收上位機(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ù)并行寫到fgga的雙口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í),fpga只能處于等待狀態(tài),這樣就會(huì)導(dǎo)致屏幕動(dòng)態(tài)掃描停止。由于屏幕數(shù)據(jù)是移位輸出的,當(dāng)掃描停止時(shí),因?yàn)闀?huì)有某一行的高電平保持較長的時(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區(qū)時(shí),fpga就去讀a區(qū)的字模數(shù)據(jù)。這樣就不會(huì)造成fpga的停止掃描,保證了各行的點(diǎn)陣有相同的時(shí)間占空比,使屏幕點(diǎn)陣有同樣的亮度。單片機(jī)中的highadr引腳可用于控