混合动力汽车中CAN总线技术的应用
2005年6月第28卷第6期重庆大学学报(自然科学版)
JournalofChongqingUniversity(NturlScienceEdition)
Jun.2005 Vol.28 No.6
文章编号:1000-582X(2005)06-0068-03
混合动力汽车中CAN总线技术的应用
肖朝晖,谭 进,李 山,廖汝秋
1
2
1
3
3
(1.重庆工学院计算机学院,重庆 400050;2.重庆大学科研处,重庆 400030;3.重庆市公安局 交通管理局,重庆 400041)
摘 要:介绍了CAN总线在混合动力汽车中的应用,研究了CAN通信技术和基于CAN节点的设
计,给出了网络结构模式,为新一代汽车的控制提供了理论基础与依据,节点硬件的组成和软件的实现方法.
关键词:混合动力汽车;CAN总线; 中图分类号:U469.79
,它是涉及机械、电力、电子、品,各个单元和部件的运行情况错综复杂,涉及到大量的信息交换和处理.因此,不仅需要复杂缜密的控制系统对其进行控制,同时各个单元之间需要进行大量的实时准确的数据交流,使各个部件能够协调工作,并将整车和各单元的状态、运行模式、控制指令等参数及时显示,以便给驾驶员提供准确的信息,使驾驶员随时了解汽车的运行情况,确保行车安全,同时为用户、制造厂家乃至维修部门提供各种性能指标和环境参数.
CAN协议提供了这样的通讯平台标准.CAN也叫控制器局域网络(ControllerAreaNetwork),它是德国波许(Bosch)公司从20世纪80年代初开始,为解决当代汽车中日益增多的控制与测试仪器之间的数据交换而开发的一种能有效支持分布式控制或实时控制的串行通信网络.它具有独特的性能、优越的可靠性和新颖的设计理念,并且很好地顺应了现代控制理论对工业控制系统对象分散化、运作实时化、策略多样化的潮流.下面将介绍CAN技术及其在混合动力汽车中的应用.
:A
的通讯模式,这就允许在总线上的任一设备有同等的机会取得总线控制权来向外发送信息.2)所有信息报文在传送时不是基于目的站点地址,这就允许不同的信息采用“广播”的形式发送到所有节点,并且可以在不改变信息格式的前提下对报文进行不同配置.3)CAN总线是一种高速的、具备复杂错误检测和恢复能
力的高可靠性强有力的实时网络.
2 基于CAN总线智能节点的设计
针对混合动力汽车内部各部件通信的要求,笔者选用的CAN总线通信控制器选用PHILIPS公司的
[2]
SJA1000芯片.SJA1000是独立CAN通信控制器,它是PHILIPS公司的PCA82C200CAN控制器的替代产品,SJA1000具有BasicCAN和PeliCAN两种工作方式,其中PeliCAN工作方式具有支持CAN2.0B协议.此外,SJA1000可连接各种微控制器接口,并具有总线访问优先权控制、强有力的错误处理能力、无损结构的逐位仲裁等特性.
2.1 CAN节点硬件设计方法
CAN总线系统智能节点硬件电路原理如图1所[3-8]示,从图中可以看出电路主要由4部分所构成:微处理器(选用单片机或DSP处理器)
、独立CAN通信控制器SJA1000、CAN总线收发器82C250和高速光电耦合器6N137.微处理器负责SJA1000的初始化,通过控制SJA1000实现数据的接收和发送等通信任务.
1 CAN总线
CAN总线广泛应用于汽车、船舶、机器人、液压系
[1]
统、楼宇自动化等场合,它具有以下特点:1)CAN总(CS线是基于“载波监听多点接入/冲突检测”MA/CD)
3
收稿日期:2005-01-12
基金项目:国家“863”项目:混合动力汽车专项;重庆市科委攻关重点项目(0714-1)
作者简介:肖朝晖(1970-),男,湖南衡阳人,重庆工学院讲师,硕士,研究方向:计算机应用、信息安全.
混合动力汽车中CAN总线技术的应用
3 基于CAN总线的整车系统网络设计
整车控制系统的网络拓扑结构如图2所示.采用
总线控制方式,各控制模块组成了网络中的各节点.整车控制模块VCM负责汽车运行工况的判断和系统中各控制模块间的协调及通信故障的判断
.
图1 CAN总线系统智能节点硬件电路原理图
SJA1000的AD0~AD7连接到微处理器(采用单
片机)的P0口,CS连接到微处理器的P2.0,P2.0为0时微处理器片外存贮器地址可选中SJA1000,微处理器通过这些地址可对SJA1000执行相应的读写操作.SJA1000的RD、WR、ALE分别与微处理器的对应引
图2 CAN与RS-232的
.
脚相连,INT接微处理器的INT,方式访问SJA1000.
82C250为高性能,CAN控制器的差动接收能力,它具有降低射频干扰、热防护、抗汽车环境下的瞬间干扰等特性.
为了增强CAN总线节点的抗干扰能力,SJA1000的TX0和RX0并不是直接与82C250的TXD和RXD相连,而是通过高速光耦6N137后与82C250相连,这样就很好地实现了总线上各CAN节点间的电气隔离.光耦部分电路所采用的两个电源VCC和VDD完全隔离.82C250与CAN总线的接口部分也采用了一定的安全和抗干扰措施.
2.2 CAN节点软件驱动程序的设计
CAN总线节点的软件设计主要包括三大部分:CAN节点初始化、报文发送和报文接收.2.2.1 初始化子程序
SJA1000的初始化在复位模式下进行,初始化主
图3 CAN-232接口
在整个CAN网络的通信中,需要解决的关键问题
是CAN的仲裁和通信的错误检测.CAN总线物理层通常是双绞线当逻辑“1”被写进总线里,两条线的电平是2.5V,并被定义为隐性位.当逻辑“0”被写进总线里一条线并被上拉到5V(CAN高),另一条线被下拉到地(CAN低),这叫做显形位.但是如果显形位和隐性位都被不同的节点同时写进总线里,总线显示显形位.所以显性位覆盖了隐性位,这就会造成CAN网络冲突,因此需要进行仲裁
,见图4.
要包括工作方式的设置、接收滤波方式的设置、接收屏蔽寄存器AMR和接收代码寄存器ACR的设置、波特率参数设置和中断允许寄存器IER的设置等,在完成SJA1000的初始化设置以后,SJA1000回到工作状态进
图4 CAN电平
行正常的通信任务.2.2.2 发送子程序
发送子程序负责节点报文的发送.报文的传输由CAN控制器SJA1000独立完成,发送方式有中断控制
发送和查询控制发送.设计方法根据系统的要求.2.2.3 接收子程序
报文的接收由CAN控制器SJA1000独立完成,收到的报文放在接收缓冲器中.接收方式有中断控制接收和查询控制接收.设计方法根据系统的要求.
笔者采用非破坏性逐位仲裁的技术来实现它.其
原理是,当节点开始传送它们各自的报文时,标识符的每一个位都被写到总线里而且能够被每一个节点读回.如果一个节点写进了隐性位而读回显性位,它就会判断另一个较低标识符号码的高优先权节点正在访问.总线就会停止传送报文并继续接收更重要的报文.从而保证了如果发送一个高优先权报文它就会赢得仲裁,并能够在一个保证的时间限度里到达它的目的节点,这样就可以由系统设计者来控制.但是必须注意如果两个节点用同样的标识符发出数据,两个都会得到总线的仲裁并开始传输数据,在某一点数据会不同并产生错误:两个节点都会后退并且重新开始整个传输过程,在最坏的情况下它会造成网络的锁死.
混合动力汽车中CAN总线技术的应用
解决了CAN通信的仲裁问题后,下一个就是通信的错误检测问题.主要采用两层检测:报文级和位级.如果一个报文出错那么任一级的错误检测都会使节点不接收这个报文并产生一个出错帧,使所有的节点都忽略它并使发送节点重新发送这个报文.
在报文级检查中采用CRC检查和应答隙.CRC检查是一个15位CRC,它计算描述符场和数据字节的CRC.应答场有两位包括一个应答位和一个应答界定符:发送器将会把一个隐性位放在应答场,任何一个正确接收报文的节点在应答场写一个显性位.如果发送器在应答场没有读回一个显形位它将产生一个出错帧,并重新传送报文.最后在报文级增加一个形式检查,它检查那些总是隐性位的报文场,如果检测到显形位就会产生错误.主要检查帧起始、帧结束、应答界定符以及CRC界定符位.
在位级检查中,.,性位.现.当一个报文没有被填充即如果在逻辑电平相同的连续5位后,下一位不是前面的反,则产生一个错误.
通过上述仲裁和错误检测方法,就实现了CAN通信的实时性和可靠性,图5就是通过实验后描述的CAN总线传输速率和传输长度的关系图
.
确地反映CAN总线上传送的信息,包括汽车各模块的工况参数及通信状态
.
图6 信息显示终端
4 结 语
,然后安装于长安,结果表明,其系统工作.参考文献:
[1] 邬宽明.CAN总线原理和应用系统设计[M].北京:
北京航空航天大学出版社,1996.[2] PHILIPS.SJA1000Stand2aloneCANControllerProductSpeci2
fication[EB/OL].http://,2004-05-09.[3] 葛林,周文华,徐航.CAN通信网络在汽车中的应用研究[J].
汽车技术,2000,(11):1-4.[4] 欧德翔,汪至中.基于CAN总线分布式控制系统智能
节点的设计[J].工业控制计算机,2002,(12):46-48.[5] JOSEPHCBURBA.ConsiderationofControlSystemArchi2
tectureinElectricandHybridElectricVehicles[EB/OL].http://evs2001.tu-berlin.de,2004-05-09.[6] WANGWEIHUA,ZENGXIAOHUA,WANGQINGNIAN.
DevelopHybridTransitBusesforChineseCities[EB/OL].http:///servlets/techtrack?PROD_TYP=PAPER,2004-05-09.
[7] NationalRenewableEnergyLaboratory.ADVISORDocumenta2
tion[DB/CD].http://www.nrel.gov,2004-05-09.[8] 廖海涛,程昌银.CAN总线PC-CAN卡设计[J].武汉
理工大学学报(信息与管理工程版),2003,(2):22-24.
图5 CAN通信
在整个系统设计完成后,笔者设计了一个车载信息显示终端(OBIS),其功能界面显示见图6,来实时准
ApplicationforHybridElectricVehicleBasedonCANBus
XIAOZhao2hui,TANJin,LIShan,LIAORu2qiu
1
2
1
3
(1.CollegeofComputer,ChongqingInstituteofTechnology,Chongqing400050,China;
2.DepartmentofScientificResearch,ChongqingUniversity,Chongqing400030,China;3.TrafficAdministrationofChongqingSecurityBureau,Chongqing400041,China)
Abstract:ThepaperintroducestheapplicationofCANbusintheHybridElectricVehicle,studiestheCANbustech2niqueandthedesignbasedonthenodeofCANbus,andprovidesanetworktopologymode.Thetheoriesfoundationandbasisfornewgenerationautomotiveareprovided,whicharecombinedtointroducethehardwareconstitutesandsoftwaremethodforthenodeofCANbus.
Keywords:hybridelectricvehicle;CANbus;hybridelectriccontrolsystem
(编辑 张 苹)