跳过主要内容

AN-1137串行输出提示和技术

内容

参考文献

有关文件及软件,请浏览:

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

下载我们的免费GreenPAK设计软件[1],打开。gp文件[2],并使用GreenPAK开发工具[3]在几分钟内将设计冻结到您自己的定制IC中。

yabo国际娱乐Dialog Semiconductor提供了一个完整的应用笔记[4]库,包括设计示例以及Dialog IC内的功能和模块的说明。

  1. GreenPAK设计软件,软件下载和用户指南,Dialog Semiconductoryabo国际娱乐
  2. AN-1137串行输出提示和技术,绿派克设计文件,Dialog半导体yabo国际娱乐
  3. GreenPAK开发工具, GreenPAK开发工具网页,Dialog半导体yabo国际娱乐
  4. GreenPAK应用笔记,绿派克应用笔记网页,对话半导体yabo国际娱乐
  5. SLG46620对话框数据表,半导体yabo国际娱乐
  6. SLG46531对话框数据表,半导体yabo国际娱乐

作者:玉涵太阳

介绍

本应用说明演示了从Dialog的GreenPAK设备连续输出数据的各种方法。我们将介绍第四个和第五个家庭的GreenPAK,但其中一些技术也适用于较老的GreenPAK ic。首先,串行数据是一种逻辑1和0的模式,用于与另一个设备(如MCU)通信,后者将解释1和0以供自己使用。数据可以表示设备ID、串行并行数据或任意模式。本应用说明解释了从简单的模式生成器到更复杂的8状态机使用GreenPAK组件的六种基本串行输出技术。

要继续学习,请下载GP文件Serial_Output_Techniques_PAK4、Serial_Output_Techniques_PAK5_Horizontal和Serial_Output_Techniques_PAK5_Vertical。第一个文件包含通用技术,后两个文件包含状态机示例。

PGEN

最容易理解的是,PGEN已经被设计成模式生成器。CLK的每一个上升边缘移出模式中的下一个位并环绕。

  • 如图9所示进行矩阵连接。
  • 用所需的串行数据配置Pattern。(max。16-bis)
图1所示。PGEN属性
图2。SPI属性

FSM和SPI

这个例子写在另一个应用笔记中,一个- 1083.FSM计数器数据通过SPI块转换为串行数据。SLG46620V的输出引脚预设为PIN12。为了启动SPI, nCSB输入需要一个高到低的转换。详细解释,请阅读AN-1083 SPI并行串行转换器

  • 如图9所示进行矩阵连接。
  • 设置SPI为“P2S”模式
  • 将字节选择设置为[15:0]或[7:0]
  • 设置PAR输入数据源为' FSM0[7:0] FSM1[7:0] '
  • 配置计数器数据与所需的模式。

DFF链

模式存储在D Flip Flops中,每个DFF存储一位。通过将DFFs连接到一个寄存器字符串中,数据被串行地时钟输出。DFFs的数量与模式中的比特数成线性比例。

  • 如图8所示进行矩阵连接。
  • 在适用的情况下,将nSET/nRESET输入连接到POR。

配置初始极性和nSET/nRESET每个DFF的对应位在数据中。按照图3a、3b、4a和4b。

图3a和3b。使用nSet/nReset选项设置DFFs的初始高和低
图4a & 4b。在不设置nSet/nReset的情况下设置DFFs的初始高和低

二进制代码DFFs

我们介绍了如何通过PGEN、SPI或DFFs一次将数据移出一个模式。另一种方法是生成状态模式并设置每个状态的输出。这称为状态机,模式取决于状态出现的顺序。

GreenPAK ASM很容易配置,但是对于所有其他非ASM设备,我们可以使用二进制或灰色代码来选择状态的顺序。对于二进制代码,状态依次为{000,001,010,011,100,101,110,111}。我们将需要三个dff,每个位一个dff和一个3位LUT来配置输出模式。

