1 概述
CAN, 全称为“Controller Area Network”,是国际上应用最广泛的现场总线之一。20世纪80年代初,德国Bosch公司为了解决现代汽车中众多的控制与测试仪表之间的数据交换问题,开发出CAN总线。CAN总线能有效支持分布式控制或实时控制的串行通信网络,具有抗干扰性强和使用可靠等优点,最初主要应用汽车工业,现在广泛应用于汽车工业、航空工业和工业控制等自动化领域,如分布式环境监测系统、温室环境监控系统、变电站变监测系统等。
CAN总线是一种串行数据通信协议,其通信接口中集成了CAN协议的物理层和数据链路层功能,可完成对数据的成帧处理,用户可在其基础上开发适应系统实际需要的应用层通信协议。CAN协议的一个最大特点是废除了传统的站地址编码,而代之以对通信数据块编码,采用这种方法可使网络内节点个数在理论上不受限制,还可使不
同的节点同时收到相同的数据。
CAN总线提供高速数据传送, 在短距离(40m)条件下具有高速(1Mbit/s)数据传输能力,而在最大距离10000m时具有低速(5kbits/s)传输能力,极适合在高速的工业自控应用上,CAN总线可在同一网络上连接多种不同功能的传感器(如位置,温度或压力等)。
CAN总线的其他特点如下:
(1)它是一种多主总线,即每个节点机均可成为主机,且节点机之间也可进行通信;
(2)通信介质可以是双绞线、同轴电缆或光导纤维,通信速率可达1Mbps;
(3)数据段长度最多为8个字节,可满足通常工业领域中控制命令,工作状态及测试数据的一般要求。同时,8个字节不会占用总线时间过长,从而保证了通信的实时性;
(4)CAN协议采用CRC检验并可提供相应的错误处理功能,保证了数据通信的可靠性。
CAN可以以多主方式工作,网络上任意节点均可以在任意时刻主动地向总线上其它节点发送信息,实现点对点、一点对多点及全局广播几种方式发送接收数据;CAN采用非破坏性总线仲裁技术,当两个节点同时向总线上发送信息时,优先级低的节点主动停止数据发送,而优先级高的节点可不受影响地继续传输数据,节省了总线冲突仲裁时间。
图1-1为一个CAN总线应用系统,主要有主机和各节点组成,主机和节点之间通过CAN收发器及CAN控制器相连,单个节点包括一个控制器、一个CAN收发器和一个CAN控制器。其中一个典型的应用是:主机接收各节点发送的现场数据,如现场温度、电流或压力等参数,主机经过综合计算、判断作出相应的控制命令,这些命令将通过CAN总线传送至各节点。各节点由单片机作为控制器,它用于采集现场的各项参数,并执行主机发送的各项命令,这些命令将最终传送至各执行机构,如阀门、电机或泵等。
图1-1 CAN总线应用系统
本文将介绍基于凌阳8位通用型工控单片机的CAN总线的设计。本文将阐述智能节点中的主控器SPMC65P2404A在本方案中的应用特点,及主控器与CAN总线控制器之间的通信。
评论
加载更多