新聞中心

        EEPW首頁 > 模擬技術 > 設計應用 > 基于Z85C30的動指標識別系統的串行通訊設計

        基于Z85C30的動指標識別系統的串行通訊設計

        作者: 時間:2010-04-07 來源:網絡 收藏

        2  通訊控制器簡介
          芯片內部有兩個完全別離的信道(信道A和信道B),每個信道都有15個控制存放器(包含發射緩存器、2個同步字存放器和2個波特率定時常數存放器),兩個信道的內部構造根本類似。
          對存放器的讀寫操作普通須要一次寫操作和一次讀(寫)操作。其中第1次寫操作是給存放器WRO賦值,以使其指向須要讀寫的存放器。第2次(讀)寫操作才是對須要讀寫的存放器舉行的操作。芯片龐雜的功用就是樹立在對這些存放器的不一樣原始化的根本上的。
          Z85C30芯片與MCU的數據交流能以許多方式完成,包含查詢、等候、中綴驅動或DMA驅動方式。詳細采用什么方式,應當依據不一樣的運用場所來舉行挑選。
          Z85C30芯片能夠配置為4種任務方式,包含同步方式、異步方式、HDLC方式以及面向字節同步方式。每一種任務方式的設定都應當按相應的步驟來完成。
          3  MIS中通訊局部的硬件構造
          動目標(MIS)中的通訊首要是MIS協議幀的完成。圖2所示是其硬件模塊的首要構造。

        本文引用地址:http://www.104case.com/article/188282.htm

        基于Z85C30的動指標識別系統的串行通訊設計[多圖]圖片2

          圖2所示是STC89C58RD+單片機為處置器,以串行通訊控制器Z85C30和GMSK調制解調器CMX589為外部電路組成的一個嵌入式系統,可用于完成HDLC數據的打包和拆包,以及將數字信號調制成GMSK信號。
          4 MIS系統串行通訊的軟件完成
          順序運轉的開端,都要原始化單片機,并配置中綴和原始化串口。Z85C30的各種形態都運用中綴處置順序來處置才干使順序的執行效率抵達最高。
          將 Z85C30發射通道配置成雙字節同步方式,同步字節為55H,并且向發射緩沖存放器寫入55H,便可完成MIS系統要求的訓練序列。在這種方式下,在使能發射后,先發射同步字節,同步字節發射完成后再發射數據。當發射緩沖存放器為空時,Z85C30會配置發射緩沖存放器空標志位,假設Z85C30準許發射中綴,這時就可發生中綴。在中綴處置順序中能夠判別訓練序列能不能發射終了。
        要發射的數據必需契合HDLC協議中規則的幀格式,所以,在發射完訓練序列后,還必需將Z85C30配置成HDLC方式。然后將要發射的數據寫入發射緩沖存放器。在使能發射后,數據就會緊接著訓練序列從發射引腳送出。由于Z85C30是以字節發射數據,所以,在中綴處置順序中必需判別能不能還需發射數據。假設須要發射數據,就應向發射緩沖存放器中繼續寫入數據:假設不須要,那么,當Z85C30檢測到發射移位存放器為空時,就會自動在數據后面添加CRC值和完畢標志。
          Z85C30接納通道的原始化和發射通道不一樣,它不須要思索接納訓練序列,由于訓練序列用于接納機同步。Z85C30的接納通道能夠直接配置成HDLC 方式,在其接納到起始標志后,就意味著后面緊接著接納的就是數據。假設Z85C30配置了接納中綴,那么,當數據接納存放器中數據寫滿時,就會發生接納中綴,中綴處置順序就應將數據讀出,以消弭中綴形態。接納完數據后,緊接著應該接納CRC值。Z85C30可將16位CRC值以接納數據的方式接納,但 Z85C30會自動比擬接納的CRC值和計算的CRC值,假設兩值不一致,就會配置CRC錯誤位。當Z85C30在數據流中接納到完畢標志時,它會發生幀完畢中綴。因而,在軟件設計時,順序應該在幀完畢中綴中判別CRC能不能正確,以便確定能不能應當保管剛接納的一幀數據。
          Z85C30有兩個通道,每個通道能夠發送,也可以夠接納數據。由于數據的拆包只是數據打包的逆流程,并且Z85C30也支持HDLC幀數據的拆包,所以,在此只引見如何舉行數據打包。將打包的數據發給GMSK調制解調器CMX589,就能夠得到很好的GMSK信號,這樣,GMSK信號就能夠由高頻板調制發射出去,以便和其他臺站完成通訊。本系統的軟件流程如圖3所示。
        基于Z85C30的動指標識別系統的串行通訊設計[多圖]圖片3



        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 紫阳县| 鹿邑县| 濮阳市| 萍乡市| 阿拉尔市| 济阳县| 县级市| 宁河县| 通许县| 宁陵县| 墨竹工卡县| 扎鲁特旗| 铜山县| 武山县| 蓬安县| 长泰县| 新绛县| 荃湾区| 县级市| 卓资县| 乌恰县| 大理市| 扶余县| 马尔康县| 运城市| 会昌县| 万盛区| 天全县| 犍为县| 尼玛县| 武定县| 天柱县| 肃北| 湘西| 英吉沙县| 广南县| 昆明市| 天台县| 冀州市| 彰化县| 水城县|