当系统处于“录音/回放模式”的“录音”状态时,将当前所弹奏的音符进行转换,输出作为RAM的存储数据“DATA”。wraddress[9..O]代表十位宽度的写地址端口,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.O软件生成.sol或者.pof编程文件,通过USB下载器将编程文件配置到CycloneⅡEP2C8Q208芯片中,经过数次的调试,多功能电子琴的全部技术指标和功能很好地符合设计要求,发声准确,易操作,可视性强。
有限状态机设计技术是实用数字系统中的重要组成部分,也是实现高效率高可靠逻辑控制的重要途径。它具有类似CPU的高速运算和控制能力,程序层次分明,结构清晰,易读易懂;在排错、修改和模块移植方面也有独到之处。