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

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

    关注

    182

    文章

    16547

    浏览量

    244677
  • 传感器
    +关注

    关注

    2525

    文章

    48069

    浏览量

    739975
  • 芯片
    +关注

    关注

    446

    文章

    47769

    浏览量

    409066
收藏 人收藏

    评论

    相关推荐

    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平台实现USB接口设计

    编程,控制USB接口芯片实现USB协议。所以,开发难度相对来说大一些,要做的编程工作也多一点。但是这套方案的成本非常低,而且由于直接用DSP作为微控制
    发表于 06-19 05:00

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

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

    通过FPGA实现温控电路接口及其与DSP通信接口的设计

    是整个电路的核心。 其中,温度传感采用 DALLAS公司的 DS18B20,它采用 1-wire总线协议,仅需 1根数据线进行通信。DSP
    发表于 08-19 09:29

    怎么实现基于DSP和SOPC数字信号发生的设计?

    为了比较DSP和SOPC技术在电子设计领域的应用,采用泰勒展开法和DDFS技术,分别给出设计方案的硬件电路结构和软件流程图,并通过集成开发环境CCS和DE2开发板
    发表于 05-12 06:15

    怎么实现基于DSP芯片和CPLD的刹车控制系统设计?

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

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

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

    DSP芯片的定点运算

    在定点DSP芯片中,采用定点数进行数值运算,其操作数一般采用整型数来表示。一个整型数的最大表示范围取决于
    发表于 07-04 16:57 24次下载

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

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

    DSP芯片的定点运算

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

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

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