通讯的概念
通讯的概念
文章目录
- 通讯的概念
- 1.通讯的基本概念
- 2. 串行通讯与并行通讯
- 2. 全双工、半双工及单工通讯
- 3. 同步通讯与异步通讯
- 4. 通讯速率
1.通讯的基本概念
通讯是指在嵌入式系统中实现数据交换的技术手段,它涉及到硬件与硬件、硬件与软件之间的信息传输。基本概念包括使用诸如UART、I2C、SPI、CAN、以太网等多种通信接口和技术,这些技术可分别支持串行或并行、同步或异步、单工、半双工及全双工的通信模式。通讯过程中,数据按照预定义的协议和格式封装,在发送端被编码并通过选定的通信介质传输至接收端,后者再进行解码以恢复原始信息,确保系统内部或系统间的有效通信与协调。
2. 串行通讯与并行通讯
串行通讯与并行通讯是两种不同的数据传输方式,主要区别在于数据的传送方式和适用场景:
并行通讯:
- 在同一时间内通过多条线路同时传输多位数据,每位数据占用一条独立线路。
- 由于多条线路并行工作,因此传输速度快,效率高,特别适合近距离高速数据传输。
- 但是,需要更多的物理线路和接口,成本较高,且信号干扰(如串扰)问题较为严重,限制了其传输距离,通常用于设备内部或短距离数据传输。
串行通讯:
- 数据按顺序通过单一通道逐位传输,每次仅传输一位。
- 相较并行通讯,串行通讯使用的线路少,成本较低,且由于信号串扰小,更适合长距离数据传输。
- 传输速度通常低于并行通讯,但由于现代技术如USB、Ethernet等高速串行通讯标准的发展,串行通讯的速度已经大大提高,并广泛应用于各种设备间的数据通信。
- 串行通讯更易于实现错误检测和纠错,且在远距离和移动设备通信中更为常见。
不过由于并行传输对同步要求较高,且随着通讯速率的提高,信号干扰的问题会显著影响通讯性能,现在随着技术的发展,越来越多的应用场合采用高速率的串行差分传输。
2. 全双工、半双工及单工通讯
全双工、半双工和单工通讯是描述通信系统数据传输方式的三个基本概念:
-
单工通讯(Simplex Communication):
单工通讯是最基础的通信模式,它只允许信息在一个方向上传输。这意味着发送端只能发送信息,而接收端只能接收信息,两者之间没有反向通道。典型的单工通讯例子包括无线电广播、电视广播等,信息流向是单向的,听众或观众无法直接反馈给广播站。 -
半双工通讯(Half-Duplex Communication):
半双工通讯允许信息在两个方向上传输,但不能同时进行。通信双方需要轮流发送和接收数据。例如,对讲机就是半双工通讯的典型应用,使用者必须先听完对方的信息后按下按钮才能回应,不能同时说话和听。半双工系统虽然提供了双向通信的能力,但在任意给定时刻,数据只能沿一个方向流动。 -
全双工通讯(Full-Duplex Communication):
全双工通讯提供了同时在两个方向上进行数据传输的能力,无需等待,可以同时发送和接收信息。这就像两个人在电话中可以同时讲话和聆听一样。全双工通讯提高了通信效率,减少了等待时间,适用于需要快速响应和大量数据交换的场景,如以太网网络、现代电话系统等。
3. 同步通讯与异步通讯
同步通讯与异步通讯是两种不同的数据传输机制,它们在时钟同步、数据传输方式、效率、复杂度及应用场景上有显著区别:
同步通讯(Synchronous Communication):
- 时钟同步:要求发送端和接收端共享一个共同的时钟信号或保持严格的时序关系,确保数据传输的同步性。
- 数据传输:数据以连续的比特流形式发送,通常包含多个字符组成的数据帧,通过特定的同步字符或位序列标记帧的开始和结束。
- 效率:由于数据连续传输且不需要每个字符附加起始/停止位,同步通讯通常具有较高的数据传输效率。
- 复杂度与误差容忍:实现相对复杂,要求双方时钟精确同步,容许的时钟误差较小。
- 应用场景:适用于数据量大、实时性要求高、传输距离较短且对传输效率有严格要求的环境,如局域网内部通信、高速数据总线(如SPI、I²C)等。
异步通讯(Asynchronous Communication):
- 时钟同步:不需要发送端和接收端的时钟完全同步,每个字符的发送是独立的,字符间可以有任意长度的间隔。
- 数据传输:每个字符前后附加起始位和停止位(有时还包括校验位),以标识字符的开始和结束,允许接收端独立识别每个字符。
- 效率:由于每个字符都带有额外的控制位,相对于同步通讯,整体数据传输效率较低。
- 复杂度与误差容忍:实现简单,对时钟误差容忍度较高,便于错误恢复。
- 应用场景:适用于数据量小、实时性要求不高、传输距离可能较长且对系统复杂度敏感的情况,如串行通信(UART)、某些远程通信等。
综上所述,同步通讯和异步通讯的选择取决于通信的具体需求,包括数据传输速度、系统复杂性、成本以及对数据完整性和实时性的要求。
4. 通讯速率
通信速率,也称为数据传输速率或比特率(bit rate),是指单位时间内传输的数据量,通常以比特每秒(bits per second, bps)为单位。它是衡量通信系统性能的一个关键指标,直接影响到数据传输的快慢。通信速率可以应用于串行通讯和并行通讯中,但定义和计算方式依据通讯方式的不同而有所差异。
对于串行通讯,通信速率(波特率)通常指的是每秒钟传输的位数。例如,9600bps的波特率意味着每秒钟可以传输9600位。然而,实际的数据传输速率(如字符传输速率)还受到数据编码方式的影响,比如在异步通讯中,每个字符除了有效数据位外,还需加上起始位、停止位以及可能的校验位,这些都会减少实际用于数据的有效位数。
在同步通讯中,由于数据以帧的形式连续传输,没有每个字符的额外开销,因此波特率和实际数据传输速率更为接近。同步通讯可以达到更高的有效数据传输速率,适合大数据量的快速传输。
通信速率的选择需考虑通信链路的质量、传输距离、硬件能力、系统需求以及成本等因素。随着技术的进步,现代通信系统如光纤网络、5G无线通信等能够提供极高的通信速率,满足高清视频流、大数据传输、实时交互等应用的需求。
相关文章:

通讯的概念
通讯的概念 文章目录 通讯的概念1.通讯的基本概念2. 串行通讯与并行通讯2. 全双工、半双工及单工通讯3. 同步通讯与异步通讯4. 通讯速率 1.通讯的基本概念 通讯是指在嵌入式系统中实现数据交换的技术手段,它涉及到硬件与硬件、硬件与软件之间的信息传输。基本概念包…...

Centos7 rpm 安装 Mysql 8.0.28
Centos7 rpm 安装 Mysql 8.0.28 一、检查系统是否已经安装了Mysql 如果安装了则卸载 [rootiZbp1byzaznzn9jncxr010Z /]# rpm -qa | grep mysql[rootiZbp1byzaznzn9jncxr010Z /]# rpm -qa | grep mariadb mariadb-libs-5.5.68-1.el7.x86_64如果安装了 mysql ,maria…...
Linux 多进程编程详解
Linux 多进程编程详解 多进程编程是现代操作系统中一种重要的并发编程技术。通过在同一程序中运行多个独立的进程,可以实现并发处理,充分利用多核处理器的优势,提高程序的运行效率。本文将详细介绍Linux多进程的基本概念、创建方法、进程间通…...

C语言之大小端理解
目录 1前言2 大小端理解与区分3 大小端的识别和基本切换操作4 总结 1前言 在汽车CAN通讯报文中往往会接触到Intel类型和motorola类型,实际项目中涉及到多机通讯也会接触到大小端问题 2 大小端理解与区分 大端(Big_Endian) :低字节放在高地址小端(Little_Endian):…...
GIT相关操作,推送本地分支到远程仓库流程记录学习
git流程 切换到源文件夹:cd 源文件夹克隆远程仓库:git clone [ssh]进入项目文件夹:cd .\project\查看本地分支:git branch获取远程仓库更新,使远程同步:git fetch查看所有分支(包括远程分支&am…...

网络协议 — Keepalived 高可用方案
目录 文章目录 目录Keepalived 是实现了 VRRP 协议的软件Keepalived 的软件架构VRRP StackCheckersKeepalived 的配置Global configurationvrrp_scriptVRRP Configurationvrrp synchroization groupvrrp instancevirtual ip addressesvirtual routesLVS Configurationvirtual_s…...

前端报错adding CSS “touch-action: none“ to this element解决方案
目录 如图所示控制台出现报错: 原因: touch-action 介绍: 解决方案: 1.手动设置touch-action: 2.使用条件渲染: 3.CSS样式隔离: 4.浏览器兼容性: 5. 忽略警告 如图所示控制台…...

使用phpMyAdmin操作MYSQL(四)
一. 学会phpMyAdmin? phpMyAdminhttp://water.ve-techsz.cn/phpmyadmin/ 虽然我我们可以用命令行操作数据库,但这样难免没有那么直观,方便。所以接下来我们使用phpMyAdmin来操作MySQL,phpMyAdmin是众多MySQL图形化管理工具中使用…...
webpack配置代理请求
在 Webpack 中,可以通过配置devServer中的proxy选项来设置代理请求,以解决开发环境中的跨域问题或实现特定的请求转发逻辑。以下是一个常见的 Webpack 配置示例,展示了如何设置代理: module.exports {// 其他配置项...devServer…...

热门软件缺陷管理工具2024:专业评测与建议
国内外主流的10款软件缺陷管理工具软件对比:PingCode、Worktile、禅道、Tapd、Teambition、Tower、JIRA、Bugzilla、MantisBT、Trac。 在软件开发过程中,管理缺陷和漏洞常常成为一项挑战,尤其是在项目规模庞大时。选择一个高效的软件缺陷管理…...

冒泡,选择,插入,希尔排序
目录 一. 冒泡排序 1. 算法思想 2. 时间复杂度与空间复杂度 3. 代码实现 二. 选择排序 1. 算法思想 2. 时间复杂度与空间复杂度 3. 代码实现 三.插入排序 1. 直接插入排序 (1). 算法思想 (2). 时间复杂度与空间复杂度 (3). 代码实现 2. 希尔排序 (1). 算法思想 …...

【HarmonyOS学习】Calendar Kit日历管理
简介 Calendar Kit提供日历与日程管理能力,包括日历的获取和日程的创建能力。 Calendar Kit为用户提供了一系列接口来获取日历账户,并使用特定的接口向日历账户中写入日程。 如果写入的日程带有提醒时间则系统会在时间到达时向用户发送提醒。 约束点…...

RDMA 高性能架构基本原理与设计方案
RDMA的主要优点包括低延迟、高吞吐量、减少CPU负担和支持零拷贝网络。它允许数据直接在网络接口卡(NIC)和内存之间传输,减少了数据传输过程中的中间环节,从而显著降低了延迟。RDMA技术能够实现高速的数据传输,适用于需…...
【Springboot】事件机制发布与订阅的使用实践
文章目录 为什么要使用事件监听机制概念和原理使用场景用户注册系统实践案例1. 创建事件类2. 发布事件3. 监听事件3.1 通过注解EventListener实现监听3.2 通过实现ApplicationListener接口实现监听 4. 测试事件机制 总结 为什么要使用事件监听机制 在Springboot中,…...

新版网页无插件H.265播放器EasyPlayer.js如何测试demo视频?
H5无插件流媒体播放器EasyPlayer属于一款高效、精炼、稳定且免费的流媒体播放器,可支持多种流媒体协议播放,支持H.264与H.265编码格式,性能稳定、播放流畅;支持WebSocket-FLV、HTTP-FLV,HLS(m3u8࿰…...

PXE、Kickstart和cobbler
一.系统装机 1.1 三种引导方式 启动操作系统 1.硬盘 2.光驱(u盘) 3.网络启动 pxe 1.2 系统安装过程 1.加载boot loader: Boot Loader 是在操作系统内核运行之前运行的一段小程序。通过这段小程序,我们可以初始化硬件设 备、建立内存空间的映射图,从而将系统的软硬…...
【GameFramework扩展应用】6-3、GameFramework框架增加日志保存功能
推荐阅读 CSDN主页GitHub开源地址Unity3D插件分享简书地址QQ群:398291828大家好,我是佛系工程师☆恬静的小魔龙☆,不定时更新Unity开发技巧,觉得有用记得一键三连哦。 一、前言 【GameFramework框架】系列教程目录: https://blog.csdn.net/q764424567/article/details/1…...
将独热码应用到神经网络中
引言 接上回,本文继续说如何用TensorFlow将独热编码应用到一个简单的神经网络中,以实现从一段随机文本到另一段随机文本的转换。 步骤一:导入库 import tensorflow as tf import numpy as np import random import string步骤二࿱…...
在CSS中,使用Flexbox布局时,可以通过几个属性来控制容器内的项目之间的间距
display弹性布局,flex:1是占据剩下的空间 关于displa:flex /* 水平和垂直居中,水平和垂直方向上的间距均匀分布 / .container { display: flex; justify-content: space-between; / 左右对齐 / align-items: center; / 上下间距 */ flex-direction: ro…...
关于HDFS 和HBase
Apache HBase 被设计为在 Hadoop 分布式文件系统 (HDFS) 上运行的一个特殊类型的数据库。大白话: 想象一下,你有一个巨大的图书馆,这个图书馆就像 HDFS,它的架子上堆满了各种各样的书籍,每本书都非常厚,而…...

网络编程(Modbus进阶)
思维导图 Modbus RTU(先学一点理论) 概念 Modbus RTU 是工业自动化领域 最广泛应用的串行通信协议,由 Modicon 公司(现施耐德电气)于 1979 年推出。它以 高效率、强健性、易实现的特点成为工业控制系统的通信标准。 包…...
java调用dll出现unsatisfiedLinkError以及JNA和JNI的区别
UnsatisfiedLinkError 在对接硬件设备中,我们会遇到使用 java 调用 dll文件 的情况,此时大概率出现UnsatisfiedLinkError链接错误,原因可能有如下几种 类名错误包名错误方法名参数错误使用 JNI 协议调用,结果 dll 未实现 JNI 协…...

高频面试之3Zookeeper
高频面试之3Zookeeper 文章目录 高频面试之3Zookeeper3.1 常用命令3.2 选举机制3.3 Zookeeper符合法则中哪两个?3.4 Zookeeper脑裂3.5 Zookeeper用来干嘛了 3.1 常用命令 ls、get、create、delete、deleteall3.2 选举机制 半数机制(过半机制࿰…...

蓝牙 BLE 扫描面试题大全(2):进阶面试题与实战演练
前文覆盖了 BLE 扫描的基础概念与经典问题蓝牙 BLE 扫描面试题大全(1):从基础到实战的深度解析-CSDN博客,但实际面试中,企业更关注候选人对复杂场景的应对能力(如多设备并发扫描、低功耗与高发现率的平衡)和前沿技术的…...

srs linux
下载编译运行 git clone https:///ossrs/srs.git ./configure --h265on make 编译完成后即可启动SRS # 启动 ./objs/srs -c conf/srs.conf # 查看日志 tail -n 30 -f ./objs/srs.log 开放端口 默认RTMP接收推流端口是1935,SRS管理页面端口是8080,可…...
【git】把本地更改提交远程新分支feature_g
创建并切换新分支 git checkout -b feature_g 添加并提交更改 git add . git commit -m “实现图片上传功能” 推送到远程 git push -u origin feature_g...
AGain DB和倍数增益的关系
我在设置一款索尼CMOS芯片时,Again增益0db变化为6DB,画面的变化只有2倍DN的增益,比如10变为20。 这与dB和线性增益的关系以及传感器处理流程有关。以下是具体原因分析: 1. dB与线性增益的换算关系 6dB对应的理论线性增益应为&…...
腾讯云V3签名
想要接入腾讯云的Api,必然先按其文档计算出所要求的签名。 之前也调用过腾讯云的接口,但总是卡在签名这一步,最后放弃选择SDK,这次终于自己代码实现。 可能腾讯云翻新了接口文档,现在阅读起来,清晰了很多&…...

[ACTF2020 新生赛]Include 1(php://filter伪协议)
题目 做法 启动靶机,点进去 点进去 查看URL,有 ?fileflag.php说明存在文件包含,原理是php://filter 协议 当它与包含函数结合时,php://filter流会被当作php文件执行。 用php://filter加编码,能让PHP把文件内容…...

解析奥地利 XARION激光超声检测系统:无膜光学麦克风 + 无耦合剂的技术协同优势及多元应用
在工业制造领域,无损检测(NDT)的精度与效率直接影响产品质量与生产安全。奥地利 XARION开发的激光超声精密检测系统,以非接触式光学麦克风技术为核心,打破传统检测瓶颈,为半导体、航空航天、汽车制造等行业提供了高灵敏…...