基于CAN总线技术的温度检测系统研究

2015-04-20 20:18丁爱华
科技创新与应用 2015年11期
关键词:现场总线CAN总线

摘 要:本设计采用基于CAN总线技术的检测系统方案,通过STC89C52单片机为核心的单片机系统完成温度数据的采集,实现智能节点的设计。同时根据系统数据采集、检测、传输、控制等具体要求,采用CAN总线技术,实现数据的实时可靠的传输。最后由计算机进行数据集中分析处理,实现温度的查询与实时显示。

关键词:CAN总线;温度检测;现场总线

1 概述

温度检测,是很多测量过程中必不可少的一个环节,不仅仅要考虑温度测量的准确性与可靠性,还应该进行多点温度测量。现场总线技术是随着计算机网络技术飞速发展而形成的先进技术,其中,控制器局部网CAN(Controller Area Network)属于现场总线的一种,是有效支持分布式控制或实时控制的串行通信网络。应用范围遍及从高速网络到低成本的多线路网络,具有优先权和仲裁能力,可以将多个控制模块通过CAN控制器接到CAN总线上,形成多主机局部网络,比普通的通信技术,具有更高的可靠性和实时性。

2 系统整体设计

本系统是一个网络型的温度检测系统,主要是由智能温度采集节点、CAN总线、上位管理机三部分所构成。智能温度采集节点负责多点温度的采集,依靠CAN总线完成节点和上位管理机的通信。上位管理机实现对智能节点的控制和监控结果的实时显示。其网络框架如图1所示。

图1 网络构架

3 CAN智能节点模块硬件设计

本设计的智能节点模块硬件总体框图如图2所示

图2 智能节点模块硬件总体框图

智能温度采集节点采用结构化的方法进行硬件设计,按功能划分成几个子模块。其中,系统电源模块,负责提供+5V电源电压;温度采集模块,主要负责多点温度信息的采集;显示模块和报警模块,负责节点温度的显示和报警功能;CAN总线通信模块,主要负责节点和总线中其他节点之间的双向通信。节点采集到的实时温度通过CAN总线向上位管理机进行传输。

(1)单片机。系统中,每个智能节点以STC89C52作为节点控制器,实现对相应节点的温度监视,STC89C52指令代码和传统的8051单片机完全兼容,最高支持80MHz时钟频率,有1个看门狗定时器(WDT)及4个中断优先级。本设计采用了12M的时钟频率,用WDT保证系统稳定运行。(2)温度采集模块。DS18B20数字式温度传感器是DALLAS公司生产的单总线器件。工作原理是电桥一个桥臂使用对温度敏感的传感器制作而成,温度变化,电阻阻值随之改变,使得电桥失去平衡,从而有电压输出,达到温度测量的效果。利用它组成的温度测量系统连接线路简单,在一根通信线,可以挂多个数字温度计,应用十分方便。(3)溫度显示和报警模块。单片机的P1口全部引脚和P2口部分引脚连接液晶LCD1602,采用液晶屏显示测量的温度值。另外,报警模块在智能节点上由蜂鸣器充当,在上位管理机中也设置报警窗口。(4)CAN通信模块设计。CAN总线模块主要完成CAN总线网络与PC机之间的通信功能,由CAN总线控制器、CAN总线收发器及通信介质组成。本系统在CAN总线通信接口中采用了PHILIPS公司的SJA1000和PCA82C250芯片,SJA1000是一种独立CAN通信控制器。82C250为高性能CAN总线收发器,是CAN控制器和物理总线间的接口,提高对总线的驱动发送能力、对CAN控制器的差动发送能力和对CAN控制器的差动接收能力。总线上的某节点掉电不会影响总线,在40m内实现高速应用可达1 Mbps,最多可挂110个节点。(5)系统电源模块设计。智能节点电源电路提供+5V电源电压。下位机节点和温度测量电路由两相电源线直接连到电源,经过一个变压器和全桥整流后,就变成了直流电流。电容器C1和C2过滤后,波形会变得更加顺畅。然后经过三端稳压芯片7805,输出+5 V电压。本设计还采用了发光二极管,作为电源信号指示灯。

4 系统软件设计

(1)采集模块的软件设计。首先,将DS18B20复位,使得控制器为至少480us的低电平信号。DS18B20接收该信号后,将被重置为15us-60us的后发出表示存在的脉冲。当复位结束后,控制器会把一个单一的数据总线上拉,以接收存在脉冲,有一个为60us-240us脉冲的低电平信号。在这个时候,各方之间的沟通已达成基本协议,然后是DS18B20和控制器之间的数据通信。如果DS18B20温度转换命令被接收后,开始启动转换。转换完成后的温度值被存储在高速缓冲存储器的第1和第2个字节的一个16位带符号扩展的二进制补码格式。微控制器通过单总线接口来读取数据,读数据的时候低位要在前,高位在后,数据格式以0.0625℃/LSB形式表示。(2)CAN通信软件设计。a. SJAl000数据发送程序设计。因为报文的发送是由CAN控制器通过CAN协议规范而自动完成的。所以首先把CPU将要发送的报文传送给发送缓冲器中,并且置位命令寄存器中的发送请求标志位。然后检测发送是否完成。b. SJAl000接收数据程序设计。CPU以一定的周期读取CAN控制器的状态寄存器,进而检查接收缓冲区的状态标志,指示是否接收到报文。如果接收缓冲区的状态标志为“空”时,表示没有接收到报文;如果接收缓冲区状态标志为满的时候,就说明已经接收一个或多个报文。此时CPU将从CAN控制器读取出第一个报文,并且置位命令寄存器释放接收缓冲区的标志。(3) 上位管理机界面的设计。上位管理机由Visual Basic可视化的程序设计语言开发监视软件界面。为了实现通信的程序,应在VB开发环境下编译一个控制通讯的窗体。采用通讯控件MSComm和两个控制定时器控件。

5 结束语

本设计是基于CAN总线技术的温度检测系统的设计,不仅能准确显示各测温点的位置、温度信息,还能够控制各点的温度采集。通过分析数据,得到现场的实时温度采集数据,实现生产管理的网络化。

参考文献

[1]牛晓弟.基于PC机的总线式温度检测系统研究[D].石家庄:河北科技大学,2010.

[2]冯震,等.LonWorks现场总线技术及应用[J].信息技术,2002(12).

[3]张月明,等.一种流行的现场总线——CAN总线[J].现代电子技术,2003(24).

作者简介:丁爱华(1978,11-),女,江苏海安人,副教授,硕士,研究方向为:无线传输及传感器技术理论与应用。

猜你喜欢
现场总线CAN总线
论网络通信技术
基于嵌入式的汽车辅助制动系统研究
CAN总线通信技术在电梯监控系统中的应用
基于CANoe的J1939协议在ECU通信中的应用
基于CAN总线的变电站通讯网络设计
基于现场总线的聚酯网热定形机控制系统
现场总线与控制系统工程实训在教学中的应用
基于现场总线的城市配电房综合管理系统