張 霞,崔盼亮
(隴東學(xué)院電氣工程學(xué)院,甘肅慶陽745000)
帶頻譜測試的光立方設(shè)計
張 霞,崔盼亮
(隴東學(xué)院電氣工程學(xué)院,甘肅慶陽745000)
本設(shè)計以STC12C5A60S2為主控芯片,ULN2803為驅(qū)動芯片,8個74HC573為控制芯片,設(shè)計長、寬、高為8×8×8共512個LED燈組成的光立方體。根據(jù)人的視覺暫留效應(yīng),顯示不同的圖案與動畫,通過模式轉(zhuǎn)換功能切換畫面,采用快速FFT變換處理音頻信號,通過信號的標(biāo)定將音樂頻譜顯示出來。該設(shè)計把音樂的美感與動畫的動感結(jié)合起來,給人以一種視覺和聽覺的享受。
STC12C5A32S2;視覺暫留效應(yīng);快速FFT變換;音樂頻譜
21世紀(jì)的顯示技術(shù)將是3D顯示的時代。基礎(chǔ)材料的高速發(fā)展,降低了全彩色顯示產(chǎn)品的成本,由于發(fā)展加快,各種LED產(chǎn)品層出不窮,其中就包括很有代表性的光立方。LED產(chǎn)品的性能的提高,使全彩色顯示產(chǎn)品的色彩、亮度和白平衡都達(dá)到了比較理想的效果,完全可以滿足戶外各種復(fù)雜的環(huán)境要求。由于全彩色顯示產(chǎn)品的產(chǎn)業(yè)化,預(yù)計在未來幾年的發(fā)展中,全彩色LED顯示產(chǎn)品在戶外廣告媒體中的應(yīng)用范圍將快速擴大,并且漸漸地代替?zhèn)鹘y(tǒng)的LED燈箱、霓紅燈系列產(chǎn)品。目前,我國LED大型制造商的市場幾乎擴展到了整個中國。國產(chǎn)LED大屏幕的性價比顯著提高,占據(jù)了一大半LED系列產(chǎn)品的市場。LED顯示屏系列產(chǎn)品的快速發(fā)展和制造技術(shù)的成熟,也推動了電子信息產(chǎn)業(yè)的發(fā)展,給LED顯示屏產(chǎn)業(yè)與電子信息產(chǎn)業(yè)相互結(jié)合奠定了基礎(chǔ),使其獲得了更廣闊的發(fā)展和提高空間[1]。
1.1 工作原理
本系統(tǒng)設(shè)計主要以STC12C5A60S2單片機為核心,以512個藍(lán)色LED燈為顯示模塊,顯示動畫和樂譜。該系統(tǒng)主要由主控模塊、驅(qū)動模塊、顯示模塊構(gòu)成,如圖1所示:
圖1 系統(tǒng)模塊框圖
1.2 設(shè)計方案
1.2.1 單片機主控模塊
本設(shè)計采用與89C51有相同功能的STC12C5A60S2單片機,此單片機具有60K的存儲空間,足夠應(yīng)付光立方復(fù)雜的圖像顯示程序代碼的要求,此單片機還有速度快,加密安全,抗干擾能力強,功耗低,內(nèi)部有集成復(fù)位電路等特點,比較符合此設(shè)計的要求[2]。
1.2.2 驅(qū)動模塊
采用八通道與三極管功能相同的集成芯片ULN2803,此芯片1-8端口輸入,18-11端口輸出,驅(qū)動能力為500mA50V,可以滿足512個LED燈的電流,用一個芯片替代八個三極管,不僅體積變小了,功能還更強了[3]。
1.2.3 顯示模塊
采用藍(lán)色霧面圓形LED燈,可以很好地收聚光線,顯示的燈的光亮不影響周圍的燈的亮度,暗滅明顯,工作電壓在2.7~4.2V,電流為2~10mA。
STC12C5A60S2芯片是宏晶科技生產(chǎn)的具有高速、低功耗、超強抗干擾的新一代8051單片機,指令碼與傳統(tǒng)的8051單片機完全兼容,與普通51單片機相比有以下優(yōu)點:
(1)同一頻率下,速度是普通51單片機的8~12倍;
(2)自帶8路AD轉(zhuǎn)換功能;
(3)帶SPI(在線可編程)接口;
(4)有EEPPOM,可瞬間帶電擦除改寫;
(5)多了兩個定時器,且?guī)WM功能;
(6)I/O口可以定義,有四種狀態(tài);
(7)帶四種可定義中斷優(yōu)先級;
(8)雙串口;
(9)自帶WATCH-DOG;
(10)存儲空間可達(dá)60K。
STC12C5A60S2芯片管腳圖如下(圖2):
圖2 STC12C5A60S2芯片管腳圖
光立方系統(tǒng)主要包括主控部分、LED顯示部分、電源模塊部分等。整個系統(tǒng)又分軟件部分和硬件部分,良好的硬件設(shè)計為軟件的執(zhí)行提供支撐,為系統(tǒng)工作提供硬件實體;軟件為系統(tǒng)的工作提供各種算法,軟件與硬件的結(jié)合,是系統(tǒng)高效工作的基礎(chǔ)。設(shè)計內(nèi)容包括顯示簡單的數(shù)字、動畫以及實現(xiàn)音樂頻譜測試功能,頻譜功能可隨音樂同步顯示[4]。
硬件電路如圖3所示,該硬件電路圖包括一片ULN2803(輸出和光立方的層相接),八片74HC573并接在STC12C5A60S2的P0口上(本圖只畫出一片74HC5730),八片74HC573每個輸出端連接光立方的每一列。
圖3 光立方硬件電路圖
3.1 LED燈的焊接
512個LED燈共分8層,每層采用共陰極接法,64列采用共陽極的接法,這樣接出的8×8×8的立方體就有64個陽極和8個陰極,64個陽極分別串聯(lián)一個電阻后與SN74HC573的輸出腳相連(也可不接電阻,用其他方法代替),陰極直接接回到ULN2803的輸出口[5]。
3.1.1 LED燈點到線的焊接
把LED燈引腳的正負(fù)極按照水平方向插在光立方的模板上,正極在右邊,負(fù)極在左邊,依次插好一列,然后將正極從底部垂直折彎,并與水平方向成90度角,負(fù)極先不處理。如圖4所示:
圖4 光立方焊接圖
3.1.2 LED燈線到面的焊接
依次焊好兩列后,再將第一列的負(fù)極彎折,并與正極成90度角(折負(fù)極時用鑷子夾住負(fù)極以免負(fù)極與正極相互接觸,造成短路),折好后焊接。焊接無誤后用萬用表測試兩列LED燈是否可以正常發(fā)光。按照這種方法,焊完8列,一個面就焊接完成了。一個光立方陣列如圖5所示:
圖5 LED陣列
3.2 光立方控制模塊的焊接
將光立方最小系統(tǒng)的所有元件放到一起,首先觀察一下萬用板,做一個大概的布局,再進行焊接。其焊接步驟如下:
先將40P的芯片插座選一個合適的位置插到PCB板子上,但不進行焊接,接下來依次將10 uf的電容,10 K電阻,兩個30pf的電容以及晶振插到芯片座里面的空余地方,以最少連線的原則做好布局,再進行焊接。如此,復(fù)位電路和晶振電路已經(jīng)焊好了,復(fù)位電路部分也可以再多加一個按鍵復(fù)位[6]。
電源插座以及自鎖開關(guān)的焊接:將5V的電源插頭插到電源插座上,用萬用表的電壓檔測試一下電源的正負(fù)極,用萬用表的蜂鳴器檔測試并找到自鎖開關(guān)用到的兩個引腳,用焊錫做標(biāo)記。然后把電源和自鎖開關(guān)做好布局并焊接。檢查無誤后插上電源,用萬用表測試20引腳、40引腳供電和9引腳焊接是否正常。焊接好每一個模塊都要測試,這樣可以避免光立方整體焊接完后出現(xiàn)故障找不到原因的問題。光立方最小系統(tǒng)背面焊接圖如圖6所示:
圖6 最小系統(tǒng)
ULN2803的1-8腳與單片機的28-21腳依次相連接,10腳連接電源,28到21腳作為光立方8個層的控制端。接下來焊接74HC573插座:輸出口與P0口相連,P0口需要接10K的上拉電阻,需將一個74HC573插座的輸入端與P0口的輸出端焊接,其余的74HC573則用杜邦線相互串聯(lián)。背面焊接圖如圖7所示:
圖7 74HC573
LED引腳插座的焊接(用的是晶振插座):將晶振插座用斜口鉗剪成單個的插座,以洞洞板上每8個空為間距將插座排列到洞洞板上,然后找一塊平整的硬紙板稍微用力蓋到64個插座上,將板子反過來,進行焊接,這樣可以大大節(jié)約焊接時間[7]。
74HC573輸出引腳與64個插座的焊接,這部分需要連接的引腳很多,如果全部用引線或是全部用焊錫連接都行不通,進過觀察板子的布局,選取第一、三、五、七個74HC573用焊錫連接,第二、四、六、八個74HC573用導(dǎo)線連接,以達(dá)到美觀整齊的效果。其效果圖如圖8所示:
圖8 74HC573與晶振插座引腳接線圖
3.3 光立方的整體組裝
將焊好的八個面的陽極垂直插到焊好的插座上,并用焊錫焊接。
將所剩的陰極引腳橫向折90度,并且確保同一層的LED引腳基本在同一平面。
每一層前面7列的相鄰陰極引腳焊接到一起,第8列陰極引腳剪掉。
ULN2803的輸出端與光立方的每一層對應(yīng)用導(dǎo)線焊接連到一起[8]。
音頻輸入模塊的公共端接地,剩下兩個引腳分別接到單片機的P1^0、P1^1口。
控制按鍵的焊接:K1(模式轉(zhuǎn)換)與15引腳相連;K2(復(fù)位)與16引腳相連;K3(模式確認(rèn))與17引腳相連。
(1)DFT算法
DFT是數(shù)學(xué)上經(jīng)常采用的一種映射關(guān)系,反應(yīng)的是時域上N點和頻域上N點的一種對應(yīng)關(guān)系,是將時域上采樣到的信號變換為在離散時間的頻域上的采樣,N點序列的DFT公式為:
(2)FFT算法
FFT即快速傅里葉變換,它并不是一種全新的頻域特征的采樣方式,而是經(jīng)過DFT的改進和變換得來的,可用來將采樣到的信號從時域變換到對應(yīng)的頻域。
DFT與FFT的比較
運算量:FFT的算法優(yōu)化,運算量比DFT小得多,速度快,如果采樣1024個點,就公式而言,F(xiàn)FT的速度比DFT的速度快100多倍。
內(nèi)存:由于DFT的計算量比較大大,所以會占據(jù)很大的內(nèi)存,不利于單片機對信號進行實時處理。
由于本設(shè)計的音樂頻譜功能帶音樂播放功能,由頻譜顯示就必須與歌曲播放同步進行,而且從單片機用來存放算法的空間有限等特點分析來看,采用FFT算法更合理。
要實現(xiàn)音樂頻譜功能,所用的軟件分析法是快速傅立葉算法(FFT),首先,用ADC去采樣一個模擬信號,使之變?yōu)閿?shù)字信號。根據(jù)采樣定理,音頻信號的最高頻率約為20Khz,若ADC的采樣頻率設(shè)置為40Khz,即采樣頻率大于信號頻率的兩倍,就能基本滿足采樣的要求[9]。其次,將采樣得到的數(shù)字信號送入FFT進行變換處理。一般若我們?nèi)個采樣點,經(jīng)過FFT運算之后,就可以得到N個點的FFT變換結(jié)果。但通常為了方便進行FFT運算,通常N取2的整數(shù)次方。設(shè)Fs為ADC的采樣頻率,N為傅立葉變換的點數(shù),則有最小分辨頻率f=Fs/N,因此頻譜顯示的最低頻率就是f Hz,以后每向右移一個點,頻率值將增加f Hz,由于FFT結(jié)果對稱性特點,通常只使用前N/2個采樣點的結(jié)果。
簡言之,使用數(shù)模轉(zhuǎn)換器對輸入的音頻信號進行采樣以后,經(jīng)過FFT變換,然后取某些頻率項的幅值,量化顯示,驅(qū)動LED點陣,這樣就可以點亮光立方了[10]。
由于C語言編程有模塊化和可移植性高的優(yōu)點,結(jié)合光立方程序的實際情況,采用C語言編程,經(jīng)過多次嘗試,最終完成編程[11]。
(1)下載程序并測試
第一次下載程序后,發(fā)現(xiàn)只有第一層燈亮,經(jīng)過排查,發(fā)現(xiàn)并無焊接錯誤,經(jīng)過查資料發(fā)現(xiàn)原因可能是74HC573和ULN2803的電壓不能滿足512個LED燈的需求。選取了兩個100uf的濾波電容加到74HC573和ULN2803的供電端后,發(fā)現(xiàn)光立方開始閃爍,光立方的動畫顯示正常。
頻譜功能測試:
a用音頻線將手機與光立方音頻輸入口相連,發(fā)現(xiàn)程序運行正常,但效果不明顯;
b將光立方與小功放用音頻線連接,進行測試,發(fā)現(xiàn)效果良好[12]。
(2)編程思路
圖9 主程序流程圖
主函數(shù)中,首先完成初始化,根據(jù)按鍵選擇播放模式,頻譜模式下,單片機通A/D對輸入的音頻數(shù)據(jù)進行采樣,將采樣得到的數(shù)據(jù)送入數(shù)據(jù)緩存區(qū)進行預(yù)處理,A/D濾波完成以后,自動增益控制信息進行掃描和其他信息的處理,再將緩存區(qū)存放的數(shù)據(jù)送到快速傅立葉變換處理的子函數(shù)中進行一系列運算處理,然后從緩存區(qū)取出傅里葉變換結(jié)果,根據(jù)得到的幅值計算出光立方的點亮點數(shù),并將數(shù)據(jù)存儲到顯示緩存區(qū)相應(yīng)的中斷函數(shù)中,由顯示緩存區(qū)存儲的數(shù)據(jù)內(nèi)容對光立方進行快速實時刷新點亮;動畫模式下,首先在上位機中根據(jù)自己想要顯示的圖案在模擬光立方上選擇對應(yīng)的點,得到一個對應(yīng)的數(shù)組,將數(shù)組中的數(shù)據(jù)送入到顯示緩存區(qū)相應(yīng)的中斷函數(shù)中,由緩存區(qū)存儲的數(shù)據(jù)對光立方進行點亮,并且不同圖案之間設(shè)定合適的延時時間,圖案就可以動態(tài)顯示。該程序流程圖如圖9所示。
圖10 LED光立方顯示框圖
以STC12C5A60S2為主控芯片,將采集的音頻信號經(jīng)過快速傅里葉變換濾波處理后,通過8×8×8LED光立方矩陣顯示出來。采集的音頻信號分為八段進行標(biāo)定,如果每采集的數(shù)據(jù)小于0.5V,則第一層點亮;如果每采集的數(shù)據(jù)小于1.2V,則第一層和第二層點亮,以此類推,可以將音樂的七個音符全部通過LED矩陣顯示出來,顯示流程如圖10所示。
結(jié)束語
光立方是一種將娛樂與學(xué)習(xí)結(jié)為一體的科學(xué)制作,它的娛樂體現(xiàn)在其靈活的DIY程序變化和立體的動畫顯示,可以根據(jù)自己的喜好修改程序來實現(xiàn)自己想要的動畫效果,而且結(jié)合了音樂頻譜功能的光立方更具音樂的優(yōu)美和動畫的動態(tài)美,光立方的學(xué)習(xí)價值體現(xiàn)通過單片機對512個光立方的控制和對焊接技術(shù)的鍛煉,可謂一舉兩得!
[1]關(guān)積珍,陸家和.我國LED顯示屏技術(shù)和產(chǎn)業(yè)發(fā)展及展望[J].現(xiàn)代顯示,2004(2):5-10.
[2]李全利.單片機原理及接口技術(shù)[M].北京:高等教育出版社,2009:135-150.
[3]郭天祥.新概念51單片機C語言教程[M].北京:電子工業(yè)出版社,2009:27-54.
[4]康華光.電子技術(shù)基礎(chǔ)數(shù)電部分[M].北京:高等教育出版社,2005:444-456.
[5]康華光.電子技術(shù)基礎(chǔ)模擬部分[M].北京:高等教育出版社,2005:68-74.
[6]蘇變萍.復(fù)變函數(shù)與積分變換[M].北京:高等教育,2010:235-270.
[7]游曉容.STC12CSA60S2單片機在光立方體的運用[J].2014,4(12):304-306.
[8]楊永剛.3D光立方的設(shè)計與制作[J].電子世界,2014(6):129-131.
[9]李元生.LED光柱專用驅(qū)動器[J].家庭電子,2005(04):51-52.
[10]劉德全.protues 8電子線路設(shè)計與仿真[M].2014:1-50.
[11]譚浩強.C語言程序設(shè)計[M].北京:清華大學(xué)出版社,2005:15-37.
[12]盧彌堅.主從分布式LED大屏幕顯示系統(tǒng)[J].電腦與信息技術(shù),1997(04):6-14.
【責(zé)任編輯 朱世廣】
Optical Cube Design Based on 51 Single Chip Microcomputer
ZHANG Xia,CUI Pan-liang
(ElectricalEngineeringCollege,LongdongUniversity,Qingyang745000,Gansu)
With STC12C5A60S2 as the primary control chip,74HC573 as control chips and ULN2803 as the drive circuit,a optical cube was designed by dimensions for the 8*8*8 512 LED lights in this thesis. According to people’s persistence of vision effect to displaying some patterns and cartoons on Cube,and by switching screen through mode conversion function and using FFT technology processing audio signals,the music spectrum will be displayed through the calibration. The design combines the beautiful feeling of music and cartoon which has a magnificent visual effect.
STC12C5A60S2;persistence of vision;FFT technology;spectrum
1674-1730(2017)03-0015-05
2016-05-30
張 霞(1986—),女,甘肅鎮(zhèn)原人,講師,碩士,主要從事嵌入式信號處理研究。
TM202
A