当前位置:自动化网>上海英硕自动化科技有限公司门户>应用案例>基于CAN总线的汽车内部网络系统研究

基于CAN总线的汽车内部网络系统研究

发布时间:2006-08-16 10:57   类型:应用案例   人浏览

 现代汽车典型的电控单元主要有主控制器、发动机控制系统、悬架控制系统、制动防抱死控制系统(ABS)、牵引力控制系统、ASR控制系统、仪表管理系统、故障诊断系统、中央门锁系统、座椅调节系统、车灯控制系统等。所有这些子控制系统连接起来构成一个实时控制系统——指令发出去之后,必须保证在一定时间内得到响应,否则,就有可能发生重大事故。这就要求汽车上的CAN通信网络有较高的波特率设置。另外,汽车在实际运行过程中,众多节点之间需要进行大量的实时数据交换。若整个汽车的所有节点都挂在一个CAN网络上,众多节点通过一条CAN总线进行通信,信息管理配置稍有不当,就很容易出现总线负荷过大,导致系统实时响应速度下降的情况。这在实时系统中是不允许的,因此在对汽车上各节点的实时性进行了分析之后,根据各节点对实时性的要求,设计了高、中、低速三个速率不同的CAN通信网络,将实时性要求严格的节点组成高速CAN通信网络,将其他实时性要求相对较低的节点组成中速CAN通信网络,将剩下实时性要求不是很严格的节点组成低速CAN通信网络。并架设网关将这三个速率不同的三个通信网络连接起来,实现全部节点之间的数据共享。整个汽车的CAN通信网络拓扑结构如图1所示。 



    发动机控制系统、悬架控制系统、制动防抱死控制系统(ABS)、牵引力控制系统、ASR控制系统这五个节点是汽车运行的核心部件,对时间响应要求严格,因此将这五个节点组成高速CAN通信网络,通信波特率设为500 bps。仪表管理系统、故障诊断系统等相对来说对实时性的要求较低,因此这些节点构成中速CAN通信网络、通信波特率设为128 bps。中央门锁系统、座椅调节系统、车灯控制系统对实时性要求不是很严格,它们构成低速通信网络,通信波特率设为30 bps。两个网关跨接高、中、低速三条总线,与各节点进行数据交换。网关通过对CAN总线间待传数据信息的智能化处理,可以确保只有某类特定的信息才能够在网络间传输。   


