梁振楠,彭富林,湯勇明
(東南大學電子科學與工程學院,南京210096)
基于FPGA的旋轉LED顯示設計*
梁振楠,彭富林,湯勇明*
(東南大學電子科學與工程學院,南京210096)
設計開發一種采用FPGA作為控制核心的旋轉LED顯示器方案。針對動態圖案顯示功能的需求,設計了硬件系統組成方案及FPGA內部算法,其中,利用NiosⅡ軟核完成了高速圖像信號的處理,無線通訊和無線供電設計為旋轉工作模式的實現建立了基礎。本系統已完成如貪吃蛇游戲、文字和圖像動態顯示等應用開發,提供了良好的用戶視覺感受與娛樂體驗。
旋轉顯示器;LED;FPGA;NIOS核;無線通信
在顯示技術迅速發展的今天,LED顯示屏作為一種新型信息發布媒體,給人們帶來了一種全新的視覺體驗。LED(Light Emitting Diode)顯示屏由發光二極管陣列構成。發光二極管是一種電流控制器件,具有亮度高、體積小、單色性好、響應速度快、驅動簡單、壽命長等優點,因此得到了廣泛的應用[1]。
目前,市場上的LED顯示屏均為平板LED屏。這種屏具有顯示穩定、顯示內容易修改的優點,但是平板顯示屏的顯示原理要求顯示屏上的每一像素點對應一個LED,這樣造成了平板顯示系統造價過高、顯示控制系統龐大、功耗大等缺點,而且由于幾何結構的限制,決定了平板顯示屏的視場較小[2]。
本文研究了一種采用單排藍光LED燈作為顯示載體,利用人眼的視覺暫留原理,以FPGA作為控制平臺的顯示器設計方案,對系統內部算法進行合理劃分和處理,充分利用 FPGA的 NIOS軟核技術[3-8]和高速并行處理能力,開發實現了旋轉LED顯示信息平臺。新型的旋轉LED顯示屏可以克服平板LED屏的上述不足,并且所用LED數量大大減少,使得制作成本和功耗大幅降低。
本系統的工作原理基于對簡單二維LED點陣顯示屏[9]的擴展,采用FPGA開發平臺DE0作為控制系統,用電機將靜態的LED燈旋轉起來,利用人眼的視覺暫留效應實現靜態圖像顯示和動態動畫顯示,實現LED顯示屏的功能。該系統主要由控制模塊、LED顯示模塊、電機模塊3個模塊組成。系統總體功能如圖1所示。
控制模塊的作用是通過實時檢測LED轉到的位置,控制各個LED燈的亮滅,實現所需的文字或者圖案顯示功能;LED顯示模塊的作用是接收并處理控制模塊發送過來的控制信號,驅動LED燈;電機模塊的作用是保證LED顯示模塊能夠以超過人眼識別的轉速平穩、安靜的旋轉起來。

圖1 系統結構框圖
2.1 控制平臺
根據系統實現中數據的快速處理以及外部接口的靈活配置要求,采用Terasic公司生產的DE0開發系統作為控制平臺。DE0開發系統以Altera公司CycloneⅢ系列中的EP3C16FPGA芯片為核心,可提供15408個邏輯單元以及346個I/O口,滿足本旋轉LED屏系統的控制平臺設計需求。
2.2 LED顯示模塊
LED顯示模塊選用STC12C5A32S2單片機作為驅動部分的控制芯片,通過該款單片機處理無線模塊接收到的控制信號,同時控制LED燈的亮滅。
LED顯示屏由20個貼片LED燈組成,20個LED排成一列,每個LED與其他LED之間留有一定的間距,最外面一個為藍色LED,其余都為紅色LED。由于貼片LED發光所需的功率較小,因此可以用單片機的引腳的高低電平控制燈的亮滅,這樣就可以單片機的一個引腳對應一個LED燈,使得同時控制20個LED顯得極其簡單。
顯示模塊的具體電路如圖2所示。其中包括單片機工作所需的外圍電路,燒寫程序所需的下載口,以及整個模塊的電源模塊。

