跳转到主要内容

一个- 1139的二进制序列检测器

内容

引用

相关文档和软件,请访问:

//www.xmece.com/亚博电竞菠菜products/greenpak

下载我们的免费GreenPAK设计师软件[1]打开.gp文件[2]和[3]使用GreenPAK开发工具来冻结设计到您自己的定制的集成电路在几分钟内。

yabo国际娱乐对话框半导体应用程序提供了一个完整的图书馆指出[4]以设计实例以及解释的特性和块内集成电路所示的对话框。

  1. GreenPAK设计软件、软件下载、半导体和用户指南,对话框yabo国际娱乐
  2. 一个二进制序列Detector.gp - 1139半导体,GreenPAK设计文件,对话框yabo国际娱乐
  3. GreenPAK开发工具半导体,GreenPAK开发工具网页,对话框yabo国际娱乐
  4. GreenPAK应用笔记半导体,GreenPAK应用笔记网页,对话框yabo国际娱乐
  5. SLG46110对话框数据表,半导体yabo国际娱乐
  6. SLG46531对话框数据表,半导体yabo国际娱乐

介绍

在基带数字通信频道,二进制串行传输最普遍的方式是在发射器和接收器之间共享信息。这些串行通道是在计算机网络中,使用嵌入式系统甚至是物联网(物联网)设备可以通过一些标准协议连接实现,如TCP, UDP, RS232等等。

在渠道发送二进制数据一次一位在高数据率、二进制传输称为流和携带的信息称为一个包。这种类型的传播的挑战是传输定义的开始和结束。一般来说,标志是用来允许接收器识别数据包的开始和结束。

实现这一目标,有些序列定义来确定消息的开始和结束,他们是用来设置或清除标志。二进制序列检测器用于检测这些序列在接收端。

本应用笔记展示了如何使用对话框的实现设计GreenPAK基于状态机。在这个例子中,“101”模式被发现从一个二进制流。

状态机设计

在数字设计,组合电路和时序电路。前者使用只有逻辑功能的输入操作,没有任何依赖于之前的状态。然而,在后者的电路,输出在任何阶段依赖于之前的状态,这意味着某些内存元素参与电路。

这样在二进制序列检测器,在之前的部分被用来检测所需的序列。

在时序电路设计,重要的是定义系统的输出是否只取决于当前的状态,或者如果它还取决于当前的输入。这两个结构的可能性分别称为摩尔或粉状的状态机。在摩尔机器,输出只依赖于当前状态和不关心当前的输入。在粉机,输出都取决于现状和当前输入。摩尔机器使用更安全,因为输出不改变异步时钟。本应用笔记使用摩尔机器。

在这个例子中,“101”模式中检测到一个二进制流(X是输入)。当序列尚未检测到,系统的输出将保持在低水平。当序列检测,输出转向高流直到找到一个0。

在图1中,摩尔状态图显示。

图1所示。状态图

状态0年代0)是第一个状态。在这里,系统等待0作为输出,直到第一个1的序列检测。在这种情况下,它进入状态1 (S1),保持,直到收到一个0。这是因为系统可以接收流像“11111101”。当检测到0,我们到达状态2 (S2)。这是最后的决定。如果检测到“0”,这意味着序列“100”(这不是理想的模式)的机器被重置为0。如果我们发现一个“1”,这意味着所需的模式是收到的机器状态3集3),高级别(1)输出。系统等待直到接收到“0”状态3。

逻辑设计

从上一节所示的状态图可以获得以下转换表(见表1)。

表1。转换表

实际状况

下一个状态

输出

X = 0

X = 1

S0

S0

S1

0

S1

S2

S1

0

S2

S0

S3

0

S3

S0

S3

1

它可以得出结论,因为实现由4州,设计需要2人字拖。对话框的所有GreenPAK ICs型的人字拖,如果所选GreenPAK没有异步状态机(ASM)模块,然后人字拖的实现必须生成函数输入。

逻辑功能都依赖于流输入和以前的状态,因此他们是X的函数和Q1 / Q0(触发器输出)。

第一个触发器(Q0输出),逻辑函数的真值表必须看起来像一个表2所示。

表2。D0真值表

第一季度

Q0处

X

D0

0

0

0

0

0

0

1

1

0

1

0

0

0

1

1

1

1

0

0

0

1

0

1

1

1

1

0

0

1

1

1

1

对于第二个触发器(Q1输出),逻辑的真值表函数表3所示。

表3。D1真值表

第一季度

Q0处

X

D1

0

0

0

0

0

0

1

0

0

1

0

1

0

1

1

0

1

