微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 嵌入式设计 > 基于ARM的智能导航盲杖系统设计

基于ARM的智能导航盲杖系统设计

时间:10-10 来源:互联网 点击:

本文采用了基于ARM11-Win CE平台的嵌入式系统作为系统的控制平台,以提高系统的性能、集成度以及可扩展性;运用GPS定位技术和TTS文语转换系统,实现了对视障人士的GPS定位及电子地图导航;利用超声波测距功能,系统可以提供一定距离内的障碍物探测与告警。为实现上述功能,采用Trimble公司的GPS接收模块Lassen iQ实现了GPS定位功能,处理器采用三星公司的S3C6410(ARM1176JZF-S核心)芯片,操作系统为Windows CE 6.0。

  1 系统硬件设计

  1.1 系统整体结构

  本智能导航盲杖系统是为了实现GPS定位、电子地图查询、路径选择以及超声波探测、语音输出等主要功能,系统设计图如图1所示。各个功能模块实现功能如下:

  

  (1)GPS信号接收模块:接收GPS信号,输出当前经纬度、移动方向与速度、时间等信息。完成与中央处理器的通信,报告工作状态,并接收中央处理器的控制[1]。

  (2)存储模块:存储系统程序、电子地图数据以及GPS获取的信息等,可以进行存储、读取、查询信息等操作。

  (3)超声波测障模块:发送和接收超声波脉冲,反馈给中央处理器并接收其控制信号。

  (4)人机接口模块:包括显示和键盘输入、语音输出,采用中央处理器控制和监测。

  (5)中央处理器:控制并接收GPS模块、超声波测障模块产生的信号,监视键盘状态,并控制LCD显示、语音输出等。

  1.2 系统主要模块设计

  (1)GPS模块。系统选择Trimble公司的Lassen iQ GPS接收器作为GPS信号接收模块,其接口电路如图2所示。为了利于在户外手持使用,系统要考虑体积、功耗以及精度的需求。系统选用的GPS模块面积仅有8 cm2,功耗小于89 mW,而其GPS定位精度可达10 m,速度精度能够达到0.1 km/h,GPS方向可精确到2°,基本能够满足本系统的要求。

  

  (2)中央处理器。系统选用Samsung公司的S3C6410A-XH66作为中央处理器。

  S3C6410A-XH66是一款基于ARM1176JZF-S内核的32 bit RSIC微处理器,其优化的外部存储器接口分为DRAM和Flash/ROM/DRAM两路端口,能满足本系统读取电子地图时对数据带宽的要求。另外,S3C6410A-XH66还有Camera接口、TFT 24 bit真彩色LCD控制器、4通道的UART、I2C总线等。处理器内部时钟为533 MHz,可以满足较复杂导航算法的需要。

(3)存储模块。系统选用两片64 M×16 bit的Mobile DDR芯片K4X1G163PC,构成共256 MB的内存模块,以及一片1 G×8 bit的NAND Flash芯片K9G8G08U0M作为外部存储。内存模块设计如图3所示,两片K4X1G163PC的连接方式相同,使用1.8 V工作电压,主频为166 MHz,在处理器内部时钟为533 MHz时,能够接近最高使用效率。需要注意的是,在进行PCB布线工作时,两片内存芯片的地址线和数据线必须进行等长设置。

  

  (4)超声波测障模块。该模块使用两个超声波换能器,分别完成超声波发送和检测接收的任务。发送模块在设计之初采用反相器74LS04,但在测试过程中发现由于脉冲时间过短,而造成反相器输出波形不够理想。经过多次调试比较,最终采用Philips公司的高速反相器74HC04,其在工作电压VCC为4.5 V时,标准跳变时间可达6 ns,极佳地实现了系统功能。超声波检测接收模块使用CX20106进行信号放大,如图4所示。

  2 系统软件设计

  系统软件的设计充分利用了硬件平台提供的资源[2],实现业务流程的有序运行,是整个系统设计的重要组成部分[3]。软件的设计主要有:(1)建立交叉编译环境。(2)Windows CE 6.0操作系统(包括驱动)的移植。(3)GPS定位与导航程序设计。(4)超声波测障功能设计。

  2.1 GPS定位与导航模块软件设计

  GPS定位与导航模块首先要完成用户位置信息的采集、处理与存储。由于GPS采用串行口通信,所以本文在串行口通信的基础上实现了对GPS数据的接收、处理和存储。该模块软件设计的基本思想是:首先接收完整的NMEA0183语句,然后提取相关的数据(如时间、经纬度、速度等),再将这些数据发送给中央处理器进行下一步操作,并且可以保存以便日后查看[4]。

  本系统使用Lassen iQ的串口1输出的数据,串口通信流程如图5所示。所获取的NMEA0183语句格式为:$GPRMC,162 206,A,3 955.400 7,N,11 612.0591 E,000.0,000.0 181010 002.5,W*71,表示目前的时间是2010年10月18日16点22分06秒(这是UTC时间,不是本地时间,两者大约相差8小时),位置是北纬39°55.4007′、东经116°12.0591′,速度为0。

  

系统在获取到当前经纬度等信息后,进行坐标转换和地图匹配[5]。本系统结合超图格式(pwr,pmw)的北京市地图数据,调用超图接口函数读取电子地图数据,并对用户选择的目标点和当前点进行路径选择,最终导航信息以文本方式输出到界面,如

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top