圖2 顯示模塊
2.3 電機及無線供電模塊
為了使LED顯示模塊能夠以超過30 cycle/s的轉速平穩旋轉,我們選用5V直流電機來帶動整個顯示模塊的旋轉。
在顯示模塊告訴旋轉過程中,通過導線給整個模塊供電的想法顯然是不現實的,為此,我們結合顯示模塊所需的電源功率,比較了類似發電機的電刷供電方法與電磁感應線圈供電方法。在滿足系統要求的前提下,決定采用更為方便快捷的電磁感應線圈供電方法。為此,我們需要將供給電機的直流電壓轉變為交流電壓,供給線圈,然后通過電磁感應,將電壓傳遞給顯示模塊,同樣,顯示模塊中的電源模塊會將接收到的交流電壓轉變為模塊所需的直流電壓。直流電壓轉變為交流電壓的電路如圖3所示。
2.4 人機交互模塊
人機交互媒介采用觸摸屏,顯示部分采用SSD1289IC控制器驅動的TFT屏[10],分辨率為320× 240,顯示畫面清晰,觸摸感應部分采用ADS7843IC。
SSD1289IC提供了多種通信方式,例如SPI模式傳輸,8080-16 bit并行傳輸等。為提高刷屏速率,優化系統,我們采用了8080-16 bit并行傳遞模式,并通過時序優化,很好地實現了TFT屏顯示。總的工作原理為:將圖片按照RGB565模式取模保存,顯示時利用SDRAM作為緩存。每次刷屏時依次將每個像素點的RGB值通過16 bit并行模式傳遞給SSD1289IC內部RAM,從而實現圖片顯示。
ADS7843是一個內置12 bit模數轉換、低導通電阻模擬開關的串行接口芯片。供電電壓2.7 V~5 V,參考電壓VREF為1 V~+VCC,轉換電壓的輸入范圍為0~VREF,最高轉換速率為125 kHz。因其內部結構很容易實現電極電壓的切換,并能進行快速A/D轉換。
ADS7843支持兩種參考電壓輸入模式:一種是參考電壓固定為VREF,另一種采取差動模式,參考電壓來自驅動電極。采用差動模式可以消除開關導通壓降帶來的影響。為提高采樣精度,IC選用了差動模式進行采樣。
系統采用NIOS的單CPU工作模式和MCU兩者結合的控制方式,CPU主要負責模式切換、內部算法處理和無線通信數據的接收和發送,MCU主要進行無線通訊數據的接收和發送、顯示模塊位置信號的檢測、驅動顯示模塊的LED燈,兩者之間通過NRF2401無線模塊通信。上電復位后,兩部分分別加載程序數據,并進行各功能模塊的初始化。可以通過觸摸屏與系統進行交互,實現模式控制、音頻播放等。軟件工作流程如圖4所示。

圖4 軟件流程圖
3.1 LED顯示設計
為使一排LED燈通過旋轉的方式利用人眼的視覺暫留原理顯示出各種圖案,文字,必須控制好每一個LED燈的亮滅,這也正是整個設計的關鍵所在。為此,我們采用一對紅外對管,通過檢測紅外信號的方式來檢測顯示模塊旋轉到的位置,基于此位置信號,配合延時函數來實現對每個LED燈的實時控制,從而達到顯示各種靜態、動態圖案的效果。
旋轉的顯示模塊底端有一個紅外發射管,而固定的底座上有一個紅外接收管,當兩個管子旋轉到對準狀態時,會出現一個電平的跳變,因此,就可以表明現在顯示模塊已經旋轉到兩對管對轉的位置。以此作為觸發信號開始執行代碼,通過延時控制每個LED燈的亮滅,從而完成一圈的顯示效果。因此,通過適當的修改代碼,就可以采用這種控制方式顯示各種各樣的圖案。
3.2 無線通信設計
為了在電機告訴旋轉的前提先實現FPGA控制模塊與 LED顯示模塊的實時通信,我們采用NRF2401來實現該無線通信功能[11]。
NRF2401是單片射頻收發芯片,工作于2.4 GHz~2.5 GHz ISM頻段,芯片內置頻率合成器、功率放大器、晶體振蕩器和調制器等功能模塊,輸出功率和通信頻道可通過程序進行配置。芯片能耗非常低,以-5 dBm的功率發射時,工作電流只有10.5 mA,接收時工作電流只有18 mA,多種低功率工作模式,節能設計更方便。其 DuoCeiverTM技術使NRF2401可以使用同一天線,同時接收兩個不同頻道的數據。NRF2401適用于多種無線通信的場合,如無線數據傳輸系統、無線鼠標、遙控開鎖、遙控玩具等。
NRF2401有4種工作模式:收發模式、配置模式、空閑模式、關機模式。按照無線模塊的收發機制,通過配置不同的模式來實現數據的傳輸,保證控制模塊和顯示模塊通信的實時性和準確性。
3.3 應用開發設計
系統除了可對LED屏實現可控顯示外,還進行了動態文字及圖像顯示以及貪吃蛇小游戲等應用開發。應用開發的關鍵在于對各個LED的顯示位置與時間進行可控設計,在充分考慮人眼視覺特征的情況下,通過良好的邏輯設計,以實現相關的應用開發。
貪吃蛇游戲的軟件開發,結構簡單清晰,體現了良好的邏輯設計。軟件設計將LED顯示和貪吃蛇內部數據處理分開,以達到各模塊的獨立性和簡潔性。
從二維顯示出發,利用人眼的視覺暫留效應實現了旋轉LED顯示效果。該系統可以進行圖像的靜態顯示和動態顯示,并添加了動態的小游戲。具有很好的觀賞性和娛樂性,易于移植,能夠替代矩陣型LED顯示屏實現各種圖案的顯示,有很高的實用價值。由于控制部分設計需求較為復雜,本文采用NIOS軟核實現。通過NIOS技術,結合MCU同時工作,解決了設計具體實施中遇到的接口較多,算法復雜等難題。為提高系統實時性,采用NRF2401無線模塊進行數據傳輸,效果也很理想,實際效果如圖5所示。

