SPI是一個比較好學的interface,而且除錯上也比I2C還要簡單,不過他的問題是,接腳上就會比I2C還要來得多,以成本的考量,當然I2C是首選,不過如果要考慮介面的穩定性和資料的可靠度的話,筆者是覺得SPI比I2C來得更穩定。而只要接的裝置不要太多,其實和I2C所差別的接腳並沒有很多。SPI的接腳每多一個裝置,就會需要再多1支GPIO,用於CS(chip select)上,這就是為何SPI的接腳會多於I2C的原因了。
下圖是一個標準的SPI示意圖,MOSI(master output, slave input),MISO(master input, slave output),CS(chip select),只要使用SPI介面,就會有這四支腳。
一般來說,當CS為LO時,代表master要對slave做通訊。而當CLK 上升緣時,這時候就會去讀取資料,而當CLK為下降緣時,這時候就可以改變資料的狀況。
下圖是一個多顆SPI裝置的示意圖,有幾顆SPI裝置,就需要多幾支IO來當作CS使用。(註:這邊的NSS就是CS)
有興趣的話也可以看Microchip所提供的SPI介面:「http://tinyurl.com/cpb4xsn」
下一篇:CRC
Dear Double time:
回覆刪除感謝您花時間寫了那麼多知識手札!!
期待您的CRC
[版主回覆03/22/2013 20:52:54]^^" 謝謝