解码曼彻斯特编码信号

逻辑分析仪的波形可以用来很容易地解码曼彻斯特编码信号。下面的指南介绍了什么是曼彻斯特编码,它比未编码的数字信号有什么优势,以及如何使用波形逻辑分析仪和一个简单的环回配置测试和测量设备来解码这样的信号。


先决条件

注意:波形可以按照波形入门指南


曼彻斯特编码

曼彻斯特码是一种自时钟二进制码,它通过对每个数据位进行从高到低或从低到高的转换来实现。这种类型的编码主要用于需要电隔离的应用,或用于通信的线路数量有限的应用。

曼彻斯特编码有两种公认的标准:一种是值由信号和的下降边表示值由上升边和反边组成。


曼彻斯特编码的优势

这种编码最重要的优点之一是缺少一个单独的时钟信号。通过对数据信号中的时钟进行编码,通信所需的信道数量减少到一个,这使得该代码在需要在发射端和接收端之间进行电隔离的应用中,或在无线通信中,如IR、RFID和NFC应用中达到最佳。

另一个优点是,这种编码方案确保产生的信号不会保持在一个逻辑上电平较长一段时间,因此信号可以进行交流耦合,这意味着信号的直流分量可以消除。这种类型的滤波在未编码的数字信号的情况下是不可用的,因为一个长,不间断的1或0序列将导致在解耦电容后相同的电压水平。交流耦合对电路中的故障电流提供了某种保护,并在某些情况下解决了共模范围的不兼容性。

下面给出了交流耦合非编码数字信号的仿真。模糊电压等级(0V)可以观察到每一次,当一个较长的系列位出现。


曼彻斯特编码的缺点

该编码方案最大的缺点是数据速率仅为带宽的一半。换句话说,要发送一个信息位,就必须发送两个逻辑状态,因此输出信号的频率必须是每秒输入信息位数的两倍。如果我们考虑信号频率常数(受设备时钟频率的限制),则数据速率仅为未编码数据信号的一半。


生成待解码的信号

为了演示在逻辑分析仪中曼彻斯特解码器的用法,我们需要一个信号来解码。为此,我们将使用波形的模式发生器仪器和所选测试和测量设备的简单环回配置的数字I/O线(输入和输出都使用相同的数字线-不需要外部连接)。由于Pattern Generator工具在默认情况下不能生成曼彻斯特代码,因此将使用Python脚本创建二进制数据并将其保存到csv文件中,该文件可以在以后的WaveForms中导入。你可以从这里下载脚本:code_generator.zip,或者您也可以按照下面的步骤编写您自己的脚本。

首先,定义信号的参数:使用哪个标准(=下降边缘,或=上升边)、字节数和数据位数。然后导入必要的包:在这个脚本中,我们将使用NumPy生成数组,并使用Pandas将结果导出到csv文件。

获取输入字符串。

#定义参数falling_one真正的LSB_first真正的nr_bits8#导入必要的模块进口numpy进口熊猫#获取输入数据input_data输入"输入消息:"

将输入字符串转换为二进制,然后,如果需要,反转字节的顺序。

将每位加倍(这种方式使数据信号“慢”了两倍),然后生成一个时钟信号:一个包含交替的“1”-s和“0”-s的数组,其长度与数据信号相同。

#将字符串转换为二进制binary_format“0 b{}”格式nr_bitsraw_binary""加入格式奥德指数binary_format指数input_data#如果需要,反转字符串如果LSB_first:时间raw_binary raw_binary""指数范围0leninput_data:字节时间指数*8指数+18raw_binaryraw_binary +字节::-1#加倍每位binary_data""加入指数+指数指数raw_binary#创建时钟数组binary_clock""加入“1”+“0”指数raw_binary

将字符串转换为整数数组,然后通过对两个数组(逐个元素)应用逐位XOR (exclusive or)操作符,从两个数组中获得曼彻斯特代码。如果要更改标准,将“1”-s改为“0”,并将“0”-s改为1。

#从字符中获取数字数据指数binary_data:数据numpy。连接数据奥德指数-48没有一个数据数据。astype“int”时钟指数binary_clock:时钟numpy。连接时钟奥德指数-48没有一个时钟时钟。astype“int”#生成代码曼彻斯特数据^时钟如果falling_one:曼彻斯特1- - - - - -曼彻斯特

最后,从生成的代码创建一个数据帧,并将其导出为csv文件。

#出口代码曼彻斯特“数据”:曼彻斯特code_data熊猫。DataFrame曼彻斯特code_data。to_csv“manchester_code.csv”指数

打开波形,连接到您的设备,然后打开图形发生器仪器。添加一个新的Signal并选择DIO 0。设置输出(推拉)类型自定义,然后导入CSV文件,其他设置保持默认。

设置等待时间到10ms和运行通过选中相应的框将模式设置为自动。启动模式生成器。

注意:欲了解更多信息,请查阅:使用模式生成器


用逻辑分析仪进行解码

解码曼彻斯特编码的信号,打开逻辑分析仪仪器的波形,并添加曼彻斯特在添加频道。将频率设置为生成信号频率的一半(500赫兹在这种情况下)。在各自的下拉列表的帮助下,将编码的参数设置为与Python代码中的相同。设置格式为美国信息交换标准代码,使消息可读。

在触发器设置中,将协议触发器设置为消息的第一个值:在本指南中,消息“Hello!”,因此触发器将被设置为值48[H],其中48是美国信息交换标准代码字符“H”。

启动仪器。以某种方式设置时间和位置,使消息可见。


下一个步骤

有关如何使用Digilent测试和测量设备的更多指南,请返回设备的资源中心,链接从测试和测量这个维基页面。

有关波形的更多信息,请访问波形参考手册

如需技术支持,请访问测试和测量Digilent论坛的一部分。