什么是并行通信、串行通信?什么是全双工、半双工、单工? 什么是异步通信、同步通信? 什么是RS232、RS485?什么是pwm?

这篇文章主要讲一下单片机中的通信相关的内容

主要讲一下以下5个问题:

1.什么是并行通信、串行通信?
2.什么是全双工、半双工、单工?
3.什么是异步通信、同步通信?
4.什么是RS232、RS485?
5.什么是pwm?

什么是并行通信、串行通信?

嵌入式系统中的通信是指两个或两个以上的主机之间的数据互交,这里的主机可以是计算机也可以是嵌入式主机,甚至可以是芯片。主机间通信的方式一般可以分为两类并行通信和串行通信
并行通信是指多个比特同时通过并行线进行传输,这种方式的传输速率较高,但会占用大量的芯片资源;
串行通信是指将数据拆分成一个个比特,按照先后次序在一根总线上进行发送,串行通信有着系统占用资源少,结构简单等优点,是主机间通信的常用方式。
串口通信(Serial Port)是串行通信的一种,属于串行通信中的异步通信。我们经常听到的RS232、RS485、RS422都是串行通信。
作为常用的串行通信方式,以TTL为例,串口通信在不同主机之间的数据格式为:
在这里插入图片描述

1.空闲时数据线为高电平;
2.发送发发送一个低电平表示起始位;
3.发送的第一个比特是最低为(最右边);
4.校验位分为奇校验,偶校验和无校验。奇偶校验时数据位1的格式为奇数或者偶数时对应的奇偶校验位为1;
5.为保证下一个字节发送前的起始位能够表现出来,校验位之后发送一个停止位1。

什么是全双工、半双工、单工?

单工模式(Simplex Communication):主机间通信时如果一方固定为发送端另外一方固定为接收端,通过一根总线实现数据通信。这种通信方式就像是你只能听别人说话,但无法回答他们一样,只能单向传递信息。
半双工通信(Half-Duplex Communication)是一种通信方式,其中数据传输可以在两个方向之间交替进行,但不能同时进行。换句话说,通信双方可以既发送数据又接收数据,但不能同时进行这两种操作。比方说,就像你可以和别人交替说话和倾听对方说话一样。当你在说话时,对方在听你说;当对方在说话时,你在倾听对方。这种方式允许双方之间在发送和接收数据之间切换,但不能同时进行。半双工通信常用于对话式交流和一些简单的通信场景中。
全双工通信(Full-Duplex Communication)是一种通信方式,其中数据传输可以同时在两个方向进行,允许通信双方同时发送和接收数据,实现双向通信。就像打电话一样,你可以同时说话也可以听对方说话,双方可以同时进行数据传输,实现双向沟通。

什么是异步通信、同步通信?

串口通信时,收发双方的波特率必须是事先约定好的,否则数据传输就会出现混乱。
很明显,为保证每个比特占用数据线的时间,发送方和接收方需按照各自的系统计时且双方之间的误差不能太大。通常不能超过(6%)。这种双方各自“计时”的方式称为异步。就好比在打字一样,每次敲击键盘发送一个字母,速度快慢由打字者自己控制,没规定每敲击一个字母之间要等多久,只要保证接收端能够正确识别并解析即可。
同步通信设备之间除了**有数据线以为还有一条时钟线(SDA和SCL)。其中SCL就是时钟线(serial clock)。**发送方负责控制时钟线的变化,每发送一个比特,都需要将时钟线按照规则进行改变。就好比在合唱团里,大家一起唱歌的节奏是由指挥员指挥的,每个人都按照指挥员的节奏唱歌,保证大家唱的是同一首歌且节奏一致。这种通信方式就称为同步通信。譬如IIC、SPI等。

什么是RS232、RS485?

RS232

