介紹了TMS320C6701芯片的主要功能特點及內部結構,建立了以DSP為核心的星敏感器信息處理電路系統,并在此系統中成功實現了快速的全天球星圖識別。實驗結果表明,在不降低星圖識別率的條件下,該算法在本系統中的運行速度為0.47s,比基于RISC的星敏感器數據處理單元的速度提高近一倍。
星敏感器是天文導航系統的主要設備,它是集光學、機械、電子、實時圖像處理技術于一體的儀器。它通過圖像傳感器獲取星體的圖像信息,然后對圖像信息進行實時處理,處理過程包括星體質心定位、星圖識別匹配、快速跟蹤和精確姿態(tài)求解,最后輸出當前空間飛行器的姿態(tài)信息。
美國加州理工大學的JPL實驗室是最早從事星敏感器的開發(fā)研制工作的,為減小星敏感器硬件電路的功耗,其運算電路系統主要由RISC芯片構成,用以實現星體定位及星圖識別算法等。目前星敏感器實時工作的瓶頸在于怎樣提高速度。由于星圖識別算法占整體星敏感器數據處理的大部分時間,因此需要在軟件上應用識別率高同時算法簡單的星圖識別程序,同時硬件結構上采用更為先進的技術。星圖識別程序包括了三角函數的計算,矩陣的轉換等乘法執(zhí)行指令,乘法執(zhí)行速度越快就代表著識別程序能夠在更短的時間內完成。DSP的專用硬件乘法器可以大大的提高運算的速度。本文正是以星敏感器的這一需求為出發(fā)點,采用了頻率高、處理速度快的浮點DSP芯片TMS320C6701作為星敏感器的核心處理器,實現了以徑向和環(huán)向分布為特征的星圖識別算法。
1 電路系統設計
用于星圖識別算法的星敏感器DSP系統以C6701為核心,在其外圍加上存儲器模塊、JTAG接口模塊、RS232串口模塊、FIFO接口模塊、電源模塊等,實現計算、通訊等功能。系統總體框圖如圖1所示。
圖 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硬件系統外部存儲器包括滿足大容量數據緩存需求的同步動態(tài)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的應用程序的開發(fā)中,程序代碼或數據表是要保存在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接收發(fā)送器,方便的實現DSP與計算機的串行通訊,將全天球星圖識別計算結果傳回PC機顯示。
1.3.1 串行接口
TMS320C6701的多通道緩沖串口McBSP是同步串口,而計算機的串行口RS232是異步串口,中間就要考慮到同步串口轉異步接口,以及電平轉換的問題。將McBSP轉換成UART,再進行電平轉換,就可以與RS232直接進行通信。
MAX3111E是一個集成SPI/微細線兼容接口的UART和15kv放電保護RS232收發(fā)器為一體的芯片。使McBSP工作在SPI模式下, MAX3111E來完成McBSP和RS232之間的通信。
1.3.2 FIFO接口
通過C6701的外部存儲器接口實現高速外部先入先出(FIFO)存儲器與DSP的接口,來保證外部設備FPGA傳輸數據到DSP進行處理。
2 系統軟件設計
星圖識別算法的程序是用C語言實現的,主要有星圖識別程序,以及一些輔助程序。基于所用的TMS320C6701芯片,我們編寫了一些硬件驅動程序,例如FLASH燒寫及BOOTLOADER程序等。
2.1 星圖識別算法
本文采用了基于徑向和環(huán)向分布特征的全天球星圖識別方法。它的基本思想為:利用徑向分布特征作為初始匹配,利用環(huán)向分布特征進行精確匹配。
圖 2 徑向分布特征
以主星S為中心,如圖所示將圓周等分成8份,計算其他伴星在圓周上的分布,組成一個8位的向量V(<11000100>)。將V作循環(huán)移位,找出V所組成的數(十進制)的最大值,將這個最大值作為S的環(huán)向分布特征。如圖所示V移位后仍然保持不變,則環(huán)向特征向量 =11000100=196。
圖 3 環(huán)向分布特征
事先構造全天球導航星庫的模式庫。使用時獲得星圖后,計算該星圖中某顆星的模式,通過比較導航星庫中的星模式,找到最匹配的星,完成全天球星圖識別的過程,從而確定飛行器的位置。DSP經過串口模塊,將計算結果傳遞給PC機顯示,可以比較DSP與PC機的處理結果。
2.2 BOOT過程的實現
TMS320C6701器件可以設置成三種自舉方式,分別為(1)無自舉;(2)ROM自舉;(3)主機自舉。
系統加電后,RESET信號為低,芯片復位。在RESET信號上升沿處,鎖存BOOTMODE[4:0]信號,借以決定芯片的存儲器映射方式、地址0處的存儲器類型以及復位后芯片的自舉模式,復位結束后,芯片從存儲器的0地址開始執(zhí)行指令。TMS320C6701芯片有專門的BOOTMODE[4:0]管腳決定芯片的各種設置。本系統中BOOTMODE[4:0]管腳設置成[10101],芯片在復位后自動將位于外部CE1空間ROM中的程序通過DMA搬入地址0處,傳輸完成后,CPU退出復位狀態(tài),開始執(zhí)行地址0處的指令,程序啟動。
3 實驗結果
本文以星敏感器的視場FOV為1212的視場、敏感星等為6等為例,編程測試以上提到的算法。
測試結果表明,基于DSP的硬件系統以及基于RISC的硬件系統的識別結果及識別率一致。DSP系統平均識別時間約為0.47s,RISC系統平均識別時間約為0.805s,大大提高了星敏感器的實時性。
4 結論
本文首先介紹了星敏感器運算及控制的核心——DSP處理器的結構及特點,然后利用高速浮點芯片TMS320C6701搭建硬件系統,完成了基于DSP的星敏感器運算電路系統。接著分析了以徑向和環(huán)向分布為特征的快速星圖識別算法和BOOT過程實現的軟件程序。最后仿真驗證表明,該系統可以很好的完成星圖識別任務,同時系統平均識別時間達到為0.47s,處理速度相比RISC數據處理單元提高了近一倍
責任編輯:gt
-
電源
+關注
關注
184文章
17704瀏覽量
249959 -
傳感器
+關注
關注
2550文章
51035瀏覽量
753067 -
芯片
+關注
關注
455文章
50714瀏覽量
423137
發(fā)布評論請先 登錄
相關推薦
評論