×
接口总线驱动 > 总线 > 详情

基于CAN总线的数字式传感器群管理系统

发布时间:2020-05-25 发布时间:
|
  随着自动化技术的不断发展与控制精度的不断提高,需要测量的参量也越来越多,例如:一个钢铁厂需要20 000台传感器及其仪表,一个电站需要5 000台传感器及其仪表,一部汽车需要30~100台传感器。传感器作为获取信息的工具,它位于信息系统的最前端,其特性的好坏、输出信息的可靠性与准确性对整个系统质量至关重要。
  传统的测量手段和传感器存在很大的缺陷,就温度检测为例,早期的温度测量采用的是热电偶电桥法,虽然这种方法测量精度较高,但是测试过程复杂。即使采用集成的半导体模拟温度传感器,但在测点相隔相对较远、测点较多的场合,需要大量的传输电缆,不但传输干扰大,且成本高和不易维护。这些都是采用模拟传感器构成检测系统常遇到的困难。

1 新型的数字化传感器  
  近年来出现的新型数字式传感器组成的检测系 统解决了上述的困难。
  用数字信号取代原来的4~20mA标准模拟信号,进而提高可靠性和抗干扰能力。这就要求传感器由可输出4~20mA标准信号的变送器改变为带数字总线接口并输出数字信号。所有现场传感器通过数字总线接口都方便地挂接在一条环形现场总线上,这样可以大大削减控制室之间一对一的连接导线,节约初期安装费用,大大简化整个系统的布线和设计,这种节约对一个大型、多点测量系统是很有意义的。
  所谓数字传感器就是一种带有微处理器兼有检测和信息处理功能的传感器,传感器系统的功能由以往的信息检测扩展到兼有信息处理功能,它采用了半导体集成电路和微控制器的最新技术,在一个传感器上集成了参量测量芯片、数据信号转换芯片、计算机接口芯片、存储芯片等多个功能模块,除了完成参量检测功能外,还具有自校零、自标定、自校正和自动补偿功能。某些高级的数字传感器甚至还具有自动检验、自选量程、自寻故障、数据存储、记忆功能;具有双向通讯、标准化数字输出或者符号输出功能;具有判断、决策处理功能。
  数字式传感器常采用串行数据总线技术与外界通讯,串行总线除了减少接口引脚的数目外,还可以将多个传感器并联或串联在总线上,方便的实现分布式测量。目前在数字温度传感器中采用的串行总线主要有Philips公司的I2C总线、Motorola公司的SPI总线、National Semiconductor公司的Microwire plus总线和Dallas Semiconductor公司的1 Wire总线等。

2 CAN总线功能与特征  
  CAN属于总线式串行通信网络,与一般的通信总线相比,CAN总线的数据通信具有较高的可靠性和较强的实时性。其特点如下:
  (1)CAN为多主方式工作,而不分主从,通信方式灵活,且无需站地址等节点信息。
  (2)CAN采用非破坏性总线仲裁技术,从而大大节省了总线冲突仲裁时间,尤其是在网络负载很重的情况下也不会出现网络瘫痪的情况。
  (3)CAN的直接通信距离最远可达10 km;节点数目前可达110个,通信速率最高可达1 Mbps,数据帧带CRC校验,出错率极低。
  (4)CAN节点在错误严重的情况下具有自动关闭输出功能,以使总线上其他节点的操作不受影响。

3 系统总体方案设计
  整个系统分两级管理(见图1),上位机采用了一般的PC机,配置为赛扬667/128 M/30 G/17英寸纯平彩显,PC机通过CAN接口适配卡与CAN总线相连,与下位机进行信息交换,负责对整个系统进行监控及给下位机发送各种操作控制命令和设定参数。下位机通过扩展CAN接口芯片挂接在CAN总线上,接收上位机的设置和命令。下位机的数量取决于控制现场的规模,最多能挂接110个CAN节点。一个下位机管理若干个数字式传感器,传感器的个数依实际需要决定。

  下位机与传感器通过串行数据总线连接,不同公司的产品支持不同的串行总线,这里采用了Philips公司的I2C总线,下位机的作用主要是控制传感器进行数据采集,并与主机进行数据通讯,下位机内置的单片机接收主机的指令,完成对传感器的 寻址、序号设定、数据传输以及CRC校验等工作,并提供传感器自身的故障检测和处理。

