您现在的位置: 主页 > MCU > 单片机技术应用 > STM32微控制器SPI接口NSS管理分析 -
本文所属标签:
为本文创立个标签吧:

STM32微控制器SPI接口NSS管理分析 -

来源: 网络用户发布,如有版权联系网管删除 2018-09-06 

[导读]看了很多关于NSS片选信号配置的资料,感觉没有说清楚的,自己写了一些个人的看法,希望对大家有用。首先看我们看下NSS的结构图,如下。从上图中我们可以看出左边的NSS代表硬件的引脚,右边的internalnss是内部NSS,微

看了很多关于NSS片选信号配置的资料,感觉没有说清楚的,自己写了一些个人的看法,希望对大家有用。

本文引用地址: http://www.21ic.com/app/mcu/201807/780698.htm

首先看我们看下NSS的结构图,如下。



从上图中我们可以看出左边的NSS代表硬件的引脚,右边的internalnss是内部NSS,微处理器根据这个内部的NSS来确定不同的操作。

和NSS相关的寄存器标志位主要是SSM、SSI以及SSOE。SSM用来配置是硬件模式还是软件模式。SSI用来确定在软件模式下NSS输入的极性,SSOE用来决定是否允许内部NSS信号送出的NSS引脚上。

对NSS的管理有硬件模式和软件模式之分,所谓硬件模式(SSM=0,二选一处0端有效),就是内部NSS的信号来自于外部NSS引脚,是确确实实的硬东西(引脚)送过来的。软件模式(SSM=1,二选一处1端有效),内部NSS信号来自于内部SSI标志位,用户可以利用软件设置SSI,来控制内部NSS。

一、如果STM32作为SPI总线的主设备

1.如果是硬件模式,并且SSOE等于1,那么NSS引脚电平可以送入内部NSS,内部NSS也可以通过输出控制单元送到NSS引脚上,就可以实现对从设备的控制了。NSS引脚在工作时会出现低电平,可以打开外部从设备。如果SSOE等于0,这时内部NSS信息就无法送到NSS引脚了,那不是无法控制从设备了么?对,此时NSS引脚就无法控制从设备了,不过如果有其他的主设备将NSS引脚拉低,那么此时SPI就自动进入了从模式,可以接收数据了,实现了多主模式下(比如两个STM32通过SPI进行通信,都可能是主设备)的功能切换。

2.如果是软件模式,内部NSS的信息来自于SSI标志位,但内部NSS信息无法送到NSS引脚,此时就需要用户使用其他的GPIO引脚来控制从设备。

二、如果STM32作为SPI总线的从设备

1.如果是硬件模式,且SSOE=0,NSS引脚信号可以送入到内部NSS,STM32可以受控于其他主设备。如果此时SSOE=1,那么SPI也可以切换成主模式,实现从到主的切换。

2.如果是软件模式,如果SSI=0,那么内部NSS一直未低电平,总是被选中,可以随时和外部设备通信(此时STM32自己是从设备)。


因此:一般STM32做主设备,且管理一个从设备,可以设置成硬件模式。 如果管理多个从设备,可以设置软件模式。如果STM32做从设备,尽量也设置成软件模式,让SSI=0,就可以随时接收数据了。




              查看评论 回复



嵌入式交流网主页 > MCU > 单片机技术应用 > STM32微控制器SPI接口NSS管理分析 -
 

"STM32微控制器SPI接口NSS管理分析 -"的相关文章

网站地图

围观()