欧美日韩亚州综合,国产一区二区三区影视,欧美三级三级三级爽爽爽,久久中文字幕av一区二区不卡

你的位置:首頁 > 互連技術 > 正文

詳談:I2C設備導致死鎖怎么辦?

發布時間:2019-11-13 責任編輯:wenwei

【導讀】一般情況下, i2c 設備焊接沒什么問題,按照設備手冊一步步來,基本上就順風順水能夠用起來。如果這么一個簡單的東西,有時候想要的結果死活不出來,反復的檢查問題的原因,查詢解決辦法,核查設備的數據手冊,甚至發送和接收的每一條命令與數據都知道是什么意思,仍然無法解決問題,那該怎么辦呢?
 
本文主要針對 i2c 設備,講解如何解決 i2c 設備主機與從機直接無法正常數據交互的問題,側重點是針對硬件設計不太合理、i2c 設備設計不標準導致總線故障的情況,并且通過分析現象,提出解決方案。對于在設備初始化中,沒有設置相應的寄存器或者發送命令,而導致的無法獲取想要的數據情況,不作詳細介紹。
 
一、i2c 基本用法
 
i2c 總線是一種簡單、雙向二線制同步串行總線。所有主機在 SCL 線上產生它們自己的時鐘來傳輸總線上的報文,SDA 線傳輸每個字節必須為 8 位,每次傳輸可以發送的字節數量不受限制,每個字節后必須跟一個響應位。在空閑狀態時,SCL 與 SDA 均為高電平。
 
通常一些低功耗 i2c 設備,芯片引腳使用上拉輸出即可滿足與其正常數據交互,還有一些 i2c 設備,則需要在總線上外加一個上拉電阻,此時相應的 I/O 配置成開漏輸出,其他的按照芯片手冊進行標準配置。
 
二、硬件問題匯總
 
2.1 無法正常拉高拉低引腳
 
首先確定 SDA 與SCL 引腳能夠被拉高、拉低,檢測方式直接軟件控制 I/O 口輸出引腳低電平/高電平,測量引腳電壓是否能夠隨著芯片引腳的設置輸出相應的狀態。
如果不能被拉低,檢測虛焊、上拉電阻斷開、i2c 設備是否正常、芯片引腳是否損壞等問題,確保能夠正常被拉高或者拉低。
 
2.2 電氣特性無法滿足
 
如果正常拉高、拉低的情況下,依然無法正常讀取數據。通常建議,根據負載電流更換小阻值的電阻。
 
如果需要詳細知道原因,就具體查詢 i2c 設備電氣特性。大多數 i2c 設備電氣特性,大致下圖所示
 
詳談:I2C設備導致死鎖怎么辦?
 
通常這塊內容在 i2c 設備電氣特性這一塊,主要講解電平拉高拉低的最長時間、最短時間,以及處于高電平與電平的閾值與持續時間等等內容。
 
硬件設計,為了降低單片機的功耗與保護芯片引腳,在滿足負載電流和負載電容相關要求的前提下,阻值設置通常比較大。如果同一個總線上掛載多個 i2c 設備, 即使在 I/O 口配置正確的前提下,也會導致驅動能力不足。
 
現象是拉高電壓不足,在拉高、拉低過程中消耗時間過長。這兩個問題通常還引起數據線與時鐘線:拉高時,高電壓持續時間過短;拉低時,低電壓持續時間過短。用示波器抓取圖形:從波形上看,顯示是尖波、斜波、雜波等不符合 i2c 設備電氣特性的波形;從數據上看,數據線高電平持續時間過小 ,上升沿時間過長 ,下降沿時間過長等等數據超出設備電氣特性的有效值。典型雜波圖,如下所示
 
詳談:I2C設備導致死鎖怎么辦?
 
如果出現此類異常,建議更換小一點的電阻,用來增強總線驅動能力,提高電平轉換速度。應當注意的是每個 MCU 的耐受電流不一樣,減小電阻應避免超過相應引腳承受電流的最大值。
 
