当前位置:首页 > 嵌入式 > 嵌入式硬件
[导读] 地平仪是卫星姿态控制系统的关键子系统,其测量精度和可靠性直接关系到卫星姿态是否精确和稳定。在凝视或静态型地平仪中,地球被成像在红外面阵探测器上,因此地球图像的边缘可落在红外面阵探测器的光

地平仪是卫星姿态控制系统的关键子系统,其测量精度和可靠性直接关系到卫星姿态是否精确和稳定。在凝视或静态型地平仪中,地球被成像在红外面阵探测器上,因此地球图像的边缘可落在红外面阵探测器的光敏面内。对该图像进行中心定位处理,可提取出卫星的姿态参数,通过调整卫星滚动轴和俯仰轴方向,使固定在卫星上的红外面阵探测器视场中心正好对准地球中心,从而精确定位整个卫星系统的姿态。由于地平圈图像具有远多于通过圆锥扫描方式获得的信息,因而可获得更高的精度。本文利用TI公司的DSP芯片TMS320C6711B(简称C6711)实现了中心定位的相关算法。实验证明,该方法不仅可以满足实时性要求,还可以提高地平仪的测量精度,对提高卫星姿态的精度具有重要意义。

1 实时图像处理系统的硬件构成

本系统以C6711为核心,辅助以现场可编程门阵列FPGA及高速A/D等器件构成实时高速数字图像处理系统。系统硬件框图如图1。该图像处理系统的工作原理是:由CCD采集输出的模拟图像信号,经过高速A/D将模拟信号转换为数字信号。数字图像信号在FPGA控制下,将数据不断输入至双口RAM。每当一帧图像扫描结束时,FPGA提供一个中断标志信号,触发DSP进行数据搬移,将双口RAM中的一帧图像通过C6711的QDMA搬移到SDRAM中。QDMA将数据搬移完后检查图像数据是否有效,如有效则触发DSP执行图像处理程序,否则返回等下一个中断到来。DSP在下次中断到来之前处理完本帧图像,将得出的姿态角信息通过多通道缓冲串口McBSP输出给电脑PC机RS232口并显示,之后又进入中断等待状态,等待中断再次触发QDMA进行数据搬移。

 1.1 C6711数字信号处理器

C6711是TI公司的高速浮点DSP芯片,主频为150MHz,最高能达到900MFLOPS的峰值运算能力。C6711由CPU内核、片内外设和存储器三大部分组成。处理单元采用高性能、先进的VelociTITM结构,每时钟周期8个功能单元可并行工作。C6711具有特别适合实时图像处理的特点:

(1)先进的VelociTI超长指令字C67xDSP内核;

(2)硬件支持IEEE标准的单精度和双精度浮点指令;

(3)32位外部存储器接口(EMIF),提供与同步、异步存储器的无缝接口;

(4)两级缓存结构,其中:程序缓存32Kbit,数据缓存32Kbit,二级缓存512Kbit;

(5)增强型DMA控制器,共16个独立通道。

1.2 A/D变换

由CCD输出的模拟图像信号,经过高速A/D将模拟信号转换为10位数字图像信号,在FPGA的控制下存入双口RAM存储器,供DSP处理使用。

1.3 电源模块和监控复位电路

C6000系列DSP需要两种电压,分别为CPU内核电压和周边I/O接口电压。C6711需要3.3V和1.8V两种电压,并且要求两种电源满足一定的加电顺序。本系统采用两者同时加电的方式。根据系统的功耗要求,分别采用芯片TPS54316和TPS54314直接产生3.3V和1.8V两种电压,它最大可提供3A的供电电流。电源监控和复位电路采用TI公司的TPS3307-33实现,它可以同时监测三个独立的电压3.3V/5V/1.8V,并且被监测的三个电压有一个低于其门限值时,就可以保证输出有效的信号,使DSP复位,当它们的值都高于门限值时,信号才变为高电平。

1.4 时钟模块和JTAG接口

25MHz时钟信号经过ICS501倍频后,产生150MHz和100MHz时钟信号,经三态门总线缓冲器74LVTH125输出后得到CPU工作时钟及同步接口所需的工作时钟。C6711的7个JTAG仿真脚、TMS、TDI、TDO、TCK、EMU1和EMU0连接到一个14脚双排插头上,可与仿真器相连,以进行系统调试和程序下载。

1.5 外部存储器设计

