基于Z85C30的動目標識別系統(tǒng)的串行通信設計
0 引言
動目標識別系統(tǒng)(MIS)是一種能自動識別運動目標并能獲取目標各種信息的系統(tǒng),同時,MIS還可以幫助移動目標將自身信息發(fā)射給別的目標。MIS使用的是一種開放式通信網絡,而且任何使用MIS的移動目標均無需授權,可以隨時接入網絡?,F(xiàn)在,這種系統(tǒng)已經應用于海事管理中的船舶識別和通訊。今后,動目標識別系統(tǒng)(MIS)的應用領域會變得越來越廣闊。
利用動目標識別系統(tǒng)(MIS)的動態(tài)信息(本目標的方向、位置、速度等信息)及靜態(tài)信息(如本目標編號和目標名稱等信息),再配合全球定位系統(tǒng)(GPS),然后通過甚高頻(VHF)信道向附近的一定范圍及管理中心進行廣播,使鄰近的動目標及管理中心能及時掌握目標的動靜態(tài)信息,同時,目標也可以獲取這一區(qū)域內其它動目標的動靜態(tài)信息。這種系統(tǒng)可使多個動目標之間及時獲取對方信息并可立刻互相通訊,以便在必要的時候采取必要行動,避免各種事故的發(fā)生。
1動目標識別系統(tǒng)(MIS)的關鍵技術
1.1高級數據鏈路控制規(guī)程(HDLC)
MIS的數據控制采用高級數據鏈路控制規(guī)程(HDLC)。HDLC是面向比特的協(xié)議,使用位填充來保證數據的透明性。HDLC規(guī)程具有透明傳輸、控制簡單、可靠性高、傳輸效率高的特點,因而具有極大的靈活性。圖1所示是MIS系統(tǒng)的HDLC數據結構。
數據分組中,分組應從左向右發(fā)送。除訓練序列以外,這一結構應該同普通的HDLC結構完全一樣。采用訓練序列的目的是為了VHF接收機進行同步調整。開始和結束標志采用7Eh來標志一幀信息的開始和結束。數據部分的長度為168bit,信息ID為6 bit,范圍為0~63,主要用于信息類型的標識,也就是標識發(fā)送臺的模式。該結構的通信狀態(tài)包括同步類型及子信息等。幀校驗序列FCS一般采用循環(huán)冗余校驗(CRC)。
1.2 TDMA協(xié)議
MIS訪問數據鏈的控制采用時分多址(TDMA)技術。根據不同的應用和操作模式,可采用不同的四種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芯片內部有兩個完全分離的信道(信道A和信道B),每個信道都有15個控制寄存器(包括發(fā)射緩存器、2個同步字寄存器和2個波特率定時常數寄存器),兩個信道的內部結構基本相同。
對寄存器的讀寫操作一般需要一次寫操作和一次讀(寫)操作。其中第1次寫操作是給寄存器WRO賦值,以使其指向需要讀寫的寄存器。第2次(讀)寫操作才是對需要讀寫的寄存器進行的操作。Z85C30芯片復雜的功能就是建立在對這些寄存器的不同初始化的基礎上的。
Z85C30芯片與MCU的數據交換能以許多方式實現(xiàn),包括查詢、等待、中斷驅動或DMA驅動方式。具體采用什么方式,應當根據不同的使用場合來進行選擇。
Z85C30芯片可以設置為4種工作模式,包括同步方式、異步方式、HDLC方式以及面向字節(jié)同步方式。每一種工作方式的設定都應當按相應的步驟來實現(xiàn)。
3 MIS中串行通信部分的硬件結構
動目標識別系統(tǒng)(MIS)中的串行通信主要是MIS協(xié)議幀的實現(xiàn)。圖2所示是其硬件模塊的主要結構。
圖2所示是STC89C58RD+單片機為處理器,以串行通信控制器Z85C30和GMSK調制解調器CMX589為外部電路組成的一個嵌入式系統(tǒng),可用于完成HDLC數據的打包和拆包,以及將數字信號調制成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ā)射數據。當發(fā)射緩沖寄存器為空時,Z85C30會設置發(fā)射緩沖寄存器空標志位,如果Z85C30允許發(fā)射中斷,這時就可產生中斷。在中斷處理程序中可以判斷訓練序列是否發(fā)射完畢。
要發(fā)射的數據必須符合HDLC協(xié)議中規(guī)定的幀格式,所以,在發(fā)射完訓練序列后,還必須將Z85C30設置成HDLC模式。然后將要發(fā)射的數據寫入發(fā)射緩沖寄存器。在使能發(fā)射后,數據就會緊接著訓練序列從發(fā)射引腳送出。由于Z85C30是以字節(jié)發(fā)射數據,所以,在中斷處理程序中必須判斷是否還需發(fā)射數據。如果需要發(fā)射數據,就應向發(fā)射緩沖寄存器中繼續(xù)寫入數據:如果不需要,那么,當Z85C30檢測到發(fā)射移位寄存器為空時,就會自動在數據后面增加CRC值和結束標志。
評論