色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

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

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

3天內不再提示

I2C和電源的關系

h1654155971.8456 ? 來源:lq ? 2018-12-13 10:39 ? 次閱讀

前面說的“I2C七宗罪之第一罪”和復位有關系, 這一次我們來說說:

I2C和電源的關系

提到電源大家的心理通常是緊張滴,不自覺地發(fā)問:是不是問題很嚴重?是的, 非常嚴重, 而且通過軟件是沒有辦法解決的。我們先來看下面這張簡圖:

1.系統(tǒng)有風扇,12V供電

2.Fan和CPU之間有轉速檢測TACH和轉速控制PWM信號;

3.CPU左邊有一個顆I2C EXPANDER,用來做GPIO擴展的;

4.DC-DC產(chǎn)生VCC-3.3V分別供給CPU和I2C Expander。

乍一看,也沒啥問題??!俗話說得好,平靜的水面下暗流涌動啊,我先來給大家一點點提示,看看誰能先猜到問題所在,我們來看看CPU PWM/TACH內部結構。

這個也沒有啥問題啊, 我們都知道IBIS buffer的樣子如下,這個在網(wǎng)絡上隨便google或者度娘,到處都是啊。

這些看起來都沒有什么問題,可是偏偏我們把這里的CPU(MCU)和風扇放在一起就出問題了,看看下面這張示意圖,你也許會開始有feel:

我們從電源的上電順序開始:

1.插入12V電源,F(xiàn)an先開始運轉,注意此時DC-DC還沒有開始工作,也就是說VCC-3.3V還沒有產(chǎn)生;

2.由于風扇的12V先上電,PWN/TACH信號線已經(jīng)有電了,于是通過圖中MCU的保護二極管(上管)對3.3V充電;

3.注意此時DC-DC仍然還沒有工作,但是3.3V已經(jīng)開始升壓,但是來源不是DC-DC Buck,而且來自Fan的I/O管腳漏過來的;

4.此時DC-DC電源開始工作,由于同步整流的電源BUCK都需要自舉,也就說我們通常所說的Bootstrap的電路,下管的MOSFET要先打開(關于電源部分我們后面再詳細敘述),產(chǎn)生的后果是把原先I/O漏過來的電壓拉到地;

5.Bootstrap電路開始工作后,DC-DC開始正式工作,從0開始產(chǎn)生VCC-3.3V。

于是我們就看了如上圖的波形, 圖中綠色的就是3.3V, 12V電源插入瞬間開始上升,然后在某一個時間,突然下降到0, 再重新上升到3.3V, 電源完成上電。

說到這, 有人開始問了,你不是討論I2C嗎? 怎么和我們討論起3.3V電源來了???別急別急, 事情都是慢慢明朗起來的。

如果此時你回去看最上面的第一張圖,那么你就發(fā)現(xiàn)圖中有一個I2C Expander,對了,問題就出自這里,通過我們從上面的討論,我們已經(jīng)知道, 3.3V的上電不是一帆風順的,而是會有一個Spike,也就是一個倒鉤。如下面所示:

我再來給一張清晰一點圖,VCC每次上電都是先被12V-Fan I/O充電,然后跌落到地,在爬升會3.3V, 原因上面我已經(jīng)給出詳細的解釋,那么又有人問了,這個會有什么問題嗎?我先明確的回答,會出大問題。

我先來貼一段英文,我非常強烈建議大家平時工作中要養(yǎng)成讀英文論文的習慣,我倒不是崇洋媚外,老外那些大牛的文章,真的讓你覺得很精妙, 有時候自己翻譯成中文總覺得怪怪的,生怕曲解了大牛的原意,所以還是老老實實去讀原版文章,不要翻譯成中文。

If by any chance, the TACH pin is pulled or driven high while the Expander VCC is not applied (which should not be allowed during normal operation), the Expander could be powered up from the TACH pin through the connected internal diode between the pin and VCC. Such false power-up events do not ensure the required power supply to Expander the POR would not be ensured, and a lockup may occur.

Point和上面的英文意思差不多,就是I2C Expander(我們這里是CPU)被別的電路 通過I/O管腳商店了。我們先來把這顆粒I2C expander的內部電路給畫一下, 我們看到這顆芯片沒有外部復位pin腳,所以一般內部會有一個簡單設計的POR電路:

我們看到,當3.3V VCC上電有倒鉤時,由于Fan通過TACH/PWM對I2C expander提前上電, 然后突然又倒回來, 在這個過程中有兩件事是不確定的:

The POR brings the Expander to a known working state (the default condition) by initializing the internal storage elements (flip-flops) and recognizing its connections (such as identifying the status of pins A1 and A0 as high or low, which is how the Expander slave address can be decided). Without the POR feature, the Expander may start up in a random state and thus may cause a lockup.

1.I2C expander是不是已經(jīng)上電成功了?我們不知道,因為3.3V上電到了半山腰又倒回來,此時芯片內部的POR是不是對芯片完成內部復位我們不清楚,不僅如此I2C expander有沒有準確鎖定外部的strap pin腳的狀態(tài),我們也不清楚;

2.由于不能確定是否完成內部存儲單元(觸發(fā)器)的初始化,I2X expander可能工作一個很random的狀態(tài),而不是我們需要的Idle狀態(tài)。

關于這個解釋,后來TI的工程師給出詳細的解釋, 英文我不就翻譯成中文了,請讀者仔細品味和理解:

The device has a 6 bit state machine (64 states) of which 49 valid state and 15 are invalid states. The above fix will work assuming the device comes up in a valid state. Typically on all our designs, an invalid state would lead to the idle state on the immediately next clock cycle. However, the PCF8575 is our very first I2C device and there are some invalid states that could latch the SDA line low indefinitely. The 9 clk cycle fix will not work if the device were to power up into an invalid state. The only way to bring the device out of this state is to provide a proper reset.

那我們說了那么多,究竟結果是怎么樣呢? 結果就是I2C expander產(chǎn)生了Lock up, I2C接口訪問不了,有時候還會拉住SCL或者SDA.

總結下來就是一句話:芯片需要POR電路來進行復位,如果因為別的原因提前上電,導致POR工作不正常,那么就會有問題。

關于上面的現(xiàn)象還有另外一種解釋,就是當VCC的倒鉤時,此時I2C Expander的內部電路已經(jīng)被搞亂了, 但是有內部POR的RC電路的平滑作用, 導致內部Reset被濾平滑了,內部Reset沒有碰到門限電壓,請仔細看上圖紅色的凹陷。

這樣導致芯片也不能正常復位,當然也就不能正常工作了。請看大牛Howard Johnson的描述:

Howard Johnson : Power interruptions drive power-on-reset circuits crazy.. If a processor is involved, the dropout is long enough to make scrambled eggs of the processor’s internal state machines but not long enough to discharge the RC circuit. If the RC circuit doesn't discharge, ~RESET doesn't activate, and the processor spins out of control, powered on, but lost in space.

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

    關注

    184

    文章

    17735

    瀏覽量

    250500
  • 二極管
    +關注

    關注

    147

    文章

    9653

    瀏覽量

    166657
  • I2C
    I2C
    +關注

    關注

    28

    文章

    1489

    瀏覽量

    123896

原文標題:I2C七宗罪之第二罪

