欧美性猛交XXXX免费看蜜桃,成人网18免费韩国,亚洲国产成人精品区综合,欧美日韩一区二区三区高清不卡,亚洲综合一区二区精品久久

打開(kāi)APP
userphoto
未登錄

開(kāi)通VIP,暢享免費電子書(shū)等14項超值服

開(kāi)通VIP
I2C和SPI總線(xiàn)對比

http://blog.csdn.net/skyflying2012/article/details/8237881

2012

最近2周一直在調試IIC和SPI總線(xiàn)設備,這里記錄一下2種總線(xiàn),以備后忘。

一 IIC總線(xiàn)

I2C--INTER-IC串行總線(xiàn)的縮寫(xiě),是PHILIPS公司推出的芯片間串行傳輸總線(xiàn)。它以1根串行數據線(xiàn)(SDA)和1根串行時(shí)鐘線(xiàn)(SCL)實(shí) 現了雙工的同步數據傳輸。具有接口線(xiàn)少,控制方式簡(jiǎn)化,器件封裝形式小,通信速率較高等優(yōu)點(diǎn)。在主從通信中,可以有多個(gè)I2C總線(xiàn)器件同時(shí)接到I2C總線(xiàn) 上,通過(guò)地址來(lái)識別通信對象。

IIC 接口的協(xié)議里面包括設備地址信息,可以同一總線(xiàn)上連接多個(gè)從設備,通過(guò)應答來(lái)互通數據及命令。但是傳輸速率有限,標準模式下可達到100Kbps,快速模式下可達到400Kbps(我們開(kāi)發(fā)板一般在130Kbps),高速模式下達到4Mbps,不能實(shí)現全雙工,不適合傳輸很多的數據。

IIC總線(xiàn)是一個(gè)真正的多主機總線(xiàn),總線(xiàn)上多個(gè)主機初始化傳輸,可以通過(guò)傳輸檢測和仲裁來(lái)防止數據被破壞 。

下來(lái)詳細了解IIC總線(xiàn)時(shí)序:

1.1 總線(xiàn)數據有效性

IIC總線(xiàn)是單工,因此同一時(shí)刻數據只有一個(gè)流向,因此采樣有效時(shí)鐘也是單一的,是在SCL時(shí)鐘的高電平采樣數據。

IIC總線(xiàn)上SDA數據在SCL時(shí)鐘低電平是可以發(fā)生變化,但是在時(shí)鐘高電平時(shí)必須穩定,以便主從設備根據時(shí)鐘采樣數據,如下圖:



1.2 總線(xiàn)空閑條件

IIC總線(xiàn)上設備都釋放總線(xiàn)(發(fā)出傳輸停止)后,IIC總線(xiàn)根據上拉電阻變成高電平,SDA SCL都是高電平。


1.3 總線(xiàn)數據傳輸起始和結束條件

IIC總線(xiàn)SCL高電平時(shí)SDA出現由高到低的跳變,標志總線(xiàn)上數據傳輸的開(kāi)始條件

IIC總線(xiàn)SCL高電平時(shí)SDA出現由低到高的跳變,標志總線(xiàn)上數據傳輸的結束條件



1.4 總線(xiàn)數據傳輸順序以及ACK應答

IIC總線(xiàn)上數據傳輸室MSB在前,LSB在后,從示波器上看,從左向右依次讀出數據即可

IIC總線(xiàn)傳輸的數據不收限制,但是每次發(fā)到SDA上的必須是8位,并且主機發(fā)送8位后釋放總線(xiàn),從機收到數據后必須拉低SDA一個(gè)時(shí)鐘,回應ACK表示數據接收成功,我們如果示波器上看到的波形就是每次9位數據,8bit+1bit ack。如下:


從機收到一字節數據后,如果需要一些時(shí)間處理,則會(huì )拉低SCL,讓傳輸進(jìn)入等待狀態(tài),處理完成,釋放SCL,繼續傳輸,如下:



1.5 總線(xiàn)讀寫(xiě)時(shí)序

數據的傳輸在起始條件之后,發(fā)送一個(gè)7位的從機地址,緊接著(zhù)第8位是數據方向(R/ W),0-表示發(fā)送數據(寫(xiě)),1-表示接收數據(讀)。數據傳輸一般由主機產(chǎn)生的停止位(P)終止。但是如果主機仍希望在總線(xiàn)上通訊,它可以產(chǎn)生重復起始條件(Sr),和尋址另一個(gè)從機,而不是首先產(chǎn)生一個(gè)停止條件。在這種傳輸中,可能有不同的讀/寫(xiě)格式結合。

