基于W5500的串口服务器设计及物联网应用

2018-11-06 10:01罗毅
中小企业管理与科技 2018年9期
关键词:中断上位以太网

罗毅

(贵州航天凯山石油仪器有限公司,贵阳550009)

1 串口服务器简介

串口服务器又叫串口联网服务器,是为RS-232/485串口到TCP/IP网络之间完成数据转换和传输的通信接口转换器,提供RS-232/485终端串口与TCP/IP网络的数据双向透明传输,提供串口转网络功能,RS-232/485串口转网络的解决方案可以让串口设备方便、快捷的接入互联网网络。

2 W5500简介

W5500是韩国WIZnet公司生产的一款全硬件TCP/IP嵌入式以太网控制器,为嵌入式系统设备提供了简易的互联网连接方案。W5500集成了TCP/IP协议栈,10/100M以太网数据链路层(MAC)及物理层(PHY),使得用户使用单芯片就能够拓展实现网络连接功能。

W5500内嵌32K字节数据缓存用于缓存以太网数据包,最多支持8个硬件Socket独立通讯。W5500提供了SPI(外设串行接口)从而能够更加容易与外设MCU整合。高效SPI协议支持80MHz速率,从而能够更好地实现高速网络通信。以太网控制芯片W5500具有以下特点:①支持硬件TCP/IP协议 :TCP、UDP、ICMP、IPv4、ARP、IGMP、PPPoE 和 以 太 网 的PHY和MAC层;②支持8个独立的Socket同时工作,可同时工作在不同的工作模式;③支持高速SPI接口,SPI的时钟最高可达80MHz,极大地提高了网络通讯的数据传输速率;④内部集成32KB存储器用于发送/接收缓存;⑤内嵌10BaseT/100BaseTX以太网物理层(PHY);⑥支持自动协商(10/100Based全双工/半双工)。

3 系统设计

3.1 硬件设计

串口服务器主要由MCU、以太网控制器、硬件看门狗和线性稳压器组成。其中MCU选用M3处理器LPC1763,该处理器主频达到100MHz,内置256Mflash和64K RAM,还具有多个SPI和RS232等串行接口,完全能够满足串口服务器设计需求。为提高系统稳定性,串口服务器还配置了独立的硬件看门狗CAT706。系统采用5V供电,内置3.3V稳压器LM1117。系统下行通过RS-232接口与底层数据采集系统交换数据,上行通过RJ45接口接入物联网平台。

3.2 软件设计

为确保串口服务器对各种中断能够实时响应,系统软件采用UCOSⅡ嵌入式多任务实时操作系统,根据系统功能,系统建立了网络监测任务、网络中断处理任务及串口数据接收处理任务3个任务进程,其中串口数据接收处理任务和网络中断处理任务平时处于挂起状态,只有当串口接收到数据或接收到W5500的中断事件信号时才执行[1]。几个任务的主要功能如下:

网络监测任务:定时监测网络状态,处理网络断开重连、TCP Server模式下接收到Client连接请求、TCP模式下接收到对方断开请求及UDP模式下“OPEN”命令生效等网络状态事件。同时查看并处理网络异常中断事件,让网络连接在异常状态下恢复。

网络中断处理任务:响应并处理以太网接收到数据事件、网络Socket连接建立成功、接收到对方网络断开请求、接收到数据发送成功应答等网络正常中断事件。该任务平时处于挂起状态,只有当接收到网络正常中断信号才执行。

串口数据接收处理任务:通过中断方式接收底层数据采集控制系统发送过来的数据,根据当前网络状态将数据发送到以太网控制器数据发送缓冲区。该任务平时处于挂起状态,只有当接收到串口数据帧才执行。

4 网络数据处理关键功能代码(C语言)

MCU接收到W5500的网络接收数据中断信号,先用过“Read_SOCK_2_Byte”函数提取接收网络数据长度信息,并判断数据长度是否合法。若数据长度合法,则通过“Read_SOCK_2_Byte”函数提取接收数据在接收缓冲区内的偏移量,分别根据接收数据长度及偏移量判断接收数据是否溢出,根据溢出情况读取缓冲区数据,再将读取到的数据填充到MCU的数据接收缓冲区等待处理。

5 多链路通讯功能实现

许多情况下,要求设备物联网工控设备具备多链路访问机制,多链路访问机制首先需要工控设备支持多链路访问,并且要求设备能够智能识别当前访问上位机,并对应应答当前访问设备的上位机。虽然串口服务器支持多链路访问机制,但串口服务器与底层数据采集控制系统相对独立,所以如何识别底层数据采集控制系统发送过来的数据帧对应哪个上位机成为多链路通讯功能的实现难点。

Modbus通信协议已成为工控行业的标准通信协议,Modbus通讯协议规定上位机具有数据读写主动权,而下位机全被动的响应上位机的数据读写命令,串口服务器通过Socket链路激活机制实现了Modbus协议下的多链路通讯功能。当串口服务器接收到上位机发送的数据帧时,将当前Socket链路激活一段时间,该期间内接收到底层数据采集控制系统上传的应答数据帧,串口服务器检测当前是否有Socket链路处于激活状态,如果有已激活的Socket链路,则只将数据帧发送到已激活Socket链路对应的上位机,数据发送完毕后,关闭该链路的激活状态。

6 在物联网中的应用

互联网技术的发展,使得物联网成为可能,我们周边的电子设备终将接入物联网信息平台。通常电子设备功能很少涉及网络通信功能的应用,串口服务器为电子设备接入物联网提供了简单快捷的解决方案。串口服务器技术在油井远程监控系统及数字化抽油机控制柜等产品上得到了成功应用。

猜你喜欢
中断上位以太网
基于1500以太网养猪场的智能饲喂控制系统的设计与实现
基于FPGA的中断控制器设计*
Linux中断线程化分析及中断延时测试
特斯拉 风云之老阿姨上位
跟踪导练(二)(5)
千里移防,卫勤保障不中断
谈实时以太网EtherCAT技术在变电站自动化中的应用
“三扶”齐上位 决战必打赢
基于ZigBee和VC上位机的教室智能监测管理系统
浅谈EPON与工业以太网在贵遵高速公路中的应用