TX-2B/ RX-2B是士兰公司生产的配对使用的红外线发射和接收芯片,是一款专用于玩具小车的成对遥控芯片,采用CMOS工艺制造,功耗小,工作电压1.5-5V。TX-2B/RX-2B内部己含有编码电路和解码电路,无需在后续的电路中对接收到的信号进行软件编程解码,因此硬件电路简单。红外发射电路如图2所示,TX-2B中的1、4、5、14引脚分别为右转(RIGHT)、后退(BACKWORD)、前进(FORWORD)、左转(LEFT)控制端,接收从061A的IOA 0~IOA 3 发送的信号。红外接收电路如图3所示,RX-2B包括内置放大器、运算器及锁存器等。外接250 kΩ电阻形成RC振荡器,与发射电路的频率匹配。RX-2B接收信号后,经解码后将右转、左传、后退、前进的控制信号由对应的引脚6、7、10、11输出,传送给电机驱动电路,控制小车产生相应的动作。
1.3 电机驱动电路
小车为四轮结构,两个前轮为转向机构,控制小车左转、右转;两个后轮为前进、后退驱动轮。两个电机均采用直流小电机,驱动采用 H桥式功率驱动电路,该电路可以很方便的实现电机的正、反转的变化 [6],从而控制小车的左右转、前进、后退的状态变化。由于电路简单,这里不再赘述。
2.系统软件设计SPCE061A提供了很好的语音播放和录制机制以及简单的API接口编程,大大简化了小车的软件设计。在此主要阐述,语音辨识(包括:语音训练、语音识别)以及定时中断控制部分的软件设计。
2.1 语音辨识
凌阳SPCE061A将语音识别功能做成模块,通过API函数调用来实现,内带的SACM-LIB解决了语音文件占用存储空间大的问题。本设计采用SD模式,小车只能识别特定使用者的语音命令,语音辨识的过程包括语音训练和语音识别 [7]。具体包括以下几个步骤:
2.1.1 RAM初始化 调用int BSR_Delete SDGroup(0),用于SRAM初始化。当返回值为0,代表擦除成功。否则返回-1。
2.1.2 语音训练调用int BSR_Train (int WordID, int TraindMode),用于上电后的语音命令训练。 BSR_TRAIN_TWICE 表示每条指令训练两次。训练成功,返回值为0。
2.1.3 语音辨识
调用int BSR_InitRecognizer(int AudioSource),用于语音识别器初始化。语音识别器打开8KH Z采样频率的FIQ_TMA中断,开始将采样的语音数据填入语音识别器的数据队列中。
2.1.4 启动实时监控调用函数VoidBSR_EnableCPUIndicator(void) 启动实时监控,保证辨识器正常执行。