日韩欧美自拍在线观看-欧美精品在线看片一区二区-高清性视频一区二区播放-欧美日韩女优制服另类-国产精品久久久久久av蜜臀-成人在线黄色av网站-肥臀熟妇一区二区三区-亚洲视频在线播放老色-在线成人激情自拍视频

驅(qū)動OLED、陀螺儀等模塊必備總線知識-I2C總線詳解

出處:EEWORLD 發(fā)布于:2019-08-07 13:47:40

  如果您正在使用OLED顯示器,氣壓傳感器或陀螺儀/加速度計模塊的項目,您可能會發(fā)現(xiàn)正在使用I2C總線。
  I2C總線簡介
  I2C結(jié)合了SPI和UART的優(yōu)點。使用I2C,您可以將多個從設備連接到單個主設備上(如SPI),并且可以讓多個主器件控制單個或多個從器件。當您希望有多個微控制器記錄數(shù)據(jù)到單個存儲卡或?qū)⑽谋撅@示到單個LCD時,這非常有用。
  與UART通信一樣,I2C僅使用兩條線在設備之間傳輸數(shù)據(jù):


  SDA(串行數(shù)據(jù)) - 主站和從站發(fā)送和接收數(shù)據(jù)的線路。
  SCL(串行時鐘) - 承載時鐘信號的線路。
  I2C是一種串行通信協(xié)議,因此數(shù)據(jù)沿著單線(SDA線)逐位傳輸。
  與SPI一樣,I2C是同步的,因此位輸出通過主機和從機之間共享的時鐘信號與位采樣同步。時鐘信號始終由主機控制。


  I2C如何工作
  使用I2C時,數(shù)據(jù)被轉(zhuǎn)換成messages,messages則被分解為數(shù)據(jù)幀。每條messages都有一個地址幀,其中包含從站的二進制地址,以及一個或多個包含正在傳輸?shù)臄?shù)據(jù)的數(shù)據(jù)幀。該消息還包括每個數(shù)據(jù)幀之間的啟動和停止條件,讀/寫位和ACK / NACK位:


  啟動條件:在SCL線路從高電平切換到低電平之前,SDA線路從高電平切換到低電平。
  停止條件:SCL線路從低電平切換到高電平后,SDA線路從低電平切換到高電平。
  地址幀:每個從站的7或10位序列,用于在主站想與之通信時識別從站。
  讀/寫位:單個位,指定主器件是向從器件發(fā)送數(shù)據(jù)(低電壓電平)還是從器件請求數(shù)據(jù)(高電壓電平)。
  ACK / NACK位:消息中的每個幀后跟一個應答/不應答位。如果成功接收到地址幀或數(shù)據(jù)幀,則從接收設備向發(fā)送方返回ACK位。
  地址
  I2C沒有像SPI這樣的從選擇線,因此它需要另一種方法讓從器件知道數(shù)據(jù)正在發(fā)送給它,而不是另一個從器件。它通過地址來做到這一點。地址幀始終是新消息中起始位之后的幀。


  主設備將與其通信的從設備的地址發(fā)送給與其連接的每個從設備。然后,每個從設備將從主設備發(fā)送的地址與其自己的地址進行比較。如果地址匹配,則將低電壓ACK位發(fā)送回主機。如果地址不匹配,則從器件不執(zhí)行任何操作,SDA線保持高電平。


  讀/寫位
  地址幀在末尾包括一個位,用于通知從設備,主設備是想要向其寫入數(shù)據(jù)還是從主設備接收數(shù)據(jù)。如果主設備想要向從設備發(fā)送數(shù)據(jù),則讀/寫位是低電平。如果主設備向從設備請求數(shù)據(jù),則該位是高電平。
  數(shù)據(jù)框架
  在主設備檢測到來自從設備的ACK位之后,準備好發(fā)送個數(shù)據(jù)幀。
  數(shù)據(jù)幀始終為8位長,并以有效位先發(fā)送。緊接著每個數(shù)據(jù)幀的ACK / NACK位以驗證幀已被成功接收。在發(fā)送下一個數(shù)據(jù)幀之前,主機或從機必須接收ACK位(取決于發(fā)送數(shù)據(jù)的人)。
  在發(fā)送了所有數(shù)據(jù)幀之后,主設備可以向從設備發(fā)送停止條件以停止傳輸。停止條件是SCL線上從低電平到高電平轉(zhuǎn)換后,SDA線上從低電平變?yōu)楦唠娖剑琒CL線保持高電平。
  I2C數(shù)據(jù)傳輸步驟
  1.主機向每一個連接的從設備發(fā)送數(shù)據(jù),然后將SDA信號從高切換到低,之后在將SCL從高切換到低電平。
  2.主設備向每個從設備發(fā)送它想要與之通信的從設備的7或10位地址,以及讀/寫位:


  3.每個從設備將主設備發(fā)送的地址與其自己的地址進行比較。如果地址匹配,則從器件通過將SDA線拉低一位來返回ACK位。如果主設備的地址與從設備的地址不匹配,則從設備將SDA線保持為高電平。


  4.主設備發(fā)送或接收數(shù)據(jù)幀:


  5.在傳輸了每個數(shù)據(jù)幀之后,接收設備將另一個ACK位返回給發(fā)送方以確認成功接收到該幀:


  6.要停止數(shù)據(jù)傳輸,主機通過在將SDA切換為高電平之前切換SCL為高電平來向從機發(fā)送停止條件:


  有多個從設備的單一主設備
  由于I2C使用尋址,因此可以從單個主設備控制多個從設備。使用7位地址,可以使用128(27)個地址。使用10位地址并不常見,但提供1,024(210)個地址。要將多個從器件連接到單個主器件,請像這樣連接它們,使用4.7K歐姆上拉電阻將SDA和SCL線連接到Vcc:


  有多個從設備及多個主設備
  多個主設備可以連接到單個從設備或多個從設備。當兩個主設備嘗試通過SDA線同時發(fā)送或接收數(shù)據(jù)時,同一系統(tǒng)中出現(xiàn)多個主設備的問題。為了解決這個問題,每個主設備需要在發(fā)送消息之前檢測SDA線路是低還是高。如果SDA線為低電平,則表示另一個主控制器已控制總線,主控制器應等待發(fā)送消息。如果SDA線路很高,那么傳輸信息是安全的。要將多個主設備連接到多個從設備,請使用下圖,使用4.7K歐姆上拉電阻將SDA和SCL線路連接到Vcc:


  I2C的優(yōu)點和缺點
  與其他協(xié)議相比,I2C聽起來很復雜,不容易在程序中實現(xiàn)而導致數(shù)據(jù)丟失、無應答、“死等”等問題。但卻有很多優(yōu)點:
  優(yōu)點
  只使用兩根電線
  支持多個主服務器和多個從服務器
  ACK / NACK位確認每個幀都已成功傳輸
  硬件沒有UART那么復雜
  眾所周知且廣泛使用的協(xié)議
  缺點
  數(shù)據(jù)傳輸速率比SPI慢
  數(shù)據(jù)幀的大小限制為8位
  實現(xiàn)比SPI更復雜的硬件

