RK3568驅動指南|第十五篇 I2C-第167章 I2C上拉電阻

瑞芯微RK3568芯片是一款定位中高端的通用型SOC,采用22nm制程工藝,搭載一顆四核Cortex-A55處理器和Mali G52 2EE 圖形處理器。RK3568 支持4K 解碼和 1080P 編碼,支持SATA/PCIE/USB3.0 外圍接口。RK3568內置獨立NPU,可用于輕量級人工智能應用。RK3568 支持安卓 11 和 linux 系統,主要面向物聯網網關、NVR 存儲、工控平板、工業檢測、工控盒、卡拉 OK、云終端、車載中控等行業。

?
【公眾號】迅為電子

【粉絲群】258811263(加群獲取驅動文檔+例程)

【視頻觀看】嵌入式學習之Linux驅動(第十五篇 I2C_全新升級)_基于RK3568

【購買鏈接】迅為RK3568開發板瑞芯微Linux安卓鴻蒙ARM核心板人工智能AI主板


第167章 I2C上拉電阻

I2C的硬件連接如下圖所示:

可以看到在SDA數據線和SCL時鐘線上都需要接一個上拉電阻,在本章中將會講解為什么這里要接一個上拉電阻,以及上拉電阻如何計算。

167.1 接上拉電阻的作用

SDA數據線和SCL時鐘線上接一個上拉電阻的作用如下所示:

(1)保證總線空閑時保持高電平

I2C 總線采用開漏/開集電極輸出,當沒有設備驅動總線時,總線會處于高阻態。如果不接上拉電阻,總線電平將不確定,很容易受到噪聲干擾。接上拉電阻可以確保總線空閑時保持穩定的高電平。

(2)實現線與功能

I2C 總線允許多個設備掛載在同一總線上。當一個設備拉低總線時,其他設備的輸出也會被拉低。這就是線與功能,實現總線仲裁。如果不接上拉電阻,當總線空閑時電平不確定,一個設備拉低總線時其他設備無法感知到總線電平變化,無法實現線與功能。

而這里的上拉電阻也并不能隨意進行取值,需要考慮總線電容的影響。I2C 總線上存在各種寄生電容,可以等效成一個RC充電電路,如下圖所示:

當總線從低電平轉為高電平時,需要通過上拉電阻為總線供電,充電總線電容,如果上拉電阻取值過大,充電時間過長,會導致上升沿過慢,可能影響通信,如果上拉電阻取值過小,則無法產生低電平,所以在I2C規范中要求總線電容不能超過400PF,通常建議在 1k至10k歐姆之間選擇,能夠既保證上升沿速度,又能夠可靠拉低總線電平,在下一小節中將對I2C上拉電阻的阻值計算進行講解。

167.2 I2C上拉電阻阻值計算?

上拉電阻的最小值計算

(1)公式:

Rp(min) = (VDD - VOL(max)) / IOL

(2)各參數解釋:

VDD: 通常為 5V 或 3.3V 等常用的供電電壓,在iTOP-RK3568 開發板上為3.3V

VOL(max): 表示器件在低電平時的最大輸出電壓,具體數值表格如下所示,由于VDD為3.3V,所以VOL的最大值為0.4.

?

IOL: 器件在低電平時的最大灌入電流,具體數值表格如下所示,通過VOL值為0.4,可以得到IOL在常規模式下和快速模式下的值為3ma。?

Rp(min) 為上拉電阻的最小值

(3)計算步驟:

確定 VDD、VOL(max) 和 IOL 的值:

在RK3568中VDD為3.3V,所以VOL(max) =0.4V,對應的IOL為3mA

代入公式 Rp(min) = (VDD - VOL(max)) / IOL 計算得到上拉電阻的最小值。

Rp(min) = (3V - 0.4V) / 3mA = 966Ω

上拉電阻的最大值計算

  1. 公式

Rp(max) = 0.8473 * Cb / tr

(2)各參數解釋:

Rp(max) 是上拉電阻的最大值

Cb 是總線電容

tr 是高電平上升時間,一般上升時間是從0.3VDD到0.7VDD,具體可以從數據手冊獲得,具體如下所示:

?

根據上圖可以得到在標準模式下tr的取值為?≤ 1000ns。

在快速模式下tr的取值為?≤ 300ns。

在超快速模式下tr的取值為≤ 120ns。

(3)計算步驟:

I2C 工作在標準模式下,上拉電壓是 3.3V,引腳電容是 10pF,連接電容是 30pF,高電平上升時間 tr = 1000ns,計算上拉電阻的最大值

