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