基于CAN总线的汽车组合仪表

基于CAN总线的汽车组合仪表
基于CAN总线的汽车组合仪表

CAN总线及其特点简介

CAN网络即控制器局域网(Controller Area Network),是德国BOSCH公司为解决现代汽车众多的控制单元、测试仪器之间的实时数据交换而开发的一种串行数据通讯协议,是一种支持分布式、实时控制的串行通讯中线网络。其最大传输速率可以达到

1Mbps(40m),与一般通讯总线相比,CAN总线的数据通讯具有突出的可靠性、实时性和灵活性,是目前使用最广泛的一种汽车网络。

MC9S12H256芯片介绍

属于MOTOROLA旗下HC9S12系列16位控制芯片的一种,基本结构包括:HCS12中央处理器(CPU);两个独立的MSCAN控制器-兼容CAN2.0A/B协议;8通道16位可软件编程控制的定时器;24通道电机控制模块,串行通信接口(SCI)以及32 x 4的LCD控制驱动模块等。这些丰富的资源足以满足作为汽车仪表的ECU对各种数据的处理,CAN报文的接收和发送,以及仪表的驱动等。其内部结构的框架图如图1所示。

图1 MC9S12H256结构图

仪表系统设计

本设计中采用了CAN总线来实现仪表和汽车上其他电子系统信息交流。仪表所需的所有信息均由CAN总线传递,降低了设计的复杂性和布线难度。同时,仪表和整个车身CAN网络连接,形成了一个完整的汽车一体化网络控制系统。

硬件设计

本设计的硬件部分主要包括CAN模块,仪表指针模块,LCD显示模块以及指示灯模块,硬件电路的原理框架如图2所示。

图2 组合仪表硬件部分电路图

CAN通信模块硬件设计

CAN通信模块由MC9S12H256微控制器内置的MSCAN控制器和独立的CAN收发器PCA82C50构成,PCA82C50是Philips公司生产的高速CAN收发器,能适应不同的CAN总线传输速率。CAN通信模块的硬件结构如图3所示。

图3 CAN模块结构图

仪表指针模块硬件设计

与一般的仪表采用专用驱动芯片来驱动步进电机不同,本设计中对步进电机的驱动采用的是由MC9S12H256的电机控制模块直接驱动步进电机完成,将原本由专用驱动完成的功能用软件来实现。

设计中采用的是VID29-05P两相式步进马达,其工作电压为5-10V,最大消耗电流为20mA,内置1/180减速比的齿轮系,输出轴的步距角最小为1/12度,其一个整步的步距角为180度,每个整步分为3个分步,其微步的工作方式为将每一分步再细分成4步走完,即将电机每相绕组的电流分为四个台阶投入或切断。每个微步的步距角为15度,绕组的电流波形为正弦阶梯波。

电机控制模块采用双全桥模式(Dual Full H-bridge Mode)每四个通道一组组成一个控制端输出动态的PWM系列驱动一个步进电机运行,通过控制PWM信号的占空比的变化来控制电流有效值的变化,实现电机的微步驱动。

其他模块硬件设计

LCD显示模块由MC9S12H256的LCD控制驱动模块直接驱动10位7段制LCD显示屏以数字形式显示。

指示灯模块由微控制器的I/O引脚输出控制信号控制不同的发光二极管。

软件设计

软件部分的主要功能是初始化各功能模块,控制接收CAN报文,计算相关的参数,驱动仪表指针、LCD、指示灯的显示等。软件整体流程图如图4所示:

图4 软件流程图

相关主题
相关文档
最新文档