999国内精品永久免费视频,色偷偷9999www,亚洲国产成人爱av在线播放,6080亚洲人久久精品,欧美超高清xxxhd

單片機(jī)多機(jī)并行通訊的一種方法

尹紅 

摘 要 單片機(jī)多機(jī)通訊一般采用串行總線方式,但在通訊距離短,通訊數(shù)據(jù)量大,通訊速率高的場(chǎng)合也會(huì)用到多機(jī)并行通訊。本文介紹一種采用簡(jiǎn)單邏輯電路實(shí)現(xiàn)單片機(jī)多機(jī)并行通訊的方法。
關(guān)鍵詞 并行通訊,三態(tài)緩沖寄存器,雙端口存儲(chǔ)器,總線隔離

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

t59-3.gif (8413 bytes)
t59-1.gif (4828 bytes)
  圖1 芯片的邏輯圖及四種工作狀態(tài)   

t59-2.gif (6745 bytes)
圖2 單片機(jī)并行通信原理框圖

2 三態(tài)總線緩沖寄存器74HC646
  在單片機(jī)構(gòu)成的多機(jī)并行通訊系統(tǒng)中,總線上的信息交換一般采用PIO(并行接口)和雙端口寄存器等方法,并輔助以總線仲裁電路。通常使用的并行接口芯片有8155,8255等。本文介紹一種簡(jiǎn)單的并行接口電路,它既能取代8255等芯片,還能使電路結(jié)構(gòu)更加簡(jiǎn)單和緊湊。該電路由一片74HC74和一片74HC646(300MIL窄封裝)構(gòu)成。
  74HC646是三態(tài)總線緩沖寄存器,其實(shí)也是一個(gè)雙端口共享存儲(chǔ)器,只是共享存儲(chǔ)區(qū)很小的,僅有一個(gè)數(shù)據(jù)輸入寄存器與一個(gè)數(shù)據(jù)輸出寄存器,用它作為單字節(jié)通信數(shù)據(jù)的臨時(shí)中轉(zhuǎn)站,每傳送一個(gè)字節(jié),主從機(jī)間握手一次,把數(shù)據(jù)取走后再繼續(xù)下一字節(jié)的通信。74HC646可以將兩條總線的數(shù)據(jù)分別鎖存,再由芯片內(nèi)部總線進(jìn)行數(shù)據(jù)交換。74HC646具有四種工作狀態(tài),利用對(duì)這四種工作狀態(tài)的控制,可以實(shí)現(xiàn)多個(gè)單片機(jī)利用數(shù)據(jù)口進(jìn)行數(shù)據(jù)交換,省下其余口線做其他的工作,如驅(qū)動(dòng)LED,控制開(kāi)關(guān)等。74HC646芯片的邏輯圖及四種工作狀態(tài)如圖1所示。

3 單片機(jī)并行通信原理
  74HC646對(duì)數(shù)據(jù)進(jìn)行的鎖存只為完成數(shù)據(jù)交換作了信息準(zhǔn)備工作,單片機(jī)多機(jī)之間通訊的實(shí)現(xiàn)還必須具備通訊聯(lián)絡(luò)手段,以使單片機(jī)了解總線上的工作狀態(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ò)信號(hào)是由74HC74電路產(chǎn)生。單片機(jī)并行通信原理框圖如圖2所示。

4 多機(jī)并行通信協(xié)議
  上面的并行通訊的單片機(jī)沒(méi)有封鎖電路以防止主從機(jī)向74HC646同時(shí)寫(xiě)數(shù)或同時(shí)讀數(shù),因此各單機(jī)在雙向傳輸時(shí),必須根據(jù)狀態(tài)信息來(lái)控制自己的下一步操作,即進(jìn)行聯(lián)絡(luò),通過(guò)軟件、硬件通訊協(xié)議配合才能避免造成錯(cuò)誤,保證對(duì)74HC646不會(huì)造成競(jìng)爭(zhēng)沖突。因此,除了上面所講的聯(lián)絡(luò)電路之外,在編制軟件時(shí),還必須遵從以下協(xié)議:
  . 主機(jī)向74HC646發(fā)送數(shù)據(jù)時(shí),必須保證74HC646接收寄存器為空。
  .
主機(jī)與從機(jī)間的數(shù)據(jù)傳輸要通過(guò)74HC646,協(xié)議不允許雙方同時(shí)對(duì)74HC646進(jìn)行操作,必須根據(jù)狀態(tài)信息來(lái)控制自己的操作。

