0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

基于语音专用芯片UniSpeech和39VF080存储器实现DVD/TV遥控器的设计

牵手一起梦 来源:电子设计应用 作者:陈伯函;姚杰耀; 2020-04-25 11:02 次阅读

引言

一般使用DVD播放器时要同时使用电视机来显示所播放的图像。因此必须同时使用DVD播放器的遥控器以及电视机的遥控器进行控制,使用很不方便。人们很希望用一个遥控器既可以控制DVD播放器又可以控制电视机。本文设计的遥控器就是一款DVD/TV并用的遥控器。DVD遥控器是定制的,其控制码型是完全确定的。但是用户所使用的电视机却是各种类型的,其控制码型也各式各样,无法预先确定,因此对电视机的遥控器需采用学习式,即将电视机的控制码通过学习过程送入遥控器。本遥控器就是一款学习式的,适应各种类型电视机使用的遥控器。

这款遥控器引用了语音辨识功能,既可以应用按键控制也可以发语音命令进行控制,给人们带来极大方便。

系统硬件设计

系统主芯片采用清华大学与Infineon公司合作新推出的具有DSP单片机(M8051)双核的语音专用芯片UniSpeech。该芯片集成了12bit的ADC和11bit的DAC,省去了额外的CODEC器件。由于采用了SoC结构,构成系统的芯片数量少,系统的集成度和稳定性高。因此该芯片非常适合于开发带有语音识别功能的遥控器等应用。

红外线信号的发射是通过MCU的功能引脚PWM驱动红外线发射管实现的,由于PWM引脚具有脉冲宽度调制功能,只要设置相应的寄存器,就能输出具有一定占空比的载波信号,因此不需额外的驱动器件就可根据需要发出所要的红外信号。红外线的接收则是由红外线接收管连接到MCU的通用输入/输出引脚实现。

考虑到语音声学模型、遥控码等所需要的存储数据量比较大,本文采用了SST公司的8Mbits的Flash存储器39VF080。

遥控器设计中比较重要的一点是按键的功能设计,结合一般用户使用DVD和TV遥控器的习惯,本设计只设置了较少的4×4的扫描式按键。只有最常用的几个功能既可以按键控制,又可以语音控制,其它功能可以完全由语音控制实现。其系统硬件框图如图1所示。

基于语音专用芯片UniSpeech和39VF080存储器实现DVD/TV遥控器的设计

系统中 MCU作为主控制芯片,完成对各种接口的控制和系统的配置。DSP作为协处理器,完成语音识别算法和语音合成计算。通过MIC的输入语音,经过ADC的8kHz采样、12bit的线性量化,然后送到DSP进行处理。

由于系统语音识别部分是面向非特定人设计的,因此必须事先准备训练好的声学模型和已经编辑好的语音命令词条。系统通过UART与计算机串口相接,将已经编辑好的语音命令词条和声学模型存入Flash中。考虑到实际使用的需要,本文将各语音命令词条(如“开机”、“关机”)对应到一个按键所对应的遥控码上。这样,当输入不同的语音命令,通过语音识别得到与之匹配的指令,就可实现与对应按键相同的控制效果。

系统软件设计

本系统软件被设计为一个超循环(Super-Loops)结构的实时系统。通过在主程序中构造一个超循环把所有任务模块链接起来。任务级的程序得到控制权后,首先检查是否有事件需要处理。如果没有就放弃控制权,使得超循环任务链中的下一个任务得到控制。如果确实有事件需要处理,那么就完全或部分地处理该事件,然后就立刻交出控制权。通过这样的协作,所有的任务每次执行时都只占用系统很少的运行时间。系统流程如图2所示。

代码结构如下:

void main(void)

{

EA = 0;

// 屏蔽中断

Init();

// 系统初始化

EA = 1;

// 打开中断

while (1)

{

Drv_Ring(); //驱动层,负责扫描键盘和检测是否有语音输入

App_Ring(); //应用层,负责红外线信号的发射和接收以及语音命令的识别

}

}

功能模块之间的切换是通过一个功能开关和一个语音识别启动键实现的,当功能开关置为“LEARN”学习功能时,系统进入学习功能;当置为“DVD”档时,系统进入DVD功能;当置为“TV”档时,系统则进入TV功能。

DVD功能模块

DVD遥控器的遥控码已由DVD播放器生产厂商提供。为此,DVD遥控码型将根据所属厂家提供的信息直接在程序中确定,因此在按键发送红外信号时,也是直接由程序确定对应的码型。通过PWM引脚发射。

TV功能模块

对TV功能而言,其遥控码型必须通过学习过程取得,并存于数据Flash中。当用户按键时,程序根据按键键值,从数据Flash中读取对应的遥控码型,然后通过功能引脚PWM发送该遥控码。

语音识别模块

当语音识别启动键被按下时,系统进入识别状态,开始接收语音命令的输入,识别完语音命令之后,根据识别结果发送相应的遥控码。语音识别子系统的基本结构如图3所示。

语音识别引擎采用基于子词的非特定人语音识别模型,与以往的基于孤立词整词的模型相比,具有灵活性高、稳健性好的特点。

按照各自的功能,大致上可以将识别算法分为三个部分:特征提取、模型参数训练和识别网络解码。对于一个基于子词的非特定人嵌入式语音识别引擎而言,声学模型(采用HMM)是与识别任务无关的,模型参数相对固定,因此模型参数训练的过程可以在PC平台上完成(见图3虚框部分),需要嵌入到片上的模块只有特征提取和识别网络解码部分。特征提取选用了MFCC参数作为语音识别引擎的语音特征参数,识别网络解码采用维特比(Viterbi)搜索算法。为了保证算法能够达到较高的识别精度,而又占用较少的资源,采用两级识别结构,在一颗专用芯片上达到了99%的识别精度。

