一文读懂曼彻斯特编码

原文链接: http://forum.eepw.com.cn/thread/297676/1

---------------------------------------------------------------------------------------------------------------------------------

了解曼彻斯特编码,这是一种改善高速或无线数字通信的简单有效方法。

你可能已经注意到,串行数字通信已经变得相当流行。有许多种类:在标准板级接口中,我们有UART,SPI和I2C。“数字”通信也可以通过模拟信号完成; 一个示例是RF数据链路,其使用模拟幅度,频率或相位的变化来无线传输二进制数据。然后是高速差分接口,例如基于LVDS或USB的串行通信链路。

曼彻斯特编码是一种数据调制技术,可用于许多情况,但在基于模拟,RF,光学,高速数字或长距离数字信号的二进制数据传输中特别有用。

好,但不完美

尽管标准数字通信与模拟信令相比具有压倒性优势,但仍存在一些一般限制。一个是同步问题:接收器必须知道何时准确地对输入数据进行采样(注意,例如,模拟音频传输中不需要这种同步 - 解调后的音频信号可以传送给扬声器而无需明确解释接收方的数据)。

另一个是需要直流耦合。数字数据可以包括长的,不间断的1或0序列,因此用于传输该数据的标准数字信号将在相对长的时间段内保持相同的电压。如果我们尝试使用隔直电容交流耦合该信号,我们就会遇到麻烦,如下面的LTspice图所示。

首先,DC偏移衰减到零,只要信号正在转换,一切都很好。但是当长序列的1或0导致原始DC耦合信号停止转换时,数字信号变为由电容器阻挡的恒定电压。

请注意,第一个图具有扩展的逻辑周期,第二个图具有扩展的逻辑周期; 然而,在这两种情况下,信号衰减到0V。显然,这种衰减波形在数字系统中是不合需要的,但此外,0 V状态是模糊的 - 长逻辑高和长逻辑低端都是0V。

解决方案

曼彻斯特编码为这两个限制提供了补救措施。这是一种简单的数字调制方案,可以做两件事:1)确保信号在一段延长的时间内不会保持逻辑低或逻辑高,2)将数据信号转换为数据加同步信号。

在我们讨论曼彻斯特编码的细节之前,让我们讨论一下这个动机:为什么不加一个单独的时钟信号进行同步呢?为什么我们要交流耦合数字信号?

10BASE-T以太网使用曼彻斯特编码。

时钟

在许多情况下,使用单独的时钟信号来实现发送器和接收器之间的同步是完全可以接受的。但有时这种方法是不可取的,例如当您需要最小化系统各部分之间的互连数量时,或者当小型化需要能够以某种方式提供所需功能的最低引脚数微控制器时。

在其他情况下,单独的时钟信号根本不是一种选择。例如,在复杂的无线数据链路中包括两个单独的RF发射器和接收器(即,一个用于数据,一个用于时钟ICfans)将是非常低效的。

如果您熟悉UART接口,您就知道可以使用内部定时信号而不是发送器和接收器共享的外部时钟。但这种策略带来了重大限制:

  • 它对内部时钟频率变化不稳健,当发射器和接收器处于不同环境时,这变得更成问题。

  • 它缺乏灵活性,因为它需要为相同的数据速率明确预配置Tx和Rx设备。

  • 接收器通常要求内部时钟频率明显高于数据速率,这可能会对数据传输的最大速度产生令人不快的限制。

DC

对于复杂系统,特别是那些涉及高电压的系统,要确保传输信号的共模电压与接收器可接受的共模范围兼容并不总是容易的。(即使使用差分标准,例如RS-485,这也是一个问题。)另一个问题是故障电流 - 直流耦合不能防止短路引起的危险长期电流。

因此,AC耦合是一种简单的方法,可以减轻与共模电压和故障模式相关的不便和风险。

曼彻斯特方案

曼彻斯特编码背后的基本思想如下:我们可以使用电压转换而不是电压电平来表示1和0。请考虑以下图表:

在图的上半部分,我们有一个标准的数字接口,由数据信号和时钟信号组成。

在图的下半部分是曼彻斯特编码的相同数据信号。注意转换是如何在标准数据信号逻辑状态的中间发生的(换句话说,曼彻斯特转换与用于采样数据的时钟边沿对齐)。另请注意,逻辑高位始终对应于从高到低的转换,而逻辑低位始终对应于从低到高的转换。(对于逻辑低电平,您也可以使用从低到高的转换;对于逻辑低电平,您也可以使用从高到低的转换;重要的是接收器电路知道要期望的格式。)

很明显,AC耦合问题已经消除:每一位都需要转换,因此数据信号永远不会保持逻辑低或逻辑高电平。这在下图中很明显,该图显示了二进制111111的标准数字信号和相同二进制序列的曼彻斯特编码信号。

同步问题不那么简单,因为我们仍然需要以某种方式从信号中提取时钟; 尽管如此,我们可以直观地看到转换的规律性提供了有关何时应对数据信号进行采样的信息。

上图还说明了曼彻斯特编码的一个重要缺点:数据速率相对于数据信号的带宽减半。曼彻斯特编码的信号需要每个位的转换,这意味着两个曼彻斯特逻辑状态用于传达一个标准逻辑状态。因此,以相同的速率传输数据需要两倍的带宽。

这似乎不是一个问题 - 为什么不只是使用更高频率的信号?那么,如果信号带宽是数据从发送器移动到接收器的速度的限制因素,并且如果您已经处于最大数据速率,则不能将信号频率提高两倍; 相反,您必须将数据速率降低两倍。

结论

您现在知道曼彻斯特编码是什么以及为什么它是有益的,尽管可能降低数据速率以及生成和解释曼彻斯特编码数据所需的附加电路或固件。

  • 2
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值