找回密碼
 立即注冊

QQ登錄

只需一步,快速開始

搜索
查看: 3200|回復(fù): 0
打印 上一主題 下一主題
收起左側(cè)

spi NSS信號問題

[復(fù)制鏈接]
跳轉(zhuǎn)到指定樓層
樓主
ID:140959 發(fā)表于 2016-9-30 10:25 | 只看該作者 |只看大圖 回帖獎勵 |倒序瀏覽 |閱讀模式
在spi通信過程中有如下時序(不能復(fù)制圖片,所以為附件1)



按照標(biāo)準(zhǔn)的SPI協(xié)議,當(dāng)SPI被配置為主機模式后,通過SPI對從設(shè)備進(jìn)行操作時,其NSS應(yīng)該自動置低,從而選中(使能)從設(shè)備;一旦不對從設(shè)備進(jìn)行操作,NSS立刻置為高。
      但是,我在實際調(diào)試過程中卻發(fā)現(xiàn):STM32 SPI NSS無法自動實現(xiàn)跳變。 一旦SPI初始化完成并使能SPI,NSS立刻置低,然后保持不變。
      這個問題一直無法解決,直到我在ST官方論壇上看到國外有些技術(shù)人員也在討論這個問題,他們得出的結(jié)論是:STM32 SPI NSS無法自動跳變。
對于這個問題,可以采用下面的方法解決:
      在SPI初始化時,采用NSS soft模式,然后使能NSS輸出功能。從而將NSS當(dāng)做GPIO使用,通過軟件set和reset來實現(xiàn)NSS的置位和復(fù)位。
檢測NSS可以實現(xiàn)的是自身主機和從機模式的切換,而不是大多數(shù)人所認(rèn)為的自動NSS。。。也就是說:在一個多SPI系統(tǒng)中,STM32 SPI通過NSS檢測,一旦發(fā)現(xiàn)系統(tǒng)中無NSS低信號,自己就輸出低,從而成為主機;當(dāng)系統(tǒng)中有NSS低信號時(及已經(jīng)有其它SPI宣布為主機),自己就配置為從機。 所謂的hard模式的NSS,實際就是為了實現(xiàn)多機間通信的。


分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享淘帖 頂 踩
回復(fù)

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規(guī)則

手機版|小黑屋|51黑電子論壇 |51黑電子論壇6群 QQ 管理員QQ:125739409;技術(shù)交流QQ群281945664

Powered by 單片機教程網(wǎng)

快速回復(fù) 返回頂部 返回列表