学习模块

当系统处于学习功能状态时,系统检测红外遥控码。根据用户所选按键,将接收到的红外遥控信息存到该按键对应的Flash数据区中。当下次按下该按键时,就可从该按键对应的Flash数据区中取出新学习到的红外遥控码。

责任编辑:gt

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 芯片
    +关注

    关注

    452

    文章

    50117

    浏览量

    420322
  • 存储器
    +关注

    关注

    38

    文章

    7413

    浏览量

    163466
  • 遥控器
    +关注

    关注

    18

    文章

    829

    浏览量

    65823
收藏 人收藏

    评论

    相关推荐

    万能空调遥控器是如何获取红外代码库的

    在使用中,可以和电器进行互相通信,万能遥控器实现原理就是对芯片内部的存储器进行了扩展,先收集市场上可能存在的所有遥控器的编码,然后将这些编
    发表于 04-11 13:48

    全能型的遥控器安瑞创智能遥控器AM006

    体验一下,感觉使用的效果十分的畅顺没有什么卡顿的现象。 总结:安瑞创智能遥控器AM006的功能几乎覆盖了市场上目前所有的设备。可以用在的设备有:TV/STB/DVD/PC/mini PC/etc支持
    发表于 08-22 17:44

    单片机实现网络遥控器的方法(遥控器+显示屏+语音控制)

    ` 本帖最后由 zhaihuaming 于 2019-8-26 17:14 编辑 现在找到一个免费的网络遥控器方案,单片机发送命令即可改变手机遥控器界面,非常方便,详细信息请点击:单片机实现网络
    发表于 08-26 16:26

    如何用闲置红外遥控器巧控通用遥控接收

    在很多人的家中,都会闲置有各种红外线遥控器(IR),如TV、VCD、DVD等,利用这些闲置的遥控器,可以用来控制通用遥控接收
    发表于 05-06 14:51

    蓝牙技术|伦茨科技智能语音遥控器方案简介

    完成语音控制的,语音控制是属于设备端解析遥控器上传的语音信号转成文字命令后,执行对应的操作。只能说遥控器可以
    发表于 12-09 10:52

    海尔29F9K-P(9373)067遥控器存储器数据

    海尔29F9K-P(9373)067遥控器存储器数据
    发表于 06-03 13:05 34次下载

    遥控器坏了怎么修

    如今电视机、VCD、DVD、功放、空调都用遥控器,使用中不免损坏。现在,资源丰富,买一只遥控器lO元左右,但是,原配的遥控器无论线路、采用元件或制作工艺远远超过后配的产品,所以,许多爱
    的头像 发表于 09-26 09:06 3.8w次阅读
    <b class='flag-5'>遥控器</b>坏了怎么修

    基于蓝牙技术的智能遥控器

    ,一种电器配一个遥控器,不知不觉数量太多觉得不方便了,例如你需要用电视遥控器启动电视机,再用DVD遥控器启动DVD机,然后用电视
    发表于 03-05 08:17 1796次阅读
    基于蓝牙技术的智能<b class='flag-5'>遥控器</b>

    如何通过亚马逊Alexa语音控制遥控器

    现在您拥有自己的语音控制遥控器!您可以使用您学到的语音来控制通过Amazon Alexa使用遥控器的几乎所有内容。
    的头像 发表于 08-31 09:55 5552次阅读
    如何通过亚马逊Alexa<b class='flag-5'>语音</b>控制<b class='flag-5'>遥控器</b>

    一加TV遥控器带有Google智能助理按钮

    早前曾有消息称一加官方计划于本月正式推出旗下的电视产品,而一加TV所采用的处理也被曝光。近日一加CEO刘作虎也在推特上晒出了一加TV专用遥控器
    的头像 发表于 09-06 11:08 3892次阅读

    如何使用任何电视或DVD遥控器控制您的电脑

     如果您有一个像我一样的 Philips DVD播放遥控器,那么您只需选择Arduino连接到的COM端口即可运行我的应用程序。
    的头像 发表于 11-05 17:10 6916次阅读

    智能语音遥控器的相关结构原理

    下面就为您介绍智能语音遥控器的相关结构原理。
    的头像 发表于 10-14 11:38 1.3w次阅读

    如何使用Alexa语音控制电视遥控器

    本文档的主要内容详细介绍的是如何使用Alexa语音控制电视遥控器
    发表于 12-25 08:00 11次下载
    如何使用Alexa<b class='flag-5'>语音</b>控制电视<b class='flag-5'>遥控器</b>

    基于国民技术N32WB031的蓝牙语音遥控器解决方案

    N32WB031超低功耗蓝牙芯片作为主控芯片实现红外键码、蓝牙键码和蓝牙语音功能,并可支持ATV遥控、私有
    的头像 发表于 03-08 10:00 1915次阅读
    基于国民技术N32WB031的蓝牙<b class='flag-5'>语音</b><b class='flag-5'>遥控器</b>解决方案

    蓝牙语音遥控器方案

    在智能家居的时代,科技正在改变我们的生活方式。蓝牙语音遥控器,作为智能家居的关键组成部分,正在重新定义用户与设备之间的互动方式。用户对着蓝牙语音遥控器,只要轻说一句话就可以搞定很多复杂
    的头像 发表于 08-29 14:37 366次阅读
    蓝牙<b class='flag-5'>语音</b><b class='flag-5'>遥控器</b>方案