




全文預(yù)覽已結(jié)束
下載本文檔
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
I2CIIC本身是為板級(jí)通訊設(shè)計(jì),沒有考慮遠(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è)控制總線并使傳輸不被破壞的過程;同步:兩個(gè)或多個(gè)器件同步時(shí)鐘信號(hào)的過程 。 兩條總線線路:一條串行數(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é)寫和頁面寫兩種操作,對(duì)于頁面寫根據(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”,通過應(yīng)答位來判斷從機(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ù)的過程中,都要等待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用來與PC進(jìn)行通信,包括與監(jiān)控調(diào)試器和其它器件,如EEPROM通信。UART首先將接收到的并行數(shù)據(jù)轉(zhuǎn)換成串行數(shù)據(jù)來傳輸。消息幀從一個(gè)低位起始位開始,后面是58個(gè)數(shù)據(jù)位,一個(gè)可用的奇偶位和一個(gè)或幾個(gè)高位停止位。接收器發(fā)現(xiàn)開始位時(shí)它就知道數(shù)據(jù)準(zhǔn)備發(fā)送,并嘗試與發(fā)送器時(shí)鐘頻率同步。如果選擇了奇偶,UART就在數(shù)據(jù)位后面加上奇偶位。奇偶位可用來幫助錯(cuò)誤校驗(yàn)。在接收過程中,UART從消息幀中去掉起始位和結(jié)束位,對(duì)進(jìn)來的字節(jié)進(jìn)行奇偶校驗(yàn),并將數(shù)據(jù)字節(jié)從串行轉(zhuǎn)換成并行。UART也產(chǎn)生額外的信號(hào)來指示發(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)),以此來校驗(yàn)資料傳送的正確性。停止位:它是一個(gè)字符數(shù)據(jù)的結(jié)束標(biāo)志??梢允?位、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. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 小班親子活動(dòng)方案
- 少兒節(jié)日活動(dòng)方案
- 小班家長(zhǎng)會(huì)教研活動(dòng)方案
- 工會(huì)培訓(xùn)教育活動(dòng)方案
- 小米商城活動(dòng)方案
- 小班夏日活動(dòng)方案
- 尖頭女鞋清倉活動(dòng)方案
- 師徒金搭檔活動(dòng)方案
- 小學(xué)童話繪畫活動(dòng)方案
- 小班校園安全活動(dòng)方案
- 《GMP基礎(chǔ)培訓(xùn)》課件
- 《濱海旅游區(qū)介紹》課件
- 2024年度中國(guó)資管行業(yè)ESG投資發(fā)展研究報(bào)告
- 《兒童青少年體能訓(xùn)練課程指南》
- 顯示設(shè)備健康護(hù)眼技術(shù)研究-洞察分析
- 商業(yè)綜合體電梯調(diào)試方案
- 乙肝免疫標(biāo)志物檢測(cè)及其實(shí)驗(yàn)結(jié)果解讀
- 中央空調(diào)系統(tǒng)維保服務(wù)報(bào)價(jià)清單
- 軟件定義網(wǎng)絡(luò)SDN
- 血糖管理課件
- 2024年浙江省普通高中學(xué)業(yè)水平適應(yīng)性考試歷史試題(解析版)
評(píng)論
0/150
提交評(píng)論