RS-232标准接口(又称EIA RS-232)是常用的串行通信接口标准之一,它是由美国电子工业协会(Electronic Industry Association,EIA)联合贝尔系统公司、调制解调器厂家及计算机终端生产厂家于1970年共同制定,其全名是“数据终端设备( DTE)和数据通信设备(DCE)之间串行二进制数据交换接口技术标准”。
RS-232-C标准规定的数据传输速率为50、75、100、150、300、600、1200、2400、4800、9600、19200、38400波特。
RS-232-C标准规定,驱动器允许有2500pF的电容负载,通信距离将受此电容限制,例如,采用150pF/m的通信电缆时,最大通信距离为15m;若每米电缆的电容量减小,通信距离可以增加。
传输距离短的另一原因是RS-232属单端信号传送,存在共地噪声和不能抑制共模干扰等问题,因此一般用于20m以内的通信。具体通讯距离还与通信速率有关,例如,在9600pbs时,普通双绞屏蔽线时,距离可达30-35米。
特点:
(1)信号线少
RS-232总线规定了25条线,包含了两个信号通道,即第一通道(称为主通道)和第二通道(称为副通道)。利用RS- 232总线可以实现全双工通信,通常使用的是主通道,而副通道使用较少。在一般应用中,使用3条~9条信号线就可以实现全双工通信,采用三条信号线(接收线、发送线和信号线)能实现简单的全双工通信过程。
(2)灵活的波特率选择
RS-232规定的标准传送速率有50b/s、75b/s、110b/s、150b/s、300b/s、600b/s、1200b/s、2400b/s、4800b/s、9600b/s、19200b/s,可以灵活地适应不同速率的设备。对于慢速外设,可以选择较低的传送速率:反之,可以选择较高的传送速率。
(3)采用负逻辑传送
规定逻辑“1”的电平为-5V~-15 V,逻辑“0”的电平为+5 V~+15 V。 选用该电气标准的目的在于提高抗干扰能力,增大通信距离。RS -232的噪声容限为2V,接收器将能识别高至+3V的信号作为逻辑“0”,将低到-3 V的信号作为逻辑“1”。
(4)传送距离较远
由于RS -232采用串行传送方式,并且将微机的TTL电平转换为RS-232C电平,其传送距离一般可达30 m。若采用光电隔离20 mA的电流环进行传送,其传送距离可以达到1000 m。另外,如果在RS-232总线接口再加上Modem,通过有线、无线或光纤进行传送,其传输距离可以更远。
(5)两种物理接口
RS - 232接口的一种连接器是DB - 25的25芯插头座,通常情况下插头在DCE端,插座在DTE端。
缺点:
(1)接口的信号电平值较高易损坏接口电路的芯片,又因为与TTL电平不兼容故需使用电平转换电路方能与TTL电路连接。
(2)传输速率较低,在异步传输时,波特率为20Kbps;因此在CPLD开发板中,综合程序波特率只能采用19200,也是这个原因。
(3)接口使用一根信号线和一根信号返回线而构成共地的传输形式,这种共地传输容易产生共模干扰,所以抗噪声干扰性弱
(4)传输距离有限,最大传输距离标准值为50英尺,实际上也只能用在15米左右。

RS485

RS485电气标准共经历了RS232和RS422两种标准的发展,它继承了RS422绝大部分的特点,并且还具备RS232所不具有的联网功能。相比于另外两种标准,RS485标准的设备性能得到了极大的提高。其一个驱动器的驱动能力至少可以驱动32个接收器,阻抗越高,可驱动的接收器数量越多。一般情况下,各个设备只有在进行数据传输时才会导通线路驱动器,并且在其高阻抗状态下,驱动器会停止工作,以保证其他设备能进行正常数据传输。
特点:
(1) RS-485的电气特性:逻辑“1”以两线间的电压差为+2V—+6 V表示;逻辑“0”以两线间的电压差为-2V— -6V表示。接口信号电平比RS-232-C降低了,就不易损坏接口电路的芯片, 且该电平与TTL电平兼容,可方便与TTL 电路连接。
(2)RS-485的数据最高传输速率为10Mbps
(3)RS-485接口是采用平衡驱动器和差分接收器的组合,抗共模干能力增强,即抗噪声干扰性好
(4)RS-485接口的最大传输距离标准值为4000英尺,实际上可达 3000米,另外RS-232-C接口在总线上只允许连接1个收发器, 即单站能力。而RS-485接口在总线上是允许连接多达128个收发器。即具有多站能力,这样用户可以利用单一的RS-485接口方便地建立起设备网络。

什么是pwm?

PWM叫做脉冲宽度调制(Pulse-width modulation),是通过将有效的电信号分散成离散形式从而来降低电信号所传递的平均功率的一种方式;
在这里插入图片描述
由上图可知,脉冲宽度调制使用一个脉冲宽度会被调制的方波,并且波型的平均值会有所变化。
一个周期为O的脉冲波,低值为0,高值为1,则占空比(duty cycle)就是高值:低值。
图中存在三种占空比状态,25%,50%和75%占空比状态。

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

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

相关文章

