论文部分内容阅读
[摘 要]本文在分析汽车电子技术现状和发展趋势的基础上,针对国内汽车系统复杂、智能化水平低、可拓展性差的特点,提出了基于高层协议的分布式模块化的CAN总线技术的汽车局域网结构,并对CAN通讯的网络、接口电路和软件程序进行设计。CAN总线技术的应用将系统配线简单、节省空间和成本,提高了汽车的智能化水平,是汽车通讯技术的首选。
[关键词]汽车 通讯技术 CAN总线 系统设计
中图分类号:U469.79 文献标识码:U 文章编号:1009―914X(2013)22―0566―01
1.前言
随着汽车技术和电力电子产品不断发展,车用电子设备不断增加,以提高汽车的性能和服务功能,满足人们的办公和娱乐需要,使汽车逐渐从单纯的交通工具演变为“移动办公室”和“移动娱乐室”。汽车技术的发展主题紧紧围绕着安全、方便、舒适和节能,电子产品的应用也是从这几个方面提高汽车的性能。
汽车中各种功能的不断完善,使汽车电子控制单元越来越多,控制装置的数量和复杂性性也不断增加,庞大的线束不但占去车内有限的空间、增加系统成本,同时也降低了系统的可靠性和可维护性。传统点对点布线方式已经不能满足汽车技术发展需要,繁琐现场连线正在逐渐被简单的现场总线取代。而现场总线技术不断发展,使其控制功能、网络管理和系统管理等内容不断扩充,现场总线已超出原有的定位范围,不只是通讯标准和通讯技术,而成为网络系统和控制系统。
CAN总线作为现场总线的重要成员,其本身也是作为汽车串行数据通讯总线而提出来的,目前CAN总线已经广泛应用到众多国外汽车品牌上。本文在分析CAN通讯技术的原理和特点基础上,设计了CAN通讯系统的网络结构、接口电路和和软件程序,经过分析可得:CAN总线技术结构简单、稳定性好、抗干扰能力强,是汽车通讯技术的首选。
2. CAN总线技术简介
2.1.1控制器局域网
CAN(Control Area Network)是1986年德国的Rober Bosch公司首次提出,并应用于汽车内各种传感器和执行器之间互相通信的一种总线技术。网络上的节点信息分为不同的优先级,以多主方式,随时主动地向网络的其他节点发送信息。信息以信息包的形式出现,其格式如下表所示。表中的消息标识符用来表明信息的类型和消息的优先级,总线上的节点将根据标识符决定是否读取信息包的数据,避免了不必要的节点所在的主机对处理每一个总线上的信息的频繁中断,提高了数据传输速率,保证了数据出错率。
目前,汽车上的网络连接方式主要采用两条CAN:一条用于驱动系统的高速CAN;另一条用于车身系统的低速CAN。驱动系统连接对象是发动机控制器(ECU、变速器控制器、安全气囊控制器、组合仪表等),它们的基本特征是控制与汽车行驶直接相关的系统。车身系统CAN主要连接对象是四门以上的集控锁、电动车窗、后视镜和车灯等。随着汽车电子技术的发展将会出现连接高速和低速两条CAN的网关,在两个系统之间实现资源共享,将各个数据总线的信息反馈到仪表总成的显示系统。
2.1.2 CAN的网络系统结构
CAN协议定义了ISO/OSI网络开放系统模型的物理层和数据链路层,主要是数据链路层,如图1所示。CAN协议是为了在任何两个CAN仪器之间建立兼容性。兼容性包括不同的方面,如电气特性和数据转换的解释。
CAN2.0的MAC层是CAN的核心,主要定义了传输协议,也就是实现控制帧结构、执行仲裁、错误检测和故障界定等功能。总线上何时开始发送新报文及何时开始接收新报文,均在MAC子层中定义。所以MAC层是固定不允许修改的。LLC的设计较为自由。物理层实现不同节点之间的物理信号传输。BOSCH CAN协议几乎没有对物理层定义。同样是基于CAN的网络,物理层可能差异较大。但是同一网络内所有节点物理层必须相同。物理层协议主要根据数据传输率、成本和可靠性决定。
3 CAN总线设计
3.1 CAN结构设计
CAN总线是一种多主方式的串行通讯总线,基本设计规范要求有高的位速率、高抗电磁干扰性而且能够检测出产生的任何错误。当信号传输距离达到10Km时,CAN总线仍可提供高达5Kbps的数据传输速率。由于CAN串行通讯总线具有这些特性,它很自然地在汽车制造业中受到广泛应用。
该设计是一个完整的分布式汽车电子控制系统;它采用多子网结構,将信息交换比较密切的系统放在一个子网中,使整个系统具有很高的实时性;不同子网之间根据不同的应用特点,采用不同的物理层接口以及通信速率,优化了系统结构。该设计方案简化了各个CAN子网的设计难度,但是整车的网络系统设计以及总线通信协议比较复杂,硬件上对网关的要求比较高,需要有强大的数据处理能力,而且系统成本比较高,适合于中高档轿车采用。
3.2 CAN接口电路设计
目前大部分处理器内部都集成了CAN通信模块,使得接口电路的设计变得非常简单。为增大系统的通信距离、提高瞬间抗干扰能力、降低射频干扰等,选用CTM8251T作为CAN控制器与物理总线的接口芯片。将处理器的CAN控制器的收发信号CANTX、CANRX经具有隔离功能的收发器CTM8251T连接到CAN物理总线。总线末端连接120Ω电阻,用于传输线阻抗匹配,提高总线的抗干扰能力。CAN总线和处理器的接口电路如图3所示。
3.3 CAN软件程序设计
根据系统硬件的分布式层次化配置,系统结合C语言与汇编语言的混合编程进行模块化设计,系统的监测功能主要分为下位机采集和上位机监控两部分组成。系统的主流程图如图4所示:首先对处理器进行初始化设置(包括系统的时钟设置和相关寄存器初始设置);对中断功能、事件管理器及AD模块进行初始设置;判断断路器动作状态,进入中断处理;采集汽车作运动过程的信息;数据的处理、存储;数据通过CAN总线上传至处理器。
图5为CAN发送子程序流程图。CAN控制器的数据发送子程序负责节点报文的发送,通过设置将采集到的数据按特定格式组成一帧报文,送入CAN控制器的发送缓冲区,CAN总线间隔1s发送一个数据帧,CAN总线通信速率设置为100Kb/s,使用邮箱1为发送邮箱,启动发送命令,CAN传输通过查询状态位完成传输。
4.结束语
随着国家智能化电器和智能化家电概念的提出,汽车智能化技术成为近年来研究的热点。本文在基于汽车通讯技术发展的现状基础上,详细介绍了提出了CAN现场总线技术,并设计了CAN总线技术的整体结构方案、接口电路和软件程序。由分析可得:CAN技术结构简单、性能稳定、可靠性高,是汽车系统通讯技术的发展方向。
参考文献
[1] 鲍官军,计时鸣,张利,王亚良.CAN总线技术、系统实现及发展趋势.浙江工业大学学报.2003,31(1):5863.
[2] 李雅博,张俊智,卢青春.混合动力电动汽车车上CAN网络设计实时性分析.汽车工程.2005,27(1):16-19.
[3] 赵方庚等.现代汽车总线技术的发展.汽车运用,2005:22-25.
[4] 饶家明.CAN总线设计思想与现代分权管理系统.测控技术.2002:20-24.
[5] 徐文尚,姜梅香.CAN总线点列点通讯应用,研究电测与仪表,2001:30-34.
[关键词]汽车 通讯技术 CAN总线 系统设计
中图分类号:U469.79 文献标识码:U 文章编号:1009―914X(2013)22―0566―01
1.前言
随着汽车技术和电力电子产品不断发展,车用电子设备不断增加,以提高汽车的性能和服务功能,满足人们的办公和娱乐需要,使汽车逐渐从单纯的交通工具演变为“移动办公室”和“移动娱乐室”。汽车技术的发展主题紧紧围绕着安全、方便、舒适和节能,电子产品的应用也是从这几个方面提高汽车的性能。
汽车中各种功能的不断完善,使汽车电子控制单元越来越多,控制装置的数量和复杂性性也不断增加,庞大的线束不但占去车内有限的空间、增加系统成本,同时也降低了系统的可靠性和可维护性。传统点对点布线方式已经不能满足汽车技术发展需要,繁琐现场连线正在逐渐被简单的现场总线取代。而现场总线技术不断发展,使其控制功能、网络管理和系统管理等内容不断扩充,现场总线已超出原有的定位范围,不只是通讯标准和通讯技术,而成为网络系统和控制系统。
CAN总线作为现场总线的重要成员,其本身也是作为汽车串行数据通讯总线而提出来的,目前CAN总线已经广泛应用到众多国外汽车品牌上。本文在分析CAN通讯技术的原理和特点基础上,设计了CAN通讯系统的网络结构、接口电路和和软件程序,经过分析可得:CAN总线技术结构简单、稳定性好、抗干扰能力强,是汽车通讯技术的首选。
2. CAN总线技术简介
2.1.1控制器局域网
CAN(Control Area Network)是1986年德国的Rober Bosch公司首次提出,并应用于汽车内各种传感器和执行器之间互相通信的一种总线技术。网络上的节点信息分为不同的优先级,以多主方式,随时主动地向网络的其他节点发送信息。信息以信息包的形式出现,其格式如下表所示。表中的消息标识符用来表明信息的类型和消息的优先级,总线上的节点将根据标识符决定是否读取信息包的数据,避免了不必要的节点所在的主机对处理每一个总线上的信息的频繁中断,提高了数据传输速率,保证了数据出错率。
目前,汽车上的网络连接方式主要采用两条CAN:一条用于驱动系统的高速CAN;另一条用于车身系统的低速CAN。驱动系统连接对象是发动机控制器(ECU、变速器控制器、安全气囊控制器、组合仪表等),它们的基本特征是控制与汽车行驶直接相关的系统。车身系统CAN主要连接对象是四门以上的集控锁、电动车窗、后视镜和车灯等。随着汽车电子技术的发展将会出现连接高速和低速两条CAN的网关,在两个系统之间实现资源共享,将各个数据总线的信息反馈到仪表总成的显示系统。
2.1.2 CAN的网络系统结构
CAN协议定义了ISO/OSI网络开放系统模型的物理层和数据链路层,主要是数据链路层,如图1所示。CAN协议是为了在任何两个CAN仪器之间建立兼容性。兼容性包括不同的方面,如电气特性和数据转换的解释。
CAN2.0的MAC层是CAN的核心,主要定义了传输协议,也就是实现控制帧结构、执行仲裁、错误检测和故障界定等功能。总线上何时开始发送新报文及何时开始接收新报文,均在MAC子层中定义。所以MAC层是固定不允许修改的。LLC的设计较为自由。物理层实现不同节点之间的物理信号传输。BOSCH CAN协议几乎没有对物理层定义。同样是基于CAN的网络,物理层可能差异较大。但是同一网络内所有节点物理层必须相同。物理层协议主要根据数据传输率、成本和可靠性决定。
3 CAN总线设计
3.1 CAN结构设计
CAN总线是一种多主方式的串行通讯总线,基本设计规范要求有高的位速率、高抗电磁干扰性而且能够检测出产生的任何错误。当信号传输距离达到10Km时,CAN总线仍可提供高达5Kbps的数据传输速率。由于CAN串行通讯总线具有这些特性,它很自然地在汽车制造业中受到广泛应用。
该设计是一个完整的分布式汽车电子控制系统;它采用多子网结構,将信息交换比较密切的系统放在一个子网中,使整个系统具有很高的实时性;不同子网之间根据不同的应用特点,采用不同的物理层接口以及通信速率,优化了系统结构。该设计方案简化了各个CAN子网的设计难度,但是整车的网络系统设计以及总线通信协议比较复杂,硬件上对网关的要求比较高,需要有强大的数据处理能力,而且系统成本比较高,适合于中高档轿车采用。
3.2 CAN接口电路设计
目前大部分处理器内部都集成了CAN通信模块,使得接口电路的设计变得非常简单。为增大系统的通信距离、提高瞬间抗干扰能力、降低射频干扰等,选用CTM8251T作为CAN控制器与物理总线的接口芯片。将处理器的CAN控制器的收发信号CANTX、CANRX经具有隔离功能的收发器CTM8251T连接到CAN物理总线。总线末端连接120Ω电阻,用于传输线阻抗匹配,提高总线的抗干扰能力。CAN总线和处理器的接口电路如图3所示。
3.3 CAN软件程序设计
根据系统硬件的分布式层次化配置,系统结合C语言与汇编语言的混合编程进行模块化设计,系统的监测功能主要分为下位机采集和上位机监控两部分组成。系统的主流程图如图4所示:首先对处理器进行初始化设置(包括系统的时钟设置和相关寄存器初始设置);对中断功能、事件管理器及AD模块进行初始设置;判断断路器动作状态,进入中断处理;采集汽车作运动过程的信息;数据的处理、存储;数据通过CAN总线上传至处理器。
图5为CAN发送子程序流程图。CAN控制器的数据发送子程序负责节点报文的发送,通过设置将采集到的数据按特定格式组成一帧报文,送入CAN控制器的发送缓冲区,CAN总线间隔1s发送一个数据帧,CAN总线通信速率设置为100Kb/s,使用邮箱1为发送邮箱,启动发送命令,CAN传输通过查询状态位完成传输。
4.结束语
随着国家智能化电器和智能化家电概念的提出,汽车智能化技术成为近年来研究的热点。本文在基于汽车通讯技术发展的现状基础上,详细介绍了提出了CAN现场总线技术,并设计了CAN总线技术的整体结构方案、接口电路和软件程序。由分析可得:CAN技术结构简单、性能稳定、可靠性高,是汽车系统通讯技术的发展方向。
参考文献
[1] 鲍官军,计时鸣,张利,王亚良.CAN总线技术、系统实现及发展趋势.浙江工业大学学报.2003,31(1):5863.
[2] 李雅博,张俊智,卢青春.混合动力电动汽车车上CAN网络设计实时性分析.汽车工程.2005,27(1):16-19.
[3] 赵方庚等.现代汽车总线技术的发展.汽车运用,2005:22-25.
[4] 饶家明.CAN总线设计思想与现代分权管理系统.测控技术.2002:20-24.
[5] 徐文尚,姜梅香.CAN总线点列点通讯应用,研究电测与仪表,2001:30-34.