曼彻斯特编码
曼彻斯特编码(Manchester Encoding),也叫做相位编码( Phase Encode,简写PE),是一个同步时钟编码技术,被物理层使用来编码一个同步位流的时钟和数据。
在曼彻斯特编码中,用电压的跳变的不同来区分1和0。
从低电压到高电压的跳变表示0;
从高电压到低电压的跳变表示1。
如图:
也就是说,若我们已知一个数字信号,就可以通过信号中的每一个时钟信号下电压为0或1得知该数字信号的曼彻斯特编码,如下图所示:
差分曼彻斯特编码
差分曼彻斯特编码是曼彻斯特编码的一种修订格式,是一种使用中位转变来计时的编码方案。数据通过在数据位开始处加一转变来表示。
差分曼彻斯特编码在每个时钟周期的中间都有一次电平跳变,只用于同步时钟信号。
在每个时钟周期的起始处有跳变为0;
无跳变则为1。
或者可以说差分曼彻斯特编码遇到0则在起始位置处跳变,1则不变化。
其0和1的表示与曼彻斯特编码一致,如下图:
也就是说,已知一个数字信号,我们首先根据上图的编码0和1表示画出第一个时钟信号下的编码(下图中第一个信号为1,编码表示为由高变低),若第二个时钟信号为0,则第二个编码发生的初始位跳变(即如果第一个编码的末位为低,那么发生跳变,第二个编码的首位变为高,表示为由高变低,即编码1);若第二个时钟信号不为0,则不发生跳变(即第二个编码的首位继续为低,表示为由低变高,即编码0)。
NRZI编码
NRZ-I编码中是不归零编码(NRZ)的一部分,其中正负电压分别对应于编码0和1,他是基于从一个电压状态向另一个电压状态的跳跃(即从高到低和从低到高状态),而不是采用电压级别对数据进行编码。
在NRZI中,如果不发生跳跃,数据被编码为0;
若发生跳跃,数据被编码为1.
可以理解为:只要时钟信号为0,NRZI编码就不会发生跳跃,只要出现1,就会出现跳跃。