当前位置:网站首页>一篇文章让你读懂-曼彻斯特编码
一篇文章让你读懂-曼彻斯特编码
2022-07-03 07:41:00 【0101XX0101】
目录
写在前面的话
数据传输之前为什么将数据进行编码?
这是个好问题!!
一句话:令传输系统具备一定的纠错能力和抗干扰能力,可最大程度避免码流传输的误码率!
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。
边栏推荐
- An overview of IfM Engage
- pgAdmin 4 v6.11 发布,PostgreSQL 开源图形化管理工具
- Industrial resilience
- Go language foundation ------ 14 ------ gotest
- 项目经验分享:基于昇思MindSpore,使用DFCNN和CTC损失函数的声学模型实现
- OSPF protocol summary
- 不出网上线CS的各种姿势
- Grpc message sending of vertx
- EtherCAT state machine transition (ESM)
- Rabbit MQ message sending of vertx
猜你喜欢

Why is data service the direction of the next generation data center?

Go language foundation ------17 ----- channel creation, read-write, security shutdown, multiplexing select

Go language foundation ----- 01 ----- go language features

PAT甲级 1031 Hello World for U

HDMI2.1与HDMI2.0的区别以及转换PD信号。

Go language foundation ----- 13 ----- file

技术干货|AI框架动静态图统一的思考

The concept of C language pointer

Introduction of transformation flow

Introduction of buffer flow
随机推荐
技术干货|昇思MindSpore可变序列长度的动态Transformer已发布!
Leetcode 213: looting II
输入三次猜一个数字
Go language foundation ----- 02 ----- basic data types and operators
Go language foundation ----- 16 ----- goroutine, GPM model
技术干货|昇思MindSpore初级课程上线:从基本概念到实操,1小时上手!
The babbage industrial policy forum
Technical dry goods Shengsi mindspire lite1.5 feature release, bringing a new end-to-end AI experience
Technical dry goods | reproduce iccv2021 best paper swing transformer with Shengsi mindspire
Grpc message sending of vertx
IO stream system and FileReader, filewriter
Common operations of JSP
Go language - loop statement
Go language foundation ----- 07 ----- method
[mindspire paper presentation] summary of training skills in AAAI long tail problem
c语言指针的概念
Lucene hnsw merge optimization
为什么说数据服务化是下一代数据中台的方向?
Project experience sharing: realize an IR Fusion optimization pass of Shengsi mindspire layer
GoLang之结构体