999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于FPGA的電子琴動態錄音與回放系統的設計

2009-03-19 01:59:12李雪梅
現代電子技術 2009年3期

摘 要:大多數的電子琴設計都有彈奏和播放功能,但能自動對彈奏的樂曲進行動態錄音并可改變回放快慢的設計卻很少,而該設計采用VHDL語言有限狀態機的設計方法對ROM/RAM控制電路進行編程,基于QuartusⅡ6.0開發平臺仿真編譯,下載到FPGA芯片(CycloneII EP2C8Q208)中測試,準確地實現了電子琴動態錄音與回放并快慢可調功能。實驗表明采用FPGA實現音樂存儲、動態錄音與回放演奏系統是可行的,為實現音樂存儲與播放展示了良好的應用前景,也為各類多媒體大容量語音芯片系統設計提供了一種新的技術方法。

關鍵詞:FPGA;VHDL;狀態機;錄音與回放

中圖分類號:TN40文獻標識碼:B

文章編號:1004-373X(2009)03-130-03

Design of Electronic Organ System Recording and Replaying Based on FPGA

LI Xuemei

(Leshan Teachers College,Leshan,614000,China)

Abstract:Most designs of electronic organs have the essential functions of playing and replaying,but few are equipped with the device of dynamic recorging of the music being played and the device of speed adjustment.This design is based upon QuartusⅡ6.0,adopting the design of VHDL state machine,thus making the recording and replaying speed of the electronic organ adjustable,which indicates that it is feasible to adopt FPGA to record and replay music.This design brings forth a favorable prospect for music recording and replaying and provids a new technic for the design of bulky sound chips of diversified multimedia.

Keywords:FPGA;VHDL;state machine;recording and repalying

0 引 言

樂曲都是由一連串的音符組成,因此按照樂曲的樂譜依次輸出這些音符所對應的頻率,就可以在揚聲器上連續地發出各個音符的音調。大多數的電子琴設計都有彈奏和播放功能,但能自動對彈奏的樂曲進行錄音并可改變回放快慢可調的設計卻很少[1-3]。要實現錄音和回放功能,就必須將彈奏的音符值在相應的寫控制信號控制下存儲到FPGA芯片內部的隨機存儲器(RAM)中,而在相應的讀控制信號控制下,將RAM中存儲的音符值讀出來,送給相應的發聲控制等模塊。進入20 世紀90 年代以后,EDA 技術得到了飛速的發展,電子系統的設計方法發生了很大的變化,傳統的設計方法正逐步退出歷史舞臺,而基于EDA 技術的可編程邏輯芯片設計成為電子系統設計的主流。本設計基于QuartusⅡ6.0開發平臺,采用VHDL語言在FPGA芯片上成功地實現了電子琴動態錄音與回放功能[4-6]。

1 電子琴動態錄音與回放系統設計

已經設計成功的多功能電子琴樂曲硬件演奏設計電路主要包括:鍵盤演奏、人工選曲并播放樂曲、錄音/回放、可控制播放歌曲的節奏快慢、液晶顯示當前系統狀態等功能。其中在FPGA芯片中實現的電路設計有4個模塊,分別為鍵盤掃描和按鍵功能設置模塊、ROM/RAM控制器模塊、發聲控制模塊、LCD驅動控制模塊。系統設計框圖如圖1所示。

工作原理如下:首先通過鍵盤掃描和按鍵功能設置模塊將一個4*4的鍵盤上各按鍵進行功能設置,然后根據相應的操作要求進行發聲和液晶顯示。如果選中當前狀態是彈奏模式,則發聲控制模塊直接把琴鍵送來的音符對應的分頻系數轉換成相應頻率送到揚聲器發聲,字幕信息通過液晶顯示驅動模塊驅動液晶顯示;如果選中當前工作模式為播放模式,則ROM/RAM控制器模塊把事先存儲在ROM中的音樂數據提出來送至發聲模塊,完成自動播放功能;如果選中當前工作狀態是錄音回放模式,則啟動ROM/RAM控制器模塊中RAM狀態機控制器進行讀寫操作。

這里重點介紹由ROM/RAM控制模塊通過狀態機設計產生錄音/回放功能的實現。

2 ROM/RAM控制模塊的設計

ROM/RAM控制模塊的作用是通過對系統當前所處的模式進行判斷,并根據輸入的控制信號,對CycloneⅡ FPGA內嵌的RAM的讀寫信號、讀寫時鐘及讀寫地址進行控制。其中ROM/RAM控制模塊的外部接口符號圖如圖2所示。

此模塊定義了10個輸入端口,分別為:mode_key(鍵盤演奏模式)、mode_auto(播放歌曲模式)、mode_tape(錄音回放模式)、time_up(節奏上升)、time_down(節奏下降)、song_select(曲目選擇)、tape(錄音)、playback(放音)、reset(系統復位)、clk(時鐘)。定義了15個輸出端口:rom_add(ROM地址)、rom_clk(ROM時鐘)、rom_en(ROM時鐘使能)、ram_wradd(RAM寫地址)、ram_wren(RAM寫使能)、ram_wrclk(RAM寫時鐘)、ram_rdadd(RAM讀地址)、ram_rden(RAM讀地址)、ram_rdclk(RAM讀地址)、full(錄音滿信號)、over(回放完畢信號)以及5個提供LCD驅動顯示用的信號。

