0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

采用DSP芯片实现星敏感器运算电路系统的应用方案

电子设计 来源:微计算机信息 作者:兰巍,江洁,张广军 2021-03-26 15:19 次阅读

介绍了TMS320C6701芯片的主要功能特点及内部结构,建立了以DSP为核心的星敏感器信息处理电路系统,并在此系统中成功实现了快速的全天球星图识别。实验结果表明,在不降低星图识别率的条件下,该算法在本系统中的运行速度为0.47s,比基于RISC的星敏感器数据处理单元的速度提高近一倍。

星敏感器是天文导航系统的主要设备,它是集光学机械电子、实时图像处理技术于一体的仪器。它通过图像传感器获取星体的图像信息,然后对图像信息进行实时处理,处理过程包括星体质心定位、星图识别匹配、快速跟踪和精确姿态求解,最后输出当前空间飞行器的姿态信息。

美国加州理工大学的JPL实验室是最早从事星敏感器的开发研制工作的,为减小星敏感器硬件电路的功耗,其运算电路系统主要由RISC芯片构成,用以实现星体定位及星图识别算法等。目前星敏感器实时工作的瓶颈在于怎样提高速度。由于星图识别算法占整体星敏感器数据处理的大部分时间,因此需要在软件上应用识别率高同时算法简单的星图识别程序,同时硬件结构上采用更为先进的技术。星图识别程序包括了三角函数的计算,矩阵的转换等乘法执行指令,乘法执行速度越快就代表着识别程序能够在更短的时间内完成。DSP的专用硬件乘法器可以大大的提高运算的速度。本文正是以星敏感器的这一需求为出发点,采用了频率高、处理速度快的浮点DSP芯片TMS320C6701作为星敏感器的核心处理器,实现了以径向和环向分布为特征的星图识别算法。

1 电路系统设计

用于星图识别算法的星敏感器DSP系统以C6701为核心,在其外围加上存储器模块、JTAG接口模块、RS232串口模块、FIFO接口模块、电源模块等,实现计算、通讯等功能。系统总体框图如图1所示。

采用DSP芯片实现星敏感器运算电路系统的应用方案

图 1 DSP星敏感器系统框图

1.1 TMS320C6701的内部结构

在星敏感器系统中,我们采用TMS320C6701作为主要处理部件。C6701是TI公司推出的TMS320C6000系列中的一款支持浮点运算的高速DSP 芯片,它采用超长指令字(VLIW) 体系结构。在CPU时钟频率为167MHz时,其运算能力最高为1336 MIPS,浮点运算能力最高为1 G FLOPS。它有4个相互独立的可编程DMA通道,可独立于CPU进行工作,以CPU时钟速率进行数据吞吐。

1.2 外部存储器

DSP硬件系统外部存储器包括满足大容量数据缓存需求的同步动态RAM,以及存储所有系统软件保证系统脱离PC机独立工作的FLASH芯片。

1.2.2 EMIF与SDRAM的接口

C6701片内有64kBytes的数据存储器和64kBytes的程序存储器,而用于星图识别的程序需要66kBytes的存储空间,全天球星库需要962kBytes的存储空间,C6701的片内存储器不能满足星敏感器的需要,因此电路系统扩展了大容量的SDRAM以存放星库以及程序。

基于以上需求,采用1片MT48LC4M32B2 –1 Meg x 32 x 4banks SDRAM映射到CE0外部存储空间。MICRON的MT48LC4M32B2-7是86-pin TSOP(400 mil)的CMOS同步DRAM,最高工作频率(处理速度)为143Mhz(7ns)。DRAM设备始终时钟控制在CPU时钟速率的一半,即当CPU芯片以OSC4运行时,SDRAM以66.67Mhz(15ns)运行。

1.2.2 EMIF与FLASH的接口

在基于C6701的应用程序的开发中,程序代码或数据表是要保存在FLASH或其它非易失存储器中,以保证掉电时代码仍在,程序在加电复位后自动运行。C6701的EMIF通过异步接口可以支持8位、16位和32位FLASH配置。要实现TI TMS320C6201/ C6701的外部ROM自举,“8/16bit ROM/FLASH存储器”必须配置在CE1空间。本系统使用的Flash芯片AT49BV1614A是一种存储量1M16或2M8的闪速存储器,存取时间70ns,能够电擦除,并能在大多数标准的微处理器总线上通过特殊的编码命令序列编程。

1.3 扩展接口

