由于试验数据在导线传输过程中容易受到电磁干扰和产生衰减,特别是处于运动状态的设备或被隔离区域内设备的数据测量,敷设信号传输线将十分不便,而且安装与维护比较麻烦。针对这种情况,我们设计了一种新型的无线数据传输网络接口方案,可以克服传统有线数据传输存在的弊端。
远程监控系统广泛应用于工业远程监控、智能楼宇、安防监控和网络家电等方面,通过远程监控,技术人员无须亲临现场就可以方便控制和掌握仪器、设备的运行状态及各种参数,方便地利用本地丰富的软硬件资源对远程对象进行过程控制。
方案选择
1 远程监控系统信号传输的基本要求
大型的试验站多为自动测试系统,其试验参数由各种变送器、变换器及测量仪器等测量所得。有些数据需要现场监控,但大多数测量数据需要传输到试验间,由试验人员监控并处理、分析波形、绘制特性曲线并生成报表。总体来说,信号传输有如下几种要求。
● 传输数据通道及精度满足试验标准要求。
● 传输响应速度快。
● 运行稳定可靠性高。
● 可实现网络信息化管理。
2 现状分析及方案确定
基于以上要求,国内外目前可采用的无线传输方式有以下几种方案。
● 数传电台远程监控方案:它可采用编码方式完成软扩频或是硬件扩频以满足数据传输的要求,但系统造价比较昂贵;数据传输可靠性低;维护困难。
● 基于CDPD网络的远程监控方案:在简易再开发应用中,产品硬件部份造价太高;覆盖范围太小,无法应用于试验站可能存在的偏僻地带。
● 基于GSM-SMS模块无线数据监测系统方案:具备网络覆盖面广、用户综合投资小、运营费用少,数据传输安全可靠等诸多优点,对于解决监控采集点分散、覆盖面广、监控点移动、实时性要求较低的监控采集系统具有无可比拟的优势,但受到公网业务开通状况及信号覆盖范围的影响较大,受系统及网络运行情况影响,不可控因素较大。
我们提出一种基于无线数据传输和以太网络相结合的监控系统单片机网络接口,把监控系统中的智能控制单元扩展到网络上,嵌入TCP/IP协议的单片机数据通信系统,使试验人员可以通过网络主机或因特网了解并控制远程设备。在TCP/IP协议和STC89C5x系列单片机及C51开发环境的基础上进行系统、程序构架的设计,利用TCP/IP协议中的TCP、IP及简单的应用层协议实现单片机之间以及单片机和上位机之间的网络互连。这样既提高了数据传输的速度,又保证了传输的正确性,同时还扩展了数据传输的有效作用半径。
网络接口的构成
无线传输系统网络接口的控制器采用8位单片机+精简TCP/IP协议栈方案。总体方案结构如图1所示。
图1 无线传输系统网络接口的总体方案
仪器仪表或控制设备经过RS232/RS485接口连接无线传输模块,发射与接收数据。无线传输的另一端经过TTL连接单片机,单片机再通过8位数据总线连接RTL8019AS,网络控制器用RJ45接口与以太网连接。通过无线传输和以太网,仪器仪表或控制设备和远程监控主机或Internet建立了网络连接,利用远程主机上的监控软件可以读取仪器仪表的数据,了解控制设备的工作状态,根据采集到的数据进行分析并对现场设备进行控制。
系统组成
在工业测控系统中,多种仪器仪表测量的现场数据通过无线传输装置无线发送,在监控主机(PC)端通过无线传输装置无线接收数据,并对数据进行记录、分析、存储,实现信息化管理。
处于仪器仪表端的无线传输装置接收的是PC发送过来的命令数据帧,无线发送的是从仪器仪表上读取到的电量和非电量数据。处于监控主机端的无线传输装置接收的是仪器仪表端发送过来的数据或参数,而发送的是读取数据、参数或写参数命令。
1 硬件接口电路设计
网络接口的设计采用STC89C52RC来控制以太网芯片RTL8019AS进行数据的传输。
① RTL8019AS的工作方式
RTL8019AS采用哪种工作方式由第65脚JP决定,JP是输入引脚,当它为低电平时(其他引脚也是这样,悬空的输入引脚的电平为低电平,里面有一个100kΩ的下拉电阻),RTL8019AS工作在第二种和第三种方式下,需要使用93C46芯片;当JP接高电平(接到Vcc或通过一个10kΩ的电阻上拉),RTL8019AS工作在第一种方式下,不需要使用93C46。通常使用的计算机一般采用即插即用方式和免跳线方式,但本设计的外设不经常插拔,所以不支持即插即用的功能,也未使用93C46存储以太网控制器参数(由微处理器初始化时设定),而是采用易于控制的跳线方式。这时芯片的地址由85,84,82,81(IOS3...IOS0)几个引脚决定,如表1所示。
表1 I/O基址的选择
在本系统中将IS03...IS00设置为0000,对应的I/O Base为300H。
② RTL8019AS的网络接口方式
RTL8019AS的网络接口类型由PL0,PL1引脚决定,如表2所示。
表2 网络媒介选择
在本设计中采用PL1=0,PL0=0,即第一种自动检测方式,RTL8019AS会自动检测媒介是同轴电缆还是双绞线。
RTL8019AS与以太网的接口采用无屏蔽双绞线RJ45接口,中间需要接一个网络隔离变压器,也称为发送/接收滤波器,用来把信号变成平衡信号传输,防止电涌,以减少共模干扰,提高传输效率。
本设计中使用的隔离变压器是GROUP TEK的20F001N。在具体的连接中信号地线要通过一个10nF的电容接到电源地上,在20F001N的输出口上必须加上一个200Ω的电阻来抑止输入8019AS的电压大小,这也是一种保护措施。 以太网控制器的外围布线还包括RJ45接口以及LED指示灯的连接,其具体的连接原理图如图2所示。
图2 以太网芯片RTL8019AS外围电路原理图
③ 单片机与RTL8019AS的连接
本设计中采用跳线方式,将65脚JP接高电平当系统上电复位后,在RSTDRV下降沿,8019AS将读入各个跳线引脚的状态,写入系统配置寄存器中,作为系统默认的初始配置。
各跳线引脚连接:RQS0~IRQS2(78~80脚)为中断口,本设计中采用查询方式,所以中断口选择没有影响;IOS0~IOS3(81、82、84、85脚)为I/O基地址选择,用于选择I/O口的起始地址,要使其全部置低电平,则起始地址从300H开始,地址总线连接必须与此相一致;PL0、PL1(74、77脚)为网络介质类型选择,本系统中设为“00”,表示进行连接检测;BS0~BS4(67、69、71、72脚)用于BROM容量与基地址选择,本系统中没有连接BROM,只要将BS4、BS3设为低电平,就可禁止BROM。
由上所述可知,各跳线引脚全部配置为低电平即可。芯片引脚内部接有100kΩ的下拉电阻,所以当引脚悬空时,本身就默认为低电平,因而也可将这些引脚悬空,在相关电路设计和软件设计中应注意要与这些跳线引脚配置相一致。
数据与地址总线连接:采用8位数据总线,将96脚IOCS16B接27kΩ下拉电阻即可使8019AS工作于8位数据总线方式。系统数据总线与SD0~SD7连接。8019AS内部寄存器和存储器的读写地址为00H~1FH,只需要5根地址线就能进行选择。但在系统跳线配置中已将起始地址设为300H,因而在地址选通时,还必须令地址线SA8、SA9为“1”。
其他还包括对晶振的连接,以及电源和地的连接。
2 TCP/IP协议栈的总体设计
该网络的最终目的是实现网络节点上任意两点之间的数据通信,但是设计一个对所有可能的通信模式均是有效的、完整的、全面的协议是不可能实现的,于是将通信问题划分成小块,并为每个小块设计单独的协议,这样使得每种协议变得容易设计、分析、执行和测试。一方面,每种协议应该处理其他协议没有处理的通信问题,以免重复工作。另一方面,设计的协议应该能够共享数据结构和信息,以提高执行效率。当然最重要的是各个协议之间能够很好的协同工作,不能将每种协议设计成孤立的协议,这就需要将他们设计成一个相互支持、相互补充的系统,系统中的每种协议解决一部分通信问题,而所有的协议便能解决所有可能的网络通信问题。
本系统网络接口采用以太网接口,所以协议栈遵循TCP/IP模型来设计。考虑到系统的程序空间极为有限,所以设计时对标准协议栈进行了简化,通过选择合适的协议,可以降低对处理器硬件资源的需求。例如,由于对可靠性要求较高,可以只选择使用TCP协议,而不使用不可靠的UDP协议。另外,对于己经选择使用的协议,在具体实现时也进行了适当的简化,保留其中必须具备的部分,以节约程序空间和执行时间。同时保证系统的可靠性与安全性,遵循分层设计思想和模块化设计方法,各协议由对应的模块实现,模块对外提供接口函数供主程序调用,精简的TCP/IP协议栈如图3所示。
图3 TCP/IP协议栈
网络接口层是TCP/IP模型的最底层,由RTL8019AS的驱动程序来完成基本功能。RTL8019AS的驱动程序负责将单片机传输到Internet上的数据封装成以太网数据包的格式发送,以及将网络上传来的数据包进行分析使其进入上一层的协议处理程序。
网络层的功能则由ARP(地址解析协议)、IP(网际协议)和ICMP(因特网控制报文协议)协议共同完成。ARP协议能够判断数据帧中的目的地址是否与本地IP地址相同,如果相同则接收数据帧,否则将数据帧抛弃。而IP是TCP/IP协议栈最为核心的协议,所有的网络层和运输层的数据都是以IP数据报格式传输。ICMP允许主机或路由器报告差错情况和提供有关异常情况的报告。
图4 数据的封装过程
系统需要传输的数据通过在每个协议层添加头部信息,最后封装成为以太网数据包,在物理网络上进行传输,数据的封装过程如图4所示。
对于工业控制领域,嵌入式Internet设备将测控网与Internet互连,由此实现测控网和信息网的统一。在这样构成的网络中,传统仪器设备充当着网络中独立节点的角色,信息可跨越网络传输至所及的任何领域,实时、动态(包括远程)的在线测控成为现实。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)