音樂播放控製電路設計方案
發布時間: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音長控製
qupucunchudanyuandeshujushuchushijianshishizhijishumaichongdeyigezhouqi,juedinglegaidanyuanyinfudechixushijian。suoyi,yujishumaichongzhouqixiangtongshizhideyinfuweiyinchangdeduliangdanwei,qiyinfumazhan1個存儲單元。其他音符根據其時值長短占據不同數量的存儲單元。比如,若以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分音和一個弱8分(fen)音(yin)構(gou)成(cheng)。為(wei)了(le)解(jie)決(jue)這(zhe)個(ge)問(wen)題(ti),可(ke)以(yi)在(zai)連(lian)續(xu)的(de)相(xiang)同(tong)強(qiang)音(yin)間(jian)加(jia)一(yi)個(ge)極(ji)短(duan)促(cu)的(de)間(jian)斷(duan)區(qu)別(bie)兩(liang)者(zhe)的(de)不(bu)同(tong),間(jian)斷(duan)時(shi)間(jian)可(ke)以(yi)是(shi)幾(ji)個(ge)毫(hao)秒(miao)。這(zhe)樣(yang),在(zai)音(yin)符(fu)編(bian)碼(ma)中(zhong)應(ying)該(gai)有(you)一(yi)位(wei)碼(ma)控(kong)製(zhi)。
如果間斷音碼單獨占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技術已成為電子係統設計領域現代化的標誌。本文將FPGA用yong於yu電dian子zi技ji術shu課ke程cheng設she計ji,取qu得de了le較jiao好hao的de效xiao果guo。通tong過guo本ben設she計ji激ji發fa了le學xue生sheng學xue習xi的de興xing趣qu,拓tuo寬kuan了le學xue生sheng的de思si路lu,為wei學xue生sheng今jin後hou的de畢bi業ye設she計ji和he從cong事shi電dian子zi技ji術shu方fang麵mian的de科ke研yan、開發工作打下了良好的基礎。
- 音樂播放控製電路總體方案的設計
- 設計任務分析
- 電路的實現
- 音高編碼和分頻控製
- 音長控製
- 音強控製
- 樂曲的循環播放控製
- 曲譜編碼舉例
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音長控製
qupucunchudanyuandeshujushuchushijianshishizhijishumaichongdeyigezhouqi,juedinglegaidanyuanyinfudechixushijian。suoyi,yujishumaichongzhouqixiangtongshizhideyinfuweiyinchangdeduliangdanwei,qiyinfumazhan1個存儲單元。其他音符根據其時值長短占據不同數量的存儲單元。比如,若以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分音和一個弱8分(fen)音(yin)構(gou)成(cheng)。為(wei)了(le)解(jie)決(jue)這(zhe)個(ge)問(wen)題(ti),可(ke)以(yi)在(zai)連(lian)續(xu)的(de)相(xiang)同(tong)強(qiang)音(yin)間(jian)加(jia)一(yi)個(ge)極(ji)短(duan)促(cu)的(de)間(jian)斷(duan)區(qu)別(bie)兩(liang)者(zhe)的(de)不(bu)同(tong),間(jian)斷(duan)時(shi)間(jian)可(ke)以(yi)是(shi)幾(ji)個(ge)毫(hao)秒(miao)。這(zhe)樣(yang),在(zai)音(yin)符(fu)編(bian)碼(ma)中(zhong)應(ying)該(gai)有(you)一(yi)位(wei)碼(ma)控(kong)製(zhi)。
如果間斷音碼單獨占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技術已成為電子係統設計領域現代化的標誌。本文將FPGA用yong於yu電dian子zi技ji術shu課ke程cheng設she計ji,取qu得de了le較jiao好hao的de效xiao果guo。通tong過guo本ben設she計ji激ji發fa了le學xue生sheng學xue習xi的de興xing趣qu,拓tuo寬kuan了le學xue生sheng的de思si路lu,為wei學xue生sheng今jin後hou的de畢bi業ye設she計ji和he從cong事shi電dian子zi技ji術shu方fang麵mian的de科ke研yan、開發工作打下了良好的基礎。
特別推薦
- 噪聲中提取真值!瑞盟科技推出MSA2240電流檢測芯片賦能多元高端測量場景
- 10MHz高頻運行!氮矽科技發布集成驅動GaN芯片,助力電源能效再攀新高
- 失真度僅0.002%!力芯微推出超低內阻、超低失真4PST模擬開關
- 一“芯”雙電!聖邦微電子發布雙輸出電源芯片,簡化AFE與音頻設計
- 一機適配萬端:金升陽推出1200W可編程電源,賦能高端裝備製造
技術文章更多>>
- 大聯大世平集團首度亮相北京國際汽車展 攜手全球芯片夥伴打造智能車整合應用新典範
- 2026北京車展即將啟幕,高通攜手汽車生態“朋友圈”推動智能化體驗再升級
- 邊緣重構智慧城市:FPGA SoM 如何破解視頻係統 “重而慢”
- 如何使用工業級串行數字輸入來設計具有並行接口的數字輸入模塊
- 意法半導體將舉辦投資者會議探討低地球軌道(LEO)發展機遇
技術白皮書下載更多>>
- 車規與基於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傳輸速度


