物联网中嵌入式终端数据远程传输控制系统设计
2021-05-20张亚林
张亚林
(广州大学松田学院,广东 广州 511300)
数据传输是指在终端沿着传输层与主机之间的数据传输,在物联网中,对数据传输的要求各有不同,因此研究数据传输的可靠性和实时性是目前相关研究较为重视的方面[1⁃3]。国外在早期就提出了信息高速公路,用来提高计算机的联网速度。而对数据的远程控制工作而言,研究的方法一般都是利用较为简单的IP 流和UDP 流来实现连接,但两种数据流在不同网络流中的传输特性不同,UDP 流的数据传输控制情况较差[4⁃6],极易出现丢包现象。
1 物联网中嵌入式终端数据远程传输控制软件设计
1.1 嵌入式驱动程序设计
驱动程序作为硬件与程序之间的接口,考虑所涉及的任务和硬件的特点,在驱动程序中作了如下设计:
1)AD6518_read:提取DMA 存储,同时程序等待存储数据读/写,读/写完成后,数据传送至用户空间,同时释放存储。
2)AD6518_ioctl:程序为选择结构,根据使用用户的命令,将DMA 初始化,同时读/写控制寄存器与AD6518 的工作。
3)AD6518_open:完成DMA 通道参数设置,同时将I/O 端口初始化。
4)AD6518_release:工作与AD6518_open 相反,清理与释放资源。
5)AD6518_init:程序函数初始化,同时对驱动程序进行注册,创建文件节点。
程序函数使用file_operations 结构来串联,驱动程序图如图1 所示。
图1 驱动程序图
设计的驱动程序在编写时,用户在程序中可以直接对函数进行调用。
1.2 终端数据包传输
首先读取终端单片机中的数据,而在E2PROM 接口下,可以直接读取数据,其中,终端中的控制、地址、数据寄存器REG.0BH~REG.0EH,可以控制对数据进行读取。EPAR_PHY_AD 位应该保证设置为00,对终端从串行E2PRO(SROM)数据 预 读程序为:Iow(0x0A,0x02),/*(ERCR REG 0BH)*/。在 完 成 数 据 预 读 后 进 行SROM+READ 操作,将EPCR(REG.0BH)EPOS 位由3 调整 至0,进 入SROM 模 式,将ERCR(REG. 0BH)ERPRRCR 位由2 调整至0,程序发布READ 命令。在进行数据包传输过程中,对终端内的各节点分别计算其距离的绝对值和欧氏距离,否则容易对程序造成影响,对节点i来说,存在以下关系:
通过数字化管理,减少以往纸质图纸出图送审的时间,并将监管所需的施工图图纸资料、整改信息、备案情况等进行集中管理,防止勘察设计单位与审查机构之间因为资料是否齐全而引起的扯皮现象,政府主管部门也能够及时掌握勘察设计企业和从业人员详实的从业行为信息,掌握其完成项目的施工图设计文件中所存在的违法、违规和违反工程建设标准强制性条文的信息以及其它可授权上报的质量信息,有效提升审图工作的时效性。
式中:(xi,yi)代表节点i的坐标;(xj,yj)代表节点j的坐标;S1(R)和S2(R)代表终端中的数据包;|·|代表节点距离中的绝对值;d[·]代表节点间的欧氏距离值。在确认绝对值和欧氏距离值后引入程序的数据压缩过程中,确保压缩率准确。同时在发布写命令完成终端数据的读取后,将要发送的数据作为数据包来进行发送,数据读取后,保留在终端的静态存储器中,而内部的数据地址为DM9000AMAC 的0~0xBFF。同时在终端程序中建立起一个数据包的传输缓冲区,而待发送的数据包中字节较多的放在MDR AH REG.FDH,低字节放在MDRAL REG.FCH,通过设置TXREQ,在数据包传输时,在NSR REG.01NSR 中设立TX1END 位[2]=1 标志,代表传输数据包完成。数据包传输程序如下:
(u8)io_mode=ior(0xFE)>>7;/*读ISR Bit[7]I/O 模式,表示I/O DATA 宽度模式。Outb(I/Oaddr,0xF8);/*写I/O 到MWCMD REG F8H 后程序地址增加到write_ptr++*/。/*u8 TX_dat a[ ]数据发送到int TX_1 ength:TX_dat a [ ]*/的数据中。{for(i=0;i 通过制定QoS 映射公式来用于对QoS 的定量计算,用户根据对数据传输系统的不同要求,将传输时的时延、丢包、抖动的要素因子显示给用户,QoS 的计算公式为: 同时可以根据用户需求,将上述数据包的压缩率进行分割,得到对时延、丢包、抖动情况的改善。在程序中设置变量m_Perlipore,代表当前对数据包的压缩率,在设计中将压缩率的设置分为三种:m_Perlipore=3 时,即最低质量;m_Perlipore=1 为最高质量;m_CuroelcBlice 代表通过QoS 计算数值所得到的新压缩率。Persirlie 代表在操作端要求改变的压缩率数值。首先在程序中初始状态下m_Perlipore=1 时,设置一个定时器,在对QoS 测量时间内,将网络当前情况的QoS 综合性能进行计算,当QoS 的数值范围较大,即当前网络情况较差,这时设置m_Perlipore=3, m_Perlipore<3 时 , 建 议 数 值m_CuroelcBlice=m_Perlipore+1,当QoS 数值在变好时,m_Perlipore=1,当m_Perlipore>1,建议数值m_CuroelcBlice=m_Perlipore-1,有 限 信 号 Persirlie=m_CuroelcBlice。在QoS 没有超出范围时,Persirlie=0,同时当定时器设置的时间到达预设时间后,从发送端发出RTCP 包。 本文终端选择C8051F310 MCU 型号单片机。该单片机的速度可从1~25 MIPS,最高到100 MIPS,属于高速单片机,同时中断源较多,并且具备固定的I/O 接口,兼 容 性 更 高[7⁃9]。该单片机外设部件较多,29 个I/O 端口,一个增强型全双工UART,256 B 的内部RAM,控制内核为CIP⁃51 微控制器,同时可以与MCS⁃51 指令实现指令兼容,支持14 个中断源并具有一个10 位的ADC 和128 B特殊功能寄存器。 单片机主控部分为C8051F310 芯片,芯片主控电路如图2 所示。 图2 C8051F310 芯片主控电路 本文数据传输模块采用无线数据传输方式,选择SIMENS 公司的MC39I 无线数据传输模块,该模块可以完全兼容MC35 模块的功能,该模块输出功率在EGSM900中为2 W,GSM1800[10⁃11]中为1 W。同时模块支持EGSM900M/GSM1800M 双频输出,模块接口为40 管脚,其中包括RS 232 接口、50 Ω 天线接口,同时在GPRS的数据传输模式下最大传输速率85.6 Kb/s 且在连接后支 持PAP 与CHAP 协 议[12⁃14]。 模 块 输 入 电 压 为3.3~4.8 V,在休眠状态下模块的功耗为3.0 mA,语音状态下为300 mA,在GPRS 传输模式下为590 mA。该模块的内部包括射频区、GSM 基带处理器、电源与40 脚的插座。模块外部存在40 个管脚,用ZIF 连接器将管脚引出,ZIF 连接器的管脚图如图3 所示。将无线数据传输模块与上述的C8051F310 相连接,MC39I 模块窗口拥有较多控制线,可以通过ZIF 管脚来与C8051F310 相连接,连接方式如图4 所示。C8051F310 与MC39I 的数据传输通过串行通信接口来实现,且采用三线制连接,并连接地线[15]。 图3 ZIF 管脚连接图 图4 MC39I 与C8051F310 连接图 单片机作为终端无法直接登录移动网络,为实现物联网的连接,需要通过SIM 卡的接口扩展插槽,SIM 卡可以与MC39I 连接,设计的SIM 卡接口需要符合ISO7816⁃3IC 卡标准,设计的SIM 卡存在5 个管脚,与MC39I连接方法如图5 所示。 为了验证本文系统在进行数据远程传输时控制的可行性,设计实验对本文系统进行仿真实验,通过调整网络延迟情况,同时使用文献[7]、文献[14]、文献[15]中的数据传输控制系统与本文系统进行对比。 实验中对终端使用的数据是在物联网中导出的一定量数据,同时实验中将会对网络进行分次限流,来分析在限流后数据传输控制系统的数据传输速度,以此来判断本文系统的有效性。实验中分为3 次网络限流:30 Mb/s,3 Mb/s,300 Kb/s。 图5 SIM 卡槽与MC39I 连接图 实验工作环境湿度40%RH~95%RH,供电电源AC220(1±15%)V,50 Hz,功率小于15 W,环境中的电器干扰情况通过IEC255⁃22⁃IMH 脉冲群干扰实验以及GB6162100 kHz 脉冲干扰实验,实验环境为符合标准规定的IEC255⁃2⁃2 中等级为3 的静电放电实验。 在网络限流情况下,系统一的数据远程传输情况如图6 所示。 图6 系统一数据传输情况 图6 为系统一的数据传输情况。系统一为本文设计的系统,系统二为文献[7]中的系统、系统三为文献[14]中的系统、系统四为文献[15]中的系统。 系统二数据传输情况如图7 所示。系统二所在300 Kb/s 的限流中,出现较为严重的丢包现象,数据传输无法顺利开展,且系统二受网络情况影响较为严重。 系统三数据传输情况如图8 所示。系统三的数据传输情况受网络限流情况影响较小,但系统三的数据传输效率较低。系统四数据传输情况如图9 所示。 系统四的数据传输受网络限流影响较为明显,通过实验证明,本文设计的嵌入式终端数据远程传输控制系统可用性较强,通过QoS 动态调整,对系统中的数据远程传输进行控制,保证在网络情况不佳时仍能顺利地完成数据传输工作。 图7 系统二数据传输情况 图8 系统三数据传输情况 图9 系统四数据传输情况 本文研究设计了物联网中嵌入式终端数据远程传输控制系统,通过QoS 动态调整来实现对数据远程传输的控制。但研究实验中,目前仅对网络限流后的数据传输情况进行了实验,缺乏对网络波动、网络延迟等其他情况的判断,在后续的研究中仍需进一步的实验分析。1.3 QoS 动态调整控制
2 物联网中嵌入式终端数据远程传输控制硬件设计
2.1 C8051F310 MCU 单片机
2.2 GPRS 无线数据传输模块MC39I
2.3 SIM 卡接口部分设计
3 实验论证分析
3.1 实验准备
3.2 实验环境
3.3 实验结果
4 结语