- 易迪拓培训,专注于微波、射频、天线设计工程师的培养
基于硬件协议栈的以太网远程数据传输系统
3系统应用
目前,通过本文开发的基于W5100的远程数据采集与传输系统已经成功应用在辽宁省建筑能耗监测平台、太原理工大学节约型校园监管平台、大连市公共机构能耗监管平台等多个能耗监测项目当中。其中,辽宁省项目覆盖范围最广,涉及到省内14个地级市共50栋建筑的能耗采集与传输工作。调试期间,因能耗采集周期和上传周期均一致,并且各客户端的时间信息通过服务器进行同步,导致所有的客户端均在同一个时刻向数据中心发起连接或者发送能耗信息数据,如图6所示(上传周期为5 min),第1分钟的C1~Cn表示各地的数据采集器在同一时刻向服务器发起连接请求,第5 min的C1~Cn表示各数据采集器在同一时刻向服务器发送能耗数据信息,从而造成服务器偶尔因连接负载过多造成采集软件死机等情况发生。
解决该问题的方法其实很简单,设置各客户端分时发送数据即可,但如果对不同的客户端下载不同版本的程序,从而达到分时的目的,实际操作过程中很不方便,而且造成程序版本不唯一,容易出现问题。经过进一步分析发现,各客户端的网络通信质量不一,与服务器成功建立连接的时间不同,通过下面的方法巧妙地将该问题解决,如图7所示。
通过在程序中加入下面两行代码:Write_W5100(W5100_S0_CR,S_CR_SEND KEEP);//监测网络状态ssr0_state=Read_W5100(W5100_S0_SSR);//读取当前网络状态对当前的网络进行监测,客户端与服务器成功建立连接之后,寄存器ssr0_state变为0x17,记录从发起连接到建立连接之间的时间差△T,发送数据时顺延△T时刻再发送,从而零成本解决了负载过大的难题。辽宁省项目自2010年7月开始运行,至今已经连续运行2年多时间,结果表明该系统能够准确地将数据上传,工作稳定可靠。
结语
本文以STM32F103VET6为核心处理器,通过单片网络控制芯片W5100建立了以太网远程数据传输系统,该系统具有高集成度、低成本、开发周期短等优势。针对建筑能耗监测系统多个客户端同时发起连接和上传数据造成的服务器压力过大问题,文中通过监测客户端与服务器之间的连接时间点,在发送数据时顺延时间差△T,巧妙地解决了该问题。实际项目运行结果表明,该系统运行可靠稳定,应用前景良好。