1 簡介 本文介紹的單片機多機并行通訊系統,使用89C51作為主機,多片89C2051作為從機。(89C2051為20腳300MIL封裝,帶有2K FLASH E2PROM的單片機,除了少了兩個并口外,具備MCS-51系列單片機所有功能。因為其體積小,功能強,必將在單片機應用領域內廣泛使用)。這種并行通訊方法適用于在多站點,多層次的檢測和控制系統中充當通信控制器的角色;也適合于用作單片機串行口擴充電路。圖1 芯片的邏輯圖及四種工作狀態圖2 單片機并行通信原理框圖2 三態總線緩沖寄存器74HC646 在單片機構成的多機并行通訊系統中,總線上的信息交換一般采用PIO(并行接口)和雙端口寄存器等方法,并輔助以總線仲裁電路。通常使用的并行接口芯片有8155,8255等。本文介紹一種簡單的并行接口電路,它既能取代8255等芯片,還能使電路結構更加簡單和緊湊。該電路由一片74HC74和一片74HC646(300MIL窄封裝)構成。
74HC646是三態總線緩沖寄存器,其實也是一個雙端口共享存儲器,只是共享存儲區很小的,僅有一個數據輸入寄存器與一個數據輸出寄存器,用它作為單字節通信數據的臨時中轉站,每傳送一個字節,主從機間握手一次,把數據取走后再繼續下一字節的通信。74HC646可以將兩條總線的數據分別鎖存,再由芯片內部總線進行數據交換。74HC646具有四種工作狀態,利用對這四種工作狀態的控制,可以實現多個單片機利用數據口進行數據交換,省下其余口線做其他的工作,如驅動LED,控制開關等。74HC646芯片的邏輯圖及四種工作狀態如圖1所示。3 單片機并行通信原理 74HC646對數據進行的鎖存只為完成數據交換作了信息準備工作,單片機多機之間通訊的實現還必須具備通訊聯絡手段,以使單片機了解總線上的工作狀態,避免發生總線沖突。這里采用四線握手聯絡:兩條由發送方送接收方,通知接收方數據已經準備好(如圖2中的TFNE*,RFNE*);兩條由接收方送發送方,通知發送方數據已經收到(如圖2中的TFNF*,RFNF*)通信聯絡信號是由74HC74電路產生。單片機并行通信原理框圖如圖2所示。4 多機并行通信協議 上面的并行通訊的單片機沒有封鎖電路以防止主從機向74HC646同時寫數或同時讀數,因此各單機在雙向傳輸時,必須根據狀態信息來控制自己的下一步操作,即進行聯絡,通過軟件、硬件通訊協議配合才能避免造成錯誤,保證對74HC646不會造成競爭沖突。因此,除了上面所講的聯絡電路之外,在編制軟件時,還必須遵從以下協議:
. 主機向74HC646發送數據時,必須保證74HC646接收寄存器為空。
. 主機與從機間的數據傳輸要通過74HC646,協議不允許雙方同時對74HC646進行操作,必須根據狀態信息來控制自己的操作。5 通訊協議的格式與執行過程5.1 信息格式
在并行通訊的異步通信傳輸時,也同樣存在幀的類型及格式問題,可以采用串行通訊類似的幀格式:特征字長度數據1數據2...校驗碼5.2 通訊協議的執行過程
下面以檢測方式為例說明通訊協議的執行過程。
5.2.1 主機向從機寫數過程:(主機寫, 從機讀)
主機向74HC646寫數據,然后通知從機有數據來,從機從74HC646中讀取數據。
① 主機讀取狀態位,檢測TFNF*位是否為零。
② 若TFNF*=1,主機暫時等待;若TFNF*=0,主機向74HC646寫數據,使TFNF*=1,同時使TFNE*=0。
③ 從機讀取狀態位,檢測TFNE*位是否為零。若TFNE*=1,從機暫時等待;若TFNE*=0,從機從74HC646讀數據,使TFNE*=1,同時使TFNF*=0。
④ 主機再次檢測狀態位TFNF*是否為零,若為“0”,說明從機已將數據從74HC646中取走,主機可發送下一數據。
5.2.2 主機讀從機過程:(從機寫, 主機讀)
從機向74HC646寫數據,然后通知主機有數據來,主機收到信號后,將數據從74HC646中取走。
① 從機讀取狀態位,檢測RFNF*位是否為零。
② 若RFNF*=1,從機暫時等待;若RFNF*=0,從機向74HC646寫數據,使RFNF*=1,同時使RFNE*=0。
③ 主機讀取狀態位,檢測RFNE*位是否為零。若RFNE*=1,主機暫時等待;若RFNE*=0,主機從74HC646讀數據,使RFNE*=1,同時使RFNF*=0。
④ 從機再次檢測狀態位RFNF*是否為零,若為“0”,說明從機已將數據從74HC646中取走,主機可發送下一數據。6 流程圖(檢測方式) 采用檢測方式的程序流程如圖3所示。圖3 采用檢測方式的程序流程圖 若使用中斷方式, 只需對執行過程和流程圖稍加修改即可。
本文由上海荔鋒模具鋼材有限公司提供


  • 發表評論
  • 用戶:  驗證碼: 點擊更換  

 

設為首頁 | 加入收藏 | 聯系我們    上海荔鋒金屬制品有限公司 Copyright © 2008-2012 ICP備案號:滬ICP備09089709號
 地址:上海市松江區洞涇開發區張涇路1361號   聯系電話:400-600-3918 021-57637232 61995252 傳真:021-33525079
鎢鋼 高速鋼 模具鋼 模具材料 模具鋼材 進口鎢鋼  鎢鋼價格 進口模具鋼 一勝百 日本日立 大同 SKD11 S136  ASP23 NAK80 ASP60 SKD61 8407 

Powered by PageAdmin CMS

 

設為首頁 | 加入收藏 | |聯系我們    上海荔鋒金屬制品有限公司 Copyright © 2008-2012 ICP備案號:滬ICP備09089709號
 地址:上海市松江區泗涇鎮九干路1525號   聯系電話:021-57637232 61995252 傳真:021-33525079
鎢鋼 高速鋼 模具鋼 模具材料 模具鋼材 進口鎢鋼  鎢鋼價格 進口模具鋼 一勝百 日本日立 大同 SKD11 S136  ASP23 NAK80 ASP60 SKD61 H13 8407