三种通信方式——单工、半双工和双工通信
数据通常是在两个站(点对点)之间进行传输,按照数据流的方向可分为三种传输模式:单
工、半双工、全双工。
一、单工通信(simplex)
单工通信只支持信号在一个方向上传输(正向或反向),任何时候不能改变信号的传输方向。
为保证正确传送数据信号,接收端要对接收的数据进行校验,若校验出错,则通过监控信道发
送请求重发的信号。
此种方式适用于数据收集系统,如气象数据的收集、电话费的集中计算等。
例如计算机和打印机之间的通信是单工模式,因为只有计算机向打印机传输数据,而没有相反
方向的数据传输。还有在某些通信信道中,如单工无线发送等。
二、半双工通信(half-duplex)
半双工通信允许信号在两个方向上传输,但某一时刻只允许信号在一个信道上单向传输。
因此,半双工通信实际上是一种可切换方向的单工通信。
此种方式适用于问讯、检索、科学计算等数据通信系统;
传统的对讲机使用的就是半双工通信方式。由于对讲机传送及接收使用相同的频率,不允许同
时进行。因此一方讲完后,需设法告知另一方讲话结束(例如讲完后加上’OVER’),另一方
才知道可以开始讲话。
三、全双工(full-duplex)
全双工通信允许数据同时在两个方向上传输,即有两个信道,因此允许同时进行双向传输。
全双工通信是两个单工通信方式的结合,要求收发双方都有独立的接收和发送能力。
全双工通信效率高,控制简单,但造价高。
计算机之间的通信是全双工方式。一般的电话、手机也是全双工的系统,因为在讲话时可以听到对方的声音。
总结
通常四线线路实现全双工数据传输,二线线路实现单工或半双工数据传输。在采用频分法、时间压缩法、回波抵消技术时,二
线线路也可实现全双工数据传输。
三种通信方式——单工、半双工和双工通信相关推荐
- 【计算机网络】物理层 : 数据通信 ( 数据通信模型 | 信源 | 信宿 | 信道 | 通信方式 | 单工 | 半双工 | 全双工 | 数据传输方式 | 串行 | 并行 )
文章目录 一.数据通信模型示例 二.数据通信模型 三.数据通信模型 分类 四.数据通信 术语 五.三种通信方式 六.数据传输方式 一.数据通信模型示例 数据通信模型 示例 : ① 通信场景 : 两台计 ...
- 基于Linux的USB主/从设备之间的三种通信方式-转
随着简单易用的接口日益流行,在中添加对USB接口的支持已成为大势所趋.本文通过介绍中支持USB的各种模块和库,分析了在Linux上利用USB实现高速串口和以太网连接等通信方式的具体方法. 通用串行总线 ...
- linux配置usb主从_基于Linux的USB主/从设备之间的三种通信方式
随着简单易用的USB接口日益流行,在嵌入式系统中添加对USB接口的支持已成为大势所趋.本文通过介绍Linux中支持USB的各种模块和库,分析了在Linux上利用USB实现高速串口和以太网连接等通信方式 ...
- SCPI基本语法和三种通信方式
1.SCPI基本语法介绍 基本语法包括: 1.语法结构: 2.语法实例/例化. 2.仪器的三种通信方式 ethernet.usb device .GPIB 其中USB host可以通过选件转接到GPI ...
- 什么是单工、半双工和双工通信(最详细)
单工.半双工.全双工.单工数据传输只支持数据在一个方向上传输: 半双工数据传输允许数据在两个方向上传输,但是,在某一时刻,只允许数据在一个方向上传输,它实际上是一种切换方向的单工通信: ...
- 单工、半双工、双工通信详解
单工数据传输只支持数据在一个方向上传输:在同一时间只有一方能接受或发送信息,不能实现双向通信,举例:电视,广播. 半双工数据传输允许数据在两个方向上传输,但是,在某一时刻,只允许数据在一个方向上传输, ...
- windows 驱动和应用层的三种通信方式 r3到r0 DeviceIoControl 4种ioctl请求
驱动程序和客户应用程序经常需要进行数据交换,但我们知道驱动程序和客户应用程序可能不在同一个地址空间,因此操作系统必须解决两者之间的数据交换. 驱动层和应用层通信,主要是靠DeviceIoControl ...
- python进程通信方式有几种_python全栈开发基础【第二十一篇】互斥锁以及进程之间的三种通信方式(IPC)以及生产者个消费者模型...
一.互斥锁 进程之间数据隔离,但是共享一套文件系统,因而可以通过文件来实现进程直接的通信,但问题是必须自己加锁处理. 注意:加锁的目的是为了保证多个进程修改同一块数据时,同一时间只能有一个修改,即串行 ...
- 【转】三种方法让你在I2C通信中同时和多个从机通信
ref:http://tieba.baidu.com/p/3769008030 对于不同地址的模块就不用多说了,直接分别对其地址进行通信即可.那么若拿到相同地址的模块,或者直接是相同的多个模块怎么办呢 ...
最新文章
- java 时间间隔 工作日,计算Java中两个日期之间的工作日数
- 利用VSTS工具自动测试
- 获取程序代码块资源消耗
- c++ 线程池_基础篇:高并发一瞥,线程和线程池的总结
- 实现 ASP.NET WebForm Client
- 实录 | 平安人寿资深算法工程师张智:人机交互场景下的知识挖掘
- 正则表达式 python3_python3正则表达式总结
- 敏捷外包工程系列之四:合理选择质量管理的等级(一)
- android仿今日头条App、多种漂亮加载效果、选择器汇总、记事本App、Kotlin开发等源码...
- Visual Studio GUI应用程序_弹出控制台窗口/命令行窗口/dos窗口问题解决
- 跨境电商独立站海外引流渠道:Quora运营技巧
- STM32F103 实现 简易闹钟小程序
- doc创建php文件,PHP读取创建txt,doc,xls,pdf类型文件
- 全球资产定价之锚上行提速,科技股恐祸不单行?
- Sam Altman 山姆奥特曼:如何成功 ?How To Be Successful
- checkra1n 已发布,支持 iOS 3 越狱
- Eclypse-Z7 + Zmod ADC 1410 基础环境搭建(vivado部分)
- MySQL、Redis、MongoDB安装
- python数据爬取---简单页面的爬取
- CVPR 2021 Authors Guidelines 投稿须知 中英文对照翻译