系统还嵌入了FIFO扩展接口以及串口通讯模块。通过FIFO接口与FPGA连接,获得数据进入DSP进行处理。通过RS232接收发送器,方便的实现DSP与计算机的串行通讯,将全天球星图识别计算结果传回PC机显示。

1.3.1 串行接口

TMS320C6701的多通道缓冲串口McBSP是同步串口,而计算机的串行口RS232是异步串口,中间就要考虑到同步串口转异步接口,以及电平转换的问题。将McBSP转换成UART,再进行电平转换,就可以与RS232直接进行通信

MAX3111E是一个集成SPI/微细线兼容接口的UART和15kv放电保护RS232收发器为一体的芯片。使McBSP工作在SPI模式下, MAX3111E来完成McBSP和RS232之间的通信。

1.3.2 FIFO接口

通过C6701的外部存储器接口实现高速外部先入先出(FIFO)存储器与DSP的接口,来保证外部设备FPGA传输数据到DSP进行处理。

2 系统软件设计

星图识别算法的程序是用C语言实现的,主要有星图识别程序,以及一些辅助程序。基于所用的TMS320C6701芯片,我们编写了一些硬件驱动程序,例如FLASH烧写及BOOTLOADER程序等。

2.1 星图识别算法

本文采用了基于径向和环向分布特征的全天球星图识别方法。它的基本思想为:利用径向分布特征作为初始匹配,利用环向分布特征进行精确匹配。

图 2 径向分布特征

以主星S为中心,如图所示将圆周等分成8份,计算其他伴星在圆周上的分布,组成一个8位的向量V(<11000100>)。将V作循环移位,找出V所组成的数(十进制)的最大值,将这个最大值作为S的环向分布特征。如图所示V移位后仍然保持不变,则环向特征向量 =11000100=196。

图 3 环向分布特征

事先构造全天球导航星库的模式库。使用时获得星图后,计算该星图中某颗星的模式,通过比较导航星库中的星模式,找到最匹配的星,完成全天球星图识别的过程,从而确定飞行器的位置。DSP经过串口模块,将计算结果传递给PC机显示,可以比较DSP与PC机的处理结果。

2.2 BOOT过程的实现

TMS320C6701器件可以设置成三种自举方式,分别为(1)无自举;(2)ROM自举;(3)主机自举。

系统加电后,RESET信号为低,芯片复位。在RESET信号上升沿处,锁存BOOTMODE[4:0]信号,借以决定芯片的存储器映射方式、地址0处的存储器类型以及复位后芯片的自举模式,复位结束后,芯片从存储器的0地址开始执行指令。TMS320C6701芯片有专门的BOOTMODE[4:0]管脚决定芯片的各种设置。本系统中BOOTMODE[4:0]管脚设置成[10101],芯片在复位后自动将位于外部CE1空间ROM中的程序通过DMA搬入地址0处,传输完成后,CPU退出复位状态,开始执行地址0处的指令,程序启动。

3 实验结果

本文以星敏感器的视场FOV为1212的视场、敏感星等为6等为例,编程测试以上提到的算法。

测试结果表明,基于DSP的硬件系统以及基于RISC的硬件系统的识别结果及识别率一致。DSP系统平均识别时间约为0.47s,RISC系统平均识别时间约为0.805s,大大提高了星敏感器的实时性。

4 结论

本文首先介绍了星敏感器运算及控制的核心——DSP处理器的结构及特点,然后利用高速浮点芯片TMS320C6701搭建硬件系统,完成了基于DSP的星敏感器运算电路系统。接着分析了以径向和环向分布为特征的快速星图识别算法和BOOT过程实现的软件程序。最后仿真验证表明,该系统可以很好的完成星图识别任务,同时系统平均识别时间达到为0.47s,处理速度相比RISC数据处理单元提高了近一倍

责任编辑:gt

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 电源
    +关注

    关注

    184

    文章

    17559

    浏览量

    249399
  • 传感器
    +关注

    关注

    2548

    文章

    50642

    浏览量

    751721
  • 芯片
    +关注

    关注

    453

    文章

    50360

    浏览量

    421639
