一篇文章让你读懂-曼彻斯特编码

阿里云国内75折 回扣 微信号:monov8
阿里云国际,腾讯云国际,低至75折。AWS 93折 免费开户实名账号 代冲值 优惠多多 微信号:monov8 飞机:@monov6

目录

写在前面的话

1 what什么是曼彻斯特编码

 2 how怎么使用曼彻斯特编码

2.1 曼彻斯特的编码

2.2 曼彻斯特的译码

3 why为什么推荐曼彻斯特编码?这种编码方式的优缺点


写在前面的话

        数据传输之前为什么将数据进行编码

        这是个好问题

        一句话令传输系统具备一定的纠错能力和抗干扰能力可最大程度避免码流传输的误码率

1 what什么是曼彻斯特编码

        曼彻斯特编码也称为相位编码是一种同步时钟编码技术。通过电平的高低转换来表示“0”或“1”每一位的中间有一个跳变的动作这个动作既作时钟信号又作数据信号但因为每一个码元都被调成两个电平所以数据传输速率只有调制速率的1/2其编码效率为50%。常用于局域网传输

        表示方法

                第一种G. E. Thomas, Andrew S. Tanenbaum1949年提出的

                        位中间电平 从低到高 跳变表示"0"。

                        位中间电平 从高到低 跳变表示"1"

                第二种IEEE 802.4(令牌总线)和低速版的IEEE 802.3(以太网)中规定

                        位中间电平 从低到高 跳变表示"1"。

                        位中间电平 从高到低 跳变表示"0"

        对于以上的约定具体该如何使用需要根据实际的应用场景进行区分。那么有没有一种编码方式能够避免以上两种约定方式可能带来的歧义呢当然有了差分曼彻斯特编码。为了不让混淆将单独用一篇文章进行描述最好先认真读完本文之后大家再去了解差分曼彻斯特

 2 how怎么使用曼彻斯特编码

        曼彻斯特码是通过电平的跳变来对二进制数据“0”和“1”进行编码的对于何种电平跳变对应何种数据实际上有两种不同的数据约定也就是上面所说的两种表示方法。在实际应用中若无特殊说明曼彻斯特码的编码规则均采用第二种约定。

2.1 曼彻斯特的编码

        曼彻斯特码是用“01”和“10”来表示普通二进制数据中的“1””和“0”的因此在实际电路设计中我们可以用采一个2选1数字选择器来完成此项功能。

2.2 曼彻斯特的译码

        这部分内容也常用用到其他编码方式的译码逻辑中比如汽车电子钟的轮速AK传输协议其中的数据信息部分也就是用了曼彻斯特编码的方式对于其译码逻辑同样适用

        曼彻斯特译码电路设计的目的是如何准确地从曼彻斯特码的码流中提取出“10”和“01”信号并将其转换成普通二进制编码中的“0”和“1”。

        例如对于曼彻斯特码“01010101”如果从第一位开始解码得到的二进制编码就是“1111”而若从第二位开始解码得到的二进制编码就是“000”和头尾两个曼彻斯特码。

        由此可见如果曼彻斯特码数据流中只有“1”或“0”是不能得到正确的译码结果的如果曼彻斯特编码数据流中出现“00”则“00”前后的码元必定是“1”如果曼彻斯特编码数据流中出现“11”则“00”前后的码元必定是“0”因此我们可以将“00”与“11”作为曼彻斯特码译码的标志位。

        在实际设计电路中可以采用一个缓存器保存上一个时钟采集到的信号和当前时钟采集到的信号当缓存器的内容是“01”时输出“1”当缓存器的内容是“10”时输出“0”当缓存器的内容是“00”或“11”时输出维持不变。

3 why为什么推荐曼彻斯特编码?这种编码方式的优缺点

        这个问题属于一个开放的问题优缺点嘛都是需要有参考对比的。博主列举出的内容不全大家在使用的过程中也可以将使用的痛点和便捷点都一起聊聊

        优点

        1 跳变电平传输同步时钟信息无需单独时钟同步信号不含直流分量具有很好的抗干扰能力更适合于信道传输。

        缺点

        1 编码效率较低数据传输率只有信号速率的 1/2。

阿里云国内75折 回扣 微信号:monov8
阿里云国际,腾讯云国际,低至75折。AWS 93折 免费开户实名账号 代冲值 优惠多多 微信号:monov8 飞机:@monov6