4 硬件结构  
  PC机与CAN总线的接口由CAN通信接口卡PCCAN完成,PCCAN为北京三兴公司开发的智能适配卡,该卡上有高性能的嵌入式微处理器80C188,有2 KB的高速双口RAM直接映射到主机内存空间。操作时,用户通过软件设置将卡上的双口RAM映射成PC机的物理内存,这样用户收发数据就相当于直接向内存读写数据,从而极大的提高了通信卡和PC总线的数据交换速率。连接时,只要将PC-CAN插入PC的ISA总线扩展槽,再将卡上的DB—9插座按CAN标准与双绞线相连即可。
  CAN硬件接口电路由单片机、CAN协议控制器、CAN总线收发器组成(见图2),CAN控制器主要由实现CAN总线协议部分和与微控制器接口部分电路组成。对于不同型号的CAN总线通信控制器,实现CAN协议部分电路的结构基本相同,而与微控制器接口部分的结构及其方式存在一些差异,这里采用Philips的82C200为CAN协议控制器,它具有完成高性能通信协议所要求的全部必要特性,通过简单连接可以完成CAN协议的物理层和数据链路层的所有功能,应用层功能可以由微控制器完成。 [page]

  CAN控制器与物理总线之间的接口由CAN总线收发器82C250完成,它最初是为汽车高速通信的应用而设计的,该器件提供对总线的差动发送和接收的功能,它可以增强总线的驱动能力,同时起到保护总线的作用。
  由于作为下位机的节点比较多,单片机的选择主要从成本考虑,如果选择带CAN和I2C总线(数字式传感器需要用I2C总线驱动)接口功能的高级单片机,则系统成本太高,故选择AT89C51单片机,它片内含有4 K字节闪电存储器,数据可保存10年,且编程速度快(全4 K字节编程只要3 s),还可以实现在线编程,也可以借助电话线进行远距离编程。虽然AT89C51没有I2C总线接口功能,但在系统中,AT89C51和数字式传感器是属于单主机结构,在单主机结构中I2C总线数据传送状态非常简单,没有总线竞争与同步,只有单片机对I2C总线器件的读写操作,这就使通过I/O口用软件来模拟I2C总线成为了可能。

5 系统软件设计  
  上位机软件采用基于Windows2000平台的VC6.0编写,具有系统参数设置、监控状态设置、数据发送和接收、本机状态查询、节点状态查询、中断接收数据管理等功能。上位机首先对CAN总线适配卡及其自身初始化,然后发送命令通知特定的节点向CAN总线上发送数据,通过CAN总线适配卡转换后,再由上位机处理。上位机采用定时轮循方式向各个节点发命令,采用中断方式接收数据。
  下位机部分采用汇编语言,主程序流程如图3所示。程序首先初始化AT89C51和CAN控制器,然 后通过用I/O口软件模拟I2C总线,初始化各个传感器,设置它们的地址代码(器件标识)、报警上下限、传感器状态等参数,接着程序进入等待上位机命令,同时也在监听I2C总线,以中断的方式响应I2C总线上的请求,对特定传感器进行读写、启动转换、设置报警阈值等操作,接收各个传感器发送的数据并进行处理,解决总线冲突,进行总线仲裁。

  

  在下位机软件设计中,用普通I/O线模拟I2C总线数据传送时,必须遵守I2C总线的时序,否则将造成混乱导致系统工作不正常。

6 结束语  
  系统采用分层管理的方法实现了对多数字式传感器的集中管理,在控制现场底层,由于采用了数字化传感器并且挂接在I2C总线上,传感器数目变化后,系统软件只要稍加改动就能适应,所以添加和更换传感器非常方便。同时在上层管理中,系统使用CAN总线技术,它以其独特的设计思想、优良的性能和极高的可靠性提高了系统内部的通信速率、实时性,降低了误码传送率。上位机使用PC,以图形的方式方便直观的对各个节点进行监控,保证了系统的可靠运行。该系统已经在汽车行驶发电恒速驱动检测系统中投入运行,实际应用证明该系统具有控制效果好、可靠性高、控制灵活等优点。

参考文献

[1]张友德.飞利浦80C51系列单片机原理与应用技术手册[M].北京:北京航空航天大学出版社,1991.
[2]刘 辉,姚胜兴,宋树祥.CAN总线在智能建筑温湿度自控系统中的应用[J].现代电子技术,2001(11).
[3]阳宪惠.现场总线技术及其应用[M].北京:清华大学出版社,1999.
[4]林继建,吴明光.PC机和单片机串行通信程序设计[J].计算机应用研究,2001(5).
[5]王广志,吴 颖,黄志光.数字式温度传感器与分布式温度测量系统[J].传感技术学报,2001(3).
[6]王朝阳,管保安,刘涤尘,等.基于CAN总线的变电站综合操作系统[J].现代电子技术,2001(12).  

『本文转载自网络,版权归原作者所有,如有侵权请联系删除』

热门文章 更多
嵌入式系统USB接口的虚拟示波器设计