日韩床上生活一级视频|能看毛片的操逼网站|色悠悠网站在线观看视频|国产免费观看A淫色免费|国产av久久久久久久|免费A级视频美女网站黄|国产毛片av日韩小黄片|热久久免费国产视频|中文字幕无码色色|成人在线视频99久久久

機電之家資源網(wǎng)
單片機首頁|單片機基礎(chǔ)|單片機應(yīng)用|單片機開發(fā)|單片機文案|軟件資料下載|音響制作|電路圖下載 |嵌入式開發(fā)
培訓(xùn)信息
贊助商
單片機多機并行通訊的一種方法
[1] [2]  下一頁
單片機多機并行通訊的一種方法
 更新時間:2008-8-18 9:52:46  點擊數(shù):12
【字體: 字體顏色

    摘 要 單片機多機通訊一般采用串行總線方式,但在通訊距離短,通訊數(shù)據(jù)量大,通訊速率高的場合也會用到多機并行通訊。本文介紹一種采用簡單邏輯電路實現(xiàn)單片機多機并行通訊的方法。

    關(guān)鍵詞 并行通訊,三態(tài)緩沖寄存器,雙端口存儲器,總線隔離

    1 簡介

  本文介紹的單片機多機并行通訊系統(tǒng),使用89C51作為主機,多片89C2051作為從機。(89C2051為20腳300MIL封裝,帶有2K FLASH E2PROM的單片機,除了少了兩個并口外,具備MCS-51系列單片機所有功能。因為其體積小,功能強,必將在單片機應(yīng)用領(lǐng)域內(nèi)廣泛使用)。這種并行通訊方法適用于在多站點,多層次的檢測和控制系統(tǒng)中充當(dāng)通信控制器的角色;也適合于用作單片機串行口擴充電路。

   

     

  圖1 芯片的邏輯圖及四種工作狀態(tài) 

    

                 圖2 單片機并行通信原理框圖

    2 三態(tài)總線緩沖寄存器74HC646

  在單片機構(gòu)成的多機并行通訊系統(tǒng)中,總線上的信息交換一般采用PIO(并行接口)和雙端口寄存器等方法,并輔助以總線仲裁電路。通常使用的并行接口芯片有8155,8255等。本文介紹一種簡單的并行接口電路,它既能取代8255等芯片,還能使電路結(jié)構(gòu)更加簡單和緊湊。該電路由一片74HC74和一片74HC646(300MIL窄封裝)構(gòu)成。

  74HC646是三態(tài)總線緩沖寄存器,其實也是一個雙端口共享存儲器,只是共享存儲區(qū)很小的,僅有一個數(shù)據(jù)輸入寄存器與一個數(shù)據(jù)輸出寄存器,用它作為單字節(jié)通信數(shù)據(jù)的臨時中轉(zhuǎn)站,每傳送一個字節(jié),主從機間握手一次,把數(shù)據(jù)取走后再繼續(xù)下一字節(jié)的通信。74HC646可以將兩條總線的數(shù)據(jù)分別鎖存,再由芯片內(nèi)部總線進行數(shù)據(jù)交換。74HC646具有四種工作狀態(tài),利用對這四種工作狀態(tài)的控制,可以實現(xiàn)多個單片機利用數(shù)據(jù)口進行數(shù)據(jù)交換,省下其余口線做其他的工作,如驅(qū)動LED,控制開關(guān)等。74HC646芯片的邏輯圖及四種工作狀態(tài)如圖1所示。

    3 單片機并行通信原理

  74HC646對數(shù)據(jù)進行的鎖存只為完成數(shù)據(jù)交換作了信息準(zhǔn)備工作,單片機多機之間通訊的實現(xiàn)還必須具備通訊聯(lián)絡(luò)手段,以使單片機了解總線上的工作狀態(tài),避免發(fā)生總線沖突。這里采用四線握手聯(lián)絡(luò):兩條由發(fā)送方送接收方,通知接收方數(shù)據(jù)已經(jīng)準(zhǔn)備好(如圖2中的TFNE*,RFNE*);兩條由接收方送發(fā)送方,通知發(fā)送方數(shù)據(jù)已經(jīng)收到(如圖2中的TFNF*,RFNF*)通信聯(lián)絡(luò)信號是由74HC74電路產(chǎn)生。單片機并行通信原理框圖如圖2所示。

    4 多機并行通信協(xié)議

  上面的并行通訊的單片機沒有封鎖電路以防止主從機向74HC646同時寫數(shù)或同時讀數(shù),因此各單機在雙向傳輸時,必須根據(jù)狀態(tài)信息來控制自己的下一步操作,即進行聯(lián)絡(luò),通過軟件、硬件通訊協(xié)議配合才能避免造成錯誤,保證對74HC646不會造成競爭沖突。因此,除了上面所講的聯(lián)絡(luò)電路之外,在編制軟件時,還必須遵從以下協(xié)議:

  . 主機向74HC646發(fā)送數(shù)據(jù)時,必須保證74HC646接收寄存器為空。

  . 主機與從機間的數(shù)據(jù)傳輸要通過74HC646,協(xié)議不允許雙方同時對74HC646進行操作,必須根據(jù)狀態(tài)信息來控制自己的操作。

    5 通訊協(xié)議的格式與執(zhí)行過程

    5.1 信息格式

  在并行通訊的異步通信傳輸時,也同樣存在幀的類型及格式問題,可以采用串行通訊類似的幀格式:

    特征字
 
    長度
 
    數(shù)據(jù)1
 
    數(shù)據(jù)2
 
   ...
 
    校驗碼

    5.2 通訊協(xié)議的執(zhí)行過程

  下面以檢測方式為例說明通訊協(xié)議的執(zhí)行過程。

    5.2.1 主機向從機寫數(shù)過程:(主機寫, 從機讀)

  主機向74HC646寫數(shù)據(jù),然后通知從機有數(shù)據(jù)來,從機從74HC646中讀取數(shù)據(jù)。

  ① 主機讀取狀態(tài)位,檢測TFNF*位是否為零。

  ②若TFNF*=1,主機暫時等待;若TFNF*=0,主機向74HC646寫數(shù)據(jù),使TFNF*=1,同時使TFNE*=0。

 、 從機讀取狀態(tài)位,檢測TFNE*位是否為零。若TFNE*=1,從機暫時等待;若TFNE*=0,從機從74HC646讀數(shù)據(jù),使TFNE*=1,同時使TFNF*=0。

 、 主機再次檢測狀態(tài)位TFNF*是否為零,若為“0”,說明從機已將數(shù)據(jù)從74HC646中取走,主機可發(fā)送下一數(shù)據(jù)。

    5.2.2 主機讀從機過程:(從機寫, 主機讀)

  從機向74HC646寫數(shù)據(jù),然后通知主機有數(shù)據(jù)來,主機收到信號后,將數(shù)據(jù)從74HC646中取走。

  ① 從機讀取狀態(tài)位,檢測RFNF*位是否為零。

 、谌鬜FNF*=1,從機暫時等待;若RFNF*=0,從機向74HC646寫數(shù)據(jù),使RFNF*=1,同時使RFNE*=0。

  ③ 主機讀取狀態(tài)位,檢測RFNE*位是否為零。若RFNE*=1,主機暫時等待;若RFNE*=0,主機從74HC646讀數(shù)據(jù),使RFNE*=1,同時使RFNF*=0。

 、 從機再次檢測狀態(tài)位RFNF*是否為零,若為“0”,說明從機已將數(shù)據(jù)從74HC646中取走,主機可發(fā)送下一數(shù)據(jù)。

    6 流程圖(檢測方式)

  采用檢測方式的程序流程如圖3所示。  

    

              圖3 采用檢測方式的程序流程圖

  若使用中斷方式, 只需對執(zhí)行過程和流程圖稍加修改即可。

  • 上一篇: RS-232串行通信消除干擾噪聲的設(shè)計方法
  • 下一篇: 液晶顯示控制器SED1330與DSP的接口應(yīng)用
  • 發(fā)表評論   告訴好友   打印此文  收藏此頁  關(guān)閉窗口  返回頂部
    熱點文章
     
    推薦文章
     
    相關(guān)文章
    網(wǎng)友評論:(只顯示最新5條。)
    關(guān)于我們 | 聯(lián)系我們 | 廣告合作 | 付款方式 | 使用幫助 | 機電之家 | 會員助手 | 免費鏈接

    點擊這里給我發(fā)消息66821730(技術(shù)支持)點擊這里給我發(fā)消息66821730(廣告投放) 點擊這里給我發(fā)消息41031197(編輯) 點擊這里給我發(fā)消息58733127(審核)
    本站提供的機電設(shè)備,機電供求等信息由機電企業(yè)自行提供,該企業(yè)負責(zé)信息內(nèi)容的真實性、準(zhǔn)確性和合法性。
    機電之家對此不承擔(dān)任何保證責(zé)任,有侵犯您利益的地方請聯(lián)系機電之家,機電之家將及時作出處理。
    Copyright 2007 機電之家 Inc All Rights Reserved.機電之家-由機電一體化網(wǎng)更名-聲明
    電話:0571-87774297 傳真:0571-87774298
    杭州濱興科技有限公司提供技術(shù)支持

    主辦:杭州市高新區(qū)(濱江)機電一體化學(xué)會
    中國行業(yè)電子商務(wù)100強網(wǎng)站

    網(wǎng)站經(jīng)營許可證:浙B2-20080178-1