在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

英創(chuàng)信息技術(shù)I2C接口協(xié)議的簡介與用途

英創(chuàng)信息技術(shù) ? 來源:英創(chuàng)信息技術(shù) ? 作者:佚名 ? 2019-10-31 15:24 ? 次閱讀

I2C總線介紹

I2C(Inter-Integrated Circuit)總線是由Philips公司開發(fā)的一種雙向二線制同步串行總線,它只需要兩條線(SDA,SCL)即可在連接于總線上的器件之間傳送信息。I2C總線的工作速率有100k、400k和4M三種,支持多機(jī)通訊,支持多主控模塊但同一時(shí)刻只允許有一個(gè)主控端。

SCL(Serial Clock):邊沿觸發(fā)方式,上升沿將數(shù)據(jù)輸入到EEPROM,下降沿驅(qū)動EEPROM輸出數(shù)據(jù)。

SDA(Serial Data Line):雙向數(shù)據(jù)線,OD門,每次傳輸8bit。

成都英創(chuàng)ETA202 I2C矩陣鍵盤擴(kuò)展模塊

I2C總線中主要定義如下:

發(fā)送機(jī)(Transmitter):向總線傳輸數(shù)據(jù)的設(shè)備。

接收機(jī)(Receiver):從總線接收數(shù)據(jù)的設(shè)備。

主機(jī)(Master):產(chǎn)生時(shí)鐘、啟動發(fā)送、發(fā)送I2C命令、停止發(fā)送的設(shè)備。

從機(jī)(Slave):監(jiān)聽總線并且被主機(jī)尋址的設(shè)備。

多主控(Multi-master):總線上可以有多個(gè)主機(jī),每一個(gè)都可以發(fā)送命令。

仲裁(Arbitration):在有多個(gè)主機(jī)同時(shí)嘗試控制總線時(shí),只允許其中一個(gè)控制總線并使報(bào)文不被破壞的過程。

同步():兩個(gè)或多個(gè)設(shè)備同步時(shí)鐘信號的過程。

SCL和SDA信號都是雙向的,他們通過電阻連接到電源上,總線空閑時(shí)兩條線都處于高電平狀態(tài)。I2C總線上的設(shè)備都必須有集電極開路或者漏極開路管腳,激活總線意味著拉低其電平。單個(gè)總線上的設(shè)備數(shù)量幾乎是無限的,唯一的要求是總線電容不超過400pF。由于邏輯1取決于電源電壓的大小,因此沒有標(biāo)準(zhǔn)的總線電壓。

I2C總線掛載設(shè)備示意圖

I2C時(shí)序分析

總線空閑

SDA和SCL兩條信號線都處于高電平,即總線上所有的器件都釋放總線,兩條信號線的上拉電阻把電平拉高。

啟動信號START

時(shí)鐘信號SCL保持高電平,數(shù)據(jù)信號SDA的電平被拉低。啟動信號必須是跳變信號,而且在建立該信號前必須保證總線處于空閑狀態(tài)。

停止信號STOP

時(shí)鐘信號SCL保持高電平,數(shù)據(jù)線被釋放,使SDA返回高電平,停止信號也必須是跳變信號。

I2C啟動信號START與停止信號STOP

應(yīng)答信號ACK

發(fā)送器每發(fā)送一個(gè)字節(jié)之后,在時(shí)鐘的第9個(gè)脈沖期間釋放數(shù)據(jù)總線,由接收器發(fā)送一個(gè)應(yīng)答信號ACK(將SDA的電平拉低)來表示數(shù)據(jù)成功接收。

無應(yīng)答信號NACK

在時(shí)鐘的第9個(gè)脈沖期間發(fā)送器釋放數(shù)據(jù)總線,而接收器不拉SDA電平,則表示一個(gè)無應(yīng)答信號NACK,NACK有兩種用途:

(1)一般表示接收器未成功接收數(shù)據(jù)字節(jié)。

