跳过主要内容

AN-CM-242二进制校验生成器和校验器

内容

术语和定义

集成电路集成电路
I / O输入/输出
MSB.最重要的一点
一种总线标准外围组件互连
SCSI小型计算机系统界面
spi.串行外围界面
XOR门当真正输入的数量是奇数时,一个数字逻辑门给出真(1或高)输出

参考

对于相关的文件和软件,请访问:

//www.wsdof.com/configurable-mixed-signal

下载我们的免费GreenPAK设计师软件[1]以打开。gp文件[2],并查看所提出的电路设计。使用GreenPAK开发工具(3.可以在几分钟内将设计冻结到您自己定制的集成电路中。雷竞技电竞平台Dialog Semiconductor提供完整的申请资料库[4],包括设计实例,以及对Dialog IC的功能和模块的解释。

  1. GreenPak Designer软件,《软件下载及用户指南》,Dialog Semiconductor雷竞技电竞平台
  2. 二进制校验生成器和校验器GreenPAK设计文件,对话框半导体雷竞技电竞平台
  3. GreenPak开发工具GreenPAK开发工具网页,对话框半导体雷竞技电竞平台
  4. GreenPAK应用笔记GreenPAK应用笔记网页,Dialog半导体雷竞技电竞平台
  5. SLG46536V,数据表,对话框半导体雷竞技电竞平台
  6. SLG46620V, Datasheet, 雷竞技电竞平台Dialog Semiconductor
  7. AN-1120蓝牙控制小车/机器人,应用笔记,Dialog半导体雷竞技电竞平台

介绍

二进制串行传输是通过使用有线或无附加的传输来共享设备之间的信息的最广泛使用的技术之一。在这些传输中,数据错误是必须分析以获得可靠通信系统的最重要问题之一。

奇偶校验方法是数据传输中应用最广泛的错误检测技术之一;在传输的数据上附加一个奇偶校验位,使二进制数据的1的和为偶数或奇数。该位用于检测二进制数据传输期间的错误。

包含数据位以及奇偶校验位的消息从发送器节点发送到接收到接收方向。在接收器节点中,计数消息中的高位的数量。如果此数字与发送的奇偶校验位不匹配,则意味着接收数据存在错误。

有几种不同品牌的商业IC(CD40101,74HC / HCT280),实现平价发生器/检查器。补充对话框GreenPAK设计可以积极影响设计的负担能力,尺寸和模块化。例如,相同的一般GreenPAK无论意图的I/O是active-high、active-low还是两者的混合,都可以使用design。在本应用说明中,实现了由控制信号管理的集成奇偶校验发生器/校验器所需的数字逻辑。为了做到这一点,应用程序笔记实现了两种奇偶校验。第一种变体具有并行输入,以便同时加载要验证的数据位。第二种变体实现串行输入,使用异步串行数据传输加载数据。为了做到这一点,串行到并行的转换是在GreenPAK

采用SLG46536V芯片实现并行输入二进制奇偶校验和校验。采用SLG46620V实现串行输入。

数字通信和奇偶校验位

在数字通信中,奇偶校验位是加到二进制流上的一个位,以确保1值位的总数是偶数或奇数。该技术是一种简单而广泛应用的误差检测方法。有两种奇偶校验位方法,称为偶校验位和奇校验位。

奇偶校验位系统是对数据流中值为1的位的出现次数进行计数。如果该数为偶数,则奇偶校验位值设置为1,因此整个流中包括奇偶校验位的高位出现总数为奇数。如果高位数为奇数,则奇偶校验位值为0。如图所示图1

图1:奇数奇偶校验二进制流

偶数奇偶校验位方法采用逆逻辑。如果具有值为1的比特的计数即使在数据流中,则奇偶校验位值被设置为0,使得整个流中的高位的总计数包括均匀数。如果具有值为1的位数是奇数的,则奇偶校验位被设置为1,因此整个流具有偶数的高位。

图2:系统图

为了检测错误,接收器必须计算接收的二进制数据流的奇偶校验位,并将其与接收的奇偶校验位进行比较。如果奇偶校验位相同,则不会检测到错误。如果它们不同,则会检测到错误。

奇偶校验位只用于检测错误。它不能纠正任何错误,因为无法确定流中哪个位是错误的。如果接收到错误的二进制流,接收方必须丢弃它。

这使得奇偶校验位错方法不适合高噪声信号比的媒体,因为一个成功的传输可能需要很长时间。这种方法的优点是只需要一个比特就可以检测到错误,这可以增加一个周期内的传输数量。

作为示例,奇数奇偶校验位发送器发送先前分析的流。如果流的一位流改变,则接收器如果与发送的一个比较它,则接收器获得不同的奇偶校验位。此效果显示在图3

图3:错误流的奇偶校验

奇偶校验位用于需要一个简单的错误检测器的应用程序,并雷竞技安卓下载且如果发生错误可以重复传输。最重要的应用是在串行数据传输。它基于7或8个数据位、一个偶数奇偶校验位和一个或两个停止位的常见格式。

奇偶校验位的雷竞技安卓下载其他应用是SCSI总线,PCI总线和许多微处理器指令高速缓存。因为L-Cache数据只是主内存的副本,所以如果发现损坏,则可以忽略并重新获取。

逻辑实现

错误检测的奇偶位置位的主要优点之一是其计算的简单性。为了获得均匀的奇偶校验,必须仅执行二进制流中的数据位的模数-2和xor以获得奇偶校验位。

一旦得到偶数奇偶校验,就可以得到偶数奇偶校验的逆。

如前所述,此应用笔记实现二元奇偶校验发生器和检查器的两个变体。如果检测到相应的奇偶校验,则两者都具有均匀的输出位和奇数输出位,其被设置为高电平。此外,它们具有启用输入。如果启用高,则计算奇偶校验。否则,两个奇偶校验输出都设置为低电平。

在并行变型中,发电机或检查器获得9长二进制流的奇偶校验位。通过这种长度,通过仅使用MSB(第9位)作为另一处理器的级联输入,可以由发电机作为9比特的处理器或作为超过9比特的处理器的处理器。

图4,给出了9位长度并行输入奇偶校验器的逻辑框图。

图4:奇偶生成器逻辑图

表1显示奇偶校验发生器和检查器的功能表。

表1:平奇发生器功能表
D0-D8
启用
甚至输出
奇怪的输出
XXXX
0
0
0
甚至输入
1
1
0
奇怪的输入
1
0
1

在串行变量中,输入级包括串行转换,因此转换器的输出连接到奇偶校验发生器电路。该方案显示在图5

图5:串行输入奇偶校验发生器原理图

该变体还包括附加的级联输入,因此可以通过使用几个8位奇偶校验检查器处理更多比特。

串行数据转换基于对话框的AN-1120。

当串行输入引脚没有数据时,串行总线保持高。当将发送字节时,在字节前发送逻辑低启动位以指示传输。之后,发送八个数据比特,最后发送停止高级位。可以看到该序列图6

图6:串行数据帧

GreenPAKic的SPI块可以用来实现串行到并行的转换。串行通信必须有9600波特率。

采用下降边检测来检测起始位。当它被检测到时,将设置一个连接标志位,从而触发两个计数器/延迟。其中一个名为Bit Timer,它被配置为具有与位时间持续时间(1/9600)相等的周期。另一个计数器,标题为帧延迟,被配置为具有等于10位帧周期(10/9600)的延迟时间。

有了这些定时器,SPI块连接,以便串行数据输入引脚连接到MOSI输入,Bit Timer输出连接到CLK。八个数据位被SPI块接收。

额外的逻辑用于控制时钟信号,因此当帧周期过去时,SPI时钟停止,数据保存在寄存器中。

关于SPI到并行转换器的更多细节可以在Dialog的AN-1120中找到。

实现和配置

如前所述,奇偶校验生成器和校验器有两种变体,由两个不同的Dialog实现GreenPAK年代。

并行输入变型用SLG46536V实现。

实现位反转,如图所示图4,使用9个LUT,配置为逆变器。这可以看出图7

图7位逆变器
图8:XOR处理器

异或的实现是通过使用两个4位lut来获取每一个数据小咬的结果位。它们的配置如下所示图8.由于没有更多的2位lut可用,两个小点之间的异或使用3位lu3处理,第三个输入连接到GND。

为了得到处理第9位输入的结果位,将输入2接地,使用3位LUT11和3位LUT12。它们的配置如下所示图9图10分别处理XOR和XNOR。

图9:第9位Xor
图10:第9位Xnor

最后,使用3位LUT14和3位LUT15分别将偶数位和奇数位分别与使能位和VDD连接。这些配置可以在图11图12

图11:甚至输出控制
图12:奇数输出控制

整个并行输入奇偶校验发生器和校验器的设计如图所示图13

图13:并行输入奇偶校验发生器和检查器

串行输入变体是用SLG46536V实现的。它有两个可以相互连接的矩阵,其中一个用于实现串并联变换器,另一个用于实现奇偶逻辑。

图14和图15,可以看到矩阵0的SLG46536V与实现的串并联变换器。

图14:串并联变换器(矩阵0)
图15:串并联变换器(矩阵1)

引脚10用作串行数据输入。如前所述,使用pdly0实现了具有延迟输出的下降边缘检测器。这个信号用来指示接收开始,由DFF0和DLY6保持。

一旦传输开始,CNT2就会产生一个频率等于9600的信号。这是通过除以振荡器的输出时钟来完成的,它对应于由2位L1控制的内部环形振荡器。CNT2配置见图16。

图16:CNT2配置

数据由SPI块接收,以S2P模式配置和8位数据长度。这可以看出图17

图17:SPI配置

接收开启,直到CNT5达到最大接收数(配置为8/9600),接收8位数据位。计数器使用内部RC振荡器(2 MHz)除以24。它的结构可以在图18

图18:CNT5配置

一旦接收到数据,它就由Matrix 1中实现的逻辑进行处理。矩阵1可以在图19

图19:串行输入奇偶校验器

数据位由SPI模块的并行输出获取。8位的异或由3位LUT10、4位LUT1、2位LUT4和2位LUT5实现。最后,2位LUT6和2位LUT7分别用级联输入(引脚12)实现异或和XNOR。启用控制是由3位的LUT8和LUT9。

结果

为了测试实现,分别分析二元奇偶校验发生器和检查器的两个变体。

并联输入奇偶校验生成器的测试方法是生成已知数据,由生成器进行处理,以便对输出进行检查。在本例中,使用的数据为

数据

0 x1110011

X周期性地从0变到1。这样,当X为0时,期望得到奇数结果,当X为1时,期望得到偶数结果。

输入信号和奇偶检测输出是用逻辑分析仪测量的。在图20,记录的信号显示为正确行为。

图20:并行输入奇偶校验生成器测试

串行输入奇偶校验生成器变体通过独立传输两个字节,处理它们,并验证结果进行了测试。选择传输的字节来分析一个奇数字节和一个偶数字节。

在奇数数据的情况下,使用的数据是

奇怪的数据

11001101

图21,显示了串行输入数据和使用逻辑分析器的奇数甚至检测输出,如图所示。

图21:串行输入奇偶校验发生器奇偶测试

奇数输出低至接收到奇数数据。之后,奇数检测输出高,均匀检测输出低。

在偶数数据情况下,使用的数据是10011001。

图22,显示了串行输入数据和使用逻辑分析器的奇数甚至检测输出,如图所示。

图22:串行输入奇偶校验发生器甚至测试

在这种情况下,重新发送先前的奇数数据,因此奇数输出高,并且在接收到偶数数据之前,偶数输出低。在接收到偶数数据之后,奇数检测输出低,偶数检测输出高。

结论

在本应用笔记中,我们实现了二进制奇偶校验生成器和校验器的两种变体,用于数据传输的错误检测技术。在传输的数据中添加一个奇偶校验位,使1的个数为偶数或奇数。该位用于检测二进制数据传输期间的错误。一些商业IC可以用Dialog代替GreenPAK使应用程序的规模和成本可以降低。这两种变体显示了数据输入法可以是并行的,也可以是串行的。这对于在不同的应用程序中应用奇偶校验生成器非常有用。雷竞技安卓下载