2024年5月25日发(作者:)

基于ARM的嵌入式藏文电子阅读器的设计与实现

童英华;耿生玲

【摘 要】To promote the development of national characters'

informatization, an embedded Tibetan E-reader which combined with QT

technology is designed, It is based on ARM9 embedded development

platform and extend SDRAM module, USB module, Ethernet control

module and touch screen module. The architecture of the system,

hardware principle diagram and software design process are described. In

the test, the system successfully achieved graphic user interface of tibetan

reader application program, and can display, read and edit Tibetan eBook

such as TXT, HTML, PDF, DOC format, at same time images including BMP,

JPEG, PNG can be browsed, the system is proved to be stable, reliable,

portable and flexible.%为推动民族文字信息化的发展,利用ARM9嵌入式开发

平台,通过扩展SDRAM模块、USB模块、以太网控制模块和触摸屏模块,结合

QT技术,设计了一款嵌入式藏文电子阅读器。论文给出了系统的总体架构,硬件

实现原理框图及软件设计流程。实验结果表明,该系统成功实现了全藏化的阅读器

应用程序界面,并可以支持TXT、HTML、PDF、DOC格式的藏文电子书的正常

显示、阅读和编辑,同时可进行BMP、JPEG、PNG等格式的图片文件的浏览,

系统运行稳定、安全可靠,使用便携灵活。

【期刊名称】《电子设计工程》

【年(卷),期】2016(000)001

【总页数】4页(P138-140,143)

【关键词】ARM微处理器;QT;嵌入式系统;藏文字;电子阅读器

【作 者】童英华;耿生玲

【作者单位】青海师范大学 计算机学院,青海 西宁 810008;青海师范大学 计算机

学院,青海 西宁 810008

【正文语种】中 文

【中图分类】TN98

随着嵌入式技术、网络技术和通信技术的飞速发展,各行各业都在设计和引进专用

的PC系统进行大量的信息收集、传送、处理、储存及信息的交换和获得;同时考

虑到国家在推进信息化建设的过程中,藏文信息处理在我国政治、经济、文化等社

会各方面的重要性,并将对社会的发展带来巨大的效益[1]。 在此背景下,根据

目前我校一些课题组在软件开发以及藏文信息处理方面的研究现状,文中设计了一

款嵌入式的藏文阅读器,并深入地研究和分析了QT的本地化框架实现的关键技术,

成功实现了基于QT的藏文阅读器的开发。

嵌入式藏文电子阅读器的设计与实现包括硬件、固件、软件3个层面,系统总体

框图如图1所示。硬件部分采用基于Samsung公司的S3C2410嵌入式微处理器

为核心搭建了外围硬件电路。固件部分工作由U-BOOT引导,移植了嵌入式

Linux 2.6.24内核、配置YAFFS根文件系统,并进行了Linux设备驱动程序的开

发。修改后的U-boot支持从NAND Flash启动、烧写yaffs2映像文件、通过

TFTP协议下载文件以及NFS方式挂载文件系统等功能。软件部分实现了在QT/

Embeded环境下,Q-Reader应用程序的开发,该软件支持TXT、HTML、PDF、

DOC格式的藏文电子书的正常显示和阅读,可实现触摸或按键翻页、书签添加、

背景色和字体设置等功能;并支持BMP、JPEG以及PNG格式的图片文件的浏览。

嵌入式的藏文阅读器硬件原理框图如图2所示,是以搭载ARM 9处理器的嵌入式

平台为主,在外围扩展功能模块来实现的。本系统采用了Samsung公司推出的

16/32位RISC处理器S3C2410A,非常适合为手持设备和一般类型应用提供低价

格、低功耗、高性能小型微控制器的解决方案。S3C2410作为系统的处理核心,

同时也为各外部电路提供接口。

SDRAM用来存放系统运行过程中系统以及用户的数据、堆栈等,通过数据总线并

联的方式扩展了SDRAM存储器。NAND Flash用于存放嵌入式操作系统的引导

程序和内核文件以及用户应用程序和其他在系统掉电后需要保存的数据。电源管理

模块,用来为系统各部分提供多组电源。

嵌入式的藏文阅读器系统在存储电子书、图片等多媒体文件需要较多的存储空间

