您的当前位置:首页正文

一种基于FPGA和超声波的虚拟电子琴设计

2020-07-09 来源:汇智旅游网
第20卷 第l9期 V01.20 No.19 电子设计工程 Electronic Design Engineering 2012年10月 0ct.20l2 一种基于FPGA和超声波的虚拟电子琴设计 钟秀媚 ,陈荣军 一,李伟健 (1.中山大学信息科学与技术学院,广东广州510006;2.中山大学南方学院,广东广州510970) 摘要:介绍了一种以FPGA为核心控制部件、运用超声波测距技术在空间中形成虚拟琴键.使用分频方式实现7个 音阶的虚拟电子琴。经过ModelSim仿真测试与实物调试,该电子琴能较好地实现音乐弹奏功能,结构简单.娱乐性 强.具有一定的市场推广价值 关键词:FPGA;verilog;超声波;电子琴;虚拟琴键 中图分类号:TP29 文献标识码:A 文章编号:1674—6236(2012)19—0142—03 Design of a virtual electronic piano based on FPGA and ultrasonic technique ZHONG Xiu—mei ,CHEN Rong-jun ,LI Wei-jian (1.School ofInformation Science and Technology,Sun Yat—Sen University,Guangzhou 510006,China 2.Nanfang college ofSun Yat-Sen University,Guangzhou 510970,China) Abstract:A virtual electronic piano which uses FPGA as the central control unit and uses ultrasonic ranging technology to form a vitualr keyboard is intoduced,and itr has seven syllables generated by separating frequency of system clock.After being simulated in ModelSim and tested in physical commissioning,this electronic piano can work wel1.The electronic piano has a simple structure and is pretty entertaining,SO it might has certain market value. Key words:FPGA;verilog;ultrasonic;electronic;vitrual key 现代娱乐设备多种多样,各种新奇的发明层出不穷,大 号,定时,计数器counterO由该回响信号控制进行计数,计算 出这一“按键”,选择相应的音符(频率)传送给蜂鸣器,蜂呜 大丰富了人们的娱乐休闲和生活。而其中数字音乐电子琴由 于其操作简单、价格低廉而广受大众喜爱。数字音乐电子琴 是现代电子科技与音乐结合的产物。传统的钢琴由于其体积 庞大笨重、价格昂贵.普通家庭的孩子如果想要学琴而又无 法买得起钢琴的话.电子琴就是一个很好的选择。国内外均 有许多对电子琴的研究和创意发明[1-4],文中介绍的是一种基 于FPGA和超声波测距的虚拟电子琴。 器发出某一音调的声音。当手指在虚拟的“键盘”上灵动跳跃 时,蜂鸣器便可以发出一连串美妙的音乐。 虚拟琴键 超声波模块 FPGA(Cyc1onetl1) 蜂鸣器 …块 该虚拟电子琴可用于家庭娱乐或幼儿初识教育,也可以 作适当的修改设计后作为家庭或公共场合卡拉0K系统、跳 图1 虚拟电子琴的系统结构框图 Fig.1 Structure diagram of the virtual electronic piano system 舞机等。它是一种集娱乐、教育和医疗保健于一体的,同时具 有结构简单、成本低廉、对环境友好等特点的装置。 1 总体方案设计 系统总的架构是由FPGA(Cyclone III)、超声波测距模块 和蜂鸣器共同组成。系统结构框图如图1所示,FPGA作为系 2硬件设计 21虚拟键盘模块设计 .虚拟键盘模块是由超声波测距模块和虚拟琴键模块 组成。 统控制单元.控制超声波模块向空间中发射超声波信号, FPGA控制模块内设定的定时,计数器counter1开始计数,形 成一个“虚拟琴键键盘”,该琴键的键盘宽度由counterl决 定.当测量到手指处于某一“键盘”位置,即超声波遇到手指 超声波测距模块是一种通过发射超声波和接收回响信 号,测量回响时差来进行测量物体距离的装置。该装置具有 结构简单、受环境光度影响小、成本低廉等特点。本设计采用 的是DYP-MEO07超声波测距模块。由于超声波在空气中的 被反射回来由超声波模块接收到,对手指的所处“琴键”位置 进行测量,超声波模块向FPGA控制模块返回相应的测量信 ———————————————■—————————一收稿日期:2012—06—10 稿件编号:201206071 142- 传播速度受环境温度的影响[51,因此,为了更精确灵敏地测量 物体位置,DYP—MEO07超声波测距模块中加入了温度补偿 电路。DYP—ME007超声波测距模块有out和echo两种输出  作者简介:钟秀媚(1990一),女,广东梅州人。研究方向:FPGA应用开发,电路与系统设计。 一钟秀媚,等 一种基于FPGA和超声波的虚拟电子琴设计 方式.out为只要收到一个回波则输出一个脉冲信号,echo为 收到回波后输出一个脉冲宽度与距离成正比的脉冲信号,这 里选择的是echo引脚。DYP—MEO07模块可提供3 ̄350 em的 非接触式距离感测功能。 DYP—ME007超声波测距模块的echo脚的输出脉冲宽度 与距离之间的关系为 D=uS/5.8 mm (1) 其中uS为echo脉冲的宽度,单位为 s。 琴键是一张印有键盘的纸.纸上每个键的宽度是固定 的。由于超声波测距是有盲区的,因此在设定“琴键”位置的 时候应该避开其盲区。经测试选用的超声波测距模块的盲区 在0—3 cm之内,因此,只要把“琴键”位置设在3 cm之外就 可以了。这里设定“琴键”总的宽度为35 em,从距超声波测距 模块5 am远处开始,每5 am为一个“琴键”。 2.2 FPGA模块设计 FPGA(现场可编程门阵列)作为可编程逻辑器件,是在 PAL等逻辑器件的基础上发展而来,其规模比较大,可以代 替几百块通用IC芯片网。FPGA内部具有丰富的逻辑资源,能 够实现各种硬件电路,它的结构主要由3部分组成:一个二 维的逻辑块阵列,构成了其逻辑组成核心;输入,输出块;连接 逻辑块的互连资源。而vefilog HDL是一种简单的硬件描述 语言,可以很容易地用vefilog HDL编写代码实现某一特定 功能的电路,而且FPGA是可以多次写入擦除,方便调试和 修改。用户可以在其基础上简单快捷的完成设计。本设计采 用芯片EP3C25Q240C8N。 supersonIc Ul 图2 FPGA内部硬件电路连接图 Fig.2 Hardware circuit connection diagram in FPGA 用芯片EP3C25Q24OC8N实现硬件电路如图2所示,U1 是超声波测距控制模块,U2模块是音符频率选择模块。clk 为系统的时钟输入信号,为50 MHz,rst为复位信号,en为开 关使能引脚,echo为超声波测量回波时差得到的脉冲信号, trig为向超声波模块发送的激励脉冲.tune为送给蜂鸣器的 一定频率的信号。超声波测距模块测得手指所在“琴键”位 置,当测到的手指距超声波模块的距离在音符i的琴键范围 (5{ ,5"i+5)era内,则根据特定的音符频率,分别计算出每个 音符的分频系数 K=50*lO ̄E (2) 其中为音符i的频率,求出分频系数,对时钟信号进行产 生相应频率的周期信号tune,传送给蜂鸣器进行发声。 2.3发声模块设计 蜂鸣器是一种广泛运用于各种电子产品的电子讯响器件, 采用直流供电,其实现电路结构简单,如图3所示。 VCC GND 图3蜂鸣器电路 Fig.3 Circuit of buzzer driver 3软件设计 系统流程如图4所示:counterl为控制超声波模块测 量最大范围的计数器.counterO用于计算超声波模块返回 的脉冲宽度。counterl和counter0初始值为0。在发射一个 激励脉冲trig后counterl开始计时,检查回波信号echo是 否为高电平。是则counterO开始计数.直到echo变为低电 平counterO停止计数。指定一个最大测量值,由公式(1)计 算出一个计数值,当counted计数到该计数值时,提取 counter0的值。为了使测量数据比较稳定,代码总增加了 滤波部分,综合考虑灵敏度和稳定性,选择均值滤波器的 长度为8。 图4流程图 Fig.4 Flow chart FPGA选用的时钟频率为50 MHz,参考文献[4】中音阶频 率对应关系,根据公式(2)求出各个音符的分频系数如表l 所示,根据每个音符对应的分频系数对时钟进行分频,得到 相应频率的音符信号tune输出给蜂鸣器。 —.143- 《电子设计工程)2012年第19期 表1音阶频率与分频系数表 Tab.1 Scale frequency and frequency factor table 本设计是采用verilog HDL进行编写的,在QuartuslI编 译器上进行综合编译,用ModelSim仿真器进行仿真,验证 功能正确后通过QuartusII内的下载器将编译好的电路下载 到FPGA(CyelonelII)t-。其中超声波测距控制模块部分代码 如下: begin if(counterl==145000) begin if(count==4’bl11 begin count<=4’b0; distance<=(dista+counterO)/2320 dista<=32’b0; 时 counterO<=12’b0: counterl<=12‘b0; tfig<=l’bl://激励脉冲 end else begin dista<=dista+counter0://8次累计和 c0unt<=count+4’bl: counterO<:12’b0: counterl<=12’b0; tifg<=l’bl:if激励嘛冲. end end 4调 试 用ModelSim进行仿真,输入一个模拟的距离值,当距离 为某一值时。tune的输出频率为相应值,对该信号进行测量 验证了其频率是符合要求的,说明仿真的结果符合设计要 求。仿真波形图如图5所示。 如图1所示搭建好系统的硬件电路,运行系统,用手指 或者其他物体“敲击”超声波模块前方的“虚拟键盘”,检验蜂 鸣器发出的音符是否符合设计要求,实践证明,该音乐系统 一144一 -No 搬 -No fd醴艄 -No 『【me -No 图5仿真波形图 Fig.5 Simulation waveform 能够根据敲下的“琴键”较准确地发出相应的音符。 快速移动手指或物体的位置,检查该电子琴的灵敏度如 何,实验检验发现,当手指或物体在各个“琴键”之间切换时, 灵敏度不够高,检查后发现,是因为“琴键”之外的区域的分 频设置问题,导致每个音符之间的切换会出现停滞.对 verilog代码进行修改,再次检验,灵敏度有了很大改善,各个 “琴键“之间的切换更为流畅,基本达到了设计的目标要求。 5结束语 本设计基本达到设计预想要求:选择不同“琴键”时能够 相应地发出某一特定音符。上面描述的是虚拟电子琴的基本 的结构和功能。FPGA具有很大灵活性,可以根据需要在本设 计的基础上进行多功能改进:如增加若干选择键,可以相应 选择低/中/高音;或者加入多个超声波测距模块,制作成一个 大型的跳舞机系统。 参考文献: [1】Suzuki Y,Yamayoshi T,Kato T,et a1.Japanese inventors develop electronic piano with remote controller[cF/us Fed News Service,Including US State News,2007. 『21 Raoul Parienti.Foldable Electronic Piano with Means to Make the Keyboard Stif-KR20090010080A[P].2008—1 l一26. 【3]LIU Shu—peng,CHEN Lin,ZHU Xiang—ming,et a1.Digital piano keyboard based on PVDF piezoelectric film[C |Kudio Language and Image Processing (ICALIP), 2010 International Conference on Digitla Object Identiifer: 10.1 109/1CALIP.2010.5684555 Publication Year: 2010: 378—382. 『4】闫娟.基ff-Verilog HDL的简易电子琴设计[J】.企业技术开 发。2011(7):104—104,109. YAN Juan.Design of electronic piano based on verilog HDL[ ̄. Technological Development of Enterprisf,201 1(7):104— 104,109. [5】李云龙,卜雄诛,赵文,等.新型嵌入式超声波测距系统[J】. 仪表技术与传感器,2012(1):97—9.9 LI Yun—long,BU Xiong—zhu,ZHAO Wen,et la. New embedded ultrasonic distance measurement system[J]. Intrument Technique and Sensor,2012(1):97—99. [6】包明,赵明富,陈渝光.EDA ̄.术与数字系统设计【M】.北 京:北京航空航天大学出版社,20o2. 

因篇幅问题不能全部显示,请点此查看更多更全内容