|
|
|
|
|
|
智能导游仪的ARM9实现 |
|
日期:2009-6-10 9:38:00 |
本文介绍的基于ARM9处理器的智能导游由于采用性能完善、价位合理的硬件模块,因而具有人机界面良好,操作方便、功能强大等优点。作为一种新型消费类电子解决方案,这种智能化导游仪十分适用于各种展览会场和旅游场所,而且应用前景十分看好。 一、系统整体硬件设计 该导游仪主要由ARM处理器、音频处理模块、触摸显示模块、FLASH存储模块等组成。本设计中的核心处理器和操作系统分别选定三星公司基于ARM9内核的S3C2410X01处理器和目前比较流行的嵌入式操作系统Linux操作系统。S3C2410X01处理器集成度高、功能强大,适用于便携设备和其它工控设备,如指纹识别器、车载系统等。本导游仪中的接收模块主要用于接收IDCode。本设计选用Nordic公司的nRF401单片UHF无线收发芯片,并让其工作在433 MHz ISM 频段。由于采用了FSK调制解调技术,因而其抗干扰能力很强。 本系统中的USB通信子系统的设计目标是通过USB接口。并利用USB协议来实现与PC机及USB设备的数据交换和数据传输。即设备端通过USB接口载入导游影音文件并将其保存在Flash存储单元中,再由ARM处理器完成影音数据向音频处理模块和LCD显示模块的传送。音频处理模块和LCD显示模块可以实时处理并播放影音数据,从而完成对各旅游景点的综合描述。 二、系统软件设计 导游仪的软件要负责处理nRF401的接收数据,同时要调用和处理相应的导游文字、图片、语音信息,还要及时响应用户的触摸操作,并管理图形用户界面(GUI)、用户时钟和存储景点信息,此外,还要与各外围器件进行通信和接口。本系统选用Linux操作系统并通过ARM处理器来完成设计。嵌入式系统软件设计主要包括操作系统、驱动程序和应用程序。本系统对基于2.6.9版本的Linux内核进行了定制裁减,其驱动程序主要是触摸屏的驱动,应用程序则用于多媒体播放。这些软件应根据嵌入式开发流程来建立开发环境。 三、系统工作流程 系统开始工作时首先通过供电单元提供的电源给系统上电,并启动加载Boot loader,然后开始加载Linux的系统内核,接下来进行外设模块的初始化。当存储单元准备就绪后,系统将先后初始化显示单元和GPIO。如果外设未初始化成功,则将重新进行初始化,成功后再运行应用程序。运行结束后再关闭主程序,系统程序执行结束。 四、触摸屏驱动程序 ADS7846电阻触摸屏数字转换器可以专门用于对电池供电的设备进行优化,非常适用于触摸屏设备。此触摸屏驱动芯片是一款12位A/D转换芯片,适合于4线制触摸屏中使用,可通过标准的SPI协议和CPU进行通信,而且操作简单、可靠性高。由于S3C2410X01芯片集成有同步串行外部SPI接口.故可将ADS7846与ARM芯片S3C2410X01相连。此触摸屏驱动程序的设计主要是进行初始化、数据采集与处理及中断处理函数的编写。 五、应用程序 应用程序的开发主要是多媒体功能的实现。这实际是基于音频处理子系统、触摸显示子系统、RAM单元、Flash单元等硬件资源的特点编写的应用函数模块的集合。此集合的编写源于对各个硬件模块的深入了解,以及对硬件资源的充分利用和挖掘、对时序的严格控制,同时包括精确的软件流程,合理分配存储资源,协调ARM处理能力等,从而完成音频播放、静态图片显示、影像播放、音频录制等多媒体所对应的函数集合。各函数集合包括方便的应用程序接口。通过这些接口可为调用这些函数的主函数提供便利。
|
|
|
|
|
|
|