3 SDA 死鎖
 
如果i2c 設備的數據偶爾能夠正確獲取,但是仍然會在總線發送數據或者命令的時候,爆出總線讀寫錯誤,那么有可能遇到下面的死鎖問題,死鎖時候,就是數據線被拉低,主機無法拉高。死鎖一般發生在從機上,且為數據線死鎖。因為i2c總線是共享的,如果需要確定,是否是從機死鎖,可以參照下面兩幅圖,串聯電阻進行測試
 
詳談:I2C設備導致死鎖怎么辦?
 
如上圖所示,如果從機死鎖,即從機拉低電平,此時檢測到的電壓為1/3 Vcc。
 
詳談:I2C設備導致死鎖怎么辦?
 
如上圖所示,如果主機死鎖,即主機拉低電平,此時檢測到的電壓為 1/11 Vcc。依據這個原理,可以準確判定死鎖的具體位置,多個傳感器依據類似方式進行定位。
 
3.1 反復重啟導致死鎖
 
3.1.1 現象
 
如果設備需要反復重啟,很有可能在從機設備返回數據的時候,SDA被鎖住。具體原因是從機設備在回數據,還沒有發送完成,主機時鐘消失,從機等待時鐘信號, MCU重啟,如果從機設備的電源沒有復位,從機繼續等待 MCU 時鐘信號,數據一直被鉗住,總線無法完成數據交互。
 
3.1.2 解決方式
 
解決重啟導致總線死鎖,一種方式可以如同 rt-thread 驅動解決方式一樣,在系統復位的時候,提供9個時鐘信號,解初總線死鎖;另一種是在按下復位鍵初始化的時候,給從機設備電源斷電重啟,這個需要引腳控制。
 
3.1.3 9 個時鐘信號
 
i2c 設備進行讀寫操作的過程中,在從機鉗住總線的期間,MCU 異常復位,會導致 SDA 死鎖,異常產生出現在倆個階段:從機響應階段、從機發送數據階段。下面將針對這兩種異常,對時鐘信號進行解釋,并且總結其他原因,得出結論。
 
(a) 從機響應階段
 
MCU 在開始信號后發送地址,得到從機設備響應,準備開始返回數據,在這個時候,從機將 SDA 信號拉為低電平,如果 MCU 異常復位,會導致總線上 SCL 停止發送時鐘信號,從機等待 MCU 的時鐘信號,產生鉗住并且拉低 SDA 的現象。如果想要解鎖 SDA,從機需要 9 個時鐘信號,使得從機完成響應,釋放 SDA 。
 
(b) 從機發送數據階段
 
如果從機響應完成了,開始給 MCU 返回數據。這個數據有八位,每一位都有可能為低,如果在數據低位,MCU 異常復位,停止發送時鐘信號,從機就會等待 MCU 的時鐘信號,產生鉗住并且拉低 SDA 的現象。如果想要解鎖 SDA,從機需要 1-8 個時鐘信號,使得從機完成數據響應,釋放 SDA 。
 
(c)其他情況
 
在從機一個 8 位數據發送完成后,等待 MCU 響應, 即使屬于 MCU 的,從機不再鉗住 SDA,沒有時鐘,數據交互停止。
 
在主機發送數據階段,總線所有權在主機,主機異常,數據交互停止,總線釋放。所以,這些情況下,不存在 SDA 死鎖的情況。
 
(d)結論
 
綜上所述,解鎖 SDA 從機最多需要 9 個時鐘信號,也就是異常復位后,MCU 至少發送需要 9 個時鐘信號,完成 i2c 總線的 SDA 解鎖。所以,RT_Thread 為了避免此類問題的產生,在 i2c 驅動初始化,對總線進行判斷,判斷是否需要解鎖,如果需要,就進行解鎖,確保 i2c 設備不會因為這個問題導致數據交互失敗。
 
3.2 多個 i2c 設備導致死鎖
 
