基于PSoC3的多功能电子琴设计与实现
2012-07-11彭其圣彭建盛
彭其圣,彭建盛,徐 咏
(1.中南民族大学 电子信息工程学院,武汉 430074;2.河池学院 物理与电子工程系,宜州 412400)
0 引言
目前电子琴朝着种类繁多、体积小、演奏携带方便、价格低廉的方向发展。传统的电子琴由于其设计复杂,成本高昂,无法抵御恶劣外界环境需要经常保养,而家用电子琴的音色和灵敏度又达不到专业电子琴的需求。因此,降低成本,方便携带,功能齐全,又能达到专业电子琴音质的电子琴成为了摆在电子琴设计者面前的首要任务。要设计出一款廉价的、高质的、娱乐性强和方便携带的受普通老百姓欢迎的电子琴,高质廉价的处理器的选择成为了关键,而PSoC3恰恰能完成这些要求[1,2]。本系统基于PSoC3实现的多功能、多音阶电子琴设计。该设计具有外围电路简单,系统原理清晰,易于调试与实现,成本廉价,功耗低,开发周期短,使用寿命长等特点[3,4]。
1 系统结构与原理
系统选用了CY8C3866AXI的PSoC3芯片,其实现了如Capsense Button and Silder、DAC音频输出、演奏录制/回放、调速/音量大部分功能等,音频功放由LM386实现,Nokia5110 LCD负责显示部分,LM2575负责整个系统供电等。基于PSoC3的多功能电子琴设计,要求既能达到价格低廉,播放和演奏高音质,功能齐全,又能具有便携时尚功能的电子琴。基于以上的要求我们采用了如图1所示的结构进行设计。
图1 系统结构图
系统的工作原理如下:为方便PSoC3的内置8位DAC产生相应音色的乐音波形和定时计数器Timer2控制乐音的节拍,首先,将各音色波形图和常用音乐节拍数字化保存;其次,将需要播放和演奏的音乐的音符和节拍保存在数组中,根据数组的值算出定时计数器的初值并保存;通过触摸感应检测和液晶显示进行人机通信,实现对电子琴的多功能控制;当播放音乐时,定时计数器工作,控制DAC产生乐音波形,乐音波形经功放电路驱动扬声器产生优质的乐音。
2 系统硬件设计
2.1 PSoC3内部资源配置
PSoC3的CY8C38系列芯片具有多器件集成性,这样既避免了复杂的连线,又减少了外围器件的使用,降低了设计成本,提高了可靠性与精确性,大大减小了电子琴的体积;而且该芯片内还集成了触摸感应设计,可以自由的对按键和滑动条等进行设计,触摸感应设计增加了电子琴抵御外界干扰的特性,提高了控制灵敏度,并且在触摸新潮下的触摸设计更能得到大众用户群的喜爱。
系统中PSoC3所配置的内部硬件资源包括2个定时计数器Timer,1个8位的电压型数模转化器VDAC8、1个可变增益放大器PGA、1个电压跟随器Opamp,17个触摸感应按键,1组触摸感应滑动条和1个Nokia5110液晶显示模块[5]。具体配置如图2所示。
图2 PSoC3内部资源配置图
2.2 触摸键盘与滑条设计
图3 Capsense模块原理图
图4 触摸感应键盘原理图
PSoC3的触摸感应采用了一种Delta-Sigma调制器(CSD)的电容式感测方法[6]。使用PSoC3的触摸感应使设计人员在短短几分钟内就能实现触摸感应按键和滑条的功能,而且无需编写任何代码。本设计由17个电容式触摸按键构成触摸键盘和5个电容式触摸按键构成触摸感应滑动条,使用两个通道扫描触摸感应。本系统中,Capsense模块原理如图3所示,在8位分辨率、24MHz采集速率、双通道、高速扫描的Capsense模式下,如果Sensor采集的感应值大于195则认为有触摸感应, 否则PSoC3认为没有触摸感应。本设计触摸感应键盘原理图如图4所示。
2.3 电子琴显示模块
电子琴显示模块主要实现菜单显示功能和操作提醒显示功能,用户需要通过该可视化显示模块来设置和发送所需要的播放、演奏、音色选取、录音功能、当前音乐状态等功能。可见显示模块如此之重要,为此该设计选用由NOKIA公司生产的由84x48 的点阵组成的LPH7366 LCD,其体积很小,采用低电压供电,功耗低且具有掉电模式等特点。由此模块将PSoC3的实时信息传达给用户,连接PSoC3的原理图如图5所示。
图5 系统主界面
2.4 音频功放模块
音频功放模块主要用于将电子琴的音频信号进行无失真的放大让用户听到最高保真的声音,所以该设计使用美国国家半导体公司生产的LM386音频功率放大器。LM386工作的原理图如图6所示,将CY8C3866的乐音输出信号经电位器分压后送入功放模块的正向输入端进行放大后由Vout输出,通过1脚和8脚之间电容和电位器调节放大倍数[7]。
图6 音频功放原理图
3 系统软件设计
系统程序设计是在赛普拉斯半导体公司的PSoC Creator集成开发环境中进行的。使用PSoC Creator,是根据应用需求进行设计,而不受目标器件的限制。PSoC Creator集成开发环境为每个模块的应用提供了许多API和中断服务程序ISR ,当编写应用程序时只需调用这些函数,即可实现该模块的功能。
3.1 主菜单程序设计
从系统上电后,各模块和变量进行初始化,初始化成功后进入触摸感应扫描,当扫描返回值为13、14、15、16、17时,相应的进入音乐演奏模式,音乐播放1、2、3模式,次级菜单,扫描返回值是除以上其他值时,系统进入定时和刷新标志位检测,当检测到有效标志位时执行显示刷新和模块重置,当标志位无效或执行显示刷新和模块重置后,系统进入待机模式,在此模式下,系统仍然进行Capsense扫描和相关标志位检测,如图7所示。
图7 主菜单程序框图
3.2 次级菜单程序设计
次级菜单主要是完成各模块功能的设置,与主菜单的程序设计思路类似,如图8所示。从主菜单进入次级菜单后,首先进行Capsense扫描,当扫描返回值为分别为13、14、15、16、17时,系统相应的进入设置播放速度模式、设置播放音量模式、设置演奏录制模式、播放演奏音乐模式和系统返回主菜单;当扫描返回值是除以上的其他值时,系统进行刷新标志位检测,当标志位有效时进行显示刷新,否则系统进入待机模式,当执行显示刷新后系统也进入待机模式,在此模式下,系统仍然进行Capsense扫描和刷新标志位检测。
图8 次级菜单程序框图
4 结束语
通过实物测试,本设计已达到了预期的相关技术指标,既克服设计复杂、成本高昂、无法抵御恶劣外界环境需要经常保养等困难,又提高音色和灵敏度。对比传统的单片机系统,本设计进一步突出了外围硬件电路简单、操作方便、节能、便携、成本低廉、开发周期短、生命周期长和性能稳定等特点,且体现了触摸设计新颖时尚、灵敏度高、抗干扰能力强和系统演奏乐曲效果良好,具有较高的实用价值和开发前景,具有广泛的市场应用前景。
[1] 韩改宁. 基于AT89C52实现简单音乐发生器[J]. 电脑知识与技术, 2009(2): 354-355.
[2] 舒红波, 李蔚, 王治国. 用单片机实现各音色电子琴[J].控制工程, 2004(S1): 117-118.
[3] 徐开芸, 刘兰英, 金永良. PSoC在针织机械设备电气控制系统中的应用[J]. 制造业自动化, 20120(10): 43-45.
[4] 朱明程, 李晓滨. PSoC原理与应用设计[M]. 北京: 机械工业出版社, 2008.
[5] 何宾. 可编程片上系统PSoC设计指南[M]. 北京: 化学工业出版社, 2011.
[6] 刘织财, 万选明. CapSense电容触摸感应技术的原理及应用[J]电子制作, 2011(12): 66-69.
[7] 童诗白, 华成英. 模拟电子技术基础(第4版)[M]. 北京: 高等教育出版社, 2006.