新聞中心

EEPW首頁 > 電源與新能源 > 設(shè)計(jì)應(yīng)用 > 基于北斗衛(wèi)星系統(tǒng)的高速攝像機(jī)時(shí)間同步器設(shè)計(jì)

基于北斗衛(wèi)星系統(tǒng)的高速攝像機(jī)時(shí)間同步器設(shè)計(jì)

作者: 時(shí)間:2016-12-05 來源:網(wǎng)絡(luò) 收藏
1. 引言

在民用飛機(jī)飛行試驗(yàn)中,為了保證圖像測(cè)試數(shù)據(jù)的準(zhǔn)確可靠,機(jī)上圖像測(cè)試系統(tǒng)中不同測(cè)試設(shè)備時(shí)間需要嚴(yán)格的統(tǒng)一。原子鐘是一種非常穩(wěn)定的時(shí)鐘源,可以提供精確的時(shí)間信息用于時(shí)間同步。但是在機(jī)載環(huán)境下,安裝空間狹小,安裝位置受限,無法使用原子鐘作為時(shí)鐘源。

本文引用地址:http://m.butianyuan.cn/article/201612/326303.htm

使用導(dǎo)航衛(wèi)星對(duì)機(jī)載高速攝像機(jī)進(jìn)行時(shí)間同步,可以滿足圖像測(cè)試系統(tǒng)對(duì)時(shí)間同步的精度要求。隨著我國北斗二代衛(wèi)星導(dǎo)航系統(tǒng)一期組網(wǎng)完成和接口控制文件的公布,北斗衛(wèi)星導(dǎo)航系統(tǒng)開始向亞太大部分地區(qū)正式提供連續(xù)無源定位、導(dǎo)航、授時(shí)等服務(wù),本文研究了使用北斗衛(wèi)星導(dǎo)航系統(tǒng)對(duì)機(jī)載高速攝像機(jī)進(jìn)行時(shí)間同步的技術(shù),設(shè)計(jì)了基于北斗衛(wèi)星系統(tǒng)的機(jī)載高速攝像機(jī)時(shí)間同步器。

2. 時(shí)間同步技術(shù)方案

目前絕大多數(shù)機(jī)載高速攝像機(jī)外部同步時(shí)間輸入都支持IRIG-B碼,時(shí)間同步器接收北斗衛(wèi)星時(shí)間信息,將衛(wèi)星發(fā)送的UTC時(shí)間編碼轉(zhuǎn)換為IRIG-B時(shí)間碼需要的格式,并產(chǎn)生IRIG-B時(shí)間碼的波形輸出,IRIG-B時(shí)間碼的起始位置必須和整秒的起始位置嚴(yán)格對(duì)齊。同步器內(nèi)部邏輯框圖如下圖:

圖1 時(shí)間同步器方案框圖

UM220-T接收北斗二代衛(wèi)星時(shí)間信息,將時(shí)間信息以NMEA-0183語句輸出至STM32,STM32將解碼UTC時(shí)間,將其編碼為IRIG-B需要的時(shí)間信息,通過串行總線送入FPGA中,同時(shí)STM32通過SPI接口控制OLED顯示屏,實(shí)時(shí)顯示當(dāng)前定位狀態(tài)和時(shí)間信息。FPGA將接收的時(shí)間信息編碼為IRIG-B(DC)碼和IRIG-B(AC)碼輸出,由于FPGA輸出的IRIG-B(AC)碼實(shí)際上為IRIG-B(AC)碼的數(shù)字信號(hào),需要通過高速DA轉(zhuǎn)換以及運(yùn)放信號(hào)調(diào)理來實(shí)現(xiàn)將數(shù)字IRIG-B(AC)碼轉(zhuǎn)換成模擬信號(hào)用于機(jī)載高速攝像機(jī)時(shí)間同步。

2.1 UM220-T北斗衛(wèi)星接收模塊

