欢迎来到冰点文库! | 帮助中心 分享价值,成长自我!
冰点文库
全部分类
  • 临时分类>
  • IT计算机>
  • 经管营销>
  • 医药卫生>
  • 自然科学>
  • 农林牧渔>
  • 人文社科>
  • 工程科技>
  • PPT模板>
  • 求职职场>
  • 解决方案>
  • 总结汇报>
  • ImageVerifierCode 换一换
    首页 冰点文库 > 资源分类 > DOC文档下载
    分享到微信 分享到微博 分享到QQ空间

    基于嵌入式LINUX车载导航系统设计文档格式.doc

    • 资源ID:8457115       资源大小:128KB        全文页数:5页
    • 资源格式: DOC        下载积分:12金币
    快捷下载 游客一键下载
    账号登录下载
    微信登录下载
    三方登录下载: 微信开放平台登录 QQ登录
    二维码
    微信扫一扫登录
    下载资源需要12金币
    邮箱/手机:
    温馨提示:
    快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如填写123,账号就是123,密码也是123。
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP,免费下载
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    基于嵌入式LINUX车载导航系统设计文档格式.doc

    1、但目前市场上的车载导航系统多使用 WinCE 作为操作系统,不仅软件使用价格昂贵,而且对硬件要求较高,运行速度偏慢。本文提出并设计了一种基于GPS 和GPRS,使用嵌入式32 位处理器和嵌入式Linux 的车载导航系统。该系统采用S3C2440A:32 位ARM920T内核处理器,外部扩展GPS接收模块及GPRS通讯模块,显示部分采用SAMSUNG4.3 寸480272 分辨率宽屏TFT 真彩液晶。底层采用嵌入式Linux 操作系统,具有源码开放、易移植、模块化、资源丰富的优势。图形用户界面(GUI)采用Qt/Embedded 软件进行开发。本文着重从 GPS 与GPRS 数据接收与发送, 嵌

    2、入式Linux 总体架构,多线程技术在Qt中应用等方面进行论述。2 系统总体结构及软件开发平台系统整体结构如图1 所示,本系统采用SAMSUNG 公司的S3C2440A 嵌入式处理器,标称工作频率:400MHz;CPU 内置STN/CSTN/TFTLCD控制器,支持1024768 分辨率以下的各种液晶;以太网控制器;1 通道5 线制串口,2 通道3 线制串口,CAN接口,SPI接口,RTC实时时钟等;通过RS232外接GPS接收仪及GPRS模块; 系统外扩64NBSDRAM,用于操作系统内存空间,存放动态数据和运行程序; 系统外扩64MBFlash空间,用于存放Linux 内核,文件系统,应用

    3、程序和用户数据。图1 系统结构系统软件基于嵌入式Linux 操作系统,并选择Qt/Embedded 作为图形用户界面(GUI)开发环境。Qt 是Trolltech 公司推出的跨平台的应用程序框架,Qt/Embedded 是Qt 面向嵌入式应用的版本,一次编写,随处编译。 Qt 特有的信号/槽(singal /slot)机制,加强了对象间通信的灵活性;通过裁剪去掉无关模块可以调整库文件的大小,适合嵌入式系统使用;在QT 中支持OpenGL 接口和矢量图形格式SVG. 能充分满足导航系统绘图需要。系统从GPS实时获取车辆位置(包括经纬度与时间等)和运行信息(包括车速与方向等),在电子地图上显示相关

    4、导航信息,用户通过触摸屏操作,提供地图漫游、地图查询和道路信息管理等功能。3 GPS/GPRS 系统的组成原理及构成(1) GPS 定位基本原理GPS 的定位原理实质上就是测量学的空间测距定位,利用在平均20200km 高度均匀分布在6 个轨道的24 颗卫星,发射测距信号码和载波,用户通过接收机接收这些信号测量卫星至接收机之距,通过一系列方程演算,便可知地面定位坐标。用户测得的到卫星的距离称为“伪距”,它不是用户到卫星的真正距离,其中还包括卫星时钟的偏差,用户时钟的偏差信号,传播延迟引起的测距误差等,因此在至少收到三颗卫星后,即可计算出平面坐标(经纬度)值,收到四颗则可在计算出方程值,这就是G

    5、PS 的基本定位原理。图 2 GPS 定位原理图程式中各个参数意义如下:x,y,z 为待测点坐标的空间直角坐标。x i 、y i 、z i (i=1, 2, 3, 4)分别为4 颗卫星在t 时刻的空间直角坐标,可由卫星导航电文求得。Vti (i=1, 2, 3, 4)分别为4 颗卫星的卫星钟的钟差,由卫星星历提供。Vt0为接收机的钟差。由以上方程即可解算出待测点的坐标 x,y,z 和接收机的钟差Vt0。(2) GPRS 网络结构及传输原理GPRS 是在原有的GSM网络中增加了两个节点:SGSN(Serving GPRS SupportNode,服务GPRS 节点)和GGSN(Gateway G

    6、PRS SupportNode,网关GPRS 节点),SGSN 的主要作用就是记录车辆的当前位置信息,并在车辆和GGSN 之间完成移动分组数据的发送和接收,GGSN 主要是起网关作用,它可以和许多不同的数据网络连接。GGSN 提供了GPRS 网络与Internet 的接口,而SGSN 负责联系移动终端和GGSN,应此,一个完整的GPRS 通讯过程就是车载终端发出的数据先传至BSS(Base StationSystem基站系统),经由GPRS 网络传至GGSN,通过GGSN 接入Internet,在Internet 上依靠TCP 协议传给上位机,终端接收数据的流程则与此相反,GPRS 数据收发在

    7、网络层使用TCP/IP 协议。4 系统软件的设计与实现(1) 系统软件结构主要由以下模块组成:用户界面显示模块、GPRS 通讯模块、GPS 定位模块、地图匹配模块、路径规划模块、电子地图模块、底层通讯模块等。图3 系统软件结构总体框图用户界面显示模块:用户与车载导航系统交互的平台,通过调用其它模块起到信息交互的作用;GPRS 通讯模块:将用户驾驶信息及车况信息实时传送至远程监控端,不仅起到记录车况的作用,而且还能防盗;GPS 定位模块:实时接收卫星定位数据,包括经纬度,时间,海拔,即时速度等;地图匹配模块:根据GPS 定位获得的数据,与系统中存储的地图信息进行匹配,获得车辆周围的地理信息,为用

    8、户提供参照;路径规划模块:用户输入起始坐标和终点坐标,系统自动计算最近道路,从而起到车辆导航的作用;底层通讯模块:通过CAN总线及232 总线,获取车辆各种信息,从而在用户显示界面上显示出来。(2) Linux 在S3C2440 上的移植嵌入式 Linux 管理整个导航系统的硬件设备并对所有程序进行调度,是软件系统的核心。由于Linux 是面向PC 机的操作系统,将其用于嵌入式领域,需要进行移植,它一般包括启动加载代码(Bootloader)的移植、内核移植、驱动程序的编写、文件系统的构建等。将 U-boot 源代码在ADS 环境下进行编译,将编译成功的二进制代码烧写到开发板所带Flash 上

    9、,然后在上电启动。Bootloader 首先完成硬件设备的初始化,然后设置Linux 内核的启动参数,最后调用Liuux 内核,直接跳转到Linux 内核的第一条指令处。从 Linux 的方式看待设备可区分为3 种基本设备类型:字符设备,块设备,或者网络设备。车载导航系统设备驱动程序由以下三个部分组成:(1)自动配置和初始化子程序。初始化子程序首先运行,负责检测硬件设备是否存在和能否正常运行;(2)中断服务子程序。由嵌入式Liuux 系统来接收硬件中断,再通过系统来调用中断服务子程序;(3)服务于I/O 请求的子程序。对I/O 设备进行存取。将编写好的设备驱动编译到内核中,在系统启动时和内核一

    10、起启动。文件系统构成了 Linux 系统上所有数据的基础。经过比较,系统设计时决定使用Cramfs文件系统,当访问文件时,Cramfs 文件系统自动的将要访问的文件解压到RAM 中,会尽可能给实际执行的应用程序保留RAM 空间,而且可以为运行时解压缩挪出额外的CPU 周期。使用mkcramfs 命令生成cramfs 镜像文件,再将其下载到系统中去,Linux 启动时自动加载根文件系统,完成系统的启动。(3)多线程技术在Qt 中的应用在具有图形用户界面的 Qt 应用程序中,主线程由GUI 线程充当,它同时拥有一个或多个非GUI 线程作为工作线程来处理其它耗时操作,例如不断更新的车辆方向、速度,地

    11、图的匹配等。这样,即使在负载很重的情况下,应用程序也可以保证图形用户界面的响应。依赖 Qt 提供的多线程技术,使得该导航系统中的多数据交互成为可能,GUI 线程在调用了exec()函数后,要么等待一个事件,要么处理一个事件,每一个线程都可以有自己的事件循环,如图4所示,起始线程通过QcoreApplication:exec()启动事件循环,其他非GUI 线程通过Qthread:exec()启动各自的事件循环。图 4 Qt 线程事件模型5 结论本文作者的创新点:(1)将嵌入式Liuux 操作系统用于车载导航系统,是对传统的车辆导航系统的重大改进,成本大幅降低,同时利用Linux 系统的多线程技术,可以解决系统中多个任务并行处理的问题,保障了系统的稳定性、可靠性,提高了系统的运行速度。(2)显示系统采用Qt/Embeded 软件进行用户显示界面设计,一次编写,随处编译,方便移植到各种不同的平台,只需重新编译即可,使用开源版节约大量软件授权费用,这些都是传统WinCE 程序所不能比拟的。(3)目前本系统已经装载在车上试运行,实践证明本系统能实时显示车辆当前运行状况,快速响应用户操作,为驾驶者提供良好的导航信息


    注意事项

    本文(基于嵌入式LINUX车载导航系统设计文档格式.doc)为本站会员主动上传,冰点文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰点文库(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

    copyright@ 2008-2023 冰点文库 网站版权所有

    经营许可证编号:鄂ICP备19020893号-2


    收起
    展开