新聞中心

EEPW首頁 > 手機與無線通信 > 設(shè)計應用 > 基于一種動目標識別系統(tǒng)的串行通信設(shè)計

基于一種動目標識別系統(tǒng)的串行通信設(shè)計

作者: 時間:2010-05-07 來源:網(wǎng)絡(luò) 收藏

  3 MIS中部分的硬件結(jié)構(gòu)

  動(MIS)中的主要是MIS協(xié)議幀的實現(xiàn)。圖2所示是其硬件模塊的主要結(jié)構(gòu)。

  圖2所示是STC89C58RD+單片機為處理器,以控制器Z85C30和GMSK調(diào)制解調(diào)器為外部電路組成的一個嵌入式,可用于完成HDLC數(shù)據(jù)的打包和拆包,以及將數(shù)字信號調(diào)制成GMSK信號。

 4 MIS串行通信的軟件實現(xiàn)

  程序運行的開始,都要初始化單片機,并設(shè)置中斷和初始化串口。Z85C30的各種狀態(tài)都使用中斷處理程序來處理才能使程序的執(zhí)行效率達到最高。

  將Z85C30發(fā)射通道設(shè)置成雙字節(jié)同步模式,同步字節(jié)為55H,并且向發(fā)射緩沖寄存器寫入55H,便可實現(xiàn)MIS系統(tǒng)要求的訓練序列。在這種模式下,在使能發(fā)射后,先發(fā)射同步字節(jié),同步字節(jié)發(fā)射完成后再發(fā)射數(shù)據(jù)。當發(fā)射緩沖寄存器為空時,Z85C30會設(shè)置發(fā)射緩沖寄存器空標志位,如果Z85C30允許發(fā)射中斷,這時就可產(chǎn)生中斷。在中斷處理程序中可以判斷訓練序列是否發(fā)射完畢。

  要發(fā)射的數(shù)據(jù)必須符合HDLC協(xié)議中規(guī)定的幀格式,所以,在發(fā)射完訓練序列后,還必須將Z85C30設(shè)置成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的接收通道可以直接設(shè)置成HDLC模式,在其接收到起始標志后,就意味著后面緊接著接收的就是數(shù)據(jù)。如果Z85C30設(shè)置了接收中斷,那么,當數(shù)據(jù)接收寄存器中數(shù)據(jù)寫滿時,就會產(chǎn)生接收中斷,中斷處理程序就應將數(shù)據(jù)讀出,以消除中斷狀態(tài)。接收完數(shù)據(jù)后,緊接著應該接收CRC值。Z85C30可將16位CRC值以接收數(shù)據(jù)的方式接收,但Z85C30會自動對比接收的CRC值和計算的CRC值,如果兩值不一致,就會設(shè)置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所示。



評論


相關(guān)推薦

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

關(guān)閉