|
|||||||||||
| 技術(shù)交流 | 電路欣賞 | 工控天地 | 數(shù)字廣電 | 通信技術(shù) | 電源技術(shù) | 測控之家 | EMC技術(shù) | ARM技術(shù) | EDA技術(shù) | PCB技術(shù) | 嵌入式系統(tǒng) 驅(qū)動編程 | 集成電路 | 器件替換 | 模擬技術(shù) | 新手園地 | 單 片 機 | DSP技術(shù) | MCU技術(shù) | IC 設(shè)計 | IC 產(chǎn)業(yè) | CAN-bus/DeviceNe |
兩個CPU通信的問題 |
| 作者:ljmxinhun 欄目:單片機 |
我用的54+57(晶振:980K/996K)兩個CPU進行通信,但效果不理想,協(xié)議是自己定的。所以想大家來探討一下這個協(xié)議問題。 如下面的圖:當(dāng)兩個CPU沒有通信的時候,DI,CS,DO分別為高電平、不確定(兩邊都設(shè)置為輸入狀態(tài))、高電平。當(dāng)我要發(fā)送數(shù)據(jù)的時候就要獲取發(fā)送控制權(quán),就是兩邊要爭奪發(fā)送權(quán)看誰先獲取就誰先發(fā)送,獲取發(fā)送權(quán)的條件是:首先CS為低平并且DI為高電平,如果有了這個條件下就要對把CS設(shè)置為輸出把它拉高,再把DO拉低,然后就等待對方的接收應(yīng)答,接到應(yīng)答好就開始發(fā)送一位,再等待應(yīng)答,然后又發(fā)送下一位,這樣連續(xù)8次就送完一個字節(jié),然后就把CS拉低,轉(zhuǎn)為輸入,DO拉高。這樣就完成了發(fā)送一個字節(jié)。 有數(shù)據(jù)要接收的條件是CS為高,DI為低的時候就代表有數(shù)據(jù)來,如果檢測到這樣的信號時就要發(fā)送一個應(yīng)答位通知發(fā)送方可以開始發(fā)送一位,就是把DO拉低來應(yīng)答,拉低后過三條空指令后(視兩個CPU的晶振頻率)再拉高,這樣一高一低連續(xù)8次就完成接收一個字節(jié),接收完后就把DO拉高就完城這個接收的程序。 其實我這里的時鐘線就是DO/DI(對接收方來說/對發(fā)送方來說) 在這里希望大家能對我自己定的協(xié)議進行指點交流,謝! * - 本貼最后修改時間:2003-1-20 15:31:43 修改者:ljmxinhun
|
| 2樓: | >>參與討論 |
| 作者: ljmxinhun 于 2003/1/17 12:04:00 發(fā)布:
如下圖 * - 本貼最后修改時間:2003-1-17 12:06:43 修改者:ljmxinhun |
|
|
|
| 免費注冊為維庫電子開發(fā)網(wǎng)會員,參與電子工程師社區(qū)討論,點此進入 |
Copyright © 1998-2006 m.58mhw.cn 浙ICP證030469號 |