计算机的设备之间或者集成电路之间,按一定的约定,互相传输数据,这就是通讯
按照数据的传送方式,可以将通讯分为串行 / 并行通讯
指的是设备通过少量的数据线(一般来说少于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标准进行产品设计,那么生产出的键盘直接插到主板中就可以使用
通讯标准中,有两样概念容易混淆
例如,常说的USB,这既可以指USB数据通讯协议,同时也可以指USB接口
指的是通过此通讯标准,如何去处理发送或收到数据,包括数据的解析,时序等
通讯标准中,可以对物理硬件接口进行定义,包括尺寸,连接方式,线路的定义等
并不是所有的通讯标准都会对硬件接口进行定义
例如UART标准,通讯标准中只有数据通讯协议,没有UART接口这个说法,因为UART是没有标准物理接口的
从通讯接口区分通信协议的速度
通常情况下,可以从通讯接口上得知此物理协议的速度,是高速或是低速。一般低速的物理硬件接口Pin脚之间的距离都比较大,高速的物理硬件接口Pin脚之间的间距会比较小,因为高速通讯接口通常是差分走线,所以通讯线路之间要紧紧缠绕,Pin脚也会紧密排布
链接:资源下载