文章出處:【微信號:eda365wx,微信公眾號:EDA365電子論壇】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

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

    I2C總線器件應用第一節(jié) I2C總線器件應用概述I2C總線工作原理I2C總線系統(tǒng)結構I2C總線系統(tǒng)結構如圖7-1所示。其中,SCL是時鐘線,
    發(fā)表于 08-13 17:34 ?0次下載

    i2c總線的特點

    i2c總線的特點:2 I2C 總線使設計人員和廠商都得益.. 3 2.1 設計人員的得益.. 4 2.2 廠商的得益. 5 3 介紹I2C 總線規(guī)范 6 4
    發(fā)表于 08-05 09:05 ?26次下載

    I2C總線規(guī)范與I2C器件C51讀寫程序

    I2C總線規(guī)范與I2C器件C51讀寫程序:本文簡要介紹了I2C總線,并給出了I2C器件的C51讀
    發(fā)表于 08-22 17:51 ?93次下載

    I2C總線應用中的幾個問題

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

    I2C Guid I2C指南

    I2C Guid  I2C指南 The I2C bus is used in a wide rangeof applications because it is simpleand
    發(fā)表于 04-23 13:55 ?36次下載

    什么是i2c總線

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

    基于CPLD的I2C總線接口設計

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

    基于51的I2c總線

    I2c總線,基于51的I2c總線,程序學習。快來下載學習吧
    發(fā)表于 01-13 11:49 ?34次下載

    i2c

    單片機i2c總線操作;單片機i2c總線操作;單片機i2c總線操作;
    發(fā)表于 05-17 11:09 ?35次下載

    Widrange I2C電源顯示器

    Widrange I2C電源顯示器
    發(fā)表于 04-27 15:40 ?0次下載
    Widrange <b class='flag-5'>I2C</b><b class='flag-5'>電源</b>顯示器

    I2C設備地址關系——以MPU6050舉例

    I2C設備地址關系——以MPU6050舉例
    發(fā)表于 12-06 13:21 ?10次下載
    <b class='flag-5'>I2C</b>設備地址<b class='flag-5'>關系</b>——以MPU6050舉例

    硬件I2C與模擬I2C

    硬件I2C對應芯片上的I2C外設,有相應I2C驅動電路,其所使用的I2C管腳也是專用的,因而效率要遠高于軟件模擬的I2C;一般也較為穩(wěn)定,但
    發(fā)表于 12-28 19:14 ?81次下載
    硬件<b class='flag-5'>I2C</b>與模擬<b class='flag-5'>I2C</b>

    I2C子系統(tǒng)SW Architecture

    I2C SW Architecture 【driver 驅動層】由普通驅動工程師負責,【i2c 核心層】由 Linux 提供,【i2c 核心層】以下由芯片原廠負責。 I2C 子系統(tǒng)
    的頭像 發(fā)表于 07-22 16:01 ?962次閱讀
    <b class='flag-5'>I2C</b>子系統(tǒng)SW Architecture

    I2CI3C的區(qū)別有哪些

    I2CI3C 主要區(qū)別如下: I2C 雖然也是兩條線,但是很多時候傳感器需要一條額外的中斷線,來告訴主控數(shù)據(jù)已經(jīng)準備好。I3C 允許從設備直接在總線上產(chǎn)生中斷,不再需要一條額外的
    的頭像 發(fā)表于 07-22 16:20 ?7031次閱讀
    <b class='flag-5'>I2C</b>和<b class='flag-5'>I3C</b>的區(qū)別有哪些

    i2c采樣是上升沿嗎?

    i2c采樣是上升沿嗎?? I2C采樣是指在I2C總線上對數(shù)據(jù)進行采樣。在I2C總線上,數(shù)據(jù)的傳輸是通過2條線傳遞。一條是時鐘線(SCL),另
    的頭像 發(fā)表于 09-19 17:16 ?2787次閱讀
    主站蜘蛛池模板: 国产亚洲视频中文字幕| 欧美最猛性xxxxx亚洲精品| 精品国产乱码久久久久久软件 | 国产成人精品视频播放| 黄色一级毛片免费| 免费黄色网址在线观看| 忘忧草日本在线WWW日本| 快播av种子| 全黄h全肉细节文在线观看| 亚洲AV国产精品无码精| 最新无码专区在线视频| 国产成人无码AV麻豆| 久久久久久久久久综合情日本| 人与畜禽CROPROATION免费| 亚洲精品久久无码AV片银杏 | 青青草色青伊人| 亚洲精品永久免费| 把极品白丝班长啪到腿软| 99久久婷婷国产麻豆精品电影| 国产成人自产拍免费视频| 久久偷拍国2017| 色欲色香天天天综合| 在线视频免费国产成人| 国产SUV精品一区二区883| 玖玖爱这里只有精品视频| 无码国产成人午夜在线观看不卡| 19不插片免费视频| 国产小视频国产精品| 精品国产mmd在线观看| 青青草色青伊人| 亚洲中文字幕日产乱码2020| 97国产在线观看| 国内精品久久久久影院老司| 欧美激情性AAAAA片欧美| 亚洲字幕久久| 国产高清视频免费在线观看| 免费A级毛片无码无遮挡| 亚洲AV无码国产精品色午夜情| 超级最爽的乱淫片免费| 久久亚洲AV成人无码国产漫画 | 蜜桃视频一区二区|