總線電容 Cb = 10pF + 30pF = 40pF,然后將對應值代入公式: Rp(max) = 0.8473 * Cb / tr Rp(max) = 0.8473 * 40pF / 1000ns Rp(max) = 33.89 kΩ

具體選擇

一般來說,I2C 總線速度越快,所需的上拉電阻值越小,具體選擇如下所示:

400kbps: 一般選擇 4.7k 上拉電阻

100kbps: 一般選擇 10k 上拉電阻

1Mbps: 一般選擇 2.2k 上拉電阻

當然上述選擇未必正確,需要根據實際測試結果進行調整。在實際使用中,可以先根據經驗選擇一個上拉電阻值試用,無需過于糾結于計算公式。

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/web/37853.shtml
繁體地址,請注明出處:http://hk.pswp.cn/web/37853.shtml
英文地址,請注明出處:http://en.pswp.cn/web/37853.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

SpringBoot實現圖片添加水印

提示&#xff1a;今日完成圖片添加水印功能 后續可能還會繼續完善這個功能 文章目錄 目錄 文章目錄 前端部分 后端 Xml Controller層 Sercive層 Service實現層 Config配置層 application.properties 文件后綴名獲取 常量定義 前端部分 <!DOCTYPE html> <htm…

WIN11,如何同時連接有線網絡與WLAN無線網絡

之前寫了兩篇文章&#xff0c;一篇是雙網卡多網卡時win11如何設置網卡優先級_多網卡設置網卡優先級-CSDN博客 另一篇是win11 以太網和WLAN沖突 連接網線時導致WiFi掉線 解決_win11 以太網和wifi不能同時生效-CSDN博客 這篇是對上面兩篇的補充&#xff1a;主要解決電腦重啟后&…

語音芯片TD5580,USB小音響芯片—拓達半導體

有時候電腦的聲卡會出現損壞的問題&#xff0c;給我們的生活帶來了很多麻煩。這時候&#xff0c;我們就需要一款方便易用的產品來解決聲卡問題。USB聲卡小音響就是為了解決這個問題而設計的一款便捷的產品。它不僅可以作為一個小音響&#xff0c;讓您在工作和娛樂的時候享受高品…

docker-compose搭建minio對象存儲服務器

docker-compose搭建minio對象存儲服務器 最近想使用oss對象存儲進行用戶圖片上傳的管理&#xff0c;了解了一下例如aliyun或者騰訊云的oss對象存儲服務&#xff0c;但是呢涉及到對象存儲以及經費有限的緣故&#xff0c;決定自己手動搭建一個oss對象存儲服務器&#xff1b; 首先…

燒結銀到底有多牛?歡迎咨詢SHAREX善仁新材研究院

燒結銀到底有多牛&#xff1f;歡迎咨詢SHAREX善仁新材研究院 在當今日新月異的科技浪潮中&#xff0c;材料科學以其獨特的魅力引領著人類探索未知領域的步伐。在眾多前沿材料中&#xff0c;燒結銀憑借其卓越的性能和廣泛的應用前景&#xff0c;逐漸嶄露頭角&#xff0c;成為科…

創建XCOM窗體和跳轉連接

Xcom 窗體&#xff1a; (groupBox組合框&#xff0c;comboBox下拉框) xcom代碼&#xff1a; namespace _01_作業 {// 1kb 1024B 1200B// 1MB public partial class Form1 : Form{public List<string> botelv new List<string> { "600","1200&…

Unix Network Programming Episode 96

‘socketpair’ Function The socketpair function creates two sockets that are then connected together. This function applies only to Unix domain sockets. #include <sys/socket.h> int socketpair(int family, int type, int protocol, int sockfd[2]);POSIX…

(十七)如何學習統計學基礎知識(學習路線)

統計學是數據科學的基本支柱。統計學的目的是幫助你理解數據并從中得出有意義的結論。在數據科學中&#xff0c;統計學在理解數據模式和趨勢、做出預測和檢驗假設方面起著至關重要的作用。 (一) 數據科學統計學習路線圖 本文為學習統計學并將其應用于數據科學提供了清晰、結構化…

如何使用 SPM 插件從 Pkl 配置文件生成 Swift 接口

文章目錄 前言示例展示 Pkl 配置生成 Swift 綁定手動安裝和使用 pkl-gen-swift創建 SPM 命令插件加載 Pkl 配置總結前言 Pkl(全稱為 Pickle)是蘋果推出的一種全新的專用于配置的編程語言。它允許開發人員通過類型和內置驗證安全、直觀地設計數據模型。 作為蘋果語言,Pkl 有…

