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

【经验分享】STM32 USART简介

[复制链接]
STMCU小助手 发布时间:2022-6-13 08:48
01. USART简介
0 r) F5 r8 Y5 I' G通用同步异步收发器 (USART) 能够灵活地与外部设备进行全双工数据交换,满足外部设备对工业标准 NRZ 异步串行数据格式的要求。USART 通过小数波特率发生器提供了多种波特率。
% c# c' k$ e; h, A) h$ D
7 {0 i: e8 A+ }' G; W% o* S2 G: M它支持同步单向通信和半双工单线通信;还支持 LIN(局域互连网络)、智能卡协议与 IrDA(红外线数据协会)SIR ENDEC 规范,以及调制解调器操作 (CTS/RTS)。而且,它还支持多处理器通信。
& P6 C, y. F9 K& J9 }( A
7 A4 H# @7 `+ e  p. m( F0 |通过配置多个缓冲区使用 DMA 可实现高速数据通信。
! K5 S) `$ E' h+ r( u' c  Z0 ^
5 [9 ]  p# R$ l# Y% }- G# K2 Q$ F3 P02. USART主要特性

/ |4 n9 v2 P5 y4 n● 全双工异步通信
+ r& C4 K% d# L  u● NRZ 标准格式(标记/空格): G" Z* V9 e' N/ m4 n& L  }& M$ B0 C* r
● 可配置为 16 倍过采样或 8 倍过采样,因而为速度容差与时钟容差的灵活配置提供了可能
7 O7 G0 f+ O6 r: Y3 I" i# x● 小数波特率发生器系统
( T  ~/ g  ~7 H6 `. D( _! h& B— 通用可编程收发波特率(有关最大 APB 频率时的波特率值,请参见数据手册)。6 y+ c( p# y* ]- A
● 数据字长度可编程(8 位或 9 位)
  P' R, |3 N3 I2 ~) Z, r● 停止位可配置 - 支持 1 或 2 个停止位
+ _+ B6 k, U2 [3 i2 m● LIN 主模式同步停止符号发送功能和 LIN 从模式停止符号检测功能
6 i7 A$ Q- n: m+ A7 ]  y— 对 USART 进行 LIN 硬件配置时可生成 13 位停止符号和检测 10/11 位停止符号1 U# O0 B0 M" S: y
● 用于同步发送的发送器时钟输出
7 G2 l3 N, E' v1 e& I- h● IrDA SIR 编码解码器
  ?9 V$ J& F8 S& `— 正常模式下,支持 3/16 位持续时间
# \) [) k8 S8 n● 智能卡仿真功能
: d( V3 Q8 H6 K5 k) p/ B7 t% f— 智能卡接口支持符合 ISO 7816-3 标准中定义的异步协议智能卡
- m& A" I% W3 K/ d3 c! E* Z— 智能卡工作模式下,支持 0.5 或 1.5 个停止位, z2 r+ v7 j$ B( q& i* i( b
● 单线半双工通信
# V, N" V  G8 L5 v1 z6 W4 T) B: c● 使用 DMA(直接存储器访问)实现可配置的多缓冲区通信; y" l8 A% ^8 J4 J' k2 u
— 使用 DMA 在预留的 SRAM 缓冲区中收/发字节
+ C0 D* G5 b3 ?& ~6 z; q3 v6 q● 发送器和接收器具有单独使能位
5 r9 r+ \- ]" v● 传输检测标志:
3 k6 D& `: G# e+ M0 L; M4 p— 接收缓冲区已满
# x; y) A( }# |3 E1 G9 ?— 发送缓冲区为空
& V7 p5 H: S# E7 ]; G2 J8 h— 传输结束标志
2 V; y! o5 W' a1 C$ K  S● 奇偶校验控制:3 `& @7 c9 C) ]' u
— 发送奇偶校验位
3 C+ m; Z( J. }0 D! s- h3 ^— 检查接收的数据字节的奇偶性
3 K, }& ^4 h" J& t
9 e+ l) i$ A) j1 f! M  v7 m1 p● 四个错误检测标志:2 P# ?6 w# x, z+ J* h+ I
— 溢出错误
( E! I0 F1 _, b+ |/ b# _) ^— 噪声检测3 r4 {" a# A- [+ y& X6 n: G- s3 `( [
— 帧错误0 _* o& I4 j' h9 A
— 奇偶校验错误& X% K" {( D* V
● 十个具有标志位的中断源:" T& ^9 J% y( U; a
— CTS 变化
6 P9 }% h6 f1 p3 c; U: A— LIN 停止符号检测
" N4 y' w. f! ?* ]— 发送数据寄存器为空
: T( b( R  w4 t& c: c: T— 发送完成
5 F8 c2 y5 I0 O/ o" |3 w! f— 接收数据寄存器已满7 b9 n8 t, O( s; T# q9 }
— 接收到线路空闲
5 u0 d( R7 c) t7 g8 y1 ]: o— 溢出错误
* Q  \( h, R% ~, T— 帧错误, C! _2 n+ F% z. S" n" o8 J
— 噪声错误* Y! }/ H" R% j% g6 a
— 奇偶校验错误, W4 N! h% p& K
● 多处理器通信 - 如果地址不匹配,则进入静默模式
2 x' V2 ~6 Q7 {5 l● 从静默模式唤醒(通过线路空闲检测或地址标记检测)
2 ]7 V9 I9 p/ O3 F● 两个接收器唤醒模式:地址位(MSB,第 9 位),线路空闲
  o. W: Y7 j* N$ L, |7 \* S1 v' _: o
