20电子技术设计与应用ElectronicsDesign&Application0引言语音不仅是人与人之间进行信息交流昀直接、昀方便和昀有效的工具,也是人与机器之间进行通信的重要工具。过去的二三十年中,图形用户界面(GraphicalUserInterface,GUI)作为人与机器的通信接口取得了很大的进展,但使用GUI仍然摆脱不了手的操作,某些场合仍有不便。因此,语音用户界面(VoiceUserInterface,VUI)成为人们的下一个目标,人们希望通过声音可以对机器发出指令。语音识别有着非常广泛的应用领域,例如智能家电、智能家居、智能导航、智能玩具等等,这些领域下,语音识别提高了设备的易用性。另外,在某些场合,操作者需要用手控制其它设备,比如驾驶员驾驶过程中,或者非常强调响应时间,比如军事训练种情况的紧急处置,这些场合不允许操作者进行复杂的操作,语音控制就成为一项必要的选择。语音识别属于数字信号处理的研究领域,其算法初期是依靠计算机、数字信号处理器等来实现的,但随着微电子学和集成电路技术的新进展,近年来不断有语音识别集成电路投放市场。其中,ICRoute的LD3320就是一款性价比较高的芯片。1LD3320芯片介绍LD3320是一颗基于非特定人语音识别(SI-ASR,SpeakerIndependentAutomaticSpeechRecognition)技术的语音识别/声控芯片。该芯片集成了语音识别处理器和一些外部电路,包括ADC、DAC、麦克风接口、声音输出接口等。该芯片不需要外接任何的辅助芯片如Flash、RAM等,直接集成在现有的产品中,即可以实现语音识别/声控/人机对话功能。LD3320完成非特定人语音识别,每次识别昀多可以设置50项候选识别句,每个识别句可以是单字、词组或短句,长度为不超过10个汉字或者79个字节的拼音串。另一方面,识别句内容可以动态编辑修改,因此可由一个系统支持多种场景。芯片采用48脚QFN塑料封装,工作供电为3.3V。芯片内部电路的简要逻辑图如图1所示。其核心是语音识别运算器,配合输入、输出、AD/DA转换等模块,完成基于LD3320语音识别专用芯片实现的语音控制陈喜春(石家庄机械化步兵学院军事模拟训练中心)摘要:语音控制机器已经成为人机界面设计的一种重要手段。LD3320作为一款语音识别专用芯片,集成了语音识别处理器和一些外部电路,实现了有限词汇的非特定人语音识别。文章介绍了LD3320芯片的基本功能、电路设计以及控制软件的编写。关键词:语音识别;集成电路;LD3320VoiceControlBasedonVoiceRecognitionICLD3320ChenXichun(MilitarySimulationTrainingCenter,ShijiazhuangMechanizedInfantryAcademy)Abstract:Voicecontrolmachinehasbecomeanimportantchoiceofhuman-machineinterfacedesign.LD3320,asanICspecialchipdesignedforvoicerecognition,integratesspeechrecognitionprocessorandsomeotherperipheralcircuits,toachievethepurposeofspeaker-independentautomaticspeechrecognitionwithlimitedwords.Inthisarticle,thebasicfunctions,circuitdesignandcontrolsoftwareofLD3320areintroduced.Keywords:voicerecognition;integratedcircuit;LD3320语音识别的功能。LD3320还支持并行和串行接口,串行方式可以简化与其他模块的连接。图1LD3320内部电路的逻辑框图2LD3320的应用电路设计LD3320的基本应用电路由一个微控制器(MCU)和LD3320组成。电路中的主控MCU芯片,是为了完成对LD3320芯片寄存器的操作。对LD3320芯片的各种操作,都必须通过寄存器的操作来完成。比如设置标志位;读取状态;向FIFO写入数据;识别完成后获得识别结果等。例如在编辑关键词语时,主控MCU通过把关键词语的拼音串设置进LD3320相关寄存器来完成编辑。其寄存器大体可以分为以下几类,FIFO数据缓存器、语音识别控制寄存器、音量调节、模拟电路和其它的辅助寄存器。寄存器读写操作有2种方式,即标准并行方式和串行SPI方式。LD3320寄存器的地址空间为8位,编号从00H到FFH,可参考文献[3-4]。本文选用的主控MCU是51内核的单片机STC10L08XE。演示的软件程序全部烧录在MCU的内置21电子技术设计与应用ElectronicsDesign&ApplicationFlash中。主控MCU直接控制LD3320完成所有和语音识别相关的工作。电源设计可以使用NS公司的LM1117-3.3芯片,为LD3320提供3.3V的电压;音频输入和输出,可以使用柱极体MIC和0.5W的小喇叭;语音识别完成后,为了实现对后续电路的驱动,可以利用MCU的串行口与其它模块进行连接。主控MCU与LD3320的连接关系如图2所示,MCU的P0端口的8根线和LD3320并行方式连接,控制线也分别连接。此外还连接了复位信号和中断信号。对LD3320来说,复位信号(RSTB)由MCU发出,而中断信号由LD3320发出,MCU负责接收。另外,还有一些辅助电路,比如麦克风的偏置、喇叭音量的控制,以及电源的去耦等,这里不作详细介绍。图2核心芯片的连接关系3LD3320的软件编程3.1编程模式主控MCU通过读/写LD3320的寄存器完成操作。用户有两种编程模式:中断模式和轮询模式。所谓中断模式,就是系统的主控MCU在接收到外界一个触发后(比如用户按动某个按键),启动LD3320芯片的一个定时识别过程(比如5s),要求用户在这个定时过程中说出要识别的语音关键词语。过了这个过程后,需要用户再次触发才能再次启动一个识别过程。所谓轮询模式,就是系统的主控MCU反复启动识别过程。如果没有人说话没有识别结果,则每次识别过程的定时到时后再启动一个识别过程;如果有识别结果,则根据识别作相应处理后(比如播放某个声音作为回答)再启动一个识别过程。3.2程序流程语音识别的操作流程是:(1)语音识别用初始化(包括通用初始化)。在此步骤中,对各寄存器进行初始化设置。(2)写入识别列表。LD3320是一个基于词库的语音识别芯片,在此步骤中,应将待识别的短语写入识别列表。列表的规则是,每个识别条目对应一个特定的编号(1个字节),不同的识别条目的编号可以相同,而且不用连续,但是数值要小于256(00H~FFH)。(3)开始识别,并准备好中断响应函数,打开中断允许位。(4)响应中断。如果麦克风采集到声音,不管是否识别出正常结果,都会产生一个中断信号。而中断程序要根据寄存器的值分析结果。读取BA寄存器的值,可以知道有几个候选答案,而C5寄存器里的答案是得分昀高、昀可能正确的答案。如果不用中断方式,也可以通过查询方式工作。在开始识别后,读取寄存器B2H的值,如果为21H就表示有识别结果产生。在此之后读取候选项等操作与中断方式相同。LD3320芯片还具有MP3播放的功能,在这里不再进行介绍。4结论LD3320的功能是完成有限词组的非特定人语音识别,我们将其应用在一个虚拟环境下战术训练课题中。战术训练中,常常需要下达一些短口令,而在我们所设计的训练环境中,如果口令采用键盘或鼠标的方式进行输入,显然有违设计的初衷。所以,我们使用LD3320设计VUI控制电路,用语音识别的方式,将获得的识别结果再转换成串口信号,输入计算机,达到语音控制的目的。实践证明,这种方式可以满足语音控制的要求,但是语音识别的速度,即实时性还有待改进。参考文献:[1]柳春.语音识别技术研究进展[J].甘肃科技,2008,24(9):41-43.[2]姚天任.数字语音处理[M].武汉:华中科技大学出版社,1992,4.[3]ICRouteLtd..LD3320开发手册[EB/OL].[4]ICRouteLtd..LD3320数据手册[EB/OL].作者简介:陈喜春(1971-),男,河南新乡人,石家庄机械化步兵学院教师,研究方向为嵌入式技术。电子信箱:chen.xc@tom.com