新闻中心

EEPW首页>嵌入式系统>设计应用> 智能玩具的设计-聪明宝宝

智能玩具的设计-聪明宝宝

作者: 时间:2012-06-09 来源:网络 收藏

点击在新窗口中浏览产品
图3.3光感输入电路

3.5 直流电机驱动电路
直流电机控制电路比较简单。由I/O口输出信号,通过NPN型三极管8050反相驱动电路去控制电机。其控制电路如图 3.4所示。二极管起保护作用,防止电机的反向电流过大击穿器件。

点击在新窗口中浏览产品
图3.4直流电机控制电路

3.6 MIC输入电路和扬声器输出电路
MIC采用驻极体电容话筒,这种话筒具有灵敏度高、无方向性、重量轻、体积小、频率响应宽、保真度好等特点。内置专门用于语音信号采集的具有自动增益控制放大器(AGC)的麦克风输入通道(MIC_IN)。语音信号经麦克风转换成电信号,由隔直电容隔掉直流成分,然后输入至内部前置放大器,最后通过ADC转换成数字信号。 扬声器采用一般的喇叭,电压不超过5V。凌阳单片机自带双通道DAC音频输出,DAC1、DAC2转换输出的模拟量电流信号分别通过AUD1和AUD2管脚输出,DAC输出为电流型输出,61板自带音频放大电路,所以外接一喇叭即可。

4软件设计
4.1 主程序流程及说明
整个系统的外部输入包括:按键、触摸键、感光控制及语音控制,其中语音控制需等到感光唤醒之后才能进行。当各控制键触发后,系统从睡眠状态唤醒,通过判断标志位,进入相应的处理子程序,之后在主程序中不断检测,1分钟内若无任何操作,则再次进入睡眠状态。 具体程序中,通过判断gKeyDoubleUseSign的值来确认执行何种操作,当为1时,进入键处理子程序;为2时,进入复用键处理程序;为0时,不执行任何操作,认为是出错或出现异常情况。在键处理子程序中,根据标志位gKeyID来判断进入哪一个处理程序,如表 4.1所示。
表4.1

gKeyID的值 对应处理
1 左手按键处理
2 背部按键处理
3 脸部触摸键处理
4 肚部触摸键处理
5 右手按键处理
0 异常情况

主程序包括端口的初始化,提示语音的播放,主循环以及进入睡眠状态前中断的初始化、端口的初始化。 主循环包括:键扫描,判断标志位及相应子程序,AD转换及比较。 端口的初始化包括A口和B口的初始化,A口的IOA0~IOA4设置为带唤醒的下拉电阻输入,IOA6设置为悬浮输入的光敏器件输入端;B口的IOB9设置为低电平输出,作为TimerA脉宽调制输出;其余未使用的端口设置为低电平输出。 提示语音的播放即“您好”的播放,主要应用于系统重新启动以及复位键的触发,在这里,复位键既可当一个功能按键来使用,也可以在系统无反应时当作重启键来使用。 进入睡眠状态前的系统初始化包括:端口A口的重新初始化,保证系统运行的可靠性;唤醒中断的允许、开中断;睡眠信号的写入。 其主流程见图 4.1:

点击在新窗口中浏览产品
图 4.1主程序流程图

4.2 S480语音播放子程序
SACM-S480自动方式程序流程如图 4.2:

点击在新窗口中浏览产品
图 4.2 SACM-S480自动方式程序流程

4.3 语音的识别及训练程序流程图
语音的识别取材于凌阳语音库bsrv222SDL.lib及相关头文件,如bsrSD.h。SPCE061只有特定发音人模式,即只能辨识特定的使用者,辨识前需由单个人训练,且最多识别6条命令,序号范围从0x100到0x105,每条命令只有1.3秒,超出了1.3秒只有前1.3秒命令有效。在本系统中,利用通过光敏电阻的暗电阻较大,分压值也较大的原理,产品触发后通过AD采样,与原环境光线采集值比较有较大变化时,置标志位,从而在主循环中进入识别模式。而训练模式通过左手按键经IOA0触发,训练模块和框图如下所示:

点击在新窗口中浏览产品
图4.3 训练模块
点击在新窗口中浏览产品
图 4.4框图

在辨识主循环中,辨识得到确认后就可以执行相应的处理子程序,整个流程如图4.5所示。



评论


相关推荐

技术专区

关闭