2.2 器件选择 

     汽车内部CAN网络主要由两部分组成:面向底层ECU的CAN节点和实现高低速网络数据共享及网络管理的网关。为了减少开发周期,选择Motorola公司一款带CAN模块的中档微处理器MC9S12DP256;CAN收发器以及电源系统是用MC33989来实现的。 


     微控制器MC9S12DP256是基于16位HCS12 CPU及0.25 μm微电子技术的高速、高性能5.0 V Flash存储器产品中的中档芯片。其较高的性能价格比使其非常适合用于一些中高档汽车电子控制系统;同时其较简单的背景开发模式(BDM)也使开发成本进一步降低,使现场开发与系统升级变得更加方便。
 

     MC9S12DP256的主频高达25 MHz;片上集成了许多标准模块,包括2个异步串行通信口SCI、3个同步串行通信口SPI、8通道输入捕捉/输出比较定时器、2个10位8通道A/D转换模块、1个8通道脉宽调制模块、49个独立数字I/O口(其中20个具有外部中断及唤醒功能)、兼容CAN2.0A/B协议的5个CAN模块以及1个内部IC总线模块;片内拥有256 KB的Flash EEPROM12 KB的RAM、4 KB的EEPROM。这些丰富的内部资源和外部接口资源可以满足各种ECU数据的处理以及发送和接收。由于有多个CAN模块,所以非常适合做高低速网络之间的网关。 


     Motorola公司的系统级芯片(SBC)MC33989具有二个电源整流器,专为MCU和外围器件提供电源。这个智能化的半导体器件可以提供所有必需的系统电压,内部有一个低噪声的200 mA整流器用来给MCU子系统供电。另外,还有一个控制外部导通晶体管的装置用来给外围设备供电。这个外部导通晶体管允许调整二次电源,使之满足每种特殊应用所需的功耗极限要求。二次供电电源还能根据要求切断所选外围设备的供电,并以此达到降低功耗的目的。
 

     除了提供系统电源外,SBC内部还集成了一个1 Mb的CAN收发器。该收发器具有主控状态超时检测、内部热保护以及CAN-H和CAN-L输入端短路保护等功能。收发器内部还对CAN-H和CAN-L输入端进行了跳启、电池反接以及短接至电源或地的保护。 


     4个高压唤醒输入端使器件具备了强大的唤醒功能。这些唤醒输入端的最大耐压能达40 V。输入端的上拉源能在芯片上产生。由于只需用上拉源就能随时检测开关输入的变化,因此能较好地降低功耗。该器件还具有周期性唤醒功能。另外,SBC还提供了针对MCU的复位调节与低压检测功能。 


 2.3 CAN节点的硬件电路设计 

    为了便于调试和演示,节点模块都包括CAN接口、RS232接口和液晶显示器。在调试过程中,液晶显示器用来将本地数据和通过CAN总线接收的数据直观地显示出来,RS232接口在需要的情况下可用来与PC机建立通信。
 

    节点的核心芯片是微处理器MC9S12DP256,主要负责CAN的初始化,完成数据的处理及监控数据的传送。 


    图2中MC33989是CAN控制器与物理层总线之间的接口。该器件可以提供对总线的差分发送能力和差分接收能力,具有抗汽车环境下的瞬间干扰、保护总线的功能。除此之外,它还为MCU和外围器件提供电源。CAN节点原理框图如图2所示。



2.4 CAN网关的硬件电路设计 

       网关的主要作用是协调各个网络之间数据的共享,负责各节点之间的通信,其硬件结构与CAN节点非常相似。由于它负责高速与低速网络之间的数据共享,所以,必须同时跨接在两个网络之间。CAN总线网关硬件框图如图3所示。 


    微处理器MC9S12DP256具有5个CAN模块,这里使用其中的两个:一个通过MC33989与低速网相连,实现与低速网的通信;另一个通过MC33989与高速网相连,实现高、低速网之间的通信以及对网络的管理。 


2.5 CAN网络通信系统软件设计 

    本设计所需实现的功能是各节点发送接收数据,网关能实现数据的转换,实现高、低速网络之间的通信。在实验过程中,假设速率不同的两个网络,数据刷新周期分别为10 ms的低速网和5 ms的高速网。软件设计由KEIL C编写,主程序完成数据的处理和收发,中断程序负责数据的采集,主程序由CAN总线 


    数据的收发、液晶显示控制、数据帧解析三部分构成。通过中断判断数据的接收或发送,根据高、低速的不同,每隔一段时间(5 ms或10 ms)发送一组新数据。通信程序流程如图4所示。 图4 通信程序流程结语 


结语 

    为了充分发挥ECU在汽车控制中的作用,CAN通信网络为全局优化提供了条件。通过实验证明,CAN总线具有以下优点:① 组网自由,扩展性强;② 自动错误界定,简化了电控单元对通信的操作;③ 可根据数据内容确定优先权,解决通信的实时性问题。 


     此外,CAN网络还被众多工业控制系统采用,尤其是传输速率较高而且对实时性及可靠性要求高的场合,所以CAN总线将有广阔的应用前景。


 





















本文地址:http://ca800.com/apply/d_1nrutga2l0c4m_1.html

拷贝地址

免责声明:本文仅代表作者个人观点,与中国自动化网无关。其原创性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容、文字的真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容!

留言反馈
  • 评价:

  • 关于:

  • 联系人:

  • 联系电话:

  • 联系邮箱:

  • 需求意向:

  • 验证码:

    看不清楚?

  • 在线咨询