微波EDA网,见证研发工程师的成长!
首页 > 硬件设计 > 嵌入式设计 > STM32F10xxx架构:通用同步异步收发器USART--USART通用

STM32F10xxx架构:通用同步异步收发器USART--USART通用

时间:11-10 来源:互联网 点击:
USART简介:

USART利用分数波特率发生器提供宽范围的波特率选择。支持同步单向通信和半双工单线通信,也支持LIN(局部互联网)、智能卡协议、IrDA(红外数据组织)SIR ENDEC规范、调制解调器(CTS/RTS)操作。允许多处理器通信。使用多级缓冲配置的DMA方式,可以实现高速数据通信。

USART主要特性:

全双工异步通信,NRZ标准格式,分数波特率发生器系统(发生和接收共用的可编程波特率,最高达4.5Mbits/s),8-9位数据长度,1-2位停止位,LIN主发送同步断开符的能力及LIN从检测断开符的能力(当配置成LIN时生成13位断开符,检测10/11位断开符),发送方为同步传输提供时钟,IRDA SIR编解码器(正常模式下支持3/16位持续时间),智能卡模拟功能(支持ISO7816-3标准的异步智能卡协议,用到0.5/1.5个停止位),单线半双工通信,可配置的使用DMA的多缓冲器通信(在SRAM里利用集中式DMA缓冲接收/发送字节),单独的发送器和接收器使能位,检测标志(接收缓冲器满,发送缓冲器空,传输结束标志),校验控制(发送校验位,对接收数据进行校验),四个错误检测标志(溢出,噪音,帧错误,校验错误),10个带标志中断源(CTS改变,LIN断开符检测,发送数据寄存器空,发送完成,接收数据寄存器满,检测到总线为空闲,溢出错误,帧错误,噪音错误,校验错误),多处理器通信(如果地址不匹配,则进入静默模式),从静默模式中唤醒(通过总线检测和地址标志检测),两种唤醒接收器的方式(地址位MSB 第9位,总线空闲)。

USART功能概述:

1、USART双向通信至少需要两个脚:RX(接收数据输入)、TX(发送数据输出)。

RX:接收数据串行输入,通过采样技术来区别数据和噪音,从而恢复数据。

TX:发送数据输出,当发送器被禁止时,输出引脚恢复到它的IO端口配置。当发送器被激活并且不发送数据时,TX引脚处于高电平。在单线和智能卡模式里,此引脚被同时用于数据的发送和接收。

总线在发送和接收前应处于空闲状态,起始位(1个),数据位(1个,8-9位,最低有效位在前),停止位(0.5,1.5,2位,表明数据帧结束),分数波特率发生器(12位整数和4位小数的表示方法),状态寄存器1个(USART_SR),数据寄存器1个(USART_DR),波特率寄存器1个(USART_BRR,12位整数和4位小数)。一个智能卡模式下的保护时间寄存器(USART_GTPR)。

2、USART工作于同步模式时,需要一个引脚:CK。

CK:发送器时钟的输出,此引脚输出用于同步传输的时钟。在start和stop位上没有时钟脉冲,软件可选地,可以在最后一个数据位送出一个时钟脉冲。数据可以在RX上同步被接收。这可以用来控制带移位寄存器的外部设备(例如LCD驱动器),时钟相位和极性都是软件可编程的。在智能卡模式里,CK可以为智能卡提供时钟。

3、USART工作于IRDA模式时,需要两个引脚:IRDA_RDI(数据输入),IRDA_TDO(数据输出)

4、USART工作于硬件流控模式时,需要两个引脚:nCTS,nRTS。

nCTS:清除发送,若是高电平,在当前数据传输结束时阻断下一次的数据发送。

nRTS:发送请求,若是低电平,表明USART准备好接受数据。

USART特性描述:

字长可以通过编程USART_CR1寄存器中的M位,选择成8位或者9位。在起始位期间,TX脚处于低电平,在停止位期间处于高电平。

空闲符号被视为完全由“1”组成的完整的数据帧,后面跟着包含了数据的下一帧的开始位(“1”的位数也包含了停止位的位数)。

断开符号被视为在一个帧周期内全部接收到“0”(包括停止位期间,也是“0”)。在断开帧结束时,发送器再插入1或2个停止位(“1”)来应答起始位。

发送和接收由一共用的波特率发生器驱动,当发送器和接收器的使能分别置位时,分别为其产生时钟。

USART寄存器描述:

1、USART状态寄存器(USART_SR)

1】地址偏移:0x00,复位值:0x00C0

2】位31-位10:保留位,硬件强制为0

位9:CTS(CTS标志位):在USART4和USART5上不存在这一位。参照上文所述的硬件流模式(USART功能概述里面)。如果设置了“CTSE位”,当nCTS输入变化状态时,该位被硬件置高。由软件将其清零。如果USART_CR3中的CTSIE为“1”,则产生中断。 置为0时,表示nCTS状态线上没有变化,置为1时,表示nCTS状态线上发生变化。

位8:LBD(LIN断开检测标志):当探测到LIN断开时,该位由硬件置“1”,由软件清“0”(向该位写0)。如果USART_CR3中的LBDIE为“1”,则产生中断。 置为0时,表示没有检测到LIN断开,置为1时,表示检测到

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top