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