電子開發中如何確定使用I2C總線還是SPI總線或者CAN總線
電子項目開發中經常用到通訊功能,包括板子上芯片間的通訊和設備間的通訊。而常用的有線通訊方式無非就這幾種,如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通訊總線。
- 提高RS485總線通信可靠性的解決辦法
- PROFIBUS的地址設定
- PROFIBUS的令牌傳遞
- profibus和profinet的區別及性能比較
- 西門子Profibus DP通訊故障診斷實用方法
- 微機常用接口和總線設計介紹
- can總線電壓是多少
- 電子開發中如何確定使用I2C總線還是SPI總
- DP通信協議詳解
- DP主站和從站設備類型
- PROFIBUSPA總線配置方案和硬件需求
- 寶馬汽車can總線故障排除實例分析
- 嵌入式係統CAN接口電路及軟件設計
- minipcie接口定義圖解
- Profibus總線幹擾類型及處理方法
- 寶馬汽車can總線測量方法
- can總線的工作原理及應用
- CAN總線協議基本規則
- CAN總線行車記錄儀設計和實現探討
- 嵌入式操作係統中斷機製詳解