基于ARM9的快速对星装置设计与实现

发布者:GHR2596最新更新时间:2011-06-18 关键字:ARM9  快速对星装置 手机看文章 扫描二维码
随时随地手机看文章
0 引 言
    大中型卫星站均具有相应的、完善的天线跟踪伺服系统,天线伺服跟踪系统依据信标信号强弱,决定天线转向,驱动天线旋转,达到准确对星。随着通信技术和电子技术的发展,小型卫星站如车载站、便携站受机动性能和便携性能的局限,不可能采用大中型卫星站才能使用的伺服跟踪系统,采用不同原理,开发适用于小型卫星站天线的对星装置,具有现实意义。


1 系统概述
    该装置通过GPS采集地理信息、电子罗盘采集姿态信息,根据GPS采集的地理信息,结合通信卫星位置,计算出对星所需要的标准方位、俯仰、极化参数,同时计算出当地、当年磁偏角数据;通过采集电子罗盘数据,得到初步方位、俯仰、极化数据,其中俯仰和极化均为天线实际指向值,但是方位值是以磁北为标准测量值;通过GPS得到的磁偏角数据,对从电子罗盘得到的以磁北为标准的方位值进行修正,得到比较准确的、以真北为标准的真实方位数据。其系统结构如图1所示,其中基于EVC4平台的多线程应用程序流程结构如图2所示。

[page]

2 硬件设计
    本装置在设计上,选择S3C2440作为主控制器构成硬件平台,利用其丰富的外部接口和高速处理能力,达到实时采集数据、及时处理数据、快速传输数据、不附加额外接口设备的目的。由于该装置需要测量的参数多,GPS、电子罗盘统一采用RS 232接口,保证了测量数据精度和接口一致性。供电统一采用+5 V锂电池电源供电。


3 软件设计
    本装置采用ARM9作为主控制器,以Windows CE.net操作系统作为系统平台,使用EVC4开发环境作为开发工具,软件采用多线程结构,MFC和API编程技术,实时采集传感器数据,计算修正方位值,达到准确对星的目的。
3.1 总体程序设计
    本装置程序采用多线程结构,在主线程(用户接口线程)的基础上,增加两个辅助线程(工作者线程),辅助线程负责处理数据采集,主线程负责界面响应、数据融合、数据显示。线程处理采用API,而不采用MFC编程,增加了程序的通用性。程序中还使用Suspend-Thread挂起线程、ResumeThread恢复线程、Exit-Thread退出线程。
    线程同步采用临界区域(也称关键区域,即CRITI-CAL SECTION)措施,首先用CRITICAL_SEC-TION申明一个全局变量,再调用InitializeCriticalSec-tion初始化,使用EnterCriticalSection进入关键区域,使用LeaveCriticalSection离开关键区域,使用Delete-CriticalSection函数删除关键区域。其关键部分代码如下:


3.2 HMR3000程序设计
    电子罗盘数据输出格式满足NMEA0183通信协议规范,根据需求选用$PTNTHPR语句,每秒更新30次,基本满足实时测量的要求。$PTNTHPR语句的数据格式为:
    $PTNTHPR,<1>,<2>,<3>,<4>,<5>,<6>*hh
    各字段含义为:<1>表示方位值,<2>表示方位状态,<3>表示俯仰值,<4>表示俯仰状态,<5>表示横滚值,<6>表示横滚状态,hh表示校验和。采集数据程序在判断各参数状态正常的基础上,从输出语句中提取对应参数值。其线程函数部分代码如下:

   
3.3 GPS模块程序设计
    GPS模块数据输出格式也满足NMEA0183通信协议规范,根据需求选用$GPRMC语句,默认更新速率。$GPRMC语句的数据格式为:
    $GPRMC,<1>,<2>,<3>,<4>,<5>,<6>,<7>,<8>,<9>,<10>,<11>,*hh。
    各字段含义为:<1>表示方位值,<2>表示方位状态,<3>表示俯仰值,<4>表示俯仰状态,<5>表示横滚值,<6>表示横滚状态。采集数据程序在判断各参数状态正常的基础上,从输出语句中提取对应参数值。其线程函数部分代码如下:
   

   

