智能车制作

标题: MC9S12DG128在汽车CAN网络中的应用 [打印本页]

作者: demon    时间: 2008-2-14 18:43
标题: MC9S12DG128在汽车CAN网络中的应用
< align=left><FONT size=3>重庆邮电学院 王坤,程安宇,张黎红,王平 长安(汽车)集团有限责任公司 何文 </FONT></P><P align=left><FONT size=3>在现代汽车中,车用电气设备随着人们对汽车各方面性能要求的不断提高也在逐渐地增加,从发动机控制传动系统控制,从行驶、制动、转向系统控制到安全保证系统及仪表报警系统,从电源管理到为提高舒适性而做出的各种努力,使汽车电气系统形成一个复杂的大系统,原有的汽车电气控制系统模式已远远不能达到设计者以及用户的要求, can总线技术以及硬件连接简单,良好的可靠性,实时性和性价比已经渐渐被众多的半导体厂家以及汽车企业所接受,并广泛应用与汽车领域。 <BR><BR>目前,众多半导体厂商(如motorola,infineon、philips、fujitsu等)都纷纷推出了具有can功能的微控制器芯片,本设计使用的是motorola公司hc9s12系列的mc9s12dg128微控制器。 <BR><BR><STRONG>1 can总线技术简介 <BR><BR></STRONG>can(controller area network)即控制器局域网,是德国bosch公司为解决现代汽车中众多的控制和数据交换问题开发出的一种现场总线通信结构,其最高速率可达1mbps(40m内)以多主方式工作,与一般的通信总线相比,can总线数据通信具有突出的可靠性、实时性和灵活性,是目前使用最广泛的一种汽车网络。 <BR><BR><STRONG>2 mc9s12dg128的介绍</STRONG> <BR><BR>mc9s12dg128微控制器是motorola公司m68hc12系列16位单片机中的一种,其内部结构主要有单片机基本部分和can功能块部分组成,基本结构包括:中央处理器单元 hcs12(cpu)、2个异步串行通信口sci、2个同步串行通信口spi,8通道输入捕捉/输出比较定时器,1个8通道脉宽调制模块以及49个独立数字i/o口(其中20个具有外部中断及唤醒功能),在片内还拥有128kb的flash rom,8kb的ram和2kb的eeprom,can功能块包括两个兼容can2.0a/b协议的mscan控制器组成,这些丰富的内部资源和外部接口资源可以满足ecu对各种数据的处理、can网络数据的发送和接收要求,芯片集成了两个mscan12模块,能够实现高低速can网络的网关节点功能。 <BR><BR>mscan是motorola scaleable can的缩写,而mscan12模块则是mscan在m68hc12系列mcu上的具体实现,其内部结构如图1所示,它遵循can2.0a/b协议,集成了除收发器外can总线控制器的所有功能,此外它还采用先进的缓冲器布置改善了实时性能,简化了应用软件的设计,can报文发送时,cpu将数据送入发送缓冲期,然后通过设置寄存器发出命令,数据组成报文后通过发送引擎送到txcan,再经过外部收发器送到总线,报文接收时,收发引擎通过外部收发器将总线上的数据位流引入rxcan,经过解码、错误检查、校验和报文过滤后送到接收缓冲区,并通过中断或标志通知cpu。 </FONT></P><P align=left><FONT size=3></FONT>&nbsp;</P><P align=left><FONT size=3></FONT></P><P align=left><FONT size=3><STRONG>3 "长安之星"cc6350汽车网络设计</STRONG> </FONT></P><P align=left><FONT size=3>"长安之星"sc6350汽车的电控单元主要有主控制器、发动机控制系统、悬架控制系统、制动防抱死控制系统(abs)、自动变速系统、asr控制系统、仪表管理系统、故障诊断系统、中央门锁系统、车窗升降系统和车灯控制系统等。 <BR><BR>所有这些电控单元在整个控制系统中对响应的实时性的要求都有所不同,而且汽车在实际运行过程中众多节点之间需要进行大量的实时数据交换,若整个汽车的所有节点都挂在一个can网络上,则众多节点通过一条can总线进行通信,一旦信息管理配置稍有不妥,就很容易出现总线负荷过大,导致系统实时响应速度下降的情况,这在实时系统中是不允许的,因此根据不同的要求,可将汽车网络分为高速can网络、低速can网络和lin网络3个速率等级。高速的can网络由abs、amt和电喷等节点组成;这些电控单元个数少、实时性和稳定性要求高,设计组成传输速率为500kbps的高速can网络。低速网络,即低速can网络和lin网络,由众多的车身电机和车灯节点组成,这些电控单元数量多,传输的数据纷繁复杂,对准确性、稳定性和要求胜于实时性,设计组成传输速率为125kbps的中低速can网络或速率为20kbps lin网络进行控制。 <BR><BR>对于不同速率网络之间的通信,必须有相应的网关进行数据的过滤和速率的转换,以实现不同速率网络节点之间的数据通信。高低速can网关的设计采用mc9s12dg128实现。&nbsp;<BR><BR></FONT></P><P align=left><FONT size=3></FONT>&nbsp;</P><P align=left><FONT size=3><STRONG>3.1 基本can节点硬件电路设计 <BR></STRONG><BR>基本的can节点硬件电路主要包括:带有can控制器的微控制器和用于数据收发的can收发器,本设计中使用的是motorola公司的16位微控制器mc9s12dg128,它带有mscan的控制器,主要负责can的初始化和数据的处理,can的收发器种类有很多,主要有philips公司的82c250、tja1050以及motorola公司的mc33997、mc33388、mc33889和mc33989等,它们之间很多都具有可兼容的特点,本例中采用的是philips公司的tja1050,它是can高速收发器。</FONT></P><P align=left><FONT size=3></FONT>&nbsp;</P><P align=left><FONT size=3></FONT></P><P align=left><FONT size=3><STRONG>3.2 高低速can网关节点硬件电路设计</STRONG> <BR><BR>网关的主要作用是协调各网络之间数据的共享,负责各节点之间的通信,其硬件结构与can节点非常相似,由于它负责高速与低速网络之间的数据共享,所以,必须同时跨接两个网络之间.</FONT><FONT size=3></FONT></P><P align=left><FONT size=3><STRONG>3.3 高低速can网络报文监测电路</STRONG> <BR><BR>为了便于随时因测试需要监测跟踪网关中高低速can网之间报文的接收发送情况,利用mc9s12dg128的sci口设计了可与pc通信的rs232的接口电路,可通过软件的设计来随时进行网关处报文的监测,以测试网关的工作情况。 </FONT></P><P align=left><FONT size=3></FONT></P><P align=left><FONT size=3><STRONG>3.4 高低速can网关软件设计 <BR></STRONG><BR>网关软件设计部分主要实现的功能是各节点的数据收发,特别是网关可以实现高低速网络数据的转换,根据图2所示网络结构分布,对实时性要求不高的车灯控制和电动车窗控制电路采用低速can网络,所设波特率为125kbps,对实时性要求较高的制动防抱死控制系统(abs)和自动变速系统(amt)等采用高速can网络,所设波特率为500kbps.</FONT></P><P align=left><FONT size=3><BR>为了降低网络资源的占用率,提高网络通信实时性性能,在高低速的can网络之间除了必要的通信外,其余各自网络的报文是相互独立传输的,这就需要使用mscan中的标识符验收过滤器进行报文的过滤,可以通过对于过滤器寄存器的设置实现这一功能。由于传输速率不同,高低速can网络之间的数据传输是不同的,当高速can网络数据向低速can传输时,需要加入软缓存进行暂时的存储;当低速can网络数据向高速can网路数传输时,可直接传输。 </FONT></P><P align=left><FONT size=3></FONT></P><P align=left><FONT size=3><STRONG>4 高低速can网络通信测试</STRONG> <BR><BR>为了监测高低速can网络之间通信的准确性和实时性,本文给出了一个典型的can报文监测测试实例,通过测试,可以看到can报文在高低速can网络之间传输,并可以实现控制跨网络间的节点动作,测试的具体过程:首先在高速can上模拟产生一组数作为传输器参数,经过cpu的分析通过高速can网络传到高低速网关节点,然后经过网关节点的对can报文的传输速率转换、传递到低速can网络中,最后控制车身仪表节点和车灯节点的实际动作。 </FONT></P><P align=left><FONT size=3></FONT></P><P align=left><FONT size=3><STRONG>结论</STRONG> <BR><BR>本文给出了一个具有高低速can网络的汽车车身控制的网络设计方案,介绍了motorola公司的16位单片机mc9s12dg128在该can网络中作为高低速网关的软硬件设计,以及上位机对其报文进行监测显示的结果,用此芯片设计的网关电路具有结构简单、易于升级、成本低廉但功能强大的特点,该网络方案已经在"长安之星"sc6350汽车车身上试验成功,控制网络及电路运行稳定,证明方案可行,采用can网络来控制汽车车身电器具有结构简单、实时性好、可靠性高的优点,是现代汽车电器控制的发展趋势。 </FONT></P>
作者: fsystem    时间: 2009-10-12 16:58
不错的文章 顶
作者: 七彩    时间: 2010-2-16 17:02

作者: zhizhi    时间: 2010-2-22 18:16
很好的文章。
作者: hanjianghappy    时间: 2010-3-4 17:22
谢谢,顶!!
作者: zouyf12    时间: 2010-3-4 17:25
我很支持DEMON的做法,其他有一些文章可以直接粘贴出来的,就直接粘贴出来,不要再弄一个下载,麻烦
作者: zhangluhuixing    时间: 2010-5-5 12:35
很有用




欢迎光临 智能车制作 (http://111.231.132.190/) Powered by Discuz! X3.2