基于DSP的声控系统设计与实现

发布者:MindfulCreator最新更新时间:2014-12-14 来源: 互联网关键字:DSP  声控系统设计 手机看文章 扫描二维码
随时随地手机看文章
  机器人声控系统的研究一直是机器人研究的主要内容之一。传统的声音控制系统一般采用PC 机作为核心平台对机器人进行控制,虽然其具有处理能力强大、语音库完备、系统更新能力强等优点,但是PC 机体积大,功耗大,成本高,不适合于中、小型机器人使用。本文以SPCE061A 为核心,设计了一套机器人声控系统,和传统的PC 机声控系统相比较,具有成本低、体积小、耗能低和使用灵活方便等特点。

  本系统采用的机器人平台是北京博创兴盛机器人技术有限公司提供的 Voyager II 型地面移动机器人,该机器人采用了模块化的设计理念,高负载能力的直流伺服控制,可选配声纳、红外、视觉、罗盘、GPS 等传感器和机械手等执行器。完全可以满足声控系统的设计要求。本文提出了一种以凌阳单片机为核心的Voyager II 型机器人声控系统的设计方案, 该产品具有低成本、低功耗、体积小和使用灵活方便等特点,不仅适合于中、小型机器人使用,还适合与教学科研使用。

  系统的整体设计分为硬件设计和软件设计两部分,下面首先介绍一下系统的硬件设计。

  系统硬件结构

  根据机器人平台情况, 声控系统的硬件结构主要由微处理器单元、供电单元、声音采集单元和串口输出单元四部分组成,如图所示:

  

基于DSP的声控系统设计与实现DSP的声控系统设计与实现" src="//8.eewimg.cn/news/uploadfile/DSP/uploadfile/201412/20141214052908362.jpg" width="359" height="231" />

 

  1 微处理器单元

  本系统采用凌阳公司的16 位单片机SPCE061A 作为核心控制芯片,内置32K 闪存,其较高的处理速度能使芯片非常快速的处理复杂的数字信号, 适用于语音识别等应用领域。

  SPCF061A 的工作频率范围为0.32-49.152MHz.具备8 通道10位ADC 输入功能, 内置了具有自动增益控制的麦克风输入功能。双通道10 位DAC 音频输出功能及A、B 两个I/ 0 口输入输出功能。具有集成度高、性能可靠、价格低廉、功耗小等特点。这些特点充分体现了微控制器工业发展的新趋势。目前,凌阳单片机SPCE061A 的应用越来越广,深受广大用户的欢迎。

  2 声音采集单元

  声音采集单元的换能器采用驻极体话筒, 通过话筒将采集到的声音信号通过MIC_IN 通道传送给CPU,MIC_IN 通道专门用于对语音信号进行采样。语音信号经MIC 转换成电信号,由电容将其中的直流成分滤除, 然后输入到集成在SPCE061A 内部的前置放大器中。SPCE061A 的内部增益控制电路AGC 能随时跟踪、监视前置放大器输出的音频信号的电平,当输入信号过大时,自动减小放大器增益;当输入信号减小时,自动增大放大器增益。这样即可以使A/D 转换器接收到的信号一直保持在最佳电平,又可以使声音损失减至最少,从而提高语音识别的精度。

  3 外接供电单元

  外接 供电单元是声控系统的选配单元, 由于声控系统的能耗很低,可以外接3 个1.5V 电池,作为外接供电单元给系统供电。在没有选配外接供电单元时,也可以直接使用Voyager II 型地面移动机器人的蓄电池为关济实: 讲师工学硕士声控系统供电,Voyager II 型机器人的蓄电池供电电压为24V, 将24V 电压先经过7805 转换成5V电压, 然后使用SPY0029 将5V 电压转换成3.3V 电压给SPCE061A 供电。

  4 存储器单元

  存储器单元也是声控系统的选配单元, 当需要识别的语音资源较少时,则使用单片机中 集成的FLASH 存储器,就可以满足要求。当语音资源较丰富时,就需要连接外部存储器单元,对语音资源进行存储。为了保证系统的兼容性, 选用凌阳公司的SPR4096 作为外部存储器, LASHSPR4096 内部有512K×8bits F和4K×8bits SRAM 在进行FLASH 编程或擦除的时候,可以并发执行SRAM 的读写,SPR4096 内置了一个总线存储器接口和一个串行接口,它允许单片机通过8_bit 并行模式或者1_bit 串行模式访问FLASH SDRAM 的存储区。在本系统中,将SPR4096的SCK 和SDA 与SPCE061A 的IOB0 和IOB1 连接, 构成串行数据通信。

  5 串口输出单元

  由于SPCE061A 单片机的输入、输出电平是TTL 电平,而Voyager II 型机器人配置的是RS-232 标准串行接口,二者的电气规范不一致。因此,要完成SPCE061A 和机器人之间的串行通信,必须对SPCE061A 输出的TTL 电平进行电平转换,本系统中使用MAXIM 公司的MAX232 作为电平转换芯片。MAX232 使用单电源供电, 只需外接5 个0.1uF 的电容, 就可以实现SPCE061A 和Voyager II 型机器人之间的电平转换。

  系统软件设计

  软件设计中最重要的部分就是编写语音识别程序。语音识别过程本质上是一种多维模式识别过程。针对凌阳单片机编写语音识别程序,主要可以分为:训练、辨识、辨识结果输出三部分。

