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
快速时时彩开奖记录 上海快3遗漏图表 长沙麻将中一枝花是什么意思 双色球26注必中6红 《博彩绝技》 澳门彩资料 基金配资是什么意思 福彩3d直选技巧 加拿大快乐8开奖和值 手机捕鱼游戏 免费下载欢乐真人麻

 

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