摘 要:隨著科學(xué)技術(shù)的迅猛發(fā)展,計算機(jī)技術(shù)也得到了快速的發(fā)展,嵌入式技術(shù)也日趨成熟,并已經(jīng)逐步發(fā)展成了比較關(guān)鍵的一門技術(shù)學(xué)科。文章介紹的是一個基于arm9處理器簡易音樂盒的設(shè)計及其實(shí)現(xiàn)方案,采用的是s3c2410處理器芯片。通過對樂譜音節(jié)和節(jié)拍的混排方式進(jìn)行編碼來實(shí)現(xiàn)樂曲播放的功能。
關(guān)鍵詞:arm;嵌入式技術(shù);s3c2410;音樂盒
1 概述
隨著科學(xué)技術(shù),尤其計算機(jī)技術(shù)的快速發(fā)展,嵌入式技術(shù)也得到了快速的發(fā)展,并逐步發(fā)展成一門關(guān)鍵的技術(shù)學(xué)科。Arm即advanced RISC machines,雖然是一個公司的名字,它代表的是一項技術(shù),是一類微處理器的統(tǒng)稱。它具有這樣的一些特點(diǎn):體積小、低功耗、低成本、高性能;支持Thumb(16位)/ARM(32位)雙指令集,能很好的兼容8位/16位器件;大量使用寄存器,指令執(zhí)行速度更快;大多數(shù)數(shù)據(jù)操作都在寄存器中完成;尋址方式靈活簡單,執(zhí)行效率高;指令長度固定。因而在工業(yè)、軍事國防、網(wǎng)絡(luò)、消費(fèi)電子中能夠處處看到嵌入式技術(shù)arm的應(yīng)用。
2 音樂盒設(shè)計
隨著人類社會的發(fā)展進(jìn)步,人們對視聽方面的享受也提出了更高的要求。傳統(tǒng)的音樂盒大多是機(jī)械型的,一般是由一小片集成電路塊構(gòu)成,一旦接通電源,即可播放優(yōu)美、動聽的樂曲,然而這樣的音樂盒只能重復(fù)播放一個指定的、單一的曲目,不能按照人們的要求,播放出每個人喜歡的樂曲。文章所設(shè)計的音樂盒,不僅能夠存儲樂曲,還可以根據(jù)自身的需要和愛好將自己喜愛的曲目添加進(jìn)去,只需要經(jīng)過簡單的編程即可。
2.1 音樂盒的設(shè)計原理
我們知道頻率決定音調(diào),根據(jù)十二平均律,有如圖1的音階圖對應(yīng)關(guān)系:相鄰之間的兩個音位半音的關(guān)系。圖中每一格為一個半音,通過圖1中的公式,可以求出它們之間各個音的頻率。文章通過《祝你生日快樂》樂曲來描述簡易音樂盒的設(shè)計?!蹲D闵湛鞓贰窐非囊綦A為F,F(xiàn)調(diào)音階與頻率的關(guān)系如表1所示。也就是說,只要能夠產(chǎn)生所對應(yīng)的頻率振蕩信號,再經(jīng)過放大器放大,再將放大的信號傳到揚(yáng)聲器,就可聽到動聽優(yōu)美的音樂。但音樂的長短都是由有一定規(guī)律組織起來的一個音組成,所以必須還要控制好每個音的播放時間,通常節(jié)拍和曲調(diào)的時間都是有其一定的對應(yīng)關(guān)系?!蹲D闵湛鞓贰窐非喿V如圖2所示。
若f1距f2有n個半音,則計算公式為:n個半音=1/12*log2(f1/f2),若f1
圖1 音階圖
2.2 硬件設(shè)計
在硬件設(shè)計方面筆者所采用的是arm9系列s3c2410處理器芯片,這也是整個音樂盒的核心部分。由s3c2410處理器芯片的定時器0來控制GBP0引腳輸出不同頻率的方波,實(shí)現(xiàn)產(chǎn)生每個音符所對應(yīng)的頻率振蕩信號,再經(jīng)過Q1的放大,傳至揚(yáng)聲器播放樂曲。在設(shè)計中,我們所采用的蜂鳴器為無源蜂鳴器。(如圖3)
圖3 硬件結(jié)構(gòu)圖
2.3 軟件設(shè)計
曲譜中不僅包含有音名信息,還包含有節(jié)拍信息。所以我們對曲譜進(jìn)行編碼時所采用的是一種音名和節(jié)拍混排的方式。在程序設(shè)計方面,主要涉及以下因素:根據(jù)音樂簡譜中的低、中、高音的各自7個音符對應(yīng)的頻率,設(shè)置Timer0工作頻率為1MHz,根據(jù)樂曲簡譜圖和音階與頻率的對照表得到每個音符所對應(yīng)的頻率,計算出產(chǎn)生該音符所對應(yīng)頻率的PWM信號所需的計數(shù)初值,然后用一個數(shù)組1來存放這些計數(shù)初值??紤]到每個節(jié)拍的延時時間的不同,設(shè)置一個基礎(chǔ)的延時時間,每個節(jié)拍的延時時間都是該基礎(chǔ)延時時間的整數(shù)倍。用延時函數(shù)來實(shí)現(xiàn)音長,函數(shù)的傳遞參數(shù)作為音長單位,將其用一個數(shù)組2來存放。根據(jù)不同樂曲的簡譜,用一個數(shù)組3按照其播放順序依次存放每個音符在數(shù)組1中的位置和其對應(yīng)音長在數(shù)組2中的位置。通過依次調(diào)用數(shù)組3中的元素,來實(shí)現(xiàn)音樂的播放。
3 結(jié)束語
文章提出了一個簡易音樂盒的設(shè)計方案及實(shí)現(xiàn)思路,僅用到s3c2410處理器芯片的定時器功能,涉及硬件資源較少,采用音節(jié)和節(jié)拍的一個混排方式進(jìn)行編碼,可以節(jié)省內(nèi)存空間。人們可以根據(jù)自己的愛好興趣存儲、播放自己喜愛的樂曲。
參考文獻(xiàn)
[1]劉衛(wèi)鋒,等.音樂與教學(xué)[J].數(shù)學(xué)通報,2005(4).
[2]曹麗燕.基于單片機(jī)的音樂盒設(shè)計[J].信息與電腦,2010.
作者簡介:徐禮國(1984-),男,碩士研究生,主要從事電子技術(shù)研究。