(2)當(dāng)接收器是主機(jī)時(shí),它收到最后一個(gè)字節(jié)后,應(yīng)發(fā)送一個(gè)NACK信號,以通知從機(jī)結(jié)束數(shù)據(jù)發(fā)送,并釋放總線,以便主機(jī)發(fā)送停止信號STOP。

數(shù)據(jù)傳輸

每個(gè)時(shí)鐘脈沖傳輸1比特?cái)?shù)據(jù)。SDA信號只在SCL處于低電平時(shí)變化,SCL處于高電平期間,SDA電平必須保持穩(wěn)定。

I2C數(shù)據(jù)傳輸時(shí)SDA與SCL電平變化情況

I2C數(shù)據(jù)傳輸流程

I2C總線協(xié)議

基本工作原理

主設(shè)備以啟動信號START來掌管總線,以停止信號STOP來釋放總線。主設(shè)備啟動的每一個(gè)I2C命令均以START開始,以STOP結(jié)束。

啟動信號START后緊接著發(fā)送一個(gè)地址字節(jié),其中7位為被控器件的地址碼,一位為讀/寫控制位R/W。R/W為0表示主機(jī)向從機(jī)寫數(shù)據(jù),R/W為1表示主機(jī)從從機(jī)讀取數(shù)據(jù)。當(dāng)從機(jī)檢測到收到的地址與自己的地址相同時(shí),在第9個(gè)時(shí)鐘期間反饋應(yīng)答信號。每個(gè)數(shù)據(jù)字節(jié)在傳送時(shí)都是高位(MSB)在前。

I2C基本工作流程

寫數(shù)據(jù)過程

1、主機(jī)檢測到總線空閑之后,發(fā)送啟動信號START信號掌管總線。

2、主機(jī)發(fā)送一個(gè)地址字節(jié)(包括7位地址碼和1位R/W)。

3、當(dāng)從機(jī)檢測到主機(jī)發(fā)送的地址與自己的地址相同以后,發(fā)送應(yīng)答信號(ACK)。

4、主機(jī)收到應(yīng)答信號ACK后,開始發(fā)送第一個(gè)數(shù)據(jù)字節(jié)。

5、從機(jī)收到數(shù)據(jù)字節(jié)后,發(fā)送應(yīng)答信號ACK表示繼續(xù)傳送數(shù)據(jù),發(fā)送NACK表示數(shù)據(jù)傳送結(jié)束。

6、主機(jī)發(fā)送完全部數(shù)據(jù)后,發(fā)送停止信號STOP,結(jié)束通訊并釋放總線。

讀通訊過程

1、主機(jī)檢測到總線空閑之后,發(fā)送啟動START信號掌管總線。

2、主機(jī)發(fā)送一個(gè)地址字節(jié)(包括7位地址碼和1位R/W)。

3、當(dāng)從機(jī)檢測到主機(jī)發(fā)送的地址與自己的地址相同以后,發(fā)送應(yīng)答信號ACK。

4、主機(jī)收到應(yīng)答信號ACK后釋放數(shù)據(jù)總線,開始接收第一個(gè)數(shù)據(jù)字節(jié)。

5、主機(jī)收到數(shù)據(jù)字節(jié)后,發(fā)送應(yīng)答信號ACK表示繼續(xù)傳送數(shù)據(jù),發(fā)送NACK表示數(shù)據(jù)傳送結(jié)束。

6、主機(jī)完成接收以后,發(fā)送停止信號STOP,結(jié)束通訊并釋放總線。

同步

每個(gè)主機(jī)必須生成自己的時(shí)鐘信號,只有當(dāng)時(shí)鐘信號電平為低時(shí),數(shù)據(jù)才能改變。執(zhí)行總線仲裁必須有同步時(shí)鐘。當(dāng)某個(gè)主機(jī)拉低時(shí)鐘電平時(shí),時(shí)鐘會并保持低電平,直到所有主機(jī)均將時(shí)鐘拉至高電平。同樣,時(shí)鐘會處于高電平狀態(tài),直到第一個(gè)主機(jī)將其拉低。這樣,通過觀察SCL信號,主設(shè)備可以同步它們的時(shí)鐘。

