CAN总线在汽车电子的应用与实现(2)

 
开关/数字量,模拟量检测电路:
 
汽车节点的开关器件(信号灯,雨刮,面板,车窗玻璃,电动后视镜等等的开关)特别复杂和繁多,而电流检测,水温油位传感器信号都是非线性的 模拟信号,所以可靠实时地对这些开关/模拟量进行检测成为汽车电子硬件必须解决的问题。传统的分立元件保持电路存在可靠性差,尤其是开关触点氧化严重,浪 费大量的微处理器I/O口等问题,推荐采用MOTOROLA公司的多路开关检测芯片MC33993。其突出优点如下:
 
3.3/5.0V的SPI序列读写(SO,SI,SCLK); 
 
8路可编程开关输入检测(接地或接电源),14路接地开关输入检测,每路开关状态改变均能够产生中断; 
 
开关输入电压从-14V~Vpwr(工作电源),Vpwr最大可达40V; 
 
开关状态改变时的可选择唤醒; 
 
可选择的湿性电流(16mA或2mA);  
 
22对1的模拟量输出; 
 
Vpwr的低功耗电流(standby current)小于100uA,VDD的低功耗电流(standby current)小于10uA。
 
可见只需要四个CPU口线(SPI序列线和片选),就能够完成22路开关量(其中有8路可编程为对接电源开关)的检测,还可以进行串行和并行的多片 MC33993级连。所谓的湿性电流(wetting current),指的是MC33993内部提供的输入口的上拉和下拉恒流源,可以编程选择为 16mA或2mA,这对于保证开关的可靠闭合,去除金属触点的氧化物有着良好的作用。输入口的恒流源,可以直接驱动MOSFET以及LED。每一个输入口 都可以编程为模拟量输出状态,从而在AMUX引脚输出所选输入口的电压。利用MC33993恒流源和模拟量输出可以组成线性的传感器检测电路。ADC芯片 选用AD公司生产的并行数据采样集成芯片AD1674。它从引脚到功能都与AD574/674完全兼容,但内部增加了采样/保持电路,采样频率为 100kHZ,并且有全控模式和单一工作模式。其采样精度可达0.05%,符合高速数据采集的要求。
 
功率器件驱动电路:
 
汽车车身控制系统需要驱动大功率的用电器件,比如照明信号灯,前后雨刮器电机,电动车窗,电动后视镜等等。功率驱动器件考虑采用 MOTOROLA公司的汽车专用功率器件。MC33286为汽车电气专用智能的双路控制驱动芯片,与传统的机械继电器相比,自身提供过流和过热保护,响应 时间更短,稳定性更高。MC33286设有两路驱动通道,每路最大工作电流可达15A,通过两路输入端口将CPU引脚电平信号引入,经过内部的逻辑处理模 块转换成输出通道的电平变化。特别适合信号灯以及阻性负载的驱动。MC33887是带反馈的H桥型驱动芯片,专用来驱动需要正反转的电机负载。 MC33486与MC33887类似,但内部只有半桥须外加CMOS管以构成全桥驱动电路,稳定输出可达10 A,尤其适用于电动车窗电机之类的大功率并 伴有冲击电流的正反相控制要求。
 
3 软件结构
 
系统的程序结构分为四个部分:CAN通讯程序(包括应用层协议的SJA1000通讯),外围接口程序(所有检测芯片和驱动芯片的驱动),中 断服务程序(处理开关信号以及故障报警等消息),主程序(完成系统初始化和任务调度,喂狗等)。限于篇幅,以下着重介绍 CAN应用层协议。
 
本系统CAN通讯选用CAN2.0B协议的PeliCAN模式,通信位速率为500Kbps,采用双验收滤波器机制。为使用及修改方便,通 讯协议中标识码设计兼容点对点、一对多及广播通讯模式。开关量消息通讯时各节点间采用主从结构,子节点的报文只有主节点接收(点对点模式),主节点的报文 所有子节点均接收(广播模式)。模拟量消息通讯时各节点间采用点对点模式。
 
标识符定义:
 
类名:00000100——应答类消息(自检应答、故障诊断);00001000——命令类消息;00010000——调试类消息;00100000——下载类消息;01000000——工作类消息。 
 
保留A:验收滤波器配置预留 
 
应答类消息中:ID19:1——自检应答消息 0——故障诊断出错消息
 
ID20:验收滤波器配置预留 
 
工作类消息中:ID19:1——开关量消息 0——模拟量消息
 
ID20:验收滤波器配置预留 
 
目的地址:接-收报文节点的地址 
 
源地址:发送报文节点的地址,用于系统自检。
 
4 结束语
 
CAN总线以其高性能,高可靠性及独特的设计,受到工业控制领域和汽车电子领域的广泛重视,已被公认为最有前途的现场总线之一。我们深信不久的将来,国产的CAN总线汽车必将诞生。