音樂播放控製電路設計方案
發布時間:2010-12-10
中心議題:
1總體方案的設計
設計一個具有3個八度音程的電子音樂自動循環播放電路,具體曲目可以由設計者自由編輯,以簡譜的二進製編碼形式存放在ROM的數據文件中。
設計要求如下:
(1)采用5位(wei)二(er)進(jin)製(zhi)碼(ma)表(biao)示(shi)音(yin)高(gao)信(xin)息(xi),曲(qu)譜(pu)碼(ma)存(cun)儲(chu)器(qi)的(de)地(di)址(zhi)由(you)時(shi)值(zhi)計(ji)數(shu)器(qi)控(kong)製(zhi),計(ji)數(shu)頻(pin)率(lv)按(an)樂(le)曲(qu)的(de)演(yan)奏(zou)速(su)度(du)選(xuan)擇(ze),每(mei)個(ge)脈(mai)衝(chong)周(zhou)期(qi)是(shi)所(suo)選(xuan)曲(qu)譜(pu)中(zhong)最(zui)短(duan)音(yin)符(fu)的(de)時(shi)值(zhi)。存(cun)儲(chu)器(qi)在(zai)時(shi)值(zhi)計(ji)數(shu)脈(mai)衝(chong)作(zuo)用(yong)下(xia)順(shun)序(xu)輸(shu)出(chu)音(yin)高(gao)碼(ma)控(kong)製(zhi)分(fen)頻(pin)器(qi)。
(2)采用20Hz~20kHz的音頻脈衝信號控製蜂鳴器,可以使其根據控製信號頻率發出不同的音調。
音樂播放控製電路設計方案原理框圖如圖1所示。

2設計任務分析
2.1音高編碼和分頻控製
計數器模值控製的方法很多,改變預置數控製模值是比較簡單的一種。分頻計數器的預置數與分頻率和計數方式、預置方式有關。當采用減計數器、並以計數器的溢出信號(CarryOut)實現異步預置控製時,計數器的模(分頻率)等於預置數。比如,當計數脈衝頻率為10MHz時,若希望產生音高“5”,並考慮占空比整形的二分頻作用,分頻係數(計數器的模)應該是3188.9,四舍五入後的計數器預置數應該是3189。其溢出信號的頻率為3135.8Hz,控製蜂鳴器的信號頻率為1567.9Hz,滿足音高頻率要求。若采用同步預置方式,則計數器的預置數應該是模減1,為3188。由於計數器的溢出信號可能出現冒險幹擾,采用同步預置的方法比較安全。
[page]
分析表1可見,表中3個不同音程相同音名(同一行)的信號頻率都相差一倍。

即音程升、降8度時,頻率增加或減小一倍。所以,若分頻計數器的計數脈衝頻率降低一倍時,蜂鳴器發出的音調降低8度。比如,當分頻率仍為3189,但計數脈衝頻率為5MHz時,控製蜂鳴器的信號頻率為784Hz,為中音“5”。
因此若采用模值和輸入脈衝頻率都可控的計數器實現信號分頻,可根據音程碼選擇分頻計數器的輸入脈衝頻率fs、根據音名碼控製分頻計數器的模值N,如圖2所示。

