USB2SPI軟件操作對應的SPI波形時序圖
2019-04-02 11:18:10
羅偉東
概述
本文主要介紹USB2SPI軟件上不同設置的不同操作,然后展示在SPI口輸出的不同波形,閱讀本文可以加深對SPI總線數據傳輸的理解,同時也對使用USB2SPI軟件有很大的幫助。
本文顯示的波形圖片為邏輯分析儀實際抓出來的波形,并不是我們提供的軟件顯示的波形。
半雙工模式操作
大多數SPI器件的控制都是半雙工操作模式,也就是說數據的發送和讀取是分開的,雖然SPI數據傳輸本質上是全雙工操作模式,但是在大多數實際使用情況下卻是半雙工操作模式。
寫數據(點擊軟件上的“寫數據”)
半雙工模式寫數據的時候會忽略MISO數據線上,對于主機來說就只發送數據,并不會讀取MISO引腳的數據。
對應波形圖:
讀數據(點擊軟件上的“讀數據”)
半雙工模式讀數據操作,適配器會讀取MISO引腳上的數據,而MOSI引腳可能會輸出默認高電平或者低電平數據。
對應波形圖:
寫讀數據(點擊軟件上的“寫讀數據”)
半雙工寫讀數據操作,主機會先向MOSI引腳發送數據,然后再從MISO引腳讀取指定字節數數據,主機寫數據和讀數據時鐘信號是分開的。
對應的波形圖:
全雙工模式操作
全雙工操作模式下,主機在發送數據的同時也會通過MISO接收數據,所以數據的發送和讀取是同時進行的,主機發送多少字節數據就可以接收多少字節數據。
對應的波形圖:
四種時鐘極性和時鐘相位下的不同波形圖
SPI數據傳輸有4種不同的傳輸模式,主機和從機必須設置相同的傳輸模式才能正確的傳輸數據,下面就是展示在不同的時鐘極性和時鐘相位下,對應的波形圖。
時鐘相位:0,時鐘極性:0
時鐘相位:0,時鐘極性:1
時鐘相位:1,時鐘極性:0
時鐘相位:1,時鐘極性:1
塊模式操作
塊模式操作就是將單次操作進行快速的重復,比如需要循環讀取100次數據,而每次只需要讀2字節數據,若通過在上位機端進行調用100次讀數據循環,那么每次讀數據之間的間隔可能就會比較大,一般都是1ms左右。
但是若用塊模式操作,就可以只需要調用一次函數,實現連續讀取100次數據的操作,這樣調用的好處是,每次讀2字節數據之間的時間間隔可以很小,基本上是微妙級別的,如此可以提高數據傳輸速度。