版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
基于凌阳单片机的电视机声控选台系统设计与实现随着科技的不断发展,电子产品的智能化越来越高。声控技术是智能家居中的一项重要技术,在电视机领域也得到了广泛应用。本文基于凌阳单片机,设计并实现了一种电视机声控选台系统,可以通过语音指令实现电视机的开关、音量控制和频道切换等操作。一、系统整体设计本系统采用的是凌阳LY68L6400单片机作为主控制器,外接声音传感器进行声音信号的采集和处理,控制电视机的开关和频道切换。系统整体框图如下图所示:![系统整体框图](/b1dc38fe16f14595905c4d1adfafec4c4b2514f64fb441d092f6572bbe1ee008)二、系统组成1.凌阳单片机LY68L6400凌阳LY68L6400是一款低功耗的单片机,具有低功耗、高性能、高集成度等特点。它采用ARMCortex-M0内核,主频为48MHz,属于支持USB硬件接口的微处理器系列。此外,LY68L6400还拥有25kB的SRAM和128kB的闪存,足以满足系统的工作需要。2.声音传感器声音传感器是本系统的输入模块,用于将语音信息转化为电信号。本系统选用MAX4466模拟声音传感器,该传感器增益高、布线简单,灵敏度可达-44dB,非常适于语音信号的采集。3.控制逻辑在本系统中,主控芯片将采集到的信号进行处理,通过IO口驱动信号换向开关实现电视机的开关和频道切换。控制逻辑如下:-电视机开关:当系统接收到打开指令时,控制芯片将IO口输出高电平,起到按下电视机电源按钮的效果,从而打开电视机。当系统接收到关闭指令时,控制芯片将IO口输出低电平,起到按下电视机电源按钮的效果,从而关闭电视机。-音量控制:当系统接收到音量加指令时,控制芯片将IO口接到音量加按钮上,起到按下音量加按钮的效果,音量就会自然地增加。当系统接收到音量减指令时,控制芯片将IO口接到音量减按钮上,起到按下音量减按钮的效果,音量就会自然地减小。-频道切换:当系统接收到频道加指令时,控制芯片将IO口接到频道加按钮上,起到按下频道加按钮的效果,频道就会自然地加上1,并切换到下一个频道。当系统接收到频道减指令时,控制芯片将IO口接到频道减按钮上,起到按下频道减按钮的效果,频道就会自然地减去1,并切换到上一个频道。三、系统实现1.硬件连接将MAX4466声音传感器的输出信号和凌阳单片机的AIN0口相连,使音频信号以模拟电压的形式进入单片机。将控制逻辑的输出信号通过电平转换器输出到电视机控制面板上,并与相应的位置连接。2.软件设计(1)系统初始化在初始化操作中,需要进行IO口的配置和时钟初始化等一系列操作,将凌阳单片机准备好接受声控指令。系统初始化代码如下:```voidInit_Core_Chip(){SCU->CLKENCFG|=1<<0;//使能外设时钟LPUART_Init(LPUART0,115200);//初始化串口IO_Init();//配置IO口Init_ADC(ADC_0,CHANNEL_0,ADC_SAMPLE_500);//初始化ADC}```(2)声音采集系统通过调用ADC_StartConversion函数来启动ADC采集,采样周期为20us,采集到的数据传入dataBuf[]数组中。具体采样代码如下:```voidCollect_ADC_Data(){ADC_StartConversion(ADC_0);while(ADC_IsConversionDone(ADC_0)==false);dataBuf[0]=ADC_GetDataChn(ADC_0,CHANNEL_0);}```(3)语音指令解析本系统采用CCS811配置电视机的开关和频道切换,将音量设置为25,此外还有增加音量、降低音量、上一台、下一台等几个常用操作。所有语音指令储存在指令列表中,每个指令以特定字符结尾。在收到声音信号后,系统对其进行预处理,去除背景噪音和失真信号,确定本次采样数据的边界和结尾位置,并存储到实时声音数组中。针对每个指令,我们选择对应的识别提取关键字,并和指令列表中的指令进行匹配,如果匹配成功,就执行相应的操作。具体代码实现如下:```for(j=0,k=0;j<samples;j++){if(dataBuf[j]>noise&&dataBuf[j]<max){voiceBuf[k]=dataBuf[j];featureValue+=(voiceBuf[++k]-voiceBuf[k-1])*(voiceBuf[k]-voiceBuf[k-1]);}}DistSet=sqrt((float)featureValue);if(DistSet<20.0f&&DistSet>0.0f){intresult=Keywordspotting(voiceBuf,k);//识别并返回匹配的关键字序号if(result>=0){Serial_TransmitStr(Keywords[result]);Do_Operation(result);//根据关键字进行相应的操作}}```(4)控制电视机根据收到的语音指令分类执行相应的控制操作,包括打开电视机、关闭电视机、增加音量、减小音量、向上切台和向下切台。具体实现如下:```voidDo_Operation(intop_code){switch(op_code){case0://关机{TV_PowerOn_Off(0);//关机break;}case1://开机{TV_PowerOn_Off(1);//开机break;}case2://增大音量{TV_Volume_Adjust(1);//增大音量break;}case3://降低音量{TV_Volume_Adjust(0);//降低音量break;}case4://上一台{TV_Channel_Adjust(0);//上一台break;}case5://下一台{TV_Channel_Adjust(1);//下一台break;}default:break;}}```四、系统测试将硬件连接完成、程序下载到芯片后,对整个系统进行综合性的测试,测试各项指令是否能够得到正确的响应:声音命令|系统响应|系统功能---------|----------|----------“开机”|电视机开机|打开电视机“关机”|电视机关机|关闭电视机“大声点”|音量增加|增加音量“小声点”|音量降低|减少音量“切下一个台”|频道加1|下一台“切上一个台”|频道减1|上一台总体测试结果表明,声控选台系统基于凌阳单片机实
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
评论
0/150
提交评论