摘 要:CAN总线作为一种优秀的现场总线已成为构建现代监测网络的重要通信平台之一,而作为各设备之间通信桥梁的接口卡,显得更为重要。本文介绍一种基于CAN总线的智能接口卡的设计方法,给出了一个利用PHILIPS公司的CAN器件实现的接口卡原理框图,并阐述了接口卡程序的编制方法。
关键词:现场监测网络 现场总线 CAN总线 可编程逻辑器件
1 引言
随着工业测控技术的发展,各种现场总线(FF、Lonwork、Profibus、CAN等)技术的研究也成为热门课题。CAN(Controller Area Network)即控制器局域网络,最初是由德国Bosch公司为解决现代汽车中众多的控制与测试仪器之间的数据交换而开发的一种串行数据通信总线,是现场总线技术中最成熟、最有发展前途的微处理器局部网络,较之FF、Lonwork、Profibus等现场总线,CAN在国内外工业测控领域的应用更加广泛。CAN总线接口器件的性价比高,应用系统的开发难度小。CAN测控网络的原理结构如图1所示。在系统实现时,由于接口卡的重要作用,因此,设计CAN总线的接口卡并编制相应的接口驱动程序是非常必要的。本文根据笔者的体会浅谈一下基于CAN总线的智能接口卡的设计思想。
图1 CAN总线监测网络原理结构图
2 CAN总线接口电路设计
2.1 CAN总线的体系结构
CAN协议是一种串行数据通信协议。它可以非常有效地构成分布式实时监测、控制系统。CAN总线规范规定任意两个CAN节点之间的兼容性,包括电气特性及数据解释协议,它采用ISO-OPSI中的三层网络结构――物理层、数据链路层和应用层。其中应用层可能包含了除物理层、数据链路层外其余四层的某些功能,它具有简化的网络结构。CAN总线的体系结构如图2所示。
图2 CAN总线的体系结构如图
2.2 CAN总线的接口器件
CAN总线芯片有系列化的产品,大体可分为:
⑴独立的CAN控制器件
82C200:PHILIPS公司生产,通过并行总线与各种CPU接口;
82527:INTEL公司生产,通过并行总线与各种CPU接口,也可通过串行总线与无并行总线的各种CPU接口。
⑵CAN物理总线接口器件
82C250:PHILIPS公司生产,可提供对总线的差动发送和差动接收功能。
⑶含CAN总线模块的CPU器件
8xC592: PHILIPS公司生产,带CAN控制器;
M68HC05:MOTOROLA公司生产,带CAN控制器。下面我们主要介绍80C592、 82C250。
2.2.1 CAN总线收发器82C250
PCA82C250提供对物理总线的符合CAN电气协议的差动发送和接收功能,另外,它具有的电流限制电路,还提供了对总线的进一步的保护功能。通过82C250与物理总线进行连接,可使总线支持多达110个节点的挂接。图3给出了PCA82C250的功能方框图。
图3 82C250的功能方框图
2.2.2 CAN总线控制器80C592
80C592是PHILIPS公司在单片机80C51中集成了CAN总线控制器的微处理器芯片。
该片功能强,使用方便。80C592内部CAN控制器结构如图4所示。
图4 80C592内CAN控制器结构图
2.3 PC-CAN总线接口卡的设计
PC-CAN总线接口卡是基于CAN总线的ISA总线扩展卡,其上有CAN接口和ISA扩展口,主要功能有:
⑴将PC机的数据和控制参数传送给指定的CAN网络节点;
⑵将CAN网络节点的数据传送给PC机;
⑶完成对CAN总线上的节点的部分监控和管理。图5给出了 PC-CAN总线接口卡硬件结构图。
图5 PC-CAN总线接口卡硬件结构图
2.4 PC-CAN总线接口卡的软件设计
软件采用模块化设计,以简化CPU的操作,提高程序的执行效率。其主要完成以下功能:
系统初始化、CAN数据传输、CAN中断、缓冲区管理、状态检测、共享存储器读写、应急数据处理等。PC-CAN总线接口卡初始化流程如图6所示。
图6 PC-CAN总线接口卡初始化流程图
3 结束语
国内外的大量资料表明(特别是CAN网络的优秀的可靠性和实时性),CAN总线已成为现场总线领域很有发展前途的一种通信技术,基于CAN总线的现场监测网络已在多种工控领域取得了广泛而成功的应用。对于CAN总线监测网络的构建,本文仅介绍了一种具有实际应用参考价值的接口卡的设计方法,在系统实现时,还需考虑各模块间的接地、屏蔽等诸多问题。