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