时间:2024-05-23
李敏 王朋涛
摘要:通过多个基于W7100A的高速物联网采集器实现了一个采集系统,并给出了该系统的外围电路设计, 对温湿度采集和显示模块进行了详细的阐述,编写了相关的显示和采集程序,实现了以太网远程高速数据采集。由于W7100A是硬核TCP/IP 技术来进行数据采集,所以可以作为物联网采集器的一种实现方式,且可以通过拨码开关区分IP地址,实现模块化。
关键词:物联网;W7100A;DS18B20;TCP/IP
中图分类号:TP39文献标识码:A
doi:10.14031/j.cnki.njwx.2017.09.002
0引言
物联网用途广泛,遍及智能交通、环境保护、政府工作、公共安全、平安家居、智能消防、工业监测、环境监测、路灯照明管控、景观照明管控、楼宇照明管控、广场照明管控、老人护理、个人健康、花卉栽培、水系监测、食品溯源、敌情侦查和情报搜集等多个领域,其中采集器是物联网实现环节中的重要一环。
1采集系统框架
该系统包含多个W7100A采集控制器,每个采集器通过交换机与控制服务器相连接组成控制系统。通过设定每个板子上拨码开关的值来调整相应的IP地址,可以实现多个采集控制器的动态加入。其中每个控制器又包含KEY输入、LCD显示、温湿度传感器、PWM、UART串行口、继电器和以太网模块。按键通过595芯片做串行移位,仅用一个IO端口就可以实现8个按键的输入。显示部分采用LCD12232液晶作为显示模块,与移位按键配合做设定报警信息和实时显示。温度传感器采用数字温度器件DS18B20采集温度;UART用于连接其他采集控制模块;继电器用于控制其他机械设备的启动和停止;PWM用于精确控制机械传动中的电磁阀。
该系统通过交换机把多个模块采集的数据发送到服务器,由服务器实时处理后保存到本地数据库并发送到Internet。向下通过每块W7100A控制器的IO口采集当前环境的信息数据,利用W7100A自带的以太网模块把采集到的数据和服务器实现数据的交换。系统结构如图1所示。
2硬件电路设计
2.1显示电路设计
LCD选用带中文字库的LCM12864R,由于W7100A是可以直接驱动LCD12864R,两个器件相互连接的时候无需进行电平转换,采用串行输入方式。其接口和电路如图2和图3所示。
2.2可扩展电路设计
可扩展部分采用拨码开关设计,利用W7100A的IO口读取拨码开关的状态来判断自身的IP地址。使用的时候,只需设置拨码开关的拨齿到不同的位置,极大地方便了现场的使用。其电路如图4所示。
2.3以太网设计
由于W7100A内部不仅集成了MAC模块还集成了PHY模块,所以简化了电路部分的设计,但是需要注意布局和布线,同时还要考虑W7100A的散热。一般集成MAC和PHY的芯片正常工作的时候发热都比较严重,可以考虑加装散热片来解决。对于布局布线主要是对差分线对的处理,这点比较重要。芯片出来的RX+/TX+、RX-/TX-为差分线对(切勿走成RX+/RX-和TX+/TX-),应该优先布差分线,保持平行、等长和紧靠,且避免交叉。同时应避免差分线周围走其他信号线,而且差分线要包地,包地的周围隔一段距离就要打地孔。这两组差分信号布的好坏,会严重影响网卡的工作。电路如图5所示。
3软件设计流程
该采集系统在软件设计上分为两部分:一部分是W7100A采集控制器的控制和上传数据程序;另一部分是服务器上上位机各个采集器集中处理的程序。服务器通过TCP/IP收集各个控制器上传的数据,然后进行信息融合后,做出判斷,再发出控制命令使各个采集器执行不同的机械动作。同时也可以以外接GPRS模块短信命令来实现人机交互。
3.1采集器程序设计
采集器的程序分为5个部分,分别是:按键处理、LCD12864显示、网络接收和发送数据、继电器的接通和断开以及IP地址的识别。
按键硬件上接上拉电阻,因此有键按下时电平是低电平。按键采用循环扫描的模式来处理。
显示程序主要根据LCD12864的时序把需要显示的数据写入显存里。
网络收发数据采用循环扫描的方法不断查询是否有数据要发送或接收,先查询Sock0_Connect标志位,若为高电平表明已经建立了TCP连接,如果已经建立了连接,则查询Sock0_Recv标志,若为Sock0_Recv高电平则先清零该标志,再去读取网络缓冲区里面数据帧的帧头数据。如果帧头是0x66、0xA8、0x55说明主机发送的是上传数据命令,此时同时把上传标志upload_flag置1。主程序会根据upload_flag的标志转去执行上传数据函数;如果帧头是0x66、0xA8、0xAA说明主机发送的是写入命令,W7100A需要从缓冲区的第4个字节开始读取且连续读取22个字节数据,然后根据接收到的数据执行相应的命令。
3.2上位机程序
上位机用VC编写,基于socket的服务器。Socket是应用层与TCP/IP协议族通信的中间软件抽象层,它是一组接口。在设计中,Socket其实就是一个门面模式,它把复杂的TCP/IP协议族隐藏在Socket接口后面,对用户来说,一组简单的接口就是全部。
编写步骤一般是先加载套接字接口,再绑定套接字到IP和端口,其次监听套接字接口以等待连接请求的到来,然后根据各个采集器上传的数据进行融合并发送数据,最后关闭套接字接口。在该系统中绑定的TCP端口为9998,待连接请求到来时,读取数据并进行数据的处理。通信结束,则返回并关闭套接字。采集到的数据如图6 所示。
4总结
本文以集成硬件TCP/IP核的W7100A设计并实现了一个采集控制器的子系统,再经过多个采集子系统构成一个整体的可扩展的控制系统,然后通过网络上传数据到服务器。基本实现了显示、温湿度、继电器通断的控制。相比传统的8051控制器,系统具有较高的实时行和大的数据吞吐量,同时也易于扩展,且设置灵活,有一定的实用性。
参考文献:
[1]陈得民.基于W7100的数据采集系统设计[J].产品设计,2010(5):22.
[2]Chen De-min. The Design of Data Acquisition System Based on W7100 [J].Product Design, 2010(5):22.
[3]董红政,史晓鹏,王忠勇,IPv6环境下信息家电系统网络终端设计[J]. 微计算机信息,2007(35).
[4]温冬伟,王平立,宋斌.基于W7100的以太网读卡器的设计与实现[J]. 电子设计工程,2011(9).
[5]杨波.利用W7100芯片的远程控制器研究[J].廊坊师范学院学报(自然科学版),2014(2).
[6]薛大为,杨春兰.基于ST7920 控制器的中小尺寸液晶显示的实现[J].电子世界,2013(19):65.
[7]WIZnet Co.,INC. Internet embedded MCU W7100A datasheet[OL].[2009]http://www.Wiznet.co.kr.
(05)endprint
我们致力于保护作者版权,注重分享,被刊用文章因无法核实真实出处,未能及时与作者取得联系,或有版权异议的,请联系管理员,我们会立即处理! 部分文章是来自各大过期杂志,内容仅供学习参考,不准确地方联系删除处理!