UART和USART有区别

UART和USART有区别UART  UART是一种通用串行数据总线,用于异步通信。该总线双向通信,可以实现全双工传输和接收。在嵌入式设计中,UART用于主机与辅助设备通信,如汽车音响与外接AP之间的通信,与PC机通信包括与监控调试器和其它器件,如EEPROM通信。  UART的功能计算机内部采用并行数据,不能直接把数据发到Modem,必须经过UART整理才能进行异步传输,其过程为:CPU先把准备写入串行设备的数据…

大家好,又见面了,我是你们的朋友全栈君。

UART

  UART是一种通用串行数据总线,用于异步通信。该总线双向通信,可以实现全双工传输和接收。在嵌入式设计中,UART用于主机与辅助设备通信,如汽车音响与外接AP之间的通信,与PC机通信包括与监控调试器和其它器件,如EEPROM通信。

  UART的功能计算机内部采用并行数据,不能直接把数据发到Modem,必须经过UART整理才能进行异步传输,其过程为:CPU先把准备写入串行设备的数据放到UART的寄存器(临时内存块)中,再通过FIFO(First Input First Output,先入先出队列)传送到串行设备,若是没有FIFO,信息将变得杂乱无章,不可能传送到Modem。它是用于控制计算机与串行设备的芯片。有一点要注意的是,它提供了RS-232C数据终端设备接口,这样计算机就可以和调制解调器或其它使用RS-232C接口的串行设备通信了。

  作为接口的一部分,UART还提供以下功能:将由计算机内部传送过来的并行数据转换为输出的串行数据流。将计算机外部来的串行数据转换为字节,供计算机内部并行数据的器件使用。在输出的串行数据流中加入奇偶校验位,并对从外部接收的数据流进行奇偶校验。在输出数据流中加入启停标记,并从接收数据流中删除启停标记。处理由键盘或鼠标发出的中断信号(键盘和鼠标也是串行设备)。

  以处理计算机与外部串行设备的同步管理问题。有一些比较高档的UART还提供输入输出数据的缓冲区,比较新的UART是16550,它可以在计算机需要处理数据前在其缓冲区内存储16字节数据,而通常的UART是8250。如果您购买一个内置的调制解调器,此调制解调器内部通常就会有16550 UART。

  USART

  通用同步/异步串行接收/发送器USART是一个全双工通用同步/异步串行收发模块,该接口是一个高度灵活的串行通信设备。

  USART特点

  1. 全双工操作(相互独立的接收数据和发送数据);

  2. 同步操作时,可主机时钟同步,也可从机时钟同步;

  3. 独立的高精度波特率发生器,不占用定时/计数器;

  4. 支持5、6、7、8和9位数据位,1或2位停止位的串行数据桢结构;

  5. 由硬件支持的奇偶校验位发生和检验;

  6. 数据溢出检测;

  7. 帧错误检测;

  8. 包括错误起始位的检测噪声滤波器和数字低通滤波器;

  9. 三个完全独立的中断,TX发送完成、TX发送数据寄存器空、RX接收完成;

  10.支持多机通信模式;

  11.支持倍速异步通信模式。

  UART 和USART 有区别

  UART:universal asynchronous receiver and transmitter通用异步收发器

  [Bus Signal] TX , RX

  USART:universal synchronous asynchronous receiver and transmitter通用同步异步收发器

  [Bus Signal] TX, RX, CK

  USART支持同步模式,因此USART 需要同步始终信号USART_CK(如STM32 单片机),通常情况同步信号很少使用,因此一般的单片机UART和USART使用方式是一样的,都使用异步模式。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/144262.html原文链接:https://javaforall.net

赞 (0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • oracle sequence的用法[通俗易懂]

    oracle sequence的用法[通俗易懂]oraclesequence的用法1.什么是sequence?2.序列有什么用?

    2022年8月30日
  • 推荐哪些好用的国外代理服务器?

    推荐哪些好用的国外代理服务器?现在市场上的代理服务器很多,由于它可以隐藏IP地址而受到很多人的追捧,但是代理服务器基本上都是国外的,对于小白来说,如何选择一个好的代理服务器是一个比较头疼的问题,下面介绍一些比较常用的代理服务器软件。MicrosoftProxyServerMicrosoftProxyServer是在组织中引入对Intemet的访问,在每个桌面上都提供了一种简单而安全的方法,其中包括WebProxy服务器、WinsockProxy服务器和SocksProxy服务器。该系统安装简单,充分利用了内部服务器的安全性,并且.

    2022年4月28日
  • NativeScaler()与loss_scaler

    NativeScaler()与loss_scaler源码:classNativeScaler:state_dict_key=”amp_scaler”def__init__(self):self._scaler=torch.cuda.amp.GradScaler()def__call__(self,loss,optimizer,clip_grad=None,clip_mode=’norm’,parameters=None,create_graph=False):

    2022年10月27日
  • 虚拟化漏洞3种解决方案_怎么实现漏洞复现的

    虚拟化漏洞3种解决方案_怎么实现漏洞复现的利用虚拟机复现漏洞“永恒之蓝”攻击:kaliLinux2020.3靶机:WindowsServer2008R2x64下面详细讲述测试的过程。————“永恒之蓝”简介利用Windows系统的SMB漏洞可以获取系统最高权限。于2017年在全球的范围内大面积爆发,不法分子利用这个漏洞制作了勒索病毒,锁定被攻击的设备,并要求支付高额赎金。“永恒之蓝”的原理主要是扫描所有开放445文件共享端口的Windows机器。这里进行测试要用到一个工具MSF,能快速

    2022年10月16日
  • js 给某个div增加class 样式(三种方式)

    js 给某个div增加class 样式(三种方式)

    2021年11月3日
  • linux卸载已安装的jdk_linux卸载tomcat

    linux卸载已安装的jdk_linux卸载tomcat卸载JDK1、先输入java-version查看是否安装了jdk2、如果安装了,检查下安装的路径whichjava(查看JDK的安装路径)3、卸载rm-rfJDK地址(卸载JDK)rm-rf/usr/java/jdk/jdk1.8.0_172/4、vim命令编辑文件profilevim/etc/profile删除配置的环境变量,至此JDK卸载完毕5、检查下自带的jdk命令:rpm-qa|grepjavarpm-qa|grep…

    2022年10月1日

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号