王振+姬广永+耿桂娟
摘 要: 以往设计的基于WinCE的网络移动终端受环境的影响较大,存在较高的通信延时,并且信息传输时效性差,给用户带来了较大的困扰。因此,开发并设计了基于嵌入式Linux的网络移动终端,设计网络移动终端的硬件和软件结构,对网络信息移动终端通过GPRS模块接入Internet的过程实施分析,对系统的核心PXA255微处理器硬件电路实施详细的设计。给出网络移动终端的软件结构以及功能,对Linux移动终端设备驱动操作集合以及设备驱动接口实施设计,确保网络移动终端程序驱动的顺利运行,提高网络数据传输的效率和质量。实验结果说明,所设计的网络移动终端具有较高的运行效率,全部操作等待以及服务响应时延都在用户可接受的范围内。
关键词: 网络; 移动终端; 嵌入式Linux; 设备驱动; 开发; 设计
中图分类号: TN929.53?34 文献标识码: A 文章编号: 1004?373X(2018)05?0051?05
Abstract: The previous?designed network mobile terminal based on WinCE affected by environment has high communication delay and poor information transmission timeliness, which troubles the users greatly. Therefore, a network mobile terminal based on embedded Linux was designed and developed. The hardware and software structures of the network mobile terminal were designed. The process of network information mobile terminal accessed into Internet through GPRS module is analyzed. The system hardware circuit of the core PXA255 microprocessor was designed in detail. The software structure and function of the network mobile terminal are given. The device driver operation assemble and device driver interface of the mobile terminal based on Linux were designed to ensure the smooth operation of the program driver of the network mobile terminal, and improve the efficiency and quality of the network data transmission. The experimental results show that the network mobile terminal has high operation efficiency, and its all operation waiting and service response delay are within the acceptable range of users.
Keywords: network; mobile terminal; embedded Linux; device driver; development; design
0 引 言
随着科学技术的快速发展,网络移动终端在各领域中的应用价值逐渐提升。基于嵌入式Linux的网络移动通信终端是融合GPS全球定位技术、移动通信技术以及地理信息系统GIS的综合系统,其可自主定位动态目标,同时进行信息的快速操作以及地图匹配控制等内容,在军事、探测以及医疗领域中具有较高的应用价值[1]。以往设计的基于WinCE的网络移动终端受环境的影响较大,存在较高的通信延时,并且信息传输时效性差,给用户带来了较大的困扰。面对该问题,本文对网络移动终端的嵌入式开发与设计过程实施了分析,极大地提高了数据的传输效率和准确度。
1 网络移动终端的嵌入式设计
1.1 基于嵌入式Linux的网络移动终端
本文设计的基于嵌入式水情信息移动终端,采用测站?信息中心?移动终端的三级结构。信息中心能够实现网络信息的浏览以及检索,通过超短波?GPRS的二級通信手段,超短波可对测站同信息中心间的网络信息实施传递,GPRS能够传递信息中心同移动终端间的网络信息[2]。网络移动终端的硬件平台包括Sitsang开发板以及GPRS模块,Sitsang开发板包括Intel PXA255处理器、64 MB SDRAM、32 MB FLASH以及640×480 LCD触摸屏,通过低功耗的Intel PXA255微处理器为网络通信提供依据,该处理器是总体系统的核心,是其他模块间实现交互的纽带,并对系统中的模块进行综合控制,确保总体网络移动终端的顺利运行。将MC35模块当成GPRS模块,是一种双频GSM/GPRS无线模块,能耗较低,用于采集网络信息。采用串口反馈给Sitsang进行解码、存储以及显示。网络移动终端硬件结构图用图1描述,Sitsang开发板中存在引导装载程序,能够实现CPU、内存的初始化设置,实现内核映像的装载以及引导。
开发板中移植包括嵌入式Linux驱动程序以及Jffs2文件系统,采用来自挪威Trolltech公司图形用户界面Qt/Embedded与Qtopia,采用Linux中的Qt/Qtopia软件设计模块,设计网络移动终端的应用软件,完成Client/Server网络模式信息远距离无线传递。网络移动终端运行后,输入网络服务器IP地址以及端口号,能够自主上网,连接服务器。服务器将采集到的测站网络信息传输给移动终端,移动终端实现信息的响应、采集以及存储[3]。本文设计的网络移动终端系统结构图用图2描述,由硬件平台、软件平台、应用软件及脚本文件构成。endprint
1.2 移动终端通过GPRS模块接入Internet
连接互联网是采用GPRS实施数据传输的必要条件,是总体网络移动终端的重点。Linux下拨号采用PPP协议中的pppd程序,通过串行点对点连接对数据报实施传输[4],主要由三部分构成,分别是在串行封装数据报的手段、LCP(扩展连接控制协议)以及塑造配置不同网络层协议的NCP。在嵌入式Linux系统中通过Shell脚本完成GPRS拨号,通过脚本语言塑造DoS下的批操作脚本程序,确保系统自主运行拨号。在Linux下拨号使用的脚本是ppp?on,ppp?off以及ppp?on?dialer,在安装的Red hat Linux 9.0中从/usr/share/doc/ppp/script内获取三个脚本,对这三个脚本实施修正,完成GPRS上网。基于嵌入式Linux的网络移动终端下运行脚本ppp?on后,能够采用GPRS模块同互联网连接。
1.3 PXA255微处理器硬件电路设计
本文设计的嵌入式网络移动终端系统的核心是PXA255微处理器,其对系统进行总体调控,是系统顺利运行的基础。设计的PXA255微处理器硬件电路用图3描述,其包括嵌入式微处理器PXA255以及相关功能模块,总体系统的重点部分是嵌入式微处理器,通过外围接口以及FO端口连接较多功能各异的集成电路。PXA255内核的运行频率是100~400 MHz,本文采用来自摩托罗拉公司的一种32位指令结构的处理器PXA255芯片,其对Cod1FrieVZ32位处理机体系结构进行集成,具备10 kB的芯片内SRAM、两个独立的UART以及16位计时器和一个PLL时钟。该产品还具备软件监视时钟、GPIO线路、两个ZIC接口以及4通道DMA和SDRAM控制器。为了实现处理性能以及耗能间比例的最佳化,通过电源管理以及实时时钟调控不同模块的时钟频率。
2 系统软件设计
2.1 移动通信终端软件的设计
在设计的网络移动终端硬件基础上,设计网络移动终端的软件,其结构用图4描述。能够实现网络通信功能、绘制矢量地图以及实现人机交互。系统软件包括网络通信模块、定位数据采集和处理模块以及人机交互模块[5]。 网络通信模块可化简PPP协议以及TCP协议,向互联网中接入移动终端,同监控站塑造TCP连接,实现数据的稳定传输。网络通信模块包括系统主线程、GPRS数据采集线程、GPRS数据操作线程、应用数据上传线程和应用数据操作线程。定位数据采集以及处理模块能够采集GPS模块数据和有价值的数据。人机交互模块可绘制矢量地图并实现人机交互,同时线程LCD以及trace可及时跟踪显示网络移动终端。
2.2 软件功能模块的划分
本文设计的网络移动终端系统的软件功能由上层模块和底层模块构成,上层模块的详细过程是:
1) GPS控制模块采集串口中的GPS接收机数据信息,并对该信息实施解析[6],集成经纬度、方向以及时间等信息,在数字地图中呈现;
2) 语言通信控制模块采用软键盘以及通过电话簿拨号,完成同相关节点间的语言通信;
3) 短信收发控制模块采用发送端在短信内容中融入帧头的方式,对GPS信息、文字命令对应的代号信息以及其他短信进行判断,接收端依据帧头信息内容向各模块传输相关的信息;
4) 短信收发控制模块的发送端将帧头融入的短信内容汇总,进而对GPS信息、文字命令对应的代号信号以及相关信息进行判断,接收端基于帧头信息向各模块传输相关信息;
5) 数据通信控制模块采用拨号塑造连接后,向被叫方传输主叫方的信息以及主叫方在数字地图中描述的路线,并实施短信收发功能,基于实际的网络状态选择数据通信以及短信业务实现数据传递[7];
6) 拨号控制模块实现电话簿性能,命令控制模块将命令、对话内容采用(编码、命令行)的格式存储到文件内。
下层模块的详细过程如下:
1) 串口接口控制模块采用Linux的串口操作函数完成GPS和Q2358C模块处理,通过线程完成Q2358C串口监听过程,实现串口状态的监听和判断,基于不同的串口情况向各存储缓存内传输串口数据,同时设置相关的标志位;
2) Q2358C通信控制模块通过AT指令集运行,并设计相关的函数为应用软件层实现通信提供基础,这些函数通过指令完成相关功能,同时对Q2358C内的其他信息进行操作。Q2358C模块采用串口同系统实现信息的交互,本文通过线程方案监测串口狀态,串口包括监听状态、数据连接状态以及语音连接状态。若网络移动通信系统发送数据,则Q2358C分析状态进行后续的操作。本文软件系统的功能模块划分结构图用图5描述。
2.3 Linux移动终端设备驱动设计
嵌入式移动终端主要包括驱动程序以及应用程序,本文通过FS2410设计平台内的Bootloader指导Linux 2.4内核,再搭建面向FPGA板设计的驱动程序fpga.0,采用驱动程序接口实现FS2410同FPGA间的数据通信,设备驱动操作集合用图6描述。本文主要分析嵌入式Linux 2.4内移动终端驱动程序的设计过程。Linux设备驱动程序集成在内核内,是一种可对系统硬件控制器实施操作的软件,设备驱动程序时内核内拥有高级别的可共享的下层硬件操作例程。设备驱动程序软件中集成了调控相关设备的技术方法[8],采用相关的接口输出操作集。内核使用规范的设备接口,采用稳健系统接口向用户空间程序内输出设备操作内容。
操作系统内核以及应用程序间的接口是系统调用,操作系统内核同机器硬件间的接口是设备驱动程序,设备驱动程序是内核的一部分,其具备的功能如图7所示。
设备驱动程序可进行设备的初始化以及释放操作,向硬件传输内核中的数据以及采集硬件内的数据,采集应用程序反馈给设备文件的数据,并回送应用程序申请的数据[9],对设备存在的错误事实进行检测和操作。Linux内设备驱动的组织结构由如下三个部分组成:endprint
1) 对初始化子程序实施自主设置,对待驱动硬件设备的存在和运行状态实施分析,若设备正常运行,则对设备及其驱动程序采用的软件状态实施原始设置。
2) 服务于I/O申请的子程序是驱动程序的上端部分,该部分程序在运行过程以及调用过程中都归属于相同进程,仅从用户态调整成内核态,从其内调用同进程运行环境相关的函数。
3) 中断服务子程序是驱动程序的下端,网络移动终端设备在I/O申请停止时以及其他产生波动状态的情况下会形成中断。中断形成在任何进程运行过程中,中断服务子程序被调用过程同进程的状态相独立,无法调用同进程运行环境相关的函数。设备驱动程序支撑同種类型的不同设备,系统调用中断服务子程序过程中,通过惟一标识申请服务设备。
3 实验与分析
3.1 代码量与可信计算基评估
本文设计的移动终端中不同组件的C程序代码近似行数用表1描述。其中,TCB用于描述一台设备的可信运算基,是确保设备安全所需的全部软件、硬件以及固件,TCB的规模越小,形成可被攻击漏洞的概率越小,网络移动终端的安全性越高。从表1能够看出,本文设计的网络移动终端的TCB软件部分仅有约8 900 LOC,而投入移动商业市场的某种型号的SW安全移动终端OS的TCB为6 000 LOC,说明本文设计的网络移动终端的LCB规模较低,系统安全的可控性较高。
3.2 网络移动终端性能检测
对本文设计的网络移动终端在运行相关方案时所需的相关操作进行检测,具体的操作内容和运行时间如表2所示。其中,云服务申请以及响应消息对详细的云服务命令不予分析,对不同操作时间开销取100次运行的均值。
分析实验结果能够得出,本文网络移动终端通过对称加密以及消息摘要算法的数据封装和解封处理、接入申请生成、验证响应解析以及云服务申请生成和云服务响应解析的时间开销都低于0.15 ms,这些处理过程在移动终端运行实验方案过程中被大量采用。本文网络移动终端采用非对称加解密以及签名验证算法,产生授权申请以及授权响应耗时119 ms,该情况只在用户第一次采用移动设备等3类状态下运行,具有较低的使用频率,对用户产生的困扰可不予考虑。综合分析表2中的数据可得,本文设计的网络移动终端运行性能高,不同操作产生的等待延时不会对用户产生困扰。
3.3 服务端方案性能评估
实验检测采用本文设计的网络移动终端为应用服务提供商A以及云服务提供商C,提供所需相关操作的响应情况。应用服务提供商A需要对发送的授权申请消息进行采集和解析,验证消息后产生授权响应消息,该过程为一次响应。实验检测本文网络移动终端完成一次响应耗费的时间,取运行100次的均值,结果是单线程响应耗时13.186 ms。实验还统计了本文网络移动终端和基于WinCE的网络移动终端采集大规模授权申请过程中采用线程池并发运行的状态下实现单条响应,耗费的时间用图8描述。
分析图8可得,并发申请数量从100个提升到500个的情况下,本文移动终端的单条申请响应时间从400 ms提升到2 200 ms,传统移动终端的单条申请响应时间从450 ms提升到5 000 ms,能够看出本文移动终端耗费的时间更少,具有较高的运行效率。
云服务提供商C需要采集以及解析移动终端反馈的接入申请消息,对其实施验证后产生验证响应消息,该过程为一次响应,实验统计本文网络移动终端单线程实现一次响应耗时0.015 ms,具有较高的效率。实验还检测了本文网络移动终端以及基于WinCE的网络移动终端在并发运行状态下实现单条响应的时间,结果用图9描述。分析图9可得,由于并发申请量的不断提高,本文移动终端单条申请的响应时间从0.02 ms提升到0.09 ms,绝对数值同提高幅度较低;而传统移动终端单条申请的响应时间从0.02 ms 提升到0.12 ms,具有较高的提高幅度。因此,相对于传统移动终端,本文网络移动终端具备较强的性能。
综合上述分析结果可得,本文设计的网络移动终端对于移动用户来说具有较高的运行效率,全部操作等待以及服务响应时延都在用户可接受的范围内,实用性较强。
4 结 语
本文开发并设计了基于嵌入式Linux的网络移动终端,极大地提高了网络移动终端的运行效率和质量,提高了用户的满意度。
参考文献
[1] 章梦玄,赵英,范娇颖.面向移动终端的网站无障碍设计研究[J].现代情报,2016,36(5):110?116.
ZHANG Mengxuan, ZHAO Ying, FAN Jiaoying. Research on Web accessibility design for mobile terminals [J]. Modern information, 2016, 36(5): 110?116.
[2] 杜家宜,李仁发,堵琳娜.多核嵌入式系统内联网络优化调度[J].计算机工程与科学,2016,38(4):617?623.
DU Jiayi, LI Renfa, DU Linna. Task optimization scheduling to inter?connection network on embedded system with chip multi?processors [J]. Computer engineering and science, 2016, 38(4): 617?623.
[3] 李洪亮,吴琼.嵌入式网络电子信息系统鲁棒性优化计算方法[J].计算机仿真,2016,33(8):264?267.
LI Hongliang, WU Qiong. Embedded ship electronic information system of reliability optimization design method [J]. Computer simulation, 2016, 33(8): 264?267.endprint
[4] 李辉,庄杰,王佳明.基于ARM?Linux的移动终端高稳定VGA接口设计[J].计算机工程与设计,2014,35(4):1236?1241.
LI Hui, ZHUANG Jie, WANG Jiaming. High stability mobile terminal of VGA interface design based on ARM and Linux [J]. Computer engineering and design, 2014, 35(4): 1236?1241.
[5] 李晓丹.基于STM32的物联网嵌入式网关的设计[J].计算机工程与应用,2015,51(4):61?65.
LI Xiaodan. Design of IOT embedded gateway based on STM32 [J]. Computer engineering and applications, 2015, 51(4): 61?65.
[6] 胡雯,赵海廷.基于嵌入式系统的Linux网络远程监控设计[J].科技通报,2015,31(8):72?74.
HU Wen, ZHAO Haiting. Linux network remote monitoring design based on embedded system [J]. Bulletin of science and technology, 2015, 31(8): 72?74.
[7] 黄笑笑.嵌入式多媒体通信中节能路由选择仿真研究[J].计算机仿真,2017,34(3):173?176.
HUANG Xiaoxiao. Simulation of energy saving routing in embedded multimedia communication [J]. Computer simulation, 2017, 34(3): 173?176.
[8] 刘仲方,郑丹丹,冉帆.多网络调制混合滤波器嵌入式控制系统设计[J].控制工程,2016,23(3):318?321.
LIU Zhongfang, ZHENG Dandan, RAN Fan. Design of embedded control system for multi?network modulation hybrid filter [J]. Control engineering of China, 2016, 23(3): 318?321.
[9] 田时舜,章明朝,周跃,等.基于DM8148的嵌入式网络视频服务器设计[J].计算机工程与设计,2015(5):1192?1196.
TIAN Shishun, ZHANG Mingchao, ZHOU Yue, et al. Design of embedded network video server based on DM8148 [J]. Computer engineering and design, 2015(5): 1192?1196.endprint