這樣,分頻係數表隻需考慮7個音高。由於計數脈衝隻能分頻降低,所以表中應該存儲高音程7個不同音名對應的計數器預置值,其他兩個音程可通過降低分頻計數器的脈衝頻率實現。
3個8度音程的21個音高至少需要5位二進製碼表示。為了控製方便,考慮將音名和音程分別編碼:7個音名和休止符采用3位二進製碼表示,控製分頻器計數器的預置數實現模值N修改;3個音程用2位二進製碼表示,控製分頻器的計數脈衝頻率fs。
2.2音長控製
曲qu譜pu存cun儲chu單dan元yuan的de數shu據ju輸shu出chu時shi間jian是shi時shi值zhi計ji數shu脈mai衝chong的de一yi個ge周zhou期qi,決jue定ding了le該gai單dan元yuan音yin符fu的de持chi續xu時shi間jian。所suo以yi,與yu計ji數shu脈mai衝chong周zhou期qi相xiang同tong時shi值zhi的de音yin符fu為wei音yin長chang的de度du量liang單dan位wei,其qi音yin符fu碼ma占zhan1個存儲單元。其他音符根據其時值長短占據不同數量的存儲單元。比如,若以8分音符的時值作為存儲器地址計數器的脈衝周期,則8分音符碼占1個存儲單元,4分音符占2個存儲單元,2分音符占4個存儲單元,以此類推。
因此,可以所選曲譜的最短音符作為時值的度量單位。比如,圖3所示的《梁祝》曲譜中最短的音符為8分音,若其編碼存放1個存儲單元,則時值計數脈衝周期為一個8分音長時間,可選O.5s。曲譜中的四分音符碼需要存放2個單元,一拍延長音也需要2個單元。該段曲譜有8個音節,每個音節是一個全音(8個8分音),演奏總時值為8×8個8分音。所以,存儲曲譜編碼的存儲器需要64個存儲單元。
[page]
2.3音強控製
音yin的de強qiang度du也ye稱cheng音yin的de力li度du,體ti現xian了le樂le曲qu的de情qing感gan元yuan素su。由you於yu本ben設she計ji實shi現xian的de是shi簡jian單dan的de電dian子zi音yin樂le播bo放fang,無wu法fa表biao現xian音yin強qiang的de不bu同tong。而er且qie,參can考kao方fang案an還hai不bu能neng區qu別bie相xiang同tong音yin高gao的de音yin符fu連lian續xu與yu否fou。比bi如ru,兩liang個ge八ba分fen音yin符fu“11”的總時值與一個四分音符“1”的時值相同,但體現的樂聲是不同的。前者是兩個強8分音,而後者可以認為是一個強8分音和一個弱8fenyingoucheng。weilejiejuezhegewenti,keyizailianxudexiangtongqiangyinjianjiayigejiduancudejianduanqubieliangzhedebutong,jianduanshijiankeyishijigehaomiao。zheyang,zaiyinfubianmazhongyinggaiyouyiweimakongzhi。
如果間斷音碼單獨占1個存儲單元,可設置間斷音標誌,控製時值計數器狀態為間斷信息單元地址時計數頻率改變,使間斷碼輸出的時間為間斷音長;如果間斷音碼與強音碼存放同一單元,可觸發數字單穩態電路產生問斷控製信號EN。
2.4樂曲的循環播放控製
為wei了le實shi現xian樂le曲qu的de循xun環huan播bo放fang,應ying該gai在zai樂le曲qu結jie束shu時shi使shi曲qu譜pu表biao的de查zha表biao地di址zhi回hui到dao初chu始shi值zhi。可ke在zai曲qu譜pu表biao的de最zui後hou一yi個ge單dan元yuan中zhong存cun放fang一yi個ge結jie束shu符fu,結jie束shu符fu的de編bian碼ma可ke以yi利li用yong音yin程cheng碼ma的de冗rong餘yu碼ma。電dian路lu采cai用yong邏luo輯ji門men對dui音yin程cheng碼ma進jin行xing判pan斷duan,當dang出chu現xian結jie束shu符fu碼ma時shi控kong製zhi時shi值zhi計ji數shu器qi複fu位wei,樂le曲qu重zhong新xin開kai始shi演yan奏zou。
2.5曲譜編碼舉例
設音符的6位二進製編碼中,最高位為間斷音控製,中間2位為音程碼,最低3位為音名碼。每個8分音存放於1個存儲單元,四分音符碼占2個存儲單元。若音名碼用其簡譜數符對應的二進製碼表示,而低、中、高三個音程分別用"01”,“00",“10”三組碼表示,“11”為結束符碼,則圖3曲譜碼存儲表如表2所示。表中6位二進製音符碼用2位八進製數表示。

