基于FPGA的電子琴動(dòng)態(tài)錄音與回放系統(tǒng)的設(shè)計(jì)
設(shè)計(jì)一個(gè)雙端口的存儲(chǔ)深度為1 024、存儲(chǔ)寬度為6位的隨機(jī)存儲(chǔ)器RAM,用來(lái)存儲(chǔ)彈奏的樂(lè)曲,并可播放出來(lái)。生成的RAM單元如圖6所示。data[5..O]端口為彈奏電子琴時(shí)由發(fā)聲控制模塊產(chǎn)生的音符數(shù)據(jù)。本文引用地址:http://www.ex-cimer.com/article/192067.htm
當(dāng)系統(tǒng)處于“錄音/回放模式”的“錄音”狀態(tài)時(shí),將當(dāng)前所彈奏的音符進(jìn)行轉(zhuǎn)換,輸出作為RAM的存儲(chǔ)數(shù)據(jù)“DATA”。wraddress[9..O]代表十位寬度的寫(xiě)地址端口,rdaddress[9..0]代表十位寬度的讀地址端口。wrclock為RAM寫(xiě)入時(shí)鐘,rdclock為RAM讀出時(shí)鐘。Q[5..0]為從RAM中讀出所存放數(shù)據(jù),即data。從圖6可以看出,此雙口RAM具有獨(dú)立的讀寫(xiě)時(shí)鐘和讀寫(xiě)使能。選擇這樣的RAM的目的是為了以一個(gè)固定頻率wrclock(本設(shè)計(jì)取4 Hz)的時(shí)鐘對(duì)RAM進(jìn)行寫(xiě)操作,即以一個(gè)固定的采樣頻率對(duì)所彈奏的樂(lè)曲進(jìn)行采樣存儲(chǔ);另一方面以節(jié)奏控制部分輸出的時(shí)鐘rdclock作為RAM的讀時(shí)鐘信號(hào),使得回放過(guò)程可以以不同的節(jié)奏將儲(chǔ)存的樂(lè)曲播放出來(lái)。這是其新穎之處,使電子琴在回放過(guò)程中更加靈活多變,功能更多。
其仿真波形圖如圖7所示。從仿真圖上可以看出,RAM存儲(chǔ)器在寫(xiě)使能信號(hào)和讀使能信號(hào)控制作用下依次寫(xiě)入數(shù)據(jù)信號(hào),并按寫(xiě)入地址先后次序再準(zhǔn)確地讀出來(lái),實(shí)現(xiàn)了錄音和回放的功能要求。
本設(shè)計(jì)采用杭州康芯電子有限公司開(kāi)發(fā)的電子設(shè)計(jì)應(yīng)用板(型號(hào):KX―DVP3F)進(jìn)行對(duì)系統(tǒng)的調(diào)試與功能驗(yàn)證。利用QuartusⅡ6.O軟件生成.sol或者.pof編程文件,通過(guò)USB下載器將編程文件配置到CycloneⅡEP2C8Q208芯片中,經(jīng)過(guò)數(shù)次的調(diào)試,多功能電子琴的全部技術(shù)指標(biāo)和功能很好地符合設(shè)計(jì)要求,發(fā)聲準(zhǔn)確,易操作,可視性強(qiáng)。
有限狀態(tài)機(jī)設(shè)計(jì)技術(shù)是實(shí)用數(shù)字系統(tǒng)中的重要組成部分,也是實(shí)現(xiàn)高效率高可靠邏輯控制的重要途徑。它具有類(lèi)似CPU的高速運(yùn)算和控制能力,程序?qū)哟畏置鳎Y(jié)構(gòu)清晰,易讀易懂;在排錯(cuò)、修改和模塊移植方面也有獨(dú)到之處。
評(píng)論