你的浏览器版本过低,可能导致网站不能正常访问!
为了你能正常使用网站功能,请使用这些浏览器。

【经验分享】STM32 SPI简介

[复制链接]
STMCU小助手 发布时间:2022-3-27 17:00
01. SPI简介% @. H2 n/ F6 H- l$ @+ D- v+ R
SPI 接口提供两个主要功能,支持 SPI 协议或 I 2 S 音频协议。默认情况下,选择的是 SPI 功能。可通过软件将接口从 SPI 切换到 I2S。3 [7 D! {: P1 \2 p% i( @$ n& T! x
* t  K# H# y! M. m" g$ L
串行外设接口 (SPI) 可与外部器件进行半双工/全双工的同步串行通信。该接口可配置为主模式,在这种情况下,它可为外部从器件提供通信时钟 (SCK)。该接口还能够在多主模式配置下工作。
; g1 o. i. E) @0 [+ e# D5 {. V$ d
! ]+ E8 H; c* p- L" O  o它可用于多种用途,包括基于双线的单工同步传输,其中一条可作为双向数据线,或使用CRC 校验实现可靠通信。% r+ R& z  j- K
9 Z* [& u" E4 O' l! t
I2S 也是同步串行通信接口。它可满足四种不同音频标准的要求,包括 I 2 S Philips 标准、MSB 和 LSB 对齐标准,以及 PCM 标准。它可在全双工模式(使用 4 引脚)或半双工模式(使用 3 个引脚)下作为从器件或主器件工作。当 I 2 S 配置为通信主模式时,该接口可以向
3 ^% {+ \8 M$ L4 O; d外部从器件提供主时钟。2 s: V0 n& [. E& j6 ~/ P, f; }
8 y9 l3 a$ k5 W3 w" R2 D1 p9 f
02. SPI特性% O+ P9 A. L4 y1 Z# T
● 基于三条线的全双工同步传输
$ [9 k/ E$ H( ^$ [6 T+ l6 C! p* |7 D1 |● 基于双线的单工同步传输,其中一条可作为双向数据线) Z9 R2 y! x2 o* A; W0 ?+ H
● 8 位或 16 位传输帧格式选择
- g' f" z! I5 X" R+ O3 v  a. {● 主模式或从模式操作" `7 U& X  o. @. V& B+ T& {
● 多主模式功能
8 H& q1 j' _$ b% P6 R; D( C● 8 个主模式波特率预分频器(最大值为 f PCLK /2)2 i( x2 A7 F, H/ M
● 从模式频率(最大值为 f PCLK /2)! k. V; W% ]& l; M
● 对于主模式和从模式都可实现更快的通信
2 Z5 y* T, t# b8 H% K● 对于主模式和从模式都可通过硬件或软件进行 NSS 管理:动态切换主/从操作
* c  u+ r2 \) y% G  Q● 可编程的时钟极性和相位
0 G8 f0 A. n, g( ?$ ~& }* ^● 可编程的数据顺序,最先移位 MSB 或 LSB! c2 Y& O; m8 J) s
● 可触发中断的专用发送和接收标志
) v- q1 ~! U( e● SPI 总线忙状态标志
' U, u- a0 E6 R● SPI TI 模式
' {( Z* v3 ?2 e; w) G. o● 用于确保可靠通信的硬件 CRC 功能:/ ^, _: e) p. |3 P
— 在发送模式下可将 CRC 值作为最后一个字节发送0 M0 t0 t5 L7 i' _, ?
— 根据收到的最后一个字节自动进行 CRC 错误校验
& E4 E& x6 k4 q6 J, `/ }% ^. r● 可触发中断的主模式故障、上溢和 CRC 错误标志9 A; Y7 j) v; i- H( L& ?8 z& d
● 具有 DMA 功能的 1 字节发送和接收缓冲器:发送和接收请求2 Z$ V( i, i. M/ `- T; x& S

* q3 v' W) I6 K+ a4 {' m$ k  x03. SPI功能说明& _$ u* N: t4 b7 q' x
7 L' U3 L8 h+ M. m2 ?
ZROW)T9C[Z]YIT7S@OS((H5.png
, q3 x, }- y( Q* k
  |' \) }2 [) G. P' ]% l* D! n通常,SPI 通过 4 个引脚与外部器件连接:0 t* q# s% k8 ?: i4 N7 g$ K! b6 k3 |
● MISO:主输入/从输出数据。此引脚可用于在从模式下发送数据和在主模式下接收数据。
/ s1 F# R0 l2 p1 t% |# X● MOSI:主输出/从输入数据。此引脚可用于在主模式下发送数据和在从模式下接收数据。
- F$ Q4 E5 c& c$ ~6 z● SCK:用于 SPI 主器件的串行时钟输出以及 SPI 从器件的串行时钟输入。6 ]& a8 U  p/ r
● NSS:从器件选择。这是用于选择从器件的可选引脚。此引脚用作“片选”,可让 SPI主器件与从器件进行单独通信,从而并避免数据线上的竞争。从器件的 NSS 输入可由主器件上的标准 IO 端口驱动。NSS 引脚在使能(SSOE 位)时还可用作输出,并可在SPI 处于主模式配置时驱动为低电平。通过这种方式,只要器件配置成 NSS 硬件管理模式,所有连接到该主器件 NSS 引脚的其它器件 NSS 引脚都将呈现低电平,并因此而作为从器件。当配置为主模式,且 NSS 配置为输入(MSTR=1 且 SSOE=0)时,如果NSS 拉至低电平,SPI 将进入主模式故障状态:MSTR 位自动清零,并且器件配置为从模式。; A& P+ g- K9 `

; d' o( k5 c7 v5 B) b  [04. SPI中断+ w! e8 h2 B- F4 k, \8 |, a
: a) ~' u- j. b& q. q
2V5WAHIG212Z300DD~(G[05.png
, o* I! h6 l* J+ R+ q5 ^3 U8 j: N3 H9 l' a6 ~/ P& E" D$ N: q
05. 相关寄存器
! X8 g" V2 R  g! Z6 t4 }
5.1 SPI 控制寄存器 1 (SPI_CR1) (不用于 I 2 S 模式)- U" t: H! n& D+ _' B( r
SPI control register 1
, q4 C  P8 n/ j6 X' a2 P偏移地址:0x00$ C5 ?. R' G9 a! L# P4 n# j
复位值:0x00007 v5 n. s# v0 t* h% a9 Y1 `

1 t3 F/ |+ D' \ 20201013160322534.png 1 y! ^" ]- p4 z2 E$ v- H

  M3 w4 A6 I: J. \/ N: J/ Y& f5.2 SPI 控制寄存器 2 (SPI_CR2)
% {# y" V- T* v9 Y& y  sSPI control register 20 F  j6 U# Z  x8 H
偏移地址:0x04
3 V$ G1 f9 S/ X/ [复位值:0x0000
" J7 E# G8 i6 t  F3 q& E2 i/ U) X4 c2 `0 \1 K
20201013160329558.png - S1 r2 {# ]) P; h2 ~
' _: [+ V/ \1 a
5.3 SPI 状态寄存器 (SPI_SR)5 Z& m% Q6 |! l* H& x% B' Y' r
SPI status register
8 [) v) N8 A. I5 j偏移地址:0x08
: I( `- x! ~( {复位值:0x00023 F, A" @: u: ]+ [8 U4 V4 A2 T; T
0 ]' d/ W8 g0 j) z' V! c& `
20201013160338973.png
  O/ d* D; n0 l: c7 p
% k1 f4 s2 K5 k" |* o$ F5.4 SPI 数据寄存器 (SPI_DR)
& z# B4 {3 `7 kSPI data register
; \5 a4 c1 T) o5 z" l4 W偏移地址:0x0C
4 M5 v% u1 X  ]' Y+ J复位值:0x0000$ c+ l$ A, d6 e, b0 c) m

# I" N' _" l( q. S: F 20201013160351114.png
9 e+ M$ s  V6 C; r, m4 _1 q% A) E
5.5 SPI_I 2 S 配置寄存器 (SPI_I2SCFGR)  y: A- R) O& _$ U8 H
SPI_I 2 S configuration register
2 W9 g9 ^- Z% T# d8 W( {/ V) y偏移地址:0x1C
/ ^4 ^: t' _' d9 a$ N复位值:0x0000/ W1 K* G$ l8 i4 U" Z  ]

4 V  i3 c. A9 Y+ [! B) o$ X& f 20201013160413739.png 1 j) z, h4 y4 [$ R

' R6 w, m& O" u) p) A, q& X" I$ }5.6 SPI_I 2 S 预分频器寄存器 (SPI_I2SPR)

, F2 u3 S9 E8 O& x* DSPI_I 2 S prescaler register: j) l0 ]/ l. O" D$ j4 I( |
偏移地址:0x20, m6 f. T+ V& X5 J
复位值:0000 0010 (0x0002)
6 T4 x' k! `$ ]
* p  j; a0 n* J4 `, H
- v; ]7 ~6 X( W0 b# M! M, \- \  v, r/ T4 d* M+ w9 x
. @/ ~. V. u5 E5 s( o
20201013160402676.png
赞 收藏 评论0 发布时间:2022-3-27 17:00

举报

0个回答

所属标签

相似技术帖

关于
我们是谁
投资者关系
意法半导体可持续发展举措
创新与技术
意法半导体官网
联系我们
联系ST分支机构
寻找销售人员和分销渠道
社区
媒体中心
活动与培训
隐私策略
隐私策略
Cookies管理
行使您的权利
官方最新发布
人形机器人运动控制、感知与智能配电
半导体创新技术与应用方向
EE架构与软件定义汽车
12V/48V 汽车智能配电(SPD)
区域控制单元(ZCU)与分区架构
关注我们
st-img 微信公众号
st-img 手机版