新闻中心

EEPW首页 > 嵌入式系统 > 设计应用 > AVR单片机(学习ing)-ATMEGA16的USART与PC机串行通信

AVR单片机(学习ing)-ATMEGA16的USART与PC机串行通信

作者:时间:2016-11-27来源:网络收藏
五、ATMEGA16的USART与PC机串行通信

五—(01)、PC机发送字符给单片机控制发光管亮,同时将其传回PC机,其中单片机的发送和接收都采用查询方式(下一篇中有例程~)

本文引用地址:http://www.eepw.com.cn/article/201611/322201.htm

1、USART的主要特点

通用同步和异步串行接收器和转发器(USART) 是一个高度灵活的串行通讯设备。主要特
点为:
• 全双工操作( 独立的串行接收和发送寄存器)
• 异步或同步操作
• 主机或从机提供时钟的同步操作
• 高精度的波特率发生器
• 支持5, 6, 7, 8, 或9 个数据位和1 个或2 个停止位
• 硬件支持的奇偶校验操作
• 数据过速检测
• 帧错误检测
• 噪声滤波,包括错误的起始位检测,以及数字低通滤波器
• 三个独立的中断:发送结束中断, 发送数据寄存器空中断,以及接收结束中断
• 多处理器通讯模式
• 倍速异步通讯模式

2、异步串行收发器

USART 分为了三个主要部分: 时钟发生器,发送器和接收器。控制寄存器由三
个单元共享。时钟发生器包含同步逻辑,通过它将波特率发生器及为从机同步操作所使用
的外部输入时钟同步起来。XCK ( 发送器时钟) 引脚只用于同步传输模式。发送器包括一个写缓冲器,串行移位寄存器,奇偶发生器以及处理不同的帧格式所需的控制逻辑。写缓
冲器可以保持连续发送数据而不会在数据帧之间引入延迟。由于接收器具有时钟和数据
恢复单元,它是USART 模块中最复杂的。恢复单元用于异步数据的接收。除了恢复单
元,接收器还包括奇偶校验,控制逻辑,移位寄存器和一个两级接收缓冲器UDR。接收
器支持与发送器相同的帧格式,而且可以检测帧错误,数据过速和奇偶校验错误。

3、时钟产生

1)USART支持4种模式的时钟

时钟产生逻辑为发送器和接收器产生基础时钟。USART 支持4 种模式的时钟:正常的异
步模式,倍速的异步模式,主机同步模式,以及从机同步模式。USART 控制位UMSEL
和状态寄存器C (UCSRC) 用于选择异步模式和同步模式。倍速模式( 只适用于异步模式
) 受控于UCSRA 寄存器的U2X。使用同步模式 (UMSEL = 1) 时,XCK 的数据方向寄存器
(DDR_XCK)决定时钟源是由内部产生(主机模式)还是由外部生产(从机模式)。仅在同步模
式下XCK 有效。





2)内部时钟用于异步模式和同步主机模式(这里我也不是很懂~~,专业术语太多,不过说白了就是波特率的计算公式呗,不过好好看看肯定能明白的)

USART 的波特率寄存器UBRR 和降序计数器相连接,一起构成可编程的预分频器或波特
率发生器。降序计数器对系统时钟计数,当其计数到零或UBRRL 寄存器被写时,会自动
装入UBRR 寄存器的值。当计数到零时产生一个时钟,该时钟作为波特率发生器的输出
时钟,输出时钟的频率为fosc/(UBRR+1)。发生器对波特率发生器的输出时钟进行2、8
或16 的分频,具体情况取决于工作模式。波特率发生器的输出被直接用于接收器与数据
恢复单元。数据恢复单元使用了一个有2、8或16个状态的状态机,具体状态数由UMSEL、
U2X 与 DDR_XCK 位设定的工作模式决定。
Table 60 给出了计算波特率(位/秒)以及计算每一种使用内部时钟源工作模式的UBRR值
的公式。



3)倍速工作模式

通过设定UCSRA 寄存器的U2X 可以使传输速率加倍。该位只对异步工作模式有效。当
工作在同步模式时,设置该位为"0”。
设置该位把波特率分频器的分频值从16 降到8,使异步通信的传输速率加倍。此时接收
器只使用一半的采样数对数据进行采样及时钟恢复,因此在该模式下需要更精确的系统
时钟与更精确的波特率设置。发送器则没有这个要求。


上一页 1 2 3 4 下一页

评论


技术专区

关闭