- Linux設備驅動開發詳解:基于最新的Linux4.0內核
- 宋寶華
- 500字
- 2018-12-31 20:25:20
2.3.3 SPI
SPI(Serial Peripheral Interface,串行外設接口)總線系統是一種同步串行外設接口,它可以使CPU與各種外圍設備以串行方式進行通信以交換信息。一般主控SoC作為SPI的“主”,而外設作為SPI的“從”。
SPI接口一般使用4條線:串行時鐘線(SCLK)、主機輸入/從機輸出數據線MISO、主機輸出/從機輸入數據線MOSI和低電平有效的從機選擇線SS(在不同的文獻里,也常稱為nCS、CS、CSB、CSN、nSS、STE、SYNC等)。圖2.12演示了1個主機連接3個SPI外設的硬件連接圖。

圖2.12 SPI主、從硬件連接圖
如圖2.13所示,在SPI總線的傳輸中,SS信號是低電平有效的,當我們要與某外設通信的時候,需要將該外設上的SS線置低。此外,特別要注意SPI從設備支持的SPI總線最高時鐘頻率(決定了SCK的頻率)以及外設的CPHA、CPOL模式,這決定了數據與時鐘之間的偏移、采樣的時刻以及觸發的邊沿是上升沿還是下降沿。

圖2.13 SPI總線的時序
SPI模塊為了和外設進行數據交換,根據外設工作要求,其輸出串行同步時鐘極性(CPOL)和相位(CPHA)可以進行配置。如果CPOL=0,串行同步時鐘的空閑狀態為低電平;如果CPOL=1,串行同步時鐘的空閑狀態為高電平。如果CPHA=0,在串行同步時鐘的第一個跳變沿(上升或下降)數據被采樣;如果CPHA=1,在串行同步時鐘的第二個跳變沿(上升或下降)數據被采樣。
推薦閱讀
- pcDuino開發實戰
- Mobile-first Bootstrap
- WindowsServer2012Hyper-V虛擬化部署與管理指南
- 循序漸進學Docker
- 直播系統開發:基于Nginx與Nginx-rtmp-module
- Learn CUDA Programming
- Windows Vista終極技巧金典
- Office 365 User Guide
- 電腦辦公(Windows 10 + Office 2016)入門與提高(超值版)
- Learn OpenShift
- Linux系統安全:縱深防御、安全掃描與入侵檢測
- 鴻蒙HarmonyOS應用開發入門
- Microsoft DirectAccess Best Practices and Troubleshooting
- Administering ArcGIS for Server
- Linux從入門到精通