- 1、本文档共25页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
通用同步异步收发器 USART
通信外设
USART特性(1)
. 灵活可配置的串行通信属性
. 数据位长度:8位或9位
. 校验位(奇或偶)的产生和检测
. 停止位长度:1位、1.5位或2位
. 波特率可灵活配置
. 过采样位数:16位或8位
. 最高6M波特率(48MHz外设频率+8位过采样)
. 模块的双时钟域使得 (New)
. UART活动能把MCU从停止模式唤醒
. 波特率设置更方便,独立于外设总线时钟
. 收、发引脚可互换(New)
. 支持单线半双工通信
USART特性(2)
. 独立的发送、接收标志(TxE和RxNE),并可触发中断
. 支持DMA功能,可触发DMA的发送和接收请求
. 支持主模式下的同步通行
. 支持硬件流控(CTS和RTS)
. 兼容LIN协议的主设备、从设备
. 串行红外通行编/解码模式
. 智能卡模式
. 对字块模式(T=1)的支持(New)
. 对反向协议(inverse convention)的支持(New)
. 支持基本的MODBus通信(New)
. 地址/字符匹配
. 接收超时特性
USART特性(3)
. 多处理器通信
. USART模块可进入静默模式
. 静默模式下关闭接收中断
. 可通过空闲帧检测或地址匹配检测来被唤醒
. 自动波特率检测(New)
. 和nRTS共享引脚的用于RS485的发送使能信号
DTE (New)
. 14个中断源(13?)
. 比F2/F1新增5个中断源(New)
USART模块的实现
. 所有封装都带2个USART:U1和U2
. U2比U1所支持的功能少些,不具备
. USART的扩展特性
. 智能卡模式
. 红外编解码模式
. LIN总线模式
. MODBus总线模式
. 接收超时中断
. 波特率自动检测
. 模块双时钟域以及从停止模式唤醒
4
双时钟域
. USART挂在APB总线上
. 通过PCLK时钟访问模块的寄存器
. 驱动USART内部过采样的时钟fCK有以下选择
. PLCK,默认值
. SYSCLK,独立于PCLK
. HSI,停止模式下可以被USART唤醒
. LSE,低功耗模式下仍可驱动USART工作
STOP模式下
USART1仍可工作,
还可唤醒MCU
. USART1唤醒连到EXTI25
AHB分频
因子
APB分频
因子
PCLK max 48MHz
SYSCLK max
48MHz
HSI
8MHz
LSE
32.768KHz
fCK
USART1
USART1SW[1:0] @ RCC_CFGR3
5
多处理器通信环境
. 一主多从的通信环境
. 只有目标接收者收到完整的数据帧
. 非目标接收者保持“静默”状态,减少接收开销
. 使能控制位:MME@USART_CR1
. 接收状态位不被置位
. 接收中断被关闭
. 唤醒(退出“静默”状态)的方式
. WAKE@USART_CR1=0:检测到空闲帧
. WAKE@USART_CR1=1:检测到地址标志
USART4
USART1 USART2 USART3
Rx
Tx Rx Rx
Tx
Rx Tx Tx
主设备 从设备 从设备 从设备
6
从静默状态唤醒
. 空闲帧唤醒 WAKE=0
. 唤醒后硬件清零RWU
. 并不置位IDLE@SR
. 地址标志唤醒 WAKE=1
. 总线上传输的字节由MSB=1
来表示是地址字节
. 地址字节的低4/7位指明目标接
收节点
. USART设备自身地址的定义
. ADD[3:0]@USART_CR2
. ADD[7:0]@USART_CR2
. ADDM7@USART_CR2
7
多处理器通信下的静默模式
静默模式
唤醒方式
Wake =0(空闲帧) Wake =1(地址帧)
使能 软件置位MME@CR1(接收方可在静默和活动模式下切换)
如何进入 软件置位MMRQ
收到不匹配的地址字节;
或软件置位MMRQ
同时置位RWU;
硬件置位RWU;
进入后的状态
随后的数据不会置位
RxNE以及触发接收中断
收到的不匹配地址字节和后续的数据字
节都不会置位RxNE,也没有相应中断和
DMA请求;
如何退出 检测到Idle frame
收到匹配的地址字节
(MSB=1,4位或7位LSB是地址信息)
退出后
硬件清零RWU;
不会置位IDEL
硬件清零RWU;
该匹配的地址字节会置位RxNE
备注
8
从停止模式唤醒
. USART可以把MCU从停止模式唤醒
. 使能控制:UESM@USART_CR1
. 建议进入停止模式前置位它,退出后就复位它
. 前提:时钟采用HSI或LSE
. 唤醒源选择:WUS@USART_CR3
. RxNE置位
. 检测到起始位 RxNE都会置位,这个唤醒字节不会丢 . 收到匹配的地址字
文档评论(0)