基于CAN总线的某汽车仪表设计

(整期优先)网络出版时间:2018-12-22
/ 1

基于CAN总线的某汽车仪表设计

张希陶冉童琪凯陶飞飞

安徽江淮汽车集团股份有限公司安徽合肥230601

摘要:介绍CAN总线的特点以及在汽车仪表中的应用,给出CAN模块的硬件设计、软件设计和通信协议应用。

关键词:CAN总线;仪表;寄存器设置

0前言

汽车仪表的显示通常来自于某些开关信号,或者传感器信号。通常情况下,每个给仪表的输入信号要使用一根或两根线束传输,需要输入的信号越多,仪表接口设计的引脚就越多,随着汽车功能越来越多,对汽车仪表显示需求也随之增多,输入信号数量达几十甚至几百条。在这种情况下,一个信号一个引脚分配的仪表接口设计必定不能满足日益增长的需求。

随着CAN总线技术在汽车各个重要部件展开应用,有效降低了线束根数,同时也减少了控制器的引脚分配,并且CAN总线在通信能力、可靠性、实时性、灵活性、易用性等方面有着明显的优势,这恰恰解决了汽车仪表的上述问题。

1CAN硬件设计原理

CAN功能基于CAN控制器及CAN收发器及接口电路和通讯协议等设计实现。CAN最小系统需要两组电源、复位电路、晶振电路。电路中采用了隔离CAN收发器模块,以确保在CAN总线遭受严重干扰时控制器能够正常运行。这里设计仪表使用的是飞思卡尔的S12HY系列16位微控制器,集成了CAN控制功能,收发器使用的是TJA1040。

图1CAN模块结构原理

总线设计的三层结构模型为:物理层、数据链路层和应用层。物理层和数据链路层的功能由CAN接口器件完成,包括硬件电路和通讯协议两部分。CAN通讯协议规定了四种不同用处的网络通讯帧,即数据帧、远程帧、错误指示帧和超载帧。CAN通讯协议的实现,包括各种通讯帧的组织和发送,均是由集成在主控制器中的电路实现的,因此系统的开发主要在应用层的设计上。

2CAN模块软件设计

CAN模块软件设计包括三个主要环节:初始化,发送数据和接收数据。在初始化模式中,需要配置CANBTR0,CANBTR1位计时寄存器以及CANIDAC、CANIDAR和CANIDMR报文滤波器。位计时寄存器配置的目的是实现汽车总线所需CAN波特率、采样点及同步跳转宽度。

本文设计仪表用于500kb/s波特率,采样点75%的汽车CAN总线,选择16MHz的外部振荡器作为时钟源。根据CAN标准的位时段设置如表1。

4结论

通过对CAN模块的硬件、软件设计,并根据CAN通信协议实现数据传输,从而实现汽车仪表点亮指示灯、显示档位及声音输出等功能,节省接口引脚分配,减少电路板布线设计,并可以通过软件改写应对不同通信协议的要求,节约开发成本,提高工作效率。

参考文献

[1]罗峰,孙泽昌.汽车CAN总线系统原理、设计与应用[M].北京:电子工业出版社,2010.1

[2]邬宽明.CAN总线原理和应用系统设计[M].北京:北京航空航天大学出版社,1996

[3]李芳,张俊智,王丽芳.电动汽车动力总成系统控制器局域网(CAN)总线通信协议[J].机械工程学报,2008