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

【经验分享】STM32 SPI简介

[复制链接]
STMCU小助手 发布时间:2022-6-16 18:00
01. SPI简介
1 c. x: X. W5 m' I2 zSPI 接口提供两个主要功能,支持 SPI 协议或 I 2 S 音频协议。默认情况下,选择的是 SPI 功能。可通过软件将接口从 SPI 切换到 I2S。: ?! f; t4 g3 e9 |" o- N
1 f' J% a+ R$ I- l
串行外设接口 (SPI) 可与外部器件进行半双工/全双工的同步串行通信。该接口可配置为主模式,在这种情况下,它可为外部从器件提供通信时钟 (SCK)。该接口还能够在多主模式配置下工作。
, t3 K" w! D7 B* B0 I4 u6 _; M; J) c0 j7 `  H
它可用于多种用途,包括基于双线的单工同步传输,其中一条可作为双向数据线,或使用CRC 校验实现可靠通信。
3 }4 Y3 K1 [- ^2 B, F) _" p. y8 [3 m' H0 X+ J# A- r% |+ Q
I2S 也是同步串行通信接口。它可满足四种不同音频标准的要求,包括 I 2 S Philips 标准、MSB 和 LSB 对齐标准,以及 PCM 标准。它可在全双工模式(使用 4 引脚)或半双工模式(使用 3 个引脚)下作为从器件或主器件工作。当 I 2 S 配置为通信主模式时,该接口可以向
% E' q0 k8 A0 m# C$ P# h/ C4 `& _外部从器件提供主时钟。2 x/ v2 C7 E2 {
  g& N3 ?* j" a7 R3 y' S