UM220-T 模塊是針對(duì)授時(shí)應(yīng)用領(lǐng)域推出的北斗/GPS雙系統(tǒng)精密授時(shí)產(chǎn)品,支持靜態(tài)授時(shí),單星授時(shí),集成度高、功耗低,適合北斗授時(shí)領(lǐng)域的應(yīng)用。采用先進(jìn)的多路徑抑制技術(shù),以及優(yōu)化的授時(shí)算法,提供精確的1PPS 輸出。創(chuàng)新的多系統(tǒng)融合開放式架構(gòu),保證不同系統(tǒng)的可用衛(wèi)星均可參與聯(lián)合定位、授時(shí),提高可靠性,保障長時(shí)間連續(xù)可靠的授時(shí)輸出。支持單星授時(shí)功能,在僅有一顆可見衛(wèi)星時(shí),仍能保持精確、穩(wěn)定的 1PPS 輸出。

2.2 STM32微控制器

STM32系列32位微控制器使用來ARM公司設(shè)計(jì)的Cortex-M3內(nèi)核,該內(nèi)核是專門設(shè)計(jì)于滿足集高性能、低功耗、實(shí)時(shí)應(yīng)用的嵌入式領(lǐng)域的要求。Cortex-M3相比以往的微控制器在系統(tǒng)結(jié)構(gòu)上進(jìn)行了增強(qiáng),使用的Thumb-2指令集帶來了更高的指令效率和更強(qiáng)的性能;緊耦合的嵌套矢量中斷控制器,對(duì)中斷事件的響應(yīng)比以往更迅速。

時(shí)間同步器設(shè)計(jì)方案中使用STM32完成接收UM220-T發(fā)送的時(shí)間信息,從中解碼出當(dāng)前UTC時(shí)間,將其轉(zhuǎn)換為標(biāo)準(zhǔn)的IRIG-B時(shí)間后通過自定義串行輸出口輸出至FPGA,同時(shí)STM32還負(fù)責(zé)驅(qū)動(dòng)OLED顯示屏,實(shí)時(shí)的顯示當(dāng)前的定位狀態(tài)和時(shí)間信息,方案設(shè)計(jì)中還增加了實(shí)時(shí)時(shí)鐘芯片(RTC),以便于在收星條件不好時(shí),為測(cè)試系統(tǒng)提供一個(gè)參考時(shí)間。

設(shè)計(jì)中使用的STM32F103RB具有擴(kuò)展工業(yè)級(jí)的工作溫度范圍,可達(dá)72MHz的主頻,可以實(shí)現(xiàn)在將UTC時(shí)間編碼為IRIG-B時(shí)間的同時(shí)完成驅(qū)動(dòng)OLED顯示屏的功能。

2.3 FPGA芯片實(shí)現(xiàn)IRIG-B編碼

當(dāng)前絕大多數(shù)機(jī)載高速攝像機(jī)都支持使用IRIG-B進(jìn)行時(shí)間同步,IRIG是美國靶場(chǎng)儀器組的簡稱。IRIG時(shí)間標(biāo)準(zhǔn)有兩大類:一類是并行時(shí)間碼格式,這類碼由于是并行格式,傳輸距離較近,且是二進(jìn)制,因此遠(yuǎn)不如串行格式廣泛;另一類是串行時(shí)間碼,共有六種格式,即A、B、D、E、G、H。它們的主要差別是時(shí)間碼的幀速率不同,IRIG-B即為其中的B型碼。B型碼的時(shí)幀速率為1幀/S。

北斗時(shí)間同步器設(shè)計(jì)中使用FPGA直接數(shù)字頻率合成技術(shù)實(shí)現(xiàn)時(shí)間信息的IRIG-B碼型產(chǎn)生。直接數(shù)字頻率合成(DDS)是一種全數(shù)字化的頻率合成器,由相位累加器、波形ROM、D/A轉(zhuǎn)換器和低通濾波器構(gòu)成,它具有頻率分辨率高、頻率切換快、頻率切換時(shí)相位連續(xù)等優(yōu)點(diǎn)。

3 時(shí)間同步器設(shè)計(jì)

3.1 硬件電路設(shè)計(jì)

3.1.1 供電部分電路

同步器內(nèi)部設(shè)計(jì)中UM220-T、STM32、RTC供電電壓為3.3V,F(xiàn)PGA的IO供電電壓為3.3V,F(xiàn)PGA內(nèi)核以及PLL供電電壓為1.2V,高速DA運(yùn)放供電為±5V,機(jī)上電源提供28V供電,故需要將28V電壓轉(zhuǎn)換為各個(gè)部分需要的電壓, 設(shè)計(jì)中采用北京新雷能科技有限公司生產(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è)計(jì)中電源輸入部分還加入了SS14二極管反接保護(hù)電路。

