ESD公司于1980年代在德国成立,去年年底正式进入中国。目前在欧洲、美国、亚洲成立了三个办事处,主要提供硬件、软件,以及客制化的产品。硬件包括VME,1984年开始推广。1989年涉足CAN,提供CAN接口IO,控制器等。现在ESD公司已经拥有多年CAN技术服务的丰富经验。
CAN总线的应用
C AN总线最初由Bosch公司开发,设计运用于汽车工业的串行网络技术。正如它的名字所示,CAN是一种在微处理器之间根据实时要求进行快速通讯的一种网络技术,并且可以不用考虑双端口RAM内存所必须的更加昂贵的和复杂的技术要求。现在大部分汽车内有不止一个CAN总线在运行。随着CAN总线的发展,现在它以一种网络结构的形式广泛应用于其他工业自动化及控制领域,为高速实时应用提供良好的配置。目前很多厂商都可以提供CAN总线,例如摩托罗拉。1998年,CAN站点销售量为三千一百万,2003年达到三亿五千五百万 。而2007年,CAN总量将达到七亿,CAN应用无所不在。汽车上的控制器,发动机管理系统,车床、车灯、雨刮器等等都需要CAN控制。机器人运动控制现在用的比较多的是电平器,固定驱动器都集成了CAN的接口,可以方便的联网。火车上的自动控制系统以及飞机上的空调和座位、医疗器械 、X光机等内部的控制都由CAN完成。
CAN是多组的总线,可以实现报文的广播,每次传输8个字节,由于传输字节数不是太多,可靠性相对提高,传输速度可达1M波特率。同时,CAN有非常好的错误检测能力,它由硅片实现物理层和数据层,最底下依次是物理层、数据链路层、网络表示层和应用层。CAN总线成本非常低,最低只有十几元人民币,而且在全世界范围内通用。现在很多欧美厂商都提供具有CAN接口的设备,相信在不久的将来,国内厂商也会生产出更多的CAN设备。
总线仲裁主要规则
CAN的物理层和总线的规格,取决于谁在总线上获胜。网络中有一个最高的优先级存在,其他的节点自动变成报文的状态。尽管CAN是一条总线系统, 但不会出现像以太网冲突检测下中止信号传输的情况。众所周知,这样的冲突竞争越多,以太网负担越重,而CAN不需要延时。CAN是一种冲突避免总线,最重要的(最高优先级)报文无需延时或复制即在总线上处于优先。数据帧报文广播节点中,节点A传送一个报文,节点B、 C 和 D 接收到此报文,节点B 和 D 接受此报文, 节点C拒绝。
C AN有两个标准,2.0A和2.0B,这两个标准可以并存于同一条总线(图1)。图中有4条总线,谁将在总线上获胜,开始的时候,D没有请求,D的信号不可能发出。ABC进行竞争, B处于1的信号,自动对总线接收,A和C相比,C是0,C节点完成数的发送,ABD处于接收的状态。每个传输节点自动的接收电平,然后自动检测总线和本地的错误,有一个5位的填充,CRC的系列有一个算法对错误进行检测,还有一个格式的错误,CAN报文未检测故障概率。
如 果 每 0.7秒发生一个位错误,速度为500 kBit/秒,每 天工作8小时,全年无休则遗漏错误概率为每一千年一个未检测错误。由此可看出CAN的可靠性非常高。
CAN总线错误修复时间为最大23位的时间,CAN网络上正常工作的节点属于激活错误的状态,这个状态是由复位初始化进行,也可以在错误认可的状况下,在小于128接收错误的时候自动复位。CAN应用的两种不同形式:CAN控制器单片机,CAN集成控制器的微处理器。
许多主流半导体厂商, 如Motorola、 Philips、Intel、Infineon等等都销售CAN芯片。大多数半导体厂商在他们的微处理器设计中集成了通用非同步收发传输器 (UART), 来支持RS232/485的串行通讯,如今趋向于用集成CAN的方式来替代。
高层协议
目前为止,大多数的半导体厂商都支持RS232和RS485,而今后的发展方向是集成一个口来替代。这就需要高层的协议进行网络管理和网络启动等。现在主要有三组高层协议DeviceNet、SAN1939和CANopen。CANopen使用比较多,最初是为运动控制而设计,现在则应用到各行各业。
CANopen支持多种结构,并且是开放性的,支持开关IO、运动控制,所有的CAN功能。虽然制造商是独立的,但装置是可以互换的。CANOpen连接马达控制器输入输出,支持节点的标志符,每站一个地址,最多127个,有可记录的源代码,对整个系统占用资源少,但是提供了一个非常可靠的方式。
CANopen 主站任务包括 控制网络启动;确认和监督网络一致性;对新设备下载配置数据;控制设备的通讯状态。 设备监测 :节点守护 (主/从监测);心跳(设备状态作为广播信号进行传输,每个设备可监测其他设备)。 |