基于SPCE061 A实现的语音数控电源

来源:互联网

点击:1325

A+ A-

所属频道:新闻中心

关键词:SPCE 数控电源

      随着社会的发展,人与机器的交互存在于生活的方方面面,方便有效的交互环境日益成为系统开发的关键所在。采用语音的方式实现人与机器的交互,扩展和开发具有一定语音功能及人机交互功能的产品也逐渐为人们所认可。伴随着技术的进步,各式各样具有语音处理功能的芯片的出现也使得语音处理功能的广泛应用成为可能。本文正是基于这种趋势,选用SPCE061A单片机设计了一款具有语音功能的直流稳压数控电源,系统设计简单、操作灵活,具有良好的人机交互环境。

    1 系统软硬件设计

      1.1 硬件设计

      系统的硬件设计主要包括三部分电路:键盘输入及数码显示部分、电压输出部分、单片机部分。其中键盘输入及数码显示部分主要完成读取键值及电压显示,这部分电路采用凌阳公司生产的LED模组。该模组采用了148按键输入及6位七段数码管显示,可以满足设计需要。

      1.2 软件设计

      软件设计采用模块式的设计思想。各模块包括基本功能模块(完成8个键值处理、99个步进置数、扫描置数,各位分别置数、动态显示、模数转换等) 、语音播报模块,语音识别模块。在凌阳unSP IDE 1.16.1开发环境中各模块分别用C语言编写,独立调试,最后在工程中整合,并进行了一定程度的优化。

    2 语音功能的软硬件设计

      2.1 语音功能的硬件设计

      SPCE061A为音频输出提供了两路DAC通道,即DAC1和DAC2,本系统选用DACl作为电流输出,DAC2作为音频信号的输出,经功率放大后。由扬声器输出,实现语音的播报功能。同时SPCE061A有8路可复用的10位ADC通道,本系统采用一路通道(MIC_IN)作为音频输入,音频模拟信号经过单片机内部的自动增益控制器(AC-C)和放大器放大后进行A/D转换,实现语音控制信号的输入。

      2.2 语音播报功能的软件设计

      考虑到系统对于播放音质的要求并不高。采用凌阳SACM—S480音频压缩算法(压缩比为80:3)对语音信号进行压缩,这样语音资源可以直接加载在单片机内部的FLASH中,无需扩展外部存储器。采用较简单的自动播报方式,分时播报个位,小数点,十分位。需要注意的是:调用语音播报函数voice()返回主程序后,应立即恢复对于系统时钟及中断的原始设置,否则会导致按键异常和中断失效。

      2.3 语音识别功能的软件设计

      语音识别功能主要完成:在按键选择语音辨识后,通过提示音,输入语音控制命令,经单片机识别命令后控制系统产生相应的动作,从而实现语音控制的功能。

      结合SPCE061A提供的特定人识别一次只能识别5个控制命令,而系统要求识别触发命令及0-9的数字,所以程序设计时把需要识别的命令分为三组:

      第一组:开始、正确、错误

      第二组:0-4

      第三组:5.9

      同时分配一部分FLASH存储区来存放这三组命令。

    3 系统测试结果

      在本系统测试中设计了最大输出功率为10W的语音数控直流稳压电源。在最大负载条件下,用PROTEK505型数字万用表进行测试,结果如下表1所示。

      3.1 测试结果

      最大输出功率为10W的语音数控直流稳压电源。

      3.2 测试结论

      测试表明,系统的相对误差的最大值为2%。由此可见,该系统可以满足在相对误差最大值小于2%的要求下应用,同时具有了语音播报及语音识别的功能。

      3.3 存在的问题和改进方向

      由于凌阳单片机提供的语音识别函数一次只能识别5个命令,因而程序编写受到一定限制,导致语音控制的实现较为繁琐。如果编写自己的语音识别程序,则会大大简化语音控制过程,进一步改善交互环境。

    4 小结

      采用16位单片机SPCE061A作为控制核心,不仅可以完成基本的控制功能,同时可以方便地使用其语音功能。在开发环境unSP1.16.1下,以在线仿真调试的方式快速地完成开发工作。

    (审核编辑: 智汇胡妮)

    声明:除特别说明之外,新闻内容及图片均来自网络及各大主流媒体。版权归原作者所有。如认为内容侵权,请联系我们删除。