I2C與UART的區(qū)別與比較_第1頁
I2C與UART的區(qū)別與比較_第2頁
I2C與UART的區(qū)別與比較_第3頁
I2C與UART的區(qū)別與比較_第4頁
I2C與UART的區(qū)別與比較_第5頁
全文預覽已結(jié)束

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

1、i2ciic本身是為板級通訊設(shè)計,沒有考慮遠距離通訊.uart通訊編程簡單,通訊速度遠比iic快,可以直接使用rs485延伸通訊距離達到1km,通訊速度很容易做高。uart是一個并行輸入成為串行輸出的芯片.有一點要注意的是,它提供了rs-232c數(shù)據(jù)終端設(shè)備接口,這樣計算機就可以和調(diào)制解調(diào)器或其它使用rs-232c接口的串行設(shè)備通信. i2c(interintegrated circuit)總線是由philips公司開發(fā)的兩線式串行總線,用于連接微控制器及其外圍設(shè)備。是微電子通信控制領(lǐng)域廣泛采用的一種總線標準。它是同步通信的一種特殊形式,具有接口線少,控制方式簡單,器件封裝形式小,通信速率較高

2、等優(yōu)點。發(fā)送器:發(fā)送數(shù)據(jù)到總線的器件;接收器:從總線接收數(shù)據(jù)的器件;主機:初始化發(fā)送產(chǎn)生時鐘信號和終止發(fā)送的器件;從機:被主機尋址的器件;多主機:同時有多于一個主機嘗試控制總線但不破壞傳輸;仲裁:是一個在有多個主機同時嘗試控制總線但只允許其中一個控制總線并使傳輸不被破壞的過程;同步:兩個或多個器件同步時鐘信號的過程 。 兩條總線線路:一條串行數(shù)據(jù)線sda,一條串行時鐘線scl;sda 線上的數(shù)據(jù)必須在時鐘的高電平周期保持穩(wěn)定。數(shù)據(jù)線的高或低電平狀態(tài)只 有在scl 線的時鐘信號是低電平時才能改變。scl 線是高電平時,sda 線從高電平向低電平切換,這個情況表示起始條件;scl 線是高電平時,s

3、da 線由低電平向高電平切換,這個情況表示停止條件。 發(fā)送到sda 線上的每個字節(jié)必須為8 位,每次傳輸可以發(fā)送的字節(jié)數(shù)量不受限制。每個字節(jié)后必須跟一個響應位。首先傳輸?shù)氖菙?shù)據(jù)的最高位(msb),如果從機要完成一些其他功能后(例如一個內(nèi)部中斷服務程序)才能接收或發(fā)送下一個完整的數(shù)據(jù)字節(jié),可以使時鐘線scl 保持低電平,迫使主機進入等待狀態(tài),當從機準備好接收下一個數(shù)據(jù)字節(jié)并釋放時鐘線scl 后數(shù)據(jù)傳輸繼續(xù)。 數(shù)據(jù)傳輸必須帶響應,相關(guān)的響應時鐘脈沖由主機產(chǎn)生。在響應的時鐘脈沖期間發(fā)送器釋放sda 線(高)。在響應的時鐘脈沖期間,接收器必須將sda 線拉低,使它在這個時鐘脈沖的高電平期間保持穩(wěn)定的低

4、電平。 寫操作 寫操作分為字節(jié)寫和頁面寫兩種操作,對于頁面寫根據(jù)芯片的一次裝載的字節(jié)不同有所不同。 讀操作 讀操作有三種基本操作:當前地址讀、隨機讀和順序讀。圖4給出的是順序讀的時序圖。應當注意的是:最后一個讀操作的第9個時鐘周期不是“不關(guān)心”。為了結(jié)束讀操作,主機必須在第9個周期間發(fā)出停止條件或者在第9個時鐘周期內(nèi)保持sda為高電平、然后發(fā)出停止條件。 i2c的讀操作與寫操作: i2c與uart不同的地方首先在于先傳高位,后傳送低位。主機寫數(shù)據(jù)時,每發(fā)送一個字節(jié),接收機需要回復一個應答位“0”,通過應答位來判斷從機是否接收成功。主機讀數(shù)據(jù)時,接收一個字節(jié)結(jié)束后,主機也需要發(fā)送一應答位“0”,

