串行通信简介

串行通信:常见的串行通信接口协议UART、SPI、I2C简介 本文旨在介绍在三种常见的信号传输通信协议——SPI、UART、I2C,介绍三种协议的原理和传输方式,对比各自的特点,总结优缺点和各自的应用环境 阅读详情
AI摘要

本文详细介绍了串行通信与并行通信的区别,包括并行通信的高速高效但成本高的特点,以及串行通信的远距离传输和广泛应用。在串行通信中,进一步阐述了异步通信和同步通信的工作原理,异步通信依赖字符帧格式和波特率,而同步通信则要求发送和接收时钟的严格同步。此外,还讨论了串行通信的半双工和全双工制式,以及UART、单总线、SPI和I2C等常见串行通信接口。

一、串行通信与并行通信

计算机与外界的数据交换称为通信,通信分为并行通信和串行通信两种基本方式。

并行通信

串行通信

并行通信:并行通信指各个数据位同时进行传送的数据通信方式,因此有多少个数据位,就需要多少根数据线。并行数据的特点是传送速度快、效率高,但成本高,通常只适合30m距离内的数据传送。

串行通信:串行通信指各个数据按传送位顺序进行传输,最少只需要两个传输线即可完成。其传输速度慢、效率低,但传输距离远,而且可以使用现有的通信通道(如电话线、各种网络等),在集散控制系统等远距离通信中使用很广。

二、串行通信分类—异步通信和同步通信

串行通信按照串行数据的时钟控制方式分为异步通信和同步通信。

1.异步通信

在异步通信中,数据通常以字符(或字节)为单位组成字符帧传送。字符帧由发送端逐帧发送,通过传输线被接收设备逐帧接收。发送端和接收端可以由各自的时钟来控制数据的发送和接收,两个时钟源彼此独立,互不同步。

发送端和接收端依靠什么来协调数据的发送和接收呢?也就是说,接收端怎么会知道发送端何时开始发送和何时发送结束呢?这个是由字符帧格式规定的。平时,发送线为高电平(逻辑1),每当接收端检测到传输线上发送过来低电平逻辑0(字符帧的起始位)时,就知道发送端已经开始发送,每当接收端接收到字符帧中的停止位时,就知道一帧字符信息已发送完毕。

在异步通信中,字符帧格式和波特率是两个重要指标,由用户根据实际情况选定。如下是异步通信的字符帧格式。

 (1)字符帧

字符帧格式也称为数据帧,由起始位、数据位、奇偶校验位和停止位4部分构成。

① 起始位:位于字符帧开头,只占1位,始终为逻辑0低电平,用于向接收设备表示发送端开始发送一帧信息。

② 数据位:紧跟起始位之后,用户根据情况可以取5位、6位、7位和8位,低位在前高位在后。若所传数据位ASCII字符,则常取7位。

③ 奇偶校验位:位于数据位之后,仅占1位,用于表征串行通信中采用奇校验位还是偶校验,由用户根据需要决定。

④ 停止位:位于字符帧末尾,为逻辑高电平1,通常可取1位、1.5位或2位,用于向接收端表示一帧字符信息已发送完毕,也为发送下一帧字符做准备。

(2)波特率

波特率的定义为每秒钟传送二进制数码的位数(又称为比特数),单位是b/s。波特率是串行通信的重要指标,用于表征数据传输的速度。波特率越高,数据传输速度越快,和字符的实际传输速率不同。字符的实际传输速率是指每秒内所传字符帧的帧数,和字符帧格式有关。每位数据的传输时间定义为波特率的倒数。波特率还与信道的频带有关。波特率越高,信道频带越宽。所以,波特率也是衡量信道频宽的重要指标。通常,异步通信的波特率为50~9600b/s。波特率不同于发送时钟和接收时钟,常是时钟频率的1/16或1/64。

异步通信的优点是不需要传送同步脉冲,字符帧长度也不受限制,故所需设备简单。缺点是字符帧中因包含起始位和停止位而降低了有效数据的传输速度。

2.同步通信