仲裁

對于I2C總線上的正常數(shù)據(jù)傳輸過程而言,只允許一個(gè)主機(jī)進(jìn)行控制。如果出于某種原因,兩個(gè)主機(jī)同時(shí)啟動I2C命令,則仲裁過程決定哪個(gè)主機(jī)獲得控制權(quán)并且可以繼續(xù)執(zhí)行命令。仲裁是通過SDA信號執(zhí)行的,此時(shí)SCL信號處于高電平。每個(gè)主機(jī)檢查總線上的SDA信號是否對應(yīng)于自己生成的SDA信號。如果總線上的SDA信號應(yīng)該是高電平但它卻處于低電平,那么這個(gè)主機(jī)就在仲裁過程中失敗。仲裁失敗的I2C主設(shè)備可以產(chǎn)生SCL脈沖直到字節(jié)結(jié)束,然后必須釋放總線并進(jìn)入從設(shè)備模式。仲裁過程可以持續(xù)到所有數(shù)據(jù)傳輸完畢以后。這意味著在多主機(jī)系統(tǒng)中,每個(gè)I2C主機(jī)必須監(jiān)控I2C總線并執(zhí)行相關(guān)操作。

I2C總線典型電路

現(xiàn)在的ARM CPU芯片普遍直接支持I2C總線,直接從CPU中將相應(yīng)管腳引出,即可以外接I2C功能模塊或者芯片,然后通過軟件進(jìn)行控制操作。

下圖為一個(gè)典型的I2C應(yīng)用擴(kuò)展(成都英創(chuàng)ETA202 I2C矩陣鍵盤擴(kuò)展模塊部分電路),使用TCA8418芯片擴(kuò)展出8x8矩陣鍵盤。直接將SDA、SCL、鍵盤中斷信號KEY_INT#和復(fù)位信號RST#接入芯片,并接上電源和地,即可以控制8x8矩陣鍵盤。

I2C總線在英創(chuàng)主板平臺上的應(yīng)用

支持I2C接口的芯片都可以直接和英創(chuàng)主板連接,并執(zhí)行相應(yīng)的功能。歷年來,大量用戶使用英創(chuàng)主板進(jìn)行I2C應(yīng)用和數(shù)據(jù)處理,英創(chuàng)也累積了豐富的工程經(jīng)驗(yàn)。下面整理出了英創(chuàng)網(wǎng)站發(fā)表的相關(guān)技術(shù)文檔供用戶參考。雖然有一些方案文檔中提到的英創(chuàng)主板是較老的型號,用戶在新產(chǎn)品開發(fā)的時(shí)候未必會使用這些老主板產(chǎn)品,但是文中的軟硬件使用技巧、編程技巧和方法等技術(shù)細(xì)節(jié),是值得用戶參考或者直接使用的。

使用方法與技巧

英創(chuàng)工業(yè)主板EM9160的GPIO應(yīng)用于I2C通訊嵌入式Linux工控板EM9160的I2C功能及其應(yīng)用

EM9170工控主板I2C總線使用方法JAVA操作英創(chuàng)主板I2C接口簡介

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報(bào)投訴
  • Linux
    +關(guān)注

    關(guān)注

    87

    文章

    11314

    瀏覽量

    209807
  • 嵌入式主板
    +關(guān)注

    關(guān)注

    7

    文章

    6085

    瀏覽量

    35427
