数据通常是在两个站(点对点)之间进行传输,按照数据流的方向可分为三种传输模式:单
工、半双工、全双工。

一、单工通信(simplex)

单工通信只支持信号在一个方向上传输(正向或反向),任何时候不能改变信号的传输方向。
为保证正确传送数据信号,接收端要对接收的数据进行校验,若校验出错,则通过监控信道发
送请求重发的信号。
此种方式适用于数据收集系统,如气象数据的收集、电话费的集中计算等。
例如计算机和打印机之间的通信是单工模式,因为只有计算机向打印机传输数据,而没有相反
方向的数据传输。还有在某些通信信道中,如单工无线发送等。

二、半双工通信(half-duplex)

半双工通信允许信号在两个方向上传输,但某一时刻只允许信号在一个信道上单向传输。
因此,半双工通信实际上是一种可切换方向的单工通信。
此种方式适用于问讯、检索、科学计算等数据通信系统;
传统的对讲机使用的就是半双工通信方式。由于对讲机传送及接收使用相同的频率,不允许同
时进行。因此一方讲完后,需设法告知另一方讲话结束(例如讲完后加上’OVER’),另一方
才知道可以开始讲话。

三、全双工(full-duplex)

全双工通信允许数据同时在两个方向上传输,即有两个信道,因此允许同时进行双向传输。
全双工通信是两个单工通信方式的结合,要求收发双方都有独立的接收和发送能力。
全双工通信效率高,控制简单,但造价高。
计算机之间的通信是全双工方式。一般的电话、手机也是全双工的系统,因为在讲话时可以听到对方的声音。

总结

通常四线线路实现全双工数据传输,二线线路实现单工或半双工数据传输。在采用频分法、时间压缩法、回波抵消技术时,二
线线路也可实现全双工数据传输。

三种通信方式——单工、半双工和双工通信相关推荐

  1. 【计算机网络】物理层 : 数据通信 ( 数据通信模型 | 信源 | 信宿 | 信道 | 通信方式 | 单工 | 半双工 | 全双工 | 数据传输方式 | 串行 | 并行 )

    文章目录 一.数据通信模型示例 二.数据通信模型 三.数据通信模型 分类 四.数据通信 术语 五.三种通信方式 六.数据传输方式 一.数据通信模型示例 数据通信模型 示例 : ① 通信场景 : 两台计 ...

  2. 基于Linux的USB主/从设备之间的三种通信方式-转

    随着简单易用的接口日益流行,在中添加对USB接口的支持已成为大势所趋.本文通过介绍中支持USB的各种模块和库,分析了在Linux上利用USB实现高速串口和以太网连接等通信方式的具体方法. 通用串行总线 ...

  3. linux配置usb主从_基于Linux的USB主/从设备之间的三种通信方式

    随着简单易用的USB接口日益流行,在嵌入式系统中添加对USB接口的支持已成为大势所趋.本文通过介绍Linux中支持USB的各种模块和库,分析了在Linux上利用USB实现高速串口和以太网连接等通信方式 ...

  4. SCPI基本语法和三种通信方式

    1.SCPI基本语法介绍 基本语法包括: 1.语法结构: 2.语法实例/例化. 2.仪器的三种通信方式 ethernet.usb device .GPIB 其中USB host可以通过选件转接到GPI ...

  5. 什么是单工、半双工和双工通信(最详细)

    单工.半双工.全双工.单工数据传输只支持数据在一个方向上传输:      半双工数据传输允许数据在两个方向上传输,但是,在某一时刻,只允许数据在一个方向上传输,它实际上是一种切换方向的单工通信:    ...

  6. 单工、半双工、双工通信详解

    单工数据传输只支持数据在一个方向上传输:在同一时间只有一方能接受或发送信息,不能实现双向通信,举例:电视,广播. 半双工数据传输允许数据在两个方向上传输,但是,在某一时刻,只允许数据在一个方向上传输, ...

  7. windows 驱动和应用层的三种通信方式 r3到r0 DeviceIoControl 4种ioctl请求

    驱动程序和客户应用程序经常需要进行数据交换,但我们知道驱动程序和客户应用程序可能不在同一个地址空间,因此操作系统必须解决两者之间的数据交换. 驱动层和应用层通信,主要是靠DeviceIoControl ...

  8. python进程通信方式有几种_python全栈开发基础【第二十一篇】互斥锁以及进程之间的三种通信方式(IPC)以及生产者个消费者模型...

    一.互斥锁 进程之间数据隔离,但是共享一套文件系统,因而可以通过文件来实现进程直接的通信,但问题是必须自己加锁处理. 注意:加锁的目的是为了保证多个进程修改同一块数据时,同一时间只能有一个修改,即串行 ...

  9. 【转】三种方法让你在I2C通信中同时和多个从机通信

    ref:http://tieba.baidu.com/p/3769008030 对于不同地址的模块就不用多说了,直接分别对其地址进行通信即可.那么若拿到相同地址的模块,或者直接是相同的多个模块怎么办呢 ...

最新文章

  1. java 时间间隔 工作日,计算Java中两个日期之间的工作日数
  2. 利用VSTS工具自动测试
  3. 获取程序代码块资源消耗
  4. c++ 线程池_基础篇:高并发一瞥,线程和线程池的总结
  5. 实现 ASP.NET WebForm Client
  6. 实录 | 平安人寿资深算法工程师张智:人机交互场景下的知识挖掘
  7. 正则表达式 python3_python3正则表达式总结
  8. 敏捷外包工程系列之四:合理选择质量管理的等级(一)
  9. android仿今日头条App、多种漂亮加载效果、选择器汇总、记事本App、Kotlin开发等源码...
  10. Visual Studio GUI应用程序_弹出控制台窗口/命令行窗口/dos窗口问题解决
  11. 跨境电商独立站海外引流渠道:Quora运营技巧
  12. STM32F103 实现 简易闹钟小程序
  13. doc创建php文件,PHP读取创建txt,doc,xls,pdf类型文件
  14. 全球资产定价之锚上行提速,科技股恐祸不单行?
  15. Sam Altman 山姆奥特曼:如何成功 ?How To Be Successful
  16. checkra1n 已发布,支持 iOS 3 越狱
  17. Eclypse-Z7 + Zmod ADC 1410 基础环境搭建(vivado部分)
  18. MySQL、Redis、MongoDB安装
  19. python数据爬取---简单页面的爬取
  20. CVPR 2021 Authors Guidelines 投稿须知 中英文对照翻译

热门文章

  1. 液压电磁换向阀DG4V-5-24AJ-M-U-H6-20
  2. python实现三角形面积计算
  3. Vue3使用Swiper
  4. 【pytest】内置 fixtures 之 tmpdir:创建临时文件
  5. 曲线曲面的基本理论3之曲线的参数表示
  6. 鸿蒙系统和安卓有哪些区别?鸿蒙会取代安卓吗?
  7. 中止执行后超过2年_超过两年是否可以申请强制执行
  8. keras-文本图片文字识别
  9. clickhouse-MergeTree原理解析
  10. 第四平方和定理,用c语言实现