免费论文查重: 大雅 万方 维普 turnitin paperpass

基于嵌入式盲人辅助手持系统设计-生

最后更新时间:2024-01-27 作者:用户投稿原创标记本站原创 点赞:4382 浏览:11561
论文导读:oader工作流程设计当Bootloader开始执行时,在其启动部分:首先对GPIO做初始化,为所有的GPIO端口设置一个默认值,这个默认值应该参考电路图以及系统的需要;接下来初始化中断控制器、设置CPU的运行频率、初始化OSTimer;上面的基本硬件初始化完成后,设置GPIOReset功能;最后完成Bootloader的启动过程,进入主程序。在主程
摘 要:基于WinCE的嵌入式盲人辅助系统采用ARM11处理器iMX31。用户在语音菜单的向导下,通过键盘实现指令的输入,来控制系统完成上网、阅读语音电子书、欣赏音乐等操作。
摘自:7彩论文网硕士论文答辩技巧www.7ctime.com
关键词:WinCE,嵌入式系统,文本-语音转换
1 引言
近年来,Internet与网络的应用迅速普及,并向家庭领域不断扩展,使消费电子、计算机、通信一体化趋势日趋明显,嵌入式系统再度成为研究与应用的热点。嵌入式系统已经渗透到了人们日常生活的每个角落。人们的生活也正因此以前所未有的速度发生着超乎想象的巨变。尤其对于那些残障人士来说,有了高科技的辅助产品,黑暗的世界变得光明,静寂的世界变得有声有色,科技让他们像正常人一样的生活。
2嵌入式盲人辅助系统的设计

2.1 系统总体设计

软件总体架构分为两大部分,一部分是完成系统功能的主体软件部分,另一部分是引导加载程序(Bootloader)。Bootloader就类似于PC的BIOS,但是又有不同的地方。Bootloader的主要功能是完成底层硬件的初始化,如清理RAM,初始化CPU以及外设,最后将操作系统镜像拷贝到内存当中,并运行操作系统。Bootloader的另外一个功能是固件更新,通过它用户可以更新操作系统,就像手机更新固件一样,如图

2.1所示。

2.2 操作系统移植

Windows CE是一个可以裁剪的嵌入式操作系统,整个操作系统由各个组件构成。在嵌入式应用中,开发者可以根据实际需要对Windows CE的各个组件进行裁剪。在IDE环境下,开发者可以在短时间内构建出一个内存小、体积小、运行快且满足需要的Windows CE系统。 如图2.2描述了采用Platform Builder创建一个基于Windows CE平台的过程。
操作系统移植工作主要包括两部分:一是操作系统和CPU的接口部分,也就是OAL层的代码。操作系统是一个高度抽象的软件系统,在操作系统设计时,为了方便将操作系统移植到各种不同的CPU上,已经将和CPU相关部分的代码降到了最低;二是操作系统和设备之间的接口,即设备驱动程序。设备驱动程序工作在操作和底层硬件之间,扮演着一个中间者的角色。它把对硬件的操作抽象出来,让操作系统无需关心硬件的细节。

2.3 Bootloader的设计

Bootloader工作流程设计
当Bootloader开始执行时,在其启动部分:首先对GPIO做初始化,为所有的GPIO端口设置一个默认值,这个默认值应该参考电路图以及系统的需要;接下来初始化中断控制器、设置CPU的运行频率、初始化OS Timer;上面的基本硬件初始化完成后,设置GPIO Reset功能;最后完成Bootloader的启动过程,进入主程序。
在主程序中,首先从NAND FLASH中读取系统信息,然后检测用户的按键来决定加载哪个镜像文件,得到一个进入标志。接下来,对AD Converter和Hard Disk进行初始化。初始化完成后,检测电池的温度是否符合要求、当前是否低电压、充电的状态、CPU的温度等。
此时系统运行的一些基本条件都满足了,就进入正式的Image Loader处理此时先判断Reset种类,然后根据Reset做出相应的启动步骤。
如果Reset种类是GPIO Reset,则默认进入OS(会改写进入标志),此时先对OS代码区进行Check Sum校验,如果校验通过了,表示上一次读出来的代码还正确的存在,也就没有必要再从NAND FLASH中读取了,此时可以直接跳过加载过程以节省启动时间,否则应该继续加载系统镜像。
当镜像加载完成后,所需的镜像已经存在于预定的RAM空间了,直接跳转过去间控制权交给它们,Bootloader的工作就算完成了。
3驱动程序设计之音频模块
音频模块是WinCE下的一个比较重要的模块,它和系统密切相关,与其他驱动最大的区别是音频驱动程序的接口只有很少一部分向用户开放,甚至没有开放,只供操作系统调用。应用程序如果需要使用音频模块,一般通过调用系统的API来实现。
WinCE下的音频驱动采用分层结构,即分为和系统衔接的MDD层以及和平台相关的PDD层。
1分层式设备驱动程序(Layered Device Driver)
WinCE 5.0的驱动程序一般划分为两层:MDD (Model Device Driver) 模型设备驱动程序和PDD (Platform Dependent Driver) 平台相关驱动程序。驱动程序分层不是必须的,分层的优点是利于开发。
2直接存储器存取DMA (Direct Memory Access)
所谓DMA方式就是直接存储器存取(Direct Memory Access)方式。于是在DMA控制器的管理下,外设和存储器直接进行数据交换,而不需CPU干预,这样可以大大提高数据传送速度。
3音频编连接AC-link (Audio Codec link)
AC-link是一种同步的,固定速率的串行总线接口。负责完成AC’97控制器与音频编之间的数据传输,如数字音频、调制解调器、麦克风输入、编寄存器的读取和写入以及状态信息。
录音时AC’97编通过AC-link发送数字音频采样值到AC’97控制器,数字音频采样值的格式一般为PCM16位单/双声道采样格式。然后将这些数字音频采样值存储到内存中。在回放声音的时候,处理器从内存中取得这些采样值,然后通过AC-link发送给编。编中的数/模转换器(数字信息转模拟信息控制器,DAC)将这些数字音频采样值转成模拟音频波形,并进行播放。
4We 驱动程序层次划分
We 设备驱动程序分为三个层次:
1)We流驱动程序
提供流设备驱动程序的标准接口:
W_Init
W_Deinit
W_Open
W_Close
W_论文导读:
Read
W_Write
W_Seek
W_PowerUp
W_PowerDown
W_IOControl
2)MDD层
MDD层创建了线程音频输入、输出两个通道的中断服务线程。
3)PDD层
PDD层为MDD层提供所有对硬件访问的接口
5We 驱动程序中DMA操作
音频驱动程序调用DMA的接口函数开启一次DMA操作,如图

2.3所示。

以录音DMA处理为例,录音通道的DMA处理线程被DMA中断唤醒后,会检查寄存器来确定产生的中断,然后根据DMA缓冲区的状态,将已经填满的缓冲区提交给用户,同时,将空的缓冲区关联到DMA,让其继续填充录音数据。 如此,两个缓冲区交替使用,使录音得以连续不断的进行。
4结束语
综述,本系统采用嵌入式的解决方案,高性能、低成本,而且便于携带。系统集成了WiFi、蓝牙等无线模块,能方便地连接到Internet,同时,系统还具备强大的多媒体处理功能,能满足盲人上网、学习、娱乐等多种需求。
参考文献:
曾建潮.软件工程,武汉理工大学出版社,2003
陈向群. Windows CE.NET系统分析及实验教程.机械工业出版社,2003