同步通信是一种连续串行传送数据的通信方式,一次通信只传送一帧信息。此处的信息帧和异步通信中的字符帧不同,通常含有若干个数据字符,如下图所示。

 他们均由同步字符、数据字符和校验字符CRC三部分组成。

同步字符:同步字符位于帧结构开头,用于确认数据字符的开始(接收端不断对传输线采样,并把采样到的字符和双方约定的同步字符比较,只有比较成功后才会把后面接收到的字符加以存储)。

数据字符:数据字符在同步字符之后,个数不受限制,由所需传输的数据块长度决定。

校验字符CRC:校验字符有1~2个,位于帧结构末尾,用于接收端对接收到的数据字符的正确性进行校验。

同步通信的数据传输速率较高,通常可达56Mb/s或更高。同步通信的缺点是要求发送时钟和接收时钟保持严格同步,故发送时钟除应和发送波特率保持一致外,还要求把它同时传送到接收端去。

三、串行通信的制式—半双工和全双工

在串行通信中,数据是在两个站之间传输的。按照数据传输方向,串行通信可分为半双工和全双工两种制式。

1. 半双工制式

 在半双工制式下,A站和B站之间只有一个通信回路,故数据或者由A站发送被B站接收,或者由B站发送被A站接收。因此,A、B两站之间只需要一条信号线和一条接地线。

2. 全双工制式

在全双工制式下,A、B两站间有两个独立的通信回路,两站都可以同时发送和接收数据。因此,全双工方式下A、B两站之间至少需要三条传输线:一条用于发送,一条用于接收,一条用于信号地。

四、常见串行通信接口

通信标准引脚说明通信方式通信方向

UART

(通用异步收发器)

TXD:发送端

RXD:接收端

GND:公共地

异步通信全双工

单总线

(1-wire)

DQ:发送/接收端异步通信半双工
SPI

SCK:同步时钟

MISO:主机输入,从机输出

MOMI:主机输出,从机输入

同步通信全双工
I2C

SCL:同步时钟

SDA:数据输入/输出端

同步输出半双工

串口通信基础知识介绍 单片机的串口可以使单片机与单片机、单片机与电脑、单片机与各式各样的模块互相通信,极大地扩展了单片机的应用范围,增强了单片机系统的硬件实力。简单双向串口通信有两根通信线(发送端TX和接收端RX);TX与RX要交叉连接;当只需单向的数据传输时,可以只接一根通信线;当电平标准不一致时,需要加电平转换芯片;电平标准电平标准是数据1和数据0的表达方式,是传输线缆中人为规定的电压与数据的对应关系,串口常用的电平标准有如下三种:TTL电平:+3.3V或+5V表示1,0V表示0; 阅读详情

相关推荐

深入理解串口通信原理及应用

通过本文对串口通信的原理、协议、接口、应用等各个方面的介绍,可以看到串口通信技术在计算机与外部设备连接以及工业控制领域中发挥着重要作用。串口通信以其简单、灵活、通用等优点,在很多场合仍然是最实用的通信方式。深入理解串口工作原理,掌握串口通信接口的选择和编程方法,有助于我们更好地应用串口技术,设计更加可靠的通信系统。随着嵌入式系统、工业控制的快速发展,串口通信技术还有很多创新与发展的空间。希望本文对大家串口通信技术的理解有所帮助。

qq_58288010的博客 8857

什么是串行通信?

串行通信是指通过一根数据线(且一定需要地线,或许会有别的控制线如时钟线)将数据按照位依次传输的通信方式。串行通信只需要少数几根线就可以再系统之间交换信息,在现实生活中应用非常广泛。相较于并行通信,串行通信的具有抗干扰能力强、传输距离长(因通信线少、成本低)、成本低等优点,但是其传输速度较慢。打印机上的LPT口就是采用的并行通信,其传输速率比较快。下图为台式计算机背后的接口,其中红色圈主的COM口是RS232接口,就是串行通信,此外USB接口也是使用串行通信。

m0_51390088的博客 2145

串行通信协议 - 简介

