<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > I2C總線中上拉電阻、電源電壓、總線電容三者之間的

          I2C總線中上拉電阻、電源電壓、總線電容三者之間的

          作者: 時間:2016-09-12 來源:網(wǎng)絡(luò) 收藏

          在我們的實際設(shè)計中,需要清楚I2C的總線的兩個特征:

          本文引用地址:http://www.ex-cimer.com/article/201609/303555.htm

          1、串行數(shù)據(jù)SDA和串行時鐘SCL線都是雙向線路,通過一個電流源或上拉Rp 連接到正的+VDD,當總線空閑時這兩條線路都是高電平。連接到總線的器件輸出級必須是漏極開路或集電極開路才能執(zhí)行線與的功能。I2C 總線上數(shù)據(jù)的傳輸位速率,在標準模式下可達100kbit/s,快速模式(F/S)下可達400kbit/s,高速模式(Hs)下可達3.4Mbit /s。

          2、連接到相同總線的IC數(shù)量只受到總線的最大電容400pF限制。如果總線線路的負載電容升高,位速率將逐漸下降。

          總線規(guī)定使用非標準,不遵從I2C 總線系統(tǒng)電平規(guī)定的器件,必須將輸入電平連接到有上拉Rp 的VDD電壓。

          其中的一些術(shù)語描述如下:

          1,總線輸入電平的定義:低電平噪聲容限是0.1VDD,高電平噪聲容限是0.2VDD。VOL定義為在漏極開路 或集電極開路時,有3mA下拉電流時的低電平輸出電壓,最大值取VOLmax=0.4V,這個3mA是指定的最小下拉電流。在一定范圍內(nèi),下拉電流越大, 驅(qū)動能力越強。Rpmin是,即電源電壓越高,Rpmin值越高。Rpmax是負載電容的,總線電容越大,即負載越大,Rpmax越 低。

          2,總線電容是線路連接和管腳的總電容,規(guī)定總線輸入電流的最大值是10uA,同時規(guī)定了上升時間tr的最大值,由于高電平要求 0.2VDD的噪聲容限,這個輸入電流限制了Rp 的最大值??偟母唠娖捷斎腚娏魇荝pmax的。在電源電壓一定時,總的高電平輸入電流越大,Rpmax越小??偩€的負載電容和上拉的值決定了信號 的上升時間tr,規(guī)定

          trmax=300ns。時間常數(shù)等于源端阻抗和總線電容的乘積,上拉電阻太大會造成時間常數(shù)過大,從而使上升沿的斜率變小,增大了總線上升時間。

          小結(jié):

          1、上拉電阻Rp的值由三個參數(shù)決定:電源電壓、總線電容和連接器件的數(shù)量(輸入電流+漏電流)。

          2、總線電容Cb是一條總線線路連接和管腳的總,單位是pF。由于規(guī)定了上升時間,這個電容限制了上拉電阻Rp 的最大值,而電源電壓限制了上拉電阻Rp 的最小值,輸出級在VOLmax=0.4V 時指定的最小下拉電流是3mA。

          如果總線線路的電容負載升高,位速率將逐漸下降,總線的電容負載是400pF 時的,允許最大位速率是1.7Mbit/s ??偩€電容負載在100pF~400pF 時時序參數(shù)必須呈線性增加。



          評論


          相關(guān)推薦

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

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();