• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

      一種I2C接口擴展器的設(shè)計

      2012-07-03 03:57:50邱永華
      關(guān)鍵詞:擴展性嵌入式總線

      邱永華

      (廣東女子職業(yè)技術(shù)學(xué)院,廣東 廣州 510450)

      0 引言

      嵌入式系統(tǒng)是當(dāng)前最熱門、最有發(fā)展前途的IT應(yīng)用技術(shù)之一,從隨身攜帶的MP3、語言復(fù)讀機、手機和PDA到家庭中的智能電視、智能冰箱和機頂盒,再到工業(yè)生產(chǎn)、娛樂中的機器人,無不采用嵌入式技術(shù)。

      串行擴展總線技術(shù)是嵌入式技術(shù)發(fā)展的一個顯著特點[1]。其中Philips公司推出的I2C總線最為著名。與并行擴展總線相比,串行擴展總線有突出的優(yōu)點:電路結(jié)構(gòu)簡單,程序編寫方便,易以實現(xiàn)用戶系統(tǒng)軟硬件的模塊比、標(biāo)準(zhǔn)化等。目前I2C總線技術(shù)已為許多著名公司所采用,并廣泛地應(yīng)用于各種嵌入式系統(tǒng)中。

      1 I2C總線簡介

      I2C(Inter-Integrated Circuit)總線是由 Philips公司開發(fā)的兩線式串行總線,用于連接微控制器及其外圍設(shè)備,是微電子通信控制領(lǐng)域廣泛采用的一種總線標(biāo)準(zhǔn)。它是同步通信的一種特殊形式,具有接口線少,控制方式簡單,器件封裝形式小,通信速率較高等優(yōu)點[2]。I2C總線的特征如下:

      1)只要求兩條總線線路:一條串行數(shù)據(jù)線(SDA),一條串行時鐘線(SCL);

      2)每個連接到總線的器件都可以通過唯一的地址和一直存在的、簡單的主機/從機關(guān)系軟件所設(shè)定的地址來識別,主機可以作為主機發(fā)送器或主機接收器來使用;

      3)它是一個真正的多主機總線,如果兩個或更多的主機同時初始化,數(shù)據(jù)傳輸就可以通過沖突檢測和仲裁來防止數(shù)據(jù)被破壞;

      4)串行的8位雙向數(shù)據(jù)傳輸位速率在標(biāo)準(zhǔn)模式下可達(dá)100 kbit/s,快速模式下可達(dá)400 kbit/s,高速模式下可達(dá)3.4 Mbit/s;

      5)連接到相同總線的IC數(shù)量僅受到總線的最大電容400 pF的限制。

      I2C總線實現(xiàn)了兩個芯片之間控制和數(shù)據(jù)信號的傳輸,它的應(yīng)用將芯片之間的連接線減小到了最少,大大提高了芯片之間連接的可靠性、穩(wěn)定性以及系統(tǒng)的抗干擾能力。擁有I2C總線的新型芯片幾乎可以不加任何外設(shè)就輕易地實現(xiàn)和總線的連接。嵌入式系統(tǒng)中常見的I2C總線連接方式如圖1所示。

      圖1 I2C總線系統(tǒng)連接圖

      2 I2C擴展器的設(shè)計

      為了提高系統(tǒng)的兼容性及可擴展性,目前越來越多的嵌入式系統(tǒng)都采用模塊化設(shè)計,即不再將所有的芯片都集成在一個嵌入式模塊上,而是把核心控制系統(tǒng)與外圍接口芯片分離成多個模塊,根據(jù)系統(tǒng)的不同需求來進行組裝和連接。模塊化的設(shè)計可以減少新產(chǎn)品的開發(fā)周期,節(jié)約開發(fā)成本,大大提升系統(tǒng)的兼容性和擴展性,能讓系統(tǒng)更好地適應(yīng)現(xiàn)場應(yīng)用的各種需求[3]。

      帶有I2C總線的嵌入式系統(tǒng)也常常把I2C總線擴展出去,控制模塊與I2C其它模塊間通過外部線纜進行連接,并可以通過連接不同的模塊來實現(xiàn)各種不同的功能。例如:對于一個溫度采集系統(tǒng),由于采集模塊常處于高溫或者低溫環(huán)境,為了保證控制模塊能夠長期穩(wěn)定地工作,常通過如圖2所示的方式將控制模塊與采集模塊進行連接,同時也可以根據(jù)現(xiàn)場系統(tǒng)的需求,方便地減少或者增加采集模塊來完成不同的功能。

      圖2 溫度采集系統(tǒng)連接圖

      采集模塊和控制模塊的分離可以很好地解決不同的應(yīng)用中采集模塊擴展的問題,但在擴展中同時也引出了新的問題:如接口數(shù)量,I2C器件地址沖突等。如果控制模塊上的接口數(shù)量過少,該模塊就不能應(yīng)用于大的系統(tǒng);如果接口數(shù)量過多,則在應(yīng)用于小系統(tǒng)時控制模塊又顯得過于臃腫。同時I2C器件的訪問是根據(jù)地址來區(qū)分的,即,如果一個系統(tǒng)中存在多個相同的模塊,并且這些模塊的I2C器件的地址相同,就會造成系統(tǒng)I2C通信異常[4]。

      為了解決上述問題,可以在控制模塊與采集模塊之間加一個I2C接口擴展器,這樣不僅可以縮小控制模塊,即可以將其I2C接口減少為一個,也可以解決I2C器件的地址沖突等問題,如圖3所示。

      圖3 I2C接口擴展器連接圖

      為了滿足各種系統(tǒng)的需求,可以根據(jù)系統(tǒng)的規(guī)模來選擇不同規(guī)格和接口數(shù)量的I2C接口擴展器[5]。I2C接口擴展器與系統(tǒng)控制模塊之間只有兩條I2C通信線進行連接,所以I2C模塊之間的切換必須通過I2C進行。I2C接口擴展器的簡單原理設(shè)計框圖如圖4所示:

      圖4 I2C接口擴展器原理圖

      如圖4所示,PCF8574是一種I2C數(shù)據(jù)串行轉(zhuǎn)并行的擴展器件,即可以將輸入的8位串行數(shù)據(jù)并行輸出。所以可以通過對PCF8574寫入不同數(shù)據(jù)控制PCF8574 8個并行IO的輸出狀態(tài)。SN74CBT3257是一種帶兩個雙輸入雙向的數(shù)字開關(guān),通過外部的控制信號可以隨意地切換輸入與輸出配對關(guān)系。

      將 PCF8574的并行輸出 IO連接到SN74CBT3257的開關(guān)控制信號上,即實現(xiàn)了通過I2C控制PCF8574來進行I2C端口的切換。如對PCF8574先后寫入 0×00和 0×80,就可以將PCF8574的最高位先拉低再置高,其它低7位狀態(tài)保持不變,即實現(xiàn)對SN74CBT3257的輸出口從A輸入口到B輸入口的切換。

      由于1片PCF8574有8個IO口,即可以輸出8個控制信號,所以最多可以控制8片SN74CBT3257,而1片 SN74CBT3257可以連接 4個不同的I2C接口,所以一片PCF8574最多可以連接32個I2C接口,在I2C地址都相同的情況下,最少也可以連接8個I2C地址相同的模塊。PCF8574本身的地址是通過外部電阻上下拉而選擇的,其地址配置管腳有3個,根據(jù)組合關(guān)系,在一條I2C總線上最多可以連接9片PCF8574,所以這種擴展器最大規(guī)模時最多可以連接288個不同地址的I2C器件,即使模塊的地址一樣,最少也可以連接72個I2C模塊。因此,可以根據(jù)系統(tǒng)大小設(shè)計出不同規(guī)格相適應(yīng)的I2C接口擴展器[6]。

      3 結(jié)束語

      基于PCF8574控制和SN74CBT3257切換開關(guān)的I2C接口擴展器的結(jié)構(gòu)簡單,擴展性強,具有非常高的實用性。唯一的缺點是需要修改控制軟件,切換時需要對PCF8574進行單獨控制,對軟件架構(gòu)比較完整的系統(tǒng)影響較大。此時,如果對于系統(tǒng)要求擴展性和速度不高的場所則可以用1片單片機進行轉(zhuǎn)換,而如果不計較系統(tǒng)成本則可以選擇CPLD,CPLD具有更好的擴展性及控制優(yōu)勢,這也是將I2C擴展器應(yīng)用于高端系統(tǒng)的研究方向。

      [1]牟浩.I2C總線控制器的設(shè)計 [J].科協(xié)論壇(下半月),2010,(10): 25.

      [2]龔向東,黃虹賓,劉春平.主從可配置I2C總線接口IP及其應(yīng)用 [J].電訊技術(shù),2010,(1):36.

      [3]邱永華,賀文健.開放式運動控制器人機界面的研究與設(shè)計 [J].計算機系統(tǒng)應(yīng)用,2011,(4):28-30.

      [4]陳穗光,葛建華.I2C總線接口協(xié)議設(shè)計及FPGA的實現(xiàn)[J].山西電子技術(shù),2006,(6):55-56.

      [5]譚平,劉建新.基于I2C總線的PIC單片機端口擴展技術(shù) [J].微計算機信息,2006,(17):21-23.

      [6]邱永華.智能蹺蹺板小車控制系統(tǒng)的設(shè)計 [J].電子產(chǎn)品可靠性與環(huán)境試驗,2011,29(1):10-12.

      猜你喜歡
      擴展性嵌入式總線
      基于PCI Express總線的xHC與FPGA的直接通信
      機載飛控1553B總線轉(zhuǎn)以太網(wǎng)總線設(shè)計
      搭建基于Qt的嵌入式開發(fā)平臺
      提高初中階段學(xué)生英語擴展性閱讀能力策略分析
      嵌入式軟PLC在電鍍生產(chǎn)流程控制系統(tǒng)中的應(yīng)用
      高中物理如何充分利用擴展性欄目
      比ITX還小華擎推首款Mini—STX主板
      電腦愛好者(2016年8期)2016-04-28 20:54:47
      網(wǎng)絡(luò)教學(xué)平臺的擴展性研究
      多通道ARINC429總線檢查儀
      Altera加入嵌入式視覺聯(lián)盟
      西乡县| 山阳县| 七台河市| 无为县| 英山县| 宜兰市| 聂荣县| 且末县| 临夏县| 富民县| 昆明市| 武夷山市| 巍山| 冕宁县| 綦江县| 寿宁县| 玛曲县| 铜川市| 白银市| 蓬安县| 巴林右旗| 太保市| 吴桥县| 通许县| 柳河县| 南部县| 江都市| 于田县| 波密县| 绩溪县| 武隆县| 江永县| 沙雅县| 土默特右旗| 和政县| 遂昌县| 丹棱县| 商城县| 嘉荫县| 伊春市| 松桃|