Python容器 之 列表--下標和切片

列表的切片 得到是 新的列表字符串的切片 得到是 新的字符串 如果下標 不存在會報錯 list1 [1, 3.14, "hello", False] print(list1)# 獲取 列表中 第一個數據 print(list1[0]) # 1# 獲取列表中的最后一個數據 print(list1[-1]) # [False]# 獲取中間兩個數 即 3.1…

3.2ui功能講解之graph頁面

本節重點介紹 : graph頁面target頁面flags頁面status頁面tsdb-status頁面 訪問地址 $ip:9090 graph頁面 autocomplete 可以補全metrics tag信息或者 內置的關鍵字 &#xff0c;如sum聚合函數table查詢 instante查詢&#xff0c; 一個點的查詢graph查詢調整分辨率 resolutio…

記錄:有趣的C#多元運算符 ? : 表達式寫法

有時候用 if //...Whatre you she wanna go else if //...do do do else //...and i know something just like this... 感覺代碼太多了怎么優雅的、高端的替換&#xff1f; 看個高端的栗子菊&#xff1a; LedCOM["parity"] ledData[4] "N" ? …

Study--Oracle-05-Oracler體系結構

一、oracle 體系概覽 Oracle數據庫的體系結構通常包括以下主要組件&#xff1a; 1、實例&#xff08;Instance&#xff09;&#xff1a;運行數據庫的軟件環境&#xff0c;包括內存結構&#xff08;SGA&#xff09;和進程結構&#xff08;Background Processes and User Proces…

Django 一對多關系

1&#xff0c;創建 Django 應用 Test/app9 django-admin startapp app9 2&#xff0c;注冊應用 Test/Test/settings.py 3&#xff0c;添加應用路由 Test/Test/urls.py from django.contrib import admin from django.urls import path, includeurlpatterns [path(admin/,…

《每天5分鐘用Flask搭建一個管理系統》 第10章:前端集成

第10章&#xff1a;前端集成 10.1 前端技術概述 前端技術指的是構建Web應用用戶界面所使用的技術&#xff0c;包括HTML、CSS和JavaScript。現代Web開發中&#xff0c;前端框架如React、Vue.js和Angular等被廣泛使用。 10.2 AJAX與Flask的集成 AJAX&#xff08;Asynchronous…

數據資產安全策略的定制化之道:深入了解各企業獨特需求,量身打造個性化的數據資產保護方案,確保數據安全無虞,助力企業穩健發展

目錄 一、引言 二、企業數據資產安全現狀分析 &#xff08;一&#xff09;數據安全風險多樣化 &#xff08;二&#xff09;傳統安全措施難以滿足需求 &#xff08;三&#xff09;企業數據資產安全意識亟待提高 三、定制化數據資產安全策略的重要性 &#xff08;一&#…

natvicat為什么連不上linux上的mysql?

老規矩&#xff0c;廢話不多說&#xff0c;直接上教程。 號外&#xff0c;數據庫管理工具領域的知名品牌Navicat&#xff0c;推出其免費版本——Navicat Premium Lite&#xff0c;用戶可從Navicat官網下載體驗這款軟件。 https://www.navicat.com.cn/download/navicat-premium-…

【HALCON】如何實現hw窗口自適應相機拍照成像的大小

前言 在開發一個噴碼檢測軟件的時候碰到相機成像和hw窗體的大小不一致&#xff0c;hw太小顯示不完全成像的圖片&#xff0c;這使得成像不均勻&#xff0c;現場辨別起來比較不直觀&#xff0c;因此需要對其進行一個調整。 解決 省略掉讀取圖片的環節&#xff0c;我們只需要將…

別再用this.$forceUpdate()了!—性能優化篇

文章目錄 別再用this.$forceUpdate()了&#xff01;—性能優化篇&#x1f388;介紹&#x1f9e8;弊端注意事項 &#x1f386;解決實例 別再用this.$forceUpdate()了&#xff01;—性能優化篇 起因是接手公司之前外包的項目做項目優化&#xff0c;代碼看著一言難盡&#xff0c;…

CGI面試題及參考答案

什么是CGI?它在Web服務器與應用程序之間扮演什么角色? CGI(Common Gateway Interface) 是一種標準協議,它定義了Web服務器與運行在服務器上的外部程序(通常是腳本或應用程序)之間的通信方式。簡單來說,CGI充當了一個橋梁,使得Web服務器能夠將用戶的請求傳遞給后端程序…