基于单片机的运动导航系统研究及软件设计
1 引言
随着电子导航技术的不断进步,如何准确而快速地获取运动物体的行驶信息就成为导航产品设计和开发所关注的焦点问题。目前实现导航定位技术的主要途径有全球定位系统[1](Global Positioning System,GPS)、航位推算技术[2](Dead Reckoning,DR)以及地图匹配[3](Map Matching,MM)三大技术。
航位推算技术是一种传统的跟踪导航算法,它采用里程传感器和航向传感器来推算运动目标轨迹,误差较大。地图匹配算法复杂,耗费软硬件资源且实时性难以保证。而GPS技术在智能交通运输领域的应用日趋广泛,且十分成熟。
笔者在工作中做了如下尝试:以低成本、低功耗、高可靠性和较好的交互性为基本原则,用C8051F020作为核心处理器,设计了运动平台控制器;开发符合Windows规范的监控软件,提供友好的人机界面;利用微功率无线数传模块完成上位机软件与单片机之间的通信。自定义了通信协议,提高数据通信的准确性和稳定性。
2 系统硬件结构
本系统硬件总体结构如图1所示。系统采用两级微机控制结构,即上位机是PC机,下位机是C8051F020单片机。单片机负责数据采集、转换、处理和电机控制,同时把采集到的信息打包发送给PC机变换、处理和显示。上位机与单片机之间的通信通过微功率数传电台模块实现。
图1 系统组成框图
C8051FXXX系列单片机是Cygnal公司推出的高性能的完全混合信号系统MCU芯片,其指令集与MCS-51系列单片机完全兼容[4]。本文使用C8051F020设计运动平台控制器,该处理器采用基于流水线的CIP-51内核,片内集成VDD监视器、看门狗定时器和时钟振荡器,支持在线编程和JTAG调试接口,具有体积小、功耗低、便于调试开发等优点。
C8051F020的两个串口分别用来连接GPS和数传电台。定时器/计数器T2配合UART0产生9600bps波特率与数传模块连接,完成与PC机的通信;定时器/计数器T4配合UART1产生4800bps波特率接收GPS信号。用两路可编程定时/计数器(PCA)产生16位的PWM分别驱动电机和舵机。
运动平台的初始坐标和方位角由GPS获得。iTrax 02[5]型接收机是一款超小体积、低功耗的GPS OEM板,其尺寸仅为26mm×26mm×4.7mm,休眠功耗仅为80uW,连续导航时也不超过110uW,并且从休眠到导航定位仅为8s,具有极快的信号获取引擎。iTrax 02带有2个UART接口,可接收NMEA0183格式的数据和二进制的iTack格式数据。其端口2用来输入差分修正信息和输出卫星的原始测量信息,而端口1用来输入设定语句和输出定位语句。C8051F020单片机具有全双工串行通信能力。两者采用最简单的零调制的三线制进行串行通信,这是进行全双工所需要的最少数目的线路。因而只需将C8051F020的串行口经TTL电平与EIA电平转换后,再与iTrax 02板串行口1对应连接。系统采用11.059 MHz晶振。
相关文章
- 2022-09-24基于Linux的嵌入式心电监护仪
- 2023-10-14基于激光测距的三坐标测量系统研究
- 2022-04-05嵌入式状态监测与故障诊断装置的设计
- 2022-12-03相控阵多普勒计程仪半实物仿真方法研究及其实现
- 2023-12-27PC板梁徐变上拱对高速行车舒适性的影响分析
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。