【導(dǎo)讀】本文主要研究北斗衛(wèi)星導(dǎo)航系統(tǒng)對機載高速攝像機進行的時間同步技術(shù),在此基礎(chǔ)上設(shè)計出基于北斗衛(wèi)星系統(tǒng)的記載高速攝像機時間同步器。本文將從硬件和軟件部分兩個模塊分別進行闡述。
1、時間同步技術(shù)方案
目前絕大多數(shù)機載高速攝像機外部同步時間輸入都支持IRIG-B碼,時間同步器接收北斗衛(wèi)星時間信息,將衛(wèi)星發(fā)送的UTC時間編碼轉(zhuǎn)換為IRIG-B時間碼需要的格式,并產(chǎn)生IRIG-B時間碼的波形輸出,IRIG-B時間碼的起始位置必須和整秒的起始位置嚴(yán)格對齊。同步器內(nèi)部邏輯框圖如下圖:
圖1 時間同步器方案框圖
UM220-T接收北斗二代衛(wèi)星時間信息,將時間信息以NMEA-0183語句輸出至STM32,STM32將解碼UTC時間,將其編碼為IRIG-B需要的時間信息,通過串行總線送入FPGA中,同時STM32通過SPI接口控制OLED顯示屏,實時顯示當(dāng)前定位狀態(tài)和時間信息。FPGA將接收的時間信息編碼為IRIG-B(DC)碼和IRIG-B(AC)碼輸出,由于FPGA輸出的IRIG-B(AC)碼實際上為IRIG-B(AC)碼的數(shù)字信號,需要通過高速DA轉(zhuǎn)換以及運放信號調(diào)理來實現(xiàn)將數(shù)字IRIG-B(AC)碼轉(zhuǎn)換成模擬信號用于機載高速攝像機時間同步。
1.1 UM220-T北斗衛(wèi)星接收模塊
UM220-T 模塊是針對授時應(yīng)用領(lǐng)域推出的北斗/GPS雙系統(tǒng)精密授時產(chǎn)品,支持靜態(tài)授時,單星授時,集成度高、功耗低,適合北斗授時領(lǐng)域的應(yīng)用。采用先進的多路徑抑制技術(shù),以及優(yōu)化的授時算法,提供精確的1PPS 輸出。創(chuàng)新的多系統(tǒng)融合開放式架構(gòu),保證不同系統(tǒng)的可用衛(wèi)星均可參與聯(lián)合定位、授時,提高可靠性,保障長時間連續(xù)可靠的授時輸出。支持單星授時功能,在僅有一顆可見衛(wèi)星時,仍能保持精確、穩(wěn)定的 1PPS 輸出。
1.2 STM32微控制器
STM32系列32位微控制器使用來ARM公司設(shè)計的Cortex-M3內(nèi)核,該內(nèi)核是專門設(shè)計于滿足集高性能、低功耗、實時應(yīng)用的嵌入式領(lǐng)域的要求。Cortex-M3相比以往的微控制器在系統(tǒng)結(jié)構(gòu)上進行了增強,使用的Thumb-2指令集帶來了更高的指令效率和更強的性能;緊耦合的嵌套矢量中斷控制器,對中斷事件的響應(yīng)比以往更迅速。
時間同步器設(shè)計方案中使用STM32完成接收UM220-T發(fā)送的時間信息,從中解碼出當(dāng)前UTC時間,將其轉(zhuǎn)換為標(biāo)準(zhǔn)的IRIG-B時間后通過自定義串行輸出口輸出至FPGA,同時STM32還負(fù)責(zé)驅(qū)動OLED顯示屏,實時的顯示當(dāng)前的定位狀態(tài)和時間信息,方案設(shè)計中還增加了實時時鐘芯片(RTC),以便于在收星條件不好時,為測試系統(tǒng)提供一個參考時間。
設(shè)計中使用的STM32F103RB具有擴展工業(yè)級的工作溫度范圍,可達(dá)72MHz的主頻,可以實現(xiàn)在將UTC時間編碼為IRIG-B時間的同時完成驅(qū)動OLED顯示屏的功能。
1.3 FPGA芯片實現(xiàn)IRIG-B編碼
當(dāng)前絕大多數(shù)機載高速攝像機都支持使用IRIG-B進行時間同步,IRIG是美國靶場儀器組的簡稱。IRIG時間標(biāo)準(zhǔn)有兩大類:一類是并行時間碼格式,這類碼由于是并行格式,傳輸距離較近,且是二進制,因此遠(yuǎn)不如串行格式廣泛;另一類是串行時間碼,共有六種格式,即A、B、D、E、G、H。它們的主要差別是時間碼的幀速率不同,IRIG-B即為其中的B型碼。B型碼的時幀速率為1幀/S。
北斗時間同步器設(shè)計中使用FPGA直接數(shù)字頻率合成技術(shù)實現(xiàn)時間信息的IRIG-B碼型產(chǎn)生。直接數(shù)字頻率合成(DDS)是一種全數(shù)字化的頻率合成器,由相位累加器、波形ROM、D/A轉(zhuǎn)換器和低通濾波器構(gòu)成,它具有頻率分辨率高、頻率切換快、頻率切換時相位連續(xù)等優(yōu)點。
[page]
2 時間同步器設(shè)計
2.1 硬件電路設(shè)計
2.1.1 供電部分電路
同步器內(nèi)部設(shè)計中UM220-T、STM32、RTC供電電壓為3.3V,F(xiàn)PGA的IO供電電壓為3.3V,F(xiàn)PGA內(nèi)核以及PLL供電電壓為1.2V,高速DA運放供電為±5V,機上電源提供28V供電,故需要將28V電壓轉(zhuǎn)換為各個部分需要的電壓, 設(shè)計中采用北京新雷能科技有限公司生產(chǎn)的DPB16-24D5-5EB電源,它具有18~36V的寬范圍輸入電壓,輸出±5V。通過LM1085-3.3的LDO芯片,將5V電壓降壓得到3.3V電壓。此芯片最大電流支持到3A。再通過AMS1117-1.2獲取1.2V電壓,由于1.2V電壓是提供給FPGA內(nèi)核的工作電壓,以及FPGA內(nèi)部PLL的工作電壓,1.2V電壓的純凈程度要求比較高,需采用鉭電容濾波,設(shè)計中電源輸入部分還加入了SS14二極管反接保護電路。
圖2 電源供電部分設(shè)計電路
2.1.2 FPGA編碼部分電路
FPGA使用EP2C5T144I8主要實現(xiàn)IRIG-B時間同步碼的編碼工作,STM32將解碼到的時間信息編碼成天、時、分、秒的8421碼,在數(shù)據(jù)有效脈沖的使能下將數(shù)據(jù)送入FPGA,F(xiàn)PGA精確檢測秒脈沖(PPS)的上升沿,在秒脈沖的上升沿開始時開始一整秒B碼時間數(shù)據(jù)的發(fā)送。本設(shè)計FPGA將數(shù)據(jù)編碼輸出的數(shù)據(jù)為12位的并行數(shù)字信號,需要使用DA信號將并行的數(shù)字信號轉(zhuǎn)換成模擬信號,本設(shè)計中我們選用美信公司的MAX7541,它具有0.6us的轉(zhuǎn)換時間和12位的分辨率,MAX7541輸出數(shù)據(jù)經(jīng)運OPA690放信號調(diào)理和阻抗變換后產(chǎn)生標(biāo)準(zhǔn)的IRIG-B(AC)碼。
IRIG-B(AC)碼實際上是用IRIG-B(DC)碼對標(biāo)準(zhǔn)正弦波載頻進行幅度調(diào)制,標(biāo)準(zhǔn)正弦波載頻的頻率與碼元速率嚴(yán)格相關(guān),一般為碼元速率的十倍。B碼的標(biāo)準(zhǔn)正弦波載頻頻率為1KHz。同時,其正交過零點與所調(diào)制格式碼元的前沿相符合,標(biāo)準(zhǔn)的調(diào)制比為10:3。
正弦波的產(chǎn)生是采用FPGA來產(chǎn)生的,利用Quartus自帶的LMP模塊來進行ROM建模,存儲了256個點的SIN函數(shù)的波形值,首先計算256個SIN函數(shù)的值。由于點數(shù)比較多,我們利用MATLAB工具產(chǎn)生一個完整周期的SIN函數(shù)的256個點的值。由于FPGA處理整數(shù)相對簡單因此需要對SIN函數(shù)值進行整數(shù)化。
2.1.3 STM32編解碼顯示電路
STM32解碼UM220-T的輸出的NMEA-0183語句,從中解算出當(dāng)前的UTC時間,將其編碼后送入FPGA,STM32通過I2C接口與RTC時鐘芯片SD2400通信,提供當(dāng)無法接收衛(wèi)星時間時的參考時間輸出。
OLED顯示技術(shù)作為下一代顯示,由于OLED顯示屏為全固態(tài)器件,因此具有高低溫范圍寬,抗震特性好的特點。本設(shè)計中采用的并行接口驅(qū)動OLED顯示,完成時間、定位狀態(tài)的顯示功能。STM32接口電路如下圖所示:
圖3 OLED顯示驅(qū)動電路
[page] 2.2 軟件程序設(shè)計
2.2.1 NMEA-0183解碼
NMEA 0183 是美國國家海洋電子協(xié)會(National Marine Electronics Association)為海用電子設(shè)備制定的標(biāo)準(zhǔn)格式.目前業(yè)已成了 GPS 導(dǎo)航設(shè)備統(tǒng)一的 RTCM(Radio Technical Commission for Maritime services)標(biāo)準(zhǔn)協(xié)議。
NMEA-0183 常用命令如下表所示:
STM32F103RCT6先在內(nèi)存中開辟兩塊緩沖區(qū)A和B, 使用中斷模式接收到UM220-T發(fā)送的數(shù)據(jù),當(dāng)接收到$符號表示數(shù)據(jù)幀開始,接下來將數(shù)據(jù)存入在內(nèi)存中開辟的數(shù)據(jù)緩沖區(qū)A中,當(dāng)接收到回車換行符表示一條數(shù)據(jù)幀接收完成,置A區(qū)數(shù)據(jù)完成標(biāo)志位,等待下一幀數(shù)據(jù)到來時采用同樣的方式存入數(shù)據(jù)緩沖區(qū)B。
當(dāng)主程序檢測到緩沖區(qū)接收完成標(biāo)志位置位時,從緩沖區(qū)中取出數(shù)據(jù)完成數(shù)據(jù)解碼[6],解算出當(dāng)前UTC時間,清空數(shù)據(jù)緩沖區(qū)和標(biāo)志位,將時間信息編碼成串行數(shù)據(jù)送入FPGA中,編碼時需要注意閏年B碼天數(shù)的處理,主程序?qū)崿F(xiàn)的流程圖如下圖:
圖4 NMEA-0183數(shù)據(jù)解碼程序流程圖
2.2.2 FPGA實現(xiàn)IRIG-B時間碼
IRIG-B碼是每秒一幀的時間串碼,每個碼元寬度為10ms,一個時幀周期包括100個碼元,為脈寬編碼。碼元的“準(zhǔn)時”參考點是其脈沖前沿,每一幀的參考標(biāo)志由一個位置識別標(biāo)志和相鄰的參考碼元組成,其寬度為8ms;每10個碼元有一個位置識別標(biāo)志:P1,P2,P3,…,P9,P0,它們均為8ms寬度;二進制"1"和"0"的脈寬為5ms和2ms。
使用Verilog語言進行編碼邏輯的設(shè)計,首先根據(jù)STM32輸出的時間,產(chǎn)生相應(yīng)的IRIG-B(DC)碼,再使用DC碼調(diào)制正弦載波,產(chǎn)生AC碼信號,運放調(diào)理電路實現(xiàn)對DA輸出的信號低通濾波以及分配為多路的功能。
3 實驗結(jié)果與應(yīng)用
為了驗證北斗時間同步器時間同步精度,課題組將北斗時間同步器輸出的波形與中國科學(xué)院國家授時中心的標(biāo)準(zhǔn)時碼發(fā)生器進行了對比實驗,實驗結(jié)果表明北斗時間同步器的同步精度很高,滿足設(shè)計要求,對比實驗結(jié)果如下圖所示。
圖5 與標(biāo)準(zhǔn)時碼發(fā)生器時序?qū)Ρ?/div>
課題組將北斗時間同步器用于機載高速攝像機和模擬視頻采集記錄器進行時間同步,結(jié)果表明北斗時間同步器輸出的IRIG-B(AC)碼可以實現(xiàn)對機載高速攝像機的時間同步功能,同步時間精度優(yōu)于10us。
結(jié)語
基于我國自主知識產(chǎn)權(quán)的北斗衛(wèi)星導(dǎo)航系統(tǒng),使用基于FPGA的數(shù)字頻率合成技術(shù),設(shè)計了北斗衛(wèi)星時間同步器,用于對機載高速攝像機進行精確的時間同步,并將其應(yīng)用于飛行試驗中,為飛行試驗高速攝像機時間同步提供了一種新的方式,具有廣泛的應(yīng)用前景。
相關(guān)閱讀:
通信網(wǎng)中的時間同步問題分析
航天通信領(lǐng)域的主宰:直升機衛(wèi)星通信系統(tǒng)的技術(shù)
國防最前沿:電磁環(huán)境自動測試,衛(wèi)星地球站接招吧!
課題組將北斗時間同步器用于機載高速攝像機和模擬視頻采集記錄器進行時間同步,結(jié)果表明北斗時間同步器輸出的IRIG-B(AC)碼可以實現(xiàn)對機載高速攝像機的時間同步功能,同步時間精度優(yōu)于10us。
結(jié)語
基于我國自主知識產(chǎn)權(quán)的北斗衛(wèi)星導(dǎo)航系統(tǒng),使用基于FPGA的數(shù)字頻率合成技術(shù),設(shè)計了北斗衛(wèi)星時間同步器,用于對機載高速攝像機進行精確的時間同步,并將其應(yīng)用于飛行試驗中,為飛行試驗高速攝像機時間同步提供了一種新的方式,具有廣泛的應(yīng)用前景。
相關(guān)閱讀:
通信網(wǎng)中的時間同步問題分析
航天通信領(lǐng)域的主宰:直升機衛(wèi)星通信系統(tǒng)的技術(shù)
國防最前沿:電磁環(huán)境自動測試,衛(wèi)星地球站接招吧!