資料介紹
IIC通信協(xié)議
IIC協(xié)議正確, 但是一直讀取失敗
開漏輸出: 在不接上拉電阻時, 輸出邏輯0,則N-MOS激活; 輸出邏輯1,P-MOS不會激活, 不會輸出高電平。 在接上拉電阻時, 輸出邏輯0,則N-MOS激活; 輸出邏輯1,P-MOS激活, 可以輸出高電平。
也就是說開漏輸出如果不接上拉電阻, 沒有輸出高電平的能力。
如果需要開漏輸出有輸出高電平的能力需要接一個上拉電阻. 目前很多單片機GPIO可以通過軟件配置上拉電阻.
至于為什么需要上拉電阻, 那是因為IIC通信需要輸出高電平的能力.
為了實現(xiàn)多個主設(shè)備搶占總線時的仲裁.IIC只有兩根線(SCL和SDA), 怎么判斷哪個主設(shè)備占用總線(當然是先來后到了).?
假設(shè)主設(shè)備A需要啟動IIC, 他需要在SCL高電平時, 將SDA由高電平轉(zhuǎn)換為低電平作為啟動信號. 主設(shè)備A在把SDA拉高后, 它需要再檢查一下SDA的電平。
為什么? 因為線與. 如果主設(shè)備A拉高SDA時, 已經(jīng)有其他主設(shè)備將SDA拉低了. 由于 1 & 0 = 0 那么主設(shè)備A在檢查SDA電平時, 會發(fā)現(xiàn)不是高電平, 而是低電平. 說明其他主設(shè)備搶占總線的時間比它早, 主設(shè)備A只能放棄占用總線. 如果是高電平, 則可以占用。
這就是開漏輸出在IIC通信中的另一個作用。
SDA是高電平, 說明主設(shè)備A可以占用總線, 然后主設(shè)備A將SDA拉低, 開始通信. SDA是低電平, 說明有人已經(jīng)捷足先登了, 主設(shè)備A不能占用總線, 結(jié)束通信.
因此, 模擬IIC一定要將GPIO端口設(shè)置為開漏輸出并加上上拉電阻.(硬件IIC會自動配置為開漏輸出)。
IIC協(xié)議正確, 但是一直讀取失敗
推挽輸出和開漏輸出
推挽輸出:? 輸出邏輯0,則N-MOS激活; 輸出邏輯1,則P-MOS激活。開漏輸出: 在不接上拉電阻時, 輸出邏輯0,則N-MOS激活; 輸出邏輯1,P-MOS不會激活, 不會輸出高電平。 在接上拉電阻時, 輸出邏輯0,則N-MOS激活; 輸出邏輯1,P-MOS激活, 可以輸出高電平。
也就是說開漏輸出如果不接上拉電阻, 沒有輸出高電平的能力。
如果需要開漏輸出有輸出高電平的能力需要接一個上拉電阻. 目前很多單片機GPIO可以通過軟件配置上拉電阻.
左圖為開漏輸出(接上拉電阻), 右圖為推挽輸出
開漏輸出的作用
線與: 開漏輸出還能實現(xiàn)?線與?(自行百度), 減少一個與門, 簡化電路.
IIC為什么用開漏輸出和上拉電阻
IIC協(xié)議支持多個主設(shè)備與多個從設(shè)備在一條總線上, ?如果不用開漏輸出, 而用推挽輸出, 會出現(xiàn)主設(shè)備之間短路的情況.?至于為什么需要上拉電阻, 那是因為IIC通信需要輸出高電平的能力.
為了實現(xiàn)多個主設(shè)備搶占總線時的仲裁.IIC只有兩根線(SCL和SDA), 怎么判斷哪個主設(shè)備占用總線(當然是先來后到了).?
假設(shè)主設(shè)備A需要啟動IIC, 他需要在SCL高電平時, 將SDA由高電平轉(zhuǎn)換為低電平作為啟動信號. 主設(shè)備A在把SDA拉高后, 它需要再檢查一下SDA的電平。
為什么? 因為線與. 如果主設(shè)備A拉高SDA時, 已經(jīng)有其他主設(shè)備將SDA拉低了. 由于 1 & 0 = 0 那么主設(shè)備A在檢查SDA電平時, 會發(fā)現(xiàn)不是高電平, 而是低電平. 說明其他主設(shè)備搶占總線的時間比它早, 主設(shè)備A只能放棄占用總線. 如果是高電平, 則可以占用。
這就是開漏輸出在IIC通信中的另一個作用。
SDA是高電平, 說明主設(shè)備A可以占用總線, 然后主設(shè)備A將SDA拉低, 開始通信. SDA是低電平, 說明有人已經(jīng)捷足先登了, 主設(shè)備A不能占用總線, 結(jié)束通信.
因此, 模擬IIC一定要將GPIO端口設(shè)置為開漏輸出并加上上拉電阻.(硬件IIC會自動配置為開漏輸出)。
下載該資料的人也在下載
下載該資料的人還在閱讀
更多 >
- 具有開漏輸出的雙緩沖器/驅(qū)動器數(shù)據(jù)表
- 開漏輸出的六角反相器數(shù)據(jù)表
- 具有開漏輸出的單逆變器緩沖器/驅(qū)動器數(shù)據(jù)表
- 開漏輸出的六角逆變器74LVC06A-Q100數(shù)據(jù)手冊
- 開漏輸出的六角逆變器74LVC06A數(shù)據(jù)手冊
- 具有開漏輸出的六進制緩沖器74LVC07A數(shù)據(jù)手冊
- 具有開漏輸出的六進制緩沖器74AHCV07A數(shù)據(jù)手冊
- FX0001單鍵開漏輸出觸摸開關(guān)IC中文版說明書 0次下載
- CX601單鍵開漏輸出觸摸開關(guān)IC中文版說明書 0次下載
- STM32-GPIO端口模式配置--推挽、開漏等
- OLED兼容SPI和IIC版本資料匯總下載 0次下載
- STM32 IIC難點易錯點資料下載
- 小波分析在MATLAB中的相關(guān)知識資料下載
- 單片機的開漏輸出和推挽輸出的詳細資料說明
- 開漏輸出與推挽輸出比較 16次下載
- 一文詳解開漏輸出和開集輸出的原理、特點和應(yīng)用 1.9w次閱讀
- IIC面試問題匯總 1518次閱讀
- 什么是浮動輸入和開漏輸出 1331次閱讀
- 什么是準雙向IO和開漏輸出?上拉電阻的好處和選擇原則 1644次閱讀
- GPIO推挽輸出和開漏輸出電路圖分析 2182次閱讀
- 推挽輸出與開漏輸出講解 2107次閱讀
- 推挽、開漏、OC、OD一文解析 4019次閱讀
- 一文詳解推挽輸出與開漏輸出 6087次閱讀
- 開漏輸出在IIC通信中的作用 4434次閱讀
- digilent開漏輸出模塊簡介 1252次閱讀
- 單片機IO口的輸出模式詳細分析 1.6w次閱讀
- 開漏(opendrain)和開集(opencollector)介紹 5.8w次閱讀
- GPIO的推挽輸出和開漏輸出以及其優(yōu)缺點分析 3.4w次閱讀
- OC門主要應(yīng)用與開漏形式的電路特點 1.6w次閱讀
- 漏極開路輸出和推挽輸出 1.8w次閱讀
下載排行
本周
- 1DC電源插座圖紙
- 0.67 MB | 2次下載 | 免費
- 2AN158 GD32VW553 Wi-Fi開發(fā)指南
- 1.51MB | 2次下載 | 免費
- 3AN148 GD32VW553射頻硬件開發(fā)指南
- 2.07MB | 1次下載 | 免費
- 4AN111-LTC3219用戶指南
- 84.32KB | 次下載 | 免費
- 5AN153-用于電源系統(tǒng)管理的Linduino
- 1.38MB | 次下載 | 免費
- 6AN-283: Σ-Δ型ADC和DAC[中文版]
- 677.86KB | 次下載 | 免費
- 7SM2018E 支持可控硅調(diào)光線性恒流控制芯片
- 402.24 KB | 次下載 | 免費
- 8AN-1308: 電流檢測放大器共模階躍響應(yīng)
- 545.42KB | 次下載 | 免費
本月
- 1ADI高性能電源管理解決方案
- 2.43 MB | 450次下載 | 免費
- 2免費開源CC3D飛控資料(電路圖&PCB源文件、BOM、
- 5.67 MB | 138次下載 | 1 積分
- 3基于STM32單片機智能手環(huán)心率計步器體溫顯示設(shè)計
- 0.10 MB | 130次下載 | 免費
- 4使用單片機實現(xiàn)七人表決器的程序和仿真資料免費下載
- 2.96 MB | 44次下載 | 免費
- 53314A函數(shù)發(fā)生器維修手冊
- 16.30 MB | 31次下載 | 免費
- 6美的電磁爐維修手冊大全
- 1.56 MB | 24次下載 | 5 積分
- 7如何正確測試電源的紋波
- 0.36 MB | 17次下載 | 免費
- 8感應(yīng)筆電路圖
- 0.06 MB | 10次下載 | 免費
總榜
- 1matlab軟件下載入口
- 未知 | 935121次下載 | 10 積分
- 2開源硬件-PMP21529.1-4 開關(guān)降壓/升壓雙向直流/直流轉(zhuǎn)換器 PCB layout 設(shè)計
- 1.48MB | 420062次下載 | 10 積分
- 3Altium DXP2002下載入口
- 未知 | 233088次下載 | 10 積分
- 4電路仿真軟件multisim 10.0免費下載
- 340992 | 191367次下載 | 10 積分
- 5十天學(xué)會AVR單片機與C語言視頻教程 下載
- 158M | 183335次下載 | 10 積分
- 6labview8.5下載
- 未知 | 81581次下載 | 10 積分
- 7Keil工具MDK-Arm免費下載
- 0.02 MB | 73810次下載 | 10 積分
- 8LabVIEW 8.6下載
- 未知 | 65988次下載 | 10 積分
評論
查看更多