日本黄色一级经典视频|伊人久久精品视频|亚洲黄色色周成人视频九九九|av免费网址黄色小短片|黄色Av无码亚洲成年人|亚洲1区2区3区无码|真人黄片免费观看|无码一级小说欧美日免费三级|日韩中文字幕91在线看|精品久久久无码中文字幕边打电话

當前位置:首頁 > > strongerHuang
[導讀]I2C:全稱為Inter-Integrated Circuit(內(nèi)部集成電路),是一種串行通訊總線,常用于嵌入式電子產(chǎn)品中。

I2C:全稱為Inter-Integrated Circuit(內(nèi)部集成電路),是一種串行通訊總線,常用于嵌入式電子產(chǎn)品中。
I2C是飛利浦公司在1980年為了讓各種低速設備(飛利浦芯片)連接起來而研發(fā)的一種通信總線。目前,I2C依然是最常見的通信總線之一,現(xiàn)在絕大部分MCU都內(nèi)部集成了I2C控制器,STM32也不例外,至少有一個I2C控制器,有的型號甚至多達6個。

嵌入式專欄

1

STM32 I2C基礎內(nèi)容

I2C總線協(xié)議有多個版本,有的STM32遵循的是第2版本,有的是第3版本。所以,不同型號的 STM32 中I2C 可能存在一些差異,但基本功能相似。

1. 主從模式特性

主模式特性:

  • 時鐘生成

  • 起始位和停止位生成

從模式特性:

  • 可編程 I2C地址檢測
  • 雙尋址模式,可對 2 個從地址應答
  • 停止位檢測

2. 通信速度 標準速度:高達 100 kHz 快速速度:高達 400 kHz 超快速度:高達 1 MHz(第3版)
3.尋址模式
  • 7 位尋址模式
  • 10 位雙尋址模式
  • 廣播呼叫地址

4.收發(fā)模式
  • 從發(fā)送器
  • 從接收器
  • 主發(fā)送器
  • 主接收器

這些都是STM32 I2C 的基礎功能,更多內(nèi)容請查閱芯片對應的參考手冊。

嵌入式專欄

2

I2C 總線協(xié)議

I2C總線就兩根線:SCL時鐘信號,SDA數(shù)據(jù)信號。其中SCL由主機產(chǎn)生,SDA由主機或者從機產(chǎn)生。

I2C是同步串行通信,同一時間SDA只能由一個設備發(fā)送信號,也就是說它屬于半雙工通信。

I2C 總線協(xié)議可參考總線(SDA和SCL)的時序進行理解:


通常包含:起始位、數(shù)據(jù)/地址、ACK、結(jié)束位。
1. 開始和停止 在時鐘線保持高的情況下, SDA數(shù)據(jù)線由高 -> 低:為總線開始條件; 在時鐘線保持高的情況下 ,SDA數(shù)據(jù)線由低 -> 高:為總線結(jié)束條件;
2. 地址 I2C地址分7位和10位。
7位地址:
10位地址:
3. 應答(ACK) 應答(ACK)和非應答(NACK)發(fā)生在每個字節(jié)之后,是由接收方向發(fā)送方發(fā)出確認信號,表明數(shù)據(jù)已成功接收,并且可以繼續(xù)發(fā)送下一字節(jié)數(shù)據(jù)。


I2C 總線協(xié)議更多內(nèi)容可參看:
https://zh.wikipedia.org/wiki/I2C https://www.nxp.com/docs/en/user-guide/UM10204.pdf

嵌入式專欄

3

STM32 I2C常見問題

I2C 總線通信,通常不會像CAN、USB這類總線添加一些復雜的(軟件)通信協(xié)議。I2C 雖然硬件和協(xié)議簡單,但在實際應用中還是經(jīng)常出現(xiàn)各種問題。下面就來分析一下常見的問題。

問題一:IO模式不對

有些工程師對用于I2C 總線的GPIO不了解,寫驅(qū)動代碼時把總線(SDA、SCL)配置成推挽輸出模式,導致應用上的異常。

I2C 總線是一種特殊的總線,因為多器件需共用總線,加上數(shù)據(jù)線需支持雙向通信。SDA要求開漏輸出模式。由于開漏無法直接輸出“高”時,需外加上拉電阻配合。

解決辦法:STM32的IO有8種應用模式,如果你通過軟件模擬I2C,并將SDA配置為開漏輸出模式,配合上拉電阻。這往往適用于主模式器件。如果使用硬件I2C,則需要配置成開漏復用功能。建議使用STM32CubeMX工具配置底層初始化代碼。

問題二:總線電壓不匹配

I2C 總線電壓通常為3.3V或5V。有的I2C C總線上掛的設備比較多,有可能存在特殊電壓,比如2.5V,或者3.3V不兼容5V,就容易引起信號辨識錯誤導致總線通信失敗的情況。

解決辦法:如果存在電壓不匹配的情況,需要從硬件方面來解決,比如:通過專業(yè)轉(zhuǎn)換模塊。

問題三:軟件檢測死機

