逻辑分析仪仪器在波形可以用来轻松解码吗曼切斯特编码技术信号。下面的指南介绍了什么是曼彻斯特编码,它比未编码的数字信号有什么优势,以及如何使用波形逻辑分析仪和一个简单的环回配置测试和测量设备来解码这样的信号。
什么是曼彻斯特编码?
曼彻斯特码是一种自时钟二进制码,它通过对每个数据位进行从高到低或从低到高的转换来实现。这种类型的编码主要用于需要电隔离的应用,或用于通信的线路数量有限的应用。曼彻斯特编码有两种公认的标准:一种是高值由信号和的下降边表示低值由上升边和反边组成。
为什么要使用曼彻斯特编程?优势是什么?
这种编码最重要的优点之一是缺少一个单独的时钟信号。通过对数据信号中的时钟进行编码,通信所需的信道数量减少到一个,这使得该代码在需要在发射端和接收端之间进行电隔离的应用中,或在无线通信中,如IR、RFID和NFC应用中达到最佳。
另一个优点是,这种编码方案确保产生的信号不会保持在一个逻辑上高或低电平较长一段时间,因此信号可以进行交流耦合,这意味着信号的直流分量可以消除。这种类型的滤波在未编码的数字信号的情况下是不可用的,因为一个长,不间断的1或0序列将导致在解耦电容后相同的电压水平。交流耦合对电路中的故障电流提供了某种保护,并在某些情况下解决了共模范围的不兼容性。
曼彻斯特编码的缺点是什么?
该编码方案最大的缺点是数据速率仅为带宽的一半。换句话说,要发送一个信息位,就必须发送两个逻辑状态,因此输出信号的频率必须是每秒输入信息位数的两倍。如果我们考虑信号频率常数(受设备时钟频率的限制),则数据速率仅为未编码数据信号的一半。
生成待解码的信号
为了演示在逻辑分析仪中曼彻斯特解码器的用法,我们需要一个信号来解码。为此,我们将使用波形的模式发生器仪器和所选测试和测量设备的简单环回配置的数字I/O线(输入和输出都使用相同的数字线-不需要外部连接)。由于Pattern Generator工具在默认情况下不能生成曼彻斯特代码,因此将使用Python脚本创建二进制数据并将其保存到csv文件中,该文件可以在以后的WaveForms中导入。您可以按照下面的步骤编写自己的脚本。
- 首先,定义信号的参数:使用哪个标准(高=下降边缘,或高=上升边)、字节数和数据位数。然后导入必要的包:在这个脚本中,我们将使用NumPy生成数组,并使用Pandas将结果导出到csv文件。
- 获取输入字符串,然后将其转换为二进制。如果有必要,您可以反转字节的顺序。
- 将每位加倍(这种方式使数据信号“慢”了两倍),然后生成一个时钟信号:一个包含交替的“1”-s和“0”-s的数组,其长度与数据信号相同。
- 将字符串转换为整数数组,然后通过对两个数组(逐个元素)应用逐位XOR (exclusive or)操作符,从两个数组中获得曼彻斯特代码。如果要更改标准,将“1”-s改为“0”,并将“0”-s改为1。
- 从生成的代码创建数据帧,并将其导出为csv文件。
- 打开波形,连接到您的设备,然后打开图形发生器仪器。添加一个新的Signal并选择DIO 0。设置输出来页(推拉)类型来自定义,然后导入CSV文件,其他设置保持默认。
- 设置等待时间到10ms和运行通过选中相应的框将模式设置为自动。启动模式生成器。
用逻辑分析仪解码曼彻斯特码
一个你已经生成它,你的曼彻斯特代码很容易解码使用波形的逻辑分析仪仪器。只要打开逻辑分析仪,进入“添加曼彻斯特”在添加频道。将频率设置为生成信号频率的一半(500赫兹在这种情况下)。在各自的下拉列表的帮助下,将编码的参数设置为与Python代码中的相同。设置格式为美国信息交换标准代码,使消息可读。

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

最后要做的就是简单地启动仪器。以某种方式设置时间和位置,使消息可见。瞧!你刚刚破解了曼彻斯特密码。

你的解码器缺少了曼彻斯特编码的一个重要特征——能够在不知道时钟频率的情况下恢复信号。
嗨凯文!只有设置了数据速率(换句话说,如果时钟频率是已知的),波形才能真正解码信号。要在不知道时钟频率的情况下解码信号,可以使用WaveForms SDK,但用户必须编写自己的解码器。为了从数据信号中生成时钟信号,数据包必须有一个前导,因此编码器也必须稍作更改。
http://ww1.microchip.com/downloads/en/AppNotes/01470A.pdf