3電路的實現
根據設計電路原理框圖,曲譜碼以分頻數編碼,音高信號分頻由一個可預置的模N計數器實現。分頻係數表和曲譜表都存儲在ROM中。若希望控製蜂鳴器的信號占空比為50%,分頻器的輸出信號采用二分頻電路實現占空比整形,但注意信號頻率被降低一半。電路原理框圖中M分頻器的作用是產生合適的時值計數脈衝頻率。電路的頂層原理圖如圖4所示。

FPGA技術已成為電子係統設計領域現代化的標誌。本文將FPGAyongyudianzijishukechengsheji,qudelejiaohaodexiaoguo。tongguobenshejijifalexueshengxuexidexingqu,tuokuanlexueshengdesilu,weixueshengjinhoudebiyeshejihecongshidianzijishufangmiandekeyan、開發工作打下了良好的基礎。
- 音樂播放控製電路總體方案的設計
- 設計任務分析
- 電路的實現
- 音高編碼和分頻控製
- 音長控製
- 音強控製
- 樂曲的循環播放控製
- 曲譜編碼舉例
1總體方案的設計
設計一個具有3個八度音程的電子音樂自動循環播放電路,具體曲目可以由設計者自由編輯,以簡譜的二進製編碼形式存放在ROM的數據文件中。
設計要求如下:
(1)采用5位(wei)二(er)進(jin)製(zhi)碼(ma)表(biao)示(shi)音(yin)高(gao)信(xin)息(xi),曲(qu)譜(pu)碼(ma)存(cun)儲(chu)器(qi)的(de)地(di)址(zhi)由(you)時(shi)值(zhi)計(ji)數(shu)器(qi)控(kong)製(zhi),計(ji)數(shu)頻(pin)率(lv)按(an)樂(le)曲(qu)的(de)演(yan)奏(zou)速(su)度(du)選(xuan)擇(ze),每(mei)個(ge)脈(mai)衝(chong)周(zhou)期(qi)是(shi)所(suo)選(xuan)曲(qu)譜(pu)中(zhong)最(zui)短(duan)音(yin)符(fu)的(de)時(shi)值(zhi)。存(cun)儲(chu)器(qi)在(zai)時(shi)值(zhi)計(ji)數(shu)脈(mai)衝(chong)作(zuo)用(yong)下(xia)順(shun)序(xu)輸(shu)出(chu)音(yin)高(gao)碼(ma)控(kong)製(zhi)分(fen)頻(pin)器(qi)。
(2)采用20Hz~20kHz的音頻脈衝信號控製蜂鳴器,可以使其根據控製信號頻率發出不同的音調。
音樂播放控製電路設計方案原理框圖如圖1所示。

2設計任務分析
2.1音高編碼和分頻控製
計數器模值控製的方法很多,改變預置數控製模值是比較簡單的一種。分頻計數器的預置數與分頻率和計數方式、預置方式有關。當采用減計數器、並以計數器的溢出信號(CarryOut)實現異步預置控製時,計數器的模(分頻率)等於預置數。比如,當計數脈衝頻率為10MHz時,若希望產生音高“5”,並考慮占空比整形的二分頻作用,分頻係數(計數器的模)應該是3188.9,四舍五入後的計數器預置數應該是3189。其溢出信號的頻率為3135.8Hz,控製蜂鳴器的信號頻率為1567.9Hz,滿足音高頻率要求。若采用同步預置方式,則計數器的預置數應該是模減1,為3188。由於計數器的溢出信號可能出現冒險幹擾,采用同步預置的方法比較安全。
[page]
分析表1可見,表中3個不同音程相同音名(同一行)的信號頻率都相差一倍。