在这种情况下,故障可能存在于以下一个或多个地方:发射设备的逻辑、电路设计、串行通信的编码方式、通信总线、接收器的解码、接收器的电路设计或接收器的逻辑。许多不同的芯片正在使用中,它们的复杂操作取决于与其他类似数字组件之间发送的信息。但是,要彻底调试串行通信,您需要一个可以解码总线数据的工具,以查看它是否正确,或者它是否已损坏或受到冲突的影响。我们将通过比较不同的协议来结束该系列,重点介绍它们的主要优点和缺点。您需要根据设备将使用的协议从固件端的通信下载和使用适当的 IC 通信库模块。中,我们将介绍流行的。

jkh920184196的博客 641

单片机----串行通信

波特率的定义:串行口每秒发送 (或接收) 的位数。设发送一位所需要的时间为T,则波特率为1/T。定时器的不同工作方式,得到的波特率的范围不一样,这是由T1在不同工作方式下计数位数的不同所决定。

weixin_69884785的博客 6461

串行通信——异步串行通信

目录 I、串口通信简介 一、定义 二、意义 三、分类 II、异步串行通信详解 一、数据格式 1. 起始位 2. 数据位 3. 奇偶校验位 4. 停止位 二、通信制式 1. 单工 2. 半双工 3. 全双工 三、通信速率 I、串口通信简介 一、定义 在一条传输线上,数据以“位”为单位进行逐个传输,即为串行通信。 二、意义 并行通信控制简单、相对传输速度快...

恒木 1万+

串行通信原理及实验仿真

1. 处理器与外部设备通信的两种方式: 并行通信和串行通信 并行通信是指数据的各个位用多条数据线同时进行传输 优点:传输速度快 缺点:占用引脚资源多 串行通信是将数据分成一位一位的形式在一条传输线上逐个传输 优点:通信线路简单,占用引脚资源少 缺点:传输速度慢 2. 串行通信的通信方式: 同步通信和异步通信 同步通信:带有时钟同步信号的数据传输;发送方和接收方在同一时钟的控制下,同步传输数据。 异步通信:不同时钟同步信号的数据传输。发送方和接收方使用各自的时钟控制数据的发送和接收过程。 3. 串行通

gemengxia的博客 4322

几种通信方式介绍(一)————串行通信技术介绍

一、串行通信简单介绍* 串行通信指数据是一位一位按顺序传送的通信方式,相对于并行通信,其突出优点是只需要一对传输线,缺点是传输速度较低。 串行通信的传输方向通常有三种,单工、半双工和全双工。单向顾名思义只允许数据向一个方向传输;半双工允许两个方向传输,但在同一时刻只能往一个方向传输;全双工则允许双向同时传输数据。 串行通信有两种基本通信方式,异步通信和同步通信。 异步通信不需要传输时钟信号,通信双方的时钟是各自独立的,但双方必须是相同的通信速率和数据格式,即相同的通信协议。其帧格式一般为:起始位+数据位

m0_51294753的博客 9474

STM32:STM32串行通信:STM32微控制器简介与开发环境搭建

STM32是意法半导体(STMicroelectronics)推出的一系列基于ARM Cortex-M内核的32位微控制器。这一系列的微控制器以其高性能、低功耗和丰富的外设而闻名,广泛应用于各种嵌入式系统中,包括工业控制、汽车电子、消费电子、医疗设备和物联网设备等。

kkchenjj的博客 2787

UART串行通信简介

UART串行通信协议!

z__TY的博客 2030

单片机串行通信:串行通信中的数据帧结构

串行通信协议是单片机之间或单片机与外部设备之间进行数据交换的一种规则。常见的串行通信协议包括UART、SPI、I2C等,每种协议都有其特定的数据帧格式和传输特性。

kkchenjj的博客 2125

opencv实现“找茬”

// 111.cpp : 定义控制台应用程序的入口点。 // #include "stdafx.h" #include #include #include using namespace std; #define CVX_RED CV_RGB(0xff,0x00,0x00) #define CVX_BLUE CV_RGB(0x00,0x00,0xff)//定义宏,轮廓边框颜色 in

yanHa007的专栏 2094

串行通信API简介

