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

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

基于I2C總線信號時序的詳細分析

0BFC_eet_china ? 2017-12-23 10:12 ? 次閱讀

總線空閑狀態 I2C總線總線的SDA和SCL兩條信號線同時處于高電平時,規定為總線的空閑狀態。此時各個器件的輸出級場效應管均處在截止狀態,即釋放總線,由兩條信號線各自的上拉電阻把電平拉高。
啟動信號 在時鐘線SCL保持高電平期間,數據線SDA上的電平被拉低(即負跳變),定義為I2C總線總線的啟動信號,它標志著一次數據傳輸的開始。啟動信號是一種電平跳變時序信號,而不是一個電平信號。啟動信號是由主控器主動建立的,在建立該信號之前I2C總線必須處于空閑狀態。
基于I2C總線信號時序的詳細分析

重啟動信號在主控器控制總線期間完成了一次數據通信(發送或接收)之后,如果想繼續占用總線再進行一次數據通信(發送或接收),而又不釋放總線,就需要利用重啟動Sr信號時序。重啟動信號Sr既作為前一次數據傳輸的結束,又作為后一次數據傳輸的開始。利用重啟動信號的優點是,在前后兩次通信之間主控器不需要釋放總線,這樣就不會丟失總線的控制權,即不讓其他主器件節點搶占總線。停止信號在時鐘線SCL保持高電平期間,數據線SDA被釋放,使得SDA返回高電平(即正跳變),稱為I2C總線的停止信號,它標志著一次數據傳輸的終止。停止信號也是一種電平跳變時序信號,而不是一個電平信號,停止信號也是由主控器主動建立的,建立該信號之后,I2C總線將返回空閑狀態。 不是在數據有效性中規定在SDA只能在SCL的低電平的時候變化,為何STAR,STOP不一樣?首先STAR和STOP不是數據,所以可以不遵守數據有效性中的規定,其它數據都遵守,而STAR和STOP“不遵守”導致STAR和STOP更容易被識別。這樣不是不遵守而是更有優勢。 起始和停止條件一般由主機產生,總線在起始條件后被認為處于忙的狀態,在停止條件的某段時間后總線被認為再次處于空閑狀態。 如果產生重復起始(Sr) 條件而不產生停止條件,總線會一直處于忙的狀態。此時的起始條件(S)和重復起始(Sr) 條件在功能上是一樣的。 如果連接到總線的器件合并了必要的接口硬件,那么用它們檢測起始和停止條件十分簡便。但是沒有這種接口的微控制器在每個時鐘周期至少要采樣SDA 線兩次來判別有沒有發生電平切換。

基于I2C總線信號時序的詳細分析

數據位傳送在I2C總線上傳送的每一位數據都有一個時鐘脈沖相對應(或同步控制),即在SCL串行時鐘的配合下,在SDA上逐位地串行傳送每一位數據。進行數據傳送時,在SCL呈現高電平期間,SDA上的電平必須保持穩定,低電平為數據0,高電平為數據1。只有在SCL為低電平期間,才允許SDA上的電平改變狀態。邏輯0的電平為低電壓,而邏輯1的電平取決于器件本身的正電源電壓VDD(當使用獨立電源時)。數據位的傳輸是邊沿觸發。

應答信號I2C總線上的所有數據都是以8位字節傳送的,發送器每發送一個字節,就在時鐘脈沖9期間釋放數據線,由接收器反饋一個應答信號。 應答信號為低電平時,規定為有效應答位(ACK簡稱應答位),表示接收器已經成功地接收了該字節;應答信號為高電平時,規定為非應答位(NACK),一般表示接收器接收該字節沒有成功。 對于反饋有效應答位ACK的要求是,接收器在第9個時鐘脈沖之前的低電平期間將SDA線拉低,并且確保在該時鐘的高電平期間為穩定的低電平。 如果接收器是主控器,則在它收到最后一個字節后,發送一個NACK信號,以通知被控發送器結束數據發送,并釋放SDA線,以便主控接收器發送一個停止信號P。

基于I2C總線信號時序的詳細分析

插入等待時間 如果被控器需要延遲下一個數據字節開始傳送的時間,則可以通過把時鐘線SCL電平拉低并且保持,使主控器進入等待狀態。一旦被控器釋放時鐘線,數據傳輸就得以繼續下去,這樣就使得被控器得到足夠時間轉移已經收到的數據字節,或者準備好即將發送的數據字節。帶有CPU的被控器在對收到的地址字節做出應答之后,需要一定的時間去執行中斷服務子程序,來分析或比較地址碼,其間就把SCL線鉗位在低電平上,直到處理妥當后才釋放SCL線,進而使主控器繼續后續數據字節的發送。

基于I2C總線信號時序的詳細分析