多 i2c 設備除了異常復位導致死鎖,還會形成相互干擾的問題,一般情況下,不會把同種從機地址掛在同一條總線上,但除此之外,有些 i2c 設備設計不是按照標準的 i2c 總線協議設計,在 i2c 總線共享的前提條件下,有的設備只要總線上從機地址就會有響應。這樣由于從機的錯誤響應,使得各個 i2c 總線異常,甚至鉗住總線,導致 I2C 總線進人一種死鎖狀態。
 
解決方式,這樣的不標準i2c設備,單獨使用一個總線,避免干擾,或者單獨一個獨立引腳,控制電源。
 
來源:RT-Thread
 
 
推薦閱讀:
 
選擇正確的加速度計,以進行預測性維護
大聯大推出數字化平臺【大大網】,獲行業媒體AspenCore兩項殊榮肯定
三極管和運放構成的幾種恒流源電路分析
掌握這些步驟,輕松分配FPGA引腳
功率密度與效率:如何權衡(二)
要采購焊接么,點這里了解一下價格!
特別推薦
技術文章更多>>
技術白皮書下載更多>>
熱門搜索
?

關閉

?

關閉

欧美日韩亚州综合,国产一区二区三区影视,欧美三级三级三级爽爽爽,久久中文字幕av一区二区不卡
亚洲一区二区五区| 91在线一区二区三区| 一区二区三区欧美日| 久久久不卡影院| 中文字幕免费观看一区| 国产精品欧美一区二区三区| 亚洲视频1区2区| 最新国产成人在线观看| 一区二区三区91| 天堂一区二区在线| 国内精品免费**视频| 国产成人av电影| 色美美综合视频| 欧美精品第1页| 2021久久国产精品不只是精品| 26uuuu精品一区二区| 国产精品进线69影院| 亚洲精品videosex极品| 日韩电影网1区2区| 国产精品99久久久久久有的能看| 99久久久久久| 欧美一区二区久久| 欧美国产1区2区| 亚洲成av人片在www色猫咪| 久久国内精品视频| 99热这里都是精品| 欧美一二三四区在线| 中文字幕av资源一区| 亚洲成a人v欧美综合天堂| 国产一区二区三区观看| 欧美伊人精品成人久久综合97| 日韩欧美中文一区二区| 中文字幕一区二区日韩精品绯色 | 狠狠色2019综合网| 91亚洲大成网污www| 日韩欧美国产小视频| 亚洲黄色av一区| 国产高清久久久| 555www色欧美视频| 亚洲欧美日韩成人高清在线一区| 久久精品国产精品青草| 欧美主播一区二区三区| 中文在线一区二区| 毛片av一区二区| 欧美日韩的一区二区| 欧美国产精品一区二区三区| 日本91福利区| 欧美日本韩国一区二区三区视频| 国产精品每日更新| 国产在线视频精品一区| 欧美一级片免费看| 午夜精品久久久久久久| 一本到高清视频免费精品| 国产女主播视频一区二区| 日韩影院精彩在线| 欧美日韩国产美女| 一区二区激情小说| 91麻豆自制传媒国产之光| 国产欧美精品一区aⅴ影院 | 91色porny在线视频| 精品成a人在线观看| 午夜激情一区二区| 欧美日韩一级二级三级| 亚洲小说欧美激情另类| 色美美综合视频| 一区二区三区四区精品在线视频| 99久久99久久精品免费看蜜桃| 国产日韩精品一区二区三区在线| 国产一区二区久久| 久久精品免费在线观看| 成人午夜短视频| 国产清纯美女被跳蛋高潮一区二区久久w | 国产成人精品亚洲日本在线桃色 | 成人免费视频视频| 国产精品久久久久久久久久免费看| 极品瑜伽女神91| 久久久亚洲精华液精华液精华液 | 综合久久一区二区三区| 99国产精品99久久久久久| 亚洲日本中文字幕区| 日本韩国欧美在线| 天天综合日日夜夜精品| 日韩欧美你懂的| 国产在线播放一区二区三区| 国产亚洲一区二区在线观看| 国产成人午夜视频| 亚洲女同ⅹxx女同tv| 欧美浪妇xxxx高跟鞋交| 蜜桃91丨九色丨蝌蚪91桃色| 久久久影视传媒| 色婷婷综合久久久久中文 | 99国内精品久久| 亚洲成国产人片在线观看| 欧美大白屁股肥臀xxxxxx| 国产精品一区二区在线看| 日韩美女啊v在线免费观看| 色综合久久久久久久| 777奇米成人网| 久久精品久久精品| 国产亚洲一区二区三区四区| 91黄色免费观看| 日本中文字幕一区| 国产精品视频一二三区| 欧美日韩成人一区| 韩国欧美国产一区| 一区二区三区电影在线播| 日韩免费性生活视频播放| 91论坛在线播放| 久久久蜜臀国产一区二区| 国产aⅴ综合色| 亚洲一二三四区| 午夜成人在线视频| 久久久久久麻豆| 在线不卡免费av| 99国产欧美另类久久久精品| 狠狠狠色丁香婷婷综合久久五月| 有码一区二区三区| 国产色产综合色产在线视频| 51精品秘密在线观看| 91国偷自产一区二区开放时间| 国产在线精品免费| 亚洲v精品v日韩v欧美v专区| 国产精品电影一区二区三区| 欧美精品一区二区三区蜜桃| 欧美视频中文一区二区三区在线观看| 高清在线不卡av| 精品一区二区在线观看| 日韩不卡一区二区三区 | 欧美a级理论片| 一二三四区精品视频| 中文字幕成人网| 国产精品水嫩水嫩| 国产日韩欧美在线一区| 久久精品一区二区三区不卡牛牛| 日韩欧美国产小视频| 日韩欧美一二三四区| 精品视频在线免费看| 欧洲在线/亚洲| 欧美伊人久久久久久久久影院 | 一区二区免费视频| 亚洲男同性恋视频| 亚洲欧美偷拍卡通变态| 亚洲精品乱码久久久久久日本蜜臀| 久久精品视频在线看| 久久亚区不卡日本| 久久久精品人体av艺术| 久久久美女毛片| 久久久久久久国产精品影院| 久久亚洲精华国产精华液| 在线免费观看视频一区| 在线观看国产一区二区| 91福利小视频| 4438x亚洲最大成人网| 91精品在线免费观看| 欧美成人三级电影在线| www国产精品av| 国产精品久久久久久久岛一牛影视| 国产精品国产三级国产aⅴ无密码| 日韩毛片精品高清免费| 一区二区三区中文在线| 午夜成人在线视频| 国产美女av一区二区三区| 成人不卡免费av| 欧洲一区二区三区免费视频| 欧美一区日韩一区| 国产亚洲欧洲一区高清在线观看| 国产三级精品三级| 一区二区三区中文在线| 日本欧美韩国一区三区| 国产精品一区2区| 色欧美片视频在线观看在线视频| 欧美日韩电影一区| 国产性色一区二区| 亚洲国产精品精华液网站| 韩国视频一区二区| 色偷偷一区二区三区| 欧美成人一级视频| 亚洲精品中文在线| 久久激情综合网| 色婷婷久久一区二区三区麻豆| 欧美肥妇bbw| 国产精品视频线看| 日韩和欧美一区二区三区| 成人黄色在线视频| 日韩欧美一区电影| 高清成人免费视频| 亚洲图片另类小说| 欧美精品电影在线播放| 成人综合婷婷国产精品久久免费| 色欲综合视频天天天| 精品国产乱码久久久久久图片 | 日本不卡不码高清免费观看| 国产夫妻精品视频| 欧美日韩一区二区三区在线| 国产三区在线成人av| 香蕉乱码成人久久天堂爱免费| 成人免费看片app下载| 欧美日韩一区二区三区四区五区| 欧美激情综合在线| 视频一区中文字幕|