圖2 電源供電部分設(shè)計(jì)電路

3.1.2 FPGA編碼部分電路

FPGA使用EP2C5T144I8主要實(shí)現(xiàn)IRIG-B時(shí)間同步碼的編碼工作,STM32將解碼到的時(shí)間信息編碼成天、時(shí)、分、秒的8421碼,在數(shù)據(jù)有效脈沖的使能下將數(shù)據(jù)送入FPGA,F(xiàn)PGA精確檢測(cè)秒脈沖(PPS)的上升沿,在秒脈沖的上升沿開始時(shí)開始一整秒B碼時(shí)間數(shù)據(jù)的發(fā)送。本設(shè)計(jì)FPGA將數(shù)據(jù)編碼輸出的數(shù)據(jù)為12位的并行數(shù)字信號(hào),需要使用DA信號(hào)將并行的數(shù)字信號(hào)轉(zhuǎn)換成模擬信號(hào),本設(shè)計(jì)中我們選用美信公司的MAX7541,它具有0.6us的轉(zhuǎn)換時(shí)間和12位的分辨率,MAX7541輸出數(shù)據(jù)經(jīng)運(yùn)OPA690放信號(hào)調(diào)理和阻抗變換后產(chǎn)生標(biāo)準(zhǔn)的IRIG-B(AC)碼。

IRIG-B(AC)碼實(shí)際上是用IRIG-B(DC)碼對(duì)標(biāo)準(zhǔn)正弦波載頻進(jìn)行幅度調(diào)制,標(biāo)準(zhǔn)正弦波載頻的頻率與碼元速率嚴(yán)格相關(guān),一般為碼元速率的十倍。B碼的標(biāo)準(zhǔn)正弦波載頻頻率為1KHz。同時(shí),其正交過零點(diǎn)與所調(diào)制格式碼元的前沿相符合,標(biāo)準(zhǔn)的調(diào)制比為10:3。

正弦波的產(chǎn)生是采用FPGA來產(chǎn)生的,利用Quartus自帶的LMP模塊來進(jìn)行ROM建模,存儲(chǔ)了256個(gè)點(diǎn)的SIN函數(shù)的波形值,首先計(jì)算256個(gè)SIN函數(shù)的值。由于點(diǎn)數(shù)比較多,我們利用MATLAB工具產(chǎn)生一個(gè)完整周期的SIN函數(shù)的256個(gè)點(diǎn)的值。由于FPGA處理整數(shù)相對(duì)簡單因此需要對(duì)SIN函數(shù)值進(jìn)行整數(shù)化。

3.1.3 STM32編解碼顯示電路

STM32解碼UM220-T的輸出的NMEA-0183語句,從中解算出當(dāng)前的UTC時(shí)間,將其編碼后送入FPGA,STM32通過I2C接口與RTC時(shí)鐘芯片SD2400通信,提供當(dāng)無法接收衛(wèi)星時(shí)間時(shí)的參考時(shí)間輸出。

OLED顯示技術(shù)作為下一代顯示,由于OLED顯示屏為全固態(tài)器件,因此具有高低溫范圍寬,抗震特性好的特點(diǎn)。本設(shè)計(jì)中采用的并行接口驅(qū)動(dòng)OLED顯示,完成時(shí)間、定位狀態(tài)的顯示功能。STM32接口電路如下圖所示:

圖4 OLED顯示驅(qū)動(dòng)電路3.2 軟件程序設(shè)計(jì)

3.2.1 NMEA-0183解碼

