梁建平
摘要:分析了CAN现场总线特点,提出了智能测控仪表系统的CAN总线通信方案,阐述了智能仪表中通用CAN通信接口的硬件设计与软件实现框图。
关键词:智能测控仪表;CAN总线;单片机
中图分类号:TB22文献标识码:A文章编号:1672-3198(2009)06-0299-02
智能仪表是自动化学科的重要组成部分,随着科学技术的迅速发展及工业控制自动化程度的提高,尤其是微电子、计算机和通信技术日新月异的变化,对现场检测控制仪表的智能化程度的要求也越来越高,同时,工业生产规模也在不断扩大,对生产过程的集中监控要求也日趋迫切,这就要求仪表具备较强的远距离通讯的功能,智能仪表逐渐向数字化、网络化和智能化方向发展。智能仪表一方面可以进行人机对话及与外部仪器设备对话,通过现场总线接入自动测试系统;另一方面,使用者借助面板上的键盘和显示屏,可用对话方式选择测量功能,设置参数。现场总线的产生反映了仪器仪表自身发展的需要。而在计算机数据传输领域内,长期以来使用RS—232通信标准,尽管被广泛的使用,但却是一种低数据速率和点对点的数据传输标准,无能力支持更高层次的计算机之间的功能操作。同时,在复杂或大规模应用中,需要使用大量的传感器、执行器和控制器等,它们通常分布在非常广的范围内,所以在底层,的确需要一种造价低廉而又能适应工收现场环境的通信系统,现场总线就是在这种背景下应运而生的。现场总线是当今自动化领域技术发展的热点之一,被誉为自动化领域的计算机局域网,是应用在生产现场、在微机化测量控制设备之间实现双向串行多节点数字通信的系统,也被称为开放式、数字化、多点通信的低层控制网络,是连接智能现场设备和自动化系统的数字式、双向传输、多分支结构的通信网络。由于它适应了工业控制系统向分散化、网络化、智能化发展的方向,在减少系统线缆,简化系统安装、维护和管理,降低系统的投资和运行成本,增强系统性能等方面的优越性,它一经产生便成为全球工业自动化技术的热点,受到全世界的普遍关注。
自20世纪80年代末以来,有几种类型的现场总线技术己经发展成热并且广泛应用于特定的领域。这些现场总线技术各具特点,有的已经逐渐形成自己的产品系列,占有相当大的市场份额。几种比较典型的现场总线有CAN总线、LonWorks总线、PROFIBUS总线等。CAN(ControlAreaNetwork)总线是山德国BOSCII公司为实现汽车内部测量与执行部件之间的数据通信而设计的现场总线。与一般的通信总线相比,CAN总线的数据通信具有突出的可靠性、实时性和灵活性,使其应用范围不再局限于几汽车工业,而向机械工业、过程工业等领域发展,更适合现场级工业监控设备的互联。CAN总线规范已经成为国际标准,被公认为几种最有发展前途的现场总线之一。具体来说,CAN具有以下特点:结构简单,只有两根线与外部相连;通信方式灵活,以多主方式下作而不分主从,可以点对点、点对多点及全局广播方式发送和接收数据;废除了传统的站地址编码,而代之以对通信数据块进行编码;采用短帧格式,每帧数据长度最多为8个字节,可满足工业控制领域的一般要求。同时8个字节不会占用总线时间过长,从而保证了通信的实时性;采用非破坏性总线仲裁技术;采用CRC检验并提供相应的错误处理功能,保证了数据通信的可靠性;CAN节点具有自动关闭功能,在节点错误严重的情况时自动切断与总线的联系,这样可不影响总线正常工作。
1智能测控仪表的系统结构
一个典型的基于CAN总线的智能测控仪表的系统结构,系统主要由两部分组成:上位机和智能测控仪表,测控仪表的主要任务是接收来自上位机的命令完成工业现场的各种模拟量的采集和实现对各种生产设备的控制,而上位机则负责对整个智能测控系统进行监控和管理,其任务包括CAN节点状态消息的显示及报警、向CAN节点发送命令及控制参数、接收CAN节点数抓、曲线显示、存储打印等。这些功能可利用现代微机丰富的资源和强大的功能实现,除此之外,通过对采集数据的后台处理,还可实现诸如数字滤波PFT变换等智能化功能,CAN通信采用两线接口,要进行通信的各节点的控制器通过CAN驱动器连接到CAN总线上,各节点在CAN通信中没有物理地址,而是采用软件ID辨识的方式对在总线上广播的信息进行过滤,以及当多个节点需要同时信息传送时决定信息传送的优先级。
芯片与CAN总线的通信通过CAN总线收发器进行,CAN总线收发器是CAN控制器和物理总线间的接口,提供对总线的差动放人和接收功能。要实现PC机与CAN总线的通信,必须借助于PC机的CAN通信卡,这种卡市场上有很多,可根据需要进行选择,亦可自行设计。
2智能测控仪表的接口设计
CAN总线是一种串行数据通信协议,在CAN总线通信接口中集成了CAN协议的物理层和数据链路层功能,可以完成对通信数据的成帧处理。
SJA1000是Philips公司PCA82C200型CAN控制器的后续产品,在软件和引脚上均与PCA82C200兼容,井增加了许多新的功能,性能更佳,尤其适用于对系统优化、诊断和维护要求比较高的场合。SJA1000的功能由以下几部分构成:接口管理逻辑;发送缓冲器,能够存储1个完整的报文事(扩展的或标准的);验收滤波器;接收F1F0;CAN核心模块。
SJA1000的一端与单片机相连,另一端与CAN总线相连。但是,为了提高单片机对CAN总线的驱动能力,可以把82C250作为CAN控制器和物理总线间的接口,以提供对总线的差动发送能力和对CAN控制器的差动接收能力。
若用SJA1000作为流量计的CAN控制器,与CPU(单片机)相连,再通过PCA82C250组成CAN总线。这种结构很容易实现CAN网络节点中的信息收发,从而实现对现场的控制。
CAN通信协议主要由CAN控制器完成,SJA1000是适用于汽车和一般工收环境控制器局域网(CAN)的高集成度控制器,具有完成高性能通信协议所要求的全部特性,具有简单总线连接的SJA1000可完成物理层和数据链路层的所有功能,应用层功能可由微控制器完成,SJA1000为其提供多用途的接口。
SJA1000操作期间,在上电之前必须配置控制线路(中断、复位、片选等)建立与CAN控制器之间通信的硬件连接。初始化、CAN通信采用中断方式数据发送和接收子程序。
如果在上电后独立CAN控制器在引脚17得到1个复位脉冲(低电平),它就能够进入复位模式。在对SJA1000寄存器设置前,CAN控制器通过读复位模式请求标志来检查是否己进入复位模式,因为要配置信息的寄存器只有在复位模式才能写入,并涉及到对控制寄存器CR、验收码寄存器(ACR)验收屏蔽寄存器(AMR)、总线定时寄存器(BTRO和BTR1)输出控制寄存器(OCR)的初始化编程。时钟分频寄存器可以选择BasicCAN或PeliCAN工作模式,设置CLKOUT引脚使能用来选择频率,设置是否使用旁路CAN输入比较器和是否使用TX1输出用为专门的接收中断输出。验收代码和验收屏蔽寄存器的设置可以过滤信息,为收到的信息定义验收代码;为与验收代码相关位比较定义验收屏蔽代码。
总线定时寄存器定义总线上的位速率。输出控制寄存器定义CAN总线输出引脚TX0和TX1的输出模式,定义TX0和TX1输出引脚配置是悬空、下拉、上拉或推挽以及极性。中断寄存器设置允许识别的中断源。
3结语
多个智能仪表通过CAN接口与PC连成总线网,其系统运行良好。这种基于现场总线的智能仪表系统抗干扰性强、性能可靠,无论是测量速度、精确度和自动化程序还是性价比都是传统仪表不能比拟的,是今后仪器仪表发展的方向。
参考文献
[1]柯艳明.智能测控仪表系统的CAN总线通信方案[J].山西电子技术,2007,(2):29-31.
[2]王文华.智能仪表的CAN接口设计[J].国外电子元器件,2006,(3):9-11.
[3]刘小强,粟梅.基于CAN总线的数据采集处理系统的设计[J].仪表技术与传感器,2006,(9).