基于SPCE061A芯片控制语音电冰箱设计
摘 要:本文介绍了采用SPCE061A芯片作为控制器核心的语音电冰箱。它能控制电冰箱的工作过程,并能用语音将电冰箱的工作状态、应用常识播报给用户,使控制过程更人性化。 关键词:语音 控制
1 引言 随着家用电冰箱的普及,人们对电冰箱的控制功能要求越来越高,这对电冰箱控制器提出了更高的要求,多功能、智能化是其发展方向之一,传统的机械控制、简单的电子控制已经难以满足发展的要求。本文介绍了采用SPCE061A作为控制器核心,对电冰箱的工作过程进行控制,并用语音将电冰箱的一些工作状态、使用常识播报出来,使控制过程更人性化。
2 芯片特性简介 SPCE061A 是一款采用μ’nSP™内核的16位结构的微控制器,其引脚如图2-1所示。SPCE061A里内嵌32K字的闪存FLASH ROM。较高的处理速度使μ’nSP™能够非常容易地、快速地处理复杂的数字信号。因此,以μ’nSP™为核心的SPCE061A微控制器也适用在数字语音识别应用领域。
若图片无法显示请联系QQ3710167,本论文免费,转发请注明源于www.lwfree.cn
SPCE061A在2.6V~3.6V工作电压范围内的工作速度范为0.32MHz~49.152MHz,较高的工作速度使其应用领域更加拓宽。2K字SRAM和32K字闪存ROM仅占一页存储空间,32位可编程的多功能I/O端口;两个16位定时器/计数器;32768Hz实时时钟;低电压复位/监测功能;8通道10位模-数转换输入功能并具有内置自动增益控制功能的麦克风输入方式;双通道10位DAC方式的音频输出功能。SPCE061A是数字声音和语音识别产品的一种最经济的应用。
特性:
·16位μ’nSP™微处理器;
·工作电压:内核工作电压VDD为2.6~3.6V(CPU),IO口工作电压VDDH为VDD~5.5V(I/O);
·CPU时钟:0.32MHz~49.152MHz ;
·内置2K字SRAM;
·内置32K闪存ROM;
·可编程音频处理;
·晶体振荡器;
·系统处于备用状态下(时钟处于停止状态),耗电小于2μA@3.6V;
·2个16位可编程定时器/计数器(可自动预置初始计数值);
·2个10位DAC(数-模转换)输出通道;
·32位通用可编程输入/输出端口;
·14个中断源可来自定时器A / B,时基,2个外部时钟源输入,键唤醒;
·具备触键唤醒的功能;
·使用凌阳音频编码SACM_S240方式(2.4K位/秒),能容纳210秒的语音数据;
·锁相环PLL振荡器提供系统时钟信号;
·32768Hz实时时钟;
·7通道10位电压模-数转换器(ADC)和单通道声音模-数转换器
·声音模-数转换器输入通道内置麦克风放大器和自动增益控制(AGC)功能;
·具备串行设备接口;
·低电压复位(LVR)功能和低电压监测(LVD)功能;
·内置在线仿真板(ICE,In- Circuit Emulator)接口。
3 系统组成 液体由液态变为气态时,会吸收很多热量,简称为“液体汽化吸热”,电冰箱就是利用了液体汽化的过程中需要吸热的原理来制冷的。
图3.1为蒸气压缩式电冰箱制冷系统原理图。它由压缩机、冷凝器、干燥过滤器、毛细管、蒸发器等部件组成,其动力均来自压缩机,干燥过滤器用来过滤赃物和干燥水分,毛细管用来节流降压,热交换器为冷凝器和蒸发器。
若图片无法显示请联系QQ3710167,本论文免费,转发请注明源于www.lwfree.cn
图 3.1
制冷压缩机吸入来自蒸发器的低温低压的气体制冷剂,经压缩后成为高温高压的过热蒸气,排入冷凝器中向周围的空气散热成高压过冷液体。高压过冷液体经干燥过滤器流入毛细管节流降压,成为低温低压的液体,进入蒸发器中汽化,吸收周围被冷却物品的热量,使温度降低到所需值,汽化后的气体制冷剂又被压缩机吸入,至此,完成一个循环。压缩机冷循环周而复始的运行,保证了制冷过程的连续性。
系统组成如图3.2,主要由电源板、 单片机、传感器组、压缩机控制电路、电磁阀控制电路、显示电路、化霜控制电路、电加热丝控制电路、语音输出电路、风机控制电路等部分组成。43
基于SPCE061A芯片控制语音电冰箱设计
4 系统硬件设计 我们知道,电冰箱一般设有冷冻室和冷藏室。冷冻室用于速冻食品,在冷冻室中的食品可以存放较长的时间,食品中的水分会凝结成霜,到一定程度还要除霜,其温度可为-16℃ ~~~ -26℃之间。冷藏室以不冻伤食品又有保鲜作用为准,其温度可为2℃ ~~~ 10℃之间。
具体的说,电冰箱控制器的主要任务就是控制压缩机、电磁阀、化霜加热丝、风扇等的运行,来保持箱内食品的最佳温度,达到食品保鲜的目的,即保证所储存的食品在经过冷冻或冷藏之后,保持色、味、水分、营养基本不变。LED将设定的温度或实际温度显示出来,当冷冻室温度过高或开门时间过长还会用语音提示。字串1
5 硬件组成
整个系统工作于3.3V电压下,由电源板提供5V电压,经过LF33稳压到3.3V为系统供电。三个按键分别设置冷冻室温度、冷藏室温度和人工智能工作方式。温度传感器主要由冷冻室、冷藏室、冷冻室蒸发器盘管、冷藏室蒸发器盘管速冻室、环境温度检测等温度传感器组成。主控器不断采集冷冻室、冷藏室及环境的温度,并根据设定的值及采集值控制各部件的运行。
5.1 电源部分电源模块 电源模块电路如下:
若图片无法显示请联系QQ3710167,本论文免费,转发请注明源于www.lwfree.cn4.3 供电系统分析整个主控板上有三种电压:AC220V、DC12V和DC5V。AC220V直接给压缩机、室外风机、室内风机和负离子产生器供电;AC220V经过降压,变为DC12V和DC5V,用于继电器和微控系统供电。供电系统如图4-3所示,AC220V先经过变压器降压,然后从插座J1输入,经过整流桥进行全波整流,通过电容C2滤波,得到DC12V,再经过稳压片7805稳压,得到DC5V。图中的采样点ZDS用于过零点的检测,二极管D1防止滤波电容C2 对采样点ZDS的影响。
若图片无法显示请联系QQ3710167,本论文免费,转发请注明源于www.lwfree.cn
图 4-3供电系统
图2-5 电源模块原理图
5.2 键盘扫描、键码分析
按键包括人工智慧键、冷冻调节键、冷藏调节键。键盘输入电路如图5.1。当有键按下时,对应的IO口为拉到高电平。
若图片无法显示请联系QQ3710167,本论文免费,转发请注明源于www.lwfree.cn图5.1
5.3 传感器输入电路 电冰箱通过采集冷冻室和冷藏室的温度,并根据实际温度与设置温度相比较来控制压缩机、电磁阀、风扇及化霜加热丝等部件,使各室温度保持在相应设置值。SPCE061A单片机具有7信道10位逐次逼近式AD转换器,本方案选用其中的5个信道来采集冷藏室、冷冻室、冷藏室盘管、冷冻室盘管和环境温度,即传感器主要由冷冻室、冷藏室、冷冻室蒸发器盘管、冷藏室蒸发器盘管速冻室、环境温燃觳獾任露却衅髯槌伞F溆?个信道用于功能的扩展。温度传感器采用负温度系数的热敏电阻。其控制原理如图5.2。 SPCE061A的AD输入管脚和IOA共用,通过程序进行AD转换功能的控制。为防止电源电压对AD的影响,SPCE061A为AD提供了专门的电源VDDIOAL、VSSIOAL。将5个热敏电阻分别与固定电阻R41-R45串联接于电源VDDIOAL、VSSIOAL,当温度改变时,热敏电阻阻值随之改变,测量其分压值大小则可计算出温度值的大小。
若图片无法显示请联系QQ3710167,本论文免费,转发请注明源于www.lwfree.cn
5.3 显示电路 显示电路由四位8段数码管组成,用来显示冰箱内的实际温度、设置温度或故障。接口电路如图5.3,采用动态显示方式驱动。
计算机控制-基于SPCE061A芯片语音电冰箱设计
图5.3 显示电路
5.4 压缩机、化霜电加热丝、风机、电磁阀控制电路 压缩机控制电路比较简单,如图5.4。由IO口输出信号,通过8050反相驱动电路来控制继电器,再由继电器控制压缩机的开停。当IO口输出高电平时,Q11饱和导通,继电器线圈流过电流,其触点吸合;当IO口输出低电平时,Q11截止,继电器线圈无电流,其触点断开。压缩机的开关由相关室的温度决定,每次开机之前必须检测延时保护条件是否满足,才能作出开机决策。
若图片无法显示请联系QQ3710167,本论文免费,转发请注明源于www.lwfree.cn
图5.4 控制电路
化霜电加热丝控制电路、风机控制电路、电磁阀控制电路的结构相似,只是器件参数有所不同,故在一起介绍。
5.5 断电记忆功能
系统扩展1块AT24C01A来记忆断电前的工作状态,这样,来电后仍按断电前的设定工作。AT24C01A为I2C总线,利用SPCE061A的IOB0、IOB1作为SCL、SDA信号,如图5.5,其中R23、R24为上拉电阻,I2C总线的读写时序由软件控制。
若图片无法显示请联系QQ3710167,本论文免费,转发请注明源于www.lwfree.cn
图5.5 AT24C01A
5.6 语音提示、报警电路 SPCE061A有两信道电流输出型DAC,每个信道的输出能力可编程为2mA或3mA,只需外加一个负载电阻即可转化成电压信号,经三极管放大推动喇叭,见图5.6。
每次通电开机、改变工作模式、冷冻室超温报警等,都会以甜美的声音提示您,以保证操作正确,开机的提示语音还会向您普及一些使用电冰箱的常识。报警电路主要用于冷冻室温度过高时,冷冻温度会以一定的频率显示,并用语音提示“冷冻室超温”。此时应检查冰箱门是否关好(请将冰箱门关好)?是否一次性放入大量较热的食品?冰箱工作一段时间后,冷冻室温度降低,冷冻温度显示灯停止闪烁,超温报警自动消除。
若图片无法显示请联系QQ3710167,本论文免费,转发请注明源于www.lwfree.cn图5.6
6 软件设计
本系统软件主要由主流程、功能子程序、中断服务程序组成。
子程序主要由键盘扫描、键码分析、温度采集、传感器检测、人工智慧、冷藏室温度采集与控制、冷冻室温度采集与控制、压缩机保护及控制、驱动、显示数据计算、运行参数存储等模块组成,LED的显示在256Hz的中断程序中完成,。主流程如图6.1。
若图片无法显示请联系QQ3710167,本论文免费,转发请注明源于www.lwfree.cn
6.1 初始化子程序
初始化模块主要完成初始化I/O口、中断、内存单元,并读出AT24C01A相应单元的值进行控制,程序流程如图6.2。
若图片无法显示请联系QQ3710167,本论文免费,转发请注明源于www.lwfree.cn
图6.2 初始化子程序
AT24C01A的0x02单元为标志位:当读出的值为0xFF时,表示初次使用,则自动进入人工智慧控制模式。为0x55时,表明断过电,读出断电前的工作状态。AT24C01A单元分配:
表6.1
地址
工作状态
地址
工作状态
0x02
标志位
0x08、0x 09
冷冻室设置温度
0x04、0x 05
运行标志
0x0A、0x 0B
冷藏室设置温度
0x06、0x 07
驱动标志
0x11—0x1D
相关时间单元
每次存储时,将各参数存储在3个不同的单元中(同一参数存储3次),每次上电复位后,将3个单元的数据读出且进行比较,采取三中取二的决策方式,如果3次都不同,则进入最安全的方式运行。 6.2 键盘扫描、键码分析 当有键按下时,对应的IO口为拉到高电平,CPU扫描到按键动作,则根据当前运行状态和按键来改变运行标志位,并开始计时,如果连续5秒无按键,则将有效设定送入相应控制单元。 6.3 人工智慧模块 人工智慧模块通过检测环境温度的高低,自动确定冷冻室和冷藏室的设定温度。如果环境温度高,则相应地将冷藏室、冷冻室的温度设置高一些;如果环境温度低,则相应地将冷藏室、冷冻室的温度设置低一些,以免压缩机长时间运行
计算机控制-基于SPCE061A芯片语音电冰箱设计
或不运行。 6.4 冷冻室(冷藏室)温度采集与控制 通过冷冻室(冷藏室)温度传感器,采集冷冻室(冷藏室)温度,将数据致入显示缓冲区,并将实测温度与冷冻室(冷藏室)的设置温度比较,如果实测温度高于设置温度,则置冷冻室(冷藏室)高标志,否则返回。 热敏电阻灵敏度高,为了防止开冰箱门时温度传感器采集到的温度变化太快,引起控制部件的频繁动作,温度采集采用滑动平均值滤波方法,程序中数组R_tempR[15] 为冷藏室温度采集存储队列单元(程序初始化时连续采集了15次温度,存储在数组的15个元素中),程序每循环一次,采集一次冷藏室温度,数组元素值依次向高位移位一次,R_tempR[14]元素的值丢失,并将温度存入R_tempR[0],这样在数组中始终有15个“最新”的数据,求出数组的算术平均值作为本次测量结果。R_tempKJ[15]、R_tempF[15]、R_tempHS[15]、R_tempHW[15]分别为冷藏室蒸发器盘管、冷冻室温度传感器、冷冻室蒸发器盘管和环境温度传感器温度采集存储单元,计算方法同上。温度采集流程见图6.3。
若图片无法显示请联系QQ3710167,本论文免费,转发请注明源于www.lwfree.cn图6.3
6.5 压缩机保护及控制模块 本模块包括三部分:压缩机保护子程序、压缩机控制子程序、压缩机启动/停止子程序。 压缩机保护子程序主要用于启动压缩机,压缩机每次启动前,先检查停机时间是否已经延时5分钟。若已经延时5分钟,压缩机可以立即启动;若未到5分钟,则继续延时到5分钟后,压缩机才可以启动。见图6.4。
若图片无法显示请联系QQ3710167,本论文免费,转发请注明源于www.lwfree.cn图6.4 压缩机保护
压缩机控制子程序主要根据冷冻室和冷藏室的温度检测标志、化霜(结束)标志、压缩机允许开机标志来决定压缩机的启动、停机,并置启动/停机命令标志。 压缩机启动/停止子程序根据压缩机当前的运行状态和启动/停机命令标志来控制压缩机的运行。表6.2
压缩机运行状态
启动/停机命令标志
动作
1
1
返回
0
关压缩机;置关机标志;计时单元1清0;计时单元2停止计时。
0
1
启动压缩机;置开机标志;计时单元2开始计时
0
返回
注: 1)计时单元1为压缩机关机延时5分钟计时单元;计时单元2为压缩机累计运行时间计时单元,用于自动化霜计时。 2)压缩机运行状态: 1-----运行 0---停机 启动/停机命令标志: 1-----启动命令 0---停机命令
6.6 驱动模块 驱动模块包括压缩机、电磁阀、风扇和化霜加热丝,程序根据当前运行状态和驱动标志位来确定其运行状态。
若图片无法显示请联系QQ3710167,本论文免费,转发请注明源于www.lwfree.cn图6.5
6.7 语音输出模块 随SPCE061A的开发环境一起提供给用户。在用户程序方面,开发环境提供了C语言和汇编语言的API(应用程序接口),使用非常方便。 语音播放程序包括播放初始化程序、播放程序和中断服务程序。播放初始化完成初始化A/D、定时器TimerA和音量,播放程序从ROM里取出预先压缩好的语音数据,解压缩后存放到播放队列里。中断服务程序定时地从播放序列中读数据,送到D/A转换驱动喇叭发音。
总 结
本次课程设计是采用SPCE061A单片机设计的。SPCE061A是凌阳科技公司最新的16位单片机,特点是高速、低功耗、强大的I/O口功能,以上的设计方案只占用SPCE061A的一部分资源,可以在此基础上开发出功能更强的产品,缩短
了开发周期。 而且SPCE061A成本低、性价比高、运行可靠。SPCE061A有丰富的I/O口资源,外围电路相对简单。
作为大学阶段一次重要的学习经历我感觉自己受益非浅,同时深深的感觉的自己的自学能力在逐步提高,独自思考和分析问题的能力也得到增强。 不久的将来,我将要走上工作岗位。我非常重视这样的学习机会,会更加努力的掌握专业课知识,为以后的工作道路打下坚实的基础。
计算机控制-基于SPCE061A芯片语音电冰箱设计
致 谢
经过一个星期的课程设计的学习,使我对计算机控制技术有了新的认识,对有关单片机的知识有了更进一步的掌握。由于经验的匮乏,难免有许多考虑不周全的地方,如果没有刘老师和皮老师的细心教导和耐心解答,以及同学的帮助,想要单独完整完成这个设计对于我来说有点难。这次的课程设计让我受益非浅, 感谢学校学院领导给我学习的机会,也在此对所有帮助过我的人表示衷心的感谢!
8 参考文献 [1] 刘胜利等,新型无氟冰箱及冷藏柜原理及维修技术[M] 北京:电子工业出版社 [2] 方贵银,新型电冰箱维修技术与实例[M] 北京:人民邮电出版社
计算机控制-基于SPCE061A芯片语音电冰箱设计
用SACM-S480算法播放程序: SACM_S480_Initial(1); //初始化A/D、TimerA SACM_S480_Volume(15); //初始化音量 SACM_S480_Play(result,3,3); //播放一条语音 while((SACM_S480_Status()&0x0001)==1)//播放状态 { SACM_S480_ServiceLoop();//播放服务函数 } SACM_S480_Stop(); //停止播放 主播放函数SACM_S480_Play(int Index,Int Channel,Int Ramp_Set)有三个参数, Index:播放索引号。 Channel:播放通道。1-通过DAC1通道播放,2-通过DAC2通道播放,3-通过DAC1和DAC2通道播放。 Ramp_Set:消除开始放音时的“啵”声。 中断服务程序: _FIQ: push R1,R4 to [SP] //寄存器入栈 FIQ_ret: R1 = 0xa800; [P_INT_Clear] = R1; //清中断标志 pop R1,R4 from [SP];//寄存器出栈 reti;