RAM/ROM控制模塊中的RAM控制部分分成兩個小部分,采用有限狀態機(FSM)分別對RAM讀狀態和RAM寫狀態進行操作控制。當系統當前模式為“錄音/回放模式”時,如果“錄音”按鍵按下,則RAM進行寫操作,從首地址開始進行存儲。如果存儲滿1 024個地址空間,則提示“錄音滿”,寫操作終止,等待用戶命令,以進行下一步操作。當系統當前模式為“錄音/回放模式”時,如果“回放”按鍵按下,則RAM進行讀操作,從首地址開始將RAM單元中的數據送給發聲控制模塊進行播放。如果讀完1 024個地址空間,則提示“回放完畢”,讀操作終止,等待用戶命令,以進行下一步操作。

寫操作的FSM狀態轉移流程以及轉移條件如圖3所示;讀操作的FSM狀態轉移流程以及轉移條件如圖4所示。

用狀態機對RAM進行讀寫控制的部分源程序如下:

--------------------------

process( ram_wrclk000,reset,mode_tape,tape,playback)

begin

if reset=′0′then tape_state<=tape_state0;

elsif ram_wrclk000′event and ram_wrclk000=′1′ then

tape_state<=tape_state;

case tape_state is

when tape_state0 => if mode_tape=′0′ then tape_state<=tape_state0;

ram_wren<=′0′;

ram_wradd000<=″0000000000″;

else tape_state<=tape_state1;

--如果電子琴使能端reset為0或者錄音模式mode_tape為0,則狀態機處于等待狀態tape_state0,否則進入下一狀態tape_state1。

end if;

when tape_state1 => if tape=′0′ then tape_state<=tape_state0;

ram_wren<=′0′;

ram_wradd000<=″0000000000″;

else tape_state<=tape_state2;

end if;

--如果錄音控制鍵tape為0,則回到初始狀態。否則進入下一狀態tape_state2。

when tape_state2 => if (playback=′1′ or mode_tape=′0′) then full<=′0′;

ram_wren<=′0′;

ram_wradd000<=″0000000000″;

tape_state<=tape_state0;

elsif tape=′1′ thenfull<=′0′;

ram_wren<=′1′;ram_wradd000<=ram_wradd000+1;

tape_state<=tape_state2;

--如果回放控制鍵playback為1,或錄音模式mode_tape為0則回到初始狀態,且對RAM寫控制端ram_wren為0。否則進入下一狀態tape_state2。

elsif ram_wradd000=″1111111111″ then full<=′1′;

--錄滿音提示

ram_wren<=′0′;tape_state<=tape_state0;

--如果錄音地址飽和,則回到為tape_state0初始狀態,且對RAM寫控制端ram_wren為0。

else full<=′0′;

ram_wren<=′1′;

tape_over_add<=ram_wradd000;--錄音截止地址,作為RAM讀地址的末地址

tape_state<=tape_state2;

end if;

when others => tape_state<=tape_state0;

end case;

end if;

ram_wradd<=ram_wradd000;

end process;

---------------------------

其仿真波形圖如圖5所示。從仿真圖上可以看出,RAM/ROM控制模塊電路既產生了控制RAM存儲器的時鐘ram_wrclk信號,也產生了相應的控制RAM的使用使能信號ram_wren和寫入地址ram_wradd。

3 RAM隨機存儲器的設計

設計一個雙端口的存儲深度為1 024、存儲寬度為6位的隨機存儲器RAM,用來存儲彈奏的樂曲,并可播放出來。生成的RAM單元如圖6所示。data[5..0]端口為彈奏電子琴時由發聲控制模塊產生的音符數據。當系統處于“錄音/回放模式”的“錄音”狀態時,將當前所彈奏的音符進行轉換,輸出作為RAM的存儲數據“DATA”。wraddress[9..0]代表十位寬度的寫地址端口,rdaddress[9..0]代表十位寬度的讀地址端口。wrclock為RAM寫入時鐘,rdclock為RAM讀出時鐘。Q[5..0]為從RAM中讀出所存放數據,即data。

從圖6可以看出,此雙口RAM具有獨立的讀寫時鐘和讀寫使能。選擇這樣的RAM的目的是為了以一個固定頻率wrclock(本設計取4 Hz)的時鐘對RAM進行寫操作,即以一個固定的采樣頻率對所彈奏的樂曲進行采樣存儲;另一方面以節奏控制部分輸出的時鐘rdclock作為RAM的讀時鐘信號,使得回放過程可以以不同的節奏將儲存的樂曲播放出來。這是其新穎之處,使電子琴在回放過程中更加靈活多變,功能更多。

其仿真波形圖如圖7所示。從仿真圖上可以看出,RAM存儲器在寫使能信號和讀使能信號控制作用下依次寫入數據信號,并按寫入地址先后次序再準確地讀出來,實現了錄音和回放的功能要求。

