赵建华,韩智慧
(1.长春师范大学网络中心,吉林长春 130032;2.长春科技学院,吉林长春 130600)
基于USB接口的物联网数据传输模块设计
赵建华1,韩智慧2
(1.长春师范大学网络中心,吉林长春 130032;2.长春科技学院,吉林长春 130600)
目前物联网飞速发展。为了解决计算机串行接口和并行接口严重不足的问题,实现各种仪器设备之间的方便连接,本文提出USB接口模块和无线传输技术相结合的方案。以Cortex-M3为内核,根据物联网无线传输协议IEEE802.15.4标准,将TCP/IP协议栈中的协议进行简化分离,设计出频率稳定、功耗低、传输协议及传输模式可控、快速的传输协议,最终完成针对物联网体系中数据传输功能模块的USB接口的设计。
物联网;Cortex-M3;USB接口;简化TCP/IP协议
在物联网技术飞速发展的今天,嵌入式技术显得尤为重要。目前,嵌入式处理器大致分为嵌入式微处理器、嵌入式微控制器、嵌入式数字信号处理器、嵌入式片上系统。在日常生活中,嵌入式系统作为后PC时代的计算机平台被广泛使用,如家用电器、医疗器械、手机、汽车等。嵌入式系统以其软硬件的可裁剪性、可靠性、成本低、功耗低、体积小等优点广受欢迎。我国物联网发展现面临的问题有产品批量生产的标准性、产品监督和管理的统一规范性、数据传输的安全性、产品知识产权自主性以及网络的带宽等[1]。本文主要设计适合产业化的物联网数据传输模块的USB接口。为了使传输速度达到最佳,以物联网技术架构中的一层物理层、二层数据链路层为基础,为第三层网络传输层提供终端,并利用LTC4055芯片实现USB接口为设备供电。
1.1 系统结构总体设计
设计以USB接口为标准的在物联网下进行接收与发送的传输模块,系统设计结构分为三大部分,即USB接口芯片电路、MCU微控制器芯片电路、物联网传输模块芯片电路(图1)。
图1 系统设计结构图
物联网传输模块电路的主要功能:首先将微控制器送来的数据传输到电磁波发射器,然后通过解调天线接收到的调制信号得到基带信号,再送给微控制器。
1.2 无线传感器设计方案
(1)无线传感器网关运用了基于ARM Cortex-M3芯片内核和以太网卡ENC28J60芯片。无线网关的无线通信模块由最新芯片CC2538制作,网络结构为星型无线网络结构。无线接收模块负责接收传感器节点传来的数据,然后交由Cortex-M3微处理器处理,并通过以太网卡ENC28J60传到网络中的上位机,由上位机的监测软件完成接收并显示。
图2 无线数据采集系统结构
(2)网关设计是建立在应用层上的协议转换器,连接无线协调器和以太网两个相对独立的网络,图3为协议转换模型。传感器节点采集到的数据按照无线协调器协议传送到网关,网关上的无线协调器节点负责解析出数据的有效载荷,交由Cortex-M3处理器控制,由以太网卡芯片负责将数据发送到以太网上。
图3 系统设计结构图
(3)无线协调器模块选用CC2538片上系统芯片来设计[2]。CC2538 内部集成了强大的安全加速器,能快速和有效地进行身份验证和加密,其内部具有强大的调试系统和综合驱动库。为了减少应用程序的运行留存痕迹,CC2538xfnn ROM包括一个函数库和一个串行引导加载程序。
1.3 USB口的设备供电设计
USB接口电路主要功能是提供总线的硬件收发接口,即系统和计算机或系统和设备端的物理连接,并实现电气和底层的逻辑功能,完成上层协议处理、数据收发控制以及电压调节。
为方便提供TTL电源、串行口通信、IAP编程及复位信号控制,可使用CP2101设计的工作电路,这样能够减少计算机与外设之间的接口。为将PC的USB口虚拟成COM口,可采用CYGNAL免费提供的器件驱动程序CP2101。因此,无需修改现有的软件和硬件就可以通过USB向基于CP-2101的器件传输数据,大量省去了CP2101系列器件二次开发的投入[3]。
2.1 TCP数据包首部及其分析
TCP首部格式的定义需要遵循 RFC.791的相关规定,结构体定义如下:
Typedef stryct’
{
Word srceport; //源端口号
Word destport; //目的端口号
LWord seqnum; //系列号
LWord Acknum; //确认号
Word lenflags; //首部长度及标识
Word wndsize; //窗口大小
Word urgptr; //紧急指针
} _TCP_HDR;
2.2 TCP/IP设计
TCP/IP体系结构4个层次功能如表1所示。
表1 TCP/IP体系结构及功能
嵌入式TCP/IP协议一般实现:ARP/RARP、IP、ICMP、TCP、UDP、HTTP、SMTP、FTP、TELNET等协议,协议处理的主要流程如图4所示[4]。
在协议处理过程中,首先将以太网包读入缓存,判断其是否为ARP包,若是则检测硬件类型、协议类型以及服务器操作类型;若不是则判断该包是否为IP包,若是则查看IP地址是否正确;若正确,再接着判断其是否为ICMP包,若是则调用ICMP包协议处理;若不是则判断该包是否为TCP包,若是则调用TCP协议,最终再将以太网包读入缓存。
传输控制协议数据传输可分为3个阶段。第一阶段,建立连接。在建立连接时有两种方法,即主动和被动打开。服务器一直在侦听连接请求是一种被动打开,客户端发送连接请求是一种主动连接[5];第二阶段,传输数据;第三阶段,断开连接。和建立连接一样,断开连接也分为主动和被动断开连接两种方式。在上述基础上,简化实现传输控制协议的流程图如图5所示。在此简化过程中,直接判断此连接是否处在监听状态,若是则检查IP地址、端口号,检查数据包系列号,接着检查目的端口号,再判断其是否为TCP协议,若不是则为正确数据,接着进入不同状态进行相应处理。
图5 简化的TCP协议
本文根据工业控制系统的要求,设计了低成本、高效率的嵌入式串口模块化的USB接口[6],使得工业RS-485串口设备能够与基于简化的TCP/IP协议及无线网络进行连接,实现了设备的数据传输、采集和控制的智能化管理。采用虚拟串口这种方式来实现上位机与现场串行设备之间的数据传输与采集,把串口模块上的串口通过虚拟串口驱动程序映射到上位机上,这样上位机应用层软件就可以像使用标准串口一样来与现场串口设备通讯。该系统以Cortex M3为核心,针对物联网无线传输协议标准设计,由此开发出频率稳定、功耗低、传输协议及传输模式可控的数据传输模块USB接口。
[1]熊鸣.基于Cortex-M3的数据传输单元设计[J].煤炭技术,2013(3):197-198.
[2]张念淮.USB总线开发指南[M].北京:国防工业出版社,2001:56-60.
[3]李浩.USB供电终极改造[J].大众硬件,2005(3):101-102.
[4]吴军.自定义USB接口电源供电[J].电脑维护与应用,2005(2):15.
[5]阮利华,王祥.USB2.0接口IP核的开发与设计[J].复旦大学学报:自然科学版,2005(1):173-174.
[6]刘学刚.一种基于Cortex-M3核心芯片的物联网模块[J].工业控制计算机,2012(6):5-6.
2014-09-01
吉林省科技厅科技发展计划项目(20100512)。
赵建华(1979- ),男,吉林白城人,长春师范大学网络中心讲师,从事计算机应用技术研究。
韩智慧(1978- ),女,吉林长春人,讲师,从事计算机应用研究。
TP334
A
2095-7602(2014)06-0032-04