03. USART功能说明
3 g; P6 `! x  E$ ?7 p8 m! ^接口通过三个引脚从外部连接到其它设备。任何 USART 双向通信均需要至少两个引脚:接收数据输入引脚 (RX) 和发送数据引脚输出 (TX):" ?; e; Q0 T* `8 l6 m
1 T+ Z1 j+ l( m1 J4 M; Q/ Q1 A
RX :接收数据输入引脚就是串行数据输入引脚。过采样技术可区分有效输入数据和噪声,从而用于恢复数据。
4 t( x* e8 G4 S) k: S4 L( M1 B) Z2 l8 _+ v4 f2 h0 s$ |
TX :发送数据输出引脚。如果关闭发送器,该输出引脚模式由其 I/O 端口配置决定。如果使能了发送器但没有待发送的数据,则 TX 引脚处于高电平。在单线和智能卡模式下,该 I/O用于发送和接收数据(USART 电平下,随后在 SW_RX 上接收数据)。
/ o$ [* R3 B% J) t+ i
$ V+ S7 F4 q0 ^: f: D( A: H, J$ w04. USART字符说明1 n; j& t/ V$ ~2 @% v0 z
可通过对 USART_CR1 寄存器中的 M 位进行编程来选择 8 位或 9 位的字长。
9 z+ h- U2 K9 c. j6 A2 i! X1 A  o
TX 引脚在起始位工作期间处于低电平状态。在停止位工作期间处于高电平状态。空闲字符 可理解为整个帧周期内电平均为“1”(停止位的电平也是“1”),该字符后是下一个数据帧的起始位。6 k7 |5 C; |, T2 w* @6 G0 u. k

9 [! V* \9 w) r$ a5 g# U停止字符 可理解为在一个帧周期内接收到的电平均为“0”。发送器在中断帧的末尾插入 1或 2 个停止位(逻辑“1”位)以确认起始位。
; V4 Z$ i! i( o9 q0 C) e6 I
" Q' ^; X! n. {& f1 W0 L5 F发送和接收由通用波特率发生器驱动,发送器和接收器的使能位分别置 1 时将生成相应的发送时钟和接收时钟。* `" M! ~% h: c; \
$ }; h% `& H" t
8LU31GU]6MW[S)PSHOBL27P.png 1 |4 Y8 s1 V/ d' K; |! ]. v5 S

& n# @+ V" Y3 u/ }05. USART寄存器
6 J: ?6 O% E! H- k% C/ }# a5.1 状态寄存器 (USART_SR)

4 T) g0 u, v9 H' c# _Status register1 R/ L" \9 R  u, _4 a
偏移地址:0x00# b7 _) j$ x8 L1 r, [1 S
复位值:0x00C0 0000- |+ }  p4 t3 G* Y( i
+ {% @* }  w+ Y" Y% @: N% O) m
YM)T2XI2I3JMNV3DU8N{_0L.png
- U. B2 X5 E' a: m; B
/ a6 z  O, a- `5 }" h5.2 数据寄存器 (USART_DR)
$ S) f; i: i2 E- t5 mData register% D" k, u4 [- g
偏移地址:0x04
3 [/ _0 Y) k+ `0 F复位值:0xXXXX XXXX; a/ v5 I  I% k0 j

& ]" r4 s& ]) X" S 1_7{59QG$~TNF5TF]N5US7L.png
3 O& }# W, P* d% ?% v5 V0 |9 A
9 z8 Z# T" J# T3 ^6 e* a, z5.3 波特率寄存器 (USART_BRR)8 B' _; Q6 O' d9 l5 h0 R+ R
Baud rate register$ d) D# `' o% G
注意: 如果 TE 或 RE 位分别被禁止,则波特计数器会停止计数。# h4 w  y: d; N0 X/ v9 I' ?5 W
偏移地址:0x08
! b+ M/ ^7 O4 F$ [复位值:0x0000 0000' g# x2 ^6 w$ S% j4 L8 }/ |
* Y6 ]2 Y7 ?* l+ U4 p8 g( E, Q4 v
M76_R$[QJ%$D`6Z3TP%$G)Y.png
4 @+ C8 u0 w" q1 s+ ]* D. u: @# b' P- n* e1 K! U+ Z
位 31:16 保留,必须保持复位值5 \1 v1 W$ b. u. s# k3 z  a0 B; ?; x
位 15:4 DIV_Mantissa[11:0]:USARTDIV 的尾数这 12 个位用于定义 USART 除数 (USARTDIV) 的尾数2 E" e  a" A  o; c
位 3:0 DIV_Fraction[3:0]:USARTDIV 的小数这 4 个位用于定义 USART 除数 (USARTDIV) 的小数。当 OVER8 = 1 时,不考虑 DIV_Fraction3位,且必须将该位保持清零。" O- d, }: I3 D% t1 ~9 g
7 R& g5 e- J* Y4 d
5.4 控制寄存器 1 (USART_CR1)
+ t8 M( C' t! `( ]Control register 1
+ I' ~; h% M& ?# s% P. g偏移地址:0x0C% F1 ?. r: c) \3 A
复位值:0x0000 0000
$ d( n" s0 q' w0 _
5 k( h" Q: x: t% O; @; k I98ASPEV72}I[D63`FB_D`4.png
7 L0 y/ {7 U7 {' V# y# i. }+ i; X
5.5 控制寄存器 2 (USART_CR2)
8 n; k) S7 g1 OControl register 20 o$ w5 \/ E6 x2 D& i+ N
偏移地址:0x10
, O8 j8 Z+ l) w6 W  j- A, X复位值:0x0000 0000
9 m% S' r: V+ ?7 e
1 b4 y; Z( V' Z7 m; L& ]6 U R10I60G)A]([)W3[QMW6[6V.png
- \3 r% e# [" z  [6 o- Z# I
1 Y/ O/ W5 k6 a5.6 控制寄存器 3 (USART_CR3)
( F) f$ M. N6 m& W" `Control register 3) q# T) o5 m( c0 d/ y
偏移地址:0x141 v& g4 y# e/ \3 y8 [, O% M$ [
复位值:0x0000 0000
; I) |$ M9 b9 D7 p5 q% D0 [$ S; Z  W5 i2 n6 ]6 o+ I) |
%$A(L95@41W7@KWWI5M8BOW.png
4 t4 ?$ P' f7 p; r6 C+ K
5 r' g) V+ R% \/ u! c# F5.7 保护时间和预分频器寄存器 (USART_GTPR)
6 O2 R% |6 J$ i1 }Guard time and prescaler register0 P6 M* G: S0 E; l; I: S8 ~' k, ~6 `
偏移地址:0x18
8 l: w, t: i/ R7 ]复位值:0x0000 0000
) }1 z& j7 q' u' l EKA8AJ)XAN0HDG[$_SUWD1W.png
, i2 E5 `/ _+ j8 X) i2 O( z( j- @5 V) r# A
9 {4 o- |6 E/ U$ p9 G! o
% _" D$ y5 N1 v! N/ g' z4 N
赞 收藏 评论0 发布时间:2022-6-13 08:48

举报

0个回答

所属标签

相似技术帖

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