標(biāo)題:
spi NSS信號問題
[打印本頁]
作者:
wangxiong
時(shí)間:
2016-9-30 10:25
標(biāo)題:
spi NSS信號問題
在spi通信過程中有如下時(shí)序(不能復(fù)制圖片,所以為附件1)
2.png
(417.21 KB, 下載次數(shù): 60)
下載附件
時(shí)序
2016-9-30 10:24 上傳
按照標(biāo)準(zhǔn)的SPI協(xié)議,當(dāng)SPI被配置為主機(jī)模式后,通過SPI對從設(shè)備進(jìn)行操作時(shí),其NSS應(yīng)該自動(dòng)置低,從而選中(使能)從設(shè)備;一旦不對從設(shè)備進(jìn)行操作,NSS立刻置為高。
但是,我在實(shí)際調(diào)試過程中卻發(fā)現(xiàn):STM32 SPI NSS無法自動(dòng)實(shí)現(xiàn)跳變。 一旦SPI初始化完成并使能SPI,NSS立刻置低,然后保持不變。
這個(gè)問題一直無法解決,直到我在ST官方論壇上看到國外有些技術(shù)人員也在討論這個(gè)問題,他們得出的結(jié)論是:STM32 SPI NSS無法自動(dòng)跳變。
對于這個(gè)問題,可以采用下面的方法解決:
在SPI初始化時(shí),采用NSS soft模式,然后使能NSS輸出功能。從而將NSS當(dāng)做GPIO使用,通過軟件set和reset來實(shí)現(xiàn)NSS的置位和復(fù)位。
檢測NSS可以實(shí)現(xiàn)的是自身主機(jī)和從機(jī)模式的切換,而不是大多數(shù)人所認(rèn)為的自動(dòng)NSS。。。也就是說:在一個(gè)多SPI系統(tǒng)中,STM32 SPI通過NSS檢測,一旦發(fā)現(xiàn)系統(tǒng)中無NSS低信號,自己就輸出低,從而成為主機(jī);當(dāng)系統(tǒng)中有NSS低信號時(shí)(及已經(jīng)有其它SPI宣布為主機(jī)),自己就配置為從機(jī)。 所謂的hard模式的NSS,實(shí)際就是為了實(shí)現(xiàn)多機(jī)間通信的。
歡迎光臨 (http://www.torrancerestoration.com/bbs/)
Powered by Discuz! X3.1