基于ARM和Linux的嵌入式信息终端系统的设计与实现

2007年第24卷第6期微电子学与计算机收稿日期:2006-11-23
1引言
随着嵌入式技术的飞速发展,特别是嵌入式微
处理器处理能力的大幅提高和操作系统在嵌入式产品中的广泛应用,将嵌入式设备作为一定领域内信息交互的终端载体已经成为一种趋势。
ARM系列微处理器是典型的32位RISC体系
结构,支持Thumb/ARM双指令集,指令长度固定,
执行效率高,大多数数据操作都在寄存器中完成,指令执行速度更快。与其他的嵌入式操作系统相比,Linux以其开源、定制灵活、硬件支持广泛、内置网络支持等特点,在嵌入式领域得到广泛的认同。
2系统体系结构
嵌入式信息终端系统是专门以嵌入式设备作
张志俊解密太极拳
为信息交互的终端载体开发的,其主要目的利用嵌入式设备体积小、携带方便的优势,为用户提供快捷、便利的信息服务。
嵌入式信息终端系统包括硬件层、操作系统层和应用软件层3个部分。
系统采用硬件和软件组合设计的方法[1]。硬件层以嵌入式微处理器为核心,提供对信息终端系统的硬件支持,嵌入式操作系统实现对系统硬件的管理和支持上层应用程序的运行。应用程序层则以数据为中心,通过信息读写和数据查询,实现与用户之间的动态信息交互。
3系统硬件模块设计与实现
嵌入式信息终端系统的硬件层包括硬件核心
资源和硬件扩展资源两部分,其中硬件核心资源是嵌入式设备硬件功能实现的基础,而硬件扩展资源通过扩展相应的硬件接口实现系统广泛的硬件功能支持。
3.1硬件核心资源
嵌入式信息终端系统的硬件核心资源以嵌入
式微处理器为核心,主要包括存储设备,输入输出设备和电源设备等。
本系统选择基于Xscale内核的IntelPXA270[2]
嵌入式微处理器,采用ARMV5TE体系结构,其工作频率520MHz,最高主频可达624MHz,主要集成
基于ARM和Linux的嵌入式信息终端系统
的设计与实现
徐宝成,王
(西安理工大学计算机科学与工程学院,陕西西安710048)
要:提出了一种基于ARM和Linux的嵌入式信息终端系统的设计方案,并给出了一个基于该方案的信息终
端系统应用实例的实现过程。通过对嵌入式信息终端进行硬件功能设计和扩展,阐述了在该嵌入式终
端设备上实现Linux操作系统移植、SQLite数据库协议扩展以及信息交互服务的实现过程。关键词:嵌入式系统;ARM;Linux;SQLite;信息交互中图分类号:TP31
文献标识码:A
文章编号:1000-7180(2007)06-0049-03
DesignandRealizationofEmbeddedSystemforInformation
TerminalBasedonARMandLinux
XUBao-cheng,WANGLei
(SchoolofComputerScience&Engineering,Xi′anUniversityofTechnology,Xi′an710048,China)
Abstract:ThispaperproposedadesignofembeddedsystemforinformationterminalbasedonARMandLinux,and
realizedoneofitsappliedexamples.Inwhich,basedondesignanddevelopingfunctionsofembeddedterminalhard-ware,themethodproposedinthispaperfocusesontheimplementoftransplantingLinuxoperatingsystemandexpand-ingSQLitedatabaseprotocolsforembeddedterminal,serviceofinformationexchangebyembeddedterminalinfinal.Keywords:embeddedsystem;ARM;Linux;SQLite;informationexchange
49
微电子学与计算机2007年第24卷第6期
外围功能控制器有:存储单元控制器、时钟和电源控制器、DMA控制器、LCD控制器、触摸屏控制器、实时时钟、系统定时器、中断控制器、通用异步串行接口(UARTs)、通用输入输出端口(GPIO)等。
PXA270提供3个UART接口,1个USBSlave接口等等,也可以扩展串口和并口。支
持单扫描和双扫描,有TFT、STN显示模式,附加适当的转换电路,还可接普通的液晶、CRT显示器。为了满足实际的要求,还需要,一般还需要增加10Mb的以太网控制器、USBHost控制器。基于PXA270的嵌入式信息终端硬件系统框图如图1所示。
3.2硬件扩展资源
为了实现嵌入式终端与手机之间的短信息交互服务,需要在硬件层扩展手机通信模块。手机通信模块选用SIMENS的TC35i[3],使用MAX232CPE芯片实现电平转换及串口通信的功能。TC35i模块通过MAX232CPE芯片与嵌入式终端的IrDAUART相连,实现SIM卡上的短信息的读写。手机通信模块硬件结构如图2所示。
4系统软件设计与实现
系统软件采用B/S与C/S混合的模式,嵌入式信息终端系统通过网络完成嵌入式终端与服务器之间的通信。一方面,嵌入式终端通过与服务器通信,在嵌入式终端上动态浏览服务器端以WEB形式发布的信息;另一方面,通过与嵌入式设备终端的通信,对用户交互的信息进行存储和管理。系统软件结构图如图3所示。
下面分别从嵌入式操作系统移植、嵌入式数据库协议扩展和信息交互程序三个方面介绍系统软件设计与实现的过程。张培基
4.1嵌入式操作系统移植
PXA270支持WindowsCE.NET和Linux等操作系统,嵌入式Linux内核一般由标准的Linux内核裁减而来。Linux2.6内核[4]相对于目前广泛使用的Linux2.4内核在很多方面有重大改进,尤其是在内核的可配置性和实时性方面的改进,使得Linux更加适合于嵌入式方面的应用。
本系统选用Linux2.6.11内核,在建立ARM-Linux交叉编译环境后,根据嵌入式终端的硬件资源对Linux进行剪裁。剪裁完毕后,在/usr/src/linux目录下输入命令:
makemenuconfig
在Linux2.6版本的配置选项中,有一个“[*]Removekernelfeatures(forembeddedsystems)”选项是专门针对于嵌入式应用的,合理的配置该选项可以使内核显著减小。配置完毕后输入命令:
makedep
makezImage
通过编译后,在/linux/arch/arm/boot目录下生成镜像文件zImage。使用TFTP将zImage下载到嵌入式终端上。
4.2嵌入式数据库协议扩展
SQLite数据库是一种中小型的嵌入式数据库,编译后大小仅为几十KB,可以方便地运用于嵌入式系统之中。SQLite能够与Linux操作系统以及具体应用集成在一起,不需要独立运行数据库引擎
,50
由程序直接调用API函数实现对数据的存取。
向嵌入式终端移植嵌入式数据库SQLite3.3.5,并为SQLite设定网络数据库操作协议,将其扩展为单连接的异步通讯网络数据库[5]。SQLite数据库中存储的数据用于短信息交互服务,实现用户信息查询和数据上传管理。
扩展SQLite数据库的方法是编写网络通讯服务程序,监听网络端口。当收到数据库查询连接时调用SQLite的API函数,将结果通过网络回复给查询连接。网络数据库的协议定义如下:
!SQLite数据库服务器为单用户服务器,同时只能接受一个客户端的连接;
!SQLite的每个会话,以服务器对连接的允许开始,到客户端发送quit字符串结束;
!SQLite的会话内容为SQL语句的对话,每次对话以客户端发送SQL语句开始,服务器返回结果后返回OK结束;
!每个SQL语句对话过程先是客户端发送SQL语句,服务器收到SQL语句后,执行SQL语句,然后将结果集返回。
由于结果集的大小不确定,故采用异步方式返回。即服务每次发送一个行结果时,必须等待客户端发送一条继续的握手消息。在等待结果集返回之后,服务器再返回数据库的操作提示,最后返回OK。
4.3嵌入式信息交互程序设计
嵌入式终端作为系统信息交互服务的客户端,用户通过嵌入式浏览器浏览以WEB形式发布在服务器上的信息资源,同时用户还可以利用手机短信的方式与服务器端进行信息交互。系统管理员可以在服务器端进行服务器端和客户端信息管理和数据更新,同时也可以利用手机短信的方式实现信息的上传管理。
4.3.1用户短信息交互
系统通过TC35i实现短信收发,通过对用户短信解析,查询SQLite数据库中与用户短信新匹配的信息,并以短信息的形式回复用户。
短信收发程序通过向串口写AT指令[6]进行pdu解码、编码来实现短信收发。在pdu编码程序中绝大部分字符输入都是GB2312的字符串,需要通过GB到UCS16转换表进行转化。而在pdu解码程序中由于中英文信息采用不同的编码格式,一般英文短信使用7位编码,而中文短信使用UCS16编码。所以解码的时候需要考虑两种可能:
对7位编码的数据,将字符串类型的16进制字符串转换7位的比特流。通过短整型变量读出16位,用掩码((0x07f<<j))>>j)进行提取实现7位比特流转化为8位比特流。将7位存入8位字符的低7位,高位补0。
对于UCS16编码的数据,将16进制字符串转换为比特流形式,再把比特流填充到字符串数据中,使用中文编码转换库,将USC16的字符串转换为gb2312。
串口通讯程序,通过向手机通信模块发送AT指令,调用PDU编码、解码程序,实现用户查询短信的自动回复。
本程序采用查询的方式进行短信息的读写。首先清空系统SIM卡中所有短信息,从i=1(1为最小值)开始查短信息(AT+CMGR=i),如果到短消息,对pdu解码进行相应的信息后回复短信息,最后将这个位置的短信息删除。使用查询方式进行短信息读写虽然耗时较多,但可以同时接收多条短信。
查询检测方式利用新的短信息总是存储在i值最小的位置的特点,首先清空SIM卡中所有短信息,从i=1(1为最小值)开始查短信息(AT+CM-GR=i),如果到信息,认定其为新的短信息,进行PDU解码,读取该信息。最后将这个位置的短信息删除。
4.3.2信息上传管理
信息上传管理就是授权用户和系统管理员利用手机上传的特定信息对嵌入式终端的SQLite和服务器端的SQLServer数据库进行更新管理。
和用户短信息交互一样,信息上传管理也要对用户发送的信息请求进行解析,并完成相对应的操作。为了满足与用户信息交互的准确度高和用户信息上传的完整性强的目标,系统采用固定请求信息的格式。通过在上传信息中设定用户身份标志,区别系统中上传信息与用户交互信息。
信息上传管理程序通过监听系统绑定的网络端口,接受手机短信交互模块转发的授权用户上传请求信息,在完成信息解析后,将字符串信息组织成数据链表的形式进行存储,根据数据链表相应节点的内容利用嵌入式数据库网络协议和ADO接口完成对嵌入式终端和服务器端数据库的同步更新操作,并在收到对应的更新应答后将该数据链表删除。
(下转第55页)
5结束语
利用嵌入式技术设计并实现了一个基于ARM和Linux的嵌入式信息终端系统,该系统相对于传统的基于的PC终端具有体积小、部署方便的优势。嵌入式终端可以利用无线网络接口与服务器互联,能构架在计算机网络和移动通信网络之上。该系统能够满足用户信息交互时空限制小和信息可携带的要求,符合目前数字化信息服务的趋势,具有实际应用和推广价值。
参考文献:
tek062[1]AhmedAJerraya,WayneWolf.Hardware/Softwareinter-facecodesignforembeddedsystems[J].IEEEComputer,2005,38(2):63 ̄69
[2]IntelPXA27xProcessorFamilyDeveloper'sManual[Z].
IntelCorp,April2004
[3]TC35iCellularEngineHardwareInterfaceDescription[Z].SiemensVersion,2002
[4]BrandonWhite.Linux2.6:ABreakthroughforEmbeddedSys-tems[EB/OL]..http://www..linuxdevices.com/articles/AT775136eis
5763.htmlSep.2003
太平洋cs
[5]黄布毅,张晓华.基于ARM-Linux的SQLite嵌入式数据库技术[J].单片机与嵌入式系统应用,2005
[6]ATCommandSet[Z].SiemensVersion,2002
作者简介:
徐宝成男,(1980-),硕士研究生。研究方向为嵌入式系统、分布式系统。
王磊男,(1972-),教授,硕士生导师。研究方向为人工免疫系统、智能信息系统。
多,图7是字形样例。
实验中测试了不同字数的字库,当字库中只包含GB2312的6763个汉字时,字库的大小是1105kB,平均每个汉字167字节;当字库中包含GBK的21003个汉字时,字库的大小是1996kB,平均每个汉字只有97字节。可以看出,字库中字数越多,字库的压缩比就越高。
5结束语
随着体积小、携带方便的嵌入式设备越来越普及和显示精度的提高,曲线字将会取代点阵字成为嵌入
式设备的主要字库。文中介绍了一种汉字字库的压缩方法,针对嵌入式系统的特点选用合适的字库,解决了部件重用字库难以实用的问题,并采用此方法制作出了符合GBK规范的压缩TrueType字库。这种字库的字形是由设计人员设计制作的,字库格式完全符合TrueType的标准,数据量比普通的TrueType字库小很多,较大幅度地减少了数据存储量,以满足嵌入式设备的需要。参考文献:
[1]段华伟,黄灵阁.计算机文字处理技术现状[J].印刷质量与标准化,2004,(5):39 ̄41
[2]WrightT.Historyandtechnologyofcomputerfonts[J].AnnalsoftheHistoryofComputing,IEEE,1998,20(2):30 ̄34
[3]Microsoft.Opentypespecification[EB/OL].http://www.mi-crosoft.com/typography/otspec/,2004
[4]陈志成,何华灿,毛明毅.GB18030字库的解读与压缩封装程序设计[J].计算机工程与应用,2002,(18):119 ̄121
[5]PaulYiuChungWong,SiuChiHSU.DesigningChinesetypefaceusingcomponents[C].COMPSAC95.Proceed-ings.,NineteenthAnnualInternational.Aug.1995:416 ̄421
[6]冯万仁,金连文.基于部件复用的分级汉字字库的构想与实现[J].计算机应用,2006,26(3):714 ̄716
[7]LAIPK,YeungDY,PongMC.Aheuristicsearchap-proachtochineseglyphgenerationusinghierarchicalcharactercomposition[J].ComputerProcessingofOrientalLanguages,1996,10(3)
作者简介:
林麝唐英民男,(1962-),高级工程师。研究方向为文字与图形信息处理。
张艳霞女,(1982-),硕士研究生。研究方向为文字与图形信息处理。
吕肖庆男,(1967-),副研究员。研究方向为新一代智能排版系统,多语种与民族文字信息处
理,人机界面
!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!(上接第51页)

本文发布于:2024-09-25 08:28:26,感谢您对本站的认可!

本文链接:https://www.17tex.com/xueshu/264561.html

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。

标签:信息   系统   硬件
留言与评论(共有 0 条评论)
   
验证码:
Copyright ©2019-2024 Comsenz Inc.Powered by © 易纺专利技术学习网 豫ICP备2022007602号 豫公网安备41160202000603 站长QQ:729038198 关于我们 投诉建议