施奇 毛麗民 張?bào)揖?陳肖帆
常熟理工學(xué)院電氣與自動(dòng)化工程學(xué)院,江蘇 常熟 215500
基于FPGA的樂(lè)曲演奏電路的設(shè)計(jì)
施奇 毛麗民 張?bào)揖?陳肖帆
常熟理工學(xué)院電氣與自動(dòng)化工程學(xué)院,江蘇 常熟 215500
本文首先運(yùn)用Visual Basic 進(jìn)行上位機(jī)琴鍵控制界面的程序設(shè)計(jì),再利用VHDL語(yǔ)言進(jìn)行演奏電路的設(shè)計(jì),并將該模塊通過(guò)QUARTUS II平臺(tái)下載到Altera芯片中, 上位機(jī)機(jī)通過(guò)RS232串行口可以直接與FPGA進(jìn)行通信,完成數(shù)據(jù)交換工作。該演奏電路通過(guò)琴鍵控制界面輸入音調(diào),由RS232通信方式控制發(fā)出DO、RE、MI、FA等8個(gè)音調(diào),蜂鳴器發(fā)出聲音,完成演奏功能。
FPGA;Visual Basic;RS232通信模塊
FPGA; Visual Basic; RS232 communication module
近幾年在數(shù)字系統(tǒng)設(shè)計(jì)領(lǐng)域出現(xiàn)了一種全新的設(shè)計(jì)技術(shù)——數(shù)字系統(tǒng)設(shè)計(jì)自動(dòng)化(EDA, Electronic Design Automation)技術(shù)。該技術(shù)具有系統(tǒng)設(shè)計(jì)效率高、集成度好、保密性強(qiáng)、易于修改、易于實(shí)現(xiàn)等優(yōu)點(diǎn),因此而成為當(dāng)今數(shù)字系統(tǒng)設(shè)計(jì)的主流技術(shù),其應(yīng)用領(lǐng)域也越來(lái)越廣泛,其中進(jìn)行電子琴的實(shí)現(xiàn)也是一個(gè)重要嘗試和應(yīng)用,本文研究了一個(gè)基于FPGA樂(lè)曲演奏電路的設(shè)計(jì)方案,利用altera的FPGA芯片,在QuartusⅡ平臺(tái)下,采用自頂而下的設(shè)計(jì)思路,結(jié)合VB的程序設(shè)計(jì),完成樂(lè)曲演奏電路的設(shè)計(jì)。
1.1 設(shè)計(jì)要求及功能
該演奏電路能實(shí)現(xiàn)八個(gè)音鍵的控制以及對(duì)于編好的音樂(lè)進(jìn)行播放,根據(jù)各個(gè)音調(diào)的頻率的差異,來(lái)實(shí)現(xiàn)按下不同的音鍵而發(fā)出不同的聲音。當(dāng)8位發(fā)聲控制鍵輸入中某一位為高電平時(shí),則對(duì)應(yīng)某一音階的初始計(jì)數(shù)值作為獲得該音階的分頻預(yù)置值將送入預(yù)制數(shù)計(jì)數(shù)器;預(yù)制數(shù)計(jì)數(shù)器輸出相應(yīng)的頻率同時(shí)輸出對(duì)應(yīng)該音階簡(jiǎn)譜的顯示代碼;該頻率經(jīng)二分頻器后送入揚(yáng)聲器,揚(yáng)聲器就可發(fā)出對(duì)應(yīng)音符的聲音,同時(shí)在數(shù)碼管上顯示該音名。
1.2 總體功能示意圖
圖1 系統(tǒng)功能示意圖
本設(shè)計(jì)采用A ltera第一代Cyclone系列FPGA EP1C6,該器件基于全1.5V SRAM工藝,容量從2910至20060個(gè)邏輯單元具有多達(dá)294912bit 嵌入RAM Cyclone FPGA支持各種單端I/O 標(biāo)準(zhǔn)。EP1C6 有4000個(gè)邏輯單元(LE),有17個(gè)M 4K RAM 塊,有兩個(gè)PLL。主要電路圖如下所示:
圖2 蜂鳴器電路圖
U 3為蜂鳴器當(dāng)IO134 輸出不同頻率出來(lái)時(shí),U 3 蜂鳴器會(huì)發(fā)出相應(yīng)的聲音。
根據(jù)HBN評(píng)分情況進(jìn)行效果標(biāo)準(zhǔn)評(píng)價(jià)[3]:(1)治愈,面部癥狀全部消失,面神經(jīng)功能完全恢復(fù),面部運(yùn)動(dòng)正常;(2)顯效,面部癥狀基本消失,存在輕微功能減弱,靜止?fàn)顟B(tài)下面部對(duì)稱(chēng),張力無(wú)異常,眼睛可完全閉合,口有輕微不對(duì)稱(chēng);(3)有效,明顯功能減弱,靜止?fàn)顟B(tài)下面部對(duì)稱(chēng),張力無(wú)異常,抬眉額紋對(duì)稱(chēng),用力可閉合眼睛合,口較明顯不對(duì)稱(chēng);(4)無(wú)效,面部癥狀無(wú)顯著改善,口無(wú)力,眼不能閉??傆行橹斡?、顯效及有效之和。
圖3 電源電路圖
FPGA 核心供電部分采用AMS1117-1.5V LDO 芯片,能提供1.5V 800 毫安的電流。
圖4 RS232電路圖
U 1是MAX 3232,負(fù)責(zé)將TTL的電平轉(zhuǎn)為2 3 2電平,C 1,C 4,C 5,C 3 均是M A X 323 2所需要的外圍電路,LED 1、LED2 是兩個(gè)LED燈,它們分別在RS232數(shù)據(jù)接收和數(shù)據(jù)發(fā)送線上, 當(dāng)有數(shù)據(jù)發(fā)送或接收時(shí),它們會(huì)閃爍,表示正在發(fā)送或接收數(shù)據(jù),可以根據(jù)這兩個(gè)LED 燈判斷是否有數(shù)據(jù)經(jīng)過(guò)。
3.1 上位機(jī)的設(shè)計(jì)
在PC機(jī)上運(yùn)用Visual Basic編寫(xiě)上位機(jī)琴鍵控制界面,如下圖所示:
圖5 琴鍵控制界面
3.2 電子琴演奏電路的設(shè)計(jì)
電子琴演奏電路在Quartus II9.0 環(huán)境下采用頂層原理圖設(shè)計(jì)。
3.2.1 程序設(shè)計(jì)流程圖如下所示
圖6 程序流程圖
3.2.2 頂層電路圖
圖 7系統(tǒng)頂層電路圖
(1)COU N T模塊
由于設(shè)計(jì)中RDX輸入的數(shù)據(jù)是以9600b/s傳送的,那么需要一個(gè)接收同步信號(hào)的部分,用12MH時(shí)鐘信號(hào)通過(guò)COUNT模塊分1250倍頻得到9600H z的頻率來(lái)實(shí)現(xiàn)同步接收。
圖8 COUNT模塊
(2)SC模塊
SC模塊完成接收數(shù)據(jù)工作,RS232傳送一個(gè)數(shù)據(jù)或者字符需要10位,即1位啟動(dòng)位加8位數(shù)據(jù)位,1個(gè)停止位。在SC模塊中,通過(guò)集數(shù)方式來(lái)接受一位數(shù)據(jù),一旦檢測(cè)到1位啟動(dòng)位即低電平,就開(kāi)始接受PC機(jī)送出的ASCII碼,并開(kāi)始計(jì)算,收到8位數(shù)據(jù)寄存后開(kāi)始清零,完成一位數(shù)據(jù)的接收,輸出8位ASC II碼。
圖9 SC模塊
(3)TONETABA模塊
TONETABA模塊完成ASCII碼轉(zhuǎn)換為四位BCD碼輸出顯示,另外控制頻率值,來(lái)控制SPEAKER的頻率發(fā)音。
圖10 TONETABA模塊
(4)SPEA KER模塊
SPEAK ER模塊實(shí)際上就是一個(gè)分頻器,通過(guò)對(duì)12M H z分頻產(chǎn)生不同的音符。
圖11 SPEAKER模塊
3.2.3 仿真結(jié)果
在程序設(shè)計(jì)完成及編譯成功后,對(duì)系統(tǒng)進(jìn)行了仿真,得到如下的圖形。
圖11 仿真電路圖
本設(shè)計(jì)進(jìn)行了系統(tǒng)的調(diào)試和功能驗(yàn)證并利用QuartusII9.0軟件生成.sof文件,下載到A ltera EP1C6T144C8N中,實(shí)際結(jié)果表明本系統(tǒng)設(shè)計(jì)的電子琴及硬件播放的音樂(lè)全部技術(shù)指標(biāo)和功能很好地符合設(shè)計(jì)的要求,發(fā)聲準(zhǔn)確,滿足了設(shè)計(jì)要求。
[1]鄒益. FPGA/CPLD技術(shù)實(shí)用教程[M].北京:中國(guó)石化出版社.2010
[2]黃秋元,陳適. FPGA應(yīng)用技術(shù)基礎(chǔ)教程[M].北京:電子工業(yè)出版社.2009
[3]田耘,徐文波.Xilinx FPGA開(kāi)發(fā)實(shí)用教程[M].北京:清華大學(xué)出版社.2008
[4]曹瑞,盧印舉. EDA技術(shù)與CPLD/FPGA開(kāi)發(fā)應(yīng)用簡(jiǎn)明教程[M].北京:清華大學(xué)出版社.2007
Music performance circuit design based on FPGA
Shi qi Mao Limin Zhang Lijun Chen Xiaofan
School of Electrical and Automation Engineering,Changshu Institute of Technology,changshu 21500,china
This paper design the Keyboard control interface using Visual Basic,then design performed circuit using VHDL Language,download the module to the Altera chip through the QUARTUS II platform, PC communicate with the FPGA via RS232 serial port to exchange the data .The performance circuit input tone through Keyboard control interface,The DO,RE, MI, FA, etc. 8 tones is controlled by the RS232 communication ,make the buzzer sounds,complete the Music performance
TP316
A
10.3969/j.issn.1001-8972.2011.10.076
施奇(1 9 8 9-),男, 漢族,江蘇南京人,常熟理工學(xué)院電氣與自動(dòng)化工程學(xué)院。