5、但是當接收最后一個字節(jié)結(jié)束后,則需發(fā)送一個非應答位“1”,發(fā)完了1后,再發(fā)一個停止信號,最終結(jié)束通信。i2c寫數(shù)據(jù)流程首先i2c起始信號,然后發(fā)送首字節(jié),即器件(eeprom)地址。并且在讀寫方向位上選擇“寫操作”方向。(0xa0)第二個字節(jié),發(fā)送數(shù)據(jù)的存儲地址,就是要讀取的數(shù)據(jù)所存儲在eeprom中的位置。第三個字節(jié),發(fā)送要存儲的數(shù)據(jù)第一個字節(jié),第二個字節(jié)注意:在寫數(shù)據(jù)的過程中,都要等待eeprom返回一個“應答位”。write_eeprom:void write_e2prom(uint8 addr,uint8 databyte)i2cstart();i2csend(0xa0);/起始信號后

6、寫入器件地址,寫操作i2csend(addr);/寫入發(fā)送數(shù)據(jù)的存儲地址i2csend(databyte)/發(fā)送存儲的數(shù)據(jù)i2cstop;void i2csend(uint8 byte)uint8 mask=0x80; /數(shù)據(jù)由高位依次傳輸 int i;for(i=0;i<8;i+) scl=0;delay();if(mask&byte) sda=1; elsesda=0;mask>>=1;delay();/sda延遲一個高電平scl=1; /下一個時序,delay();/scl延遲一個低電平,保證時序的完整性/一個字節(jié)的數(shù)據(jù)傳輸完成之后,要等待應答位scl=0;/接

7、著上一個時序,保證完整性sda=1;/主機釋放sda,拉高sda,觀察應答位delay();/延遲一個時序,等待應答位j=sda;/取出從機返回的應答位進行判斷,低電平的時候有效delay();/延遲一個時序scl=1;/拉高scl,等待下次傳輸 uart通信uart是一種通用串行數(shù)據(jù)總線,用于異步通信。該總線雙向通信,可以實現(xiàn)全雙工傳輸和接收。在嵌入式設(shè)計中,uart用來與pc進行通信,包括與監(jiān)控調(diào)試器和其它器件,如eeprom通信。uart首先將接收到的并行數(shù)據(jù)轉(zhuǎn)換成串行數(shù)據(jù)來傳輸。消息幀從一個低位起始位開始,后面是58個數(shù)據(jù)位,一個可用的奇偶位和一個或幾個高位停止位。接收器發(fā)現(xiàn)開始位時它

8、就知道數(shù)據(jù)準備發(fā)送,并嘗試與發(fā)送器時鐘頻率同步。如果選擇了奇偶,uart就在數(shù)據(jù)位后面加上奇偶位。奇偶位可用來幫助錯誤校驗。在接收過程中,uart從消息幀中去掉起始位和結(jié)束位,對進來的字節(jié)進行奇偶校驗,并將數(shù)據(jù)字節(jié)從串行轉(zhuǎn)換成并行。uart也產(chǎn)生額外的信號來指示發(fā)送和接收的狀態(tài)。例如,如果產(chǎn)生一個奇偶錯誤,uart就置位奇偶標志。異步串口通信協(xié)議作為uart的一種,工作原理是將傳輸數(shù)據(jù)的每個字符一位接一位地傳輸。其中各位的意義如下:起始位:先發(fā)出一個邏輯”0”的信號,表示傳輸字符的開始。資料位:緊接著起始位之后。資料位的個數(shù)可以是4、5、6、7、8等,構(gòu)成一個字符。通常采用ascii碼。從最低位開始傳送,靠時鐘定位。奇偶校驗位:資料位加上這一位后,使得“1”的位數(shù)應為偶數(shù)(偶校驗)或奇數(shù)(奇校驗),以此來校驗資料傳送的正確性。停止位:它是一個字符數(shù)據(jù)的結(jié)束標志??梢允?位、1.5位、2位的高電平。 由于數(shù)據(jù)是在傳輸線上定時的,并且每一個設(shè)備有其自己的時鐘,很可能在通信中兩臺設(shè)備間出現(xiàn)了小小的不同步。因此停止位不僅僅是表示傳輸?shù)慕Y(jié)束,并且提供計算機校正時鐘同步的機會。適用于停止位的位數(shù)越多,不同時鐘同步的容忍程度越大

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論