總線封鎖狀態 在特殊情況下,如果需要禁止所有發生在I2C總線上的通信活動,封鎖或關閉總線是一種可行途徑,只要掛接于該總線上的任意一個器件將時鐘線SCL鎖定在低電平上即可。總線競爭的仲裁 總線上可能掛接有多個器件,有時會發生兩個或多個主器件同時想占用總線的情況,這種情況叫做總線競爭。I2C總線具有多主控能力,可以對發生在SDA線上的總線競爭進行仲裁,其仲裁原則是這樣的:當多個主器件同時想占用總線時,如果某個主器件發送高電平,而另一個主器件發送低電平,則發送電平與此時SDA總線電平不符的那個器件將自動關閉其輸出級。總線競爭的仲裁是在兩個層次上進行的。首先是地址位的比較,如果主器件尋址同一個從器件,則進入數據位的比較,從而確保了競爭仲裁的可靠性。由于是利用I2C總線上的信息進行仲裁,因此不會造成信息的丟失。 為何識別到“0”將丟失仲裁呢?因為對于OD門,只能驅動到低電平,釋放總線只能通過不驅動總線釋放,停止驅動即產生“1”,但是發現總線還是“0”,這說明還有主機在跟自己競爭總線使用權,自己線驅動到“1”,確檢測到“0”,那代表自己已經失去了仲裁。 主機只能在總線空閑的時侯啟動傳送。兩個或多個主機可能在起始條件的最小持續時間tHD;STA 內產生一個起始條件,結果在總線上產生一個規定的起始條件。 當SCL 線是高電平時,仲裁在SDA 線發生;這樣,在其他主機發送低電平時,發送高電平的主機將斷開它的數據輸出級,因為總線上的電平與它自己的電平不相同。然后,進一步獲得其的判定條件: 仲裁可以持續多位。首先是比較地址位。如果每個主機都試圖尋址同一的器件,仲裁會繼續比較數據位(假設主機是發送器),或者比較響應位(假設主機是接收器)。 I2C 總線的地址和數據信息由贏得仲裁的主機決定,在仲裁過程中不會丟失信息。丟失仲裁的主機可以產生時鐘脈沖直到丟失仲裁的該字節末尾。 在串行傳輸過程中時,一旦有重復的起始條件或停止條件發送到I2C 總線的時侯,仲裁過程仍在進行。如果可能產生這樣的情況,有關的主機必須在幀格式相同位置發送這個重復起始條件或停止條件。 此外,如果主機也結合了從機功能,而且在尋址階段丟失仲裁,它很可能就是贏得仲裁的主機在尋址的器件。那么,丟失仲裁的主機必須立即切換到它的從機模式。 I2C 總線的控制只由地址或主機碼以及競爭主機發送的數據決定,沒有中央主機,總線也沒有任何定制的優先權。

基于I2C總線信號時序的詳細分析

上圖顯示了兩個主機的仲裁過程當然可能包含更多的內容由連接到總線的主機數量決定此時產生DATA1 的主機的內部數據電平與SDA 線的實際電平有一些差別如果關斷數據輸出這就意味著總線連接了一個高輸出電平這不會影響由贏得仲裁的主機初始化的數據傳輸。時鐘信號的同步 在I2C總線上傳送信息時的時鐘同步信號是由掛接在SCL線上的所有器件的邏輯“與”完成的。SCL線上由高電平到低電平的跳變將影響到這些器件,一旦某個器件的時鐘信號下跳為低電平,將使SCL線一直保持低電平,使SCL線上的所有器件開始低電平期。此時,低電平周期短的器件的時鐘由低至高的跳變并不能影響SCL線的狀態,于是這些器件將進入高電平等待的狀態。當所有器件的時鐘信號都上跳為高電平時,低電平期結束,SCL線被釋放返回高電平,即所有的器件都同時開始它們的高電平期。其后,第一個結束高電平期的器件又將SCL線拉成低電平。這樣就在SCL線上產生一個同步時鐘。可見,時鐘低電平時間由時鐘低電平期最長的器件確定,而時鐘高電平時間由時鐘高電平期最短的器件確定。


聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 信號
    +關注

    關注

    11

    文章

    2791

    瀏覽量

    76835
  • I2C總線
    +關注

    關注

    8

    文章

    391

    瀏覽量

    60988

原文標題:I2C總線信號時序總結