IIC總線(xiàn)主設備讀寫(xiě)從設備,一般都是與從設備的寄存器打交道,這個(gè)可以通過(guò)閱讀從設備的datasheet獲取??偩€(xiàn)寫(xiě)時(shí)序如下:

master start + master addr|w + slave ack + master reg|w + slave ack + master data + slave ack + master restart。。master data + slave nack + master stop

總線(xiàn)讀時(shí)序如下:

master start + master addr|w + slave ack + master reg|w + slave ack + master restart + master addr|r + slave ack + slave data + master nack + master stop

總線(xiàn)讀時(shí)序與寫(xiě)的不同之處在于讀需要2次傳輸才能完成一次讀取,首先要寫(xiě)寄存器地址到從設備,其實(shí)是寫(xiě)到了從設備的控制寄存器或者命令寄存器,從設備內部會(huì )根據這個(gè)地址來(lái)尋址所要操作的寄存器。

我在讀我們的bios和內核時(shí)發(fā)現,2者在總線(xiàn)讀時(shí)序上的實(shí)現不太一樣,在于第一次寄存器地址寫(xiě)入后,一個(gè)發(fā)的是restart,一個(gè)發(fā)的是stop,然后再start開(kāi)始讀取數據,示波器抓波形發(fā)現讀取數據都正確,說(shuō)明這2種時(shí)序都是正確的。

IIC總線(xiàn)的讀寫(xiě)時(shí)序比較固定,設備通信嚴格遵循協(xié)議,因此iIC總線(xiàn)設備驅動(dòng)程序的編寫(xiě)也就相對簡(jiǎn)單一些。

主要應用的iIc總線(xiàn)設備有touchscreen rtc 外擴io等


二 SPI總線(xiàn)

SPI--Serial Peripheral Interface,串行外圍設備接口,是Motorola公司推出的一種同步串行通訊方式,是一種三線(xiàn)同步總線(xiàn),因其硬件功能很強,與SPI有關(guān)的軟件就相當簡(jiǎn)單,使CPU有更多的時(shí)間處理其他事務(wù)。
 SPI通常有SCK時(shí)鐘,STB片選,DATA數據信號三個(gè)信號。 I2C通常有 SDA數據和SCL時(shí)鐘兩個(gè)信號。

SPI總線(xiàn)真正實(shí)現了全雙工數據傳輸,SPI 有3線(xiàn)跟4線(xiàn)兩種,4線(xiàn)的話(huà),就是多了一條叫SDC的線(xiàn),用來(lái)告知從設備現在傳輸的是數據還是指令。這個(gè)接口較快,可以傳輸較連續的數據。SPI要想連接多個(gè)從設備,就需要給每個(gè)從設備配備一根片選信號。如果要可以實(shí)現全雙工,也是需要多加一根數據線(xiàn)(MOSI MISO)。

也就是說(shuō)SPI總線(xiàn)是通過(guò)片選來(lái)選擇從設備。

spi總線(xiàn)速度要比iic要快,我們開(kāi)發(fā)板最快能達到30MHZ。


spi總線(xiàn)特點(diǎn):

1. 采用主-從模式(Master-Slave) 的控制方式
       SPI 規定了兩個(gè) SPI 設備之間通信必須由主設備 (Master) 來(lái)控制次設備 (Slave). 一個(gè) Master 設備可以通過(guò)提供 Clock 以及對 Slave 設備進(jìn)行片選 (Slave Select) 來(lái)控制多個(gè) Slave 設備, SPI 協(xié)議還規定 Slave 設備的 Clock 由 Master 設備通過(guò) SCK 管腳提供給 Slave 設備, Slave 設備本身不能產(chǎn)生或控制 Clock, 沒(méi)有 Clock 則 Slave 設備不能正常工作.

2. 采用同步方式(Synchronous)傳輸數據
       Master 設備會(huì )根據將要交換的數據來(lái)產(chǎn)生相應的時(shí)鐘脈沖(Clock Pulse), 時(shí)鐘脈沖組成了時(shí)鐘信號(Clock Signal) , 時(shí)鐘信號通過(guò)時(shí)鐘極性 (CPOL) 和 時(shí)鐘相位 (CPHA) 控制著(zhù)兩個(gè) SPI 設備間何時(shí)數據交換以及何時(shí)對接收到的數據進(jìn)行采樣, 來(lái)保證數據在兩個(gè)設備之間是同步傳輸的.