圖5 實際效果圖
當然,該作品仍有較多改進空間,如由于限于硬件資源的限制,旋轉LED顯示屏的分辨率還不是很高,只能顯示一些簡單的圖像和動畫,同時,現在只能進行單色顯示,有可能進行全彩LED[12]顯示改進。如果應用于一些較大型的場所,只要按照給出的設計方案對外圍電路進行相應擴展就可以成功實現。
[1] 方志列.發光二極管材料與器件的歷史、現狀和展望[J].物理學和高新技術,2003.259-301.
[2] 諸昌鈐.LED屏原理及工程技術[M].成都:電子科技大學出版社,2000.
[3] 楊軍.基于FPGA的SOPC實踐教程[M].科學出版社,2010.
[4] 赫建國,倪德克,鄭燕.基于NiosⅡ內核的FPGA電路系統設計[M].北京:電子工業出版社,2010.
[5] Altera Corp.Creating Multiprocessor NiosⅡSystem Tutorial[EB/ 0L].Altera,2011.
[6] 高世明,孟令軍,李寶剛.基于NIOS多核處理器的JPEG解碼的設計與實現[J].器件與應用,2011,35(5):42-44.
[7] 張榮,黃海瑩,李春枝.基于NIOSⅡ軟核處理器的嵌入式測試系統軟硬件設計研究[J].計算機測量與控制,2012(2):303-306.
[8] 彭澄廉.挑戰SOC一基于NIOS的SOPC設計與實踐[M].北京:清華大學出社,2004.
[9] 王浩然,秦會斌.LED點陣屏顯示單元的設計與驅動控制[J].電子器件,2010,33(5):550-552.
[10]康志強,汪佳.基于FPGA的3D光立方設計[J].電子器件,2012(6):683-687.
[11]陳麗娟,常丹華.基于nRF2401芯片的無線數據通信[J].電子器件,2006(1):248-250.
[12]談衛星,胡建人.基于STM32的全彩LED顯示屏系統的設計[J].電子器件,2011,34(3):258-260.

梁振楠(1992- ),男,漢族,山西平遙人,本科生,東南大學電子科學與工程學院,pumpkin_xixi@163.com;

湯勇明(1973- ),男,漢族,江蘇蘇州人,博士,研究員,東南大學電子科學與工程學院。主要從事電路與系統、顯示電子學領域的教學和科研工作,tym@seu.edu.cn。
Design of Rotating LED Display Based on FPGA*
LIANG Zhennan,PENG Fulin,TANG Yongming*
(School of Electronic Science and Engineering,Southeast University,Nanjing 210096,China)
A rotating linear array LED display system based on FPGA controller core is presented.According to the dynamic pattern display function requirement,the hardware system and the internal algorithm have been properly designed with the application of NiosⅡsoft cores.The system completes high-speed graphics processing and extends peripheral interface such as the wireless communication,touch screen,and so on.The platform provides good visual and entertainment experiences with application programs,such as Snake Game,text display and so on.
rotating display;LED;FPGA;NiosⅡsoft cores;wireless communication
10.3969/j.issn.1005-9490.2014.02.007
TN873;TN791
A
1005-9490(2014)02-0200-04
項目來源:學科競賽項目
2013-06-10修改日期:2013-07-07
EEACC:4260D