張 磊,何 昕,魏仲慧,王方雨
(中國科學院 長春光學精密機械與物理研究所,吉林 長春130033)
星敏感器是一種以恒星為參考系的天文導航裝置,是迄今為止最精密且漂移最小的姿態(tài)測量部件[1-2]。由于星敏感器在使用時可以為載體直接提供高精度的空間姿態(tài)測量信息,其外部接口通常只需包括電源接口、通信接口兩類。電源接口用以提供星敏感器正常工作的電源,通信接口用以實現(xiàn)星敏感器與系統(tǒng)的數據通信。而圖像作為最直觀、具體的信息載體,雖然在使用時因傳輸信道帶寬的限制或無需事后處理,將其封閉,但在地面功能測試或觀星試驗中,可以看到實時星空圖像,將圖像下載存儲后可以用來考察星圖處理及識別算法,另一方面,在環(huán)境試驗中可以用來監(jiān)視實時圖像,了解設備的狀態(tài),因此,圖像是地面檢測環(huán)節(jié)中重要的監(jiān)測和驗證手段。
為適應航天產品對重量、功耗和體積的要求,星敏感器均采用嵌入式的設計方案,集成化程度越來越高,在圖像接口方面,為滿足小型化和電磁兼容等要求,不會使用標準的圖像接口,取而代之的是尺寸小、密封性較好的航天連接器。而在圖像傳輸協(xié)議上,則會采用廣泛應用的CameraLink圖像協(xié)議。這就對地面檢測設備中的圖像采集、存儲提出了較高的要求,通常需要配備較笨重的臺式機箱與專用的PCI圖像采集卡,成本較高,便攜性極差。隨著科學技術的進步,千兆網,即千兆以太網,逐漸成為包括筆記本在內的計算機的標準配置,采用千兆以太網傳輸星敏感器圖像具有傳輸帶寬高、傳輸距離遠和性價比高的特點,而且對地面檢測設備的要求也大大降低。
本文基于上述思想,從模塊化的角度出發(fā),采用千兆網控制器AX88180 芯片、物理層收發(fā)器M88E1111芯片以及Windows網絡套接字,設計了千兆網圖像采集傳輸系統(tǒng)。實驗證明,采用該千兆網圖像采集系統(tǒng),能很好地完成對星敏感器圖像的采集、顯示與存儲。
千兆以太網采集、傳輸星敏感器圖像的方案如圖1所示。星敏感器產生的數字圖像經千兆網圖像采集、傳輸系統(tǒng)采集編碼后,以網絡數據流的形式輸出,在計算機端無需特別的接口卡或昂貴且復雜的圖像采集卡,只需一塊普通的千兆網卡就可以從外部圖像源接收實時的非壓縮圖像,千兆帶寬滿足了絕大多數星敏感器圖像傳輸應用的要求,同時這也降低了對圖像采集計算機的配置要求,使用便攜式筆記本電腦即可完成圖像的采集、顯示與存儲。
采用千兆網傳輸圖像首先解決圖像源接口協(xié)議轉換的問題,星敏感器圖像以CameraLink 協(xié)議 傳 輸,CameraLink 是NI 公 司 基 于Channel Link技術發(fā)展而來的,而Channel Link以LVDS規(guī)范為基礎。CameraLink信號以7∶1的方式串行化為4條LVDS數據流,CameraLink接收器接收4路LVDS數據信號和1路LVDS時鐘信號,將數據流轉換為28位的CMOS/TTL并行數據,5對線傳輸28路信號。
圖1 千兆網圖像采集、傳輸方案Fig.1 Scheme of image acquisition and transmission over Gigabit Ethernet
其次,在網絡傳輸方面,底層采用千兆網MAC控制器和PHY 收發(fā)器件實現(xiàn)網絡數據的傳輸。在網絡協(xié)議方面,為保證通訊協(xié)議的兼容性和網絡傳輸效率,在傳輸層選擇UDP協(xié)議,同時,考慮UDP協(xié)議是一種不可靠的傳輸層協(xié)議,在應用層還要再設計圖像傳輸協(xié)議以保證圖像網絡傳輸的可靠性。
本設計中星敏感器圖像的分辨率是1 024×1 024,數據更新率10 Hz,像素量化位數14bit,則數據量140 Mb/s,而千兆網的數據傳輸能力標稱1Gb/s,遠遠超過數據源的帶寬,所以采用千兆網采集星敏感器圖像完全滿足需求。
2.1.1 千兆網控制器AX88180
AX88180是臺灣ASIX 公司推出的全球第一款高性能低成本的Non-PCI千兆以太網控制器,符合IEEE802.3/IEEE 802.3u/IEEE 802.3ab協(xié)議,適用于多種需要高速接入網絡的嵌入式系統(tǒng)。
AX88180內 置10/100/1 000 Mb/s以 太 網媒體存取控制器(MAC),與PHY 之間采用RGMII接口;內置主機接口控制器,可以與16/32位主機方便連接,尋址方式與SRAM 相同;內置40 KB SRAM 網絡封包緩存器,其中32KB 用于從PHY 接收數據包,8KB 用于主機發(fā)送數據包到PHY,可以用高效方式進行封包的存儲、檢索與修改;內置256字節(jié)的配置寄存器,用于主機控制和參數設置;內置EEPROM 接口;內置IP/TCP/UDP校驗和,可大大減小微控制器的運算負載,改善傳輸反應時間。圖2是AX88180的內部結構框圖[3]。
圖2 AX88180內部結構框圖Fig.2 Structure of AX88180
2.1.2 物理層收發(fā)器M88E1111
Marvell M88E1111是一款千兆以太網收發(fā)器物理層芯片,采用標準的CMOS工藝制造,支持1000BASE-T、100BASE-TX、10BASE-T 應用,支持自動協(xié)商功能(Auto-Negotiation),支持傳輸介質自動檢測(Auto-Media Detect),支持網絡收發(fā)線對的自動檢測和交叉(MDI/MDIX Crossover),可以在五類非屏蔽雙絞線上進行數據的收發(fā)。
M88E1111內部組成如圖3 所示,它包括了千兆以太網物理層PCS、PMA、PMD 子層的所有功能。其發(fā)送端集成一個多功能的D/A 轉換器,可以支持4DPAM5、MLT3和曼徹斯特編碼,分別支持1000BASE-T、100BASE-TX 和10BASET 的鏈路編碼,其中在100BASE-X 應用中,在進行鏈路編碼之前還要經過4B/5B 編碼。接收端集成一個高速A/D 轉換器以125 MHz的頻率采樣輸入信號,首先采用回聲消除、近端串擾抑制等多種手段提升信號質量,再經過接收PCS層解碼后交付給MAC層[4]。
圖3 M88E1111內部功能框圖Fig.3 Structure of M88E1111
基于千兆網的星敏感器圖像采集系統(tǒng)硬件架構圖如圖1所示,由解碼芯片、FPGA、SRAM、網絡MAC芯片、PHY 芯片及RJ45接口組成。系統(tǒng)采用Xilinx 系列的XC2V3000FPGA 芯片作為主控制器,控制千兆網絡芯片的初始化、星敏感器圖像數據采集以及網絡數據的組幀發(fā)送。選擇DS90CR288 作為CameraLink 圖像解碼芯片、AX88180和M88E1111作為網絡驅動控制芯片,MAC芯片AX88180負責將標準的組幀的網絡數據包傳送給PHY 芯片88E1111,完成圖像數據的發(fā)送。
系統(tǒng)上電后,先初始化網絡芯片AX88180和M88E1111,完成寄存器的配置[5];當有星敏感器圖像輸入時,先由DS90CR288芯片解碼;解碼的圖像經FPGA 控制在兩片SRAM 間進行乒乓緩存,同時,F(xiàn)PGA 取出將要發(fā)送的數據,組幀后寫入MAC芯片的緩存中,在FPGA 的控制下PHY芯片將圖像數據通過RJ45接口發(fā)送到網絡上。
2.2.1 圖像解碼
前端接口是CameraLink 圖像采集部分,完成對星敏感器輸出圖像的解碼。如圖4 所示是CameraLink接口Base模式的數字圖像信號的時序關系圖。根據CameraLink 接口協(xié)議,一幀數字圖像由場同步信號、行同步信號、像元時鐘和多位圖像數據組成,各信號均在像元時鐘的上升沿是數據穩(wěn)定時期。
圖4中的信號由TI公司的DS90CR288 解碼芯片進行圖像數據、行、場、時鐘的LVDS 和TTL通道之間的轉換,將CameraLink 接口中5對LVDS信號解碼、轉換到包括圖像數據、行、場信號在內的28位TTL信號。
圖4 Cameralink格式時序圖Fig.4 Timing sequence of CameraLink data
2.2.2 網絡芯片互連
千兆網進行數據傳輸是由千兆網的MAC 芯片與PHY 芯片之間交互實現(xiàn)的,其關鍵在于芯片間的接口互連,如圖5 所示為FPGA、AX88180、M88E1111 與RJ45 接 口 的 連 接 關系圖。
AX88180支持16/32位的類SRAM 主機接口,并支持與主機的同步及異步工作方式。本設計中選擇FPGA 作為主機,為AX88180提供64 K 空間,其中0000H-7FFFH 供數據接收使用,8000H-FBFFH 供發(fā)送數據使用,另外,由于FPGA 具有充足的引腳,為了實現(xiàn)較高的數據傳輸速率,選擇32位的接口和異步操作的工作方式。AX88180與FPGA 之間的連線主要是讀、寫及地址、數據總線,接口共包括片選信號CSN、寫信號WEN、讀信號OEN、16位地址總線HA、32位數據總線HD,以及硬件復位信號RESET、MAC 中斷信號INTN[3]。
M88E1111與AX88180 之間通過簡化后的RGMII接口連接,它通過數據引腳和控制信號的復用將GMII 接口的引腳數減少到12 個。M88E1111與AX88180 間接口主要包括發(fā)送數據TXD、發(fā)送時鐘TXCX、發(fā)送使能TXEN、接收數據RXD、接收時鐘RXCX、接收使能RXDV、參考時鐘信號CLK125以及PHY 中斷信號PHYINTN 等。
M88E1111包含有大量的管理寄存器,提供了通過MDC和MDIO 引腳訪問PHY 內部寄存器的功能,MDC 是管理數據時鐘輸入,MDIO 是一個與MDC 保持同步的可讀可寫的雙向接口,F(xiàn)PGA 通過MDC/MDIO 管理接口訪問PHY 并進行串行配置[4]。
MDI是PHY 芯片與物理介質的接口,與RJ45連接。
圖5 接口的連接關系圖Fig.5 Interface connective relation
當圖像數據到達計算機網卡時,操作系統(tǒng)要將其解包交給上層應用軟件,由應用軟件負責圖像重組、顯示并記錄在硬盤中。應用軟件采用多線程的設計實現(xiàn)并行處理,一是可以避免因功能模塊相互等待導致的數據丟失,二是可以避免軟件在執(zhí)行顯示或存儲時長時間占用CPU 導致軟件無法及時響應用戶的界面操作。在網絡協(xié)議的使用上,為了提高網絡的傳輸效率,本設計在傳輸層選擇UDP 協(xié)議傳輸圖像,在應用層設計圖像協(xié)議來保證圖像最終傳輸的可靠性與完整性,UDP是IP之上的最小服務,在IP數據報的基礎上添加的首部最小,僅8個字節(jié)長,所攜帶的有效數據就相對較多,而且UDP 不必建立和釋放連接,減少了開銷和時延,提高了傳輸效率[6]。
主線程啟動后,根據需要創(chuàng)建圖像網絡接收、顯示及存儲3個線程,多個線程并發(fā)地運行在同一進程中,共同使用進程中的所有地址空間、全局變量和系統(tǒng)資源,線程間使用事件對象(Event)進行同步。
網絡通訊采用異步事件通知的WSAEventSelect模型,允許應用軟件在套接字Socket上接收基于事件的網絡通知,該模型經由事件對象句柄通知[7]。部分網絡初始化的代碼如下,首先,初始化一個網絡套接字,為網絡接收事件創(chuàng)建一個事件對象,然后調用WSAEventSelect函數將網絡事件和事件對象關聯(lián)起來,啟動網絡數據接收線程。
當有網絡數據到達時,異步模型中指定的事件FD_READ 發(fā)生,與其關聯(lián)的事件對象hRead-Event被置位,等待事件對象的函數就會執(zhí)行,調用WSAEnumNetworkEvents函數獲取底層發(fā)生的網絡事件,網絡接收線程接收數據,當接收完一幅完整幀圖像時,觸發(fā)圖像存儲、顯示線程工作。
網絡接收的數據為圖像的原始數據,沒有文件頭以解析圖像的分辨率及位數,可通過軟件界面設置該圖像屬性,調用StretchBlt或BitBlt函數即可顯示圖像。因圖像顯示大部分時候用來監(jiān)視,所以顯示線程優(yōu)先級較低,可以根據需要采用隔幀顯示。
通過筆記本電腦進行觀星試驗,圖6所示為應用軟件在設置好圖像分辨率、顯示方式及存儲標志后,實時采集并顯示的獵戶座附近的星圖,實時檢測的幀頻為10幀/秒。
圖6 實時星圖采集顯示界面Fig.6 Star image acquisition and display
本文以千兆網為傳輸通道,進行了軟、硬件的設計開發(fā),完成星敏感器圖像的顯示與存儲,降低了對地面檢測設備的要求,也大大提高了地檢設備的便攜性。
由于千兆網的傳輸帶寬遠高于所需傳輸的圖像數據量,用Socket即可滿足使用需求,如果存在數據量較大的情況,可以從以下兩方面加以改進:在網絡數據接收方面,采用Wincap類庫捕獲來自網絡的圖像數據包,有效地減少丟包;在圖像數據存儲方面,采用雙緩存結合寫大文件的方式減少對磁盤的尋址及指針操作,從而有效地降低圖像數據丟幀的概率。
[1] 郝志航,王家琪.CCD 星跟蹤器[J].光學精密工程,1991(6):73-78.Hao Z H,Wang J Q.CCD star tracker[J].Optics and Precision Engineering,1991(6):73-78.(in Chinese)
[2] 張少迪,王延杰,孫宏海.三角剖分以及徑向基函數神經網絡在星圖識別中的應用[J].光學精密工程,2012,20(2):395-402.Zhang S D,Wang Y J,Sun H H.Application of triangulation and RBF neural network to star pattern recognition[J].Optics and Precision Engineering,2012,20(2):395-402.(in Chinese)
[3] ASIX.AX88180Datasheet[EB/OL].http://www.asix.com.tw,2007.
[4] MARVELL.M88E1111Datasheet[EB/OL].http://www.marvell.com,2004.
[5] ASIX.AX88180Software Program Guide[EB/OL].http://www.asix.com.tw,2008.
[6] 謝希仁.計算機網絡[M].北京:電子工業(yè)出版社,2003.Xie X R.Computer Network[M].Beijing:Publishing House of Electronics Industry,2003.(in Chinese)
[7] 王艷平,張越.Windows網絡與通信程序設計[M].北京:人民郵電出版社,2006.Wang Y P,Zhang Y.Design of Network communication program for Windows[M].BeiJing:Posts &Telecommunications Press,2006.(in Chinese)