2 语音识别程序

  语音识别程序是整个程序编写过程中最重要的部分, 主要可以分为辨识器初始化、识别过程实时监控、获取辨识结果和终止辨识四部分。

  2.1 辨识初始化

  辨识初始化使用void BSR_InitRecognizer (int AudioSource)函数来实现。当参数AudioSource 取1 时为LINE_IN 电压模拟量输入;当参数AudioSource 取0 时为MIC 语音输入。

  2.2 识别过程实时监控

  该功能调用void BSR_EnableCOUIndicator()函数来实现,主要用来辨识是否正常工作。如果辨识正常,CPU 会产生一个占空比为50%的方波。如果CPU 超载,则会产生不稳定的波形,这时为了避免语音辨识产生错误信息,就需要删除命令或者优化程序。

  2.3 获取辨识结果

  该功能调用int BSR_GetResult()函数来实现,当无命令识别出来时,返回值为0;当识别器未初始化或识别未激活返回-1;当识别不合格时返回-2;当识别出来时,返回命令的序号。

  2.4 终止辨识

  该功能调用void BSR_StopRecognizer()函数实现,主要用于停止识别,并关闭FIQ_TMA 中断。

  3 辨识结果输出

  通过BSR_GetResult()可以得到命令的序列号,将命令的序列号改写成Voyager II 型机器人的相关协议, 然后通过RS232口传输给机器人即可达到语音控制的目的。

  4 串口通信程序

  为了方便用户对Voyager II 型机器人进行二次开发, 北京博创兴盛机器人技术有限公司提供了标准串行接口, 并制定了详细的通信协议,供用户使用。为了提高通信的效率和稳定性,在Voyager II 型机器人内部,先将RS-232 标准电平转换为TTL电平,再将TTL 电平通过MAX491 转换为RS-485 的标准电平。

  由于协议中,只支持一个主机,所以在本声控系统中,将声控系统的单片机作 为整个硬件系统的主机, 即整个硬件系统的最高管理者,其地址默认为0.其他设备的地址默认为1-255.具体分配如下:系统设备占用地址0x01-0x0F;电机设备地址 0x100-0x1F;系统保留地址为0x20-0x7F;用户设备地址:0x80-0xAF;在系统运行过程中,主机一直占用自己的TXD 线,从机的RXD 线在不进行通信时为高阻状态,只有在接收到与自己地址相符的数据帧时,才能占用总线,一旦通信结束,立即释放总线,回到高阻状态。

  主机和从机采用标准的“一问一答”通信机制,如果主机的命令需要有数据反馈,则返回需要的数据;如果不需要数据反馈,就返回上位机发送的命令。

  下面,以控制机器人前进为例说明串口通信的协议格式:

  (1)发送固定通信字头两字节:0x55 0xAA

  (2)发送接收设备地址:0x01

  (3)发送数据长度:0x04

  (4)发送命令字:0x26

  (5)发送左电机速度两字节:0x00 0x06

  (6)发送右电机速度两字节:0x00 0x06

  (7)发送数据效验和:0x3A

  在明确了协议格式和需要发送的内容之后, 就可以编写串口通信程序。首先,根据SPCE061A 的PLL 频率和需要设定的波特率,计算出P_UART_BaudScalarHigh 和P_UART_BaudScalar-Low 的取值,完成串口参数的设定。在完成设定后,将需要发送的数据存储到P_UART_Data 中,SPCE061A 就可以将数据发送给Voyager II 型机器人。由于,SPCE061A 的串口每次只能发送1个字节的数据,所以需要采用循环的方式,依次将通信内容发送给Voyager II 型机器人。Voyager II 型机器人收到指令后, 就可以按照指令,进行相应的动作。

  总结

  本系统采用了低成本 的-SPCE061A 作为主控芯片,和传统的基于PC 机的相比, 虽然识别的语音库相对较少,但是其具有低成本、低功耗、体积小和使用灵活方便等特点,不仅适合于中、小型机器人,还适合于教学科研使用。所以,本声控系统 具有良好的市场前景和广阔的使用空间。