關(guān)鍵詞:OLED,總線

版權(quán)與免責聲明

凡本網(wǎng)注明“出處:維庫電子市場網(wǎng)”的所有作品,版權(quán)均屬于維庫電子市場網(wǎng),轉(zhuǎn)載請必須注明維庫電子市場網(wǎng),http://www.hbjingang.com,違反者本網(wǎng)將追究相關(guān)法律責任。

本網(wǎng)轉(zhuǎn)載并注明自其它出處的作品,目的在于傳遞更多信息,并不代表本網(wǎng)贊同其觀點或證實其內(nèi)容的真實性,不承擔此類作品侵權(quán)行為的直接責任及連帶責任。其他媒體、網(wǎng)站或個人從本網(wǎng)轉(zhuǎn)載時,必須保留本網(wǎng)注明的作品出處,并自負版權(quán)等法律責任。

如涉及作品內(nèi)容、版權(quán)等問題,請在作品發(fā)表之日起一周內(nèi)與本網(wǎng)聯(lián)系,否則視為放棄相關(guān)權(quán)利。

廣告
OEM清單文件: OEM清單文件
*公司名:
*聯(lián)系人:
*手機號碼:
QQ:
有效期:

掃碼下載APP,
一鍵連接廣大的電子世界。

在線人工客服

買家服務:
賣家服務:
技術(shù)客服:

0571-85317607

網(wǎng)站技術(shù)支持

13606545031

客服在線時間周一至周五
9:00-17:30

關(guān)注官方微信號,
第一時間獲取資訊。

建議反饋

聯(lián)系人:

聯(lián)系方式:

按住滑塊,拖拽到最右邊
>>
感謝您向阿庫提出的寶貴意見,您的參與是維庫提升服務的動力!意見一經(jīng)采納,將有感恩紅包奉上哦!