新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > 用I2C總線擴展I/O總線

        用I2C總線擴展I/O總線

        作者: 時間:2012-02-01 來源:網絡 收藏
          在需要監測多種輸入信號或者控制多種輸出信號的系統應用,有時需要將這些信號線直接連接到微處理器引腳,用軟件實現監測和控制。但這種方法可能需要使用很多微處理器引腳。

          為了減少使用微處理器引腳,有一個辦法就是通過膠合邏輯接口實現監測和控制信號線與微處理器通訊。但開發這種系統很麻煩,也很費時,因為需要的器件更多、連線更多、代碼編寫也更復雜。

          本文給出了監測和控制多外圍設備信號的一個好方案。采用該方案可訪問并行總線并與各種電子器件接口,具有簡單而且成本低的優點。該方法基于工業標準的PCF8574和PCF8574A器件,這些器件具有不同的I2C地址。本文稱這些器件為擴展器,討論其差異時,用器件名代替。

          擴展器有一條兩線I2C通訊總線,可與I2C主機接口進行雙向數據傳輸。

          線由兩條信號線和一條地線組成,信號線為一條雙向串行數據(SDA)線和一條雙向串行時鐘(SCL)線。SDA和SCL通過上拉電阻連接到正電源,總線空閑時,這兩條數據線都被拉高。

          連接到線上的各器件地址是惟一的,根據器件實現功能不同,可以分別作為接收器和(或)發送器使用。擴展器地址可設置為惟一的7位地址,PCF8574地址的前4位為0100,PCF8574A地址的前4位為0111。低3位由器件的A2、A1和A0引腳確定。因此,器件的全部惟一地址由A2,A1,和A0引腳確定。表中給出了PCF8574和PCF8574A各種不同的地址設置。

          器件的設置惟一地址的能力使得在同一線上可連接8個的PCF8574和8個PCF8574A。因各器件I/O引腳有8個,如果使用PCF8574和PCF8574A,用一根I2C總線可控制128個I/O。

          I2C與擴展器之間的通訊由主機控制,主機發出需要通訊的從器件地址。地址字節的第一部分是4位地址碼,對于PCF8574,為0100;對PCF8574A,為0111。該地址代碼后是3個片選位(A2,A1,和A0),片選位可選擇訪問總線上多達8個PCF8574和8個PCF8574A中的一個。地址字節的片選位必須與對應A2,A1,和A0引腳的邏輯電平一致。圖為使用8個PCF8574和8個PCF8574A控制和監測多達128個I/O的電路。



        關鍵詞: I2C總 IO總線

        評論


        技術專區

        關閉
        主站蜘蛛池模板: 临夏县| 衡山县| 元谋县| 滨州市| 印江| 房产| 罗甸县| 寿光市| 安塞县| 葫芦岛市| 水城县| 铁岭县| 云梦县| 临颍县| 博爱县| 琼结县| 林周县| 林芝县| 河池市| 博兴县| 长汀县| 深水埗区| 准格尔旗| 固安县| 谢通门县| 濮阳县| 台东县| 耒阳市| 巴彦县| 嵩明县| 营口市| 永寿县| 平凉市| 松阳县| 滨州市| 高平市| 罗定市| 平安县| 灵寿县| 平度市| 沂水县|