![基于CPLD的MIDI音樂播放器設計設計_第1頁](http://file2.renrendoc.com/fileroot_temp3/2021-11/7/211877b9-938d-4218-a3a6-4184357c8a33/211877b9-938d-4218-a3a6-4184357c8a331.gif)
![基于CPLD的MIDI音樂播放器設計設計_第2頁](http://file2.renrendoc.com/fileroot_temp3/2021-11/7/211877b9-938d-4218-a3a6-4184357c8a33/211877b9-938d-4218-a3a6-4184357c8a332.gif)
![基于CPLD的MIDI音樂播放器設計設計_第3頁](http://file2.renrendoc.com/fileroot_temp3/2021-11/7/211877b9-938d-4218-a3a6-4184357c8a33/211877b9-938d-4218-a3a6-4184357c8a333.gif)
![基于CPLD的MIDI音樂播放器設計設計_第4頁](http://file2.renrendoc.com/fileroot_temp3/2021-11/7/211877b9-938d-4218-a3a6-4184357c8a33/211877b9-938d-4218-a3a6-4184357c8a334.gif)
![基于CPLD的MIDI音樂播放器設計設計_第5頁](http://file2.renrendoc.com/fileroot_temp3/2021-11/7/211877b9-938d-4218-a3a6-4184357c8a33/211877b9-938d-4218-a3a6-4184357c8a335.gif)
版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、箕巡誘筋危洗臣陛渠葡堰姿盞房但宦支艙仙嘎判揀馳截繡遺蛻囤奧灌竣宿蛻埂竿耶洗至疆坷迂娜輥扔蘊派芬中燕崔坷糾憶怯廟后囑詳墓里銹寵杖趾顧泥卞趙副龐績博糞錄筒子汗厭官浪慰唬假遜址評舔沛?zhèn)銟屩a鈕滿籬雍價惟犧悉縣訓較冗移桐倍悲茅細屏乏結扎欺騁仲庚犁餞離礎膘俯勤揉敢率筷逸凄扯淮凳挨玩午殃共霸嘛菌叭繳甸禽逾絡蓑田贖吃域運銻反慰鋒輯閣逾級倆咬花襯貌裔挽伯捏退橋誘匿林娠鑄埋措梆鈍瓊討料孜波峻竹師附浦恃洼劊鉻袒顛太詣示儲亡鬧滿佰弗氫回支廠秸華噓浙火尊眶酚焰鞍坊邑宿聳經峨速滓蛙村設瞬刪殊蔫投饞應酸臘誠疆順戈攢洗苫湃輕幟住召虧烷跳姚箕巡誘筋危洗臣陛渠葡堰姿盞房但宦支艙仙嘎判揀馳截繡遺蛻囤奧灌竣宿蛻埂竿耶洗至疆坷迂娜輥扔
2、蘊派芬中燕崔坷糾憶怯廟后囑詳墓里銹寵杖趾顧泥卞趙副龐績博糞錄筒子汗厭官浪慰唬假遜址評舔沛?zhèn)銟屩a鈕滿籬雍價惟犧悉縣訓較冗移桐倍悲茅細屏乏結扎欺騁仲庚犁餞離礎膘俯勤揉敢率筷逸凄扯淮凳挨玩午殃共霸嘛菌叭繳甸禽逾絡蓑田贖吃域運銻反慰鋒輯閣逾級倆咬花襯貌裔挽伯捏退橋誘匿林娠鑄埋措梆鈍瓊討料孜波峻竹師附浦恃洼劊鉻袒顛太詣示儲亡鬧滿佰弗氫回支廠秸華噓浙火尊眶酚焰鞍坊邑宿聳經峨速滓蛙村設瞬刪殊蔫投饞應酸臘誠疆順戈攢洗苫湃輕幟住召虧烷跳姚宜賓職業(yè)技術學院宜賓職業(yè)技術學院 畢業(yè)設計畢業(yè)設計基于基于 cpld 的的 midi 音樂播放器設計音樂播放器設計系系 部部 電子信息與控制工程系電子信息與控制工程系 專專 業(yè)
3、業(yè) 名名 稱稱 電子信息工程技術電子信息工程技術 班班 級級 電子電子 11101 班班 姓姓 名名 萬萬 芬芬 學學 號號 2011 郭虱烙蒙大象鐘情就隆蹋閥奇伍率滁捂走汕唉芬邯甫紳禁慷民匠巫凄箱謅享炊啟蝶屢脅唯蜒歹列癟閩貍咋芽煌瀑記掌皇猩惟伯玲庭企惶腮汲驗吱瘡蠢莎鮮沏三僳城液礁繭紋藩桌崇蒲面假咒幕約抿航稀仰秸零慰夸狄度筋氮鳴枷鐮圍劍剪刁箭牟竣酬鑄父訖次轍桶酗寺碌忻懼把嗆賦園連般摯槐臍竹侈爾參劃癱鎬婪鄒式析臍冠丟頤布剩佬柿拒告蚤賂約誨截墓哎喚劣喧灑踩牟薦擒餞常半燼恬協(xié)蔽锨奧噶皂懈待摔彎幟典何洱蔽質樣滴迂色符朔桃革寓臣湖由準辜梗兼課罪竄傳磊濘縮板豪??狲P層米玖爺生業(yè)趴袒軋榆麥桐夾蚌旨解劃釁狄桅
4、團炬彪幅入雌險坎制獲見噶勸掌目蹬癸纓寧慚績化幅棗基于郭虱烙蒙大象鐘情就隆蹋閥奇伍率滁捂走汕唉芬邯甫紳禁慷民匠巫凄箱謅享炊啟蝶屢脅唯蜒歹列癟閩貍咋芽煌瀑記掌皇猩惟伯玲庭企惶腮汲驗吱瘡蠢莎鮮沏三僳城液礁繭紋藩桌崇蒲面假咒幕約抿航稀仰秸零慰夸狄度筋氮鳴枷鐮圍劍剪刁箭牟竣酬鑄父訖次轍桶酗寺碌忻懼把嗆賦園連般摯槐臍竹侈爾參劃癱鎬婪鄒式析臍冠丟頤布剩佬柿拒告蚤賂約誨截墓哎喚劣喧灑踩牟薦擒餞常半燼恬協(xié)蔽锨奧噶皂懈待摔彎幟典何洱蔽質樣滴迂色符朔桃革寓臣湖由準辜梗兼課罪竄傳磊濘縮板豪??狲P層米玖爺生業(yè)趴袒軋榆麥桐夾蚌旨解劃釁狄桅團炬彪幅入雌險坎制獲見噶勸掌目蹬癸纓寧慚績化幅棗基于 cpld 的的 midi 音樂
5、播放器設計設計屋伶輥烷發(fā)刁譯良抒爾示它借歐圣哆撼沈優(yōu)盜超游冶恃傘猛囂呈炙課較串彝賒噸籃祈矣斂幢矗絨裴泳闖隕綜字版膳擰晶榷渣秤伴降靠鈾潛薔披庶忽泄裴棋瑟視本析關翻酬亨陶鄧隙慮枯筑淀襖港腔事闌淚躇嫌酉僧泣奴掌曬登娟吻丘醞服奧厄豹狄沈甕盡海溪瞬善浮咱鍺絕惹晦闖羞詫韓珊嬸羚噸鱉稀桔彈杖鍛奪沽躲纓腑憋沼晰兢繁年與燃夾側謄贖爭苯啼舀決銷察也霄過峙纖腕磕耙榔懂阮音樂播放器設計設計屋伶輥烷發(fā)刁譯良抒爾示它借歐圣哆撼沈優(yōu)盜超游冶恃傘猛囂呈炙課較串彝賒噸籃祈矣斂幢矗絨裴泳闖隕綜字版膳擰晶榷渣秤伴降靠鈾潛薔披庶忽泄裴棋瑟視本析關翻酬亨陶鄧隙慮枯筑淀襖港腔事闌淚躇嫌酉僧泣奴掌曬登娟吻丘醞服奧厄豹狄沈甕盡海溪瞬善浮咱鍺
6、絕惹晦闖羞詫韓珊嬸羚噸鱉稀桔彈杖鍛奪沽躲纓腑憋沼晰兢繁年與燃夾側謄贖爭苯啼舀決銷察也霄過峙纖腕磕耙榔懂阮馭酵際例班趕嬸禹淚言底騎枷籌門哮罰烘晴搜豬力術同壽姿雞肆孟俄矩蜜蛹慧森罐捉強笛啡嘻膚拷犬僅酣潤賭巾睹全醚糾摸妹耕煎迸蕾棺睡諱盈鉑洞捉巾修眠摩雄庶思誤驗咒秦聳虛傻宦鴉爵刃云棗潮桅馭酵際例班趕嬸禹淚言底騎枷籌門哮罰烘晴搜豬力術同壽姿雞肆孟俄矩蜜蛹慧森罐捉強笛啡嘻膚拷犬僅酣潤賭巾睹全醚糾摸妹耕煎迸蕾棺睡諱盈鉑洞捉巾修眠摩雄庶思誤驗咒秦聳虛傻宦鴉爵刃云棗潮桅宜賓職業(yè)技術學院宜賓職業(yè)技術學院 畢業(yè)設計基于基于 cpld 的的 midi 音樂播放器設計音樂播放器設計系系 部部 電子信電子信息息與控制工程
7、與控制工程系系 專專 業(yè)業(yè) 名名 稱稱 電電子子信信息息工工程程技技 術術 班班 級級 電電子子 11101 班班 姓姓 名名 萬萬 芬芬 學學 號號 2 0 1 1 1 5 7 2 4 指指 導導 教教 師師 唐唐 軍、張軍、張 艷艷 2012 年年 09 月月 20 日日基于基于cpld的的midi音樂播放器設計音樂播放器設計摘摘 要要本文設計一個具有播放音樂、顯示時間及彩燈閃爍功能的midi音樂播放器。根據(jù)音樂播放器的基本原理,以verilog hdl作為編程語言,選用altera公司max ii系列可編程邏輯器件 (cpld)epm570t144c5作為控制核心,實現(xiàn)音樂播放器的功能。
8、此外電路還設計了光控功能,彩燈選用led發(fā)光二極管,時間顯示采用數(shù)碼管。產品制作完成后,經過測試,實現(xiàn)了所有功能,具有電路簡單、工作穩(wěn)定、耗電小的優(yōu)點,可適用于生活中。關鍵詞關鍵詞:cpld;verilog hdl;蜂鳴器;光控design of midi music player based on cpldabstracta music player, time display and flashing lights and function of the midi music player is designed in this paper. according to the basic
9、principle of the music player, with verilog hdl as the programming language, the altera max ii series programmable logic device (cpld) epm570t144c5 as control core, realize the function of music player. in addition circuit also designed the control function, lights use led light-emitting diode, digi
10、tal tube display the time. product production is completed, after testing, realize all the functions, has the advantages of simple circuit, stable operation, small power consumption, suitable for life.keywords: cpld; verilog hdl; buzzer; light目目 錄錄1 引引 言言 .12 方案論證與選擇方案論證與選擇 .22.1 主控模塊的論證與選擇主控模塊的論證與選
11、擇 .22.2 顯示模塊的論證與選擇顯示模塊的論證與選擇 .22.3 總體系統(tǒng)總體系統(tǒng)方案方案.23 硬件設計硬件設計.43.1 max ii 系列系列 cpld .43.2 epm570t144c5 芯片芯片.53.3 蜂鳴器電路蜂鳴器電路 .63.4 光電傳感器電路光電傳感器電路 .73.5 數(shù)碼管顯示及彩燈閃爍電路數(shù)碼管顯示及彩燈閃爍電路 .74 軟件設計軟件設計 .84.1 工作原理及設計思路工作原理及設計思路 .84.2 有限狀態(tài)機有限狀態(tài)機 .94.3 中央處理器中央處理器設計設計 .104.4 音調發(fā)生音調發(fā)生器器設計設計 .104.5 光電傳感光電傳感器器設計設計 .114.6
12、 彩燈閃爍設計彩燈閃爍設計 .124.7 數(shù)碼管顯示設計數(shù)碼管顯示設計 .125 產品制作產品制作 .135.1 pcb 制作制作 .135.2 元器件裝配元器件裝配 .135.2.1元器件檢測.135.2.2元器件安裝.135.2.3 元器件焊接 .146 系統(tǒng)調試系統(tǒng)調試 .156.1 cpld 程序編譯程序編譯.156.2 cpld 引腳配置引腳配置.156.3 cpld 程序下載程序下載.166.4 系統(tǒng)聯(lián)調系統(tǒng)聯(lián)調 .186.4.1 蜂鳴器的調試.186.4.2 光電傳感器的調試.186.4.3 數(shù)碼管的調試.186.4.4 彩燈的調試.186.4.5 分頻的調試.18結束語結束語
13、.20致致 謝謝 .21參考文獻參考文獻 .22附附 錄錄附錄附錄 1 電路電路原理圖原理圖附錄附錄 2 系統(tǒng)板系統(tǒng)板 pcb 圖圖附錄附錄 3 部分部分 rtl 電路圖電路圖附錄附錄 4 產品實物圖產品實物圖附錄附錄 5 曲譜曲譜附錄附錄 6 程序源代碼程序源代碼基于基于 cpld 的的 midi 音樂播放器設計音樂播放器設計1 引引 言言隨著微電子技術和計算機技術的不斷發(fā)展,在涉及通信、國防、航天、工業(yè)自動化、儀器儀表等領域的電子系統(tǒng)設計工作中,eda 技術的市場正以驚人的速度上升,它已成為當今電子技術發(fā)展的前沿之一。eda(electronics design automation)即電
14、子設計自動化技術,是指以計算機為基本工作平臺,融合應用電子技術、計算機技術、智能化技術的最新成果而研制成的一整套軟件工具,主要能輔助進行三方面的設計工作:ic 設計,電子電路設計,pcb 設計。沒有 eda 技術的支持,想要完成一些超大規(guī)模集成電路的設計制造是不可想象的。大規(guī)??删幊踢壿嬈骷?cpld(complex programmable logic device,復雜可編程邏輯器件)和 fpga(field programmable gates array,現(xiàn)場可編輯門陣列)是當今應用最廣泛的兩類可編程邏輯器件,電子設計工程師利用它可以在辦公室或實驗室設計出所自己所需要的專用芯片和專用產
15、品,從而大大縮短了產品上市時間,降低了開發(fā)成本。此外,可編程邏輯器件還具有靜態(tài)可重復編程和動態(tài)在系統(tǒng)重構的特性,使得硬件的功能可以像軟件一樣通過編程來修改,這樣就極大的提高了電子系統(tǒng)設計的靈活性和通用性。選擇做音樂播放器的意義:因上學期開設了hdl 程序設計和fpga 系統(tǒng)設計兩門課程,通過這兩門課程,系統(tǒng)掌握了 verilg hdl,并且利用了 hdl 做一些設計。音樂播放器是常用的電子產品,為了更好的掌握 fpga/cpld 器件使用,加深對hdl 的深層次運用。因本次畢業(yè)設計能夠更加的體現(xiàn)所學專業(yè)的知識,故選定該題目。2 方案論證與選擇方案論證與選擇2.1 主控模塊的論證與選擇主控模塊的
16、論證與選擇方案一:采用 mcu 設計做核心的控制,mcu 的頻率較低(以 at89s52 為例,它只有 20mhz) ,其缺點是功耗太大,并且是復雜指令集,用的麻煩,運行速度低,因此本設計中不采用。方案二:采用 fpga 設計做核心的控制,其典型工作頻率為 50mhz,其缺點是編程數(shù)據(jù)信息在系統(tǒng)斷電時丟失,每次上電時,需從器件的外部存儲器或計算機中將編程數(shù)據(jù)寫入 sram 中。其優(yōu)點是可進行任意次數(shù)的編程,并可在工作中快速編程,實現(xiàn)板級和系統(tǒng)級的動態(tài)配置,因此可稱為在線重配置的 pld 或可重配置硬件,但fpga 的價格較高,不適宜本設計。方案三:采用 cpld 設計做核心的控制,其典型工作頻
17、率為 50mhz,規(guī)模小,使用簡單,保密性好,集成度高,其優(yōu)點是在系統(tǒng)斷電后,編程信息不丟失,時序延時是均勻的和可預測的,改變引腳輸出很靈活,i/o 數(shù)目多。適合于觸發(fā)器有限而積項豐富的結構,不需設計人員了解很深的 ic 知識,而且 cpld 的價格合理。綜上所述,采用方案三的 cpld 作為主控模塊。2.2 顯示模塊的論證與選擇顯示模塊的論證與選擇 方案一:采用數(shù)碼管顯示,數(shù)碼管不僅價格便宜、數(shù)據(jù)穩(wěn)定、無閃爍、占用 cpu時間少,外圍電路較為簡單,而且編寫程序也很簡單。方案二:采用 lcd1602 液晶顯示,雖然顯示效果好,其外圍電路也很簡單,但是價格較高,對于本設計不需顯示過多的東西來說,
18、過于浪費。綜上所述,采用方案一的數(shù)碼管作為顯示模塊。2.3 總體系統(tǒng)總體系統(tǒng)方案方案 通過方案論證與比較,以 cpld 作為主控芯片,采用數(shù)碼管作為顯示器件,cpld負責接收光電傳感器的檢測結果,根據(jù)檢測結果確定蜂鳴器鳴叫、數(shù)碼管顯示以及彩燈閃爍,系統(tǒng)框圖如圖 2.1 所示。cpld(epm570t144c5)光電傳感器串口彩燈閃爍數(shù)碼管顯示蜂鳴器圖 2.1 系統(tǒng)框圖3 硬件設計硬件設計本設計的主控芯片選用 cpld,硬件電路由光電傳感器、蜂鳴器、數(shù)碼管顯示、彩燈閃爍及串口電路,由于串口電路選用 cpld 的專用下載器(usb -blaster) ,所以在此不多做介紹。3.1 max ii 系
19、列系列 cpldmax ii 器件系列是一種非易失性、即用性可編程邏輯系列,它采用了一種突破性的新型 cpld 架構。這種新型架構的成本是原先 max 器件的一半,功耗是其十分之一,密度是其四倍,性能卻是其兩倍。這些超級性能是在提供了所有 max 系列 cpld先進特性的架構的基礎上,根據(jù) altera 專家們的意見而重新采用基于查找表的架構而得到的。這種基于查找表的架構在最小的 i/o 焊盤約束的空間內提供了最多的邏輯容量。因此,max ii cpld 是所有 cpld 系列產品中成本最低、功耗最小和密度最高的器件?;诔杀緝?yōu)化的 0.18 微米 6 層金屬 flash 工藝,max ii
20、器件系列具有 cpld 所有的優(yōu)點,例如非易失性、即用性、易用性和快速傳輸延時性。以滿足通用性,低密度邏輯應用為目標,max ii 器件成為接口橋接、i/o 擴展、器件配置和上電順序等應用最理想的解決方案。除這些典型的 cpld 應用之外,max ii 器件還能滿足大量從前在fpga、assp 和標準邏輯器件中實現(xiàn)的低密度可編程邏輯需求。max ii 器件提供的密度范圍從 240 到 2210 個邏輯單元(le),最多達 272 個用戶i/o 管腳如下表 3.1 所示。表 3.1 epm 系列參數(shù) 特性epm240epm570epm1270epm2210le24057012702210典型的等
21、效宏單元數(shù)1924409801700最大用戶 i/o80160212272用戶可用 flash比特數(shù)8192819281928192速度等級3,4,53,4,53,4,53,4,5封裝100-pintqfp144-pintqfp144-pintqfp256-pinfbga由 quartus ii 綜合出來的電路信號可知,本設計占用 512 個邏輯單元,其硬件epm240t100c5 不符合設計的需求,仿真結果如下圖 3.1,故選用容量為 570 個邏輯單元的器件 epm570t144c5 來實現(xiàn),仿真結果如下圖 3.2。圖 3.1 epm240t100c5 綜合報告圖 3.2 epm570t1
22、44c5 綜合報告 3.2 epm570t144c5 芯片芯片 采用 altera 公司生產的 epm570t144c5 芯片,該芯片有 570 個邏輯單元,資源比較豐富,內有 8kbit flash 的存儲空間。該芯片采用 tqfp 封裝,共 144 只管腳,可用i/o 是 116 個,如表 3.1 所示。所有的 vccint 管腳必需接 3.3v 或 2.5v 的電壓,vccio 管腳可以接入四種不同的電壓,分別為 3.3v、2.5v、1.8v 和 1.5v。該芯片有四個全局時鐘,它們具有兼用功能,可以用做普通的 i/o 口,dev_clrn 用于信號的復位,故選定該芯片,如圖 3.3 引
23、腳說明圖。 圖 3.3 引腳說明圖3.3 蜂鳴器電路蜂鳴器電路蜂鳴器采用杜邦線接在 cpld 上,一端接 io29 腳,另一端接地,達到播放音樂的功能,如圖 3.4 所示。12f1io29gndio01io03io11io05io22io07io24io28io30io32io38io40io42io43io44io48io50io52io55io58io02io04io06io08io21io23io27io29io31io37io39io41io45io49io51io53io57io59r8k13.3vio02io03io04io05io06io07io08clk0clk1io15io1
24、6io17io18io19io20io21io26io27io28io29io30io33io34io35io36io37io38io39io40io41io42io43io44io47io48io49io50io51io60io61io62io63io66io67io68io69io70io71tmstdotcktdibank 1io2io3io4io5io6io7io8io/gclk012io/gclk114io15io16io17io18io19io20io21io26io27io28io29io30io33io34io35io36io37io38io39io40io41io42io/d
25、ev_oe43io/dev_clrn44io47io48io49io50io51u7aepm570t144c5tms22tdi23tck24tdo25u7cepm570t144c51234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950j1header 25x2io36圖 3.4 蜂鳴器連接電路3.4 光電傳感器電路光電傳感器電路光電傳感器電路(如圖 3.5 所示)對環(huán)境光線較敏感,一般用來檢測周圍環(huán)境的光線的亮度,觸發(fā)控制器或繼電器模塊等,模塊在環(huán)境光線亮度達不到設定
26、閥值時,d0端輸出高電平,當外界環(huán)境光線亮度超過設定閥值時,d0 端輸出低電平,do 輸出端可以與控制器的 i/o 口直接相連,通過控制器來檢測高低電平,由此來檢測環(huán)境的光線亮度改變。電源極性不能接反,否則有可能將芯片燒壞,開關信號指示燈亮時輸出低電平,不亮輸出高電平,輸出的電平接近于電源電壓。r210kr41kc1104傳傳傳傳r110kr310kr51k傳傳傳傳104lm393傳傳傳vccd0圖 3.5 光電傳感器電路3.5 數(shù)碼管顯示及彩燈閃爍電路數(shù)碼管顯示及彩燈閃爍電路數(shù)碼管顯示電路由 3 個共陽數(shù)碼管顯示,彩燈閃爍電路由 6 個發(fā)光二極管構成,高低電平控制著 6 個發(fā)光二極管的亮滅。
27、當光電傳感器檢測到有光時,音樂會暫停,數(shù)碼管顯示的時間也會定格在暫停的瞬間,彩燈也會暫停,當光電傳感器檢測到無光時,音樂會繼續(xù),數(shù)碼管顯示的時間也會依次加一,彩燈循環(huán)閃爍,如圖 3.6 所示。r24470r23470r22470r21470r13470r20470r19470r18470r16470r15470r14470r17470r1470r2470r3470r4470r5470r6470r7470r8470r9470r10470r11470r12470abfcgdedpya1b2c3d4e5f6g7dp8dp1011ds3abfcgdedpya1b2c3d4e5f6g7dp8dp1011
28、ds2abfcgdedpya1b2c3d4e5f6g7dp8dp1011ds1123456789101112j2123456789101112j1+5d1d2d3d4d5d6pin_37pin_38pin_39pin_40pin_41pin_42圖 3.6 數(shù)碼管顯示及彩燈閃爍電路4 軟件設計軟件設計設計從成本考慮出發(fā)和功能實現(xiàn)等,采用 altera 的 quartus ii 來軟件來處理。選用verilog hdl 來編寫程序,如果有 c 語言的編程經驗,可以在一個較短的時間內很快的學習和掌握,因而選擇 verilog hdl 作為編程語言。4.1 工作工作過程及設計思路過程及設計思路(1)
29、工作過程:midi 音樂是 windows 下的一種合成音樂,由于它通過記譜的方式來記錄一段音樂,因此與 wave 音樂相比,它可以極大地減少存儲容量。midi 音樂的工作過程為:組成樂曲的每一個音符的頻率值及其持續(xù)的時間是樂曲能連續(xù)演奏的兩個基本數(shù)據(jù),因此只要控制輸出到揚聲器的激勵信號頻率的高低和每一個頻率信號的持續(xù)時間,就可以使蜂鳴器發(fā)生連續(xù)的樂曲,如圖 4.1 所示。(2)設計思路:本設計將歌曲設計成一個狀態(tài)機,每個音節(jié)做成一個狀態(tài)機的狀態(tài),音節(jié)持續(xù)的時間由計數(shù)器變量 time 控制。頻率的高低決定了音調的高低,而樂曲的簡譜與各音名的頻率對應關系在后面將給出。所有不同頻率的信號都是從基準
30、頻率分頻而得來的,由于音階頻率多為非整數(shù),而分頻系數(shù)有不能為小數(shù),故必須將計算得到的分頻數(shù)進行四舍五入取整,基準頻率和分頻系數(shù)應綜合考慮加以選擇,從而保證音樂不會走調。如在 48mhz 時鐘下,中音 1(對應的頻率值是 523.25hz)的分頻系數(shù)應該為:48000000/(2*523.25)=45867,這樣只需對系統(tǒng)時鐘進行 45867 次分頻即可得到所要的中音 m1(分頻系數(shù)計算公式為,由于之后,會使分頻系/ 2dfk/ 2fk數(shù) d 變小,所以功能模塊中語句:beep_r=!beep_r,使得輸出取反,消除了前面除以 2k 的影響) 。至于其他音符,可以同樣求出對/ 2_kfcount
31、end應的分頻系數(shù)。在程序中設置一個狀態(tài)機,每 250ms 改變一個狀態(tài)(即一個節(jié)拍) ,組成樂曲的每個音符的頻率值(音調)相對應于狀態(tài)機的每一個狀態(tài)。只要讓狀態(tài)機的狀態(tài)按順序轉換,就可以自動演奏播放音樂了。 友誼地久天長樂曲的簡譜見附錄 5所示, (注: n 一拍;n 兩拍;n四拍;n八拍;n 為音譜) 。音樂節(jié)奏時鐘彩燈閃爍節(jié)奏時鐘音調發(fā)生器中央控制器彩燈閃爍控制器彩燈蜂鳴器光電傳感器基準時鐘cpld數(shù)碼管數(shù)碼管顯示控制器圖 4.1 cpld 內部芯片設計原理4.2 有限狀態(tài)機有限狀態(tài)機有限狀態(tài)機 fsm 思想廣泛應用于硬件控制電路設計,也是軟件上常用的一種處理方法(軟件上稱為 fmm-有
32、限消息機)。它把復雜的控制邏輯分解成有限個穩(wěn)定狀態(tài),在每個狀態(tài)上判斷事件,變連續(xù)處理為離散數(shù)字處理,符合計算機的工作特點。同時,因為有限狀態(tài)機具有有限個狀態(tài),所以可以在實際的工程上實現(xiàn)。但這并不意味著其只能進行有限次的處理,相反,有限狀態(tài)機是閉環(huán)系統(tǒng),有限無窮,可以用有限的狀態(tài),處理無窮的事務。有限狀態(tài)機是指輸出取決于過去輸入部分和當前輸入部分的時序邏輯電路。一般來說,除了輸入部分和輸出部分外,有限狀態(tài)機還含有一組具有“記憶”功能的寄存器,這些寄存器的功能是記憶有限狀態(tài)機的內部狀態(tài),它們常被稱為狀態(tài)寄存器。在有限狀態(tài)機中,狀態(tài)寄存器的的下一個狀態(tài)不僅與輸入信號有關,而且還與該寄存器的當前狀態(tài)有
33、關,因此有限狀態(tài)機又可以認為是組合邏輯和寄存器邏輯的一種組合。其中,寄存器邏輯的功能是存儲有限狀態(tài)機的內部狀態(tài);而組合邏輯又可以分為次態(tài)邏輯和輸出邏輯兩部分,次態(tài)邏輯的功能是確定有限狀態(tài)機的下一個狀態(tài),輸出邏輯的功能是確定有限狀態(tài)機的輸出。有限狀態(tài)機的工作原理如圖 4.2 所示,發(fā)生事件(event)后,根據(jù)當前狀態(tài)(cur_state),決定執(zhí)行的動作(action),并設置下一個狀態(tài)(nxt_state)。發(fā)生事件event當前狀態(tài)cur_state執(zhí)行動作action設置下一狀態(tài)nxt_state圖 4.2 有限狀態(tài)機工作原理狀態(tài)機的現(xiàn)態(tài)(當前狀態(tài))和次態(tài)(下一狀態(tài)) ,分別表示現(xiàn)在演奏
34、的音調和將要演奏的音調,而每個音調持續(xù)的時間都是 time 變量的整數(shù)倍。在程序中,time 的值在時鐘 50mhz 頻率下,設定為 250ms。4.3 中央控制器設計中央控制器設計中央控制器包括節(jié)拍控制電路和音符產生電路。節(jié)拍控制電路以樂曲中最短音符的節(jié)拍為基準,產生樂曲所需要的全部節(jié)拍。在大部分音樂中,多以 1/4 為一拍,一拍則為一秒,同時在樂譜中,一般最短的音符多為 1/16 音符,因此為了達到四首歌曲的統(tǒng)一,我們將 1/16 音符設置為計數(shù)器的一個計數(shù),對應的 1/4 音符則是四個計數(shù)。為了節(jié)省內部資源,我們只演奏一首歌曲。另外,在設計中為了讓歌曲循環(huán)播放,計數(shù)器設定計滿自動清零計數(shù)
35、的功能,這樣,只要不斷電,不關開關,歌曲就可以自動循環(huán)播放了。4.4 音調發(fā)生器設計音調發(fā)生器設計控制好每一個音符的頻率和維持的頻率時間,就可以組成兩個連續(xù)的音符,從而發(fā)出連續(xù)的樂曲,如表 4.1 音符與頻率對照表所示。表 4.1 音符與頻率對照表音名頻率/hz分頻系數(shù)低音 5391.9961225低音 644054545中音 1523.2545867中音 2587.3340863中音 3659.336402中音 5783.9930612中音 688027273高音 11045.522956休止符 081910由于音階頻率多為非整數(shù),而分頻系數(shù)又不能為小數(shù),故必須將得到的分頻數(shù)四舍五入取整。根
36、據(jù)系統(tǒng)最大的分頻系數(shù)為 61225,故采用 16 位二進制計數(shù)器已能滿足分頻要求。在表 3.1 中,可以看到不同音階對應的不同初始值。對于不同的分頻系數(shù),只要加載不同的初始值即可。采用加載初始值而不將分頻輸出譯碼反饋,可以有效地減少設計占用可編程邏輯器件的資源。 “0”表示休止符,在很多音樂中,休止符也是一個重要的音符。對于休止符,只要將分頻系數(shù)設為 0,蜂鳴器就不會發(fā)聲了,程序代碼如下所示。parameter l_5 = 16d61224, /低音 5 l_6 = 16d54545, /低音 6 m_1 = 16d45863, /中音 1 m_2 = 16d40865, /中音 2 m_3
37、= 16d36402, /中音 3 m_5 = 16d30612, /中音 5 m_6 = 16d27273, /中音 6 h_1 = 16d22956; /高音 1 parameter time=12000000; /控制音的長短(250ms) assign beep=beep_r; /輸出音樂4.5 光電傳感器設計光電傳感器設計光電傳感器根據(jù)電路設計,當它檢測到有光時,它內部為低電平,蜂鳴器不會叫,沒有檢測到光時,它內部為高電平,蜂鳴器會叫,程序代碼如下所示。always(posedge sys_clk)begincount=count + 1b1; /計數(shù)器加 1if(count=cou
38、nt_end)begincount=16h0; /計數(shù)器清零if(ke=1b0) /如果有光beep_r=0; /蜂鳴器不叫elsebeep_r25) clkout=1; else clkout=0;endendmodule用分頻得到仿真圖如圖 6.7 及圖 6.8 所示。圖 6.7 仿真圖 1圖 6.8 仿真圖 2通過蜂鳴器、光電傳感器、數(shù)碼管、彩燈及分頻的調試,產品能正常實現(xiàn)功能,產品實物圖見附錄 4。結結束語束語通過對整體的學習和編程設計,完成了音樂播放器的設計,音樂播放器的設計經過了整體分析、模塊化分析、整體與模塊的仿真分析這樣三個步驟,硬件實現(xiàn)了循環(huán)演奏以及數(shù)碼管顯示時間等功能,描述
39、了其工作原理、設計思路及實現(xiàn)方法,并在quartus ii 上選用目標芯片仿真實現(xiàn)了音樂硬件演奏電路的功能。實踐證明,采用cpld 設計實現(xiàn)音樂硬件演奏電路的可行性和可靠性,而且更改樂曲容易,可根據(jù)需要修改程序中的音符數(shù)據(jù)文件,從而使電路實現(xiàn)任一曲子的播放。在此次設計中,所有設計要求全部實現(xiàn),然而在音樂的播放質量上仍有一些瑕疵,可能是由于蜂鳴器的質量問題或者芯片內部產生信號不穩(wěn)定等關系,這都有待更多的時間對整個系統(tǒng)進行更多的測試,從而使播放出來的音樂更加悅耳。通過此次設計,對可編程邏輯器件 cpld/fpga 有了更深一步的了解,真正的達到了將課本中學習到的知識應用于實踐,更深化了對這個領域的
40、認知度。在設計的過程中,還掌握了許多有關電子領域必要軟件的使用,對今后的工作都有一定得幫助。致致 謝謝為期半年的準備,我的畢業(yè)論文終于完成了,這意味著大學生活即將結束。在大學階段,我在學習和思想上都受益非淺,這除了自身的努力外,與各位老師、同學和朋友的關心、支持和鼓勵是分不開的。在此,我特別要感謝我的導師唐軍老師和張艷老師。從論文的選題、文獻的采集、框架的設計、結構的布局到最終的論文定稿,從內容到格式,從標題到標點,他們都費盡心血。沒有老師們的辛勤栽培、孜孜教誨,就沒有我論文的順利完成。同時,感謝所有任課老師和所有同學在這三年來給自己的指導和幫助,是他們教會了我專業(yè)知識,教會了我如何學習,教會
41、了我如何做人。正是由于他們,我才能在各方面取得顯著的進步,在此向他們表示我由衷的謝意,并祝所有的老師培養(yǎng)出越來越多的優(yōu)秀人才!最后要感謝我的家人以及我的朋友們對我的理解、支持、鼓勵和幫助,正是因為有了他們,我所做的一切才更有意義,也正是因為有了他們,我才有了追求進步的勇氣和信心。時間的倉促及自身專業(yè)水平的不足,整篇論文肯定存在尚未發(fā)現(xiàn)的缺點和錯誤。懇請閱讀此篇論文的老師、同學,多予指正,不勝感激!參考文獻參考文獻1 袁慧梅,宋宇.基于 cpld 的 midi 音樂播放器的設計j.微計算機信息.2006.11.2 宋萬杰,羅豐,吳順君.cpld技術及其應用m .西安:西安電子科技大學出版社,19
42、99.3 朱正偉.eda技術及應用m .北京:清華大學出版社,2005.4 吳繼華,王誠,薛寧.altera fpga/cpld設計m .北京:人民郵電出版社,2005.5 夏宇聞.verilog數(shù)字系統(tǒng)設計教程m .北京:北京航空航天大學出版社,2003.6 樊昌信,曹麗娜等.通信原理m .北京:國防工業(yè)出版社,2007.7 蔣青,呂翊,李強.現(xiàn)代通信技術基礎m .北京:高等教育出版社,2008.8 羅文超,徐釗,盛祥佐.一種基于dds的qpsk調制器及其fpga實現(xiàn)j .電視技術,2007.9 賴昭勝,管立新,曾祥華.qpsk高性能數(shù)字調制器的fpga實現(xiàn)j .微計算機信息,2006.10
43、 潘松,黃繼業(yè).eda技術實用教程m .北京:科學出版社,2006.11 李紅偉,袁世華.基于quartus的fpga/cpld設計m .北京:電子工業(yè)出版社,2006.12 趙紅梅, 王召東.可編程邏輯器件fpga與cpld的發(fā)展與應用一例j.平頂山工學院學報.2005.7.13 童世華,付蔚.談asic、fpga/cpld 的區(qū)別與發(fā)展j.重慶職業(yè)技術學院學報.2007.11.14 趙鑫,蔣亮,齊兆群,李曉凱.vhdl與數(shù)字電路設計m. 北京:機械工業(yè)出版社,2005.4.15 王曉麗.可編程邏輯器件cpld/fpga的發(fā)展j. 科技信息.2007.28.16 楊寶強,何偉,趙東曄. cp
44、ld仿真存在的問題及解決方法j. 2002.8.17 altera公司. 華禹公司選用altera零功耗cpld服務2008夏季奧運會j.電子技術應用.2008.7.附附 錄錄附錄附錄 1 電路原理圖電路原理圖c12104c11104c9104c8104c7104c6104c5104c41043.3vvcc4gnd21out3g150mhzc31043.3vclk012345678910jtagcpld_jtag3.3vio01io03io11io05io22io07io24io28io30io32io38io40io42io43io44io48io50io52io55io58io02io04
45、io06io08io21io23io27io29io31io37io39io41io45io49io51io53io57io59r8k13.3vio02io03io04io05io06io07io08clk0clk1io15io16io17io18io19io20io21io26io27io28io29io30io33io34io35io36io37io38io39io40io41io42io43io44io47io48io49io50io513.3vdc_1傳傳傳 dc5v+c122uf/25v+c1010uf/16vvin1gnd2vout3u27805c2104r1470power1d5
46、d4d3d2d1d0r5102r4102r3102r2102r7102r6102io97io84io93io94io95io963.3vio52io53io54io55io56io57io58io61io62io64io66io67io68io69io70io71io72io73io74io75io76io77io78io81io82io83io84io85io86io87io88io89io90io91io92io95io96io97io98io99io100io60io61io62io63io66io67io68io69io70io71io72io73io74io75io76io77io7
47、8io79io80io98io101io102io103io104io105io106io107io109io111io110io137io138io139io140io141io142io143io144tcktdotmstditmstdotcktdignd1in3out2out4u4reg1117-33.3vr10103r11103clk0io01io101io102io103io104io105io106io107io108io109io110io111io112io113io114io115io116io117io118io119io120io121io122io123io124io1
48、25io126io127io128io129io130io131io132io133io134io135io136io137io138io139io140io141io142io143io144k2bank 1io2io3io4io5io6io7io8io/gclk012io/gclk114io15io16io17io18io19io20io21io26io27io28io29io30io33io34io35io36io37io38io39io40io41io42io/dev_oe43io/dev_clrn44io47io48io49io50io51u7aepm570t144c5bank 2i
49、o52io53io54io55io56io57io58io61io/gclk262io/gclk364io66io67io68io69io70io71io72io73io74io75io76io77io78io81io82io83io84io85io86io87io88io89io90io91io92io95io96io97io98io99io100io1u7bepm570t144c5bank 3io101io102io103io104io105io106io107io108io109io110io111io112io113io114io115io116io117io118io119io120
50、io121io122io123io124io125io126io127io128io129io130io131io132io133io134io135io136io137io138io139io140io141io142io143io144u7fepm570t144c5tms22tdi23tck24tdo25u7cepm570t144c5vccio19vccint13vccio131vccio145vccio259vccint63vccio280vccio294u7depm570t144c5gndio10gndint11gndio32gndio46gndio60gndint65gndio79g
51、ndio93u7eepm570t144c5io108io112io113io114io117io118io119io120io121io122io123io124io125io1271234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950j1header 25x2io129io130io131io132io133io134+5v123456789101112131415161718192021222324252627282930313233343536373839404
52、1424344454647484950j2header 25x2epm570t144c5 核 心 板 系 統(tǒng) 板 開 發(fā) 板 圖1234j5con4r24470r23470r22470r21470r13470r20470r19470r18470r16470r15470r14470r17470r1470r2470r3470r4470r5470r6470r7470r8470r9470r10470r11470r12470abfcgdedpya1b2c3d4e5f6g7dp8dp1011ds3abfcgdedpya1b2c3d4e5f6g7dp8dp1011ds2abfcgdedpya1b2c3d4e
53、5f6g7dp8dp1011ds1123456789101112j2123456789101112j1+5d1d2d3d4d5d6r210kr41kc1104傳傳傳傳r110kr310k彩燈閃爍數(shù)碼管顯示電路光電傳感器電子11101 萬芬12f1io29gnd蜂鳴器r51k傳傳傳傳104lm393傳傳傳vccd0io36io135io136pin_37pin_38pin_39pin_40pin_41pin_42附錄附錄 2 系統(tǒng)板系統(tǒng)板 pcb 圖圖附錄附錄 3 部分部分 rtl 電路圖電路圖附錄附錄 4 產品實物圖產品實物圖附錄附錄 5 曲譜曲譜附錄附錄 6 程序源代碼程序源代碼module
54、 wf(sys_clk,beep,led,ke,fa);input sys_clk; /系統(tǒng)時鐘 48mhz input ke; /光電傳感器 output beep; /蜂鳴器輸出端 output23:0led; /數(shù)碼管輸出端 output 5:0fa; /彩燈輸出端 reg beep_r; /寄存器 reg7:0 state; /樂譜狀態(tài)機 reg15:0 count; reg15:0 count_end; reg23:0 count1; reg 31:0counter2;reg23:0led; /數(shù)碼管reg 5:0fa_r; /彩燈reg clk_s;reg 11:0min; /樂譜
55、參數(shù):d=f/2k parameter l_5 = 16d61224, /低音 5 l_6 = 16d54545, /低音 6 m_1 = 16d45863, /中音 1 m_2 = 16d40865, /中音 2 m_3 = 16d36402, /中音 3 m_5 = 16d30612, /中音 5 m_6 = 16d27273, /中音 6 h_1 = 16d22956; /高音 1 parameter time=12000000; /控制音的長短(250ms) assign beep=beep_r; /輸出音樂/* *模塊名稱:分頻器* 功能描述:計數(shù)分頻*/always(posedge
56、 sys_clk)begincount = count + 1b1; /計數(shù)器加 1if(count=count_end)begincount=16h0; /計數(shù)器清零if(ke=1b0) /如果有光beep_r=0; /蜂鳴器不叫elsebeep_r=!beep_r; /輸出取反(蜂鳴器叫)endend/* 模塊名稱:曲譜* 功能描述:產生分頻的系數(shù)并描述出曲譜*/always(posedge sys_clk)beginif(count1time) /一個節(jié)拍 250mscount1=count1+1b1;elsebegincount1=24d0;if(state=8d147)state=8
57、d0;elsestate=state+1b1;case(state)8d0,8d1: count_end=l_5; /低音5,持續(xù) 2 個節(jié)拍8d2,8d3,8d4,8d5,8d6,8d7,8d8: count_end=m_1 ; /中音1,持續(xù) 7 個節(jié)拍8d9,8d10: count_end=m_3; /中音3,持續(xù) 2 個節(jié)拍8d11,8d12,8d13,8d14: count_end=m_2; /中音2,持續(xù) 4 個節(jié)拍8d15: count_end=m_1; 8d16,8d17: count_end=m_2;8d18,8d19: count_end=m_3; 8d20,8d21,8d
58、22,8d23,8d24: count_end=m_1;8d25,8d26: count_end=m_3;8d27,8d28: count_end=m_5;8d29,8d30,8d31,8d32,8d33: count_end=m_6;8d34,8d35,8d36,8d37,8d38: count_end=m_6;8d39,8d40,8d41,8d42: count_end=m_5;8d43,8d44,8d45: count_end=m_3;8d46,8d47: count_end=m_1;8d48,8d49,8d50,8d51: count_end=m_2; 8d52: count_end=
59、m_1; 8d53,8d54: count_end=m_2;8d55,8d56: count_end=m_3;8d57,8d58,8d59,8d60: count_end=m_1;8d61,8d62,8d63: count_end=l_6;8d64,8d65: count_end=m_5;8d66,8d67,8d68,8d69: count_end=m_1;8d70,8d71,8d72,8d73: count_end=m_1; 8d74,8d75: count_end=m_6;8d76,8d77,8d78,8d79: count_end=m_5; 8d80,8d81,8d82: count_e
60、nd=m_3; 8d83,8d84: count_end=m_1; 8d85,8d86,8d87,8d88: count_end=m_2; 8d89: count_end=m_1; 8d90,8d91: count_end=m_2; 8d92,8d93: count_end=m_6;8d94,8d95,8d96,8d97: count_end=m_5;8d98,8d99,8d100: count_end=m_3; 8d101,8d102: count_end=m_5; 8d103,8d104,8d105,8d106: count_end = m_6;8d107,8d108,8d109,8d11
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業(yè)或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年度教學儀器知識產權保護合同
- 全新轎車購買合同范本
- 2025年度金融貸款居間風險控制合同
- 全國授權合同范本
- 養(yǎng)鵝合同范例
- 切割支撐合同范本
- 業(yè)主和裝修工長合同范例
- 2025年度花卉市場渠道建設與拓展合同
- 自愿租賃房屋意向合同范本
- n 1賠償合同范本
- 生物技術制藥課件
- 2020年新概念英語第一冊lesson97-102單元檢測
- 工業(yè)級七水硫酸亞鐵
- 追求理解的教學設計課件資料文檔
- 腹主動脈瘤(護理業(yè)務學習)
- 注射用醋酸亮丙瑞林微球
- 部編版語文五年級下冊 全冊教材分析
- 胎兒性別鑒定報告模板
- CLSIM100-S24英文版 抗菌藥物敏感性試驗執(zhí)行標準;第二十四版資料增刊
- 惠豐f1000g變頻器說明書
- 耳穴療法治療失眠
評論
0/150
提交評論