mcs- 96主從式總線結構多機系統通信的研究
劉景森1,李 煜2
(1.河南大學計算機學院,河南開封475001, 2.河南大學管理學院,河南開封475001)
摘要。主從式總線結構是構造有主控結點的mcs-96分布式多單片機系統的一種主要拓撲結構,文中分析了該系統中通信功能的實現方法,控討了通信中同步問題、廣播功能、數據轉發、沖突處理和故障屏蔽的解決方案。
關鍵詞:mcs-96系列單片機i主從式總線結構-分布式多機系統}串口
中圖分類號tp368.2 文獻標識碼.a 文章編號11001-6848(2000)03-0050-03
1 引 言
在構造分布式多單片機系統時,主從式總線結構是經常使用的一種網絡拓撲結構,主要適用于具有主控結點的分布式控制系統。這種結構下,系統的基本開銷、通信開銷、程序開銷和可靠性比較均衡,系統的構建簡單靈活。
在主從式總線結構分布系統中,所有的單片機結點都掛接在串行總線上,系統管理程序則集中在主機結點上執行。若從機需要使用管理程序提供的功能,則應向主機提出請求并發送信息。若管理程序要對從機進行控制或向從機回復處理結果,則由主機向從機發送信息。因此,系統的協同處理主要依賴于通信功能的實現,即主機與多個從機之間的相互通信。
2通信功能的實現
mcs- 96分布式多機系統的機間通信功能是通過各結點機的全雙工串行通信接口實現的。對于主從式總線結構的系統而言,其通信線路的連接方式如圖1所示,即:通過總線,將主機的串口發送端txd與所有從機的串口接收端rxd相連,主機的串口接收端rxd與所有從機的串口發送端txd相連。
mcs-96串口采用ttl電平,信號的傳輸距離很短,可通逆電平轉換,用rs-232c、rs-422a 等異步串行通信的標準接口總線進行數據傳輸,以增加通信距離,提高數據傳輸率。對于結點更分散、通信距離更長的情況,還可使用調制解調器來實現數據的遠程傳輸。
在主從式總線結構的多機系統中,主機與所有mcs-96主從式總線結構多機系統通信的研究劉景森李煜從機間的相互通信由串口模式2和模式3共同完成。當串口置于模式2時,串行幀格式包括1個起始位(o電平)、8個數據位(do~d7)、1個可編程的第9數據位(d8)和1個停止位(1電平),共11位數據。接收數據時,若收到數據的d8 -1,則產生串口中斷,予以接收;若收到數據的d8=o,則不產生串口中斷,予以丟棄。當串口置于模式3時,串行幀也是11位數據,格式與模式2相同,但此時d8是奇偶校驗位,收到數據無論d8=0還是d8—1,都將產生串口中斷,予以接收。
利用以上特點,通信開始時主機串口設置為模式3,各從機串口設置為模式2。主機向某一從機結點發送數據時,先發一地址幀,地址幀的d8-1、do~d7為該從機的地址;工作于串口模式2的所有從機都能接收此地址,與本機地址編號相同者被選中,被選中的從機立即:轉入串口模式3;主機接著發送數據幀,數據幀的d8=0、do~d7為數據;被選中的從機工作于模式3,可產生串口中斷,接收這些數據;未被選中的從機仍工作于模式2,不能產生串口中斷,接收這些數據;未被選中的從機仍工作于模式2,不能產生串口中斷,不能接收逮些數據,仍繼續本機事務的處理;數據傳送一旦結束,被選中的從機立即恢復到通信開始時的串口設置,重新轉回模式2。從機向主機結點發送數據時,可直接發送數據幀,由于主機工作于模式3,故能夠產生串口中斷,接收這些數據。另外,主從機通信時應約定好應答信息,以保證主機知道自己與哪臺從機進行了數據交換。
依據上述原理,可方便地設計出主、從機結點的通信程序。對于mcs-96分布式多機系統而言,通信程序主要包括:串口引腳的使能,其中iocl(16h)的d5置1為txd使能,sp - con (11h)的d3置1為rxd使能;串口模式的設置,即sp—con(11h)的dl~do設置;波特率的設置,即baud—rate (oeh)設置,該寄存器為16位,只能按字節寫入,先寫低8位,后寫高8位,其中d14~do為波特率,d15置1時選用xtal1內部時鐘作為輸入頻率,d1 |