NMEA 0183 是美國國家海洋電子協(xié)會(huì)(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 常用命令如下表所示:

每條語句都有固定的格式,輸出的各個(gè)參數(shù)之間使用逗號(hào)隔開。UM220-T北斗衛(wèi)星接收模塊也使用這些標(biāo)準(zhǔn)語句進(jìn)行導(dǎo)航數(shù)據(jù)的輸出。本設(shè)計(jì)主要用于時(shí)間同步,所以僅需要對(duì)數(shù)據(jù)中的時(shí)間信息解碼,因此僅需要對(duì)GPRMC語句中的定位狀態(tài)進(jìn)行解碼。

STM32F103RCT6先在內(nèi)存中開辟兩塊緩沖區(qū)A和B, 使用中斷模式接收到UM220-T發(fā)送的數(shù)據(jù),當(dāng)接收到$符號(hào)表示數(shù)據(jù)幀開始,接下來將數(shù)據(jù)存入在內(nèi)存中開辟的數(shù)據(jù)緩沖區(qū)A中,當(dāng)接收到回車換行符表示一條數(shù)據(jù)幀接收完成,置A區(qū)數(shù)據(jù)完成標(biāo)志位,等待下一幀數(shù)據(jù)到來時(shí)采用同樣的方式存入數(shù)據(jù)緩沖區(qū)B。

當(dāng)主程序檢測(cè)到緩沖區(qū)接收完成標(biāo)志位置位時(shí),從緩沖區(qū)中取出數(shù)據(jù)完成數(shù)據(jù)解碼[6],解算出當(dāng)前UTC時(shí)間,清空數(shù)據(jù)緩沖區(qū)和標(biāo)志位,將時(shí)間信息編碼成串行數(shù)據(jù)送入FPGA中,編碼時(shí)需要注意閏年B碼天數(shù)的處理,主程序?qū)崿F(xiàn)的流程圖如下圖:

圖5 NMEA-0183數(shù)據(jù)解碼程序流程圖

3.2.2 FPGA實(shí)現(xiàn)IRIG-B時(shí)間碼

IRIG-B碼是每秒一幀的時(shí)間串碼,每個(gè)碼元寬度為10ms,一個(gè)時(shí)幀周期包括100個(gè)碼元,為脈寬編碼。碼元的“準(zhǔn)時(shí)”參考點(diǎn)是其脈沖前沿,每一幀的參考標(biāo)志由一個(gè)位置識(shí)別標(biāo)志和相鄰的參考碼元組成,其寬度為8ms;每10個(gè)碼元有一個(gè)位置識(shí)別標(biāo)志:P1,P2,P3,…,P9,P0,它們均為8ms寬度;二進(jìn)制"1"和"0"的脈寬為5ms和2ms。

使用Verilog語言進(jìn)行編碼邏輯的設(shè)計(jì),首先根據(jù)STM32輸出的時(shí)間,產(chǎn)生相應(yīng)的IRIG-B(DC)碼,再使用DC碼調(diào)制正弦載波,產(chǎn)生AC碼信號(hào),運(yùn)放調(diào)理電路實(shí)現(xiàn)對(duì)DA輸出的信號(hào)低通濾波以及分配為多路的功能。

4 實(shí)驗(yàn)結(jié)果與應(yīng)用

為了驗(yàn)證北斗時(shí)間同步器時(shí)間同步精度,課題組將北斗時(shí)間同步器輸出的波形與中國科學(xué)院國家授時(shí)中心的標(biāo)準(zhǔn)時(shí)碼發(fā)生器進(jìn)行了對(duì)比實(shí)驗(yàn),實(shí)驗(yàn)結(jié)果表明北斗時(shí)間同步器的同步精度很高,滿足設(shè)計(jì)要求,對(duì)比實(shí)驗(yàn)結(jié)果如下圖所示。

圖6 與標(biāo)準(zhǔn)時(shí)碼發(fā)生器時(shí)序?qū)Ρ?/p>

課題組將北斗時(shí)間同步器用于機(jī)載高速攝像機(jī)和模擬視頻采集記錄器進(jìn)行時(shí)間同步,結(jié)果表明北斗時(shí)間同步器輸出的IRIG-B(AC)碼可以實(shí)現(xiàn)對(duì)機(jī)載高速攝像機(jī)的時(shí)間同步功能,同步時(shí)間精度優(yōu)于10us。

5 結(jié)論

基于我國自主知識(shí)產(chǎn)權(quán)的北斗衛(wèi)星導(dǎo)航系統(tǒng),使用基于FPGA的數(shù)字頻率合成技術(shù),設(shè)計(jì)了北斗衛(wèi)星時(shí)間同步器,用于對(duì)機(jī)載高速攝像機(jī)進(jìn)行精確的時(shí)間同步,并將其應(yīng)用于飛行試驗(yàn)中,為飛行試驗(yàn)高速攝像機(jī)時(shí)間同步提供了一種新的方式,具有廣泛的應(yīng)用前景。



評(píng)論


技術(shù)專區(qū)

關(guān)閉