STM的NSS引腳
首先我們說該引腳有兩個電平需要注意,一個是與NSS引腳連接的外部電平,一個是NSS引腳的內(nèi)部電平。
然后我們知道在SPI通信的時候master必須在NSS引腳的內(nèi)部電平為高電平時才得以進行通信,slaver在NSS引腳的內(nèi)部電平為低電平時才可以通信。這是前提條件。
我們知道NSS引腳電平的管理有兩種方式,一個是軟件管理和硬件管理。但當(dāng)為硬件管理時(SSM=0),NSS管腳的內(nèi)部電平由與NSS連接的外部電平?jīng)Q定,即外面是高電平,則NSS引腳的內(nèi)部電平也為高電平。如果你想工作在該模式下,那么master的NSS引腳必須連接高電平,slaver必須連接低電平(一般接地)。軟件管理模式(SSM=1)則是通過SSI位來決定內(nèi)部電平是高電平還是低電平的。SSI=1是NSS引腳的內(nèi)部電平是高電平,此時與外部輸入的電平無關(guān)系,STM設(shè)置NSS引腳的軟件管理是為了可以將NSS引腳空出來,像普通IO引腳運用。如果工作在該模式下,master的SSM=1,SSI=1,slaver則是SSM=1,SSI=0。也快是master配置成軟件管理,slaver硬件管理配置,通信時master的SSM=1,SSI=1;slaver的NSS引腳接master的任何一個IO引腳,通信時NSS引腳的外部電平必須是低電平。
最后如果STM與其他IC芯片通過SPI通信時,一般可以這樣配置:STM作為master可配置成軟件管理模式(SSM=1),此時NSS引腳電位由SSI位決定,STM進行通信是SSI必須為1;IC芯片的CS引腳可以連接任何一個IO引腳(包括NSS引腳)來進行通信控制。