基于PXA270的移动天文观测系统设计

发布者:平安宁静最新更新时间:2012-09-10 来源: 现代电子技术 关键字:PXA270  天文观测系统  Liod 手机看文章 扫描二维码
随时随地手机看文章

近几年来,随着人类文明社会的发展和人民生活水平的提高,越来越多的人渴望了解探知宇宙的奥秘。目前进行科普天文观测一般过程为:查天文历书、星图等确定星体位置;寻找合适观测地点(为避开城市灯光及污染等因素);不断调整望远镜,寻找欲观测天体;定位天体后架设摄影器材进行拍摄。整个观测过程中存在诸多不便,如天体在天空中不断运动,每次观测之前必须查阅相关资料确定天体位置,然而星历表厚重而不直观,简易星图由于天体运动的因素必须在指定时间进行观测;望远镜手工调整非常繁琐;拍摄不便。

为了解决上述问题而开发本系统。它的主要特点如下:通过计算,在屏幕上显示出当时当地星图,观测者无需携带天文资料,在屏幕上将观测内容实时显示出来,使观测者无须忍受长时间单眼观测的视觉疲劳,同时提高了观测效果;可对观测图像进行实时处理;可非常方便地拍摄、保存观测结果;可对结果进行一些图像处理,增强可辨性,系统自动记录观测日志,方便整理观测资料。

1 嵌入式开发平台介绍

本系统采用深圳亿道电子开发的一套基于IntelXScale PXA270处理器的Liod嵌入式开发平台。Liod开发平台得名手亿道电子的理念“Leading is our du-ty”,是一套功能强大的嵌入式开发平台,主频高达520 MHz,支持Intel Wireless MMX及Step Speed技术,超低功耗,超高性价比。核心板(XSBase270-Core)+底板设计(XSBase270-DVK-Ⅱ),扩展更灵活,应用更丰富。同时具有完善的功能接口,具有完善的Win CE/Linux双操作系统支持。本系统主要用到LCD、触摸屏、全功能串口等。

2 系统硬件设计

移动天文观测系统以Liod板为主控板,在此基础上扩展了相关电路,制成一块附属板,整体硬件框图如图1所示。

在本系统中,XScale与附属板通过串口相互通信,附属板与GPS模块、指南针模块的通信也使用串口,因此需要对附属板上的单片机串口进行复用,以实现所需功能。

使用CD4053模拟开关来实现串口复用功能,通过单片机的控制引脚切换不同的串口信号来源。

GPS采用了Ho1ux GR-85接收模块,具有快速追踪定位12颗卫星的能力,数据更新速率为1 Hz。GPS模块用来得到当地经纬度及准确时间的信息。

数字指南针采用了周立功ZNJV2模块,磁场测量范围为50 A/m,机首方向显示分辨率为2°,机首方向精度为3°,补偿后精度可达到0.5°,数字指南针模块用于安放望远镜时准确指向。

温度传感器采用DALLAS的DS18B20芯片,其分辨率为0.062 5℃,精度为0.5℃。温度传感器测量大气温度,用于计算大气折射率。

动力机构采用廉价云台机构,其内部为匀速交流同步电机,通过控制电机转动时间长短控制其所转角度。

3 天体视位置计算算法[page]

天体的视位置是天文观测中最重要的一个数据。天体的视位置最初是通过查阅相关历书得到,这种查表求天体的视位置方法存在很大问题,主要是计算繁琐,效率低,定位的周期长,天体的数据量大,整本年历有大量数据,而且每年都必须进行数据更新。这种方法显然不能满足应用的需要。这里实现的方法是将天体的运动简化为数学模型,通过对数学模型中相对固定的参数进行运算,最终得出天体的位置,通过实验比对验证了这种方法的准确性和高效性。

星表就是通常所说的恒星坐标表,它由天体的视位置经过一系列的换算而得到星表历元平位置,在星表中载有恒星的赤道平坐标,坐标的周年变化和恒星的白行等。

FK5是由德国海德堡天文所编制的近年来人们普遍使用的一种绝对星表。目前,这种由星表求解天体视位置的方法已被广泛用于求解天文三角形中。

从FK5星表出发,经过与编制星表相反的步骤来求天体的视位置,通过对影响恒星视位置的各种因素,如大气折射、视差、光行差、岁差、章动、自行等误差的分析,给出计算恒星视位置的数学模型,其基本流程图如图3所示。

按照以上算法编写出相关函数库,主程序将相关变量如输入观测地点经纬度、欲观测星体等数据即可计算出星体视位置。FK5星表以文件形式存放。

4 视频数据采集及显示

图像数据的显示可以通过直接写屏来实现。Linux工作在保护模式下,用户态进程是无法直接使用显卡:BIOS里提供的中断调用来实现直接写屏,故Linux抽象出FrameBuffer。这个设备来供用户态进程实现直接写屏。 FrameBtlffer主要是根据VESA标准实现的,所以只能实现最简单的功能。

直接写屏的过程:

(1)打开一个FrameBuffer设备;

(2)通过调用mmap()把显卡的物理内存空间映射到用户空间;

(3)直接写内存。

由于直接写屏是直接对显存进行修改,同QT对程序界面的刷新并不协调,因此有时会出现显示上的瑕疵,为此使用另一种方法显示图像数据,即利用QT库中的QImage类来实现。
以上论述了如何进行采集及显示,但在实际的系统中存在多个任务,各个模块之间需要相互配合,如果简单地采用上述方法,由于视频采集的速度较慢,将会造成阻塞,影响系统性能,因此使用线程技术。