收藏 人收藏

    评论

    相关推荐

    DSP芯片是什么? 什么是DSP芯片

    ;DSP芯片,也称数字信号处理,是一种具有特殊结构的微处理DSP芯片的内部
    发表于 06-19 15:17

    警示灯光耦合电路系统设计教程

    是一个不错的设计案例,下面就让我们来一起看看吧。  本方案所设计的这一基于光耦合的警示灯电路系统,是在一种原有的循环闪烁警示灯电路系统的基础上所改进和完善的。由于传统的
    发表于 01-29 16:21

    从应用实例看干扰敏感电路系统设计要点

    干扰敏感电路系统设计有很多需要考虑的要点,需要对您的电路系统进行周全的规划和设计。这里分享ADI专家对一个高性能多路复用数据采集系统的部分设计考虑,供大家参考。多路复用数据采集系统简化
    发表于 09-28 15:14

    电感式位移传感电路系统设计

      摘 要: 介绍了一种电感式位移传感电路系统。该系统以一片AD698芯片为信号调整电路的核心,将位移量输出信号转换为相应的直流电压值,
    发表于 11-05 15:40

    采用DSP实现高速AD采集系统设计

    摘要:在某综合控制计算机系统中为了实现对多路AD信号实时高精度采集,采用了以TMS320C6713B为核心,与AD7656芯片相组合的高精度、实时A/D数据采集砹计
    发表于 06-19 05:00

    DSP芯片和外围电路怎么实现赛车刹车系统

    本文在硬件电路设计上采用DSP芯片和外围电路构成速度捕获电路,电机驱动控制
    发表于 03-10 08:06

    单片机3种时钟电路方案分享

    关注、标公众号,不错过精彩内容编辑:Mo来源:电脑报工程师在开发一个电路系统,往往会需要用到中央处理,比如单片机、FPGA、或者DSP等等;当然一些简单的纯硬件
    发表于 01-27 08:12

    基于TMS320C6701的敏感电路系统的设计

    介绍了TMS320C6701 芯片的主要功能特点及内部结构,建立了以DSP 为核心的敏感信息处理电路
    发表于 09-16 10:00 16次下载

    DSP芯片的定点运算

    DSP芯片的定点运算3.1 数 的 定 标在定点DSP芯片中,采用定点数进行数值
    发表于 04-06 14:07 33次下载

    模拟电路系统的设计

    为了适应航天的发展需求,需要研制小型轻量化的多模拟。提出了采用Sony公司的LCX023CMT液晶光阀为核心的多模拟
    发表于 08-02 16:40 0次下载

    采用DSP芯片的MELP声码的算法设计方案

    采用DSP芯片的MELP声码的算法设计方案 摘要:论文对MELP编解码算法的原理进行了简要分析,讨论了如何在定点
    发表于 03-06 14:20 1383次阅读
    <b class='flag-5'>采用</b><b class='flag-5'>DSP</b><b class='flag-5'>芯片</b>的MELP声码<b class='flag-5'>器</b>的算法设计<b class='flag-5'>方案</b>

    紫外CCD敏感头部电路系统的研究

    紫外CCD敏感头部电路系统的研究,感兴趣的小伙伴们可以看一看。
    发表于 09-14 17:17 34次下载

    基于CMOS APS和SoPC芯片 设计了微小型敏感的光学及电学系统

    敏感是航天飞行姿态控制的重要组成部件。基于国产抗辐射CMOS APS芯片和SoPC控制芯片
    的头像 发表于 01-25 10:43 7102次阅读
    基于CMOS APS和SoPC<b class='flag-5'>芯片</b>  设计了微小型<b class='flag-5'>星</b><b class='flag-5'>敏感</b><b class='flag-5'>器</b>的光学及电学<b class='flag-5'>系统</b>

    利用现场可编程门阵列实现DTMF信号接收及判别电路系统的设计

    要设计一个能够完成DTMF信号的接收及判别电路系统,可以考虑的方案有很多,可以选择利用MCU编程实现,利用DSP编程实现,但是为了
    发表于 08-06 17:37 1166次阅读
    利用现场可编程门阵列<b class='flag-5'>实现</b>DTMF信号接收及判别<b class='flag-5'>电路系统</b>的设计

    基于FPGA的DSP运算技术实现流水线应用系统的设计

    它们在高速和实时系统中的应用。随着深亚微米半导体制造工艺的不断创新,百万门可编程器件的不断推出,为DSP提供了第3种有效的解决方案,即利用FPGA实现
    发表于 08-10 11:22 1217次阅读
    基于FPGA的<b class='flag-5'>DSP</b><b class='flag-5'>运算</b>技术<b class='flag-5'>实现</b>流水线应用<b class='flag-5'>系统</b>的设计