一、I2C物理層
I2C總線有如下特點:
1.在一個I2C總線中,可以連接多個I2C通訊設備,支持多個通訊主機及多個通訊從機。
2.一個I2C總線只使用2條總線線路,一條為雙向串行數據線SDA,一條串行時鐘線SCL。
數據線用來傳輸數據,時鐘線用于數據同步。
3.每個連接到總線上的設備都有一個獨立的地址,通訊主機可以用這個地址進行不同
設備之間的訪問。
4.總線通過上拉電阻連接到電源。當I2C設備空閑時,會輸出高阻態(tài)(意思是既不輸出
高電平,也不輸出低電平),而當所有設備都空閑時,都輸出高阻態(tài),由上拉電阻把總線
拉成高電平。
5.多個主機同時使用總線時,為了防止數據沖突,會利用仲裁方式決定哪個設備占用總線。
6.具有三種傳輸模式:標準模式,傳輸速率為100Kbit/s
快速模式,傳輸速率為400Kbit/s
高速模式,傳輸速率為3.4Mbit/s(目前大多數I2C設備尚不支持)
7.連接到相同總線的IC數量受到總線的最大電容400pF限制。
二、I2C協(xié)議層
I2C總線協(xié)議如下:
1.只有在總線空閑時,才允許啟動數據傳送。
2.在數據傳送過程中,當時鐘線為高電平時,數據線須保持穩(wěn)定狀態(tài),不允許隨意跳變。
時鐘線為高電平時,數據線任何電平的跳變都被看做總線的起始或停止信號。
起始信號:時鐘線保持高電平,數據線電平由高到低的跳變作為I2C總線的起始信號。
停止信號:時鐘線保持高電平,數據線電平由低到高的跳變作為I2C總線的停止信號。
應答信號ACK和非應答信號NACK:傳輸時主機產生時鐘,在傳輸完一個字節(jié)的數據后,
數據發(fā)送端將SDA的電平置高后釋放SDA的控制權,在第9個時鐘時,由數據接收端控制SDA。
若此時接收端將SDA電平置高,表示非應答信號NACK,若此時接收端將SDA電平置低,
則表示應答信號ACK。
數據有效性:I2C使用SDA信號線來傳輸數據,使用SCL信號線進行數據同步。SDA信號線
在SCL的每個時鐘周期傳輸一位數據。傳輸時,SCL為高電平時SDA數據有效,即:此時SDA
為高電平表示數據“1”,SDA為低電平,表示數據“0”’。當SCL為低電平時,數據接收方不對SDA
上的電平進行采集,在這個時候,發(fā)送方可以進行SDA電平的切換,為下一比特數據的傳輸做好
準備。
地址及數據方向:I2C協(xié)議規(guī)定, 設備地址可以是7位或10位(一般7位就夠了)。緊跟
設備地址的一個數據位用來表示數據傳輸方向,它是數據方向位,第8位或第11位。數據
方向位為1時表示主機由從機讀數據,為0時表示主機向從機寫數據。
響應:響應包括應答信號ACK和非應答信號NACK。作為數據接收端,無論主機從機,接收
到一個字節(jié)的數據后,若希望對方繼續(xù)發(fā)送數據,則需要向對方發(fā)送ACK信號。發(fā)送方在
收到接收方發(fā)送的ACK信號后,才繼續(xù)發(fā)送下一個字節(jié)的數據。若接收方希望結束數據傳輸,
則向發(fā)送方發(fā)送NACK信號,發(fā)送方接收到該信號后,先發(fā)送一個停止信號,然后結束這次數據傳輸。
停止數據傳輸時,主機必須向從機發(fā)送一個停止信號,不論是主機收到ACK后還是收到NACK后,
只要是結束數據傳輸,主機必須向從機發(fā)送一個停止信號。
如果我們直接控制STM32的2個GPIO引腳,分別用作SCL和SDA,按照上述信號
的時序要求,輸出時像控制LED燈那樣,輸入時則讀取SDA電平,就可以實現(xiàn)I2C
的通訊。由于直接控制GPIO引腳電平產生I2C通信時序,需要由CPU控制每個時刻
的引腳狀態(tài),所這種軟件模擬協(xié)議的方式,也稱為“模擬I2C”。
相對的,還有硬件控制的方式。STM32的I2C片上外設專門負責實現(xiàn)I2C通信協(xié)議。
上一篇:淺談 STM32 硬件I2C的使用 (中斷方式 無DMA 無最高優(yōu)先級)
下一篇:stm32中的i2c協(xié)議編程
推薦閱讀
史海拾趣
除了在歐洲和中國市場取得顯著成就外,Brand-Rex還積極拓展全球市場。其亞太區(qū)總部設在澳大利亞墨爾本市,大中國區(qū)辦事處分別設在北京、上海及香港,東南亞辦事處設在新加坡。這些布局使得Brand-Rex能夠更好地服務全球客戶,滿足不同地區(qū)的市場需求。同時,Brand-Rex還積極尋求與全球知名企業(yè)的合作機會,通過戰(zhàn)略合作和技術交流不斷提升自身的競爭力和創(chuàng)新能力。
綜上所述,Brand-Rex在電子行業(yè)中的發(fā)展是一個充滿挑戰(zhàn)和機遇的過程。憑借其卓越的技術、優(yōu)質的產品和全球市場的布局,Brand-Rex不斷壯大并成為行業(yè)內的佼佼者。未來,隨著全球電子行業(yè)的不斷發(fā)展,Brand-Rex有望繼續(xù)保持其領先地位,并為全球客戶提供更加優(yōu)質的產品和服務。
隨著業(yè)務的不斷發(fā)展,F(xiàn)ARNELL公司開始尋求全球化拓展。公司陸續(xù)在歐洲、美洲、亞洲等地設立分公司和辦事處,形成了覆蓋全球的銷售網絡。這一過程中,F(xiàn)ARNELL公司始終堅持“供貨可靠、方便快捷、物超所值”的經營理念,為全球客戶提供優(yōu)質的產品和服務。
隨著全球市場的不斷變化和競爭的加劇,Curtis不斷加強全球布局和戰(zhàn)略合作。公司與多家國際知名企業(yè)建立了長期合作關系,共同開發(fā)新產品、拓展新市場。此外,Curtis還積極參與國際展覽和交流活動,展示公司的最新技術和產品成果,提高品牌知名度和影響力。這些全球布局和戰(zhàn)略合作有助于Curtis更好地應對市場挑戰(zhàn)、把握發(fā)展機遇。
人才是企業(yè)發(fā)展的核心競爭力。Excelics Semiconductor深知這一點,因此他們非常重視人才的引進與培養(yǎng)。公司設立了專門的研發(fā)部門,吸引了大量優(yōu)秀的半導體技術人才。同時,他們還建立了完善的培訓體系,不斷提升員工的技能和素質。這些舉措為公司的持續(xù)發(fā)展提供了堅實的人才保障。
無錫友達注重企業(yè)文化建設和團隊建設,致力于為員工創(chuàng)造一個良好的工作環(huán)境和發(fā)展空間。公司設有完善的培訓及考核晉升制度,員工上升空間廣闊。同時,無錫友達還積極與省內各大高校合作,建立產學研基地,培養(yǎng)出一二級工程師50余名。這些優(yōu)秀的人才為公司的發(fā)展提供了有力的人才保障。
請注意,以上故事均為根據公開信息概括的框架性內容,具體細節(jié)可能因實際情況而有所不同。
隨著云計算和大數據技術的興起,計算機行業(yè)迎來了新一輪的變革。Computer Conversions Corp公司迅速調整戰(zhàn)略,開始研發(fā)與云計算相結合的新型轉換設備。通過不斷地技術革新和產品迭代,公司成功推出了一系列高效、穩(wěn)定的云計算轉換解決方案,幫助眾多企業(yè)順利遷移到了云平臺,從而保持了在行業(yè)中的領先地位。
在射手播放器和QQ影音為GPL吵得不可開交的時候,CBer應該少一些無知的謾罵,多學習一下開源許可證的基本知識。要罵也要罵到點子上,別不分是非,指著別人腳罵別人鼻子。在中國這樣一個幾乎完全不尊重版權,開源軟件處于萌芽發(fā)展的國家,開源是一個 ...… 查看全部問答∨ |
無線傳輸系統(tǒng)中nRF2401芯片數據丟失問題的研究 摘 要: 針對近距離無線傳輸系統(tǒng)中nRF2401芯片在實際應用中存在的數據丟失問題,提出一種對通信協(xié)議加以擴展的解決辦法,并在用單片機與該芯片設計的實驗電路上給予證明,給出了程序開發(fā)流程及硬件接口電路。實驗結果分析表明,此方法可以有效解決 ...… 查看全部問答∨ |
我在我的板子上(wince系統(tǒng))上接入一個usb設備,wince系統(tǒng)起來后,是可以正確的加載這個設備的驅動的。 我現(xiàn)在想對這個設備進行復位,該怎么做呢? 我將VCC直接斷掉,然后再重新上電,可是我發(fā)現(xiàn)系統(tǒng)無法正 ...… 查看全部問答∨ |
|
各位大俠,我用的是EVC4.0,剛開始接觸,在編譯一個程序的時候出現(xiàn)如下錯誤: fatal error C1189: #error : Database classes not supported in this library variant. 不知道這是什么錯誤呢?怎么解決呢? 謝謝… 查看全部問答∨ |
requirements: Senior SW engineer (10K/month): 1. Theory requirement: MUST be familiar with the philosophy of wireless protocol design NOT ONLY focus on stack level, but also have the clear idea of the communication software desi ...… 查看全部問答∨ |
https://bbs.eeworld.com.cn/upfiles/img/20076/200761219310933.jpg驅動芯片為ILI9320 SPI接口的QVGA TFT液晶 ! 正在進一步研究源碼部分 。。。 yea!… 查看全部問答∨ |
設計資源 培訓 開發(fā)板 精華推薦
- 恩智浦無線MCU應用征集+100套開發(fā)套件申請
- 免費申請測評:超小型 Linux 開發(fā)套件:Quantum Tiny Linux(帶 SoM 和擴展板)
- 下載安森美半導體工業(yè)物聯(lián)網工業(yè)解決方案,百份好禮送!
- 安全的革新,全新的驗證方式 下載富士通 《頻譜驗證解決方案 》白皮書 好禮送!
- 看是德科技X8711A 物聯(lián)網設備功能測試解決方案,答題贏好禮
- 搶先體驗!世界首款LoRa Soc單片機STM32WL
- DIY 個浪漫光影棒,報名請跟帖!
- 申請ufun學習板,入門&深度學習模擬,工程技能
- 英飛凌BMS解決方案,為電動汽車和儲能系統(tǒng)保駕護航!
- 預約有禮:2020年最新KEE課程