基于CAN通信的卡车语音报警器的设计

发布时间:2010-08-04
分享到

  汽车诊断技术是汽车安全技术中不可缺少的一部分,它能在汽车发生故障时及时地进行语音报警,避免事故的发生。即控制器局域网,是国际上应用最广泛的现场总线之一。由于CAN总线技术的优良特性,在汽车电气系统以及其他一些实时控制单元中得到广泛应用。一种基于CAN总线的通信网络具有速度高、抗噪性强及通用性好等优点。

  我们设计的基于CAN总线技术的卡车语音报警系统能给汽车乘员提供一个安全的驾乘环境。该语音报警系统采用了摩托罗拉公司的M68HC908GZ16微控制器,该微控制器尺寸小,资源齐全,具有很高的性价比。

  CAN总线位定时

  CAN总线采用同步串行通信方式,数据流中的字符与字符之间、字符内部的位与位之间都同步,这就要求收/发双方必须以同步时钟来控制数据的发送和接收。要在相当长的数据流中保持位同步,接收端必须能识别每个二进制位是从什么时刻开始的,这就是位定时。通常为保证接收器时钟和发送器时钟严格一致,采用接收器通过解调器从数据流中提取同步信号,或者接收器和发送器使用统一的时钟的方法。但是即便这样,仍然很难解决总线传输延时问题。针对以上问题,CAN总线的位定时改进了位编码/解码。

  CAN总线位定时由4部分组成:同步段(SYNC_SEG)、传播段(PROP_SEG)、相位段1(PHASE_SEG1)和相位段 2(PHASE_SEG2)。同步段用于同步总线上的各节点,在此段等待一个跳边沿;传播段用于补偿网络内的物理延迟时间;相位段1及相位段2用做补偿相位误差。在采样点读总线电平。

  M68HC908GZ16微控制器(见图1)中内置CAN控制器,提供了波特率控制寄存器;SJW(重同步跳转宽度)决定了一次重同步期间一个位时间被延长或缩短的时间量子;BRP为波特率预分频系数;Spl(采样模式位)决定对有效位采样的次数。

MC68HC908GZ16的内部结构
图1 的内部结构

  位定时主要用于定义CAN总线通信的速率,对同一总线上的各个节点应定义同一种通信速率,否则无法进行通信联系。CAN控制器的总线工作频率计算公式如下:

总线工作频率计算公式

  式中:BRP为系统预分频因子,它在TSEG1域中的取值范围为0~63;TSEG1、TSEG2的值由位定时寄存器编程决定,并满足 1≤TSEG1≤7,2≤TSEG2≤15。报警器中位定时的设置,定义通信频率为250KB/s。设定 DSC="BRP"=1,TSEG1+TSEG2=5,系统晶振频率为8MHz,即XTAL=8MHz,CAN通信频率由上式计算得到250KB/s。

  最后位定时设置结果为:BRP=1,TSEG2=2,TSEG1=3。

语音报警系统结构
图2 语音报警系统结构

  设计概述

  该卡车语音报警系统的设计目标是:成本低;功能强大;适用于日常应用;能够应用于各类车辆。该系统可实现如下功能:利用CAN网络实现对卡车故障码的接收;二,通过识别CAN系统传过来的信号,并对信号进行处理得到相应的语音提示,通过与语音芯片的连接实现相应故障的语音播放报警。

  该语音报警系统以摩托罗拉公司的MC68HC908GZ16处理器为核心,并利用其丰富的接口扩展使用了语音播放、CAN通信接口等外围模块,使产品设计更加人性化。MC68HC908GZ16处理器具有如下优点:

  1.丰富的硬件资源

  MC68HC908GZ16为闪存型MCU,内部拥有16K的FLASH存储空间和1K的RAM存储空间。内部拥有锁相环电路,能够在使用低速晶振的情况下使总线频率最高达到8MHz。同时拥有多达37个通用I/O口,可以方便地与其他外围设备相连接。

卡车报警器电路原理图
图3 卡车报警器电路原理图

  2.极强的抗扰能力

  内部集成了CAN控制器,利用CAN通信具有很强的抗干扰这一特点,保证了产品能够在恶劣环境条件下高效而稳定地运行。

  本设计采用CAN通信的方式完成卡车语音报警系统的设计,系统结构如图2所示。

  通过MC68HC908GZ16上集成的MSCAN08模块实现数据通信。利用C68HC908GZ16的I/O口,我们在设计中使用了市场上常见的ISD公司的ISD4002-120数码语音芯片。该芯片采用3V直流供电,可以录制并保存2min的语音信息。其采样频率为8kHz,信息分辨率可达200ms,能够非常真实地再现语音、音乐、声调和效果音。

收藏
赞一下
0