I2C和SPI异同及使用注意
1 iic總線不是全雙工,2根線SCL SDA。spi總線實(shí)現(xiàn)全雙工,4根線SCK CS MOSI MISO
2 iic總線是多主機(jī)總線,通過(guò)SDA上的地址信息來(lái)鎖定從設(shè)備。spi總線只有一個(gè)主設(shè)備,主設(shè)備通過(guò)CS片選來(lái)確定從設(shè)備
3 iic總線傳輸速度在100kbps-4Mbps。spi總線傳輸速度更快,可以達(dá)到30MHZ以上。
4 iic總線空閑狀態(tài)下SDA SCL都是高電平。spi總線空閑狀態(tài)MOSI MISO也都是 SCK是有CPOL決定的
5 iic總線scl高電平時(shí)sda下降沿標(biāo)志傳輸開(kāi)始,上升沿標(biāo)志傳輸結(jié)束。spi總線cs拉低標(biāo)志傳輸開(kāi)始,cs拉高標(biāo)志傳輸結(jié)束
6 iic總線是SCL高電平采樣。spi總線因?yàn)槭侨p工,因此是沿采樣,具體要根據(jù)CPHA決定。一般情況下master device是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來(lái)實(shí)現(xiàn)讀寫,相對(duì)復(fù)雜一些。
SPI總線有4根線,分別是SCK,SDO,SDI,SS,可以掛多個(gè)從設(shè)備,但是在掛多個(gè)從設(shè)備時(shí),主設(shè)備端還需要做一個(gè)n選一的譯碼器,用于選擇將要訪問(wèn)的從設(shè)備,因此,主設(shè)備上的管腳需求比較多;SPI總線在只有一個(gè)從設(shè)備時(shí),只要用到SCK,SDO,SDI這三根線,此時(shí)選擇SPI比I2C總線占優(yōu)。 I2C總線只有兩根線,SCL,SDA.,也可以掛多個(gè)從設(shè)備,對(duì)從設(shè)備的選擇直接依靠協(xié)議完成,無(wú)需增加物理連線。一般情況下,當(dāng)一塊電路板上有多個(gè)從設(shè)備時(shí),往往選用I2C而非SPI,因?yàn)镾PI增加了額外額硬件開(kāi)銷以及電路板走線。 I2c和SPI總線一般是讀取一些PROM等從設(shè)備用。 串行通信接口SCI,主要應(yīng)用在兩個(gè)智能設(shè)備之間的互相通訊。有別于SPI和I2C總線的主從模式,SCI可以是主-主模式總結(jié)
以上是生活随笔為你收集整理的I2C和SPI异同及使用注意的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: socket-tcp 、udp、rawI
- 下一篇: 十大基础实用算法