板内板间通信协议及接口(二)uart usart
前面一节已介绍同步、异步、双工、半双工通信知识。
这节从uart及usart说起。
USART(universal synchronous asynchronous receiver and transmitte): 通用同步异步收发器
USART是一个串行通信设备,可以灵活地与外部设备进行全双工数据交换。
UART(universal asynchronous receiver and transmitter): 通用异步收发器
异步串行通信口(UART)就是我们在嵌入式中常说的串口,它还是一种通用的数据通信议。
区别:
USART是指单片机的一个端口模块,可以根据需要配置成同步模式(SPI,I2C),也可以将其配置为异步模式,后者就是UART。所以说UART姑且可以称之为一个与SPI,I2C对等的“协议”,而USART则不是一个协议,而是更应该理解为一个实体。
相比于同步通讯,UART不需要统一的时钟线,接线更加方便。但是,为了正常的对信号进行解码,使用UART通讯的双方必须事先约定好波特率,即单位事件内传输码元的个数。
补充:
在电子通信领域,波特(Baud)即调制速率,指的是有效数据讯号调制载波的速率,即单位时间内载波调制状态变化的次数。它是对符号传输速率的一种度量,1波特即指每秒传输1个符号,而透过不同的调制方式,可以在一个码元符号上负载多个bit位信号。[1]“波特”(Baud)本身已是速率,所以不需要写成 Baud Rate(Rate 是赘字)。单位“波特”本身就已经是代表每秒的调制数,以“波特每秒”(Baud per second)为单位是一种常见的错误,但是在一般中文口语化的沟通上还是常以“波特率”来描述“波特”(Baud)。
uart
通用异步收发传输器(Universal Asynchronous Receiver/Transmitter),通常称作UART,是一种异步收发传输器,是电脑硬件的一部分。它将要传输的资料在串行通信与并行通信之间加以转换。作为把并行输入信号转成串行输出信号的芯片,UART通常被集成于其他通讯接口的连结上。
具体实物表现为独立的模块化芯片,或作为集成于微处理器中的周边设备。一般是RS-232C规格的,与类似Maxim的MAX232之类的标准信号幅度变换芯片进行搭配,作为连接外部设备的接口。在UART上追加同步方式的序列信号变换电路的产品,被称为USART(Universal Synchronous Asynchronous Receiver Transmitter)。
定义
UART是一种通用串行数据总线,用于异步通信。该总线双向通信,可以实现全双工传输和接收。在嵌入式设计中,UART用于主机与辅助设备通信,如汽车音响与外接AP之间的通信,与PC机通信包括与监控调试器和其它器件,如EEPROM通信。
USART
USART:(Universal Synchronous/Asynchronous Receiver/Transmitter)通用同步/异步串行接收/发送器USART是一个全双工通用同步/异步串行收发模块,该接口是一个高度灵活的串行通信设备。
结构组成
USART收发模块一般分为三大部分:时钟发生器、数据发送器和接收器。控制寄存器为所有的模块共享。
时钟发生器由同步逻辑电路(在同步从模式下由外部时钟输入驱动)和波特率发生器组成。发送时钟引脚XCK仅用于同步发送模式下,
发送器部分由一个单独的写入缓冲器(发送UDR)、一个串行移位寄存器、校验位发生器和用于处理不同桢结构的控制逻辑电路构成。使用写入缓冲器,实现了连续发送多帧数据无延时的通信。
接收器是USART模块最复杂的部分,最主要的是时钟和数据接收单元。数据接收单元用作异步数据的接收。除了接收单元,接收器还包括校验位校验器、控制逻辑、移位寄存器和两级接收缓冲器(接收UDR)。接收器支持与发送器相同的帧结构,同时支持帧错误、数据溢出和校验错误的检测。
uart和usart的区别
UART与USART都是单片机上的串口通信,他们之间的区别如下:
首先从名字上看:
UART:universal asynchronous receiver and transmitter通用异步收/发器
USART:universal synchronous asynchronous receiver and transmitter通用同步/异步收/发器
从名字上可以看出,USART在UART基础上增加了同步功能,即USART是UART的增强型,事实也确实是这样。但是具体增强到了什么地方呢?
其实当我们使用USART在异步通信的时候,它与UART没有什么区别,但是用在同步通信的时候,区别就很明显了:大家都知道同步通信需要时钟来触发数据传输,也就是说USART相对UART的区别之一就是能提供主动时钟。如STM32的USART可以提供时钟支持ISO7816的智能卡接口。 USART支持流控制
在s3c2440中看到的是uart,而在一般新的芯片手册中看到的都是usart,虽然在以前也都看到过,原本以为这俩其实是相同的,以为只是不同芯片采用不同的名称而已,其实不然,uart全名叫通用异步收发传输器,在uart上追加同步方式的序列信号变换电路则称之为usart
UART 是一种通用串行数据总线,用于异步通信,全双工,
与UART的区别是USART具有发送部分有外部时钟输入驱动和波特率发生器,发送器有一个单独的写入缓冲器(发送UDR),一个串行移位寄存器、校验位发生器和用于处理不同帧结构的控制逻辑电路构成。使用写入缓冲器,实现了连续发送多帧数据无延迟的通信。其实USART是UART的增强型,只是比UART多了个同步功能,拥有独立的时钟驱动器,可以实现无延迟的数据传输。
板内板间通信协议及接口(二)uart usart相关推荐
- 板内板间通信协议及接口(四)SPI
SPI是串行扩展总线. 串行总线技术可以使系统的硬件设计大大简化.系统的体积减小.可靠性提高.同时系统的更改和扩充极为容易. 常用的串行扩展总线有:I2C(Inter IC Bus)总线.单总线(1- ...
- 启明云端分享| 采用 B to B设计的RK3399核心板来了,邮票孔,支持4K、H.265 硬解码;核心板内置 EDP、MIPI-DSI、HDMI、DP 显示接口,带有 2 路 MIPI-CSI
RK3399核心板(邮票孔)–IDO-SOM3909 提示:启明云端旗下触觉智能 采用 B to B设计的RK3399核心板来了,邮票孔,支持4K.H.265 硬解码:核心板内置 EDP.MIPI-D ...
- 基于STM32开发板I²C总线通信协议浅析
基于STM32开发板I²C总线通信协议浅析 一.前言 I²C(Inter-Integrated Circuit),中文应该叫集成电路总线,它是一种串行通信总线,使用多主从架构,是由飞利浦公司在1980 ...
- 液晶屏 -- 驱动板 -- 屏线 -- 高压条 -- LVDS接口知识
1.液晶屏 先说液晶屏,只要不是太特殊的笔记本,绝大多数都是LVDS接口的,极少是TTL的,这个看液晶屏的针脚可以大致判断出来(注意是看液晶屏上的接口,不是已经引出的屏线),LVDS的一般是14.20 ...
- Android 开发板内网下的时间同步
Android 开发板内网下的时间同步 第一种方案: 间隔发送请求到服务器,从服务器拿到时间后修改系统时间 1:通过系统厂家给的接口修改时间2:通过adb命令修改 public void testDa ...
- php内嵌网页加载js,javascript 窗口加载蒙板 内嵌网页内容_javascript技巧
//初始化导航背景,iframe容器 function fnDaoHangBg() { var h = fnGetHeight(),w = fnGetWidth();//获取背景窗口大小 if(!$( ...
- html页面加载蒙版_javascript 窗口加载蒙板 内嵌网页内容
//初始化导航背景,iframe容器 function fnDaoHangBg() { var h = fnGetHeight(),w = fnGetWidth();//获取背景窗口大小 if(!$( ...
- 开发板_Hi3516DV300核心板/开发板;Hi3516EV100+4G+AUDIO RTMP开发板;海思系列开发板/核心板定制开发...
1.海思Hi3516DV300核心板/开发板 一,芯片参数 1. 处理器内核 *双核ARM Cortex-A7@ 900MHz,32KB I-Cache,32KB D-Cache,256KB L2 C ...
- PCIe接口二,三事
PCIe接口二,三事 结构 互连 通道 硬件协议 物理层 数据传输 数据链路层 事务层 结构 从概念上讲,PCIe总线是旧 PCI/PCI-X 总线的高速串行替代品. PCIe总线和旧PCI之间的主要 ...
最新文章
- spark-submit参数说明--standalone
- 正则表达式中的小括号用法
- Jupyter Notebook插入图片的4种方法
- OCM备考 一、Server config 之手工创建数据库
- 如何免费申请用于开发目的的Hybris Commerce license
- 使用JUnit和Repeat注​​释编写有效的负载测试
- MyBatis学习笔记(三) 关联关系
- Maven学习总结(27)——Maven自定义打包插件maven-assembly-plugin详解
- JavaWeb学习记录(二十五)——权限管理总结
- 自定义View在android2.3.3手机上正常运行 在android4.2.2手机上报空指针
- JAVA 算法之穷举法
- idea背景颜色修改
- 安装YApi 接口管理平台
- 牛客2019跨年AK场题解(一)
- E.03.10 Coffee Drinking Tied to Lower Risk of Heart Failure
- php 获取微博cookie,如何获取微博 Cookie
- 架构师速成5.2-价值观和目标
- android安全漏洞(八)伪造短信(利用原生android4.0漏洞)
- 【送书】就业大崩溃,你是否正在从事20年内大概率被淘汰的职业?
- 用智能指针实行所有权