3. 數據交換(Data Exchanges)
       SPI 設備間的數據傳輸之所以又被稱(chēng)為數據交換, 是因為 SPI 協(xié)議規定一個(gè) SPI 設備不能在數據通信過(guò)程中僅僅只充當一個(gè) "發(fā)送者(Transmitter)" 或者 "接收者(Receiver)". 也就是說(shuō)是全雙工的,在每個(gè) Clock 周期內, SPI 設備都會(huì )發(fā)送并接收一個(gè) bit 大小的數據, 相當于該設備有一個(gè) bit 大小的數據被交換了.
       一個(gè) Slave 設備要想能夠接收到 Master 發(fā)過(guò)來(lái)的控制信號, 必須在此之前能夠被 Master 設備進(jìn)行訪(fǎng)問(wèn) (Access). 所以, Master 設備必須首先通過(guò) SS/CS pin 對 Slave 設備進(jìn)行片選, 把想要訪(fǎng)問(wèn)的 Slave 設備選上.
       在數據傳輸的過(guò)程中,  每次接收到的數據必須在下一次數據傳輸之前被采樣. 如果之前接收到的數據沒(méi)有被讀取, 那么這些已經(jīng)接收完成的數據將有可能會(huì )被丟棄,  導致 SPI 物理模塊最終失效. 因此, 在程序中一般都會(huì )在 SPI 傳輸完數據后, 去讀取 SPI 設備里的數據, 即使這些數據(Dummy Data)在我們的程序里是無(wú)用的.

具體spi工作原理可以看博客另外一篇文章

SPI和IIC是2種不同的通信協(xié)議,現在已經(jīng)廣泛的應用在IC之間的通信中。并且不少單片機已經(jīng)整和了SPI和IIC的借口。但像51這種不支持SPI和IIC的單片機,也可以用模擬時(shí)鐘的工作方式進(jìn)行SPI和IIC的通信的。

下面主要總結一下2種總線(xiàn)的異同點(diǎn):

1 iic總線(xiàn)不是全雙工,2根線(xiàn)SCL SDA。spi總線(xiàn)實(shí)現全雙工,4根線(xiàn)SCK CS MOSI MISO

2 iic總線(xiàn)是多主機總線(xiàn),通過(guò)SDA上的地址信息來(lái)鎖定從設備。spi總線(xiàn)只有一個(gè)主設備,主設備通過(guò)CS片選來(lái)確定從設備

3 iic總線(xiàn)傳輸速度在100kbps-4Mbps。spi總線(xiàn)傳輸速度更快,可以達到30MHZ以上。

4 iic總線(xiàn)空閑狀態(tài)下SDA SCL都是高電平。spi總線(xiàn)空閑狀態(tài)MOSI MISO也都是 SCK是有CPOL決定的

5 iic總線(xiàn)scl高電平時(shí)sda下降沿標志傳輸開(kāi)始,上升沿標志傳輸結束。spi總線(xiàn)cs拉低標志傳輸開(kāi)始,cs拉高標志傳輸結束

6 iic總線(xiàn)是SCL高電平采樣。spi總線(xiàn)因為是全雙工,因此是沿采樣,具體要根據CPHA決定。一般情況下master device是SCK的上升沿發(fā)送,下降沿采集

7 iic總線(xiàn)和spi總線(xiàn)數據傳輸都是MSB在前,LSB在后(串口是LSB在前)

8 iic總線(xiàn)和spi總線(xiàn)時(shí)鐘都是由主設備產(chǎn)生,并且只在數據傳輸時(shí)發(fā)出時(shí)鐘

9 iic總線(xiàn)讀寫(xiě)時(shí)序比較固定統一,設備驅動(dòng)編寫(xiě)方便。spi總線(xiàn)不同從設備讀寫(xiě)時(shí)序差別比較大,因此必須根據具體的設備datasheet來(lái)實(shí)現讀寫(xiě),相對復雜一些。

本站僅提供存儲服務(wù),所有內容均由用戶(hù)發(fā)布,如發(fā)現有害或侵權內容,請點(diǎn)擊舉報。
打開(kāi)APP,閱讀全文并永久保存 查看更多類(lèi)似文章
猜你喜歡
類(lèi)似文章
I2C總線(xiàn)傳輸協(xié)議
IIC通訊協(xié)議詳解
I2C詳解
【硬見(jiàn)小百科】SPI總線(xiàn)是什么?
SPI中MISO和MOSI是什么所寫(xiě)
關(guān)于I2C和SPI總線(xiàn)協(xié)議
更多類(lèi)似文章 >>
生活服務(wù)
分享 收藏 導長(cháng)圖 關(guān)注 下載文章
綁定賬號成功
后續可登錄賬號暢享VIP特權!
如果VIP功能使用有故障,
可點(diǎn)擊這里聯(lián)系客服!

聯(lián)系客服

欧美性猛交XXXX免费看蜜桃,成人网18免费韩国,亚洲国产成人精品区综合,欧美日韩一区二区三区高清不卡,亚洲综合一区二区精品久久