| 工 控 机 | 现场总线 | 组态软件 | 数采监测 | 控制系统 | P  L  C | 变 频 器 | 传 感 器 | 仪器仪表
| 嵌 入 式 | 单 片 机 | 执行机构 | 电力电子 | 低压电器 | 电   源 | 驱动传动 | 接口隔离 | 数控设备
| 网络线缆 | 环保设备 | 智能建筑 | 汽车电子 | 管控一体 | 液压气动| 本质安全 | 工控模块 | 电子元件
| SCADA/RTUH  M  I  |  GPS/GIS | IC产品 | 包装设备 | GPRS/CDMA      搜索|企业登陆
首页 | 厂商 | 产品 | 快讯 | 人物视点 | 应用 | 资源库 | 展会 | 核心期刊 | 供求 | 名师英才 | 人才 | 论坛 | 人才招聘
[标题] 用87C196NT单片机实现CAN总线通信
发表时间:2005-5-12
摘要:
CAN(Controller Area Network)即控制器局域往,主要用于各种设备检测及控制的一种现场总线。CAN总线最初是由德国Bosch公司为汽车的检测、控制系统而设计的。CAN总线具有独特的设计思想、良好的功能特性和极高的可靠性,现场抗干扰能力强。
关键字:87C196NT;单片机;CAN总线

1 CAN总线简介
 
  CAN(Controller Area Network)即控制器局域往,主要用于各种设备检测及控制的一种现场总线。CAN总线最初是由德国Bosch公司为汽车的检测、控制系统而设计的。CAN总线具有独特的设计思想、良好的功能特性和极高的可靠性,现场抗干扰能力强。具体来讲,CAN总线具有如下特点:
CAN总线
*结构简单,只有2根线与外部相连,且内部含有错误探测和管理模块。
*通信方式灵活。可以多主方式工作,网络上任意一个节点均可以在任意时刻主动地向网络上的其它节点发送信息,而不分主从。
*可以点对点、点对多点及全局广播方式发送和接收数据。
*网络上的节点信息可分成不同的优先级,可以满足不同的实时要求。

*CAN总线通信格式采用短帧格式,每帧字节数最多为8个,可满足通常工业领域中控制命令、工作状态及测试数据的一般要求。同时,8个字节也不会占用总线时间过长,从而保证了通信的实时性。
*采用非破坏性总线仲裁技术。当2个节点同时向总线上发送数据时,优先级低的节点主动停止数据发送,而优先级高的节点可不受影响 地继续传输数据。这大大地节省了总线仲裁冲突时间,在网络负载很重的情况下也不会出现网络瘫痪。

*直接通信距离最大可达10km (速率5kb/s以下),最高通信速率可达1Mb/s (此时距离最长为40m);节点数可达110个,通信介值可以是双绞线、同轴电缆或光导纤维。
*CAN总线通信接口中集成了CAN协议的物理层和数据链路层功能,可完成对通信数据的成帧处理,包括位填充、数据块编码、循环冗余检验、优先级判别等多项工作。
*CAN总线采用CRC检验并可提供相应的错误处理功能,保证了数据通信的可靠性。

*CAN总线的以上特点,为工业控制系统中高可靠性的数据传送提供了一种新的解决方案。
 
  其在国外工业控制领域已经有了广泛的应用, 现国内的许多工业控制领域也开始使用基于CAN的现场总线。CAN总线已成为最有发展前途的4种现场总线之一。

  2 单片机控制系统硬件设计

本设计采用Intel 196系列中的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.1 CAN信息包格式说明

  一个有效的CAN的数据帧由帧起始、仲裁域、控制域、数据域、校验域、应答域和帧结束组成。CAN控制器有2种不同的帧格式:标准格式和扩展格式。它们的主要区别在于仲裁域格式不同:标准帧仲裁域由11位标志符和远程发送请求位RTR组成;扩展帧仲裁域由29位标志符就替代远程请求 SRR位、标志位和远程发送请求位RTR组成,图略(详见《单片机与嵌入式系统应用》2002.8)。

  标志符作为报文的名称,在仲裁过程期间,首先被送到总线。在接收器的验收判断中和仲裁过程确定访问优先权中都要用到。

  远程发送请求位(RTR)用来确定发送远程帧还是数据帧:当RTR为高电平时,CAN控制器发送远程帧;为低电平时,发送数据帧。

  数据长度码(DLC)用来确定每帧要发送几字节的数据,最多为8字节。
3.2 CAN控制器PCA82C200介绍

PCA82C200芯片是Philips公司生产的CAN控制器,是一种I/O设备基于内存编址的微控制器。该设备的独立操作是通过像RAM一样的片内寄存器修正来实现的。它只支持标准的信息帧格式。

  PCA82C200的地址区包括控制段和信息缓冲区控制段。在初始化载入时可被编程来配置通信参数(例如,位时序)。微控制器也是通过这个段来控制CAN总线上通信的。

  PCA82C200有2种工作模式:复位模式和工作模式。在复位模式下可以对接收代码、接收屏蔽、总线时序寄存器0和1以及输出控制寄存器 进行设置。一般在CAN初始化时完成对以上寄存器的设置,当CAN进入工作模式后,它们的值就不再变化。在工作模式下可进行数据的发送和接收。特别要注意的是当硬件复位或控制器掉线时会自动进入复位模式,这样就不能进行正常的CAN通信,这就要求对复位位进行监控。当发生硬件复位或控制器掉线而进入复位模式时,就要求把复位位置为0进入工作模式,这样CAN就能正常地发送和接收了。

  3.3 网络通信规则

CAN总线为多主工
  相关案例
CAN总线在汽车中应用
控制器局域网(CAN)技术在工程机械中的应用
PIC16C5X单片机睡眠状态的键唤醒方法
PIC单片机软件模拟器PICSIM及其使用
SOC与单片机应用技术的发展

关于我们 | 友情链接 | 意见反馈 | 合作媒体 | 网站地图
京ICP证040996号  中国自控网 版权所有  站内内容未经中国自控网许可不得转载
电 话:010-62192616/62132436  传 真:010-62192616  地址:北京海淀区皂君庙14号鑫雅苑6号楼601室  邮编:100081
E-mail:manager@autocontrol.com.cn
广告联系 >> [ 刘先生:010-62130875 ]