版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡介
1、IIC總線I2C-INTER-IC串行總線的縮寫,是PHILIPS公司推出的芯片間串行傳輸總線。它以1根串行數(shù)據(jù)線(SDA)和1根串行時(shí)鐘線(SCL)實(shí)現(xiàn)了雙工的同步數(shù)據(jù)傳輸。具有接口線少,控制方式簡化,器件封裝形式小,通信速率較高等優(yōu)點(diǎn)。在主從通信中,可以有多個(gè)I2C總線器件同時(shí)接到I2C總線上,通過地址來識(shí)別通信對象。IC接口的協(xié)議里面包括設(shè)備地址信息,可以同一總線上連接多個(gè)從設(shè)備,通過應(yīng)答來互通數(shù)據(jù)及命令。但是傳輸速率有限,標(biāo)準(zhǔn)模式下可達(dá)到100Kbps,快速模式下可達(dá)到400Kbps(我們開發(fā)板一般在130Kbps),高速模式下達(dá)到4Mbps,不能實(shí)現(xiàn)全雙工,不適合傳輸很多的數(shù)據(jù)。II
2、C總線是一個(gè)真正的多主機(jī)總線,總線上多個(gè)主機(jī)初始化傳輸,可以通過傳輸檢測和仲裁來防止數(shù)據(jù)被破壞。下來詳細(xì)了解IIC總線時(shí)序:1.1 總線數(shù)據(jù)有效性IIC總線是單工,因此同一時(shí)刻數(shù)據(jù)只有一個(gè)流向,因此采樣有效時(shí)鐘也是單一的,是在SCL時(shí)鐘的高電平采樣數(shù)據(jù)。IIC總線上SDA數(shù)據(jù)在SCL時(shí)鐘低電平是可以發(fā)生變化,但是在時(shí)鐘高電平時(shí)必須穩(wěn)定,以便主從設(shè)備根據(jù)時(shí)鐘采樣數(shù)據(jù),如下圖:XSCLdatalinestable劃口/a:idchangei成datab:1.2 總線空閑條件IIC總線上設(shè)備都釋放總線(發(fā)出傳輸停止)后,IIC總線根據(jù)上拉電阻變成高電平,SDASCL都是高電平。1.3 總線數(shù)據(jù)傳輸起
3、始和結(jié)束條件IIC總線SCL高電平時(shí)SDA出現(xiàn)由高到低的跳變,標(biāo)志總線上數(shù)據(jù)傳輸?shù)拈_始條件IIC總線SCL高電平時(shí)SDA出現(xiàn)由低到高的跳變,標(biāo)志總線上數(shù)據(jù)傳輸?shù)慕Y(jié)束條件START的STOI*1.4 總線數(shù)據(jù)傳輸順序以及ACK應(yīng)答IIC總線上數(shù)據(jù)傳輸室MSB在前,LSB在后,從示波器上看,從左向右依次讀出數(shù)據(jù)即可IIC總線傳輸?shù)臄?shù)據(jù)不收限制,但是每次發(fā)到SDA上的必須是8位,并且主機(jī)發(fā)送8位后釋放總線,從機(jī)收到數(shù)據(jù)后必須拉低SDA一個(gè)時(shí)鐘,回應(yīng)ACK表示數(shù)據(jù)接收成功,我們?nèi)绻静ㄆ魃峡吹降牟ㄐ尉褪敲看?位數(shù)據(jù),8bit+1bitack。如下:OUTPUT口AFOUTPUTHYRECEIVED虻U
4、峪H30從機(jī)收到一字節(jié)數(shù)據(jù)后,如果需要一些時(shí)間處理,則會(huì)拉低SCL,讓傳輸進(jìn)入等待狀態(tài),處理完成,釋放SCL,繼續(xù)傳輸,如下:1.5 總線讀寫時(shí)序數(shù)據(jù)的傳輸在起始條件之后,發(fā)送一個(gè)7位的從機(jī)地址,緊接著第8位是數(shù)據(jù)方向(R/W),0-表示發(fā)送數(shù)據(jù)(寫),1-表示接收數(shù)據(jù)(讀)。數(shù)據(jù)傳輸一般由主機(jī)產(chǎn)生的停止位(P)終止。但是如果主機(jī)仍希望在總線上通訊,它可以產(chǎn)生重復(fù)起始條件(Sr),和尋址另一個(gè)從機(jī),而不是首先產(chǎn)生一個(gè)停止條件。在這種傳輸中,可能有不同的讀/寫格式結(jié)合。IIC總線主設(shè)備讀寫從設(shè)備,一般都是與從設(shè)備的寄存器打交道,這個(gè)可以通過閱讀從設(shè)備的datasheet獲取??偩€寫時(shí)序如下:ma
5、sterstart+masteraddr|w+slaveack+masterreg|w+slaveack+masterdata+slaveack+masterrestart。masterdata+slavenack+masterstop總線讀時(shí)序如下:masterstart+masteraddr|w+slaveack+masterreg|w+slaveack+masterrestart+masteraddr|r+slaveack+slavedata+masternack+masterstop總線讀時(shí)序與寫的不同之處在于讀需要2次傳輸才能完成一次讀取,首先要寫寄存器地址到從設(shè)備,其實(shí)是寫到了從設(shè)
6、備的控制寄存器或者命令寄存器,從設(shè)備內(nèi)部會(huì)根據(jù)這個(gè)地址來尋址所要操作的寄存器。我在讀我們的bios和內(nèi)核時(shí)發(fā)現(xiàn),2者在總線讀時(shí)序上的實(shí)現(xiàn)不太一樣,在于第一次寄存器地址寫入后,一個(gè)發(fā)的是restart,一個(gè)發(fā)的是stop,然后再start開始讀取數(shù)據(jù),示波器抓波形發(fā)現(xiàn)讀取數(shù)據(jù)都正確,說明這2種時(shí)序都是正確的。IIC總線的讀寫時(shí)序比較固定,設(shè)備通信嚴(yán)格遵循協(xié)議,因此iIC總線設(shè)備驅(qū)動(dòng)程序的編寫也就相對簡單一些。主要應(yīng)用的ilc總線設(shè)備有touchscreenrtc外擴(kuò)io等二SPI總線SPI-SerialPeripheralInterface,串行外圍設(shè)備接口,是Motorola公司推出的一種同步
7、串行通訊方式,是一種三線同步總線,因其硬件功能很強(qiáng),與SPI有關(guān)的軟件就相當(dāng)簡單,使CPU有更多的時(shí)間處理其他事務(wù)。SPI通常有SCK時(shí)鐘,STB片選,DATA數(shù)據(jù)信號三個(gè)信號。I2C通常有SDA數(shù)據(jù)和SCL時(shí)鐘兩個(gè)信號。SPI總線真正實(shí)現(xiàn)了全雙工數(shù)據(jù)傳輸,SPI有3線跟4線兩種,4線的話,就是多了一條叫SDC的線,用來告知從設(shè)備現(xiàn)在傳輸?shù)氖菙?shù)據(jù)還是指令。這個(gè)接口較快,可以傳輸較連續(xù)的數(shù)據(jù)。SPI要想連接多個(gè)從設(shè)備,就需要給每個(gè)從設(shè)備配備一根片選信號。如果要可以實(shí)現(xiàn)全雙工,也是需要多加一根數(shù)據(jù)線(MOSIMISO)。也就是說SPI總線是通過片選來選擇從設(shè)備。spi總線速度要比iic要快,我們開
8、發(fā)板最快能達(dá)到30MHZspi總線特點(diǎn):1,采用主-從模式(Master-Slave)的控制方式SPI規(guī)定了兩個(gè)SPI設(shè)備之間通信必須由主設(shè)備(Master)來控制次設(shè)備(Slave).一個(gè)Master設(shè)備可以通過提供Clock以及對Slave設(shè)備進(jìn)行片選(SlaveSelect)來控制多個(gè)Slave設(shè)備,SPI協(xié)議還規(guī)定Slave設(shè)備的Clock由Master設(shè)備通過SCK管腳提供給Slave設(shè)備,Slave設(shè)備本身不能產(chǎn)生或控制Clock,沒有Clock則Slave設(shè)備不能正常工作.2,采用同步方式(Synchronous)傳輸數(shù)據(jù)Master設(shè)備會(huì)根據(jù)將要交換的數(shù)據(jù)來產(chǎn)生相應(yīng)的時(shí)鐘脈沖(
9、ClockPulse),時(shí)鐘脈沖組成了時(shí)鐘信號(ClockSignal),時(shí)鐘信號通過時(shí)鐘極性(CPOL)和時(shí)鐘相位(CPHA)控制著兩個(gè)SPI設(shè)備間何時(shí)數(shù)據(jù)交換以及何時(shí)對接收到的數(shù)據(jù)進(jìn)行采樣,來保證數(shù)據(jù)在兩個(gè)設(shè)備之間是同步傳輸?shù)?3.數(shù)據(jù)交換(DataExchanges)SPI設(shè)備間的數(shù)據(jù)傳輸之所以又被稱為數(shù)據(jù)交換,是因?yàn)镾PI協(xié)議規(guī)定一個(gè)SPI設(shè)備不能在數(shù)據(jù)通信過程中僅僅只充當(dāng)一個(gè)"發(fā)送者(Transmitter)"或者"接收者(Receiver)",也就是說是全雙工的,在每個(gè)Clock周期內(nèi),SPI設(shè)備都會(huì)發(fā)送并接收一個(gè)bit大小的數(shù)據(jù),相當(dāng)于該設(shè)
10、備有一個(gè)bit大小的數(shù)據(jù)被交換了.一個(gè)Slave設(shè)備要想能夠接收到Master發(fā)過來的控制信號,必須在此之前能夠被Master設(shè)備進(jìn)行訪問(Access).所以,Master設(shè)備必須首先通過SS/CSpin對Slave設(shè)備進(jìn)行片選,把想要訪問的Slave設(shè)備選上.在數(shù)據(jù)傳輸?shù)倪^程中,每次接收到的數(shù)據(jù)必須在下一次數(shù)據(jù)傳輸之前被采樣.如果之前接收到的數(shù)據(jù)沒有被讀取,那么這些已經(jīng)接收完成的數(shù)據(jù)將有可能會(huì)被丟棄,導(dǎo)致SPI物理模塊最終失效.因此,在程序中一般都會(huì)在SPI傳輸完數(shù)據(jù)后,去讀取SPI設(shè)備里的數(shù)據(jù),即使這些數(shù)據(jù)(DummyData)在我們的程序里是無用的.具體spi工作原理可以看博客另外一篇
11、文章SPI和IIC是2種不同的通信協(xié)議,現(xiàn)在已經(jīng)廣泛的應(yīng)用在IC之間的通信中。并且不少單片機(jī)已經(jīng)整和了SPI和IIC的借口。但像51這種不支持SPI和IIC的單片機(jī),也可以用模擬時(shí)鐘的工作方式進(jìn)行SPI和IIC的通信的。下面主要總結(jié)一下2種總線的異同點(diǎn):1 iic總線不是全雙工,2根線SCLSDA。spi總線實(shí)現(xiàn)全雙工,4根線SCKCSMOSIMISO2 iic總線是多主機(jī)總線,通過SDA上的地址信息來鎖定從設(shè)備。spi總線只有一個(gè)主設(shè)備,主設(shè)備通過CS片選來確定從設(shè)備3 iic總線傳輸速度在100kbps-4Mbps。spi總線傳輸速度更快,可以達(dá)到30MHz以上。4 iic總線空閑狀態(tài)下S
12、DASCL都是高電平。spi總線空閑狀態(tài)MOSIMISO也都是SCK是有CPOL決定的spi總線cs拉低5 iic總線scl高電平時(shí)sda下降沿標(biāo)志傳輸開始,上升沿標(biāo)志傳輸結(jié)束。標(biāo)志傳輸開始,cs拉高標(biāo)志傳輸結(jié)束6 iic總線是SCL高電平采樣。spi總線因?yàn)槭侨p工,因此是沿采樣,具體要根據(jù)CPHA決定。一般情況下masterdevice是SCK的上升沿發(fā)送,下降沿采集7 iic總線和spi總線數(shù)據(jù)傳輸都是MSB在前,LSB在后(串口是LSB在前)8 iic總線和spi總線時(shí)鐘都是由主設(shè)備產(chǎn)生,并且只在數(shù)據(jù)傳輸時(shí)發(fā)出時(shí)鐘9 iic總線讀寫時(shí)序比較固定統(tǒng)一,設(shè)備驅(qū)動(dòng)編寫方便。spi總線不同從設(shè)備讀寫時(shí)序差別比較大,因此必須根據(jù)具體的設(shè)備datasheet來實(shí)現(xiàn)讀寫,相對復(fù)雜一些。3.SMBusSMBus是一種二線制串行總線,1996年第一版規(guī)范開始商用。它大部分基于I2C總線規(guī)范。和I2C一樣,SMBus不需增加額外引腳,創(chuàng)建該總線主要是為了增加新的功能特性,但只工作在100kHz且專門面向智能電池管理應(yīng)用。它工作在主/從模式:主器件提供時(shí)鐘,在其發(fā)起一次傳輸時(shí)提供一個(gè)起始位,在其終止一次傳輸時(shí)提供一個(gè)停止位;從器件擁有一個(gè)唯一的7或10位從器件地址。SMBus與I2C總線之間在時(shí)序特性上存在一些差別。首先,SMBus需要一定數(shù)據(jù)保持時(shí)
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(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ǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 五年級數(shù)學(xué)第二學(xué)期滬教版-期末試卷(滬版)
- 一年級數(shù)學(xué)第一學(xué)期滬教版- 期末試卷 3
- 生活安全 課件
- 2024年湖北省中考數(shù)學(xué)真題卷及答案解析
- 課件 頁面大小
- 西京學(xué)院《網(wǎng)絡(luò)數(shù)據(jù)庫》2022-2023學(xué)年期末試卷
- 西京學(xué)院《建筑信息模型》2021-2022學(xué)年第一學(xué)期期末試卷
- 西京學(xué)院《機(jī)械原理》2021-2022學(xué)年第一學(xué)期期末試卷
- 西京學(xué)院《高等混凝土結(jié)構(gòu)學(xué)》2021-2022學(xué)年第一學(xué)期期末試卷
- 西京學(xué)院《單片機(jī)原理及應(yīng)用實(shí)驗(yàn)》2021-2022學(xué)年期末試卷
- 醫(yī)院志愿者培訓(xùn)課件
- 幼兒園中班健康《不一樣的氣味》PPT
- 實(shí)習(xí)單位鑒定表(模板)
- 生涯決策平衡單
- 機(jī)械廠加工車間變電所初步設(shè)計(jì)
- 六年級上冊道德與法治知識(shí)點(diǎn)重點(diǎn)歸納總結(jié)
- 危貨運(yùn)輸企業(yè)安全生產(chǎn)雙體系安全風(fēng)險(xiǎn)分級管控管理制度
- 梁山伯與祝英臺(tái)的故事
- Python語言基礎(chǔ)與應(yīng)用學(xué)習(xí)通課后章節(jié)答案期末考試題庫2023年
- XXXX年度煤礦機(jī)電設(shè)備檢修計(jì)劃
- 公路水運(yùn)實(shí)驗(yàn)檢測專業(yè)能力評價(jià)考試題庫及答案
評論
0/150
提交評論