江良劍,熊善泉,焦海松,周志全
(中國洛陽電子裝備試驗中心,河南 洛陽 471003)
基于北斗授時的雷達接口時序設計方法
江良劍,熊善泉,焦海松,周志全
(中國洛陽電子裝備試驗中心,河南 洛陽 471003)
摘要:為解決某雷達數據接口系統(tǒng)工作不穩(wěn)定、故障率高的問題,利用北斗導航模塊的授時功能,通過FPGA讀取北斗時間,為雷達數據提供準確的時間信息。在北斗模塊1 PPS的同步下,生成雷達測距系統(tǒng)和角編碼系統(tǒng)數據輸出所需的時序信號,確保雷達按正確的時序將數據放置在總線上。設計中解決了時間信息與1 PPS不同步和原系統(tǒng)時序信號抖動較大的問題,在某雷達數據接口系統(tǒng)改造中得到成功應用。
關鍵詞:北斗授時;1 PPS;時序信號
doi:10.13442/j.gnss.1008-9268.2015.02.010
中圖分類號:P228.4
文獻標志碼:: A
文章編號:: 1008-9268(2015)02-0043-05
收稿日期:2014-12-11
作者簡介
Abstract:A radar data interface system works unstably, and the rate of failure is high, in order to solve these problems, the interface circuit has to be redesigned. Using Beidou navigation module timing function, the FPGA reads the Beidou time, and provide accurate time information to radar data. In the synchronous of 1 PPS output by Beidou module, timing signals are generated, which is required by radar ranging system and angle code system when data output, it can ensure that the radar puts the data on the bus in the correct time series. The design solves the problem of time information and 1 PPS not synchronized and the old system timing signal instability, it has been successfully applied in the reconstruction of a radar data interface system.
0引言
某型雷達的數據輸出依賴于外部時統(tǒng)終端的“20 Hz采樣信號”和數據輸出“位同步”信號,雷達數據接口板接收到20 Hz的數據請求信號后,將目標數據準備好并放在120位數據寄存器上,當位同步信號到來時,寄存器便以“位同步”的速率將數據移位輸出。由于數據接口終端和雷達數據接口板工作數千小時,電路穩(wěn)定性降低,故障時有發(fā)生,數據產生不規(guī)律跳點,影響數據有效性,為此提出對雷達數據接口系統(tǒng)進行改造。
改造的關鍵在于時序電路設計,產生相關的時序信號代替雷達數據接口板,驅使雷達測距和角編碼系統(tǒng)按照時序將距離、俯仰、方位數據依次放在12位數據總線上。項目采用我國自主研制的北斗系統(tǒng)作為授時源,具有精度高、穩(wěn)定性好的特點,同時可與其他采用衛(wèi)星導航時統(tǒng)的參試裝備協(xié)同統(tǒng)一工作, 為得到某時間點上準確可信的數據信息提供很好的時統(tǒng)標準。
北斗模塊選用和芯星通的UM220北斗/GPS雙模芯片,控制電路采用FPGA器件,設計一套集北斗時統(tǒng)和時序信號生成的模塊,為雷達數據接口改造提供基礎。
1時統(tǒng)電路設計
和芯星通的UM220北斗/GPS雙模芯片,能夠同時支持BD2 B1、GPS L1兩個頻點,可通過設置使選擇雙系統(tǒng)同時工作或單系統(tǒng)工作,1 PPS精度(RMS)為20 ns,該芯片外形尺寸緊湊,采用SMT 焊盤,適用于低成本、低功耗領域,滿足系統(tǒng)開發(fā)要求[1]。
UM220輸入電壓范圍為+3.0~3.6 VDC,系統(tǒng)采用5V供電,通過AM1117 3.3進行電壓轉換。天線采用SMA孔座接口,提供1 個輸出脈寬和極性可調的1 PPS 信號。設計3 個串口,串口1 支持NMEA 數據輸出及命令控制,串口2 僅支持數據輸出,串口3 支持固件升級、NMEA 數據輸出及命令控制。輸入/輸出信號類型為LVTTL 電平。目前的計算機已逐漸取消串口,為方便對UM220進行設置與控制,將串口1并聯至CH340G芯片的TXD、RXD引腳,實現串口USB轉換功能。時統(tǒng)電路設計如圖1所示。
圖1 時統(tǒng)電路原理圖
為滿足系統(tǒng)開發(fā)要求,確保接口時序電路正常工作,在開發(fā)前需要對北斗模塊進行初始化設置。在Unicore 協(xié)議中,輸入和輸出的語句被統(tǒng)稱為消息。每條消息均為全ASCII 字符組成的字符串。消息的基本格式為[2]
聯系人: 江良劍 E-mail: fjdajian@tom.com
$MSGNAME,data1,data2,data3,…[*CC]
所有的消息都以'$'(0x24)開始,后面緊跟著的是消息名。之后跟有不定數目的參數或數據。消息名與數據之間均以逗號(0x2C)進行分隔。最后一個參數之后是可選的校驗和,以'*'(0x2A)與前面的數據分割。輸出的消息以" "結束。
根據系統(tǒng)要求,對UM220進行設置。首先設置串口1輸出波特率為9 600 bps,設置命令為
$CFGPRT,1,0,9600,3,3
然后配置授時脈沖,設定授時脈沖為1 PPS,脈寬500 ms,上升沿與整秒對齊:
$CFGTP,1000000,500000,1,0,0,0
接著設定只輸出GGA消息,速率為1 Hz:
$CFGMSG,0,0,1
最后設定衛(wèi)星系統(tǒng)配置,選擇北斗衛(wèi)星定位:
$CFGSYS,h01
也可以設置成GPS衛(wèi)星定位或北斗/GPS雙系統(tǒng)定位,設置命令分別為
$CFGSYS,h10或$CFGSYS,h11.
通過以上設置,UM220只輸出$BDGGA信息,該信息中包含系統(tǒng)需要的時間信息和定位狀態(tài)信息。
2時間信息解碼
雷達接口電路改造選用FPGA器件具有高度靈活、可定制化的特點,它融入微處理器技術、數字信號處理技術、可編程系統(tǒng)級芯片設計和軟硬件協(xié)同設計技術,在QuartusII集成開發(fā)環(huán)境下采用VerilogHDL語言實現系統(tǒng)的模塊化設計開發(fā),效率較高。圖2示出了雷達接口系統(tǒng)設計框架。FPGA芯片采用Altera公司生產的EP4CE15F17C8作為控制核心[3],配置芯片采用EPCS64.FPGA芯片采用JTAG方式進行配置。在電路設計過程中,考慮工作狀態(tài)的可視性,增加LED指示燈。
圖2 系統(tǒng)的總體框圖
根據前面北斗模塊的設置可知,圖2中UM220輸出給FPGA的NMEA消息為$BDGGA,它是在NMEA 3.0 基礎上擴展BD2 相關語句的版本,其消息格式為
$BDGGA, time, Lat, N, Lon, E, FS, NoSV, HDOP, msl, M, Altref, M, DiffAge, DiffStation*cs.
項目中用到的字段為time和FS,其中: time:UTC 時間,格式為hhmmss.sss,hh為小時,mm 為分鐘,ss.sss為秒; FS:定位狀態(tài)標識,0 表示無效,1 表示單點定位。
時間信息解碼功能在FPGA中通過兩個子模塊實現,分別是串口數據接收模塊GNSS_data_receive_module和時間解算模塊time_module.
串口數據接收模塊原理圖如圖3所示,主要完成北斗導航信息接收,信息為RS232數據幀格式,包含1位起始位(保持一個傳輸位周期的低電平),8位數據,無校驗位,1位停止位。
圖3 串口接收原理圖
以下是一段接收一個字節(jié)數據的VerilogHDL程序,FPGA實時監(jiān)測RS232_RX引腳信號,當出現下降沿時,表示有數據到達,程序將RX_En_Sig 置1,進入數據接收狀態(tài),同時H2L_Sig置1,啟動數據接收過程,當接收完一個字節(jié)后,把接收到的數據送到時間解算模塊進行處理。
if(RX_En_Sig)
case (i)
4'd0:
if(H2L_Sig) begin i <=i+1'b1; isCount <=1'b1; end
4'd1:
if(BPS_CLK) begin i <=i+1'b1; end
4'd2, 4'd3, 4'd4, 4'd5, 4'd6, 4'd7, 4'd8, 4'd9:
if(BPS_CLK) begin i <=i+1'b1; rData[i-2] <=RX_Pin_In; end
4'd10:
begin i <=i+1'b1; isDone <=1'b1; isCount <=1'b0; end
4'd11:
begin i <=4'd0; isDone <=1'b0; end
endcase
時間解算模塊處理串口數據接收模塊發(fā)來的數據,提取導航信息中的時分秒數據,并生成毫秒數據,按照預定格式交給雷達數據控制模塊。程序捕獲$BDGGA消息的開始標志符“$”,提取第8~13字節(jié)的時間數據和第七字段狀態(tài)定位標識FS.為了兼容GPS模式和北斗/GPS雙系統(tǒng)模式,程序中將不判斷其定位系統(tǒng)標識符。需要注意的是讀取到的時間為UTC時間,需要加上8小時時差轉換為北京時間。此時得到的是滯后大約幾十毫秒的時間信號,還需通過精確的1 PPS信號進行同步處理,得到一個與北斗時同步的時間信號。
時間解算出來后,將其按照5位時、6位分、6位秒、5位毫秒(權重為50毫秒)的二進制格式編碼,放在寄存器中等待雷達數據讀取后打包輸出。以下是獲取時分秒信息并進行二進制編碼的Verilog程序。
if(RX_Done_Sig)
begin
//rData=GNSS_Data; $--GGA,time,Lat,N,Lon,E,FS,…
if (GNSS_Data==8'h24) i=6'd1;//8'h24為信息起始’$’
case (i)
6'd1,6'd2,6'd3,6'd4,6'd5,6'd6,6'd7://忽略 “$--GGA,” 兼容其他定位系統(tǒng)模式
i <=i+1'b1;
6'd 8://時,十位
begin i <=i+1'b1; rData <=(GNSS_Data-8'h30)*10; end
6'd 9://時,個位,修正8小時時差
begin i <=i+1'b1; rData=rData+GNSS_Data-8'h30+8'd8;
rData=rData % 8'd24;hh=rData[4:0]; end
6'd1 0://分,十位
begin i <=i+1'b1; rData<=(GNSS_Data-8'h30)*10;end
6'd1 1://分,個位
begin i <=i+1'b1; rData=rData+GNSS_Data-8'h30;
mm=rData[5:0]; end
6'd1 2://秒,十位
begin i <=i+1'b1; rData<=(GNSS_Data-8'h30)*10;end
6'd1 3://秒,個位
begin i <=i+1'b1; rData=rData+GNSS_Data-8'h30;ss=rData[5:0]; end
6'd48://FS定位狀態(tài)標識
begin bFS=GNSS_Data[0]; i <=i+1'b1;end
default:
if ((i>6'd13) && (i<6'd48)) i <=i+1'b1;else i <=1'b0;
endcase
end
3時序信號生成
時序信號是雷達數據輸出時與其他系統(tǒng)(如時基、編碼、測距、引導等)交互時所需的時序信號,其他系統(tǒng)在時序信號的統(tǒng)一協(xié)調下將數據準備好,并按次序放在總線上,時序產生正確與否直接影響到接口系統(tǒng)能否正確讀取雷達數據。
時序信號生成由timeing_generator_module模塊負責,圖2所示中UM220輸出的1 PPS信號的同步下產生雷達系統(tǒng)工作所需的時序信號,如1 MHz、信息請求DI、信息性質碼QBQCQD、加載脈沖/H_Charge等,測距系統(tǒng)、角編碼系統(tǒng)在這些信號的控制下將數據準備好,并放置在12位總線上,雷達工作狀態(tài)標志信息放在專用線上。接下來在加載脈沖/H_Charge的下降沿時刻,FPGA數據控制模塊讀取總線和專線上的數據,完成一個采樣周期數據讀取工作。
各時序信號的時間間隔有嚴格要求,以保證其他系統(tǒng)的電路有足夠時間進行處理,北斗模塊輸出的1 PPS是所有信號的時間基準,依靠UM220高精度的1 PPS信號,可以將時序信號精度控制在1 μs以內。時序信號生成模塊工作流程圖如圖4所示。
圖4 時序信號模塊工作流程圖
在對各模塊進行設計編譯之后采用 Quartus II 自帶的仿真器對各模塊進行仿真驗證,確認輸出滿足要求后,再將各模塊進行組合,實現仿真輸出結果驗證。最終輸出的時序信號,滿足雷達時序信號要求。
正確實現時序信號后,就可以進行后續(xù)的模塊開發(fā)了。我們在此基礎上開發(fā)了雷達數據讀取模塊、模擬數據生成模塊和數據發(fā)送模塊,實現了項目預定目標。
4關鍵技術
設計的關鍵技術有兩點,一是時間信息與1 PPS脈沖對齊,UM220輸出的$BDGGA消息要滯后于1 PPS信號約60 ms至90 ms不等,如果以收到$BDGGA并解算出時分秒信息的時刻為當前秒的起點,將導致數據與北斗時誤差數十毫秒,反之,如果以1 PPS作為當前秒的起點,由此產生的0 ms與1 PPS沿對齊,但在接下來的數十毫秒內,新的$BDGGA消息還沒到來,造成每個0 ms和50 ms時刻的時間都是錯誤的,因此,必須進行修正。方法是1) 1 PPS信號為整數秒起點,修正1 PPS與$BDGGA到達時刻之間的秒信息。2) 確保時序關系正確,如果直接按照原系統(tǒng)的時序關系進行設計,無法正確讀取雷達數據,經過測試,原系統(tǒng)采用分立元器件設計,時序信號存在比較大的抖動,解決辦法是先通過1 PPS同步產生1 MHz信號,再用1 MHz信號去同步產生其他時序信號,調整信號的延遲和脈寬,有效解決了上述問題。
5結束語
本設計采用北斗導航模塊提供的時間信息和1 PPS信息,在FPGA的控制下實現了時間信息讀取和時序信號設計,解決了時間對齊、時序不穩(wěn)定的問題,通過時序仿真和分析驗證,表明此方法滿足系統(tǒng)對較高時間精度的要求,最終應用在雷達接口改造中?;贔PGA的設計也使系統(tǒng)實現了小型化的目標,提高了系統(tǒng)穩(wěn)定性,并使維護和升級更加方便。
參考文獻
[1] 和芯星通.Unicore protocol specification UM220-HB_Ed10.1[S].2013.
[2] 和芯星通.UM220數據接口協(xié)議[OL]http://www.unicorecomm.com.
[3] Altera Corporation. Cyclone IV device handbook, volume 1[R].2011.
江良劍(1978-),男,福建永定人,工程師,主要從事導航定位系統(tǒng)、雷達測量研究。
熊善泉(1980-),男,湖北公安人,工程師,主要從事導航定位系統(tǒng)研究。
焦海松(1973-),男,河南林州人,高級工程師,主要從事導航定位系統(tǒng)研究。
周志全(1978-),男,河南安陽人,工程師,主要從事雷達測量研究。
The Method of Radar Interface Time Sequence
Design Based on Beidou Timing
JIANG Liangjian,XIONG Shanquan,JIAO Haisong,ZHOU Zhiquan
(LuoyangElectronicEquipmentTestCenterofChina,Luoyang471003,China)
Key words: Beidou timing; 1 PPS; timing signal