I2C 總線一般通過ACK信號來判斷總線的情況,STM32實現(xiàn)I2C 收發(fā)、檢測等操作是由內(nèi)部控制器自動完成。

然而由于一些外部因素,比如干擾信號、電壓不匹配等,容易引起總線上的信號不正常,從而導致檢測失敗,通信失敗。

解決辦法:解決這種因異常引起的死機,除了從硬件方面做調(diào)整外,也可以從軟件入手,常見的做法是添加超時處理機制,不要讓程序一直死等檢測應答信號

比方當發(fā)送超時情形時,可以嘗試復位STM32 I2C外設或相關設備。

復盤一下

▼I2C 基礎內(nèi)容:主從模式特性、通信速度、尋址模式、收發(fā)模式; ▼I2C  總線協(xié)議:起始位、數(shù)據(jù)/地址、ACK、結(jié)束位; ▼I2C 常見問題:IO模式不對、總線電壓不匹配、軟件檢測死機
------------ END ------------


免責聲明:本文內(nèi)容由21ic獲得授權后發(fā)布,版權歸原作者所有,本平臺僅提供信息存儲服務。文章僅代表作者個人觀點,不代表本平臺立場,如有問題,請聯(lián)系我們,謝謝!

本站聲明: 本文章由作者或相關機構授權發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點,本站亦不保證或承諾內(nèi)容真實性等。需要轉(zhuǎn)載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權益,請及時聯(lián)系本站刪除。
換一批
延伸閱讀

LED驅(qū)動電源的輸入包括高壓工頻交流(即市電)、低壓直流、高壓直流、低壓高頻交流(如電子變壓器的輸出)等。

關鍵字: 驅(qū)動電源

在工業(yè)自動化蓬勃發(fā)展的當下,工業(yè)電機作為核心動力設備,其驅(qū)動電源的性能直接關系到整個系統(tǒng)的穩(wěn)定性和可靠性。其中,反電動勢抑制與過流保護是驅(qū)動電源設計中至關重要的兩個環(huán)節(jié),集成化方案的設計成為提升電機驅(qū)動性能的關鍵。

關鍵字: 工業(yè)電機 驅(qū)動電源

LED 驅(qū)動電源作為 LED 照明系統(tǒng)的 “心臟”,其穩(wěn)定性直接決定了整個照明設備的使用壽命。然而,在實際應用中,LED 驅(qū)動電源易損壞的問題卻十分常見,不僅增加了維護成本,還影響了用戶體驗。要解決這一問題,需從設計、生...

關鍵字: 驅(qū)動電源 照明系統(tǒng) 散熱

根據(jù)LED驅(qū)動電源的公式,電感內(nèi)電流波動大小和電感值成反比,輸出紋波和輸出電容值成反比。所以加大電感值和輸出電容值可以減小紋波。

關鍵字: LED 設計 驅(qū)動電源

電動汽車(EV)作為新能源汽車的重要代表,正逐漸成為全球汽車產(chǎn)業(yè)的重要發(fā)展方向。電動汽車的核心技術之一是電機驅(qū)動控制系統(tǒng),而絕緣柵雙極型晶體管(IGBT)作為電機驅(qū)動系統(tǒng)中的關鍵元件,其性能直接影響到電動汽車的動力性能和...

關鍵字: 電動汽車 新能源 驅(qū)動電源

在現(xiàn)代城市建設中,街道及停車場照明作為基礎設施的重要組成部分,其質(zhì)量和效率直接關系到城市的公共安全、居民生活質(zhì)量和能源利用效率。隨著科技的進步,高亮度白光發(fā)光二極管(LED)因其獨特的優(yōu)勢逐漸取代傳統(tǒng)光源,成為大功率區(qū)域...

關鍵字: 發(fā)光二極管 驅(qū)動電源 LED

LED通用照明設計工程師會遇到許多挑戰(zhàn),如功率密度、功率因數(shù)校正(PFC)、空間受限和可靠性等。

關鍵字: LED 驅(qū)動電源 功率因數(shù)校正

在LED照明技術日益普及的今天,LED驅(qū)動電源的電磁干擾(EMI)問題成為了一個不可忽視的挑戰(zhàn)。電磁干擾不僅會影響LED燈具的正常工作,還可能對周圍電子設備造成不利影響,甚至引發(fā)系統(tǒng)故障。因此,采取有效的硬件措施來解決L...

關鍵字: LED照明技術 電磁干擾 驅(qū)動電源

開關電源具有效率高的特性,而且開關電源的變壓器體積比串聯(lián)穩(wěn)壓型電源的要小得多,電源電路比較整潔,整機重量也有所下降,所以,現(xiàn)在的LED驅(qū)動電源

關鍵字: LED 驅(qū)動電源 開關電源

LED驅(qū)動電源是把電源供應轉(zhuǎn)換為特定的電壓電流以驅(qū)動LED發(fā)光的電壓轉(zhuǎn)換器,通常情況下:LED驅(qū)動電源的輸入包括高壓工頻交流(即市電)、低壓直流、高壓直流、低壓高頻交流(如電子變壓器的輸出)等。

關鍵字: LED 隧道燈 驅(qū)動電源
關閉