推荐星级:
  • 1
  • 2
  • 3
  • 4
  • 5

STM32的SPI中的NSS详细解释.

更新时间:2019-10-21 21:55:22 大小:7K 上传用户:xuzhen1查看TA发布的资源 标签:stm32spinss 下载积分:1分 评价赚积分 (如何评价?) 打赏 收藏 评论(0) 举报

资料介绍

主设备和从设备在进行SPI通信的时候,从设备都有个CS片选信号,低电平有效,我们通常都要用这个NSS连到从设备的CS上。但是这里只是大体让大家大体明白怎么回事,东西很多,关于这个NSS还有很多东西呢,下面让我娓妮道来。

先看输入输出模式.

对于每个SPI的NSS可以输入,也可以输出。所谓输入,就是NSS的电平信号给自己,所谓输出,就是将NSS的电平信号发送出去,给从机。配置为输出,还是不输出,我们可以通过SPI_CR2寄存器的SSOE位。当SSOE为1时,并且SPI处于主模式控制时,NSS就输出低电平,也就是拉低,因此当其他SPI设备的NSS引脚与它相连,必然接收到低电平,则片选成功,都成为从设备了。NSS的输出就介绍到这里下面介绍NSS的输入。

我们都知道NSS输入又分为硬件输入和软件控制输入两种模式,那么就从这两种模式入手,来揭开它的面纱吧。

先说软件模式吧。


部分文件列表

文件名 大小
STM32的SPI中的NSS详细解释.pdf 7K

部分页面预览

(完整内容请下载后查看)
stm32 SPI NSS的解释  
这个 NSS到底是怎么作用呢?回答是片选。  
主设备和从设备在进行  
SPI通信的时候,从设备都有个  
CS片选信号,低电平有效,我  
们通常都要用这个 NSS连到从设备的 CS 上。但是这里只是大体让大家大体明白怎么回事,  
东西很多,关于这个 NSS,还有很多东西呢,下面让我娓娓道来。  
先看输入输出模式 .  
对于每个 SPI的 NSS可以输入,也可以输出。所谓输入,就是  
NSS的电平信号给自  
己,所谓输出,就是将 NSS 的电平信号发送出去,给从机。配置为输出,还是不输出,我  
们可以通过 SPI_CR2寄存器的 SSOE位。当 SSOE为 1 时,并且 SPI处于主模式控制时, NSS  
就输出低电平, 也就是拉低,因此当其他 SPI设备的 NSS引脚与它相连, 必然接收到低电平,  
则片选成功,都成为从设备了。  
NSS的输出就介绍到这里  
下面介绍 NSS的输入。  
我们都知道 NSS输入又分为硬件输入和软件控制输入两种模式,那么就从这两种模式  
入手,来揭开它的面纱吧。  
先说软件模式吧。  
1 对于 SPI主机来说,需要设置 SPI_CR1寄存器的 SSM为 1 和 SSI位为 1,SSM为 1 是  
为了使能软件管理。 ,NSS 有内部和外部引脚。这时候,外部引脚留作他用(可以用来作为  
GPIO驱动从设备的片选信号) 。内部 NSS引脚电平则通过 SPI_CRL寄存器的 SSI位来驱动。  
SSI位为 1 是为了使 NSS内电平为高电平。 这时候,不免产生疑问, 为什么主设备的内部 NSS  
电平要为 1 呢?  
STM32 手册上说, 要保持 MSTR和 SPE位为 1,也就是说要保持主机模式 ,只有 NSS接到高电  
平信号时,这两位才能保持置  
1.也就是说对于 STM32 的 SPI,要保持为主机状态,内部输入  
的 NSS电平必须为高。当然这里在硬件模式下也是如此。  
2 对于 SPI 从机来说  
主机自己的内部 NSS高电平解决了,那么 SPI从机的 NSS片选低电平也得解决啊。  
如果从机选择 STM32 的一个 SPI,譬如主机选为 SPI1,从机选为 SPI2,则要按照以下  
操作手册说, NSS引脚在完成字节传输之前必须连接到一个低电平信号。在软件模式下,则  
需要设置 SPI_CR1寄存器的 SSM为 1(软件管理使能) 和 SSI位为 0.果然如此。 SSI必须要为  
0,也就是 SPI2的片选为低,则片选成功。  
若从机为一个其他的 SPI芯片,譬如我那个 ADXL345加速度传感器。那么,我们可以有两种  
方法  
一种方法,是把芯片的  
制 CS片选成功。这个 GPIO可以是任何一个 GPIO口,当然我们上面提到当  
为软件模式,外部 NSS引脚留作他用了,它就是一个 GPIO 了,我们也可以用它。这时候,  
CS接到 GND 上,另一种方法是,用一个  
GPIO口去输出低电平来控  
SPI的主机配置  
我们可以设置它推挽输出为低电平, 然后用线跟从机的 CS相连,那么就可以片选从芯片了。  
再说说硬件模式。  
对于主机,我们的 NSS可以直接接到高电平,对于从机,  
当然我们上面提过当一个主机的 SSOE为 1 时,主机工作在输出模式,而且  
们要让从机片选,只要将 CS接到主机的 NSS上,CS自动拉低。  
这便是, ST公司设计的 STM32 SPI NSS的工作流程。下面用实例向大家介绍。  
NSS接低就可以。  
NSS拉低了,我  
我们介绍一个 STM32 上 SPI1和 SPI2全双工通信的程序, 具体的程序,可以加 QQ843538946,  
问我要。这里只介绍 SPI配置方面的程序。  

全部评论(0)

暂无评论

上传资源 上传优质资源有赏金

  • 打赏
  • 30日榜单

推荐下载