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