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

下載本文檔

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

文檔簡(jiǎn)介

I2CIIC本身是為板級(jí)通訊設(shè)計(jì),沒(méi)有考慮遠(yuǎn)距離通訊.UART通訊編程簡(jiǎn)單,通訊速度遠(yuǎn)比IIC快,可以直接使用RS485延伸通訊距離達(dá)到1km,通訊速度很容易做高。UART是一個(gè)并行輸入成為串行輸出的芯片.有一點(diǎn)要注意的是,它提供了RS-232C數(shù)據(jù)終端設(shè)備接口,這樣計(jì)算機(jī)就可以和調(diào)制解調(diào)器或其它使用RS-232C接口的串行設(shè)備通信. I2C(InterIntegrated Circuit)總線是由PHILIPS公司開發(fā)的兩線式串行總線,用于連接微控制器及其外圍設(shè)備。是微電子通信控制領(lǐng)域廣泛采用的一種總線標(biāo)準(zhǔn)。它是同步通信的一種特殊形式,具有接口線少,控制方式簡(jiǎn)單,器件封裝形式小,通信速率較高等優(yōu)點(diǎn)。發(fā)送器:發(fā)送數(shù)據(jù)到總線的器件;接收器:從總線接收數(shù)據(jù)的器件;主機(jī):初始化發(fā)送產(chǎn)生時(shí)鐘信號(hào)和終止發(fā)送的器件;從機(jī):被主機(jī)尋址的器件;多主機(jī):同時(shí)有多于一個(gè)主機(jī)嘗試控制總線但不破壞傳輸;仲裁:是一個(gè)在有多個(gè)主機(jī)同時(shí)嘗試控制總線但只允許其中一個(gè)控制總線并使傳輸不被破壞的過(guò)程;同步:兩個(gè)或多個(gè)器件同步時(shí)鐘信號(hào)的過(guò)程 。 兩條總線線路:一條串行數(shù)據(jù)線SDA,一條串行時(shí)鐘線SCL;SDA 線上的數(shù)據(jù)必須在時(shí)鐘的高電平周期保持穩(wěn)定。數(shù)據(jù)線的高或低電平狀態(tài)只 有在SCL 線的時(shí)鐘信號(hào)是低電平時(shí)才能改變。SCL 線是高電平時(shí),SDA 線從高電平向低電平切換,這個(gè)情況表示起始條件;SCL 線是高電平時(shí),SDA 線由低電平向高電平切換,這個(gè)情況表示停止條件。 發(fā)送到SDA 線上的每個(gè)字節(jié)必須為8 位,每次傳輸可以發(fā)送的字節(jié)數(shù)量不受限制。每個(gè)字節(jié)后必須跟一個(gè)響應(yīng)位。首先傳輸?shù)氖菙?shù)據(jù)的最高位(MSB),如果從機(jī)要完成一些其他功能后(例如一個(gè)內(nèi)部中斷服務(wù)程序)才能接收或發(fā)送下一個(gè)完整的數(shù)據(jù)字節(jié),可以使時(shí)鐘線SCL 保持低電平,迫使主機(jī)進(jìn)入等待狀態(tài),當(dāng)從機(jī)準(zhǔn)備好接收下一個(gè)數(shù)據(jù)字節(jié)并釋放時(shí)鐘線SCL 后數(shù)據(jù)傳輸繼續(xù)。 數(shù)據(jù)傳輸必須帶響應(yīng),相關(guān)的響應(yīng)時(shí)鐘脈沖由主機(jī)產(chǎn)生。在響應(yīng)的時(shí)鐘脈沖期間發(fā)送器釋放SDA 線(高)。在響應(yīng)的時(shí)鐘脈沖期間,接收器必須將SDA 線拉低,使它在這個(gè)時(shí)鐘脈沖的高電平期間保持穩(wěn)定的低電平。 寫操作 寫操作分為字節(jié)寫和頁(yè)面寫兩種操作,對(duì)于頁(yè)面寫根據(jù)芯片的一次裝載的字節(jié)不同有所不同。 讀操作 讀操作有三種基本操作:當(dāng)前地址讀、隨機(jī)讀和順序讀。圖4給出的是順序讀的時(shí)序圖。應(yīng)當(dāng)注意的是:最后一個(gè)讀操作的第9個(gè)時(shí)鐘周期不是“不關(guān)心”。為了結(jié)束讀操作,主機(jī)必須在第9個(gè)周期間發(fā)出停止條件或者在第9個(gè)時(shí)鐘周期內(nèi)保持SDA為高電平、然后發(fā)出停止條件。 I2C的讀操作與寫操作: I2C與UART不同的地方首先在于先傳高位,后傳送低位。主機(jī)寫數(shù)據(jù)時(shí),每發(fā)送一個(gè)字節(jié),接收機(jī)需要回復(fù)一個(gè)應(yīng)答位“0”,通過(guò)應(yīng)答位來(lái)判斷從機(jī)是否接收成功。主機(jī)讀數(shù)據(jù)時(shí),接收一個(gè)字節(jié)結(jié)束后,主機(jī)也需要發(fā)送一應(yīng)答位“0”,但是當(dāng)接收最后一個(gè)字節(jié)結(jié)束后,則需發(fā)送一個(gè)非應(yīng)答位“1”,發(fā)完了1后,再發(fā)一個(gè)停止信號(hào),最終結(jié)束通信。I2C寫數(shù)據(jù)流程首先I2C起始信號(hào),然后發(fā)送首字節(jié),即器件(EEPROM)地址。并且在讀寫方向位上選擇“寫操作”方向。(0xa0)第二個(gè)字節(jié),發(fā)送數(shù)據(jù)的存儲(chǔ)地址,就是要讀取的數(shù)據(jù)所存儲(chǔ)在EEPROM中的位置。第三個(gè)字節(jié),發(fā)送要存儲(chǔ)的數(shù)據(jù)第一個(gè)字節(jié),第二個(gè)字節(jié)注意:在寫數(shù)據(jù)的過(guò)程中,都要等待EEPROM返回一個(gè)“應(yīng)答位”。write_eeprom:void write_e2prom(uint8 addr,uint8 databyte)I2CStart();I2CSend(0xa0);/起始信號(hào)后寫入器件地址,寫操作I2CSend(addr);/寫入發(fā)送數(shù)據(jù)的存儲(chǔ)地址I2CSend(databyte)/發(fā)送存儲(chǔ)的數(shù)據(jù)I2CStop;void I2CSend(uint8 byte)uint8 mask=0x80; /數(shù)據(jù)由高位依次傳輸 int i;for(i=0;i=1;Delay();/SDA延遲一個(gè)高電平SCL=1; /下一個(gè)時(shí)序,Delay();/SCL延遲一個(gè)低電平,保證時(shí)序的完整性/一個(gè)字節(jié)的數(shù)據(jù)傳輸完成之后,要等待應(yīng)答位SCL=0;/接著上一個(gè)時(shí)序,保證完整性SDA=1;/主機(jī)釋放SDA,拉高SDA,觀察應(yīng)答位Delay();/延遲一個(gè)時(shí)序,等待應(yīng)答位j=SDA;/取出從機(jī)返回的應(yīng)答位進(jìn)行判斷,低電平的時(shí)候有效Delay();/延遲一個(gè)時(shí)序SCL=1;/拉高SCL,等待下次傳輸 UART通信UART是一種通用串行數(shù)據(jù)總線,用于異步通信。該總線雙向通信,可以實(shí)現(xiàn)全雙工傳輸和接收。在嵌入式設(shè)計(jì)中,UART用來(lái)與PC進(jìn)行通信,包括與監(jiān)控調(diào)試器和其它器件,如EEPROM通信。UART首先將接收到的并行數(shù)據(jù)轉(zhuǎn)換成串行數(shù)據(jù)來(lái)傳輸。消息幀從一個(gè)低位起始位開始,后面是58個(gè)數(shù)據(jù)位,一個(gè)可用的奇偶位和一個(gè)或幾個(gè)高位停止位。接收器發(fā)現(xiàn)開始位時(shí)它就知道數(shù)據(jù)準(zhǔn)備發(fā)送,并嘗試與發(fā)送器時(shí)鐘頻率同步。如果選擇了奇偶,UART就在數(shù)據(jù)位后面加上奇偶位。奇偶位可用來(lái)幫助錯(cuò)誤校驗(yàn)。在接收過(guò)程中,UART從消息幀中去掉起始位和結(jié)束位,對(duì)進(jìn)來(lái)的字節(jié)進(jìn)行奇偶校驗(yàn),并將數(shù)據(jù)字節(jié)從串行轉(zhuǎn)換成并行。UART也產(chǎn)生額外的信號(hào)來(lái)指示發(fā)送和接收的狀態(tài)。例如,如果產(chǎn)生一個(gè)奇偶錯(cuò)誤,UART就置位奇偶標(biāo)志。異步串口通信協(xié)議作為UART的一種,工作原理是將傳輸數(shù)據(jù)的每個(gè)字符一位接一位地傳輸。其中各位的意義如下:起始位:先發(fā)出一個(gè)邏輯”0”的信號(hào),表示傳輸字符的開始。資料位:緊接著起始位之后。資料位的個(gè)數(shù)可以是4、5、6、7、8等,構(gòu)成一個(gè)字符。通常采用ASCII碼。從最低位開始傳送,靠時(shí)鐘定位。奇偶校驗(yàn)位:資料位加上這一位后,使得“1”的位數(shù)應(yīng)為偶數(shù)(偶校驗(yàn))或奇數(shù)(奇校驗(yàn)),以此來(lái)校驗(yàn)資料傳送的正確性。停止位:它是一個(gè)字符數(shù)據(jù)的結(jié)束標(biāo)志。可以是1位、1.5位、2位的高電平。 由于數(shù)據(jù)是在傳輸線上定時(shí)的,并且每一個(gè)設(shè)備有其自己的時(shí)鐘,很可能在通信中兩臺(tái)設(shè)備間出現(xiàn)了小小的不同步。因此停止位不僅僅是表示傳輸?shù)慕Y(jié)束,并且提供計(jì)算機(jī)校正時(shí)鐘同步的機(jī)會(huì)。適用于停止位的位數(shù)越多,不同時(shí)鐘同步的容忍程度

溫馨提示

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

最新文檔

評(píng)論

0/150

提交評(píng)論