C6711访问外部存储器必须通过EMIF。EMIF不仅有很高的数据吞吐率,而且还有很强的接口能力,可以与目前所有类型的存储器直接接口。设计采用三种类型的存储器:Flash ROM、双口RAM和同步动态存储器SDRAM。Flash ROM 是现场可擦除、掉电后可保持数据的存储器,用来固化程序和保存掉电后需要保存的数据;双口RAM用来存储一帧图像数据;SDRAM运行速度快,用来存放实时运行程序和临时数据。本系统Flash ROM采用SST39VF040,且配置在CE1空间。双口RAM采用IDT70V28,且配置在CE2空间。选用HY57V653220作为SDRAM,配置在CE0空间,这样的配置与引导方式相配合。

1.6 输出电路

系统根据输入的图像,由C6711进行处理后得出一个卫星姿态角信息。该姿态角信息由C6711输出到PC机的RS-232口,由于通信的信息量少,所以可以利用C6711的多通道缓冲串口McBSP,在不扩展其他硬件的情况下,用软件实现异步数据传输格式。发送时,发送转换子程序把每一个数据位扩展成16位的UART字,并把这些已转换好的数据块放入发送缓冲区,同时在适当的地方加上起始位和终止位(如图2所示),然后EDMA把数据从发送缓冲区传给McBSP,而McBSP帧同步发生器负责连续地移出这些数据[4];接收时,EDMA从McBSP读入已经扩展过的数据,并把这些数据写入接收缓冲区,然后再调用压缩子程序把数据转换成原来的字节形式。这种方法的优点是硬件接口简单,只需增加一个CMOS电平与RS232电平的电平转换电路。

2 图像处理算法的实现

中心定位图像处理算法设计以输入图像格式320×240像素、1024灰度级/像素为基础,包括滤波、判断地平圈是否进入视场、边缘检测和精确定中心几个部分。

2.1 滤波

探测器可能存在小于1%的坏单元,其灰度值主要为0或1023,坏元区范围小于3×3。坏元的存在有可能对边缘检测带来误差,再加上采集到的图像数据信噪比较低,所以采用二维中位数滤波[5]。其做法是:对于一帧图像,采用从上到下、从左到右的方法,移动3×3的窗口,在每一个位置,将有9个图像像素出现在窗口中,对这9个像素灰度值进行排序,使用快速排序法找到处于正中的像素值,把这个值赋给3×3窗口的中心像素。使用这种方法可以有效滤除区域不大于2×2的突发性干扰,从而提高算法精度。

2.2 判断地平圈是否进入视场

当卫星初始进入轨道时,在地平仪初始状态下可能探测不到地球,这时需启动搜索程序控制卫星偏转以搜索地球。因此,必须对所得的地平圈图像采用逐行扫描的搜索方法以判断地球是否进入视场。

2.3 边缘检测

边缘提取首先检测图像局部特性的不连续性,然后再将这些不连续的边缘像素连成完备的边界。边缘的特性是沿边缘走向的像素变化平缓,而垂直于边缘方向的像素变化剧烈。从这个意义上说,提取边缘的算法就是检测符合边缘特性的边缘像素的数学算子。

由于地球的辐射存在不均匀性,所以地平高度与采用的地平检测方式有关。其差别在于对应不同的地平检测方式,具体的地平高度随地球辐射变化程度不同。本文采用比例门限法检测地平圈。具体算法如下:以粗略地心为起点,以0.5度为间隔取720条射线。考虑到只需扫描地球辐射过渡带,所以每条射线的扫描起点距粗略地心为100个单位,间隔一个单位进行一次采样。由于该采样点的坐标不是整型,所以利用双线性内插得到采样点的灰度值,依次判断采样点,一边记录灰度最大值,一边判断该灰度值是否小于最大值的一半。当条件成立时,扫描停止,算出灰度值为最大值的50%所对应的坐标,即地平点坐标。扫完720条射线后,所有的地平点构成一个地平圈。该算法对接近过渡带的点进行双线性内插,提高了程序执行效率。检测出的地平点坐标是浮点数,提高了地平判定精度,有利于减小测量地心的误差。

 2.4 精确定中心

精确定中心是算法中最关键的部分,方法的好坏直接影响地心的精度。一般有霍夫变换法、面积积分和三点均值法等。精确定位采用面积积分法。根据微积分理论,对于一个封闭区域D,其重心坐标可用如下公式得到:

式中,x和y代表单元点的坐标,ρ(x,y)代表单元点的密度,D代表整个区域。

