(12010519821020xxxx天津市300000)
摘要:随着嵌入式技术的飞速发展,将嵌入式设备作为一定领域内信息交互的终端载体已经成为一种趋势。在信息服务数字化、移动化的背景下,传统基于PC―Internet的信息交互平台已经越来越无法满足人们对于信息交互及时性、就地性和信息可携带性的要求。
关键词:嵌入式终端;Linux;XScalePXA270;短信交互;数据上传
1PET体系结构
1.1硬件层
硬件层以Intel公司的XScalePXA270微处理器[4]为核心,同时扩展了存储器(64MBSDRAM和32MBNORFLASH)、以太网控制芯片(LAN91C111)、USB主控芯片(CY7C67300)、LCD/触摸屏显示控制模块等硬件资源,从而实现信息发布、存储和网络传输的硬件支持。
为了实现嵌入式终端与手机之间的短信息通信,在PET硬件层上扩展手机通信模块。手机通信模块选用SIMENS的TC35i[5],使用MAX232CPE芯片实现电平转换及串口通信的功能。TC35i模块通过MAX232CPE芯片与嵌入式终端的StandardUART相连,实现SIM卡上的短信息的读写。
1.2操作系统层
在硬件层之上,是操作系统层。本平台中使用嵌入式Linux操作系统,负责硬件系统的管理和用户程序的运行。
嵌入式Linux内核由标准的Linux内核裁减而来,在Linux2.6版本的配置选项中,有一个Removekernelfeatures(forembeddedsystems)选项是专门针对嵌入式应用的,合理配置该选项可使内核显著减小,使Linux更加适合于嵌入式方面的应用。本平台选用Linux2.6.10内核,在完成Linux内核移植后,需要根据实际应用对其进行功能扩展,包括底层的硬件驱动、文件系统、用户图形界面等,建立一个面向实际应用的RTOS。
1.3应用程序层
应用程序层构架在硬件层和操作系统层之上,其主要功能是以数据为中心,负责进行信息读写、数据查询和上传管理,实现与用户之间的动态信息交互。
信息读写是对PET的手机通信模块上SIM卡存储的信息进行PDU解码、编码实现对用户交互短信息的读写。
数据查询是通过对用户发送信息的内容进行解析,在终端数据库中查询与用户发送信息内容匹配的相关数据。
上传管理根据授权用户发送的信息请求对PET数据库和服务器端的数据库进行更新,实现数据上传管理。
2PET应用程序层
2.1手机短信交互
PET通过手机短信交互模块实现短信收发,通过对用户短信解析,查询SQLite数据库中与用户短信匹配的信息,以短信的形式回复用户。
短信收发程序通过向串口写AT指令[6]进行PDU解码、编码来实现短信收发,它由以下两部分组成:
(1)短信内容的编、解码程序,实现短信PDU格式的编码和解码。
PDU编码程序中s_PDU类用于发送PDU的编码,其中有一个重要的接口函数voids_PDU::setUD(char*s)。字符输入s中采用GB2312的字符串,需要通过GB2312到UCS16转换表进行字符格式的转化。
PDU解码程序中,r_PDU类用于PDU解码。其中接口函数boolr_PDU::getFrom(char*s)用于PDU包的输入。输入后,保存其中的手机号和短信息的内容。
对于UCS16编码的数据,将16进制字符串转换为比特流形式,再把比特流填充到字符串数据中,使用中文编码转换库,将USC16的字符串转换为GB2312。
(2)串口通讯程序,通过向手机通信模块发送AT指令,调用PDU编码、解码程序,实现用户查询短信的自动回复。
在串口通讯程序中有两种方式对发送到PET未处理的信息交互请求进行检测,一种是通过设置新信息提示标志的方式实现,另一种是通过查询检测的方式实现。
对于设置新信息提示标志的方式,使用“AT+CNMI=2,1”命令可以设置有新短信息时立即提示。这样程序不断使用超时为1μs的串口程序读新信息提示。当读到新信息提示时,通过分析其内容获得新短信存储在SIM的i位置,使用AT+CMGR=i读取i位置的短信息的PDU数据,对其解码,进行新短信息的读取。
查询检测方式利用新的短信息总是存储在i值最小的位置的特点,首先清空SIM卡中所有短信息,从i=1(1为最小值)开始查找短信息(AT+CMGR=i),如果找到信息,认定其为新的短信息,进行PDU解码,读取该信息。最后将这个位置的短信息删除。
2.2数据上传管理
数据上传管理就是利用授权用户手机上传的特定信息对PET的SQLite和服务器端的SQLServer数据库进行更新管理。
和短信交互模块一样,数据上传管理也要对用户发送的信息请求进行解析,并完成相对应的操作。为了满足与用户信息交互的准确度高和用户数据上传的完整性强的目标,本平台采用两种请求信息的格式。
通过解析上述格式的信息,采用分类操作,不同类型的信息通过调用相应的数据库操作进行更新。考虑到本平台中用户查询信息量大、发布信息量相对较小,为方便用户操作,普通用户的交互信息请求采用缺省的信息格式,而授权用户或系统管理员的上传信息请求采用完整的信息格式。
数据上传管理程序通过监听系统绑定的网络端口,接受手机短信交互模块转发的授权用户上传请求信息;在完成信息解析后,将字符串信息组织成数据链表的形式进行存储,根据数据链表相应节点的内容利用嵌入式数据库网络协议和ADO接口完成对PET和服务器端数据库的同步更新操作,并在收到对应的更新应答后将该数据链表删除。
3平台应用与测试
为了方便管理员对服务器端SQL数据库和PET端SQLite数据库的同步管理,以及大规模的数据更新操作的任务(数据上传管理完成数据量较小的更新操作),本平台在还专门设计了数据库协调同步管理程序。该程序通过设定SQLServer数据库和SQLite数据库中数据的关联关系,对两个数据库进行同步更新,便于管理员进行信息管理。
系统完成用户信息交互和数据上传管理的时间包括信息处理时间和移动网络通信时间两部分,其中信息处理时间经嵌入式软件测试工具CodeTEST检测为ms级,而通信时间受到移动网络通信状况等因素的影响一般为s级,信息处理时间相对于移动网络通信时间几乎可以忽略,能够满足用户信息交互的实际需要。
结语:
综上所述,嵌入式终端可以利用无线网络接口与服务器互联,能构架在计算机网络和移动通信网络之上。通过此方案实现的校园信息交互系统满足了校园用户信息交互时空限制小和信息可携带的要求,符合目前数字化校园信息服务的趋势,方便“一校多地”用户实现跨地区的分布式信息协同交互,具有实际应用和推广价值。
参考文献:
[1]赵芳,栾晓明,孙越.数字图像几种边缘检测算子检测比较[J].自动化技术与应用,2009,28(3):68.
[2]管宏蕊,丁辉.图像边缘检测经典算法研究综述[J].首都师范大学学报(自然科学版),2009(z1):66?69.