1 引言
CAN总线是目前流行的总线技术之一,是一种基于微控制器件的网络。它用开放的,具有可互操作的网络将现场各种控制器及仪表设备互连,构成现场总线控制系统,将控制功能彻底下放到现场,降低了安装成本和维护费用。FCS实质是一种开放的、具可互操作性的、彻底分散的分布式控制系统。CAN总线属于工业现场总线的范畴是目前流行的现场总线控制系统之一。与一般的通信总线相比,CAN总线的数据通信具有突出的可靠性、实时性和灵活性,同时具备了现场总线优点。本文提出一种基于CAN智能节点的设备联机控制系统。
2 系统概述
本文设计的是一种基于工业设备控制系统的以CAN总线智能节点。节点分为控制节点、主机节点和从机节点三种,多个不同节点通过总线连接,形成多机联控系统。系统虽然有三种不同功能的节点,每类节点采用相同的CAN节点结构。
图1 CAN总线节点结构示意图
CAN总线节点可以归纳为三种构成方式: 1) CAN控制器的单片机+CAN收发器;2) 带有CAN控制器的单片机+CAN收发器;3)带有CAN控制器的I/O端口+CAN收发器。系统结构更为如图1所示。本文选择第一种方式连接方式,由于器件组合灵活,很容易实现高的性价比。
3 节点的硬件结构设计
3.1 节点控制芯片选择
本研究选用的是美国微芯Microchip Technology公司的PIC芯片(PIC16F873,28脚FLASH)和福州贝能公司的MPLAB开发工具。MPLAB开发系统是一种廉价的开发工具,集编程器与调试器为一体。它利用了PICI6F87X的在线调试能力和MICROCHIP的串行编程技术(In-Circuit Serial Programming)。它工作于MPLAB-IDE集成开发环境软件包下,直接连接到应用系统中去。PICI6F87X是MICIZOCHII)公司的中档产品,继承了MICROCI-III,的传统特点,实用、低价、指令集少、低功耗。
PIC16F873开发装置的不足之处有:系统只能设置一个断点;运行系统程序后单步执行速度慢;由于占用了芯片资源,I/0管脚RB3,RB7,RB6功能不正常,无法调试.另外程序调试时,应注意编程电压不能太低。
3.2 节点CAN通讯的硬件设计
在CAN中应用的元器件主要包括CAN控制器和CAN收发器。本文选用的是独立CAN控制器。PHILIPS公司的SJA1000管脚太多,占用过多的I/O口,MCP2510是目前市场上体积最小的CAIN控制器,通过SPI通讯方式与微处理器连接,连接端口少,所以系统选择MCP2510作为CAN控制器。MCP2510只要跟MCU和驱动芯片(8X250 )就可以构成一个简易局域网的节点。MCP2510可以完全实现CAN2.0A和CAN2.0B协议。图2为MCP2510芯片的内部结构图。