5 通訊協(xié)議的格式與執(zhí)行過(guò)程
5.1 信息格式

  在并行通訊的異步通信傳輸時(shí),也同樣存在幀的類(lèi)型及格式問(wèn)題,可以采用串行通訊類(lèi)似的幀格式:

特征字
長(zhǎng)度
數(shù)據(jù)1
數(shù)據(jù)2
...
校驗(yàn)碼

5.2 通訊協(xié)議的執(zhí)行過(guò)程
  下面以檢測(cè)方式為例說(shuō)明通訊協(xié)議的執(zhí)行過(guò)程。
5.2.1 主機(jī)向從機(jī)寫(xiě)數(shù)過(guò)程:(主機(jī)寫(xiě), 從機(jī)讀)
  主機(jī)向74HC646寫(xiě)數(shù)據(jù),然后通知從機(jī)有數(shù)據(jù)來(lái),從機(jī)從74HC646中讀取數(shù)據(jù)。
 、 主機(jī)讀取狀態(tài)位,檢測(cè)TFNF*位是否為零。
 、 若TFNF*=1,主機(jī)暫時(shí)等待;若TFNF*=0,主機(jī)向74HC646寫(xiě)數(shù)據(jù),使TFNF*=1,同時(shí)使TFNE*=0。
 、 從機(jī)讀取狀態(tài)位,檢測(cè)TFNE*位是否為零。若TFNE*=1,從機(jī)暫時(shí)等待;若TFNE*=0,從機(jī)從74HC646讀數(shù)據(jù),使TFNE*=1,同時(shí)使TFNF*=0。
 、 主機(jī)再次檢測(cè)狀態(tài)位TFNF*是否為零,若為“0”,說(shuō)明從機(jī)已將數(shù)據(jù)從74HC646中取走,主機(jī)可發(fā)送下一數(shù)據(jù)。
5.2.2 主機(jī)讀從機(jī)過(guò)程:(從機(jī)寫(xiě), 主機(jī)讀)
  從機(jī)向74HC646寫(xiě)數(shù)據(jù),然后通知主機(jī)有數(shù)據(jù)來(lái),主機(jī)收到信號(hào)后,將數(shù)據(jù)從74HC646中取走。
  ① 從機(jī)讀取狀態(tài)位,檢測(cè)RFNF*位是否為零。
 、 若RFNF*=1,從機(jī)暫時(shí)等待;若RFNF*=0,從機(jī)向74HC646寫(xiě)數(shù)據(jù),使RFNF*=1,同時(shí)使RFNE*=0。
 、 主機(jī)讀取狀態(tài)位,檢測(cè)RFNE*位是否為零。若RFNE*=1,主機(jī)暫時(shí)等待;若RFNE*=0,主機(jī)從74HC646讀數(shù)據(jù),使RFNE*=1,同時(shí)使RFNF*=0。
 、 從機(jī)再次檢測(cè)狀態(tài)位RFNF*是否為零,若為“0”,說(shuō)明從機(jī)已將數(shù)據(jù)從74HC646中取走,主機(jī)可發(fā)送下一數(shù)據(jù)。

6 流程圖(檢測(cè)方式)
  采用檢測(cè)方式的程序流程如圖3所示。

t60-1.gif (7129 bytes)  

圖3 采用檢測(cè)方式的程序流程圖

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

作者簡(jiǎn)介: 尹紅 工程師。從事計(jì)算機(jī)應(yīng)用、數(shù)控產(chǎn)品的研究和開(kāi)發(fā)工作。
作者單位:中國(guó)科學(xué)院成都計(jì)算機(jī)應(yīng)用研究所 四川
.成都(610041)

參考文獻(xiàn)
1.電子工程手冊(cè)編委會(huì),集成電路手冊(cè)分編委會(huì)編著.標(biāo)準(zhǔn)集成電路數(shù)據(jù)手冊(cè)高速CMOS電路(第一版).北京:電子工業(yè)出版社,1992:533-541
2.孫涵芳,徐愛(ài)卿編著.MCS-51/98系列單片機(jī)原理及應(yīng)用(第一版).北京:北京航空學(xué)院出版社,1988:48—63,172—176
3.邱公偉,趙祥元,巫淑萍編著.實(shí)時(shí)控制與智能儀表多微機(jī)系統(tǒng)的通信技術(shù)(第一版).北京:清華大學(xué)出版社,1996:69—113