ob体育竞彩 _欧宝体育在线链接 學習網站
當前位置: ob体育竞彩 > 現場總線> 正文

電子開發中如何確定使用I2C總線還是SPI總線或者CAN總線

時間:2019-04-23 08:50 來源:ob体育竞彩

電子項目開發中經常用到通訊功能,包括板子上芯片間的通訊和設備間的通訊。而常用的有線通訊方式無非就這幾種,如I2C、SPI、RS232、RS485接口、CAN、USB等。其中I2C也叫IIC,對於題目中提到的幾種通訊方式,I2C和SPI是芯片間的短距離通訊,無法長距離通訊。而CAN適合長距離通訊,根據不同的波特率通訊長度可達幾公裏。
什麼時候選用I2C總線
IIC由於隻用到SCL和SDA兩根通訊總線,所以應用廣泛,目前有很多數字輸出的芯片都是通過IIC傳輸數據的,比如EEPROM芯片AT24C係列,比如溫度傳感器芯片SHT20,比如氣壓傳感器芯片BMP280,還有很多AD采樣的芯片也是通過IIC傳輸的。所以,根據所使用的芯片是不是IIC通訊來確定。IIC具有地址總線,可以掛接多個設備。
什麼時候選用SPI總線
SPI總線也是很常用的芯片間的通訊總線,通常用3線SPI和4線SPI。3線SPI包括:SCLK,SDA,SS等。4線SPI包括:SCLK,MISO,MOSI,SS。也有很多數字量輸出的芯片是通過SPI接口通訊的,一般3線SPI和4線SPI兼容。
SPI通過片選來確定所掛接設備的數量,占用單片機的GPIO口,不適用於掛接多個設備的情況,除非GPIO完全夠。
什麼時候選用CAN總線
CAN總線是設備間的通訊總線,具有兩根線CANH和CANL,通訊距離非常遠,可以達到數公裏甚至更遠,經常用於工業控製和汽車工業中。現在很多單片機帶CAN片上資源,隻需要選用一顆電平轉換芯片即可實現CAN數據的傳輸。由於CAN通訊傳輸距離遠,可以擴展很多個CAN節點,所以設備間長距離通訊用的非常多。

總結
如果是芯片間的通訊可以選用IIC或者SPI,如果GPIO口有線且要掛接多個通訊芯片,則使用IIC。如果是設備間長距離的通訊可以選用RS485接口和CAN通訊,如果通訊距離隻有一兩公裏可以選用RS485接口,如果通訊距離達到數公裏則用CAN通訊總線。

    看過《電子開發中如何確定使用I2C總線還是SPI總線或者CAN總線》的人還看了以下文章
    Baidu
    map