2017-04-01 79 views
1

我正在通過互聯網閱讀各種文檔,並找到一些關於SPI協議工作原理的數據和通信機制。 但我無法找到SPI通信中分離模式背後的邏輯意味着爲什麼SPI通信中提供了四種模式?爲什麼在SPI通信中提供了不同的模式?

回答

1

四種模式由「時鐘極性(CPOL)」和「時鐘相位(CPHA)」四種組合組成。

Mode 0 -> CPOL = 0, CPHA = 0 
Mode 1 -> CPOL = 0, CPHA = 1 
MODE 2 -> CPOL = 1, CPHA = 0 
MODE 3 -> CPOL = 1, CPHA = 1 

模式0 - 由於時鐘極性爲0,這意味着當沒有數據傳輸時,時鐘將被下拉到0。所以空閒爲低。 由於時鐘相位爲0,數據將在時鐘週期的前沿進行採樣。

模式1 - 由於時鐘極性爲0,這意味着當沒有數據傳輸時,時鐘將被拉低爲0.所以空閒爲低。 由於時鐘相位爲1,數據將在時鐘週期的後沿進行採樣。

模式2 - 由於時鐘極性爲1,這意味着當沒有數據傳輸時,時鐘將被拉至1.因此空閒爲高。 由於時鐘相位爲0,數據將在時鐘的前沿進行採樣。

模式3 - 由於時鐘極性爲1,這意味着當沒有數據傳輸時,時鐘將被拉至1.因此空閒爲高。 由於時鐘相位爲1,數據將在時鐘週期的後沿進行採樣。請參考link瞭解時鐘圖。

另外請記住,並非所有SPI器件都支持所有模式。因此,您需要查看器件數據表以找出模式,並在與該器件通信時,需要先通過編程相關的主機寄存器來設置適當的模式,然後開始通信。

+0

您的回答內容豐富,但沒有解決海報的問題*爲什麼*有多種模式。重點是什麼? (Moto)規範爲什麼定義了這些自由度?他們爲什麼不選擇一個並制定標準? –

+1

@ cp.engr你是對的,這就是爲什麼我的回答沒有被接受...... :)這個問題更適合電子產品.stackexchange以獲得硬件的角度。但它與SPI器件邏輯有關,因爲一些器件使用低電平有效信號作爲空閒,而一些器件使用低電平作爲空閒。某些設備具有與其他設備不同的數據鎖定方案。某些器件在上升沿鎖存數據,在下降沿鎖存數據。爲什麼這麼做是電子產品的核心問題,我相信這個平臺不是那樣的。 – Shaibal

+0

@Shibal,如果我理解正確,你已經在這個評論中提出了一個(粗略)回答「爲什麼」的問題。爲什麼不把它添加到你的答案,並建議將問題轉移到EE?我不認爲「錯誤的網站」應該成爲不給出正確答案的理由 - 即使它沒有被移動。 –

相關問題