跳到主要内容

无法使SLG46880 ASM改变状态

GreenPAK和GreenFET

6个月前

发布的里卡多55分 6个回答
0的问题

我是GreenPAK的新手,我试图使用SLG46880 ASM,但我似乎不能获得甚至一个非常简单的ASM来改变模拟器中的状态。

我已经看了所有的示例应用程序笔记和预构建项目(.gp6),但我不能看到任何实际使用SLG46880中使用的较新的ASM类型。

作为一个测试项目,我只有三个状态(S0开始,S1运行,S2结束)和两个GPI输入(GP0和GP1)。我已经设置了状态转换,这样GP0应该从S0过渡到S1, GP1应该从S1过渡到S2。我对GP0施加一个脉冲,然后在延迟后对GP1施加一个脉冲。

我看不到在模拟器中直接监视ASM状态的方法,所以我使用ASM OUTPUT0宏单元来进行监视。当我模拟时,OUTPUT0显示我在S0,它只是停留在那里。

我哪里做错了?

.gp6文件被附加,重命名为txt文件。

谢谢

里卡多

附件 大小
重命名为Basic.gp6 121.99 KB

6个月前

oleh pokalchuk

你好,里卡多,

谢谢你的申诉,我需要对这种行为做进一步的调查。为了快速修复,你可以通过CNT/DLY块连接ASM nRESET输入POR信号(配置为上升边缘延迟)。这将创建一个从POR ->上升边缘延迟-> ASM nRESET输入的信号路径,以便在POR到来后重置ASM。或者你可以将ASM nRESET输入连接到一个引脚,这个引脚连接到电压源。这背后的想法是在POR到来后重置ASM,因此调整电压源相应

最好的问候,

Oleh pokalchuk Sapiha

6个月前

里卡多 55分

嗨Oleh pokalchuk,

我尝试了你的建议,从引脚GPI2用电压源驱动ASM nRESET。现在nRESET从GND开始,并在10ms后切换到VDD。

这在模拟中产生了不同,因为GPI0上的第一个脉冲的上升边缘现在将状态从S0移动到S1,但是GPI1上的第二个脉冲并没有将状态从S1移动到S2。

GPI0,1,2上的所有边之间有10ms的间隔。

在ASM编辑器中,状态和状态转换都显示正确。

我使用ASM OUTPUT0块输出来监视状态。我知道这些都在工作,可以暂时把它们分配给S0和S1,它们按预期移动。但是当块输出被分配给S2时,我从来没有看到任何高。

我已经启用了ASM OUTPUT0的参数探测,它显示从S0到S1的变化,但再次不是从S1到S2。这个探测似乎只有一个低的和高的级别,我有点期望在这里看到一个州名。我不确定这个两级信号是如何显示多个状态的。

你还有其他建议吗?

谢谢,

里卡多

6个月前

oleh pokalchuk

你好,里卡多,

感谢您的反馈,

SLG46880中的ASM仿真模型工作不正确,这就是为什么您可能会看到不希望看到的行为。我们的建模团队被告知了这个问题,它将在GreenPAK Designer的下一个修订中得到解决。

关于只能看到ASM当前状态的LOW和HIGH级别。这是不准确的,这也将在GreenPAK Designer的下一个修订中被修正。然而,如果有超过2个不同的状态(例如3、4、5……),您将看到在图中正确显示状态号。

最好的问候,

Oleh pokalchuk Sapiha

6个月前

里卡多 55分

嗨Oleh pokalchuk,

谢谢你的支持。由于时间限制,我现在可能会选择不同的方向,但我会密切关注GreenPAK的其他项目。

致以最亲切的问候

里卡多

6个月前

oleh pokalchuk

你好,里卡多,

对于临时解决方案,您可以尝试将VDD1和VDD2更改为3.0V, ASM应该会开始正常工作。

很抱歉给您带来不便。

最好的问候,

Oleh pokalchuk Sapiha

6个月前

Nichols19 5分

谢谢分享,我在这里发现了很多有趣的信息。一个非常好的帖子,非常感谢和有帮助。