基于一種動目標識別系統(tǒng)的串行通信設計
0 引言
動目標識別系統(tǒng)(MIS)是一種能自動識別運動目標并能獲取目標各種信息的系統(tǒng),同時,MIS還可以幫助移動目標將自身信息發(fā)射給別的目標。MIS使用的是一種開放式通信網(wǎng)絡,而且任何使用MIS的移動目標均無需授權(quán),可以隨時接入網(wǎng)絡。現(xiàn)在,這種系統(tǒng)已經(jīng)應用于海事管理中的船舶識別和通訊。今后,動目標識別系統(tǒng)(MIS)的應用領(lǐng)域會變得越來越廣闊。
利用動目標識別系統(tǒng)(MIS)的動態(tài)信息(本目標的方向、位置、速度等信息)及靜態(tài)信息(如本目標編號和目標名稱等信息),再配合全球定位系統(tǒng)(GPS),然后通過甚高頻(VHF)信道向附近的一定范圍及管理中心進行廣播,使鄰近的動目標及管理中心能及時掌握目標的動靜態(tài)信息,同時,目標也可以獲取這一區(qū)域內(nèi)其它動目標的動靜態(tài)信息。這種系統(tǒng)可使多個動目標之間及時獲取對方信息并可立刻互相通訊,以便在必要的時候采取必要行動,避免各種事故的發(fā)生。電阻計 | 電池測試儀 | 酸堿度計 | 折射儀 | 傳感器 | 采樣儀 | 多用表 | 粗糙度儀 | 粘度計 | 糖度計 | 測高儀 | 彈簧鉗 | 電力分析儀 | 露點儀 | 變送器 | 折射計 | 無紙記錄儀 |
1動目標識別系統(tǒng)(MIS)的關(guān)鍵技術(shù)
1.1高級數(shù)據(jù)鏈路控制規(guī)程(HDLC)
MIS的數(shù)據(jù)控制采用高級數(shù)據(jù)鏈路控制規(guī)程(HDLC)。HDLC是面向比特的協(xié)議,使用位填充來保證數(shù)據(jù)的透明性。HDLC規(guī)程具有透明傳輸、控制簡單、可靠性高、傳輸效率高的特點,因而具有極大的靈活性。圖1所示是MIS系統(tǒng)的HDLC數(shù)據(jù)結(jié)構(gòu)。
數(shù)據(jù)分組中,分組應從左向右發(fā)送。除訓練序列以外,這一結(jié)構(gòu)應該同普通的HDLC結(jié)構(gòu)完全一樣。采用訓練序列的目的是為了VHF接收機進行同步調(diào)整。開始和結(jié)束標志采用7Eh來標志一幀信息的開始和結(jié)束。數(shù)據(jù)部分的長度為168bit,信息ID為6 bit,范圍為0~63,主要用于信息類型的標識,也就是標識發(fā)送臺的模式。該結(jié)構(gòu)的通信狀態(tài)包括同步類型及子信息等。幀校驗序列FCS一般采用循環(huán)冗余校驗(CRC)。
1.2 TDMA協(xié)議
MIS訪問數(shù)據(jù)鏈的控制采用時分多址(TDMA)技術(shù)。根據(jù)不同的應用和操作模式,可采用不同的四種TDMA協(xié)議,包括SOTDMA(Self-or-ganized TDMA自組織時分多址)、ITDMA (Incre-ment TDMA增量時分多址)、RATDMA(RandomAccess TDMA隨機接入時分多址)、FATDMA(Fixed Access TDMA固定接人時分多址)。這四種協(xié)議可以適用不同的應用環(huán)境,但它們的操作是連續(xù)的、平行的。
2 串行通信控制器Z85C30簡介
Z85C30芯片內(nèi)部有兩個完全分離的信道(信道A和信道B),每個信道都有15個控制寄存器(包括發(fā)射緩存器、2個同步字寄存器和2個波特率定時常數(shù)寄存器),兩個信道的內(nèi)部結(jié)構(gòu)基本相同。
對寄存器的讀寫操作一般需要一次寫操作和一次讀(寫)操作。其中第1次寫操作是給寄存器WRO賦值,以使其指向需要讀寫的寄存器。第2次(讀)寫操作才是對需要讀寫的寄存器進行的操作。Z85C30芯片復雜的功能就是建立在對這些寄存器的不同初始化的基礎(chǔ)上的。
Z85C30芯片與MCU的數(shù)據(jù)交換能以許多方式實現(xiàn),包括查詢、等待、中斷驅(qū)動或DMA驅(qū)動方式。具體采用什么方式,應當根據(jù)不同的使用場合來進行選擇。
Z85C30芯片可以設置為4種工作模式,包括同步方式、異步方式、HDLC方式以及面向字節(jié)同步方式。每一種工作方式的設定都應當按相應的步驟來實現(xiàn)。
3 MIS中串行通信部分的硬件結(jié)構(gòu)
動目標識別系統(tǒng)(MIS)中的串行通信主要是MIS協(xié)議幀的實現(xiàn)。圖2所示是其硬件模塊的主要結(jié)構(gòu)。
圖2所示是STC89C58RD+單片機為處理器,以串行通信控制器Z85C30和GMSK調(diào)制解調(diào)器為外部電路組成的一個嵌入式系統(tǒng),可用于完成HDLC數(shù)據(jù)的打包和拆包,以及將數(shù)字信號調(diào)制成GMSK信號。
4 MIS系統(tǒng)串行通信的軟件實現(xiàn)
程序運行的開始,都要初始化單片機,并設置中斷和初始化串口。Z85C30的各種狀態(tài)都使用中斷處理程序來處理才能使程序的執(zhí)行效率達到最高。
將Z85C30發(fā)射通道設置成雙字節(jié)同步模式,同步字節(jié)為55H,并且向發(fā)射緩沖寄存器寫入55H,便可實現(xiàn)MIS系統(tǒng)要求的訓練序列。在這種模式下,在使能發(fā)射后,先發(fā)射同步字節(jié),同步字節(jié)發(fā)射完成后再發(fā)射數(shù)據(jù)。當發(fā)射緩沖寄存器為空時,Z85C30會設置發(fā)射緩沖寄存器空標志位,如果Z85C30允許發(fā)射中斷,這時就可產(chǎn)生中斷。在中斷處理程序中可以判斷訓練序列是否發(fā)射完畢。
要發(fā)射的數(shù)據(jù)必須符合HDLC協(xié)議中規(guī)定的幀格式,所以,在發(fā)射完訓練序列后,還必須將Z85C30設置成HDLC模式。然后將要發(fā)射的數(shù)據(jù)寫入發(fā)射緩沖寄存器。在使能發(fā)射后,數(shù)據(jù)就會緊接著訓練序列從發(fā)射引腳送出。由于Z85C30是以字節(jié)發(fā)射數(shù)據(jù),所以,在中斷處理程序中必須判斷是否還需發(fā)射數(shù)據(jù)。如果需要發(fā)射數(shù)據(jù),就應向發(fā)射緩沖寄存器中繼續(xù)寫入數(shù)據(jù):如果不需要,那么,當Z85C30檢測到發(fā)射移位寄存器為空時,就會自動在數(shù)據(jù)后面增加CRC值和結(jié)束標志。
Z85C30接收通道的初始化和發(fā)射通道不一樣,它不需要考慮接收訓練序列,因為訓練序列用于接收機同步。Z85C30的接收通道可以直接設置成HDLC模式,在其接收到起始標志后,就意味著后面緊接著接收的就是數(shù)據(jù)。如果Z85C30設置了接收中斷,那么,當數(shù)據(jù)接收寄存器中數(shù)據(jù)寫滿時,就會產(chǎn)生接收中斷,中斷處理程序就應將數(shù)據(jù)讀出,以消除中斷狀態(tài)。接收完數(shù)據(jù)后,緊接著應該接收CRC值。Z85C30可將16位CRC值以接收數(shù)據(jù)的方式接收,但Z85C30會自動對比接收的CRC值和計算的CRC值,如果兩值不一致,就會設置CRC錯誤位。當Z85C30在數(shù)據(jù)流中接收到結(jié)束標志時,它會產(chǎn)生幀結(jié)束中斷。因此,在軟件設計時,程序應該在幀結(jié)束中斷中判斷CRC是否正確,以便確定是否應當保留剛接收的一幀數(shù)據(jù)。
Z85C30有兩個通道,每個通道可以發(fā)送,也可以接收數(shù)據(jù)。由于數(shù)據(jù)的拆包只是數(shù)據(jù)打包的逆過程,并且Z85C30也支持HDLC幀數(shù)據(jù)的拆包,所以,在此只介紹如何進行數(shù)據(jù)打包。將打包的數(shù)據(jù)發(fā)給GMSK調(diào)制解調(diào)器,就可以得到很好的GMSK信號,這樣,GMSK信號就可以由高頻板調(diào)制發(fā)射出去,以便和其他臺站實現(xiàn)通信。本系統(tǒng)的軟件流程如圖3所示。
5實驗結(jié)果
在對本文所介紹的設計進行實驗時,可以發(fā)送具有21個字節(jié)數(shù)據(jù)的數(shù)據(jù)包。圖4所示是其部分實驗結(jié)果波形。
6結(jié)束語
目前,筆者在特定的硬件平臺基礎(chǔ)上,已經(jīng)基本上實現(xiàn)了自動目標識別系統(tǒng)的通信功能?梢韵嘈,在不遠的將來,隨著海上移動目標的越來越多,今后的動目標識別應用也將變得越來越重要。