本設計采用杭州康芯電子有限公司開發的電子設計應用板(型號: KX-DVP3F)進行對系統的調試與功能驗證。利用QuartusⅡ6.0軟件生成.sof或者.pof編程文件,通過USB下載器將編程文件配置到CycloneⅡ EP2C8Q208芯片中,經過數次的調試,多功能電子琴的全部技術指標和功能很好地符合設計要求,發聲準確,易操作,可視性強。

有限狀態機設計技術是實用數字系統中的重要組成部分,也是實現高效率高可靠邏輯控制的重要途徑。它具有類似CPU的高速運算和控制能力,程序層次分明,結構清晰,易讀易懂;在排錯、修改和模塊移植方面也有獨到之處。

參考文獻

[1]王思聰,康潤生.用CPLD實現簡易音樂發生器[J].焦作工學院學報:自然科學版,2001,20(2):98-99.

[2]杜世民,楊潤萍,張川.用VHDL設計樂曲演奏電路[J].寧波高等專科學校學報,2003,15(4):41-49.

[3]姜田華.基于FPGA的樂曲發生器設計[J].現代電子技術,2003,26(18):67-69.

[4]郭培源,喬美華.基于FPGA,CPLD芯片的音樂存儲與回放系統設計[J] .電聲技術,2004(10):54-57.

[5]楊國慶.基于FPGA動態顯示樂曲演奏片上系統的分析與設計[J].電聲技術,2006(19):162-164.

[6]楊國慶.基于VHDL動態顯示樂曲播放器的設計與實現[J].天津工業大學學報,2006,25(4):34-37.

[7]潘松,黃繼業.EDA技術實用教程[M].北京:科學出版社,2006.

[8]陳瓊,潘禮,黃松.FPGA系統設計與實踐[M].北京:電子工業出版社,2004.

[9]王振紅.VHDL數字電路設計與應用實踐教程[M].北京:機械工業出版社,2006.

[10]顧斌,趙明忠,姜志鵬.數字電路EDA設計[M].西安:西安電子科技大學出版社,2004.

[11]朱明程,董爾令.可編程邏輯器件原理與應用[M].西安:西安電子科技大學出版社,2004.

作者簡介

李雪梅 女,1964年出生,副教授,主要從事教學及實驗室建設。研究方向為現代電子技術應用。

主站蜘蛛池模板: 久久男人视频| 欧美午夜视频在线| 欧美日韩中文字幕在线| 欧美19综合中文字幕| 亚洲日韩精品欧美中文字幕| 欧美一级大片在线观看| 久久美女精品| 久久精品国产精品国产一区| 在线五月婷婷| 亚洲天堂日韩在线| 97国产精品视频人人做人人爱| 国产精品理论片| 精品无码国产一区二区三区AV| 日本成人精品视频| 国产精品毛片一区| 国产亚洲欧美另类一区二区| 午夜性刺激在线观看免费| 少妇被粗大的猛烈进出免费视频| 国产成人调教在线视频| 日韩av在线直播| 老司机午夜精品网站在线观看 | 日韩毛片免费| 福利在线不卡| 国产主播喷水| 国产精品综合久久久| 91久草视频| a级毛片网| 国产成人乱码一区二区三区在线| 国产无吗一区二区三区在线欢| 一级毛片免费高清视频| 一级做a爰片久久毛片毛片| 亚洲男人的天堂在线观看| 免费99精品国产自在现线| 亚洲精品午夜无码电影网| 日本爱爱精品一区二区| 无码在线激情片| 夜精品a一区二区三区| 精品国产成人国产在线| 国产欧美日韩精品第二区| 国内精品伊人久久久久7777人 | 一本大道香蕉高清久久| 久久狠狠色噜噜狠狠狠狠97视色| 国产精品成人一区二区| 一本大道在线一本久道| 中文字幕在线视频免费| 中文字幕第4页| 亚洲国产成人自拍| 一本色道久久88综合日韩精品| 国产精品所毛片视频| 国产乱人伦AV在线A| 国产福利大秀91| 欧美日韩午夜视频在线观看 | 五月六月伊人狠狠丁香网| 国产乱人免费视频| 国产第八页| 四虎影视永久在线精品| 成人噜噜噜视频在线观看| 91美女视频在线观看| 久久频这里精品99香蕉久网址| 午夜毛片免费看| 黄色国产在线| 99在线观看免费视频| av大片在线无码免费| 欧美综合区自拍亚洲综合天堂| 亚洲性日韩精品一区二区| 免费毛片a| 亚洲中文字幕精品| 任我操在线视频| 99久久婷婷国产综合精| 最近最新中文字幕免费的一页| 一级片一区| 国产成人精品男人的天堂| 在线另类稀缺国产呦| 久久亚洲综合伊人| 先锋资源久久| 国产大全韩国亚洲一区二区三区| 久久精品国产精品青草app| 亚洲精品中文字幕无乱码| 内射人妻无码色AV天堂| 无码一区18禁| 波多野结衣一区二区三区四区视频| 免费 国产 无码久久久|