• <tr id="yyy80"></tr>
  • <sup id="yyy80"></sup>
  • <tfoot id="yyy80"><noscript id="yyy80"></noscript></tfoot>
  • 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)盟
    涪陵区| 平安县| 吉木乃县| 黄大仙区| 竹北市| 曲周县| 水富县| 清河县| 民权县| 昌宁县| 鄯善县| 朔州市| 邛崃市| 柘城县| 尤溪县| 西乌| 丰原市| 南投县| 武乡县| 额济纳旗| 图片| 珠海市| 达尔| 敖汉旗| 林西县| 华宁县| 利辛县| 赞皇县| 永登县| 德保县| 隆德县| 平和县| 祁连县| 南木林县| 原平市| 行唐县| 康定县| 屯门区| 钟山县| 蓝山县| 康平县|