在现代汽车中,车用电气设备随着人们对汽车各方面性能要求的不断提高也在逐渐地增加,从发动机控制传动系统控制,从行驶、制动、转向系统控制到安全保证系统及仪表报警系统,从电源管理到为提高舒适性而做出的各种努力,使汽车电气系统形成一个复杂的大系统,原有的汽车电气控制系统模式已远远不能达到设计者以及用户的要求,can总线技术以及硬件连接简单,良好的可靠性,实时性和性价比已经渐渐被众多的半导体厂家以及汽车企业所接受,并广泛应用与汽车领域。
目前,众多半导体厂商(如motorola,infineon、philips、fujitsu等)都纷纷推出了具有can功能的微控制器芯片,本设计使用的是motorola公司hc9s12系列的mc9s12dg128微控制器。
1 can总线技术简介
can(controller area network)即控制器局域网[1],是德国bosch公司为解决现代汽车中众多的控制和数据交换问题开发出的一种现场总线通信结构,其最高速率可达1mbps(40m内)以多主方式工作,与一般的通信总线相比,can总线数据通信具有突出的可靠性、实时性和灵活性,是目前使用最广泛的一种汽车网络。
2 mc9s12dg128的介绍
mc9s12dg128微控制器[2]是motorola公司m68hc12系列16位单片机中的一种,其内部结构主要有单片机基本部分和can功能块部分组成,基本结构包括:中央处理器单元 hcs12(cpu)、2个异步串行通信口sci、2个同步串行通信口spi,8通道输入捕捉/输出比较定时器,1个8通道脉宽调制模块以及49个独立数字i/o口(其中20个具有外部中断及唤醒功能),在片内还拥有128kb的flashrom,8kb的ram和2kb的eeprom,can功能块包括两个兼容can2.0a/b协议的mscan控制器组成,这些丰富的内部资源和外部接口资源可以满足ecu对各种数据的处理、can网络数据的发送和接收要求,芯片集成了两个mscan12模块,能够实现高低速can网络的网关节点功能。
mscan是motorola scaleable can的缩写[3],而mscan12模块则是mscan在m68hc12系列mcu上的具体实现,其内部结构如图1所示,它遵循can2.0a/b协议,集成了除收发器外can总线控制器的所有功能,此外它还采用先进的缓冲器布置改善了实时性能,简化了应用软件的设计,can报文发送时,cpu将数据送入发送缓冲期,然后通过设置寄存器发出命令,数据组成报文后通过发送引擎送到txcan,再经过外部收发器送到总线,报文接收时,收发引擎通过外部收发器将总线上的数据位流引入rxcan,经过解码、错误检查、校验和报文过滤后送到接收缓冲区,并通过中断或标志通知cpu。
3 "长安之星"cc6350汽车网络设计