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年出生,副教授,主要從事教學及實驗室建設。研究方向為現代電子技術應用。

主站蜘蛛池模板: 亚洲人成影视在线观看| 亚洲精品欧美重口| 88国产经典欧美一区二区三区| 色视频国产| 国产91丝袜在线播放动漫| 日韩精品专区免费无码aⅴ| 97青青青国产在线播放| 国产精品尤物铁牛tv | 日韩欧美综合在线制服| 日本欧美在线观看| 一级高清毛片免费a级高清毛片| 精品人妻一区无码视频| 亚洲国产天堂久久综合226114| 国产区人妖精品人妖精品视频| 亚洲福利一区二区三区| 国产成人精品午夜视频'| 99视频在线看| 夜色爽爽影院18禁妓女影院| 亚洲天堂成人| 欧美五月婷婷| 国产日本一线在线观看免费| 中文字幕欧美日韩高清| 91麻豆国产在线| 亚洲国产欧美国产综合久久| 日韩福利视频导航| 91免费观看视频| 欧美国产中文| 亚洲人成成无码网WWW| 在线观看91香蕉国产免费| 日韩精品无码免费一区二区三区| 久久国产拍爱| 人妻精品全国免费视频| 在线不卡免费视频| 欧美不卡视频在线观看| jizz在线观看| 毛片在线播放网址| 毛片视频网址| 国产精品99r8在线观看| 免费看久久精品99| 91黄视频在线观看| 456亚洲人成高清在线| 宅男噜噜噜66国产在线观看| 亚洲美女操| 国产资源免费观看| 无码专区在线观看| 色婷婷亚洲综合五月| 亚洲最猛黑人xxxx黑人猛交| 午夜a级毛片| 欧洲一区二区三区无码| 好吊色国产欧美日韩免费观看| 国产欧美视频综合二区| 高清国产va日韩亚洲免费午夜电影| av免费在线观看美女叉开腿| 国产无码高清视频不卡| 亚洲欧美日韩成人在线| av在线5g无码天天| 国产丝袜91| 精品人妻一区二区三区蜜桃AⅤ| 国产成人综合亚洲网址| 精品五夜婷香蕉国产线看观看| 久精品色妇丰满人妻| 亚洲欧洲日韩综合色天使| 黄色网址免费在线| 欧美精品不卡| 国产精品太粉嫩高中在线观看 | 婷婷激情亚洲| 国产欧美网站| 精品三级在线| 伊人久久久大香线蕉综合直播| 亚洲国产清纯| 最新日韩AV网址在线观看| 伊人久久精品无码麻豆精品| 91亚瑟视频| 无码一区二区三区视频在线播放| 婷婷午夜影院| 久久伊伊香蕉综合精品| 精品久久久久久中文字幕女 | 中文字幕人妻av一区二区| 亚洲综合色吧| 国产玖玖玖精品视频| aaa国产一级毛片| www.日韩三级|