3.4 对星参数理论值计算
    卫星通信中重要的一步就是卫星通信天线准确对准通信卫星。对星需要三个参数:方位、俯仰、极化。下面分别是三个参数的计算公式,其中ψc是卫星波束中心经度,ψs为卫星的经度,ψg是接收地经度,θ为接收地纬度。
    卫星通信天线方位角计算公式:
   
    极化角通常位于式(3)和式(4)的计算值之间,为简化计算常采用式(3)作为极化角计算公式使用。经过GPS采集得到接收地经度、纬度,结合卫星经度,采用C语言提供的数学函数可以很简便地计算出天线准确对星需要的三个参数:方位、俯仰、极化。为对星操作提供理论标准值,将对星操作简化为比对理论标准值,调整天线,使实际值与理论值完全一致,从而完成对星任务。
3.5 方位角修正程序设计
    电子罗盘测量得到的是天线实际指向值,由于电子罗盘是根据地磁场测量出方位值,此方位值实际是以磁北为标准的方位值,而理论值是以真北为标准的方位值,这样在电子罗盘测量值和理论计算值之间存在一个差值,此差值即为磁偏角。要使电子罗盘测量的方位值代表以真北为标准的方位值,必须在电子罗盘测量的数据基础上进行磁偏角的修正。[page]

    根据IGRF2005地磁场模型,利用NOAA的NG-DC提供的磁偏角计算程序,逐一计算覆盖我国领土及周边的磁偏角数据,其纬度为北纬10°~50°,经度为东经70°~140°,构成41×71的二维数组,根据经度、纬度数据提取磁偏角数据,与采集的罗盘数据进行运算,修正罗盘方位值,从而得到代表物体指向的比较准确的方位值。其部分代码如下所示:


    从电子罗盘得到的方位数据,经过磁偏角修正,形成以真北为标准的真实方位数据,从而具有与理论对星参数比对的基础。


4 应用及结果
    该装置巧妙利用GPS模块和电子罗盘模块,在分别采集模块数据的基础上,利用地理信息进行查表运算,得出当地磁偏角,利用磁偏角修正方位,得到较为准确的方位指向数据。此装置采用S3C2440ARM9芯片作为主CPU,Windows CE.Net为操作系统平台;电子罗盘选用Honeywell HMR3000,GPS选用GARMINGPS25LVS,蘑菇头天线,单一+5 V供电,输出接口均为RS 232。该系统精度高、实时性好、界面直观,具有广泛的应用前景。某型卫星通信装备,天线口径1 m,工作于Ku波段,其半功率波瓣宽度近似计算公式为:θ=70λ/D,得到半功率波瓣宽度θ=1.75°;通过磁偏角修正后的电子罗盘角度指示误差为ψ=±0.5°,θ≥ψ,满足应用需求。2009年乌鲁木齐的磁偏角为-2.93°,如果不加磁偏角修正,其误差总和为2.93°+0.5°=3.43°,超过半功率波束宽度,无法完成对星任务。程序运行后界面如图3所示。

5 结 语
    经过使甩证明:该装置经过磁偏角修正后,可以使用于方位精度要求±0.5°、倾角和横滚经度要求土0.1°的物体位置和姿态测量。经过在昆明、喀什、北京等地实际使用测量,效果良好,平均对星时间由原来不确定减少到2 min以内(实际测量平均时间为1.4 min),改善效果明显。使用中注意事项:由于此装置采用的电子罗盘,利用地磁场根据磁阻传感信息计算方位的原理,因此,此装置在使用中要求尽量远离框架式建筑物、铁矿厂、铁栅栏、铁门铁窗等大型硬铁物质,避免因硬铁物质对磁力线的影响,导致测量误差大的情况出现。

 

关键字:ARM9  快速对星装置 引用地址:基于ARM9的快速对星装置设计与实现

