基于嵌入式LINUX车载导航系统设计_第1页
基于嵌入式LINUX车载导航系统设计_第2页
基于嵌入式LINUX车载导航系统设计_第3页
基于嵌入式LINUX车载导航系统设计_第4页
基于嵌入式LINUX车载导航系统设计_第5页
全文预览已结束

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

基于嵌入式 LINUX 的车载导航系统设计 文章出处 微计算机信息 发布时间 2009 07 21 1303 次阅读 0 次推荐 0 条留言 业界领先的 TEMPO 评估服务高分段能力 高性能贴片保险丝专为 OEM 设计师和工程师而设计的产品使 用安捷伦电源 赢取 iPad2Samtec 连接器 完整的信号来源每天新产品 时刻新体验完整的 15A 开关模式 电源 摘要 本文提出了以 ARM 器件为 CPU 以嵌入式 Linux 为软件内核的 GPS 车载导航系统 的设计思想 Linux 操作系统是一个开源 免费的嵌入式系统 ARM 是当前全球领先的 32 位 RISC 微处理器内核 这样的设计 导航系统功能强大 性价比高 在车载导航系统中有广泛的 应用前景 1 引言 车载电子设备在技术水平上的不断提高已经成为现代汽车发展的重要标志之一 而车 载导航设备是其中重要组成部分 它要将数据通讯系统 影音娱乐系统 定位系统 电子 控制系统实时显示出来 让用户得到充分的驾驶信息 以 ARM 及嵌入式操作系统为技术核 心 为车辆驾驶者提供安全行驶所必需的路况 地理信息的车载导航系统目前正在全世界 得到越来越广泛的应用 大大提高了用户驾驶体验与车辆运行的安全性 但目前市场上的车载导航系统多使用 WinCE 作为操作系统 不仅软件使用价格昂贵 而且对硬件要求较高 运行速度偏慢 本文提出并设计了一种基于 GPS 和 GPRS 使用嵌入 式 32 位处理器和嵌入式 Linux 的车载导航系统 该系统采用 S3C2440A 32 位 ARM920T 内 核处理器 外部扩展 GPS 接收模块及 GPRS 通讯模块 显示部分采用 SAMSUNG 4 3 寸 480 272 分辨率宽屏 TFT 真彩液晶 底层采用嵌入式 Linux 操作系统 具有源码开放 易移植 模块化 资源丰富的优势 图形用户界面 GUI 采用 Qt Embedded 软件进行开发 本文着重从 GPS 与 GPRS 数据接收与发送 嵌入式 Linux 总体架构 多线程技术在 Qt 中 应用等方面进行论述 2 系统总体结构及软件开发平台 系统整体结构如图 1 所示 本系统采用 SAMSUNG 公司的 S3C2440A 嵌入式处理器 标 称工作频率 400MHz CPU 内置 STN CSTN TFT LCD 控制器 支持 1024 768 分辨率以下 的各种液晶 以太网控制器 1 通道 5 线制串口 2 通道 3 线制串口 CAN 接口 SPI 接 口 RTC 实时时钟等 通过 RS232 外接 GPS 接收仪及 GPRS 模块 系统外扩 64NB SDRAM 用于操作系统内存空间 存放动态数据和运行程序 系统外扩 64MB Flash 空间 用于存 放 Linux 内核 文件系统 应用程序和用户数据 图 1 系统结构 系统软件基于嵌入式 Linux 操作系统 并选择 Qt Embedded 作为图形用户界面 GUI 开发环境 Qt 是 Trolltech 公司推出的跨平台的应用程序框架 Qt Embedded 是 Qt 面向嵌入式应用的版本 一次编写 随处编译 Qt 特有的信号 槽 singal slot 机制 加强了对象间通信的灵活性 通过裁剪去掉无关模块可以调整库文件的大小 适合 嵌入式系统使用 在 QT 中支持 OpenGL 接口和矢量图形格式 SVG 能充分满足导航系统绘 图需要 系统从 GPS 实时获取车辆位置 包括经纬度与时间等 和运行信息 包括车速与 方向等 在电子地图上显示相关导航信息 用户通过触摸屏操作 提供地图漫游 地图 查询和道路信息管理等功能 3 GPS GPRS 系统的组成原理及构成 1 GPS 定位基本原理 GPS 的定位原理实质上就是测量学的空间测距定位 利用在平均 20200km 高度均匀分 布在 6 个轨道的 24 颗卫星 发射测距信号码和载波 用户通过接收机接收这些信号测量 卫星至接收机之距 通过一系列方程演算 便可知地面定位坐标 用户测得的到卫星的距 离称为 伪距 它不是用户到卫星的真正距离 其中还包括卫星时钟的偏差 用户时钟 的偏差信号 传播延迟引起的测距误差等 因此在至少收到三颗卫星后 即可计算出平面 坐标 经纬度 值 收到四颗则可在计算出方程值 这就是 GPS 的基本定位原理 图 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 GPRS SupportNode 网关 GPRS 节点 SGSN 的主要作 用就是记录车辆的当前位置信息 并在车辆和 GGSN 之间完成移动分组数据的发送和接收 GGSN 主要是起网关作用 它可以和许多不同的数据网络连接 GGSN 提供了 GPRS 网络与 Internet 的接口 而 SGSN 负责联系移动终端和 GGSN 应此 一个完整的 GPRS 通讯过程 就是车载终端发出的数据先传至 BSS Base Station System 基站系统 经由 GPRS 网络 传至 GGSN 通过 GGSN 接入 Internet 在 Internet 上依靠 TCP 协议传给上位机 终端接 收数据的流程则与此相反 GPRS 数据收发在网络层使用 TCP IP 协议 4 系统软件的设计与实现 1 系统软件结构 主要由以下模块组成 用户界面显示模块 GPRS 通讯模块 GPS 定位模块 地图匹配 模块 路径规划模块 电子地图模块 底层通讯模块等 图 3 系统软件结构总体框图 用户界面显示模块 用户与车载导航系统交互的平台 通过调用其它模块起到信息交 互的作用 GPRS 通讯模块 将用户驾驶信息及车况信息实时传送至远程监控端 不仅起到 记录车况的作用 而且还能防盗 GPS 定位模块 实时接收卫星定位数据 包括经纬度 时间 海拔 即时速度等 地图匹配模块 根据 GPS 定位获得的数据 与系统中存储的地 图信息进行匹配 获得车辆周围的地理信息 为用户提供参照 路径规划模块 用户输入 起始坐标和终点坐标 系统自动计算最近道路 从而起到车辆导航的作用 底层通讯模块 通过 CAN 总线及 232 总线 获取车辆各种信息 从而在用户显示界面上显示出来 2 Linux 在 S3C2440 上的移植 嵌入式 Linux 管理整个导航系统的硬件设备并对所有程序进行调度 是软件系统的核 心 由于 Linux 是面向 PC 机的操作系统 将其用于嵌入式领域 需要进行移植 它一般 包括启动加载代码 Bootloader 的移植 内核移植 驱动程序的编写 文件系统的构建 等 将 U boot 源代码在 ADS 环境下进行编译 将编译成功的二进制代码烧写到开发板所 带 Flash 上 然后在上电启动 Bootloader 首先完成硬件设备的初始化 然后设置 Linux 内核的启动参数 最后调用 Liuux 内核 直接跳转到 Linux 内核的第一条指令处 从 Linux 的方式看待设备可区分为 3 种基本设备类型 字符设备 块设备 或者网络设备 车载导航系统设备驱动程序由以下三个部分组成 1 自动配置和初始化子程序 初始化子程序首先运行 负责检测硬件设备是否存在 和能否正常运行 2 中断服务子程序 由嵌入式 Liuux 系统来接收硬件中断 再通过系统来调用中 断服务子程序 3 服务于 I O 请求的子程序 对 I O 设备进行存取 将编写好的设备驱动编译到 内核中 在系统启动时和内核一起启动 文件系统构成了 Linux 系统上所有数据的基础 经过比较 系统设计时决定使用 Cramfs 文件系统 当访问文件时 Cramfs 文件系统自动的将要访问的文件解压到 RAM 中 会尽可能给实际执行的应用程序保留 RAM 空间 而且可以为运行时解压缩挪出额外的 CPU 周期 使用 mkcramfs 命令生成 cramfs 镜像文件 再将其下载到系统中去 Linux 启动时 自动加载根文件系统 完成系统的启动 3 多线程技术在 Qt 中的应用 在具有图形用户界面的 Qt 应用程序中 主线程由 GUI 线程充当 它同时拥有一个或 多个非 GUI 线程作为工作线程来处理其它耗时操作 例如不断更新的车辆方向 速度 地 图的匹配等 这样 即使在负载很重的情况下 应用程序也可以保证图形用户界面的响应 依赖 Qt 提供的多线程技术 使得该导航系统中的多数据交互成为可能 GUI 线程在调用 了 exec 函数后 要么等待一个事件 要么处理一个事件 每一个线程都可以有自己的事 件循环 如图 4 所示 起始线程通过 QcoreApplication exec 启动事件循环 其他非 GUI 线程通过 Qthread exec 启动各自的事件循环 图 4 Qt 线程事件模型 5 结论 本文作者的创新点 1 将嵌入式 Liuux 操作系统用于车载导航系统 是对传统的车辆导航系统的重大 改进 成本大幅降低 同时利用 Linux 系统的多线程技术 可以

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论