空调显示defracticated是什么意思

| 520: 源站返回未知错误
-- Event ID: af43ad
如果您是网站管理员,点击查看。如需网站监控,可以使用。
您的浏览器
百度云加速基于语音识别的汽车空调控制系统 - 慧聪网论坛
后使用快捷导航没有帐号?
查看: 676|回复: 2
在线时间2 小时经验295 铜板1 威望0 最后登录注册时间帖子精华0积分446阅读权限30UID8292238
励精图治, 积分 446, 距离下一级还需 54 积分
铜板1 威望0 经验295 阅读权限30精华0积分446帖子
摘要:随着人们生活水平的不断提高,消费者对汽车性能的要求也越来越高,语音识别技术被应用在汽车上,来满足消费者对汽车舒适性、安全性和娱乐性等要求。本文采用基于ARM Cortex—M3内核32位微控制器STM32F103VET6作为系统控制核心,利用LD3320芯片的语音识别功能,构建基于语音识别的汽车空调控制系统。
关键词:语音识别;LD3320;汽车空调;STM32;控制系统
现在汽车上使用的电器越来越多,驾驶员需要手动操作的电器开关也越来越多,不但增加了驾驶员的负担,还影响了行车安全。本文以 STM32F103VET6(以下简称STM32)芯片为控制核心,采用高性能LD3320语音识别芯片,设计基于语音识别的汽车空调控制系统。该系统可以用语音有效控制汽车空调,减轻了驾驶员的操作负担,保证行车过程中的安全。
1 系统硬件设计
运用语音识别技术,结合各种传感器对车身内外的环境(如气温、阳光强度等)以及制冷压缩机的状态等多种参数进行实时检测,与设定参数相比较,微控制器经过运算处理做出判断,输出相应的调节和控制信号。执行机构经过实时调整和修正,实现对车厢内空气环境全方位、多功能的调节和控制。系统的执行机构主要包括温度风门电机、模式风门电机、循环风门电机、鼓风机、压缩机、除霜控制继电器等。图1为系统结构框图。
1.1 主控制器
主控制器为基于ARM Cortex—M3内核的32位微控制器STM32F103VET6,内置64 KB RAM、512 KBFlash,以及丰富的增强I/O端口和联接到两条APB总线的外设,主要控制传感器模拟信号的采集、语音信号的收发和汽车空调控制信号的输出。
1.2 语音识别模块
语音识别芯片选用的是ICRoute公司的LD3320芯片。该芯片集成了语音识别处理器和一些外部电路,包括A/D转化器、D/A转换器、麦克风接口、声音输出接口等。本芯片在设计上注重节能与高效,不需要外接任何的辅助芯片(如Flash、RAM等),直接集成在现有的产品中即可以实现语音识别功能。识别的关键词语列表是可以任意动态编辑的。
参照LD3320数据手册,语音识别控制电路采用LD3320与STM32通过SPI串行方式进行连接。语音识别模块控制电路如图2所示。首先,要将MD 接高电平,芯片时钟信号CLK连接到STM32时钟信号输出引脚MCO(PA8)上。引脚MBS是麦克风偏置,接了一个RC电路,保证能输出一个浮动电压给麦克风。
1.3 SD卡存储模块
要实现具有人机交互功能的语音识别控制系统,需要存放大量的MP3音频文件。本系统中,MP3音频播放文件存放在SD卡上,语音识别关键词也存放在SD卡上,这样可以很方便地更改要识别的关键词,而不需要更改程序内容。主控STM32将MP3数据依次从SD卡读出来,送入LD33 20芯片内部,这样就可以从芯片的相应的引脚输出声音。SD卡硬件连接如图3所示。SD卡与STM32通过SPI方式进行通信。将SD卡片选信号CS、数据输入信号DI、数据输出信号DO、时钟信号SCLK分别与STM32的PC11、PD2、PC8、PC12引脚连接。
1.4 传感器模拟信号输入模块
传感器模拟信号是控制系统的输入信号源。传感器把非电量的物理量变成电量后并不一定适合A/D转换器直接应用,还必须经过放大、滤波、隔离及保护措施,才能送给单片机。单片机通过检测这些传感器信号来判断系统的温度、湿度等是否满足用户的要求。以车内温度传感器为例分析,温度信号采集硬件连接图如图4所示。本系统采用NTC公司的高精度车内温度传感器Rntc,Rntc和电阻R0分压后输入到单片机。Rntc电阻值可以近似地用如下公式表达:
其中,R1为绝对温度下T1时的电阻值,T为要检测的温度,Rntc为该温度下的电阻值,B值反映了温度变化与阻值变化的关系。单片机信号输入端得到的电压为:
根据公式(2)电压计算出当前温度传感器的电阻,再由公式(1)计算出要检测的温度。
1.5 压缩机驱动模块
压缩机的动力是由发动机提供的,连接发动机和压缩机的重要电子部件是电磁离合器。根据汽车空调运行情况和压缩机开关的工作电压,单片机控制继电器吸合或断开,以此控制压塑机电磁离合器的吸合与断开。当蒸发器温度一旦低于设定值,压缩机就停止工作;反之,压塑机保持正常工作,开始制冷。汽车空调蒸发器就是一个热交换器,通过热交换将进入蒸发器的气体变为冷风,从而达到制冷的目的。控制蒸发器温度是空调自动控制系统的重要任务。1.6 风门电动机驱动模块
汽车空调伺服电机选用直流电动机。伺服电机根据功能分为内外循环电动机、混合风门电动机、模式风门电动机。电机采用两个TA8083F系列芯片驱动,每个芯片可以驱动两个伺服电机。该芯片的输入端口可以直接和单片机连接,STM32单片机的PE0~PE3引脚分别与驱动芯片DI1A、 DI2A、DI1B、DI2B引脚相连接。其硬件电路如图5所示。
根据输入信号的不同,电机工作状况也不同,具体的工作情况如表1所列。
1.7 鼓风机驱动模块
鼓风机驱动电路如图6所示。用四合一集成运算放大器LM2902将单片机的PWM输出信号T050放大,经放大后的信号Blwc传送给风机调速模块,从而调节鼓风机的转速。单片机输出信号Blowoff control作为控制鼓风机的开关信号。2SC2412作为控制鼓风机运转的开关。当单片机输出高电平时,2SC2412导通,鼓风机停止运转;当单片机输出低电平时,2SC2412反向截止,鼓风机正常运转。
1.8 后除霜驱动模块
前、侧挡风玻璃上的霜层通常是通过在汽车空调系统的风道中,调整模式风门的位置,利用空调系统中产生的暖气(或流动的空气),达到清除结霜的目的。对后挡风玻璃的除霜,常采用除霜热线。除霜热线是把数条电热线(镍铬丝)均匀地粘在后窗玻璃内部,各线两端相接,形成并联电路。当两端加上电压后,电热线就会升温而加热玻璃,从而达到防止或清除霜层的目的。后除霜控制电路如图7所示。IG2为汽车空调电源,单片机输出信号Defr通过三极管 NIF5002N来控制继电器的通断,从而控制除霜热线的通断,来达到后除霜的目的。
2 系统软件设计
本系统软件设计采用C语言开发,用Keil uVision4软件进行编译。开发过程按照模块化分块进行,系统的主要模块包括语音识别模块、语音播放模块、SD卡模块以及空调控制模块。
2.1 语音识别模块
语音识别模块采用中断的方式进行工作,其工作流程大致为芯片初始化、写入识别列表、开始识别、中断响应并获取识别结果。语音识别流程如图 8所示。在初始化程序里,主要完成软复位、模式设定、时钟频率设定和FIFO设定。在写入识别列表之前,首先要读取寄存器B2的值,检查LD3320是否处于空闲状态;然后,把识别语音列表信息写入LD3320的05和B9寄存器中,每个识别条目是标准普通话的汉语拼音(小写),每两个汉语拼音之间用一个空格间隔。在完成添加语音识别列表后,设定寄存器35的值为45H。此处设定的值越大,代表麦克的音量越大,识别距离也越远,但是可能产生较多的误识别;值越小代表麦克的音量越小,需要近距离说话才能启动语音识别功能,识别率也高。设定寄存器37值为06H,启动语音识别,即可开始语音识别。如果麦克风采集到声音,不管是否识别出正常结果,都会产生一个中断信号。进入中断函数后,首先清零寄存器29和寄存器02;然后,检查B2寄存器是否为0x21。若值为0x21,表示闲,可以检测2B的值;若为1,表示语音识别有结果产生。寄存器BF读到数值为0x35,可以确定是一次语音识别流程正常结束。寄存器 BA表示语音识别有几个识别候选结果。最后,可以读取寄存器C5,获取识别结果。
2.2 语音播放模块
语音播放的软件设计流程包括通用初始化、MP3播放初始化、播放音量调节、开始播放声音以及中断响应。通用初始化时,首先连续读取寄存器 06,相当于激活了芯片;然后,按顺序设置相关寄存器的值。MP3播放初始化时,首先要设置寄存器BD的值为02H,启动MP3播放模块;然后,向寄存器 17写入48H,激活DSP。语音播放模块的音量分为16级,用4位二进制表示,这里需要设置寄存器8E的第2~5位的值来调节播放音量。当播放语音时,首先需要清零,开始播放位置。将寄存器1B的第3位设为1,然后执行循环。当播放条件为真时,顺序将MP3数据放入寄存器01(每次1个字节),播放位置值增加1。当寄存器06的第3位等于0或者播放位置小于MP3文件的总长度时,就跳出循环。等到芯片播放该段后会发出中断请求,而中断函数会不断接收数据,直到FIFO-DA-TA装满或声音数据结束。
2.3 SD卡模块
此模块分为SD卡初始化和SD卡数据读取。SD卡初始化时,在发送CMD命令之前,在片选有效的情况下,首先要发送至少74个时钟,否则将有可能出现SD卡不能初始化的问题。然后,就可以发送复位命令CMD0。发送复位命令后等待8个时钟周期,进入SPI总线模式,接着发送CMD1命令。如果正确接收响应信号,表示SD卡初始化完成,可以接受后续读写命令。初始化完成后,发送CMD17读命令。判断响应值是否全为0,然后,判断接收数据开始令牌是否为0xfe,如果是,就可以接收正式数据和CRC码。
2.4 空调控制模块
空调控制模块主要包括信号采集模块、风门电机控制模块、鼓风机控制模块、压塑机控制模块、后除霜控制模块5个子模块。空调控制流程如图9 所示。首先,进行系统的初始化。若点火开关正常启动,信号采集模块开始采集传感器数据,根据采集到的数据,判断是否满足风机启动条件。若满足条件,则设置风机PWM占空比,进而调节风量的大小。当风量大小满足要求时,接下来就要判断是否满足压缩机的启动条件。若满足条件,启动压缩机;如果不满足条件,则判断风门位置是否满足条件。如果不满足条件,则调节风门电机转动,直到满足条件。最后,判断是否满足除霜条件,若满足则启动后除霜继电器。
在软件设计上,采用了指令冗余、软件陷阱和重复设置各种工作方式控制字等方法,消除干扰。使用“Watchdog”定时器,实时监测程序的运行;运用CPU运算与控制功能,采用算术平均法,实现数字滤波,消除传感器通道的千扰信号。
本文介绍了基于语音识别的汽车空调控制系统,分别对硬件电路和软件设计进行了详细的介绍。本系统开发成本低、性能优越,系统测试表明,本系统具有一定的应用价值,可以用于中低档汽车。
在线时间38 小时经验116 铜板0 威望0 最后登录注册时间帖子精华0积分161阅读权限20UID8367834
业精于勤, 积分 161, 距离下一级还需 39 积分
铜板0 威望0 经验116 阅读权限20精华0积分161帖子
总觉得我车里的空调不强劲,一点都不给力!有懂的嘛
在线时间39 小时经验1115 铜板0 威望0 最后登录注册时间帖子精华0积分2222阅读权限60UID8331980
精益求精, 积分 2222, 距离下一级还需 2778 积分
铜板0 威望0 经验1115 阅读权限60精华0积分2222帖子
输出相应的调节和控制信号。执行机构经过实时调整和修正,实现对车厢内空气环境全方位
医疗展www.
CMEH医疗展www.
亚太医疗展www.
Powered by基于语音识别的汽车空调控制系统设计-ahe8906的博客
语音芯片模块大全
基于语音识别的汽车空调控制系统设计
12:19 发表&&
系统分类:&&
自定义分类:
现在汽车上使用的电器越来越多,驾驶员需要手动操作的电器开关也越来越多,不但增加了驾驶员的负担,还影响了行车安全。本文以STM32F103VET6(以下简称STM32)芯片为控制核心,采用高性能LD3320语音识别芯片,设计基于语音识别的汽车空调控制系统。该系统可以用语音有效控制汽车空调,减轻了驾驶员的操作负担,保证行车过程中的安全。
1 系统硬件设计
运用语音识别技术,结合各种传感器对车身内外的环境(如气温、阳光强度等)以及制冷压缩机的状态等多种参数进行实时检测,与设定参数相比较,微控制器经过运算处理做出判断,输出相应的调节和控制信号。执行机构经过实时调整和修正,实现对车厢内空气环境全方位、多功能的调节和控制。系统的执行机构主要包括温度风门电机、模式风门电机、循环风门电机、鼓风机、压缩机、除霜控制继电器等。图1为系统结构框图。
1.1 主控制器
主控制器为基于ARM Cortex—M3内核的32位微控制器STM32F103VET6,内置64 KB RAM、512 KBFlash,以及丰富的增强I/O端口和联接到两条APB总线的外设,主要控制传感器模拟信号的采集、语音信号的收发和汽车空调控制信号的输出。
1.2 语音识别模块
选用的是ICRoute公司的LD3320芯片。该芯片集成了语音识别处理器和一些外部电路,包括A/D转化器、D/A转换器、麦克风接口、声音输出接口等。本芯片在设计上注重节能与高效,不需要外接任何的辅助芯片(如Flash、RAM等),直接集成在现有的产品中即可以实现语音识别功能。识别的关键词语列表是可以任意动态编辑的。
参照LD3320数据手册,语音识别控制电路采用LD3320与STM32通过SPI串行方式进行连接。语音识别模块控制电路如图2所示。首先,要将MD接高电平,芯片时钟信号CLK连接到STM32时钟信号输出引脚MCO(PA8)上。引脚MBS是麦克风偏置,接了一个RC电路,保证能输出一个浮动电压给麦克风。
要实现具有人机交互功能的语音识别控制系统,需要存放大量的MP3音频文件。本系统中,MP3音频播放文件存放在SD卡上,语音识别关键词也存放在SD卡上,这样可以很方便地更改要识别的关键词,而不需要更改程序内容。主控STM32将MP3数据依次从SD卡读出来,送入LD33 20芯片内部,这样就可以从芯片的相应的引脚输出声音。SD卡硬件连接如图3所示。SD卡与STM32通过SPI方式进行通信。将SD卡片选信号CS、数据输入信号DI、数据输出信号DO、时钟信号SCLK分别与STM32的PC11、PD2、PC8、PC12引脚连接。
传感器模拟信号是控制系统的输入信号源。传感器把非电量的物理量变成电量后并不一定适合A/D转换器直接应用,还必须经过放大、滤波、隔离及保护措施,才能送给单片机。单片机通过检测这些传感器信号来判断系统的温度、湿度等是否满足用户的要求。以车内温度传感器为例分析,温度信号采集硬件连接图如图4所示。本系统采用NTC公司的高精度车内温度传感器Rntc,Rntc和电阻R0分压后输入到单片机。Rntc电阻值可以近似地用如下公式表达:
其中,R1为绝对温度下T1时的电阻值,T为要检测的温度,Rntc为该温度下的电阻值,B值反映了温度变化与阻值变化的关系。单片机信号输入端得到的电压为:
根据公式(2)电压计算出当前温度传感器的电阻,再由公式(1)计算出要检测的温度。
压缩机的动力是由发动机提供的,连接发动机和压缩机的重要电子部件是电磁离合器。根据汽车空调运行情况和压缩机开关的工作电压,单片机控制继电器吸合或断开,以此控制压塑机电磁离合器的吸合与断开。当蒸发器温度一旦低于设定值,压缩机就停止工作;反之,压塑机保持正常工作,开始制冷。汽车空调蒸发器就是一个热交换器,通过热交换将进入蒸发器的气体变为冷风,从而达到制冷的目的。控制蒸发器温度是空调自动控制系统的重要任务。
1.6 风门电动机驱动模块
汽车空调伺服电机选用直流电动机。伺服电机根据功能分为内外循环电动机、混合风门电动机、模式风门电动机。电机采用两个TA8083F系列芯片驱动,每个芯片可以驱动两个伺服电机。该芯片的输入端口可以直接和单片机连接,STM32单片机的PE0~PE3引脚分别与驱动芯片DI1A、DI2A、DI1B、DI2B引脚相连接。其硬件电路如图5所示。
根据输入信号的不同,电机工作状况也不同,具体的工作情况如表1所列。
1.7 鼓风机驱动模块
鼓风机驱动电路如图6所示。用四合一集成运算放大器LM2902将单片机的PWM输出信号T050放大,经放大后的信号Blwc传送给风机调速模块,从而调节鼓风机的转速。单片机输出信号Blowoff control作为控制鼓风机的开关信号。2SC2412作为控制鼓风机运转的开关。当单片机输出高电平时,2SC2412导通,鼓风机停止运转;当单片机输出低电平时,2SC2412反向截止,鼓风机正常运转。
1.8 后除霜驱动模块
前、侧挡风玻璃上的霜层通常是通过在汽车空调系统的风道中,调整模式风门的位置,利用空调系统中产生的暖气(或流动的空气),达到清除结霜的目的。对后挡风玻璃的除霜,常采用除霜热线。除霜热线是把数条电热线(镍铬丝)均匀地粘在后窗玻璃内部,各线两端相接,形成并联电路。当两端加上电压后,电热线就会升温而加热玻璃,从而达到防止或清除霜层的目的。后除霜控制电路如图7所示。IG2为汽车空调电源,单片机输出信号Defr通过三极管NIF5002N来控制继电器的通断,从而控制除霜热线的通断,来达到后除霜的目的。
2 系统软件设计
本系统软件设计采用C语言开发,用Keil uVision4软件进行编译。开发过程按照模块化分块进行,系统的主要模块包括语音识别模块、语音播放模块、SD卡模块以及空调控制模块。
2.1 语音识别模块
语音识别模块采用中断的方式进行工作,其工作流程大致为芯片初始化、写入识别列表、开始识别、中断响应并获取识别结果。语音识别流程如图8所示。在初始化程序里,主要完成软复位、模式设定、时钟频率设定和FIFO设定。在写入识别列表之前,首先要读取寄存器B2的值,检查LD3320是否处于空闲状态;然后,把识别语音列表信息写入LD3320的05和B9寄存器中,每个识别条目是标准普通话的汉语拼音(小写),每两个汉语拼音之间用一个空格间隔。在完成添加语音识别列表后,设定寄存器35的值为45H。此处设定的值越大,代表麦克的音量越大,识别距离也越远,但是可能产生较多的误识别;值越小代表麦克的音量越小,需要近距离说话才能启动语音识别功能,识别率也高。设定寄存器37值为06H,启动语音识别,即可开始语音识别。如果麦克风采集到声音,不管是否识别出正常结果,都会产生一个中断信号。进入中断函数后,首先清零寄存器29和寄存器02;然后,检查B2寄存器是否为0x21。若值为0x21,表示闲,可以检测2B的值;若为1,表示语音识别有结果产生。寄存器BF读到数值为0x35,可以确定是一次语音识别流程正常结束。寄存器BA表示语音识别有几个识别候选结果。最后,可以读取寄存器C5,获取识别结果。
2.2 语音播放模块
语音播放的软件设计流程包括通用初始化、MP3播放初始化、播放音量调节、开始播放声音以及中断响应。通用初始化时,首先连续读取寄存器06,相当于激活了芯片;然后,按顺序设置相关寄存器的值。MP3播放初始化时,首先要设置寄存器BD的值为02H,启动MP3播放模块;然后,向寄存器17写入48H,激活DSP。语音播放模块的音量分为16级,用4位二进制表示,这里需要设置寄存器8E的第2~5位的值来调节播放音量。当播放语音时,首先需要清零,开始播放位置。将寄存器1B的第3位设为1,然后执行循环。当播放条件为真时,顺序将MP3数据放入寄存器01(每次1个字节),播放位置值增加1。当寄存器06的第3位等于0或者播放位置小于MP3文件的总长度时,就跳出循环。等到芯片播放该段后会发出中断请求,而中断函数会不断接收数据,直到FIFO-DA-TA装满或声音数据结束。
2.3 SD卡模块
此模块分为SD卡初始化和SD卡数据读取。SD卡初始化时,在发送CMD命令之前,在片选有效的情况下,首先要发送至少74个时钟,否则将有可能出现SD卡不能初始化的问题。然后,就可以发送复位命令CMD0。发送复位命令后等待8个时钟周期,进入SPI总线模式,接着发送CMD1命令。如果正确接收响应信号,表示SD卡初始化完成,可以接受后续读写命令。初始化完成后,发送CMD17读命令。判断响应值是否全为0,然后,判断接收数据开始令牌是否为0xfe,如果是,就可以接收正式数据和CRC码。
2.4 空调控制模块
空调控制模块主要包括信号采集模块、风门电机控制模块、鼓风机控制模块、压塑机控制模块、后除霜控制模块5个子模块。空调控制流程如图9所示。首先,进行系统的初始化。若点火开关正常启动,信号采集模块开始采集传感器数据,根据采集到的数据,判断是否满足风机启动条件。若满足条件,则设置风机PWM占空比,进而调节风量的大小。当风量大小满足要求时,接下来就要判断是否满足压缩机的启动条件。若满足条件,启动压缩机;如果不满足条件,则判断风门位置是否满足条件。如果不满足条件,则调节风门电机转动,直到满足条件。最后,判断是否满足除霜条件,若满足则启动后除霜继电器。
在软件设计上,采用了指令冗余、软件陷阱和重复设置各种工作方式控制字等方法,消除干扰。使用“Watchdog”定时器,实时监测程序的运行;运用CPU运算与控制功能,采用算术平均法,实现数字滤波,消除传感器通道的千扰信号。
本文介绍了基于语音识别的汽车空调控制系统,分别对硬件电路和软件设计进行了详细的介绍。本系统开发成本低、性能优越,系统测试表明,本系统具有一定的应用价值,可以用于中低档汽车。
自定义分类
ADI热线电话:
ADI技术支持邮箱:china.测·控领域专业互动媒体平台
推动测试测量,检测诊断,传感物联,遥测自控智能化发展
当前位置: &
基于语音识别的汽车空调控制系统设计
[导读] 本文以 STM32F103VET6(以下简称STM32)芯片为控制核心,采用高性能LD3320语音识别芯片,设计基于语音识别的汽车空调控制系统。该系统可以用语音有效控制汽车空调,减轻了驾驶员的操作负担,保证行车过程中的安全。
现在汽车上使用的电器越来越多,驾驶员需要手动操作的电器开关也越来越多,不但增加了驾驶员的负担,还影响了行车安全。本文以 STM32F103VET6(以下简称STM32)芯片为控制核心,采用高性能LD3320芯片,设计基于的汽车空调控制系统。该系统可以用语音有效控制汽车空调,减轻了驾驶员的操作负担,保证行车过程中的安全。
1 系统硬件设计
运用技术,结合各种对车身内外的环境(如气温、阳光强度等)以及制冷压缩机的状态等多种参数进行实时检测,与设定参数相比较,微经过运算处理做出判断,输出相应的调节和控制信号。执行机构经过实时调整和修正,实现对车厢内空气环境全方位、多功能的调节和控制。系统的执行机构主要包括温度风门电机、模式风门电机、循环风门电机、鼓风机、压缩机、除霜控制等。图1为系统结构框图。
1.1 主控制器
主控制器为基于ARM Cortex&M3内核的32位微控制器STM32F103VET6,内置64 KB RAM、512 KBFlash,以及丰富的增强I/O端口和联接到两条APB总线的外设,主要控制传感器模拟信号的采集、语音信号的收发和汽车空调控制信号的输出。
芯片选用的是ICRoute公司的LD3320芯片。该芯片集成了处理器和一些外部电路,包括A/D转化器、D/A转换器、麦克风接口、声音输出接口等。本芯片在设计上注重节能与高效,不需要外接任何的辅助芯片(如Flash、RAM等),直接集成在现有的产品中即可以实现功能。识别的关键词语列表是可以任意动态编辑的。
参照LD3320数据手册,控制电路采用LD3320与STM32通过SPI串行方式进行连接。模块控制电路如图2所示。首先,要将MD接高电平,芯片时钟信号CLK连接到STM32时钟信号输出引脚MCO(PA8)上。引脚MBS是麦克风偏置,接了一个RC电路,保证能输出一个浮动电压给麦克风。
1.3 SD卡存储模块
要实现具有人机交互功能的控制系统,需要存放大量的MP3音频文件。本系统中,MP3音频播放文件存放在SD卡上,关键词也存放在SD卡上,这样可以很方便地更改要识别的关键词,而不需要更改程序内容。主控STM32将 MP3数据依次从SD卡读出来,送入LD33 20芯片内部,这样就可以从芯片的相应的引脚输出声音。SD卡硬件连接如图3所示。SD卡与STM32通过SPI方式进行通信。将SD卡片选信号CS、数据输入信号DI、数据输出信号DO、时钟信号SCLK分别与STM32的PC11、PD2、PC8、PC12引脚连接。
1.4 传感器模拟信号输入模块
传感器模拟信号是控制系统的输入信号源。传感器把非电量的物理量变成电量后并不一定适合A/D转换器直接应用,还必须经过放大、滤波、隔离及保护措施,才能送给单片机。单片机通过检测这些传感器信号来判断系统的温度、湿度等是否满足用户的要求。以车内温度传感器为例分析,温度信号采集硬件连接图如图4所示。本系统采用NTC公司的高精度车内温度传感器Rntc,Rntc和电阻R0分压后输入到单片机。Rntc电阻值可以近似地用如下公式表达:
其中,R1为绝对温度下T1时的电阻值,T为要检测的温度,Rntc为该温度下的电阻值,B值反映了温度变化与阻值变化的关系。单片机信号输入端得到的电压为:
根据公式(2)电压计算出当前温度传感器的电阻,再由公式(1)计算出要检测的温度。
1.5 压缩机驱动模块
压缩机的动力是由发动机提供的,连接发动机和压缩机的重要电子部件是电磁离合器。根据汽车空调运行情况和压缩机开关的工作电压,单片机控制继电器吸合或断开,以此控制压塑机电磁离合器的吸合与断开。当蒸发器温度一旦低于设定值,压缩机就停止工作;反之,压塑机保持正常工作,开始制冷。汽车空调蒸发器就是一个热交换器,通过热交换将进入蒸发器的气体变为冷风,从而达到制冷的目的。控制蒸发器温度是空调自动控制系统的重要任务。
1.6 风门电动机驱动模块
汽车空调电机选用直流电动机。伺服电机根据功能分为内外循环电动机、混合风门电动机、模式风门电动机。电机采用两个TA8083F系列芯片驱动,每个芯片可以驱动两个伺服电机。该芯片的输入端口可以直接和单片机连接,STM32单片机的PE0~PE3引脚分别与驱动芯片DI1A、DI2A、DI1B、 DI2B引脚相连接。其硬件电路如图5所示。
根据输入信号的不同,电机工作状况也不同,具体的工作情况如表1所列。
1.7 鼓风机驱动模块
鼓风机驱动电路如图6所示。用四合一集成运算LM2902将单片机的PWM输出信号T050放大,经放大后的信号Blwc传送给风机调速模块,从而调节鼓风机的转速。单片机输出信号Blowoff control作为控制鼓风机的开关信号。2SC2412作为控制鼓风机运转的开关。当单片机输出高电平时,2SC2412导通,鼓风机停止运转;当单片机输出低电平时,2SC2412反向截止,鼓风机正常运转。
1.8 后除霜驱动模块
前、侧挡风玻璃上的霜层通常是通过在汽车空调系统的风道中,调整模式风门的位置,利用空调系统中产生的暖气(或流动的空气),达到清除结霜的目的。对后挡风玻璃的除霜,常采用除霜热线。除霜热线是把数条电热线(镍铬丝)均匀地粘在后窗玻璃内部,各线两端相接,形成并联电路。当两端加上电压后,电热线就会升温而加热玻璃,从而达到防止或清除霜层的目的。后除霜控制电路如图7所示。IG2为汽车空调电源,单片机输出信号Defr通过三极管F5002N来控制继电器的通断,从而控制除霜热线的通断,来达到后除霜的目的。
2 系统软件设计
本系统软件设计采用C语言开发,用Keil uVision4软件进行编译。开发过程按照模块化分块进行,系统的主要模块包括模块、语音播放模块、SD卡模块以及空调控制模块。
模块采用中断的方式进行工作,其工作流程大致为芯片初始化、写入识别列表、开始识别、中断响应并获取识别结果。流程如图8所示。在初始化程序里,主要完成软复位、模式设定、时钟频率设定和FIFO设定。在写入识别列表之前,首先要读取寄存器B2的值,检查LD3320是否处于空闲状态;然后,把识别语音列表信息写入LD3320的05和B9寄存器中,每个识别条目是标准普通话的汉语拼音(小写),每两个汉语拼音之间用一个空格间隔。在完成添加列表后,设定寄存器35的值为45H。此处设定的值越大,代表麦克的音量越大,识别距离也越远,但是可能产生较多的误识别;值越小代表麦克的音量越小,需要近距离说话才能启动功能,识别率也高。设定寄存器37值为06H,启动,即可开始。如果麦克风采集到声音,不管是否识别出正常结果,都会产生一个中断信号。进入中断函数后,首先清零寄存器29和寄存器02;然后,检查B2寄存器是否为0x21。若值为0x21,表示闲,可以检测2B的值;若为1,表示有结果产生。寄存器BF读到数值为0x35,可以确定是一次流程正常结束。寄存器BA表示有几个识别候选结果。最后,可以读取寄存器C5,获取识别结果。
2.2 语音播放模块
语音播放的软件设计流程包括通用初始化、MP3播放初始化、播放音量调节、开始播放声音以及中断响应。通用初始化时,首先连续读取寄存器06,相当于激活了芯片;然后,按顺序设置相关寄存器的值。MP3播放初始化时,首先要设置寄存器BD的值为02H,启动MP3播放模块;然后,向寄存器17写入48H,激活DSP。语音播放模块的音量分为16级,用4位二进制表示,这里需要设置寄存器8E的第2~5位的值来调节播放音量。当播放语音时,首先需要清零,开始播放位置。将寄存器1B的第3位设为1,然后执行循环。当播放条件为真时,顺序将MP3数据放入寄存器01(每次1个字节),播放位置值增加1。当寄存器 06的第3位等于0或者播放位置小于MP3文件的总长度时,就跳出循环。等到芯片播放该段后会发出中断请求,而中断函数会不断接收数据,直到FIFO- DA-TA装满或声音数据结束。
2.3 SD卡模块
此模块分为SD卡初始化和SD卡数据读取。SD卡初始化时,在发送 CMD命令之前,在片选有效的情况下,首先要发送至少74个时钟,否则将有可能出现SD卡不能初始化的问题。然后,就可以发送复位命令CMD0。发送复位命令后等待8个时钟周期,进入SPI总线模式,接着发送CMD1命令。如果正确接收响应信号,表示SD卡初始化完成,可以接受后续读写命令。初始化完成后,发送CMD17读命令。判断响应值是否全为0,然后,判断接收数据开始令牌是否为0xfe,如果是,就可以接收正式数据和CRC码。
2.4 空调控制模块
空调控制模块主要包括信号采集模块、风门电机控制模块、鼓风机控制模块、压塑机控制模块、后除霜控制模块5个子模块。空调控制流程如图9所示。首先,进行系统的初始化。若点火开关正常启动,信号采集模块开始采集传感器数据,根据采集到的数据,判断是否满足风机启动条件。若满足条件,则设置风机PWM占空比,进而调节风量的大小。当风量大小满足要求时,接下来就要判断是否满足压缩机的启动条件。若满足条件,启动压缩机;如果不满足条件,则判断风门位置是否满足条件。如果不满足条件,则调节风门电机转动,直到满足条件。最后,判断是否满足除霜条件,若满足则启动后除霜继电器。
在软件设计上,采用了指令冗余、软件陷阱和重复设置各种工作方式控制字等方法,消除干扰。使用&Watchdog&定时器,实时监测程序的运行;运用CPU运算与控制功能,采用算术平均法,实现数字滤波,消除传感器通道的千扰信号。
本文介绍了基于的汽车空调控制系统,分别对硬件电路和软件设计进行了详细的介绍。本系统开发成本低、性能优越,系统测试表明,本系统具有一定的应用价值,可以用于中低档汽车。
[整理编辑:中国测控网]
语音识别相关论文
版权与免责声明:
①凡本网注明"来源:中国测控网"的所有作品,版权均属于中国测控网,转载请必须注明中国测控网 。违反者本网将追究相关法律责任。
②本网转载并注明自其它来源的作品,目的在于传递更多信息,并不代表本网赞同其观点或证实其内容的真实性,不承担此类作品侵权行为的直接责任及连带责任。如其他媒体、网站或个人从本网下载使用,必须保留本网注明的"稿件来源",并自负版权等法律责任。
③如涉及作品内容、版权等问题,请在作品发表之日起一周内与本网联系,否则视为放弃相关权利。
相关的测控名词的解释您可以点击
工业4.0的概念最早于2013年由德国提出,用来形容第四次工业革命,人们在这一阶段可以通过应用信息通讯技术和互联网将虚拟系统信息
由中国仪器仪表学会主办的亚洲最具影响力的测量控制、仪器仪表及自动化权威展览会中国国际测量控制与仪器仪表展览(MICONEX2015)展
41%的网友读了:
医院、酒店、仓库、住宅小区、购物中心等人员密集场所、配电系统复杂繁多、社会关注度高,其电气火灾预
30%的网友读了:
伺服驱动器是构成伺服系统的基本部件,广泛应用于各种电力传动自动控制系统中,如:数控机床、柔性制造
Copyright (C)
All Rights Reserved 版权所有

我要回帖

更多关于 defracticated 的文章

 

随机推荐