2014-12-13 浏览量 2922
1CAN总线简介CAN(ControllerAreaNetwork)即控制器局域往,主要用于各种设备检测及控制的一种现场总线。CAN总线最初是由德国Bosch公司为汽车的检测、控制系统而设计的。CAN总线具有独特的设计思想、良好的功能特性和极高的可靠性,现场抗干扰能力强。具体来讲,CAN总线具有如下特点:
*结构简单,只有2根线与外部相连,且内部含有错误探测和管理模块。
*通信方式灵活。可以多主方式工作,网络上任意一个节点均可以在任意时刻主动地向网络上的其它节点发送信息,而不分主从。
*可以点对点、点对多点及全局广播方式发送和接收数据。
*网络上的节点信息可分成不同的优先级,可以满足不同的实时要求。
*CAN总线通信格式采用短帧格式,每帧字节数最多为8个,可满足通常工业领域中控制命令、工作状态及测试数据的一般要求。同时,8个字节也不会占用总线时间过长,从而保证了通信的实时性。
*采用非破坏性总线仲裁技术。当2个节点同时向总线上发送数据时,优先级低的节点主动停止数据发送,而优先级高的节点可不受影响地继续传输数据。这大大地节省了总线仲裁冲突时间,在网络负载很重的情况下也不会出现网络瘫痪。
*直接通信距离最大可达10km(速率5kb/s以下),最高通信速率可达1Mb/s(此时距离最长为40m);节点数可达110个,通信介值可以是双绞线、同轴电缆或光导纤维。
*CAN总线通信接口中集成了CAN协议的物理层和数据链路层功能,可完成对通信数据的成帧处理,包括位填充、数据块编码、循环冗余检验、优先级判别等多项工作。
*CAN总线采用CRC检验并可提供相应的错误处理功能,保证了数据通信的可靠性。
*CAN总线的以上特点,为工业控制系统中高可靠性的数据传送提供了一种新的解决方案。其在国外工业控制领域已经有了广泛的应用,现国内的许多工业控制领域也开始使用基于CAN的现场总线。CAN总线已成为最有发展前途的4种现场总线之一。
2单片机控制系统硬件设计
本设计采用Intel196系列中的87C196NT单片机。87C196NT具有1MB的寻址空间。本身不带CAN控制器,所以要实现与CAN总线之间的通信,需外加CAN控制器和CAN驱动芯片.在本设计中作者采用LTL-CAN。LTL-CAN是一种CAN总线控制、驱动隔离收发器,由CAN控制器芯片PCA82C200、CAN驱动芯片PCA82C250、16MHz的晶振及光隔电路用厚膜封装而成。它只支持标准信息帧格式,其内部逻辑功能图略(详见《单片机与嵌入式系统应用》2002.8)。
单片机与CAN总线的接口电路图略(详见《单片机与嵌入式系统应用》2002.8)。图中LTL-CAN是带光隔的CAN控制器和物理总线间的接口,提供对总线的差动发送和接收功能。电阻R1作为CAN终端的匹配电阻。LTL-CAN芯片的片选信号CSCAN通过GAL16V8译码产生,其地址为08000H-08FFFH。87C196NT的P3口是数据/地址复用口。
3单片机控制系统软件设计
3.1CAN信息包格式说明一个有效的CAN的数据帧由帧起始、仲裁域、控制域、数据域、校验域、应答域和帧结束组成。CAN控制器有2种不同的帧格式:标准格式和扩展格式。它们的主要区别在于仲裁域格式不同:标准帧仲裁域由11位标志符和远程发送请求位RTR组成;扩展帧仲裁域由29位标志符就替代远程请求SRR位、标志位和远程发送请求位RTR组成,图略(详见《单片机与嵌入式系统应用》2002.8)。
标志符作为报文的名称,在仲裁过程期间,首先被送到总线。在接收器的验收判断中和仲裁过程确定访问优先权中都要用到。
远程发送请求位(RTR)用来确定发送远程帧还是数据帧:当RTR为高电平时,CAN控制器发送远程帧;为低电平时,发送数据帧。
数据长度码(DLC)用来确定每帧要发送几字节的数据,最多为8字节。
3.2CAN控制器PCA82C200介绍
PCA82C200芯片是Philips公司生产的CAN控制器,是一种I/O设备基于内存编址的微控制器。该设备的独立操作是通过像RAM一样的片内寄存器修正来实现的。它只支持标准的信息帧格式。
PCA82C200的地址区包括控制段和信息缓冲区控制段。在初始化载入时可被编程来配置通信参数(例如,位时序)。微控制器也是通过这个段来控制CAN总线上通信的。PCA82C200有2种工作模式:复位模式和工作模式。在复位模式下可以对接收代码、接收屏蔽、总线时序寄存器0和1以及输出控制寄存器进行设置。一般在CAN初始化时完成对以上寄存器的设置,当CAN进入工作模式后,它们的值就不再变化。在工作模式下可进行数据的发送和接收。特别要注意的是当硬件复位或控
安昂自营
安昂自营
安昂自营
安昂自营
安昂自营
安昂自营
安昂自营
安昂自营
安昂自营
安昂自营