1.打开串口:  在Window 95下串行口作为文件处理,使用文件操作对串行口进行处理。使用CreateFile()打开串口,CreateFile()将返回串口的句柄。  HANDLE CreateFile(  LPCTSTR lpFileName, // pointer to name of the file  DWORD dwDesiredAccess, // access (read-wr...

weixin_30750335的博客 112

STM32CubeMX的正交编码器encoder

由于最近干活遇到需要获取正交编码的功能,所以返回来研究一下STM32CubeMX的编码器功能,之前也更新过STM32的定时器功能,但是因为之前搞平衡车的正交编码器没有搞清楚原理,就直接用了脉冲输入功能草草了事,现在也算是为之前的年轻买单了,不过看到现有的Encoder说明都比较简单,所以就当是为开发者做贡献了,我研究清楚之后来一篇博客。

ASWaterbenben的博客 1万+

Ymodem协议源码简介:一种高效可靠的串行通信文件传输协议

Ymodem协议源码简介:一种高效可靠的串行通信文件传输协议 去发现同类优质开源项目:https://gitcode.com/ 项目介绍 在串行通信领域,文件传输协议的选择对于数据传输的速度和可靠性至关重要。本文将为您详细介绍一款名为Ymodem协议源码的开源项目。该项目提供了一种广泛应用于串行通信中的文件传输协议——Ymodem,其源码旨在帮助开发者快速实现高效、可靠的文件传输功能。 项目技术分...

gitblog_06794的博客 713

Unity序列帧动画输出全攻略:Recorder+Timeline实战与透明通道处理

序列帧动画是游戏开发、影视动画和UI动效中的基础技术,指将连续动作分解为一系列静态图像并按序播放,形成动态视觉效果。其原理是通过时间轴精确控制每一帧的内容与时机,实现动画的逐帧呈现。在实时渲染领域,序列帧输出技术价值显著,它能够将动态内容高质量地转换为静态图像序列,便于跨平台复用、后期合成与资源分发。应用场景广泛,包括角色动画导出、技能特效制作、宣传片素材生成等。本文聚焦Unity引擎,深入解析如何利用Recorder与Timeline工具链,高效输出带Alpha透明通道的PNG序列帧,并重点攻克透明通道处

weixin_31556767的博客 327

Altium Designer操作技巧(12)——如何进行邮票孔拼版?

【摘要】本文详细介绍了PCB设计中邮票孔拼板的全流程操作方法。首先解释了邮票孔拼板的定义、核心目的(提高贴片效率、方便生产)和适用场景(异形板、V-CUT无法实现的情况)。重点阐述了关键设计参数,包括孔径、数量、间隙等规范要求,并提供了两种具体操作方案:传统复制粘贴法和新版阵列放置法。文章通过图文详细演示了从PCB复制、邮票孔添加、板框定义到定位孔和Mark点设置的完整步骤,最后强调了对称性、非金属化孔等设计要点,以及需要与板厂确认工艺参数等注意事项。

u012526819的博客 1676

SPI简介

它是同步的,也就是说数据传输依赖于时钟信号,确保发送方和接收方的数据同步。6.4、点对点通信:SPI通常用于一个主设备与一个从设备之间的通信,但也可以扩展到多从设备模式。4.3、SCK(Serial Clock):由主设备提供生成的时钟信号,控制数据位的时序。2.3、SCK(Serial Clock):由主设备提供的时钟信号,决定数据传输的时序。5.3、数据接收:在传输过程中,主设备和从设备交换数据,每个时钟周期发送一位数据。7.2、从设备(Slave):响应主设备的请求,按照主设备的时钟和命令传输数据。

weixin_44723297的博客 1392

layui 监听单元格点击事件,获取当前点击单元格的内容以及 所在的表头内容

特别是后台的一些管理系统中 业务中还是会碰见这样的需求呢 如果你的后台使用layui写的话 在表格中 layui 也给我们提供了监听单元格的事件 但是好像不能直接获取到单元格内容个 和 对应的表头 其实 还是可以解决 换个角度使劲就会发现新的世界 不是吗 event: 'username' 在每个表头中加一个 event 属性 这样就可以监听表头事件 记住个 event 和 当前列的字段最好保持一样 table.render({ e...

业余前端的职业经历 1万+

单片机 串行通信练习

单片机 串行通信练习一、简述    简单的双单片机间串行通信演示。    例子中有甲乙两片单片机系统构成一对单片机系统,每片单片机系统有2位数码管用来显示收到的数据,两片单片机系统之间进行串行通信。甲方发送1,乙方发送2,甲方发送3,乙方发送4……每次加1,直至99。文件打包:链接: https://pan.baidu.com/s/1er2xDqgrecxuGYeBG-Q0ug 密码: karu二...

Genven_Liang的博客 7970

COMSOL有限元仿真深度指南:为结构件添加预应变

一、什么是预应力和预应变? 我们知道,结构力学问题中,结构件在外载荷作用下产生变形响应以吸收外载荷做功带来的能量;而在结构内部,整体的受力和变形则是通过固体微元的应力与应变传递的。 对于线弹性材料来说,应力与应变的关系可以线性表达,也即 σ=Dεσ = Dεσ=Dε ;在该式中,无论固体微元的应变程度多大,弹性矩阵DDD都是一个不变的常值。而对于超弹性材料来说,应力与应变的关系则需要通过应变能密度函数WWW来表征(详细参加博客《COMSOL有限元仿真深度指南:超弹性模型有限元分析入门》)。 从上面我们也不难

忘了面孔的Batou 7170

深入解析基于Fluent的蒸发冷凝相变UDF程序及其在重力热管液体蒸发冷凝变化计算中的应用

ANSYS Fluent是一款功能强大的CFD软件,广泛应用于流体流动、传热、化学反应和多相流等领域的数值模拟。Fluent提供了丰富的物理模型和求解器,支持用户自定义函数(UDF)以扩展其功能,实现更为复杂和特定的模拟需求。UDF是用C语言编写的程序,允许用户在Fluent中自定义物理模型、边界条件、源项等,以实现特定的模拟需求。在处理复杂的相变过程、非均匀物性参数或特定的热传导机制时,UDF提供了极大的灵活性和扩展性。

qq_38334677的博客 1265

串行通信

1.通信方式 处理器与外部设备通信一般有两种方式,串行通信和并行通信。 2.并行通信 传输原理:数据各个位同时传输(多倍的串行通信) 优点:传输速度更快 缺点:占用引脚资源多(一般传输几位就需要几个引脚) 3.串行通信 传输原理:数据逐位顺序传输 优点:占用引脚资源较少(一般1-2根引脚用于数据传输) 缺点:数据相对较慢 串行通信按照数据传送方向分为: 单工通信:数据...

Easadon的博客 5777

YOLOv11改进策略【Backbone/主干网络】|替换HGNetV2骨干,包含RT-DETR中的l、x模型

本文记录的是基于HGNetv2的YOLOv11目标检测改进方法研究。本文利用HGNetv2替换YOLOv11的骨干网络,HGNetv2 通过其 GPU 推理友好的 3×3 标准卷积和层次化 HG Block 结构,能够为骨干网络提供高效且完整的特征提取能力。并且其中的和可在降低计算量的同时丰富特征表达,增强对多尺度目标特征的捕获能力,进而提高模型精度。本文配置了原论文中rtdetr-lrtdetr-x,以满足不同算力和检测精度的需求。

Limiiiing的博客 670

51单片机——串行通信

本文首先介绍了并行通信和串行通信的概念,然后对串行通信进行详细的介绍。然后介绍了51单片机的串行通信口的结构与原理,最后介绍了串行通信的四种方式,并介绍了如何计算波特率。

qq_37324376的博客 1万+

efm32 入门.pdf

本PDF共计22页,介绍的是操作驱动API,下载与否自己斟酌。

怀旧版电脑GBC模拟器

再现原版GBC掌机的界面,电脑运行连游戏界面都一样大小,很怀旧,很真实,(英文版)强烈推荐,很小的文件,很难才找到的。

上一篇: STM32—delay和操作系统共用SysTick定时器
下一篇: 【STM32F103实验(四)】串口实验
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

单片机学习之路

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值