关键字:DSP  声控系统设计 引用地址:基于DSP的声控系统设计与实现

上一篇:讨论DSP系统中延迟电池寿命关键--DC/DC稳压器
下一篇:TM1300 DSP系统以太网接口的设计

推荐阅读最新更新时间:2024-05-02 23:22

流水线型模数转换器MAX1200及其与DSP的接口
1 MAX1200的特点功能 新型ADC正在朝着低功耗、高速、高分辨率的方向发展,新型流水线结构正是实现高速低功耗ADC的有效方法。而MAX1200则是采用这一新技术的高速、高精度、低功耗ADC的代表。 MAX1200是一种16位、采样率可达1Msps的单片集成模数转换器,其内部的CMOS积分电路采用全差分多级流水线结构,它具有快速的数字误差校正和自校准功能,能保证在全采样率时具有16位的线性度和91dB的非杂散动态范围(SFDR),以及良好的信噪比(SNR)和谐波失真(THD)特性。MAX1200主要应用于高分辨率图象系统、扫描仪、数字通讯、检测仪表和数据接收等领域;其主要技术特点如下: ●采用单电源+5V供电; ●采用±
[单片机]
流水线型模数转换器MAX1200及其与<font color='red'>DSP</font>的接口
基于DSP 内嵌ECAN模块的总线接口设计
  0 引言   CAN 总线以其可靠、实时、低成本优势已在汽车、机械等工业控制领域广泛应用。TMS320F2812是TI公司最具代表性的低成本、低功耗和高性能的定点DSP芯片,具有强大的事件管理能力和嵌入式控制能力。其内嵌的增强型CAN 总线控制器(ECAN)模块,完全兼容CAN 2.0B 协议,邮箱数量增加至32 个,并增加了时间戳、消息过滤和超时发送功能,提高了应用CAN通信的灵活性。   ADM3053是ADI公司2011年推出一款集成信号和电源隔离功能的CAN 收发器。本文采用集成ECAN 模块的TMS320F2812 和ADM3053 来设计CAN 节点。该设计将内嵌ECAN模块的DSP作为节点主控制器,同时采