[2],S3C2410内置一个USB设备接口,兼容USB 1.1规范标准,但不满足系统

的设计需要,所以通过一个USB1.1主接口连接USB集线器的方式扩展出了4 个

USB设备接口,可支持U盘、移动硬盘等外围存储设备。同时为了保证系统能通

过网络浏览信息,下载文件,在本设计中添加了以太网控制芯片DM9000芯片,

并设计了其外围电路,同时配以底层软件驱动程序。

由于S3C2410芯片内部触摸屏和ADC接口是集成在一起的,S3C2410的触摸屏

接口向外提供4个控制信号引脚和2个模拟信号输入引脚(AIN[7]、AIN[5]),

这6个引脚通过4个晶体管与触摸屏的4个引脚相连,其中通道7(XP或AIN[7])

作为触摸屏接口的X坐标输入,通道5(YP或AIN[5])作为触摸屏接口的Y坐标

输入。

藏文电子阅读器是能够存储并显示藏文格式的电子读物,具有阅读管理及操作界面,

以阅读为主要功能的专用显示设备,是电子书的一种新型的显示介质和阅读载体

[3-4]。为了实现其功能,系统主要功能模块的详细设计流程图如下。

1)打开文件功能如图3所示。

2)创建文件功能如图4所示。

3)修改文件功能如图5所示。

4)阅读状态功能如图6所示。

4.1 藏文及编码方案

藏文作为藏族人民的书面交际工具,是一种拼音文字,属辅音文字型,分辅音字

母 、元音符号和标点符号3个部 分。其中有辅音字母30个,元音符号4个,

以及5个反写字母(用以拼写外来语)。此外,藏文中还有大量的梵音的藏文转

写字。藏文字形结构均以一个辅音字母为核心,其余字母均以此为基础前后附加和

上下叠写 ,组合成一个完整的字表结构。通常藏文字形结构最少为一个辅音字母 ,

即单独由一个基字构成,最多由6个辅音字母构成,元音符号则加在辅音结构的

上、下、正中。核心字母叫“基字”,其余字母的称谓均根据其加在基字的不同部

位而得名。

藏文编码即 《信息技术 信息交换用藏文编码字符集 基本集》国家标准,简称

“基本集”,于1997年正式颁布,国家标准规定了藏文基本字符的集合及其编码

表示[5],没有对任何藏文纵向组合字符(VCC)进行编码,另外,该标准还规定

了3个实现规则,编码字符集位于 Unicode(ISO/IE C 10646BM P)

U+0F00~U+0FBF。

为了减少藏文信息处理技术的复杂性,我国在《基本集》国家标准的基础上,

2007年国家又制定并通过了 《信息技术藏文编码字符集 扩充集 A》,占用

ISO10646基本多文种平面的专用用户区[6],共收录1 536个藏文的垂直预组合

字符(V CC),所有字符在GB13000.1-1993的专用用户区编码,编码空间为

0xF300-0xF8FF,即 Unicode PUA区,每个字符的编码是2个字节;《信息技

术 藏文编码字符集 扩充集B》国家标准收录了 5 702个梵文的藏文转写字,占用

ISO/ IEC10646的OF辅助平面,编码位置是 0xF0000~0xF1645,每个字符的

编码是 3个字节[7]。

4.2 Linux的国际化、本地化及对藏文集的支持架构

Linux系统对藏文字的支持需要建立在其国际化机制的基础上,国际化机制的一个

重要方面就是对字符编码标准的支持。总体上看,Linux国际化框架呈现如图 7所

示的层次结构,Linux内核与国际化基本不相关,在其之上,基本库 、X Window

系统和图形构件库之间存在单向依赖关系,又共同构成了系统的国际化基础设施,

GUI应用程序通过综合使用这些层次提供的功能实现用户界面[8]。

基本库 (Glibc)、X核心系统已经对Unicode字符编码标准提供了较完整的支

持。图形构件库目前还存在较多问题,Q T提供了兼容不同国家文字的国际化文本

处理流程,即Q T国际文本处理引擎。应用UTF-32编码方案,通过修改程序参

数的类型、函数局部变量类型等,实现了QT对国家标准藏文扩充集A、藏文扩充

