我正在通過互聯網閱讀各種文檔,並找到一些關於SPI協議工作原理的數據和通信機制。 但我無法找到SPI通信中分離模式背後的邏輯意味着爲什麼SPI通信中提供了四種模式?爲什麼在SPI通信中提供了不同的模式?
1
A
回答
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器件都支持所有模式。因此,您需要查看器件數據表以找出模式,並在與該器件通信時,需要先通過編程相關的主機寄存器來設置適當的模式,然後開始通信。
相關問題
- 1. 爲什麼Django爲同一個查詢提供了不同的結果?
- 2. Stm32f407IG SPI通信
- 3. Flexmock django模型對象爲模型對象提供了什麼?
- 4. HDFS爲HBase提供了什麼?
- 5. TLS 1.2中的不同通信模式
- 6. Spi連接2個不同SPI模式的設備
- 7. 憑據提供了網絡通信
- 8. 爲什麼org.apache.poi.hssf在Excel 2007中提供了錯誤的顏色?
- 9. 通過WCF提供EF模型的最佳方式是什麼?
- 10. 爲什麼我們需要提供兩次通用信息?
- 11. inet_ntop提供了在不同的平臺
- 12. ModeShape提供的JackRabbit不提供什麼?
- 13. jQuery DataTables爲thead和tbody提供了不同的對齊方式
- 14. 爲什麼我的模式行不通
- 15. dfs.replication提供了複製因素,file.replication提供了什麼
- 16. 爲什麼android調試器不能提供有用的信息?
- 17. CEP --- Oracle EPL和ESPER提供了什麼不同?
- 18. 爲什麼在API響應中提供分頁信息?
- 19. 不同的scipy版本爲curve_fit提供了不同的結果
- 20. 爲什麼numpy std()給matlab std()提供了一個不同的結果?
- 21. 爲什麼Django REST Framework提供了不同的身份驗證機制
- 22. 爲什麼必須爲不同的屏幕密度提供不同的圖像?
- 23. 爲什麼nginx無法在不同地點提供服務?
- 24. 爲什麼Hadoop具有不同的通信機制來實現數據間模式和datanode-namenode通信?
- 25. Groovy上的Grails:它提供了什麼?
- 26. 爲什麼R不能像gdalinfo那樣提供信息?
- 27. 爲什麼硒不提供任何信息NoSuchElementException
- 28. SD SPI模式
- 29. 爲什麼angular $ http提供了headerGetter而不是頭文件?
- 30. 爲什麼TinyXPath在兩個不同的類中調用時爲同一個對象提供不同的結果?
您的回答內容豐富,但沒有解決海報的問題*爲什麼*有多種模式。重點是什麼? (Moto)規範爲什麼定義了這些自由度?他們爲什麼不選擇一個並制定標準? –
@ cp.engr你是對的,這就是爲什麼我的回答沒有被接受...... :)這個問題更適合電子產品.stackexchange以獲得硬件的角度。但它與SPI器件邏輯有關,因爲一些器件使用低電平有效信號作爲空閒,而一些器件使用低電平作爲空閒。某些設備具有與其他設備不同的數據鎖定方案。某些器件在上升沿鎖存數據,在下降沿鎖存數據。爲什麼這麼做是電子產品的核心問題,我相信這個平臺不是那樣的。 – Shaibal
@Shibal,如果我理解正確,你已經在這個評論中提出了一個(粗略)回答「爲什麼」的問題。爲什麼不把它添加到你的答案,並建議將問題轉移到EE?我不認爲「錯誤的網站」應該成爲不給出正確答案的理由 - 即使它沒有被移動。 –