0

0

0

1

0

1

1

1

1

0

0

1

1

1

1

最后,对系统输出(Z),逻辑函数的真值表如表4所示。

表4。Z真值表

第一季度

Q0处

Z

0

0

0

0

1

0

1

0

0

1

1

1

实现

我们可以用不同的方法实现GreenPAK设计取决于特定GreenPAK版本可用的资源。我们将探索实现使用GreenPAK拖鞋,以及内置的ASM(异步状态机)在某些GreenPAK可用。

基于实现翻转——失败

在这种情况下,2人字拖和3使用查找表。图2显示了框图。

图2。基于触发器的框图

在图中,可以看出输入(X)映射到销2,时钟输入映射到销3(这也是连接到rising-edge-triggered拖鞋)的时钟输入和输出连接销8。销2和销3被配置为数字——没有一个施密特触发器和电阻。销8作为输出,允许输出与VDD。

的逻辑功能的输入DFF0被实现为一个LUT2;它的配置如图3所示。

相对应的逻辑函数的输入DFF1是impelemented LUT3,配置如图4所示。

最后,输出逻辑函数使用LUT0实现,因为我们只需要输入2位。配置在图5中可以看到。

图3。LUT2配置
图4。LUT3配置
图5。LUT0配置

基于ASM的实现

这个设计是基于ASM在GreenPak5(异步状态机)模块可用。因为实现系统的同步特性,必须考虑这个模块的异步本性。框图如图6所示。

在这个图中,可以看出输入(X)映射到销4,时钟输入映射到销3和输出连接销10。销3和销4被配置为数字-施密特触发器和电阻。

销10作为输出,允许输出与VDD。

图6。基于ASM的框图

解释型的存在是很重要的人字拖。因为level-sensitive和高电平转换输入ASM,拖鞋与nReset输入用于获得高水平只有当所需的过渡。

每个触发器重置当相应的状态是不活跃的(因此输出很低)。相应的状态是活跃的时,ASM输出转向高和触发器变得活跃。

高水平应获得的输出FF只有当有一个前沿上的时钟和相应的状态输入。为了达到这个目标,一个反转的信号都是用2比特LUT1。这有助于获得高水平的转换的输入将会低。有了这个计划,ASM和同步行为能够执行。

基于状态机如图1所示,ASM使用ASM配置编辑器。美国很高的输出只有当机器在相应的状态。这在图7中可以看到。

图7。ASM配置

在图8和9、2比特LUT1和触发器配置。

图8。2比特LUT1配置
图9。DFF配置

DFF3输出应该1只有当检测到前沿时,X是高和状态0是活跃的;因此,从0到状态过渡1是只有当这些条件得到满足。

DFF4输出高在检测到相应的边缘时,X = 0(反向信号高)和1是活跃状态。这个输出处理从状态1过渡到状态2。

图10。错误的序列,基于FF的实现
图11。正确的序列——基于FF的实现

DFF5控制的过渡状态2 - 0,所以配置设置其输出高当检测到前沿的时钟是一个0在状态2 X和活跃。DFF6 DFFX的补充。它控制的过渡状态2到3,所以它的输出是高当上升边发现一个1在状态2 X和活跃。最后,DFF7处理的过渡状态3 - 0。高只有当一个上升的边缘检测和X = 0时状态3是活跃。

这个设计的输出直接连接到输出的状态3 ASM,因为它必须高只有当状态机状态3。

测试和结论

这两款设计提出了程序注意进行了逻辑分析仪的同时捕获的输入和输出。

图10和11显示了第一个实现信号。在数据通道1是时钟,通道2的输入和通道3是输出。在图10中,“101”序列不存在输入的输出总是0。在图11中,“101”序列被发现(它开始在第二个时钟的上升边)和输出转向高,直到检测到低水平的输入。

图12和13显示第二个实现的信号。通道1是时钟,通道2的输入和通道3是输出。

在图12中,“101”序列不存在在输入输出保持在0。在图13中,“101”序列被发现(它开始在第四上升边时钟)和输出转向高,直到检测到低水平的输入。

图12。错误的序列,基于ASM的实现
图13。正确的序列——基于ASM的实现

结论

在这个应用程序中,两个版本的二进制序列检测器使用对话框的GreenPAK ICs的功能实现。在第一个实现,人字拖和附近地区,而在第二个,ASM,人字拖和附近地区。

重要的是要注意,同步使用ASM的额外的拖鞋。如果二进制序列是短暂的(在本例中),一个基于触发器的实现可能比一个简单的基于ASM。对于更复杂的设计,使用ASM可能更有效。