CAN是控制器局域网络(Controller Area Network, CAN)的简称,是由研发和生产汽车电子产品著称的德国BOSCH公司开发,并最终成为国际标准(ISO11898),是国际上应用最广泛的现场总线之一。到目前为止,世界上已经拥有20多家CAN总线控制器芯片生产商,110多种CAN总线协议控制器芯片和集成CAN总线协议控制器的微处理器芯片。在北美和西欧,CAN总线协议已经成为汽车计算机控制系统和嵌入式工业控制局域网的标准总线,并且拥有以CAN为底层协议专为大型货车和重工机械车辆设计的J1939协议。近年来,其所具有的高可靠性和良好的错误检测能力受到重视,被广泛应用于汽车计算机控制系统和环境温度恶劣、电磁辐射强和振动大的工业环境。
近年来,随着汽车电子技术的不断发展,现代汽车中所使用的电子控制系统和通讯系统越来越多,如发动机电控系统、 自动变速器控制系统、防抱死制动系统(ABS)、自动巡航系统(ACC)和车载多媒体系统等。这些系统之间、系统和汽车的显示仪表之间、系统和汽车故障诊断系统之间均需要进行数据交换,如此巨大的数据交换量,如仍然采用传统数据交换的方法,即用导线进行点对点连接的传输方式将是难以想象的。CAN作为汽车环境中的微控制器通讯总线解决了这一问题,它在车载各电子控制装置 ECU 之间交换信息,形成汽车电子控制网络,作为一种多主方式的串行通讯总线,基本设计规范要求有高的位速率,高抗电磁干扰性,而且能够检测出产生的任何错误。当信号传输距离达到10Km时,CAN总线仍可提供高达5Kbps的数据传输速率。CAN用作汽车中的数据和控制通信的网络,具有不可比拟的优越性。据 统计,目前CAN总线在汽车动力总成中占了85%的市场份额,2008年全球主要汽车生产厂商生产欧Ⅲ/欧Ⅳ排放标准以上的汽车后,采用CAN总线的汽车将超过95%。
一 直以来,富士通就在16位微控制器和32位微控制器中集成了CAN控制器。为了满足各种应用需求,提供了多通道类型的CAN,1-channel CAN(称为单CAN),2-channel CAN (称为双CAN),3-channel CAN(称为三CAN)。 以下列出了富士通的CAN MCU (Microcontroller Unit)产品系列(图1) 。
所有这些微控制器都配有闪存,并且有各种容量闪存的控制器可提供。而且,这些微控制器允许对闪存进行10,000次以上的重写操作,以便满足终端用户对系统升级和数据变更的需要。配有闪存的微控制器和内置的CAN macro允许在闪存内通过CAN总线对闪存内的程序进行重写。
CAN总线的特点
图2 (略)
以上数据显示了CAN的特殊功能,它们作为车载控制器局域网络受到了业内的关注。
这些特殊功能包括:
快速访问
尽管总线访问取决于数据传输速率,CAN却支持1Mbps的数据传输速率。这对于控制局域网比较适度。
错误检测能力
CAN提升了错误检测能力:它在传输过程中可以检测到2个错误,在接收过程中可以检测到3个错误。
短消息
因为消息比较短(从0到8个字节),重复传输的时间也就相应地缩短了。
多主配置
使用多主设备进行的通信被用于数据传输。
设置总线访问优先级
在总线访问中,给予最低ID No.的总线最高的优先级。
CAN控制器的错误检测
1.发送
位错误(Bit Error)
单元在发送位的同时也对总线进行监视。如果所发送的位值与所监视的位值不相符合,则在此位时间里检测到一个位错误。但是在仲裁场(ARBITRATION FIELD)的填充位流期间或应答间隙(ACK SLOT)发送一“隐性”位的情况是例外的-- 此时,当监视到一“显性”位时,不会发出位错误。当发送器发送一个被动错误标志但检测到“显性”位时,也不视为位错误。
应答错误(Acknowledgment Error)
只要在应答间隙(ACK SLOT)期间所监视的位不为“显性”,则发送器会检测到一个应答错误。
2.接受
填充错误(Stuff Error)
如果在使用位填充法进行编码的信息中,出现了第6个连续相同的位电平时,将检测到一个填充错误。
CRC 错误(CRC Error)
CRC 序列包括发送器的CRC 计算结果。接收器计算CRC 的方法与发送器相同。如果计算结果与接收到CRC 序列的结果不相符,则检测到一个CRC 错误。
形式错误(Form Error)
当一个固定形式的位场含有1 个或多个非法位,则检测到一个形式错误 。(备注:接收器的帧末尾最后一位期间的显性位不被当作帧错 误)
图3 节点的错误状态(略)
富士通CAN控制器的节点状态处理
节点状态
NS1、NS2 (Node status bits)
节点状态转换
无论是工业系统还是自动化系统,一直以来,大多数CAN总线网络系统都要求有操作系统。在众多普遍使用的操作系统中,OSEK作为使用CAN通信系统的操作系统,近来获得了广泛的认可。
图4 (略)
具有内置CAN 的富士通微控制器支持OSEK/VDX操作系统。日本Vector有限公司发售有osCAN 16LX和osCAN FR两套OSEK/VDX操作系统。osCAN系列系统由一个操作系统的内核和车载控制单元所需的通信软件模块等构成。
C AN总线组网自由,扩展性强;自动错误界定,简化了电控单元对通信的操作;可根据数据内容确定优 先权,解决通信的实时性问题。这些优点使CAN总线不仅在汽车控制和通信网络中被广泛采用,在工业控制中也将有广阔的应用前景。 |