上一篇:μC/OS-Ⅱ在ARM系列单片机S3C44B0x上的移植
下一篇:基于ARM的3DES加密算法实现

推荐阅读最新更新时间:2024-03-16 12:37

基于FPGA和ARM9的片上网络系统硬件平台
IC制造技术的发展推动着芯片向更高集成度方向前进,从而能够将整个系统设计到单个芯片中构成片上系统SoC(System on Chip)。SoC采用全局同步型共享总线通信结构。这类系统由于挂在总线上的设备在通信时对总线的独占性以及单一系统总线对同步时钟的要求,使得在片上IP核越来越多的芯片中,不可避免地存在通信效率低下、全局同步时钟开销大等问题。 片上网络NoC(Network on Chip)的提出有效地解决了上述问题。该系统借鉴了计算机网络中分组交换的通信方法,可以根据应用灵活地采用多种网络拓扑结构互连片上IP核 。各IP核间有多条链路可以进行并行通信,由FIFO跨接处于异步时钟域中的IP核,实现全局异部局部同步时钟系统。具有
[单片机]
基于FPGA和<font color='red'>ARM9</font>的片上网络系统硬件平台
基于ARM9内核Processor外部NANDFLASH的控制实现
NANDFLASH   NAND写回速度快、芯片面积小,特别是大容量使其优势明显。页是NAND中的基本存贮单元,一页一般为512B(也有2kB每页的largepageNANDFLASH),多个页面组成块。不同存储器内的块内页面数不尽相同,通常以16页或32页比较常见。块容量计算公式比较简单,就是页面容量与块内页面数的乘积。根据FLASHMemory容量大小,不同存储器中的块、页大小可能不同,块内页面数也不同。例如:8MB存储器,页大小常为512B、块大小为8kB,块内页面数为16。而2MB的存储器的页大小为256B、块大小为4kB,块内页面数也是16。NAND存储器由多个块串行排列组成。实际上,NAND型的FLASHMemory可
[单片机]
基于<font color='red'>ARM9</font>内核Processor外部NANDFLASH的控制实现
Qt2.2.0移植到ARM9(四)(JZ2440----S3c2440)
Linux:Ubuntu9.10 编译器版本:arm-linux-gcc-4.3.2 Qt:qtopia-free-src-2.2.0.tar.gz 依赖库:libjpeg库(参考移植(一));uuid库。 操作参考《嵌入式Linux应用开发完全手册》 1、安装qtopia2.2.0 (1)解压 qtopia-free-src-2.2.0.tar.gz位于系统的/work/GUI/qtopia目录下。 解压命令:$tar zxvf qtopia-free-src-2.2.0.tar.gz (2)编译、安装jpeg库(省略,之前已完成) (3)编译、安装uuid库(省略,之前已完成) (4
[单片机]
Qt2.2.0移植到<font color='red'>ARM9</font>(四)(JZ2440----S3c2440)
ARM9(S3C2440) UART
数据通信的方式 数据通信的方式基本分为: (1)、并行通信:多条数据线将数据的各位同属传送。 特点:传输速度快,适用于短距离通信。 (2)、串行通信:一条数据线将数据一位一位的顺序传送。 特点:线路简单,低成本,适用于远距离通信。 一: 异步通信: 以一个字符为传输单位,通信中两个字符间的时间间隔是不固定的,然而同一个字符中的两个相邻位之间的时间间隔是固定的。 二: 通信协议 指双方约定的一些规则。在异步通讯时,对数据格式有如下的约定:有空闲位,起始位,资料位,奇偶校验位,停止位。 (1)、起始位:先发送一个逻辑信号“0”信号,表示传输字符的开始。 (2)、数据位:紧接在起始位之后。数
[单片机]
<font color='red'>ARM9</font>(S3C2440) UART
ARM9之2440之os-ii
#include config.h extern char Image$RW$Limit ; void *mallocPt=Image$RW$Limit; //*************************** *************************************************** static int delayLoopCount; void Delay(int time) { // time=0: adjust the Delay function by WatchDog timer. // time 0: the number of loop time //
[单片机]
基于ARM9-μC/OS-II软硬件平台的SD卡文件系统的设计与实现
随着嵌入式式技术的不断发展,ARM处理器凭借其高性能、廉价、耗能低的优质特性而得到广泛应用。文中主要针对货车动态称重系统中大量实时载重数据存取的需求,在ARM9嵌入式处理器和μC/OS-II操作系统基础上,设计实现了一种SD卡文件系统。该系统具有实时性强、存取速率高、易维护,易移植等特点。 1 硬件接口电路设计 本系统硬件开发平台处理器为S3C2440A,是三星公司推出的16/32位RISC微处理器,ARM920T内核,主频400 MHz,最高可达533 MHz,内部具有丰富的系统外围控制器和多种通信接口。SD卡支持SPI和SD两种通信模式,S3C2440A具有SD卡接口,支持SD总线模式,所以不再像低端的ARM处理器那样采用
[单片机]
基于ARM9-μC/OS-II软硬件平台的SD卡文件系统的设计与实现
基于ARM9的一种新型馈线自动化终端设计
引言 随着智能电网研究的兴起和城乡电网结构的不断改进,对配电网自动化提出了更高的要求。具有选择性、能快速切除故障、具备故障自愈能力的馈线终端(Feeder Terminal Unit,FTU)成为研究热点。参考文献中基于数字处理器DSP,参考文献中应用ARM与DSP分别开发设计了馈线自动化终端装置。 上述参考文献采用不同的处理器,使用不同的技术,设计了配电网馈线终端,但所设计装置存在着成本高、配置灵活性低和安装布线困难等问题。ARM微处理器具有较强的处理能力,运算速度快、性能高、功耗低、成本低、体积小,是馈线终端核心控制器件的首选。物联网技术是新一代信息技术的重要部分,具有广阔的应用前景,可以实现馈线终端数据无线通信。新型能源太阳
[单片机]
基于<font color='red'>ARM9</font>的一种新型馈线自动化终端设计
ARM处理器s3c2410的中断异常处理
    在进入正题之前,我想先把ARM920T的异常向量表(Exception Vectors)做一个简短的介绍。     ARM920T的异常向量表有两种存放方式,一种是低端存放(从0x00000000处开始存放),另一种是高端存放(从0xfff000000处开始存放)。关于为什么要分两种方式进行存放这点我将在介绍MMU的文章中进行说明,本文采用低端模式。ARM920T能处理有8个异常,他们分别是: Reset,Undefined instruction,Software Interrupt,Abort (prefetch),Abort (data),Reserved,IRQ,FIQ     下面是某个采用低
[嵌入式]
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

最新单片机文章
  • 学习ARM开发(16)
    ARM有很多东西要学习,那么中断,就肯定是需要学习的东西。自从CPU引入中断以来,才真正地进入多任务系统工作,并且大大提高了工作效率。采 ...
  • 学习ARM开发(17)
    因为嵌入式系统里全部要使用中断的,那么我的S3C44B0怎么样中断流程呢?那我就需要了解整个流程了。要深入了解,最好的方法,就是去写程序 ...
  • 学习ARM开发(18)
    上一次已经了解ARM的中断处理过程,并且可以设置中断函数,那么它这样就可以工作了吗?答案是否定的。因为S3C44B0还有好几个寄存器是控制中 ...
  • 嵌入式系统调试仿真工具
    嵌入式硬件系统设计出来后就要进行调试,不管是硬件调试还是软件调试或者程序固化,都需要用到调试仿真工具。 随着处理器新品种、新 ...
  • 最近困扰在心中的一个小疑问终于解惑了~~
    最近在驱动方面一直在概念上不能很好的理解 有时候结合别人写的一点usb的例子能有点感觉,但是因为arm体系里面没有像单片机那样直接讲解引脚 ...
  • 学习ARM开发(1)
  • 学习ARM开发(2)
  • 学习ARM开发(4)
  • 学习ARM开发(6)
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved