图解通信原理与案例分析-2:计算机世界里,0和1远远比我们想象的要复杂得多

 Table of Contents

1. 二进制的计算机世界

2. 计算机中0和1的运算

3.  如何用数字电信号上表示0和1呢?

4.  如何用0和1表达大数值的数据?

5. 如何在不同的电子元器件之间用数字信号传送0和1?

6. 高低电平脉冲信号的本质

7. 如何在不同的电子元器件之间用模拟电磁波信号传送0和1?


1. 二进制的计算机世界

计算机的世界是二进制的世界,所有的信息将转化0和1的二进制串。

计算机中,由CPU执行的目标代码是二进制格式的,我们称为“指令”。

计算机中,由指令处理的对象是二进制的,我们称之为“数据”。

计算机中,指令对数据的最底层的运算是二进制的,我们“与、或、非”。

在上图中,每个功能模块之间流动的都是0和1的电信号。


2. 计算机中0和1的运算

计算机各种纷繁复杂的数学运算、逻辑运算等,都源于“与、或、非”三种基本的二进制运算。


3.  如何用数字电平信号上表示0和1呢?

数字逻辑电路中,通常用电信号的电压幅度来表示逻辑0和1.

零电平(也称为低电平)表示0,一般规定低电平为0~0.25V,

高电平表示1, 高电平为3.5~5V,

其他电压为不确定状态。

然而,用电信号的电压幅度来承载0或1,并非是所有的形式,后续还将展现其他形式,如电信号的上升沿、下降沿、或用负电压、或两个电压的差。

在计算机的世界里,有哪些电平信号呢?

(1)TTL(单极性电平)

TTL集成电路的全名是晶体管-晶体管逻辑集成电路(Transistor-Transistor Logic)

传统的TTL电平信号规定,+5V等价于逻辑“1”,0V等价于逻辑“0”(采用二进制来表示数据时)。

这样的数据通信及电平规定方式,被称做TTL信号系统

这是计算机处理器控制的设备内部各部分之间通信的标准技术。

除了传统的5V电压的TTL电平,还有低电压的标准,如3.3V和2.5V

5V TTL VCC:5V; VOH>=2.4V,VOL<=0.4V.VIH>=2V, VIL<=0.8V;
3.3V LVTTL:VCC:3.3V.VOH>=2.4V,VOL<=0.4V,VIH>=2V,VIL<=0.8V
2.5V LVTTL:VCC:2.5V,VOH>=2V,VOL<=0.2V;VIH>1.7V,VOL<=0.7V;

(2)CMOS电平(单极性电平)

CMOS是Complementary Metal Oxide Semiconductor(互补金属氧化物半导体)的缩写, 它是指制造大规模集成电路芯片用的另一种技术。
5V CMOS Vcc:5V;VOH>=4.45V;VOL<=0.5V;VIH>=3.5V;VIL<=1.5V。
3.3V LVCMOS:Vcc:3.3V;VOH>=3.2V;VOL<=0.1V;VIH>=2.0V;VIL<=0.7V。
2.5V LVCMOS:Vcc:2.5V;VOH>=2V;VOL<=0.1V;VIH>=1.7V;VIL<=0.7V。

(3)RS232电平(双极性电平)

RS-232标准接口(又称EIA RS-232)是常用的串行通信接口标准之一。采用负逻辑传送0和1

规定逻辑“1”的电平为-5V~-15 V,

逻辑“0”的电平为+5 V~+15 V。

选用该电气标准的目的在于提高抗干扰能力,增大通信距离。

RS -232的噪声容限为2V,接收器将能识别高至+3V的信号作为逻辑“0”,将低到-3 V的信号作为逻辑“1”。

(4)差分信号

差分传输是一种信号传输的技术,区别于传统的一根信号线、一根地线的做法, 以太网线路传输就是采用的2根差分信号来传输信号的。

差分传输在这两根线上都传输信号,这两个信号的振幅相同,相位相反。在这两根线上的传输的信号就是差分信号

信号接收端比较这两个电压的差值来判断发送端发送的逻辑状态:电压差为高电平,则为逻辑1,电压差为0,则为逻辑0。

LVDS(Low-Voltage Differential Signaling)低电压差分信号,是一种低功耗、低误码率、低串扰和低辐射的差分信号技术,这种传输技术可以达到155Mbps以上,LVDS技术的核心是采用极低的电压摆幅高速差动传输数据,可以实现点对点或一点对多点的连接,其传输介质可以是铜质的PCB连线,也可以是平衡电缆。

差分信号传输,使用了额外的物理传输电缆资源,获得很好的传输性能:

较强的抗噪声能力。差分信号固有的优点就是噪声以共模的方式在一对差分线上耦合出现,并在接收器中相减,从而可消除噪声,所以LVDS具有较强的抗共模噪声能力。

有效地抑制电磁干扰。由于差分信号的极性相反,它们对外辐射的电磁场可以相互抵消,耦合得越紧密,泄放到外界的电磁能量就越少,即降低了EMI。


4.  如何用0和1表达大数值的数据?


5. 如何在不同的电子元器件之间用数字信号传送0和1?

5.1  单极性不归零码NRZ:直接通过高低电平信号传递0和1

在这种传输方式中,1 和 0 都分别由不同的电子管的状态来表示,除此之外,没有中性状态、亦没有其他种状态。

这是最容易想到的方法,也是最简单的信号编码方式:用高电平信号传递1,低电平信号传递0。

CPU和外围芯片之间的通信,传递0和1数据的方式,正是如此。

SPI总线,I2C总线等低速串行总线也是如此,都是通过高电平传递1,通过低电平/零电平传递数据0.

5.2 双极性不归0码NRZ:用正电平表示0,用负电平表示1.

单极性:高电压,只有正高电压,没有负高电压。

双极性:高电压,可以是正高电压,有可以是负的高电压。

两极不归0码是在不归零码NRZ基础上进行的改进,它的编码规则是:

“1”:由一物理电平表示,通常是负电压,低电平。

“0”:由另一电平表示,通常是正电压,高电平。

这种信号的例子是RS-232

“1”是: -5v 至 -12V 之间电信号、

“0”是: +5V 至 +12V 之间电信号。

然而,通过高低电平通信,并不适合所有的场合,特别是如果通信双方的连接并不可靠。

比如以太网串行通信。

如果仅用高低电平表示1和0,这将带来一系列的问题问题,

(1)如果链路断开,接收双方收不到信号,此时为低电平,那表示什么呢?能代表0吗?很显然不能。

(2)如果收发双方,都没有数据需要发送,即没有1,也没有0,那用什么数字信号维持链路的激活状态呢?

很显然,单单用高电平或低电平都不合适。因此需要一种新的信号编码方式,在两个节点之间传递0和1这样的信息。
 

5.3 曼彻斯特编码(归零码):通过电平的上升沿和下降沿传递0和1

如果说4B/5B还是用电平来标识逻辑0或1的数据,然而曼彻斯特编码中,高电平或低电平或其组合,都没有任何意义了。

曼彻斯特编码使用了电平的上升沿或下降沿来标识逻辑的0或1.

曼彻斯特编码是一种双向编码。它也是通过电平的高低转换来表示“0”或“1”,每位中间的电平转换既表示了数据代码,也作为定时信号使用。

在此编码中,电路上传送的高电平或低电平本身已经没有逻辑意义,不代表任何逻辑的二进制数值。

它是用的是电平电信号的上升沿和下降沿来标识0或1.

每个电平的中间有一跳变,从高到低跳变表示“1”,从低到高跳变表示“0”。

位中间的跳变既可以作数据信号,也可以作为接受方的频率同步,即作时钟信号,因为在每个bit传送期间,至少有一个上升沿或下降沿。

通过上升沿+下降沿,就得到一个周期性的信号,这个信号就是“链路时钟”信号这是曼彻斯特编码最有价值的地方,在传输0和1的数据的同时,还传递了发送方的时钟信息,接收方通过该编码,可以恢复链路时钟,实现接收方与发送方的时钟同步。

需要注意的是:

从0或1数据传递的角度看,它本质上是:

用“高电平到低电平”的转换这种固定特征的电信号,来表示逻辑1,

用”低电平到高电平“”的转换这种固定特征的电信号,表示逻辑的0.

差分曼彻斯特编码也是一种双相码,是在差分曼彻斯特编码基础上的优化的编码方式。

和曼彻斯特码不同的是,这种编码的码元中间的电平转换只作为定时信号,而不表示数据。

数据的表示在与每一位开始是否有电平转换,有电平转换表示0,无电平转换表示1。

也就是说,差分曼彻斯特编码下:

(1)在电平信号的开始处,如果有电平信号的转换,或高电平到低电平,或低电平到高电平,都表示0。

(2)在电平信号的开始处,如果没有任何电平的转换:或高电平本身,或低电平本身,都表示1。也就是说高低电平都表示1.

从上述描述可以知道,线路上的高电平或低电平已经不在简单的表示为1或0了。而是电平的其他特征来标识0或1.

无论是曼彻斯特编码还是差分曼彻斯特编码,都是归零码,都可以在数据传送过程中可以顺便传送时钟,但这种方式是有代价的:

即底层的电平信号的频率比有效数据的频率翻了一遍,这样传输数据所需要的物理链路的带宽就需要增加一倍。

因此这种编码方式,通常用于有线传输的局域网通信,有线传输通道,实际上是一个高带宽或无限带宽的传输通道。

5.4. 增加电平组合数目,传递0和1数据

如下是4B 5B编码

这种编码的特点是将欲发送的0和1的数据流每4bit作为一个组,然后按照4B/5B编码规则将其转换成相应5bit码。

5bit码共有32种组合,但只采用其中的16种对应4bit码的16种,其他的16种或者未用或者用作控制码,以表示帧的开始和结束、光纤线路的状态(静止、空闲、暂停)等。

需要注意的是:不能用00000电平来标识二进制数据0000,因为00000与链路断开是一样的结果。在4B/5B编码中个,用11110这5个连续的电平,表示4个连续的逻辑0。

很显然,这种编码方式,线路上传递的单个的高电平和低电平,就不是我们传统意义上逻辑0和1了。

这是采用两级的编码方式,线路上传输的高电平或低电平,已经不是CPU识别的逻辑0或逻辑1。

而是通过5个连续的“电平组合”表示4个连续的逻辑二进制码,这就有多余的电平组合,这些多余的“”电平组合”,就可以链路的控制,而不表示实际需要传递的0和1的数据。

此时,单个的电平,已经没有任何意义,甚至并不表示0或1,只表示电平的高或低而已。

当然,除了4B/5B编码,还是类似的8B/10B编码。

4B/5B应用在100M的以太网传输二进制比特流上,

8B/10B编码,应用在1G的以太网传输二进制比特流上。

4B/5B编码,虽然解决了在两个节点间传递0和1时,当链路没有有效数据传输时,可以传递多余的电平信息,来维持链路的状态。但也是有缺点的:

(1)物理链路上传递的电平信息,并非全部用于传输有效的用户数据,只有4/5=80%的线路利用率。这就是以太网的线路速率传输1.25G,而有效的数据=1.25*0.8=1G.

上述编码的关键是:不能用线路上的单个的物理的高电平或低电平信号表示逻辑数据0或1. 而是用5个连续的高电平或低电平的”电平组合”,来表示4bit的数据信息。

4B/5B编码和8B/10B编码,都是用比有效二进制逻辑比特多的“电平数”来标识一个逻辑数字1或0.

这里比例关系是:1:1.25。

有没有实用更多电平的组合来表示单独的一个bit0或1呢?且有固定的算法映射关系?

自然是有的,即数字扩频通信。

5.5 通过数字扩频调制

前面描述的线路编码方式,电平信号的数量基本上与表示的逻辑数据是相当的:比如一个bit使用1个电平信号的高低、上下沿表示、或用两个信号的差值表示。

而数字扩频调制编码,采用N位电平信号,表示一个bit 0或bit1,N就是扩频码的长度,N通常可以达到几十,甚至上百。

在上图中:

待传信息:是一个低频的二进制字节流,这里是0、1、0

PN码扩频码:是一个周期重复的、高频的二进制字节流,比如特定的64bit流。这里是1 0 0 1 1 0 1 1 1 0 1 0 1 0

所谓高频和低频,就是二进制数字的周期或频率。

通过扩频码与已有的低频的二进制数字串做“与”运算,得到一个新的“二进制数字串”,这就是扩频后的二进制信息流。扩频后的比特流,给它取了一个专门的名字,称为chip,即码片,每个码片实际上也是一个新的二进制,这个二级制的速率,也给它取个专门的名字,即码片速率。

解扩的过程正好相反:

使用扩频码与收到的二进制信号进行“亦或”,还原原先的字节流。

很显然,扩频后的新的比特流比原先比特流数据的频率更高,即单位时间内需要传输的二进制比特更多,这就是扩频。

带来的一个直接结果就是,由于单位时间,需要传送的字节数更多了,因此需要更大的基带带宽传输扩频后的比特流。

带来的好处:

  • 需要的发射功率密度低,不易对其他设备造成干扰。
  • 在空中传送的不是原始的字节流,是扩频后的字节流,保密性高,被截获的可能性极低。
  • 抗干扰能力强,对同频干扰及各种噪声具有极强的抑制能力。扩频后的多个“子”字节流代表原先的一个bit,因此空口传送中部分bit出错,不会影响随后还原的数据。
  • 具有极好的抗多径衰落性能。
  • 同等的发射功率,传输的距离更远。
  • 降低了单个码片的发送幅度和功率

缺点:

  • 传送同等的数据比特流,需要更大的模拟信号的传输带宽。
  • 电路复杂。

注意:

假设扩频码的长度是32bit,扩频编码的本质是32个连续的电平信号的“电平组合”,表示一个特定的0或1.

不符合特定组合规律的电平以及“电平组合",可以认为是干扰信号或无用的信号,可以忽略。

这种编码方式,可以用于链路传输干扰大的场合,但需要更大的数据带宽,传递原先比特率的数据。

因为扩频后编码的字节流的比特率是有效数据比特率的N倍,很显然,传输扩频后的二进制流的带宽也是原先的N倍。

电平的组合,变成了代表0或1的特征电平,而不是单一的电平。

数字通信编码,需要有这样的理念:即所有的编码都是定义用某种特定的N个电平的组合,而不是用单一的电平,来标识逻辑数字0或1.


6. 高低电平脉冲信号的本质

我们知道分子是由原子构成,原子是有原子核和电子构成,原子核是有质子和中子构成,本级,我们探讨高低电平信号的构成。

在前面,我们已经介绍了如何用一个或多个电平信号,也称为脉冲信号,来表示0或1的方法,就用特定的方波信号承载0或1信息。

电平信号的波形如下:

电平信号,表面看起来是一个个直流电信号的片段,如此构成了如下的周期性方波信号

这个方波信号,能再进一步的分解成其他信号吗?或者说,方波信号有哪些信号组成的呢?

了解这一点非常、非常的重要,有助于我们发掘是否可以用方波信号中内含的信号来承载0或1,这就需要求助于“傅里叶变换”了。

“傅里叶变换”用数学的方式,解释了外观看起来是方波的信号是有哪些正弦波组成的。

关于傅里叶变换,参考如下详细的讲解:

https://baijiahao.baidu.com/s?id=1636833728798493906&wfr=spider&for=pc

https://www.cnblogs.com/h2zZhou/p/8405717.html

这里我们给出其中的结论:

一个电平方波信号,实际上是有无数个不同频率、不同幅度、不同相位的正弦波叠加而成的。

在上述公式中:

(1)w、3w、5w.....nw:是频率的大小,代表不同频率的电磁波。

(2)1、1/3、1/5....1/n:是频率分量权重,频率越高,对最终波形的影响越小。

(3)至于相位的影响,所有频率波形的起始相位都相同。

从中,我们可以看出,不同频率分量的正弦波电信号越多,最终合成出来的波形越接近最终的方波信号。

现在我们从示波器上观察一下上面的结论:

因此,如果需要传送完全的、理想的、方波电信号,需要传送的电磁波的频率到无限大,需要的带宽是无限大,对于短距离、有线传输信道来说,这不是问题,但对于无线信道或长距离有线的信道,传送无限大的频率分量就有很大的问题:

(1)频率问题:频率越高,需要带宽就越大,无线通信中带宽往往是限制的,如LTE 5M/10M/15M/20M. 这些通信系统中,不允许传送带宽无限大的基带信号。

(2)幅度问题:频率分量越大,其幅度是越小的,能量就越低,长距离通信,这些高频分量很快就衰减掉了,导致接收方与发送方的波形不一样。因此在发送方传送非常高频分量没有太大的意义。

那么需要传送多少个高频分量,就可以了呢?就能够被接收方恢复出来原先的信号,且前后波形相互不影响呢?

这里涉及到两个重要的公式:

(1)奈奎斯特第一准则

在理想的没有干扰的信道中,比如有线传输或光光纤传输,需要的最低的带宽与传输的二进制比特率有一个数学关系:

理想低通信道下:

最高码元传输速率 <= 2 * 信道带宽

信道带宽  >= 1/2 * 最高码元传输速率

在需要传送的码元速率确定的情况下,需要的最小传输传输带宽是确定的,即1/2码云速率。这就确定了方波中的最高的频率分量最小值,当然,更多的频率分量也是没有问题的,信号恢复的角度来看,多多益善,但高频的频率分量越多,信道的带宽就越大,对传输信道的要求就越高。

(2)香农定理/公式

PCB板上的硬件连线,有线的电缆,都近似为理想的无噪声信道。然而,如果是空口无线信道,由于各种干扰无时不刻的存在,就不能用上述公式了,此时定量计算的香农定理就派上用场了:Rmax=W*log2(1+S/N)

S/N:信号与噪声能量的比值。

R:二进制方波信号传送的比特率

B:传输信道的最大带宽

定性的感觉是:

(1)在传送的二进制方波信号的比特率一定的情况下,传输信道上的噪声越大,需要的信道的带宽越大。

(2)在传输信道的带宽一定的情况下,传输信道的上噪声越大,传送的二进制方波信号的比特率就越小。

至此,我们已经知道,一个看起来非常简单的二进制高低电平信号,远比我们最初想象的要复杂得多。


7. 如何在不同的电子元器件之间用模拟的电信号传送0和1?

用模拟的电信号(电磁波)进行数字通信,是一组非常复杂的技术,涉及到:模拟信号的调制、射频通信、数字信号的调制、DSP、1G、2G、3G、4G、5G等技术。这些技术我们会在单独的章节中讨论,这里只讨论,上述无线通信、移动通信技术中最基础、最根基的部分:如何通过模拟的电信号表达或传送计算机中最基础的0或1这个信息?它是理解数字通信技术的根基!

我们分如下的几步,由浅入深,由简到繁得阐述如何用模拟的电信号传送0和1

(1)模拟的基带信号到底是什么?

(2)如何传递这个模拟的类似方波”的基带信号?

(3)如何直接通过低频的基带模拟信号一次传输单个0或1?

(4)如何通过高频的载波信号一次传递单个的0或1?

(5)如何通过高频的载波信号第一次传递多个0和1?


7.1 模拟的基带信号到底是什么?

图1:数字电平信号或数字方波信号,表示0,1,发送的比特率是1M,具有无限带宽的高频分量。

图2:硬件低通滤波器,滤除方波信号中的高频分量。

图3:经过不同低通滤波器,得到的是,表示0和1的低频的、具有一定带宽的电信号,已经不再是数字信号中的高低电平信号,这里称为包含一定频率分量的“基带信号”,最高频率取决于滤波器的带宽,比如5M带宽,最高频率是5M, 实际频率分量在0-5M之间:

至此,把一定频率或比特率的方波信号转换成了一定同等频率或比特率的锯齿的“类似方波”的信号。

这里已经根据代表0和1的方波信号,生成了能够表达0或1信号的、去掉高频分量的、锯齿的、“类似方波”的信号。

至于如何通过锯齿的“类似方波”的信号表示0或1,与前面方波电信号表述0或1的方法是一样的:

或通过电信号的电平高低、或通过电平信号的上下沿,或通过2个电平之间的电平差表示。


7.2  如何传递这个模拟的“类方波”的信号

模拟的类似方波”的信号又称为基带信号,是由低频的符合傅里叶级数规则的正弦信号组成,最高频率是带宽,假设这里带宽5M, 正弦波的最高频率就是5M.

传递该信号的方法有如下几种:

  • 有线传输:

如通过电缆、PCB的总线等传输。在PCB板内或短距离设备之间的传输是可以的。

  • 无线传输:无线电磁波传输时

发送:需要有天线把电信号转换成无线的电磁波。

接收:需要有天线把电磁波信号转换成设备的电信号。

天线长度与电磁波的波长必须满足:天线长度>=1/4波长。

这里的电信号最高频率是5M, 如果要发送5M的电磁波信号,天线的长度>= 3*10^8 %  (5*10^6) % 4 = 15米;这里只传输基带中5M频率的信号,如果算上基带中其它的低频分量,这个天线的长度需要几百米,上千米,很显然这种方式是不合适的。

那就需要:

在发送端,通过高频的载波信号,装载这个5M的基带信号;

在接收端,能够把这个5M的基带信号能够卸载下来,还原成基带信号,

上述过程称为模拟调制与解调,用图演示如下:

在上图,通过调制,就可以把低频的“类方波”基带信号搬移到900M的高频信号上,900M高频信号的天线长度值需要8cm。

接收方通过解调,就可以低频的“类方波”基带信号从900M的高频信号上取下来,还原成低频的“类方波”基带信号,

这里几个关键点:

(1)这个“类方波”基带的电信号,代表的是0还是1?

取决于线路的编码方式:用高低电平表示1或0, 或电平的上升沿下降沿表示1或0。这与前面“如何电平信号表示0或1”是一致的,这里就不在重复。

(2)这个“类方波”基带的电信号,如何加载到900M的高频信号上,即如何调制? 低频的“类方波”基带信号如何从900M的高频信号上取下来,即解调?这里有很多的调制解调的手段和技术,需要单独的专题文章来阐述。

(3)这里需要重点理解的是:

这个“类方波”基带,实际上就是变形的、或者说去掉高频分量的方波信号、或数字电平信号。

这个信号,

在发送端:可以通过高频的载波信号(正弦波或余弦波)进行加载(调制)

在空中:可以通过无线电磁波进行传送

在接收端:可以还原(解调)与发送端一样的“类方波”信号或数字电平信号。

此概率、理念非常非常重要!!!!


7.3 如何直接通过低频的基带模拟信号一次传输单个0或1?

有了上述基带信号与0或1的关系,再描述基带模拟信号一次传输单个0或1就比较简单了,也非常容易理解,用图示如下:

  • 发送0或1的过程:

  • 接收/恢复0或1的过程


7.4 如何通过高频的载波信号一次传递单个的0或1

有了上述基带信号与0或1的关系,再描述高频载波信号携带基带信号一次传输单个0或1也比较简单了,也非常容易理解,用图示如下:

通过高频信号承载基带信号传送0或1与直接用基带信号传送0和1的区别就是调制与解调,这会通过单独的文章阐述。

  • 发送0或1的过程

  • 接收/恢复0或1的过程


7.5 如何通过高频的载波信号一次传递多个的0或1

数字调制? 可以达到一个波形代表多个bits

多载波技术,一次并行传送多个载波。

..............待续。。。。。。。。。。。。。

猜你喜欢

转载自blog.csdn.net/HiWangWenBing/article/details/107897420
今日推荐