[嵌入式]
基于TI DM642和OMAP5912 DSP实验板实现行车安全辅助记录系统的设计
研究动机与介绍 随着工业的进步,行车安全以及车辆防盗的问题已摆在世界人民面前。根据报导,中国每年超过11万人死于车祸,大部分的事故皆由人为因素引起,而疲劳与分心则是主要的原因。虽然瞌睡侦测、脑电波等相关研究都致力于提醒驾驶员,但是其效果并非相当令人满意;加上系统的反应时间以及系统成本因素,无法全面普及。 除了行驶安全的问题让人担忧之外,车辆本身的防盗装置亦使人烦心。根据资料显示,中国每年有超过7.2万辆汽车失窃,平均每7分钟就有一辆汽车遭窃,即使目前的车辆在出厂时都配备防盗锁,且使用者自己也会加装防盗窃装置,但是效果并不显著,目前监控系统最多做到传送文字短信至使用者手机作为提醒,但是无法将实时监控的影像连续不断地传送出来,这样
[嵌入式]
基于TI DM642和OMAP5912 <font color='red'>DSP</font>实验板实现行车安全辅助记录系统的设计
基于DSP和FPGA的ARINC429机载总线接口板的硬件设计
机载 数据 总线 ARINC429在当代的运输机和相当数量的民航客机 (如A310、A300、A600、B757、B767)中有着广泛的应用。目前国内对ARINC429总线接口板的设计一般都是基于HARRIS公司的HS3282芯片完成的,它的缺点是路数有限、非常不灵活。因此对ARINC429总线接口板的研制,实现多 通道 ARINC429总线数据的接收和 发送 ,成为目前对飞机机载总线接口研究的重点,具有非常重要的现实意义和应用前景。 1 ARINC429总线简介   在现代民用飞机上,系统与系统之间、系统与部件之间需要传输大量信息。ARINC规范就是为了在航空电子设备之间传输数字数据信息而制定的一个航空运输的工业标准。
[应用]
基于DSP和DDS的三维感应测井高频信号源实现
高频信号源设计是三维感应测井的重要组成部分。三维感应测井的原理是利用激励信号源通过三个正交的发射线圈向外发射高频信号,再通过多组三个正交的接收线圈,得到多组磁场分量,从而准确测量地层各向异性电阻率。在测井过程中,要求信号源的频率为高频,并且要求信号的频率有很高的稳定性。 产生信号的方法很多,可以采用函数发生器外接分立元件来实现,通过调节外接电容或电阻来设置输出信号频率。但输出信号受外部分立器件参数影响很大,且输出信号频率不能太高,同时无法实现频率步进调节。另外,采用FPGA可实现信号发生器的设计。但当输出高频信号时,需要高速D/A 来配合工作。本文采用数字直接合成技术,采用专用集成芯片AD9834作为信号产生模块,由ADSP2199
[测试测量]
基于<font color='red'>DSP</font>和DDS的三维感应测井高频信号源实现
德州仪器DSP独占鳌头,雄踞中国TD-SCDMA Node B市场
在中国的TD-SCDMA Node B基站试用产品中,80%使用了德州仪器公司(TI)的数字信号处理器DSP。 在中国10个城市开展的测试是在2008年北京奥运会之前部署3G技术的重要步骤。中国信息产业部在年初宣布TD-SCDMA将是中国的3G移动通信标准。 据市场研究公司iSuppli透露,中兴和大唐移动都在中国移动的Node B基站中使用了TI的TMS320TCI100 DSP。这两家公司的获得了83%已宣布的基站订单。 另一家市场研究公司In-Stat估计中国的TD-SCDMA用户将在2008年剧增,2011年达到5200万,在2007年将安装10000套TD-SCDMA基站。
[焦点新闻]
基于DSP的忙音检测设计
忙音是某一频率单音和静音交互出现的一种提示音,通常用于表示电话占线。在某些实际应用过程中,需要对这种忙音进行检测。现阶段这类的信号音检测大多是用专用芯片实现的,多数是在出厂前需要预先设定需要检测的频率值等参数。提出一种基于DSP 的软件实现忙音检测的方法,利用单音和静音通过陷阱滤波器后的能量幅值不同来检测单音,再根据单音和静音所占的比例来检测忙音。软件实现不需要额外的芯片,可以集成于已有的DSP 软件中,而且可以灵活配置检测参数,同时检测多种频率忙音。 1 单音检测的DSP 实现 1.1 单音检测原理 单音信号检测的方法是将输入信号通过一个陷阱滤波器,然后通过比较输出信号和原始信号的平均幅值来判断是否单音信号,信号的幅值通过
[嵌入式]
TMS320C62X DSP的混合编程研究
  TMS320C62X是美国德州仪器公司TI的新一代高性能定点数字信号处理器(DSP)芯片。基于DSP的软件设计问题,就是采用编程语言进行算法实现并使程序效率尽量满足实时性要求。TI DSP的软件设计可以采用汇编语言、高级语言C/C++以及C语言与汇编语言的混合编程。完全采用汇编语言编程复杂性高、开发周期长,而完全采用C语言编程则程序的执行效率相对较低,不能满足实时性的要求。为了设计出性价比最好、开发周期较短、比较复杂的DSP系统,可以采用混合语言编程,把C语言和汇编语言的优点有效地结合起来。C语言和汇编语言的混合编程有三种形式:在编写C语言代码中插入汇编语句只需在汇编语句两边加上双引号和括号,在括号前面加上标识asm,如
[嵌入式]
小广播
最新嵌入式文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
随便看看
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved