基于RS485和VB的远程温度采集系统
下载后可任意编辑 基于RS485和VB的远程温度采集系统 信息工程学院生医0701 摘要:本系统以RS485总线和VB上位机控制台为核心,构成了一个可远达1200M范围内的远程温度采集网络。系统通过双绞线作为信号传输媒介,引入RS485总线信号传输的一些处理措施,具有良好的信息传输准确性和系统抗干扰性。另外,本系统可以在RS485总线上挂接最多由51单片机和DS18B20构成的32个温度采集节点,并且系统密切与RS485总线的“轮询”思想和VB上位机控制台相结合,因此可以说是构成了真正意义上的远程智能温度采集网络!该系统可以广泛应用在需要对温度进行实时和全天候观察的各种场合,具有较高的实际应用价值! 关键词:RS485总线 轮询 VB上位机 51单片机 DS18B20 正文 RS485总线接口做为多点、差分数据传输的法律规范,现已成为业界应用较为广泛的标准通信接口之一。RS485标准只对接口的电气特性做出了规定,而不涉及接插件、电缆或协议,因此,用户可在此基础上建立自己的高层通信协议。在工业自动控制中,计算机通过串口与单片机系统之间进行通信的应用越来越广泛。一般情况下,控制系统需要一个高级语言开发的相当于控制台的用户界面,用来进行参数设置,发送指令和系统检测,VB在这一领域用着很强的优势。从控制台发出的指令经过计算机串口传送给单片机系统,此时VB携带的通信控件MSComm起到了桥梁作用,给编程者带来了极大的方便。DALLAS公司生产的 DS18B20可组网数字温度传感器具有“一线总线”接口、测温范围 -55℃~+125℃、固有测温分辨率0.5℃、体积小、耐磨耐碰等特点,非常适合与传统的51单片机构成温度采集节点。将RS485总线及“轮询思想”、VB上位机控制台、51单片机和DS18B20构成的温度采集节点有机的结合起来就可以构成一个远程的智能温度采集系统。 1 RS485总线 1.1 RS485总线介绍 电子工业协会 (EIA) 于 1983年制订并发布 RS-485 标准,并经通讯工业协会( TIA)修订后命名为 TIA/EIA-485-A,习惯地称之为 RS-485标准。RS-485标准是为弥补 RS-232 通信距离短、速率低等缺点而产生的。 RS-485标准只规定了平衡发送器和接收器的电特性,而没有规定接插件、传输电缆和应用层通信协议。 1.2 RS485总线独特之处 RS-485标准与 RS-232不一样,数据信号采纳差分传输方式( Differential Driver Mode),也称作平衡传输,它使用一对双绞线,将其中一线定义为 A,另一线定义为 B,如图1-1所示。 图 1-1 通常情况下,发送发送器 A、B之间的正电平在+2~+6V,是一个逻辑状态;负电平在 -2~-6V,是另一个逻辑状态。另有一个信号地 C。在 RS-485器件中,一般还有一个“使能”控制信号。“使能”信号用于控制发送器与传输线的切断与连接,当“使能”端起作用时,发送发送器处于高阻状态,称作“第三态”,它是有别于逻辑“ 1”与“ 0”的第三种状态。 对于接收发送器,也作出与发送发送器相对的规定,收、发端通过平衡双绞线将 A-A与 B-B对应相连。当在接收端 A-B之间有大于+200mV的电平常,输出为正逻辑电平;小于-200mV时,输出为负逻辑电平。在接收发送器的接收平衡线上,电平范围通常在 200mV至 6V之间。参见图 1-2所示。 图1-2 定义逻辑 1(正逻辑电平)为 B>A的状态,逻辑 0(负逻辑电平)为 A>B的状态, A、B之间的压差不小于 200mV。 TIA/EIA-485串行通讯标准的性能如表格 1-2所示: 规格 TIA/EIA-485 传输模式 平衡 电缆长度@90Kbps 4000 ft(1200m) 电缆长度@10Mbps 50 ft(15m) 数据传输速度 10 Mbps 昀大差动输出 ± 6V 昀小差动输出 ± 1.5V 接收器敏感度 ±0.2 V 发送器负载(欧姆) 60Ω 昀大发送器数量 32 单位负载 昀大接收器数量 32 单位负载 RS-485标准的最大传输距离约为 1219米,最大传输速率为 10Mbps。通常,RS-485网络采纳平衡双绞线作为传输媒体。平衡双绞线的长度与传输速率成反比,只有在 20kbps速率以下,才可能使用规定昀长的电缆长度。只有在很短的距离下才能获得昀高速率传输。一般来说,15米长双绞线昀大传输速率仅为 1Mbps。 RS-485网络采纳直线拓朴结构,需要安装 2个终端匹配电阻,其阻值要求等于传输电缆的特性阻抗(一般取值为 120Ω)。在矩距离、或低波特率波数据传输时可不需终端匹配。 1.3 RS485转换器及RS-485网络直线拓扑结构 1.3.1 RS485转换器外形图 1.3.2 RS485转换器内部电路图 1.3.3 RS-485网络直线拓扑结构 1.4 下位机RS485通信接口电路 1.4.1 较为理想的下位机RS485通信接口电路 本电路采纳 MAX485作为 RS485总线的驱动芯片,如图1-3所示,将/RE和DE短接,由MCS-51的P1^0端口经反相器控制半双工通信时接收和发送的状态切换。三极管Q1及电阻R1、R2构成反向电路;R3、R4为总线空闲时的上拉电阻,抗随机干扰作用;R7为阻抗匹配电阻,以减小信号反射;R5、R6及四个快恢复稳压管D1~D4均为保护和抗干扰作用。 图1-3 1.4.2 实验室用下位机RS485通信接口电路 在环境不是十分恶劣的现场中,可以采纳图1-4中的RS485通信接口电路,图1-4实际上就是图1-3的精简版。 图1-4 1.5 RS485总线软件设计 1.5.1 8051串行口的控制寄存器 SCON 是一个特别功能寄存器,用以设定串行口的工作方式、接收/发送控制以及设置状态标志: M0和SM1为工作方式选择位,可选择四种工作方式: SM2,多机通信控制位,主要用于方式2和方式3。当接收机的SM2=1时可以利用收到的RB8来控制是否激活RI(RB8=0时不激活RI,收到的信息丢弃;RB8=1时收到的数据进入SBUF,并激活RI,进而在中断服务中将数据从SBUF读走)。当SM2=0时,不论收到的RB8为0和1,均可以使收到的数据进入SBUF,并激活RI(即此时RB8不具有控制RI激活的功能)。通过控制SM2,可以实现多机通信。 TB8/RB8在方式2或方式3中,是发送数据的第九位,在多机通信中,作为地址帧/数据帧的标志位。 1.5.2 RS485总线的程序实现流程 (1) 所有从机的SM2位置1,处于接收地址帧状态。 (2) 主机发送一地址帧,其中8位是地址,第9位为地址/数据的区分标志,该位置1表