嵌入式面试题:数据传输单工,半双工,全双工之间的区别

简介: 嵌入式面试题:数据传输单工,半双工,全双工之间的区别

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

一、单工通信(simplex)

单工通信只支持信号在一个方向上传输(正向或反向),任何时候不能改变信号的传输方向。

为保证正确传送数据信号,接收端要对接收的数据进行校验,若校验出错,则通过监控信道发送请求重发的信号。

此种方式适用于数据收集系统,如气象数据的收集、电话费的集中计算等。

例如计算机和打印机之间的通信是单工模式,因为只有计算机向打印机传输数据,而没有相反方向的数据传输。

还有在某些通信信道中,如单工无线发送等。

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

半双工通信允许信号在两个方向上传输,但某一时刻只允许信号在一个信道上单向传输。

因此,半双工通信实际上是一种可切换方向的单工通信。

此种方式适用于问讯、检索、科学计算等数据通信系统;

传统的对讲机使用的就是半双工通信方式。由于对讲机传送及接收使用相同的频率,不允许同时进行。

因此一方讲完后,需设法告知另一方讲话结束(例如讲完后加上’OVER’),另一方才知道可以开始讲话。

三、全双工(full-duplex)

全双工通信允许数据同时在两个方向上传输,即有两个信道,因此允许同时进行双向传输。

全双工通信是两个单工通信方式的结合,要求收发双方都有独立的接收和发送能力。

全双工通信效率高,控制简单,但造价高。

计算机之间的通信是全双工方式。

一般的电话、手机也是全双工的系统,因为在讲话时可以听到对方的声音。


目录
相关文章
|
8天前
|
设计模式 算法 Java
后端面试题:接口和抽象类的区别?抽象类可以多继承吗?
字节后端面试题:接口和抽象类的区别?抽象类可以多继承吗?
29 0
|
8天前
|
存储 缓存 安全
面试题-HashMap底层原理与HashTable的区别
字节跳动面试题-HashMap底层原理与HashTable的区别
34 0
|
8天前
|
编译器 C++ Python
【C/C++ 泡沫精选面试题02】深拷贝和浅拷贝之间的区别?
【C/C++ 泡沫精选面试题02】深拷贝和浅拷贝之间的区别?
45 1
|
6天前
|
索引
【ES6新语法】let、const、var的区别,你学会了面试官没话说
【ES6新语法】let、const、var的区别,你学会了面试官没话说
|
6天前
|
前端开发
vue2与vue3双向数据绑定的区别,前端面试自我介绍
vue2与vue3双向数据绑定的区别,前端面试自我介绍
|
6天前
|
开发工具 Python
Python中return和yield的区别,面试官不讲武德
Python中return和yield的区别,面试官不讲武德
|
7天前
|
消息中间件 前端开发 Java
java面试刷题软件kafka和mq的区别面试
java面试刷题软件kafka和mq的区别面试
|
8天前
|
设计模式 API 数据格式
腾讯面试官问我适配器和桥接器的区别?
腾讯面试官问我适配器和桥接器的区别?
10 0
|
8天前
|
Java 调度
一张图搞清楚wait、sleep、join、yield四者区别,面试官直接被征服!
一张图搞清楚wait、sleep、join、yield四者区别,面试官直接被征服!
31 2
|
8天前
|
Java
面试官:你知道Comparable 和 Comparator 的区别吗?我:巴拉巴拉
面试官:你知道Comparable 和 Comparator 的区别吗?我:巴拉巴拉
23 1