参考文献
有关文件及软件,请浏览:
//www.xmece.com/亚博电竞菠菜products/greenpak
下载我们的免费GreenPAK设计软件[1],打开。gp文件[2],并使用GreenPAK开发工具[3]在几分钟内将设计冻结到您自己的定制IC中。
yabo国际娱乐Dialog Semiconductor提供了一个完整的应用笔记[4]库,包括设计示例以及Dialog IC内的功能和模块的说明。
- GreenPAK设计软件,软件下载和用户指南,Dialog Semiconductoryabo国际娱乐
- AN-1126 ASM到同步转换,GreenPak设计文件,对话半导体yabo国际娱乐
- GreenPAK开发工具, GreenPAK开发工具网页,Dialog半导体yabo国际娱乐
- GreenPAK应用笔记,GreenPak应用笔记网页,对话框半导体yabo国际娱乐
- SLG46531对话框数据表,半导体yabo国际娱乐
作者:Yurii Shchebel
介绍
状态机经常被用来制造复杂的设备。它们有助于确定信号序列,并突出参数如何在状态转换等。
两种可能的状态机类型是:同步和异步。
异步状态机(又名asm,在GreenPAK中找到)在所需条件(高电平信号)出现在所需输入时执行从一种状态到另一种状态的转换。
如果满足转换条件,同步状态机(SSM)会在传入时钟的边缘进行转换。
同步状态机实现适用于某些设计。
本应用程序说明描述了如何将GreenPAK异步状态机转换为同步状态机。
同步状态机设计
因为每个状态机都是唯一的,所以很难定义将ASM转换为SSM的通用方法。
在简单状态图的情况下(当不同的转换有不同的条件,并且每个状态只使用一次时),只需添加DFFs就足够了(参见图1)。
在复杂状态图的情况下,仅仅添加DFFs是不够的,因为一些状态可能会被多次使用,并且它们应该根据需要周期性地重置。
由于GreenPAK中的ASM在高级(而不是在边缘)上进行转换,因此似乎最简单的解决方案是使用边缘检测器为每个转换条件生成带有逻辑与门的时钟信号(参见图2)。
|
|
然而,因为边缘检测器的脉冲宽度可能大于ASM过渡时间,这个解决方案不能保证ASM只会在一个时钟信号的边缘上进行一次过渡。这种电路的可靠性是基于传播延迟差(在ASM过渡和导致过渡的块:边缘检测器之间),这取决于芯片之间的VDD和温度。所有这些都使得这种解决方案不可靠,也不推荐使用。
相反,我们可以尝试监视ASM输出Out0..out7以捕获转换事件并启用/禁用进一步的转换。不幸的是,这也不是最好的解决方案,因为某些块可能太慢以防止下一次转换。在这种情况下,传播延迟差异问题也会发生。
这意味着电路应该清楚地知道ASM当前处于何种状态,以及过渡将把它带到何种状态。只有在这种情况下SSM才会稳定可靠。
为此,应该使用内部块创建另一个状态机。
一方面,为ASM创建一个额外的状态机来成为SSM似乎是不合适的;另一方面,额外的状态机将更简单,并且将有64位可用的ASM RAM。
在这种情况下,对于每个ASM转换特定块,应添加图3所示的电路元件。
|
|
如果定义的(由2-L0连接)条件被断言,DFF3在时钟信号上升沿上提供从上一个状态到所需状态的过渡。
如果有必要,DFF3可以在ASM转换(适当的序列是通过添加小延迟- Filter0提供的)之后为其他“转换dff”生成(使用DFF4)复位。它也可以重置自己和其他“过渡DFFs”(连接到3-L4)。
该电路是通用的,并且每个过渡都不需要所有元素,因此可以简化它;如果需要。
作为一个例子,选择了状态图(参见图6)。只有两个点上的一些dff将被重置:stat0 -> State1 (DFF3, DFF4, DFF5)和State2 -> State3 (DFF4, DFF6, DFF7)转换。这样的组合确保在需要时重置除DFF1之外的所有dff(因为此转换只能使用一次)。
GreenPAK设计电路如图7所示,其波形如图5所示,其中:
D0 - 引脚#10(ASM复位)
D1 - PIN#18(条件1)
D2 - PIN#19(条件2)
D3 - PIN#17(条件3)
D4 -引脚#20 (ck)
D5 -引脚#3 (out0)
D6 - PIN#4(OUT1)
D7 -引脚#5 (out2)
D8 -引脚#6 (out3)
D9 -引脚#7 (out4)
OUT0 . .OUT7输出反映当前状态(参见ASM RAM -图4)。
结论
结果表明,通过在GreenPak IC内使用额外的内部块,可以将其异步状态机转换为可靠的同步状态机设计。