集B的支持,并在fedora运行环境下,底层库上可以处理藏文基本集、藏文扩充

集字符的文本。

4.3 嵌入式阅读器的藏化

QT在国际化、本地化方面做了很多的工作,输入法和不用语言的文字显示在QT

中是自动处理的。QT的字体引擎能够处理不同的语言混合使用,通过修改并配置

阅读器的字体库,添加藏文字体,就能实现藏文环境下的藏文电子文档阅读、编辑

功能。

同时,QT Linguist工具提供了支持多种语言翻译的功能,翻译的过程如下:1)

在QT的用户界面等处使用的本地语言文本都存在源代码中。QT为每个使用的短

语提供了上下文信息,程序员负责在需要的地方加入上下文信息;2)发布管理器

从源代码产生翻译文件,并传递给翻译人员;3)翻译人员使用QT Linguist编辑

一个翻译文件,打开相应的.ts源文件,输入翻译文本并存入翻译文件,该文件再

传回发布管理器;4)发布管理器再运行生成二进制的app_文件,在嵌入

式阅读器中使用 qt_translator加载文件即可。

应用程序员可以通过两种方式加载翻译文件,一种是硬编码的方式,直接指定加载

的语言;另外一种是通过自动判断翻译当前的local,再装入相应的翻译文件。

本系统设计完成后进行了一系列的测试验证系统预期的设计目的。测试表明,本系

统能成功地完成预期功能,1)可以对所有符合藏文编码的文件进行浏览。2)具

有书签功能,要实现书签插入、删除及跳转操作,并支持电子书快速跳转。3)为

满足阅读舒适度,加入背景色可更改功能。4)阅读电子书的时候支持触摸屏及机

械按键翻页功能。测试结果如图8所示。

文介绍了在嵌入式[9-11]平台下,藏文电子阅读器的设计与实现,主要的特色和创

新体现在以下几个方面:1)修改并配置了阅读器的字体库,使其能支持藏文环境

下的电子文档阅读、编辑功能;2)实现了界面和阅读环境的藏化,以及核心功能

的藏化;3)实现了书签功能,便于定位和阅读;4)使用Qt Linguist藏化了阅读

器源代码中所有可见的字符串;5)运行生成二进制的app_文件,在程序

中使用qt_translator加载文件,最终实现了全藏文的阅读器界面,以及藏文文档

的流畅阅读,系统运行稳定。由于少数民族信息化相对薄弱,电子阅读器本地化藏

文版的推出,将有效的解决民族信息化中遇到的语言瓶颈,推动民族文字信息化的

发展,本设计的实现可以有效推动藏区的信息化建设。

【相关文献】

[1]李庆诚,张安站,宫晓利,等.类纸阅读器在线读物系统的设计与实现[J].计算机工程,2012,

38(3):261-263.

[2]李强,刘时进.PDF阅读器的设计与实现[J].计算机工程与设计,2010,31(7):1635-1638.

[3]赵哲.ARM9平台基于Qt/Embedded的电子阅读器设计与实现[D].杭州:杭州电子科技大学,

2011.

[4]李永宏,何向真,艾金勇,于洪志.藏文编码方式及其相互转换[J].计算机应用,2009,29

(7):2016-2017.

[5]尼玛扎西,群诺,拥措,等.基于Unicode编码的藏文短信服务平台实现[J].计算机应用,2010,

30(2):319-320.

[6]谢谦,吴健,孙玉芳.Window核心系统的民文支持[J].中文信息学报,2005,19(4):97-104.

[7]张兴亮,芮建武,谢谦,等.藏文编码字符集的扩充集在Linux上的实现[J].中文信息学报,2007,

3(2):124-125.

[8]蔡志明,卢传富,李立夏.精通Qt4编程[M].北京:电子工业出版社,2011.

[9]乔强国.基于S5PV210模拟智能家居嵌入式系统的设计[J].中国科技信息,2013(9):88-89.

[10]李鹏.基于RapidIO的双主机节点嵌入式系统互联设计[J].电子科技,2014(4):135-137.

[11]李雪莲.嵌入式PLC的设计及通信功能的扩展[J].电子设计工程,2015(17):168-171.