02. SPI特性
! g. A0 l2 w/ D● 基于三条线的全双工同步传输  r! D: g( b- w* V9 b; g
● 基于双线的单工同步传输,其中一条可作为双向数据线
4 t6 m9 V3 H$ n' _4 N/ V● 8 位或 16 位传输帧格式选择
4 z( S; P7 ^; J( l● 主模式或从模式操作5 F  t+ b1 k. e$ u
● 多主模式功能5 e+ X0 ?- ~4 ]
● 8 个主模式波特率预分频器(最大值为 f PCLK /2)& |- W" i1 y9 G- {* L6 h+ K# u
● 从模式频率(最大值为 f PCLK /2)0 r% h& Z8 z" t: ^% G6 Q9 I
● 对于主模式和从模式都可实现更快的通信
% |- |4 \7 [( p; j1 t● 对于主模式和从模式都可通过硬件或软件进行 NSS 管理:动态切换主/从操作
) _( j0 ?6 U* M# h$ t: h( Y& r● 可编程的时钟极性和相位
4 q3 A+ r" X  L: [# g: k● 可编程的数据顺序,最先移位 MSB 或 LSB
8 {+ k0 G5 J  K* z" S) j! H! h● 可触发中断的专用发送和接收标志- M# I1 ^0 r/ x% |
● SPI 总线忙状态标志; f# E9 E0 |% |+ M/ J7 Z/ y
● SPI TI 模式
& x" L4 B, A3 `3 q) S● 用于确保可靠通信的硬件 CRC 功能:
; q( x* W/ I' [8 \2 J. x— 在发送模式下可将 CRC 值作为最后一个字节发送# p) A7 E5 k1 e
— 根据收到的最后一个字节自动进行 CRC 错误校验# U! j6 n2 L# [1 Y
● 可触发中断的主模式故障、上溢和 CRC 错误标志
5 |. B$ X* r7 f% d9 w5 n$ |8 d5 ]● 具有 DMA 功能的 1 字节发送和接收缓冲器:发送和接收请求  N7 V6 I! Q3 |0 h6 t

" Q. g$ \; F1 N7 O( `03. SPI功能说明
6 P/ g1 r# N) b$ q  m* C: k/ c' k8 G7 t1 E) [  E* @. h" E6 w
`EOT%@1E0L8N[G@A_KMXKBO.png ' c' L2 E: q5 C
. R. T' x& F# w4 w7 A7 Q
通常,SPI 通过 4 个引脚与外部器件连接:+ V6 i5 q, L, Y9 S
● MISO:主输入/从输出数据。此引脚可用于在从模式下发送数据和在主模式下接收数据。4 W. n4 n7 h1 \9 p
● MOSI:主输出/从输入数据。此引脚可用于在主模式下发送数据和在从模式下接收数据。
+ x- {$ s8 F! ^# U3 K● SCK:用于 SPI 主器件的串行时钟输出以及 SPI 从器件的串行时钟输入。
2 E0 Z5 q1 g2 _0 \● NSS:从器件选择。这是用于选择从器件的可选引脚。此引脚用作“片选”,可让 SPI主器件与从器件进行单独通信,从而并避免数据线上的竞争。从器件的 NSS 输入可由主器件上的标准 IO 端口驱动。NSS 引脚在使能(SSOE 位)时还可用作输出,并可在SPI 处于主模式配置时驱动为低电平。通过这种方式,只要器件配置成 NSS 硬件管理模式,所有连接到该主器件 NSS 引脚的其它器件 NSS 引脚都将呈现低电平,并因此而作为从器件。当配置为主模式,且 NSS 配置为输入(MSTR=1 且 SSOE=0)时,如果NSS 拉至低电平,SPI 将进入主模式故障状态:MSTR 位自动清零,并且器件配置为从模式。9 j1 e9 v' z; X% }) C2 q
; k/ f0 r& B3 o  ?$ H
04. SPI中断
2 g4 d4 o) o; u7 m
/ k7 u5 \  Q# ?2 Y9 l3 J
))O[R{N2]LJ@}_ZHH``~UBV.png
' X2 {/ N' N  y" b- B
% O3 L' r% h* R, n9 F  B8 U05. 相关寄存器
6 `& ]; X( I+ L$ k, R
5.1 SPI 控制寄存器 1 (SPI_CR1) (不用于 I 2 S 模式)
6 Q; {% g& }1 _+ n) lSPI control register 1
4 Z( ]; Q, d# ?1 W; h( H偏移地址:0x00& }! `" h! V  Q4 g4 f
复位值:0x0000
% [/ X) m* f3 e7 n: G- B# J
7 \; Y; ^; g  ]0 A! G 20201013160322534.png ; }3 o  H8 l' @- ]
: u/ ~/ x( n8 b; `
5.2 SPI 控制寄存器 2 (SPI_CR2)
2 H" P$ _" X( R) HSPI control register 2
; w- P6 `3 P  [* G5 O9 w: V偏移地址:0x04
. a  u) a' Y- ?0 X- p+ H1 c复位值:0x0000  u+ i) D1 n0 U* N( F- g: ]

) v- Z0 j/ j3 R+ m6 s# \7 n, P& ^- z 20201013160329558.png 9 T  y3 ~3 R. V# t0 `& W
: n3 e# X, `( u+ U1 ]7 y
5.3 SPI 状态寄存器 (SPI_SR)# y9 p- }& V" h0 n! j4 u& L( i
SPI status register
1 X* c. |/ H' C  s% S偏移地址:0x08! I; j3 q3 U1 Q: v! ~
复位值:0x00026 n) e" v" L( E. {
1 F; t; s( S: p& ]
20201013160338973.png 7 F% i: v0 V0 @$ J2 X

( _6 U& G1 y& w* {# ]' W5.4 SPI 数据寄存器 (SPI_DR)
. E5 F7 H9 @8 j. k$ x6 e$ CSPI data register  _+ G  W" z$ B* O3 m
偏移地址:0x0C
0 r* D: Y1 p* D7 M复位值:0x00009 m* o# l, A& [. K0 J
7 A$ Z7 W% d& Q1 ~, y
20201013160351114.png
% b+ r6 }2 f1 V3 F; y. n' `' g% Y& q' b" C% a
5.5 SPI_I 2 S 配置寄存器 (SPI_I2SCFGR): A2 H5 j1 S* |9 J, a
SPI_I 2 S configuration register
. z& D  H1 L, \8 Z6 T0 ]& Y* ?偏移地址:0x1C0 p3 c+ ?! e) V+ p; [2 ]
复位值:0x0000
8 I0 }& [( u1 |. H) r; l0 K1 e
& m3 S' v: o. a9 }0 w4 G 20201013160402676.png
; l" Q. x9 Y; s. k, v- Z( _7 C3 C: Q6 }% B9 p
5.6 SPI_I 2 S 预分频器寄存器 (SPI_I2SPR)
1 f' f+ {' \" S" uSPI_I 2 S prescaler register
8 a6 ]& x+ Y# D, D# W偏移地址:0x20
. _! H' g% [' h复位值:0000 0010 (0x0002). K* J0 i" D2 l" Q
20201013160413739.png
+ S8 S1 _. f' z) n4 e3 w6 ~! [0 K+ D* o& o  C

; ^% `. N- h9 ^8 i; @+ J0 U6 p- Q# j# S( H8 E
+ u' }% d+ P% Y3 i. K

0 ^" Y9 l1 C$ \$ n% Y
赞 收藏 评论0 发布时间:2022-6-16 18:00

举报

0个回答

所属标签

相似技术帖

官网相关资源

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