文章出處:【微信號:eet-china,微信公眾號:電子工程專輯】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    I2C讀寫時序分析和實現思路

    上篇推文對I2C總線的特性進行了介紹和描述。對于開發者而言,最重要的是編碼I2C的讀寫時序驅動。本篇推文主要總結和分享I2C
    發表于 10-01 16:54 ?1851次閱讀
    <b class='flag-5'>I2C</b>讀寫<b class='flag-5'>時序</b><b class='flag-5'>分析</b>和實現思路

    i2c總線ppt(I2C總線器件應用)

    I2C總線器件應用第一節 I2C總線器件應用概述I2C總線工作原理
    發表于 08-13 17:34 ?0次下載

    i2c總線技術 (非常詳細)

    i2c總線技術:2 I2C 總線使設計人員和廠商都得益.. 32.1 設計人員的得益.. 42.2 廠商的得益. 53 介紹
    發表于 03-25 08:58 ?62次下載

    I2C總線應用中的幾個問題

    I2C總線應用中的幾個問題:i2c上拉電阻阻值的確定,PCB布局布線與抗干擾設計,軟件模擬I2C時序,I
    發表于 09-13 14:27 ?51次下載
    <b class='flag-5'>I2C</b><b class='flag-5'>總線</b>應用中的幾個問題

    用Verilog HDL實現I2C總線功能

    簡述了I2C總線的特點;介紹了開發FPGA時I2C總線模塊的設計思想;給出并解釋了用Verilog HDL實現部分I2C
    發表于 10-19 10:49 ?104次下載

    什么是i2c總線

    什么是i2c總線  下載請點擊: i2c總線協議中文版 
    發表于 11-05 09:26 ?2924次閱讀

    用Verilog HDL實現I2C總線功能

    摘要: 簡述了I2C總線的特點;介紹了開發FPGA時I2C總線模塊的設計思想;給出并解釋了用Verilog HDL實現部分I2C
    發表于 06-20 13:17 ?6902次閱讀
    用Verilog HDL實現<b class='flag-5'>I2C</b><b class='flag-5'>總線</b>功能

    基于CPLD的I2C總線接口設計

    在電路設計中,I2C總線是比較常用的兩線式串行通信方式,大多數的CPU都擅長于并口操作,不具備直接操作I2C總線接口的能力。為了使不具備I2C
    發表于 02-12 16:11 ?95次下載
    基于CPLD的<b class='flag-5'>I2C</b><b class='flag-5'>總線</b>接口設計

    SPI總線I2C總線工作原理

    SPI總線I2C總線工作原理,本內容詳細介紹了SPI總線I2C
    發表于 12-08 16:55 ?0次下載

    I2C總線的結構、工作時序和模擬編程

    I2C總線的結構、工作時序和模擬編程
    發表于 10-24 14:34 ?13次下載
    <b class='flag-5'>I2C</b><b class='flag-5'>總線</b>的結構、工作<b class='flag-5'>時序</b>和模擬編程

    Linux驅動中的I2C驅動架構詳細分析

    的復雜度,不管是叫Linux I2C驅動還是單片機I2C驅動,其根本還是操作soc芯片內部的I2C模塊(也叫I2C adapter)(讀寫I2C
    發表于 08-01 17:35 ?3次下載
    Linux驅動中的<b class='flag-5'>I2C</b>驅動架構<b class='flag-5'>詳細分析</b>

    I2C總線的規范詳細說明

    本文檔的主要內容詳細介紹的是I2C總線的規范詳細說明
    發表于 09-30 17:29 ?18次下載
    <b class='flag-5'>I2C</b><b class='flag-5'>總線</b>的規范<b class='flag-5'>詳細</b>說明

    I2C總線物理拓撲結構_I2C總線協議解析

    I2C 總線在物理連接上非常簡單,分別由SDA(串行數據線)和SCL(串行時鐘線)及上拉電阻組成。通信原理是通過對SCL和SDA線高低電平時序的控制,來 產生I2C
    的頭像 發表于 09-24 14:12 ?6206次閱讀
    <b class='flag-5'>I2C</b><b class='flag-5'>總線</b>物理拓撲結構_<b class='flag-5'>I2C</b><b class='flag-5'>總線</b>協議解析

    i2c總線用來做什么_i2c總線數據傳輸過程

    I2C總線控制器為微控制器或微處理器提供控制I2C總線的接口,它控制所有I2C總線的特殊序列、協
    發表于 11-24 14:16 ?7290次閱讀

    嵌入式內核及驅動開發-09IIC子系統框架使用(I2C協議和時序I2C驅動框架,I2C從設備驅動開發,MPU6050硬件連接

    文章目錄I2c協議和時序I2c介紹I2c硬件連接I2c總線
    發表于 12-06 14:06 ?17次下載
    嵌入式內核及驅動開發-09IIC子系統框架使用(<b class='flag-5'>I2C</b>協議和<b class='flag-5'>時序</b>,<b class='flag-5'>I2C</b>驅動框架,<b class='flag-5'>I2C</b>從設備驅動開發,MPU6050硬件連接
    主站蜘蛛池模板: 国产成人精品日本亚洲直接| 美女黄网站人色视频免费国产 | 天天操夜夜欢| 可以直接看的黄址| 五月婷婷丁香在线观看| 伊人久久影视| 快播久久| 国产一区二区三区美女在线观看 | 亚洲一区二区精品视频| 久久天天操| 伊人网在线视频| 五月国产综合视频在线观看| 第四色激情| 欧美十次| 色综合天天射| 亚洲色图久久| 黄网站色在线视频免费观看| 日本69sex护士hd| 免费看一级黄色录像| 午夜精品视频在线看| 屁屁影院在线| 日韩第十页| 午夜免费毛片| 99色网站| 国产99色| 天天操天天碰| 性欧美精品| 欧美人与z0zoxxxx特| 国产性夜夜春夜夜爽| 免费三级pq| 欧美极品另类| 91九色蝌蚪在线| 一级一片免费播放| 狠狠色噜噜狠狠狠狠黑人| 五月婷婷在线视频观看| 性 色 黄 一级| 免费在线色| 九色视频播放| 黄色美女网站免费看| 黄色地址| 台湾一级毛片|