当ρ(x,y)=1时,区域的重心和形心重合,S表示区域的面积。为了能够用计算机计算区域的中心位置,必须对上面的公式离散化。离散化后的公式为:

式中, R(θ)表示对应θi~θi+1范围内的幅值变化规律。

3 实验结果

把CCD拍摄到的图像数据送入该系统处理,每处理完一帧图像就会从串口输出一个姿态角信息。表1是四帧图像的处理结果。从表1可以看出算法的精度优于0.1的指标要求,算法处理时间约为0.49秒,满足一秒处理一帧的实时要求。

由高性能数字信号处理器TMS320C6711B和FPGA组成的实时图像处理系统,实现了图像采集、实时数据处理及输出。利用JTAG接口对系统进行在线调试,使系统具有很好的升级性和扩展性。采用DSP处理器,增强了系统的处理能力,提高了系统处理速度,保证了工作的实时性要求。采用贴片器件,既减小了PCB板的尺寸,又增强了系统的可靠性。实验证明,中心定位算法通过对原始图像滤波、判断目标是否进入视场、边缘检测和精确定中心大大提高了地平仪的测量精度。

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

从世界上第一颗DSP诞生至今30年来,国际一线老牌芯片厂商长期占据领先技术和市场地位,国内芯片厂商在DSP上的声量很小。然而经过了6年的沉心打磨之后,湖南进芯电子开始在这一领域崭露头角。凭借着更贴近中国本土特色的差异化产...

关键字: DSP MCU 电机控制 进芯电子

在嵌入式系统开发、调试和测试过程中,J-Link作为一种高效的调试工具,为开发者提供了极大的便利。然而,要想充分发挥J-Link的功能,首先需要正确安装其驱动程序。本文将详细介绍J-Link驱动的安装过程,并深入解析其中...

关键字: jlink 嵌入式系统 嵌入式开发

与谷歌的合作使 Nordic 能够在 nRF Connect SDK 中嵌入开发人员软件,以构建与安卓移动设备兼容的谷歌Find My Device和未知跟踪器警报服务

关键字: 谷歌 SoC 嵌入式开发

嵌入式开发作为当今电子工程和信息技术领域的核心分支,涵盖了广泛的软硬件技术和系统集成方法,用于构建高性能、低成本、低功耗、体积小巧且功能专一的嵌入式系统。这些系统无处不在,从微型传感器节点到复杂的工业控制设备,从日常使用...

关键字: 嵌入式开发 Python

嵌入式开发是当今信息技术领域不可或缺的一部分,它融合了硬件设计、软件开发和系统集成等多个学科,专门用于创建那些被嵌入到特定设备或系统中的专用计算机系统。嵌入式开发的主要过程包括利用分立元件或集成器件进行电路设计、结构设计...

关键字: 嵌入式开发 硬件设计 软件开发

嵌入式开发作为一种专业且技术密集型的领域,涵盖了从硬件底层驱动、中间件到应用层软件开发等多个层面的工作,其所需的工具种类繁多,各有针对性,旨在提升开发效率、保证代码质量以及简化调试过程。

关键字: 嵌入式开发 keil

嵌入式开发作为信息技术领域的重要分支,其涉及的语言种类繁多,各具特色。这些语言的选择取决于目标平台的特性、性能需求、开发者的熟练程度以及项目的具体要求。本文将详细介绍几种常见的嵌入式开发语言,包括C语言、C++、汇编语言...

关键字: 嵌入式开发 C语言

嵌入式开发是一项综合了硬件设计、软件编程以及系统整合的技术活动,其目的是为了创造出能够在特定环境中高效、稳定运行的嵌入式系统。这一流程涵盖了多个紧密关联且不可或缺的阶段,从最初的客户需求分析到最终的产品测试和交付,每个环...

关键字: 嵌入式开发 硬件设计

嵌入式开发作为一个融合了计算机软硬件和系统工程的综合性领域,其成功与否往往取决于三个核心要素的有效整合与协调。这三个要素分别是:硬件平台的选择与设计、软件开发及其优化、以及系统级的设计与集成。深入理解并熟练掌握这三个方面...

关键字: 嵌入式开发 ARM

嵌入式开发作为信息技术的关键支柱,在全球数字化转型浪潮中扮演着无可替代的角色。从传统的嵌入式微控制器到如今先进的片上系统(SoC),再到与云计算、人工智能深度融合的智能终端,嵌入式系统的演进与发展始终紧跟时代脉搏。本文将...

关键字: 嵌入式开发 智能应用
关闭
关闭