收藏 人收藏

    評論

    相關(guān)推薦

    JAVA操作創(chuàng)主板I2C接口簡介

    訪問硬件資源,創(chuàng)提供了Java硬件支持包,主要支持的工控接口有:以太網(wǎng)、串口、CAN、GPIO、SPI、I2C、RTC等。本文主要介紹使用Java語言調(diào)用
    發(fā)表于 10-20 13:20

    I2C簡介

    一.I2C 簡介I2C(內(nèi)部集成電路)總線接口用作微控制器和 I2C 串行總線之間的接口。它提供
    發(fā)表于 08-10 08:10

    I2C通訊協(xié)議簡介

    I2C簡介I2C 通訊協(xié)議(Inter-Integrated Circuit)是由Phiilps公司開發(fā)的,由于它引腳少,硬件實(shí)現(xiàn)簡單,可擴(kuò)展性強(qiáng),不需要USART、CAN等通訊
    發(fā)表于 08-19 07:00

    I2C協(xié)議簡介

    這里寫自定義目錄標(biāo)題一、I2C 協(xié)議簡介二、I2C的分類1、軟件I2C2、硬件I2C3、區(qū)別三、
    發(fā)表于 08-23 07:27

    I2C協(xié)議簡介

    I2C協(xié)議簡介協(xié)議 (計(jì)算機(jī)學(xué)科概念)對于通訊協(xié)議,我們以分層的方式來理解,分為物理層和協(xié)議層。
    發(fā)表于 01-12 07:25

    I2C總線接口模塊設(shè)計(jì)

    本實(shí)驗(yàn)是基于EasyFPGA030的I2C總線接口模塊設(shè)計(jì),用EasyFPGA030開發(fā)套件通過I2C協(xié)議實(shí)現(xiàn)對二線制I2C串行EEPROM
    發(fā)表于 11-02 17:01 ?41次下載

    電平轉(zhuǎn)換在I2C總線中的應(yīng)用()

    電平轉(zhuǎn)換在I2C總線中的應(yīng)用()
    發(fā)表于 07-23 16:16 ?29次下載

    LPC1100 I2C 接口技術(shù)與可靠性設(shè)計(jì)(I2C器件應(yīng)用方案

    LPC1100 I2C 接口技術(shù)與可靠性設(shè)計(jì)(I2C器件應(yīng)用方案
    發(fā)表于 09-29 19:11 ?6次下載
    LPC1100 <b class='flag-5'>I2C</b> <b class='flag-5'>接口技術(shù)</b>與可靠性設(shè)計(jì)(<b class='flag-5'>I2C</b>器件應(yīng)用方案

    LPC1100 I2C 接口技術(shù)與可靠性設(shè)計(jì)I2C器件應(yīng)用方案

    LPC1100 I2C 接口技術(shù)與可靠性設(shè)計(jì)I2C器件應(yīng)用方案
    發(fā)表于 10-09 09:26 ?8次下載
    LPC1100 <b class='flag-5'>I2C</b> <b class='flag-5'>接口技術(shù)</b>與可靠性設(shè)計(jì)<b class='flag-5'>I2C</b>器件應(yīng)用方案

    創(chuàng)信息技術(shù)EM9170工控主板I2C總線介紹

    的兩條信號線上均要加上拉電阻才能正常使用I2C功能。 在CE6.0操作系統(tǒng)中,I2C資源的使用,需要系統(tǒng)驅(qū)動程序作為支持。所以使用時(shí),可以反復(fù)調(diào)用DeviceIoControl來實(shí)現(xiàn)。為了方便使用,
    的頭像 發(fā)表于 01-14 15:00 ?1633次閱讀

    創(chuàng)信息技術(shù)JAVA操作創(chuàng)主板SPI接口簡介

    資源,創(chuàng)提供了Java硬件支持包,主要支持的工控接口有:以太網(wǎng)、串口、CAN、GPIO、SPI、I2C、RTC等。本文主要介紹使用Java語言調(diào)用
    的頭像 發(fā)表于 02-06 11:09 ?1939次閱讀
    <b class='flag-5'>英</b><b class='flag-5'>創(chuàng)</b><b class='flag-5'>信息技術(shù)</b>JAVA操作<b class='flag-5'>英</b><b class='flag-5'>創(chuàng)</b>主板SPI<b class='flag-5'>接口</b><b class='flag-5'>簡介</b>

    創(chuàng)信息技術(shù)JAVA操作創(chuàng)主板I2C接口簡介

    資源,創(chuàng)提供了Java硬件支持包,主要支持的工控接口有:以太網(wǎng)、串口、CAN、GPIO、SPI、I2C、RTC等。本文主要介紹使用Java語言調(diào)用
    的頭像 發(fā)表于 02-06 11:06 ?1703次閱讀
    <b class='flag-5'>英</b><b class='flag-5'>創(chuàng)</b><b class='flag-5'>信息技術(shù)</b>JAVA操作<b class='flag-5'>英</b><b class='flag-5'>創(chuàng)</b>主板<b class='flag-5'>I2C</b><b class='flag-5'>接口</b><b class='flag-5'>簡介</b>

    創(chuàng)信息技術(shù)工控主板接口與應(yīng)用需求對應(yīng)表

    通訊接口 以太網(wǎng)口 所有創(chuàng)主板型號 標(biāo)準(zhǔn)配置為2路以太網(wǎng)口 異步串口 RS485 / RS232是常用的接口形式 CAN總線
    的頭像 發(fā)表于 02-07 10:53 ?1266次閱讀
    <b class='flag-5'>英</b><b class='flag-5'>創(chuàng)</b><b class='flag-5'>信息技術(shù)</b>工控主板<b class='flag-5'>接口</b>與應(yīng)用需求對應(yīng)表

    什么是I2C協(xié)議

    I2C協(xié)議是一個(gè)允許多個(gè) “從機(jī)” 芯片和一個(gè)或更多的 “主機(jī)” 芯片進(jìn)行通訊的協(xié)議。它就像串行外設(shè)接口(SPI)一樣,只能用于短距離通信。又像異步串行
    發(fā)表于 10-11 16:46 ?4532次閱讀

    什么是I2C協(xié)議

    I2C協(xié)議是一個(gè)允許多個(gè) “從機(jī)” 芯片和一個(gè)或更多的 “主機(jī)” 芯片進(jìn)行通訊的協(xié)議。它就像串行外設(shè)接口(SPI)一樣,只能用于 **短距離通信** 。又像異步串行
    的頭像 發(fā)表于 02-17 10:58 ?2531次閱讀
    什么是<b class='flag-5'>I2C</b><b class='flag-5'>協(xié)議</b>?
    主站蜘蛛池模板: 美女屁屁免费视频网站| 性xxxfreexxxx性欧美| 永久免费影视在线观看| ts人妖另类国产| 在线国产播放| 天天爽夜夜爽精品免费| 日b毛片| 国产高清一级在线观看| 欧美ol丝袜高跟秘书在线播放 | 老色皮| 国产美女视频免费| 99色婷婷| 日本特黄特色aaa大片免费欧| 韩国午夜精品理论片西瓜| 欧美性一区| 黄网站视频观看免费| 天天久久影视色香综合网| 欧美一级在线观看播放| 2021国产精品午夜久久| 欧美极品一区| 国产在线欧美精品卡通动漫| 亚洲电影一区二区三区| 欧美婷婷色| 成人99| 狠狠色综合色综合网络| 中文字幕一区二区精品区| xxxx性xxxx| 色激情小说| 性欧美高清久久久久久久| 色婷婷电影| 久久a毛片| 天天做天天添天天谢| 放荡女同老师和女同学生| 性夜黄a爽影免费看| 五月综合激情网| 麻豆美女大尺度啪啪| 在线亚洲小视频| 激情狠狠干| 男女那啥的视频免费| 日本在线色视频| aaaaaaa毛片|