在视频设备初始化后开启一个采集线程,此线程不断采集新的视频数据,采集完一帧数据会改写状态变量;显示部分采用定时显示,每隔一段时间判断状态变量是否为“已采集完毕”状态,如果是则进行显示。由于需要耗时等待的采集过程在线程中运行,通过Linux系统的自动调度,系统运行十分流畅。

5 观测的结果

观测结果包括:拍摄到的图像、拍摄时所在地的经纬度、拍摄时间、大气温度及拍摄的星体名称等。存储时以文件的形式按时间存储,形成观测日志。

对天体视位置计算算法及望远镜实际指向进行了测试。天体视位置算法的测试是选择有代表性的四个天体(太阳、大鸟六、月球、金星),通过与专业天文软件 STARCALC的计算结果进行比对,衡量计算误差的大小。望远镜实际指向的测试采用现场测量的方法。使用的主要测试工具为计算机、量角器等,测试数据如表1所示。

从比较结果可以看出,由本系统的天体视位置计算算法得出的方位角平均误差为0.261°,高度角平均误差为0.155°,小于系统使用望远镜(物镜焦距360 mm,目镜焦距20 mm)视角6.35°,满足系统观测要求。

图4给出北京时间2008年6月27日20:22:49,在福州大学城(东经119.29°,北纬26.08°)对月球的观测图像;图5给出北京时间2008年6月22日3:47:49,在福州大学城(东经119.29°,北纬26.08°)对金星的观测图像。


6 结 语

经测试,系统工作正常,性能表现良好,达到了原设计目标。但是因为机械系统精度较差,选用的天文望远镜受价格约束,使本系统的总体表现受到一定影响。本系统稍加改动,亦可用于远距离视频监控、人造卫星接收、天线指向控制、太阳能电池板指向控制等领域。

关键字:PXA270  天文观测系统  Liod 引用地址:基于PXA270的移动天文观测系统设计

上一篇:基于PXA270-Linux的智能家居系统研究
下一篇:基于Intel PXA270的WinCE操作系统移植

推荐阅读最新更新时间:2024-03-16 13:07

基于Intel PXA270的WinCE操作系统移植
随着科学技术进步和3G时代的到来,高性能PDA产品作为一种电子消费品越来越受青睐。作为这些高性能的PDA产品核心的嵌入式实时操作系统是开发嵌入式应用的关键环节。向来以界面友好,易操作性,易开发性为卖点的Windows CE.net嵌入式操作系统得到了广泛的使用。然而,WindowsCE在不同CPU,不同硬件环境下的移植成为了限制其进一步发展的障碍。本文利用PlatformBuilder工具并以EEliod Evluation开发板为对象,介绍了基于Intel PXA270WindowsCE的移植方法和内容。并给出了在此操作系统成功开发的应用程序的运行结果。 1.系统硬件平台 论文使用的开发平台为深圳亿道公司提供的EEliod
[单片机]
基于PXA270平台的嵌入式流媒体播放器设计
     摘要:随着车载导航系统的飞速发展,具有视频播放能力的车载终端逐渐成为新的热点。本文根据这一需求设计了一种嵌入式流媒体播放器,方案基于Intel PXA270 的硬件平台及嵌入式Linux 的软件平台,采用无线上网方式,可支持ASF、RM 格式的流文件解压,能够播放常见的MP1、MP2、MP3、WAV 音频和先进的MPEG- 4 视频,并可通过软件升级加入对其它格式的支持。   关键词:PXA270;MPEG-4;流媒体    播放器概述   近两年来,车载导航系统在国内悄然兴起,据专家预测,中国车载市场在启动初期需求约为55 万台,折合人民币约27.6 亿。而从长远来看,规模将达到千亿元人民币。但是,当前车载终端
[嵌入式]
基于<font color='red'>PXA270</font>平台的嵌入式流媒体播放器设计
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

最新单片机文章
  • ARM裸机篇--按键中断
    先看看GPOI的输入实验:按键电路图:GPF1管教的功能:EINT1要使用GPF1作为EINT1的功能时,只要将GPFCON的3:2位配置成10就可以了!GPF1先配 ...
  • 网上下的--ARM入门笔记
    简单的介绍打今天起菜鸟的ARM笔记算是开张了,也算给我的这些笔记找个存的地方。为什么要发布出来?也许是大家感兴趣的,其实这些笔记之所 ...
  • 学习ARM开发(23)
    三个任务准备与运行结果下来看看创建任务和任运的栈空间怎么样的,以及运行输出。Made in china by UCSDN(caijunsheng)Lichee 1 0 0 ...
  • 学习ARM开发(22)
    关闭中断与打开中断中断是一种高效的对话机制,但有时并不想程序运行的过程中中断运行,比如正在打印东西,但程序突然中断了,又让另外一个 ...
  • 学习ARM开发(21)
    先要声明任务指针,因为后面需要使用。 任务指针 volatile TASK_TCB* volatile g_pCurrentTask = NULL;volatile TASK_TCB* vol ...
  • 学习ARM开发(20)
  • 学习ARM开发(19)
  • 学习ARM开发(14)
  • 学习ARM开发(15)
何立民专栏 单片机及嵌入式宝典

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

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