即音程升、降8度時,頻率增加或減小一倍。所以,若分頻計數器的計數脈衝頻率降低一倍時,蜂鳴器發出的音調降低8度。比如,當分頻率仍為3189,但計數脈衝頻率為5MHz時,控製蜂鳴器的信號頻率為784Hz,為中音“5”。
因此若采用模值和輸入脈衝頻率都可控的計數器實現信號分頻,可根據音程碼選擇分頻計數器的輸入脈衝頻率fs、根據音名碼控製分頻計數器的模值N,如圖2所示。

這樣,分頻係數表隻需考慮7個音高。由於計數脈衝隻能分頻降低,所以表中應該存儲高音程7個不同音名對應的計數器預置值,其他兩個音程可通過降低分頻計數器的脈衝頻率實現。
3個8度音程的21個音高至少需要5位二進製碼表示。為了控製方便,考慮將音名和音程分別編碼:7個音名和休止符采用3位二進製碼表示,控製分頻器計數器的預置數實現模值N修改;3個音程用2位二進製碼表示,控製分頻器的計數脈衝頻率fs。
2.2音長控製
曲qu譜pu存cun儲chu單dan元yuan的de數shu據ju輸shu出chu時shi間jian是shi時shi值zhi計ji數shu脈mai衝chong的de一yi個ge周zhou期qi,決jue定ding了le該gai單dan元yuan音yin符fu的de持chi續xu時shi間jian。所suo以yi,與yu計ji數shu脈mai衝chong周zhou期qi相xiang同tong時shi值zhi的de音yin符fu為wei音yin長chang的de度du量liang單dan位wei,其qi音yin符fu碼ma占zhan1個存儲單元。其他音符根據其時值長短占據不同數量的存儲單元。比如,若以8分音符的時值作為存儲器地址計數器的脈衝周期,則8分音符碼占1個存儲單元,4分音符占2個存儲單元,2分音符占4個存儲單元,以此類推。
因此,可以所選曲譜的最短音符作為時值的度量單位。比如,圖3所示的《梁祝》曲譜中最短的音符為8分音,若其編碼存放1個存儲單元,則時值計數脈衝周期為一個8分音長時間,可選O.5s。曲譜中的四分音符碼需要存放2個單元,一拍延長音也需要2個單元。該段曲譜有8個音節,每個音節是一個全音(8個8分音),演奏總時值為8×8個8分音。所以,存儲曲譜編碼的存儲器需要64個存儲單元。
[page]2.3音強控製
音yin的de強qiang度du也ye稱cheng音yin的de力li度du,體ti現xian了le樂le曲qu的de情qing感gan元yuan素su。由you於yu本ben設she計ji實shi現xian的de是shi簡jian單dan的de電dian子zi音yin樂le播bo放fang,無wu法fa表biao現xian音yin強qiang的de不bu同tong。而er且qie,參can考kao方fang案an還hai不bu能neng區qu別bie相xiang同tong音yin高gao的de音yin符fu連lian續xu與yu否fou。比bi如ru,兩liang個ge八ba分fen音yin符fu“11”的總時值與一個四分音符“1”的時值相同,但體現的樂聲是不同的。前者是兩個強8分音,而後者可以認為是一個強8分音和一個弱8fenyingoucheng。weilejiejuezhegewenti,keyizailianxudexiangtongqiangyinjianjiayigejiduancudejianduanqubieliangzhedebutong,jianduanshijiankeyishijigehaomiao。zheyang,zaiyinfubianmazhongyinggaiyouyiweimakongzhi。
如果間斷音碼單獨占1個存儲單元,可設置間斷音標誌,控製時值計數器狀態為間斷信息單元地址時計數頻率改變,使間斷碼輸出的時間為間斷音長;如果間斷音碼與強音碼存放同一單元,可觸發數字單穩態電路產生問斷控製信號EN。
2.4樂曲的循環播放控製
為wei了le實shi現xian樂le曲qu的de循xun環huan播bo放fang,應ying該gai在zai樂le曲qu結jie束shu時shi使shi曲qu譜pu表biao的de查zha表biao地di址zhi回hui到dao初chu始shi值zhi。可ke在zai曲qu譜pu表biao的de最zui後hou一yi個ge單dan元yuan中zhong存cun放fang一yi個ge結jie束shu符fu,結jie束shu符fu的de編bian碼ma可ke以yi利li用yong音yin程cheng碼ma的de冗rong餘yu碼ma。電dian路lu采cai用yong邏luo輯ji門men對dui音yin程cheng碼ma進jin行xing判pan斷duan,當dang出chu現xian結jie束shu符fu碼ma時shi控kong製zhi時shi值zhi計ji數shu器qi複fu位wei,樂le曲qu重zhong新xin開kai始shi演yan奏zou。
2.5曲譜編碼舉例
設音符的6位二進製編碼中,最高位為間斷音控製,中間2位為音程碼,最低3位為音名碼。每個8分音存放於1個存儲單元,四分音符碼占2個存儲單元。若音名碼用其簡譜數符對應的二進製碼表示,而低、中、高三個音程分別用"01”,“00",“10”三組碼表示,“11”為結束符碼,則圖3曲譜碼存儲表如表2所示。表中6位二進製音符碼用2位八進製數表示。

3電路的實現
根據設計電路原理框圖,曲譜碼以分頻數編碼,音高信號分頻由一個可預置的模N計數器實現。分頻係數表和曲譜表都存儲在ROM中。若希望控製蜂鳴器的信號占空比為50%,分頻器的輸出信號采用二分頻電路實現占空比整形,但注意信號頻率被降低一半。電路原理框圖中M分頻器的作用是產生合適的時值計數脈衝頻率。電路的頂層原理圖如圖4所示。

FPGA技術已成為電子係統設計領域現代化的標誌。本文將FPGAyongyudianzijishukechengsheji,qudelejiaohaodexiaoguo。tongguobenshejijifalexueshengxuexidexingqu,tuokuanlexueshengdesilu,weixueshengjinhoudebiyeshejihecongshidianzijishufangmiandekeyan、開發工作打下了良好的基礎。
特別推薦
- 噪聲中提取真值!瑞盟科技推出MSA2240電流檢測芯片賦能多元高端測量場景
- 10MHz高頻運行!氮矽科技發布集成驅動GaN芯片,助力電源能效再攀新高
- 失真度僅0.002%!力芯微推出超低內阻、超低失真4PST模擬開關
- 一“芯”雙電!聖邦微電子發布雙輸出電源芯片,簡化AFE與音頻設計
- 一機適配萬端:金升陽推出1200W可編程電源,賦能高端裝備製造
技術文章更多>>
- 大聯大世平集團首度亮相北京國際汽車展 攜手全球芯片夥伴打造智能車整合應用新典範
- 2026北京車展即將啟幕,高通攜手汽車生態“朋友圈”推動智能化體驗再升級
- 如何使用工業級串行數字輸入來設計具有並行接口的數字輸入模塊
- 邊緣AI的發展為更智能、更可持續的技術鋪平道路
- 每台智能體PC,都是AI時代的新入口
技術白皮書下載更多>>
- 車規與基於V2X的車輛協同主動避撞技術展望
- 數字隔離助力新能源汽車安全隔離的新挑戰
- 汽車模塊拋負載的解決方案
- 車用連接器的安全創新應用
- Melexis Actuators Business Unit
- Position / Current Sensors - Triaxis Hall
熱門搜索
SATA連接器
SD連接器
SII
SIM卡連接器
SMT設備
SMU
SOC
SPANSION
SRAM
SSD
ST
ST-ERICSSON
Sunlord
SynQor
s端子線
Taiyo Yuden
TDK-EPC
TD-SCDMA功放
TD-SCDMA基帶
TE
Tektronix
Thunderbolt
TI
TOREX
TTI
TVS
UPS電源
USB3.0
USB 3.0主控芯片
USB傳輸速度



