基于PXA270的移动天文观测系统设计
[11-20 17:13:05] 来源:http://www.88dzw.com 嵌入式系统 阅读:8948次
文章摘要:从FK5星表出发,经过与编制星表相反的步骤来求天体的视位置,通过对影响恒星视位置的各种因素,如大气折射、视差、光行差、岁差、章动、自行等误差的分析,给出计算恒星视位置的数学模型,其基本流程图如图3所示。按照以上算法编写出相关函数库,主程序将相关变量如输入观测地点经纬度、欲观测星体等数据即可计算出星体视位置。FK5星表以文件形式存放。4 视频数据采集及显示图像数据的显示可以通过直接写屏来实现。Linux工作在保护模式下,用户态进程是无法直接使用显卡:BIOS里提供的中断调用来实现直接写屏,故Linux抽象出FrameBuffer。这个设备来供用户态进程实现直接写屏。 FrameBtlffer主要
基于PXA270的移动天文观测系统设计,标签:嵌入式系统开发,嵌入式开发,http://www.88dzw.com从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 结 语
经测试,系统工作正常,性能表现良好,达到了原设计目标。但是因为机械系统精度较差,选用的天文望远镜受价格约束,使本系统的总体表现受到一定影响。本系统稍加改动,亦可用于远距离视频监控、人造卫星接收、天线指向控制、太阳能电池板指向控制等领域。
Tag:嵌入式系统,嵌入式系统开发,嵌入式开发,嵌入式系统
《基于PXA270的移动天文观测系统设计》相关文章
- › 基于PXI总线的遥测信号测试平台的设计
- › 基于PXA270的LCD显示系统的设计与实现
- › 基于PXA270的电子纸显示系统
- › 基于PXA270的移动天文观测系统设计
- 在百度中搜索相关文章:基于PXA270的移动天文观测系统设计
- 在谷歌中搜索相关文章:基于PXA270的移动天文观测系统设计
- 在soso中搜索相关文章:基于PXA270的移动天文观测系统设计
- 在搜狗中搜索相关文章:基于PXA270的移动天文观测系统设计
编辑推荐
分类导航
最新更新
热门排行