Educational Codeforces Round 162 (Rated for Div. 2) ----- E. Count Paths --- 题解

E. Count Paths: 题目大意: 思路解析: 根据题目中定义的美丽路径,我们可以发现路径只有两种情况: 当前结点作为起始结点,那我们只需要知道它的子树下有多少个相同颜色的结点,并且相同颜色的结…

TR3 - Transformer算法详解

目录 文本输入处理词向量位置向量 编码器 EncoderSelf-Attention多头注意力机制残差连接 解码器 Decoder线性层与Softmax损失函数总结与心得体会 这周来看一下Transformer是怎么将文本转换成向量,然后又输入到模型处理并得到最终的输出的。 文本输入处理 词向量 …

2024.4.7|牛客周赛 Round 39

2024.3.1|牛客周赛 Round 36 A.小红不想做炸鸡块粉丝粉丝题 B.小红不想做鸽巢原理 C.小红不想做完全背包(easy) D.小红不想做完全背包(hard) E.小红不想做莫比乌斯反演杜教筛求因子和的前缀和 F.小红不想做模拟题 G.小红不想做平…

Rust与Go的对比

在各个领域,Rust 都已经成为一流的语言。最近,我们通过将服务的实现从 Go 切换到 Rust,极大地提升了该服务的性能。这里我阐述了重新实现服务为何是有价值的、该过程是如何实现的以及由此带来的性能提升。 Read States 服务 我们从 Go 切换…

window环境运行nacos源码

为了研究一下nacos,所以从git上下载了nacos源码并且启动。 1.首先下载源码 git地址:https://github.com/alibaba/nacos.git 2.使用ideal打开源码 nacos的启动通过nacos-console模块执行。 3.修改为单机启动模式 Nacos默认启动是集群模式,单机模式需…

c++的学习之路:17、stack、queue与priority_queue

摘要 本文主要是介绍一下stack、queue、priority_queue的使用以及模拟实现,文章末附上代码以及思维导图。 目录 摘要 一、stack的介绍和使用 1、stack的介绍 2、stack的使用 3、stack的模拟实现 二、queue的介绍和使用 1、queue的介绍 2、queue的使用 3、…

填字母游戏【蓝桥杯】/博弈+dfs

填字母游戏 博弈dfs #include<iostream> #include<map> using namespace std; //要用map存储已经处理过的字符串不然会超时 map<string,int> m; //dfs返回的就是结果 int dfs(string s) {//剪枝if(m.find(s)!m.end()) return m[s];//找到LOL代表输了if(s.fi…

K8s学习七(服务发现_2)

Ingress Service 主要用于集群内部的通信和负载均衡&#xff0c;而 Ingress 则是用于将服务暴露到集群外部&#xff0c;并提供灵活的 HTTP 路由规则。在实际应用中&#xff0c;它们通常结合使用&#xff0c;Service 提供内部通信和负载均衡&#xff0c;Ingress 提供外部访问和…

一款轻量、干净的 Laravel 后台管理框架

系统简介 ModStart 是一个基于 Laravel 的模块化快速开发框架。模块市场拥有丰富的功能应用&#xff0c;支持后台一键快速安装&#xff0c;让开发者能快的实现业务功能开发。 系统完全开源&#xff0c;基于 Apache 2.0 开源协议&#xff0c;免费且不限制商业使用。 系统特性 …

产品经理和项目经理的区别

1. 前言 本文深入探讨了产品经理与项目经理在职责、关注点以及所需技能方面的显著区别。产品经理主要负责产品的规划、设计和市场定位,强调对用户需求的深刻理解和产品创新的推动;而项目经理则侧重于项目的执行、进度控制和资源管理,确保项目按时、按质、按预算完成。两者在…

redis的简单操作

redis中string的操作 安装 下载可视化软件&#xff1a;https://gitee.com/qishibo/AnotherRedisDesktopManager/releases。 Mac安装redis&#xff1a; brew install redisWindows安装redis: 安装包下载地址&#xff1a;https://github.com/tporadowski/redis/releases 1.…

【JavaWeb】Day38.MySQL概述——数据库设计-DQL

数据库设计——DQL 介绍 DQL英文全称是Data Query Language(数据查询语言)&#xff0c;用来查询数据库表中的记录。 查询关键字&#xff1a;SELECT 查询操作是所有SQL语句当中最为常见&#xff0c;也是最为重要的操作。在一个正常的业务系统中&#xff0c;查询操作的使用频次…