新聞中心

EEPW首頁 > 模擬技術(shù) > 專題 > 用I2C總線擴(kuò)展I/O

用I2C總線擴(kuò)展I/O

作者: 時間:2008-02-01 來源:電子產(chǎn)品世界 收藏

  在系統(tǒng)應(yīng)用中,需監(jiān)控不同的輸入信號或控制幾個輸出信號,有時把這些信號線直接連接到微處理器引腳。這些監(jiān)控和控制用軟件來做。然而,這種技術(shù)需要很多微處理器引腳。

本文引用地址:http://www.butianyuan.cn/article/78555.htm

  為了節(jié)省微處理器引腳,另一種可采用的方法是通過膠合邏輯接口實現(xiàn)監(jiān)控和控制線與微處理器的通信。采用這種方法,連接到微處理器引腳的連線較少。而開發(fā)這樣的系統(tǒng)比較麻煩和費時,因為需要更多的器件、更多的連線路由或更復(fù)雜的碼開發(fā)。

  本文給出監(jiān)控和控制幾個外設(shè)信號的良好方案,為接入并行總線提供一簡單經(jīng)濟(jì)的方法,為接口不同的電子器件提供方便的途徑。此方案是基于標(biāo)準(zhǔn)PCF8574和PCF8574A器件基礎(chǔ)上的。這些器件的地址是不同的。在此把這兩種器件當(dāng)做擴(kuò)展器。

  這種擴(kuò)展器具有1個2線通信總線,可與雙向數(shù)據(jù)傳輸?shù)?a class="contentlabel" href="http://www.butianyuan.cn/news/listbylabel/label/I2C">I2C主機(jī)接口。I2C總線由2條信號線和1條地線組成。信號線是雙向串行數(shù)據(jù)(SDA)線和雙向串行時鐘(SCL)線(見圖1)。SDA和SCL線經(jīng)上拉電阻連接正電源電壓。在總線閑置時,這兩條信號線上拉為高態(tài)。

圖1  I2C總線器件通過雙向SDA和SCL線連接到I2C總線上

  連接到I2C總線上的每個器件,根據(jù)其功能都具有自己的專門地址,每個器件可做為接收器或發(fā)送器??膳渲脭U(kuò)展器具有專門的7位地址。PCF8574  7位地址的前4位是0100,而PCF8574A是0111。低3位地址由器件引腳A2、A1、A0設(shè)置。因此,器件的完整的專門地址由A2、A1和A0設(shè)置。表1示出PCF8574和PCF8574A專門地址的各種可能設(shè)置。

  這種為器件設(shè)置專門地址的能力使得在同一I2C總線上可具有多達(dá)8個PCF8574和8個PCF8574A器件。因為每個器件具有8個引腳,所以采用PCF8574和PCF8574A可使單個I2C總線能控制多達(dá)128個。

  I2C與擴(kuò)展器的通信由主機(jī)進(jìn)行初始化,主機(jī)發(fā)送與主機(jī)通信的從器件的地址位。地址字節(jié)的第1部分由4位地址碼組成,對于PCF8574器件設(shè)置為0100、PCF8574A器件設(shè)置為0111。片選位(A2、A1、A0)跟在地址碼之后。這使得在1個總線上能用多達(dá)8個PCF8574和8個PCF8574A并能確定存取那個器件。對于所響應(yīng)的器件,其地址字節(jié)中的片選位必須對應(yīng)相應(yīng)A2、A1和A0引腳上的邏輯電平。圖2所示的電路用8個PCF8574和8個PCF8574A器件控制和監(jiān)視高達(dá)128個。

圖2  用PCF8574和PCF8574A實現(xiàn)I/O擴(kuò)展的電路

 



關(guān)鍵詞: I2C I/O

評論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