UART接口介绍_uart接口引脚定义

UART接口介绍_uart接口引脚定义UART接口介绍

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺

                                                          UART接口介绍

   
UART是Universal Asynchronous Receiver and Transmitter简称,中文为
通用异步接收和发送器,是常用的串行通讯接口。

一、数据格式

    UART作为异步传输接口,接口不需要共用同一个时钟,只需通讯双方在传输过程中的时钟频率大小保持一致。
UART接口介绍_uart接口引脚定义
图1 数据帧结构
   
数据帧包括:起始位、数据位、奇偶校验位、停止位。
1、
起始位:表明将要发送数据,传输字符开始,起始位为低电平“0”;(
必须

2、数据位(资料位):数据位可以是5 bits、6 bits、7 bits或者8 bits,常用为8 bits(ASCII码),从最低位开始发送,依靠时钟进行定位;(必须

3、
奇偶校验位:传输数据位加上这一位后使得1的位数应为偶数(偶校验)或奇数(奇校验),通过该方式来校验数据传输的正确性。(
可选
4、
停止位:表明数据传输结束,停止位为高电平“1”。停止位的宽度可能是1bit、1.5bit、或者2bit的高电平,数据在传输线上定时,每个设备有自己的时钟,通讯设备之间很可能出现微小不同步,所以停止位不仅仅表示传输的结束,并且提供设备之间校准时钟同步的机会;(
必须
 5、
空闲状态:当UART未发送数据时,数据线TX、RX状态为高电平“1”;
 6、
波特率:每秒钟传输的数据位,此时可以等同于比特率。常用的UART波特率为:9600、115200。波特率是衡量数据传输速率的指标,表示每秒钟传输的符号数(symbol),一符号代表信息量(比特数)与符号的阶数有关,如果用256阶符号-8bits表示一个符号;
 7、
回环操作(loopback):UART可以进入一个内部回环模式,用于诊断或调试;
 8、buffer一般是用FIFO(First in First out),目的是提高系统性能。

二、工作原理

    UART控制器中包含四种寄存器:输出缓存寄存器、输出移位寄存器、输入缓存寄存器、输入移位寄存器。
    输出缓存寄存器:该寄存器用来存放处理传输过来的并行数据。
    输出移位寄存器:读取输出缓存寄存器中的值,将并行数据串行输出,LSB先传输。
    输入移位寄存器:接收对方UART接口传输的串行数据,一帧数据接收完毕后,将把数据传输给输入缓存寄存器。
    输入缓存寄存器:保存从输入移位寄存器传递过来的串行数据。
UART接口介绍_uart接口引脚定义
图2 UART工作原理
UART接口数据线
1、RX:接收数据
2、TX:发送数据
3、GND:数字地
4、VCC:直流电源

三、电平转化

    UART采用TTL电平,若两台嵌入式设备通讯,可以直接连接。PC采用逻辑负电平,PC与嵌入式设备通讯,就必须通过芯片MAX232进行电平转化。
逻辑负电平:逻辑“1”(-5V — -15V),逻辑“0”(5V — 15V)

四、案例—-逻辑分析仪

UART接口介绍_uart接口引脚定义

五、串口调试工具测试

对于串口数据,是一种无符号整形数据类型,所以常用以下有两种表示方式:
1、字符;2、十六进制;(串口调试工具默认为该两种方式)
UART接口介绍_uart接口引脚定义

 UART接口介绍_uart接口引脚定义

UART接口介绍_uart接口引脚定义

UART接口介绍_uart接口引脚定义

UART接口介绍_uart接口引脚定义

UART接口介绍_uart接口引脚定义

UART接口介绍_uart接口引脚定义

六、Invertion(电平反转)

1、DUT已经配置为TX invertion,逻辑分析仪也调整好协议格式(invertion)

DUT发送字符S(0x53),逻辑分析接收数据如下:

UART接口介绍_uart接口引脚定义

示波器抓波形:

UART接口介绍_uart接口引脚定义

2、Tx数据也反转

DUT发送字符S(0x53),逻辑分析接收数据如下:

UART接口介绍_uart接口引脚定义

示波器抓取数据:

UART接口介绍_uart接口引脚定义

七、UART break信号

1、space state:低电平

2、mark state:高电平,或者可以理解为idle state;

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

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

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


相关推荐

  • linux的文件名的长度限制_linux补全文件名

    linux的文件名的长度限制_linux补全文件名linux下文件数、目录数、文件名长度的各种限制一、文档目的编写本文档,主要目的是为了验证linux下文件数、目录数、文件名长度的各种限制二、文档内容以下测试都是在没有优化或修改内核的前提下测试的结果1.ext3文件系统下filename最大字符长度测试目的:ext3文件系统下filename最大字符长度测试平台:CENTOS5.4_32测试过程:LENTH=`foriin{1..255}…

    2022年10月21日
    2
  • Java课程设计—学生成绩管理系统(201521123004-林艺如)「建议收藏」

    Java课程设计—学生成绩管理系统(201521123004-林艺如)「建议收藏」1.团队课程设计博客"团队课程设计博客链接"2.个人负责模块或任务说明①.MenuMenu.jsp在页面中给出提示,用HTML的,与下一个跳转页面进行连接,即点击后进入下

    2022年6月30日
    29
  • 知道某负数补码后如何计算其绝对值?

    知道某负数补码后如何计算其绝对值?前些天写了如下日志 如何计算一个有符号数的补码表示 http blog csdn net jbb0523 article details nbsp 现在补充一点 按照 谭浩强 C 程序设计 第三版 北京 清华大学出版社 2005 的第 40 页至第 4

    2025年6月24日
    1
  • python里for循环用法_python遍历循环

    python里for循环用法_python遍历循环python中使用for循环的方法发布时间:2020-12-0809:35:27来源:亿速云阅读:95作者:小新小编给大家分享一下python中使用for循环的方法,希望大家阅读完这篇文章后大所收获,下面让我们一起去探讨吧!python循环方式有两个,一个是while循环,另一个就是for循环,while循环和if条件分支语句类似,即在条件(表达式)为真的情况下,会执行相应的代码块。…

    2022年8月12日
    8
  • 【C/C++面试必备】volatile 关键字

    【C/C++面试必备】volatile 关键字????作者:Linux猿????简介:CSDN博客专家????,C/C++、面试、刷题、算法尽管咨询我,关注我,有问题私聊!????关注专栏:C/C++面试通关集锦(优质好文持续更新中……)????本文来讲解一下C/C++中的关键字volatile。在日常的使用中很少使用到,但是,在面试中经常被提起,下面具体来看一下。volatile的作用是什么呢?volatile意思是易变的,是一种类型修饰符,在C/C++中用来阻止编译器因误认某段代码无法被代码本身所改变,而造成的

    2022年7月27日
    7
  • Spring Boot 2.x 自定义数据源 DruidDataSource(操作 mysql 数据库)「建议收藏」

    Spring Boot 2.x 自定义数据源 DruidDataSource(操作 mysql 数据库)「建议收藏」目录DRUID简介配置参数自定义数据源Druid引入数据源切换Druid数据源配置Druid数据源参数配置Druid数据源监控配置Druid后台管理Servlet配置Druidweb监控filterDRUID简介1、Druid是阿里巴巴开源平台上一个数据库连接池实现,结合了C3P0、DBCP、PROXOOL等DB…

    2022年6月10日
    178

发表回复

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

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