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)
上一篇 2022年5月19日 下午10:40
下一篇 2022年5月19日 下午10:40


相关推荐

  • pycharm run/debug configurations配置_linux中run文件怎么安装

    pycharm run/debug configurations配置_linux中run文件怎么安装0、Run/DebugConfigurations的坑在安装完PyCharm后,配置好Settings里的ProjectInterpreter,这里就是配置pythoy的解释器。之后运行的时候按Ctrl+Shift+F10运行编辑器的配置,帮你自动配置好Run/DebugConfigurations并运行,而运行另一个文件或新文件时再按Ctrl+Shift+…

    2022年8月28日
    6
  • mybatis map foreach_while的三个用法

    mybatis map foreach_while的三个用法MyBatis循环Map今天遇到一个比较特殊的业务,需要对传入的Map数据在映射文件中进行遍历,在之前的学习中,我们也知道MyBatis有默认对集合的操作list和array,但是没有默认的map,所有不能直接写collection=“map”,如果这么处理,它会当成是根据map.get(“map”)获取传递value只,大部分情况下是一个map中是不会有“map”这个key的,于是就是报错。如果你想用map标识来获取参数map,就需要保证传入的Map参数有@Param(“map”

    2022年8月30日
    7
  • SMUDebugTool:突破Ryzen处理器调控瓶颈的开源解决方案

    SMUDebugTool:突破Ryzen处理器调控瓶颈的开源解决方案

    2026年3月13日
    2
  • spawn ssh「建议收藏」

    spawn ssh「建议收藏」#!/usr/bin/expectsetip[lindex$argv0];setusername[lindex$argv1];setpassword[lindex$argv2];setkey_init”*yes/no*”setkey_password”[Pp]assword:”settimeout30setprompt”(#|%|\\$)

    2025年5月22日
    3
  • GIT生成SSH-KEY公钥放到服务器免密登录「建议收藏」

    GIT生成SSH-KEY公钥放到服务器免密登录

    2022年2月8日
    46
  • vmware linux安装_vm如何安装系统

    vmware linux安装_vm如何安装系统火眼发布Windows渗透工具包(CommandoVM)包含140个渗透工具工具下载地址:github.com/fireeye/commando-vmKaliLinux已成为攻击型安全专家的标配工具,但对需要原生Windows功能的渗透测试员来说,维护良好的类似工具集却是不存在的。安全服务公司火眼就是要改变这一现状。3月28日,该公司发布了一个包含超过140个开源Windows工具的…

    2022年10月1日
    4

发表回复

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

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