所使用的DFFs的数量与模式中的比特数成指数比例(2的幂)。唯一需要注意的是状态转换之间的传播故障。这是因为转换是级别敏感的,二进制代码可以同时改变多个位。为了避免小故障,输出应该同步到时钟的下降边缘,或过滤。

  • 如图9所示进行矩阵连接。
  • 在适用的情况下,将nSET/nRESET输入连接到POR。
  • 配置最初的极性高,Q输出极性倒(nQ)
  • 配置查找表的期望模式的二进制状态的顺序从000…111年……。
图5。二进制代码DFFs
图6a, 6b, 6c。DFF属性

格雷码DFFs

与前面的示例类似,这个示例使用灰色代码作为状态转换顺序{000,001,011,010,110,111,101,100},避免了过渡故障。我们将需要三组3位LUT和DFF,每一个位和一个3位LUT来配置输出模式。使用的DFFs和lut的数量与模式中的比特数成指数比例(2的幂)。在灰色代码中,需要超过8个状态的模式效率非常低,因为它使用了太多的电路资源。

  • 如图8所示进行矩阵连接。
  • 在适用的情况下,将nSET/nRESET输入连接到POR。
  • 配置的3位查找表与所需模式的灰色码状态的顺序从000…100年……。
表1。格雷码的顺序

格雷码

Bit2

Bit1

Bit0

0

0

0

0

0

1

0

1

1

0

1

0

1

1

0

1

1

1

1

0

1

1

0

0

管延迟

图7。管延迟属性

管道延迟是一串带有三个输出的dff。我们可以使用它作为一个移位寄存器并切换输入,这样我们就可以循环状态{00,01,11和10}。3位移位寄存器的状态看起来像{000,001,011,111,110,100}。为状态机使用移位寄存器也可以避免像灰色代码这样的过渡故障,但所需的比特数与模式中的比特数(2x)成线性比例。

  • 如图9所示进行矩阵连接。
  • 配置在2位查找表中,按照移位寄存器状态00…到…10的顺序,使用所需的模式。

GreenPAK - 64位水平ASM

在接下来的两个设计中,我们将研究如何使用ASM来保存输出模式。“水平”指的是按行存储模式,“垂直”指的是按列存储模式。行是状态,列是输出。水平设计滚动到一行的输出,然后移动到下一行。

图8。矩阵1

在图7中,每个ASM输出被管道延迟窗口化1个周期,如前一节中配置的那样。PGEN每8个时钟产生一个脉冲,用于状态之间的转换。

GreenPAK - 64位垂直ASM

在“垂直”ASM中,设计滚动一列的状态,然后移动到下一列。在图9中,每个ASM输出被Gray Code DFFs加窗8个时钟周期。DFF3每个周期产生一个脉冲,用于状态之间的转换。

图9。矩阵0
图10。GreenPAK5 ASM水平模式发生器

结论

在GreenPAK中,有许多方法可以生成序列模式。上面的基本形式提供了一个起点,每个形式都有其优缺点。虽然PGEN是最简单的,产生16位,但它仅在GreenPAK4和GreenPAK5中可用。FSM和SPI缓冲区是一个很好的替代方案,但仅在GreenPAK4中可用,限制为一个或两个字节长度,并需要额外的输入。如果模式很短,只需在环结构中使用DFFs并设置初始化值。

还有一些状态机替代方案使用DFF和LUT来创建可以帮助您生成模式的代码。在这篇应用笔记中,我们介绍了使用二进制和灰色代码DFF或寄存器移位管道延迟以特定顺序遍历状态。二进制和灰色代码产生2^x模式位,管道延迟产生2*x模式位,其中x是所使用的DFF的数量。灰色代码和管道延迟消除了使用二进制计数DFF可能发生的输出故障。

选择最适合可用电路资源和输出所需数据长度的形式。几乎任何块都可以存储数据,有多种方式发送数据,因为本应用说明只涵盖最简单的形式。通过添加更多DFF操作或扩展,优化1或0的长运行长度,甚至重用组件以最大化模式存储。

图11。GreenPAK5 ASM垂直模式发生器