我正在通過互聯網閱讀各種文檔,並找到一些關於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. HDFS爲HBase提供了什麼?
- 3. TLS 1.2中的不同通信模式
- 4. 爲什麼org.apache.poi.hssf在Excel 2007中提供了錯誤的顏色?
- 5. inet_ntop提供了在不同的平臺
- 6. 通過WCF提供EF模型的最佳方式是什麼?
- 7. 爲什麼我的模式行不通
- 8. dfs.replication提供了複製因素,file.replication提供了什麼
- 9. 爲什麼android調試器不能提供有用的信息?
- 10. 爲什麼nginx無法在不同地點提供服務?
- 11. 爲什麼Hadoop具有不同的通信機制來實現數據間模式和datanode-namenode通信?
- 12. Groovy上的Grails:它提供了什麼?
- 13. SD SPI模式
- 14. 爲什麼硒不提供任何信息NoSuchElementException
- 15. 爲什麼angular $ http提供了headerGetter而不是頭文件?
- 16. 爲什麼ServerSocket使用不同的端口提供Socket?
- 17. 爲什麼onclick監聽器會提供不同的輸出?
- 18. 爲什麼GlassFish和JBoss提供不同的WSDL?
- 19. 爲什麼以下兩個代碼提供不同的結果?
- 20. 爲什麼svm_predict和svm_predict_probability在java libsvm中爲xor問題提供了不同的結果?
- 21. 爲什麼會員提供商不是通用的?
- 22. intrusive_ptr:爲什麼不提供通用的基類?
- 23. Outlook Interop提供了不同的結果
- 24. 爲什麼開發工具提供怪癖模式?
- 25. 爲什麼模板不能提供正確的值?
- 26. 爲什麼編譯器不提供默認的operator =模板類?
- 27. findContours爲「相同」圖像提供了不同的結果
- 28. 爲什麼console.log和document.write爲相同的代碼提供不同的輸出?
- 29. 爲什麼cx_Oracle和sqlplus爲相同的select查詢提供不同的結果
- 30. 爲什麼我的代碼爲同一個詞提供不同的數字?
您的回答內容豐富,但沒有解決海報的問題*爲什麼*有多種模式。重點是什麼? (Moto)規範爲什麼定義了這些自由度?他們爲什麼不選擇一個並制定標準? –
@ cp.engr你是對的,這就是爲什麼我的回答沒有被接受...... :)這個問題更適合電子產品.stackexchange以獲得硬件的角度。但它與SPI器件邏輯有關,因爲一些器件使用低電平有效信號作爲空閒,而一些器件使用低電平作爲空閒。某些設備具有與其他設備不同的數據鎖定方案。某些器件在上升沿鎖存數據,在下降沿鎖存數據。爲什麼這麼做是電子產品的核心問題,我相信這個平臺不是那樣的。 – Shaibal
@Shibal,如果我理解正確,你已經在這個評論中提出了一個(粗略)回答「爲什麼」的問題。爲什麼不把它添加到你的答案,並建議將問題轉移到EE?我不認爲「錯誤的網站」應該成爲不給出正確答案的理由 - 即使它沒有被移動。 –