控制/MCU
实现汽车智能化的技术非常多, 本文利用目前比较热门的技术语音控制技术, 实现小车自动前进、后退、左拐、右拐等, 当然所设计的小车只是智能汽车的微模型, 还处于模拟演示阶段, 要真正实现智能汽车为人服务还有很长一段距离。
1 智能车的核心控制器
SPCE061A 是一款16位独具语音特色的控制器, 片内采用的nSPTM ( microcontro ller and signal processor) 核心处理器, 具有较高的处理速度, 能够完成16位算术逻辑运算、16 × 16位硬件乘法运算和DSP内积滤波运算, 能够快速处理复杂的数字信号, 不需要额外的专用语音控制芯片, 就能实现语音的编解码等, 既节省了设计成本, 又能满足一定的控制要求。控制器采用模块化架构, 集成了ICE(在线仿真)、锁相环振荡器、时基控制器、7通道10位AD转换器、单通道AD+ AGC(自动增益)转换器、双通道10位DA转换器、通用异步通信接口、串行输入输出接口、电压监控等模块, 其结构如图1所示。
图1 SPCE061A 控制器的结构图
2 智能小车的总体设计
智能小车整体主要由语音输入电路、语音输出电路、SPCE061A 控制器、驱动电路等组成。小车的SPCE061控制器通过内置麦克放大器和自动增益功能的A /D 通道、D /A通道实现语音控制, 语音触发小车动作, 小车动作后, 随时可以通过语音指令改变小车的运动状态, 如果行进过程中遇到前方有障碍, 小车会自动停车。
3 智能小车的硬件设计
1) 语音输入电路。
小车的语音输入电路如图2所示。其中, VM IC 提供传声器的电源, VSS是系统的模拟地, VCM 为参考电压, 1脚和2脚分别是传声器X1 的正极、负极的输入引脚。当对着传声器讲话时, 1脚和2 脚将随着传声器输入的声音产生变化的波形, 并在SPCE061A 的两个端口处形成两路反相的波形, 送到SPCE061A 控制器内部的运算放大器进行音频放大, 经过放大的音频信号, 通过ADC转化器转化为数字量, 保存到相应的寄存器中, 然后对这些数字音频信号进行压缩、辨识、播放等处理。
图2 语音输入电路
2) 语音输出电路。
小车的语音输入电路如图3所示。其中, VDDH 为参考电压, VSS是系统的模拟地。音频信号由SPCE061A 的DAC引脚输出送到电路的9端, 通过音量电位器R9的调节端送到集成音频功率放大器SPY0030, 经音频放大后, 音频信号从SPY0030输出经J2端口外接扬声器播放声音。
图3 语音输出电路
3) 光电检测电路。
小车的光电检测电路采用E18-D80NK型号的光电传感器, 它集发射和接受于一体, 红外发射管向某一方向发射红外线, 遇到障碍物后红外线被反射由接收管接受, 从而判断出小车的前方是否有障碍物, 对障碍物的感应距离可以根据要求通过传感器上的微调旋钮进行调节。传感器前端增加了透镜, 利用聚焦作用远距离探测物体。传感器内部集成了放大、比较、调制电路, 使传感器受可见光的影响较小, 光电检测电路的连接图如图4所示。
图4 光电检测电路
4) 驱动电路。
小车的驱动电路是一个全桥驱动电路( 图5), Q1,Q2, Q3, Q4四个三极管组成4个桥臂, Q5 控制Q2和Q3的导通和关断, Q6控制Q1 和Q4 的导通和关断, 驱动电路分别用于后轮动力驱动电路和前轮方向驱动电路。当1管脚为高电平, 2管脚为低电平时时Q1 和Q4 导通, Q2和Q3截止, 电动机带动车轮运转; 当1管脚为低电平, 2管脚为高电平时时Q1和Q4截止, Q2和Q3导通, 电动机带动车轮反向运转。
图5 驱动电路。
将语音输入电路的1, 2 端口分别连接到SPCE061A控制器的M ICP, N ICN 管脚上; 将语音输出电路的9端口连接SPCE061A的DAC1管脚; 后轮动力驱动电路的1, 2端连接到SPCE061A的IOB8, IOB9管脚, 前轮方向驱动电路的1, 2端连接到SPCE061A 的IOB10, IOB11管脚; 光电检测电路的OUT 端连接SPCE061A 的IOB12 管脚, 智能小车的整体连接如图6所示。
图6 智能小车整体连接图。
4 智能小车的软件设计
智能小车的软件系统主要采用语音辨识技术控制小车的自动行驶, 从而实现了无需手工操纵, 就能人车的互动, 智能控制算法如图7所示。软件的设计采用C语言编写, 这样可以使程序代码简介易读, 另外程序的设计还使用了SCPE061A的定时中断技术, 当光电检测电路检测到前方有障碍或有停车指令触发时, SCPE061A立即作中断处理使小车停车。
图7 智能算法框图。
智能小车的软件设计核心就在于语音辨识, 语音辨识主要分为训练和辨识( 图8) .在训练阶段, SCPE061A 控制器首先对说话人的语音进行模/数转换、预加重、自动增益控制等处理, 实现语音数字信号的数字化,然后对处理后的语音信号进行特征提取, 建立语音特征模型, 训练过程主要靠语音函数库bsrv222SDL. lib中的BSR_Tra in( )函数来完成。在辨识阶段SCPE061A 控制器对采集到的语音进行同样的分析处理, 提取出语音的特征信息, 然后将这个特征信息与已有的特征模型进行对比, 如果两者达到一定的匹配度, 则输入的语音被识别, 辨识过程主要靠语音函数库bsrv222SDL. lib 中的BSR _InitRecogn izer( )、BSR_EnableCPUIncato r( )、BSR_GetResult( )、BSR_S topRecogn ize r( )函数来完成。
图8 语音辨识程序流程图
5 结语
实验中智能小车的正确识别率在90% 以上, 实验过程中发现, 影响小车正常辨识的因素主要包括周围环境的噪声、人与小车的距离等, 这些需要在今后改进。这种语音控制的智能小车机器人将来不仅可以为人服务, 稍加扩展, 还可以在多种不适合人作业的场合替代人执行任务。因此这种语音控制小车机器人具有重要的学术研究价值。
全部0条评论
快来发表一下你的评论吧 !