SPI主从通信原理及使用

一、SPI基础知识

串行外设接口(Serial Peripheral Interface,SPI)是一种高速全双工同步通信总线。共有四根信号线:

NSS:从设备使能信号,低电平有效。

SCK:时钟信号,由主设备产生。

MOSI:主设备输出从设备输入信号。

MISO:主设备输入从设备输出信号。

全双工通信

半双工通信

 单工模式

SPI接口的NSS结构如下图所示。NSS引脚分为外部引脚和内部引脚,其中内部NSS引脚状态可以由寄存器独立控制,因此NSS引脚既可作输入又可以作输出。

二、NSS引脚配置

主机:

1、软件从设备管理(SSM=1)

NSS输入电平由内部寄存器SSI位决定(主机置为1),不再受NSS引脚外部电平影响,该NSS引脚可用于其他功能。

2、硬件从设备管理(SSM=0)

NSS作输入

NSS输入电平由NSS引脚决定。作为主机内部NSS需要被设置为高电平,所以输入需要为高。

NSS作输出

(1)允许NSS输出(SSOE=1)

只有在器件为主模式下才使用该配置,开始通信后使能SPI,NSS信号会被驱动为低电平(输出)直至禁止SPI。(实际应用中为保证主机SPI关闭后NSS引脚输出为高电平需设计上拉电阻)

(2)禁止NSS输出(SSOE=0)

器件工作在主模式下,此配置允许多主模式,但需要使用GPIO输出推挽控制从机片选。

从机:

1、软件从设备管理(SSM=1)

NSS输入电平由内部寄存器SSI位决定(从机置为0),该引脚空闲,可作普通GPIO使用。

2、硬件从设备管理(SSM=0)

NSS引脚用作传统的片选输入,低电平时选中该器件。

三、主从通信几种方法(供交流讨论)

单主单从(多从)

(1)主机硬件管理,NSS设置为复用功能,连上拉电阻,GPIO推挽输出;

从机硬件管理,NSS设置为复用功能,接主机GPIO(单从NSS可直接接地)。

(2)主机软件管理,GPIO推挽输出;

从机软件管理,通过GPIO中断控制传输数据。

(3)主机软件管理,GPIO推挽输出;

从机硬件管理,NSS设置为复用功能,接主机GPIO。

多主

主机硬件管理,NSS设置成复用功能,连上拉电阻,且在不发送数据时失能NSS输出(SSOE=0),在要发送数据时使能NSS输出(SSOE=1)。

  • 1
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值