本设计采用CAN通信的方式完成卡车语音报警系统的设计,系统结构如图2所示。
通过MC68HC908GZ16上集成的MSCAN08模块实现数据通信。利用C68HC908GZ16的I/O口,我们在设计中使用了市场上常见的ISD公司的ISD4002-120数码语音芯片。该芯片采用3V直流供电,可以录制并保存2min的语音信息。其采样频率为8kHz,信息分辨率可达200ms,能够非常真实地再现语音、音乐、声调和效果音。
硬件设计
从图3可以看出,卡车报警器电路主要由三部分构成:微控制器 MC68HC908GZ16(内部集成的MSCAN08模块)、语音芯片 ISD4002和CAN总线收发器TLE6250、ZJYS。微控制器负责MSCAN08模块的初始化,通过CAN模块实现数据的接收和发送等通信任务。 CAN通信控制模块主要完成CAN的通信协议。CAN控制模块可完成物理层和数据链路层的所有功能,适用于汽车及一般的工业环境。利用CAN通信不但可以减少导线连接,而且能增强诊断和监控能力。
CAN收发器TLE6250用于提供对总线差动发送和接收的驱动能力,具有输出信号CANH和CANL的最佳匹配、电磁辐射更低、无待机模式等优点。CANH和CANL与地之间并联两个25PF的小电容,可以起到滤除总线上的高频干扰和一定的防电磁辐射作用。
软件描述
软件编程主要实现两大功能:利用总线进行故障码接收;通过转换故障码实现相应的语音故障报警。语音播放根据其功能设计,整个程序大部分操作在主程序中完成,而CAN接收是在中断中完成。
主程序中的操作是初始化各寄存器、I/O端口,然后在死循环中根据标志位进行相应的处理,具体流程如图4所示。
图4 主程序流程图