目录
基本知识框架
课堂笔记
通讯
计算机的设备之间或者集成电路之间,按一定的约定,互相传输数据,这就是通讯
传送方式
按照数据的传送方式,可以将通讯分为串行 / 并行通讯
串行通讯
指的是设备通过少量的数据线(一般来说少于8根),控制线,时钟线和地线,将数据一位一位进行逐位传输的通讯方式。如下图
并行通讯
指的是设备通过8、16、32、64位等的数据线,控制线,时钟线和地线,将数据一次性同时传输的通讯方式。如下图
串行通讯与并行通讯的特性
特性 | 串行 | 并行 |
---|---|---|
传输距离 | 较远 | 较近 |
抗干扰能力 | 较强 | 较弱 |
传输速率 | 较慢 | 较快 |
传输成本 | 较低 | 较高 |
- 传输距离:要根据实际情况区分,但一般来说串行传输通讯协议距离比并行通讯协议传输距离要远
- 抗干扰能力:串行传输由于数据线少,同时可以使用双绞线,差分传输等减少干扰的传输方式,抗干扰能力更强。并行传输因为数据线多,数据线会产生较多干扰,所以抗干扰能力差
- 传输速率:在传输时钟频率较低的情况下,并行传输的传输速率是高于串行传输的,此时并行传输的数据线数量多,占据着优势。但是传输时钟频率高的情况下,串行传输的传输速率是高于并行传输,因为此时,由于传输时钟频率较高,并行传输会存在多数据通道同步的问题,多根数据线同时收发数据可能会存在不同步,某几根数据线数据已发送,另外几根数据线数据还未发送
- 传输成本:由信号线的数量来决定
通讯方向
数据的通讯方向分为单工 / 半双工 / 全双工。它们的区别主要在于:
- 信道内的数据数据是否能够双向流通
- 信道内的数据在某一时刻能否双向流通
单工通讯
数据的传输方向是单向的。任何时刻,数据只能从发送方发送给接收方。例如,广播,电视
半双工通讯
数据的传输方向是双向的。但是某一时刻,设备之间仅能进行收或者发数据。例如,对讲机
全双工通讯
数据的传输方向是双向的。任意时刻,设备之间可以同时收发数据。例如,电话
同步方式
并行传输由于应用较少,所以暂不讨论。仅讨论串行传输的同步 / 异步区别
同步通讯与异步通讯之间其实并没有严格的区分,但一般来说:
同步通讯
需要有时钟线,使得发送接收双方时钟信号一致,进而进行收发数据的同步。通讯双方统一约定,会在时钟信号的上升沿或下降沿进行数据线的采样。具体如下图
异步通讯
不需要时钟线,但需要在发送的数据中,加入特定信号位用于同步数据。具体如下图
同步通讯与异步通讯的区别
- 同步通讯时,由于时钟同步,通讯双方收发的数据都是连续的比特流。异步通讯时,时钟无需同步,通讯双方收发数据,可以断断续续的发送,发送方任意时长后发送下一个字节,这都是允许的
- 同步通讯的效率更高,异步通讯的效率较低
- 同步通讯硬件较为复杂,因为需要保持时钟信号的同步。异步通信硬件较为简单,因为无需同步时钟信号
- 同步通信可以实现一对多通讯。而异步通信只能实现点对点通讯
传输单位
比特率
指的是单位时间内传输的比特数数量。在电信和计算领域,和连接速度,传输速度,传输带宽是同义词,用于表示数据传输的快慢。在音视频领域,和码率是同义词,用于表征音视频质量。一般单位为bps(bit per second / 位每秒),其他单位还有Mbps,Gpbs
波特率
指的是有效数据讯号调制载波的速率,即单位时间内载波状态变化的次数,调制速率是波特的同义词。更简单的,指的是单位时间传输的码元数量,单位为个
比特率和波特率的联系
这里要引入一个概念:码元,码元,通俗的说,是被人们所规定的符号
例如对于8位二进制数,可以人为规定将2位二进制数看成一个符号,也就是码元,那么8位二进制数就代表了4个码元
以此可以得到,如果将M个2进制数看作1个码元,那么码元的状态数就有N = 2^M种状态:
比特率 = 波特率 * log2(N)
例如,对于8位二进制数,将1位二进制数看成一个码元,那么码元有2^1 = 2种状态。
波特率 = 比特率 / log2(N) = 8 / log2(2) = 8
在日常使用中,通常就只将1位二进制数看成一个码元,所以平常使用到比特率和波特率时,它们在数值上是相等的
通讯简介
通讯标准
通讯标准指的是经过权威机构(如ISO、IEEEE、中国国家标准委员会等)认证并发布的通讯协议。根据通讯标准进行设计的产品,可以直接进行通讯。例如USB标准,键盘厂家与主板厂家之间可以不用事先沟通,只要他们都按照USB标准进行产品设计,那么生产出的键盘直接插到主板中就可以使用
通讯标准中的内容通常可以分为:
- 协议层:规定了如何去处理发送/接收的数据,包括数据的解析,时序,校验,停止等
- 物理层:对物理硬件接口进行定义,通讯距离,通讯速率,最大传输距离,电平标准等
协议层和硬件层的关系
并不是所有的通讯标准都有相对应的硬件接口定义;例如UART通讯协议,其标准中只规定了协议层,没有规定使用哪种硬件接口,所以你可以将UART协议同和RS232,RS485等硬件层标准整合,以其他硬件层为基础进行通信。但也有的标准既规定了通讯协议,也规定了硬件层标准;例如USB2.0标准,这既可以指USB通信协议,同时也可以指USB物理接口,USB通讯协议一般建议在USB标准规定的USB物理接口上执行
从通讯接口区分通信协议的速度
通常情况下,可以从通讯接口上得知此物理协议的速度,是高速或是低速。一般低速的物理硬件接口Pin脚之间的距离都比较大,高速的物理硬件接口Pin脚之间的间距会比较小,因为高速通讯接口通常是差分走线,所以通讯线路之间要紧紧缠绕,Pin脚也会紧密排布
基本知识框架Xmind文件下载
链接:资源下载