新聞中心

        EEPW首頁 > 手機與無線通信 > 設計應用 > 基于多機并口協議的多機通信

        基于多機并口協議的多機通信

        作者: 時間:2007-07-09 來源:網絡 收藏
        隨著單片機應用的不斷深入,由多個單片機構成的多機系統越來越多.多個單片機之間以多機技術進行信息交換構成一個整體。將單個單片機的工作分解到多個單片機來完成,一方面可以提高系統的各項性能,另一方面可以簡化系統的硬件設計。

        當進行遠距離傳輸時,一般采用異步串口,而近距離傳輸時可以采用并行口和同步串口。同步串口雖然速度低,但信號線少,用于低速小容量數據傳輸;并行口的傳輸速度較高,但信號線較多,用于高速大容量數據傳輸。

        本文在一般雙向的基礎上,參考多種單片機的總線接口,提出了簡單易行的多機,實現,多個單片機之間的高速數據。該占用信號線少,操作簡單。

        1 多機通信
        多機并口協議,規定了數據信號和控制信號,實現了3種總線操作模式,定義了總線操作時序。

        多機并口協議,定義了SET、A/D、W/R、D0~D7共11根信號線。其中:SET為寫入控制,主機或從機在下降沿將地址或數據發送到雙向并口D0~D7;W/R為讀/寫控制,W/R=0時表示主機讀從機,W/R=1時表示主機寫從機;A/D為地址/數據選擇控制,A/D=0時表示傳送數據,A/D=1時表示傳送地址;DO~D7為雙向數據地址總線,配合W/R和A/D進行地址和數據的雙向傳輸。通過W/R和A/D控制信號,實現了3種總線操作模式,如表1所列。

        2 協議的單片機模擬
        用單片機實現并口協議時,主機工作在查詢方式,從機工作在中斷方式,從機的SET信號必須接到從機的外部中斷引腳。

        控制位邏輯值的定義:
        #defincREAD O
        #dcfine WRIT l
        #define DATA O
        #define ADDR 1

        2.1 主機并口協議程序

        主機的多機并口信號線町以使用單片機的任意1個雙向并口和任意3根I/O,主機在查詢方式下主動與從機通信,對從機數據進行讀/寫。通過調用延時函數delay(),使主機和從機實現對SPI傳輸速度的控制。用戶程序只須調用PPI_ReadBuf()和PPI_WritBuf()函數可以對從機數據進行讀/寫。


        2.2 從機并口協議程序
        從機多機并口信號線中A/D和W/R可以使用單片機的任意I/O,為DO~D7分配一個雙向并口,但SET必須使用INT引腳.本設計使用了INTO引腳。從機的多機并口協議在中斷服務程序中實現,在中斷中配合主機實現數據的讀寫協議。本例中,數據存于buf緩沖區中。


        結語
        本文提出的并口協議實現了單片機之問的多機通信,該程序已在實際中得到應用。該協議可以在含有外部中斷的單片機上實現,也可用于CPLD上實現與單片機的通信。該方法簡單、可靠、成本低,有著較高的推廣價值。



        關鍵詞: 通信 協議 并口 基于

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 孟村| 阳曲县| 岢岚县| 太仓市| 沙河市| 盐边县| 漳浦县| 大姚县| 治多县| 泰顺县| 肇州县| 深圳市| 阳朔县| 夹江县| 蒲城县| 子洲县| 泸溪县| 开封县| 青阳县| 深泽县| 运城市| 柏乡县| 宣威市| 平阳县| 昭通市| 杭锦旗| 祥云县| 邳州市| 达州市| 无锡市| 康乐县| 新干县| 贞丰县| 永定县| 武汉市| 镇坪县| 维西| 缙云县| 高唐县| 蒲江县| 电白县|