GreenPAK和GreenFET
6个月前
发布的里卡多55分 6个回答我是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,
我尝试了你的建议,从引脚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个月前
你好,里卡多,
对于临时解决方案,您可以尝试将VDD1和VDD2更改为3.0V, ASM应该会开始正常工作。
很抱歉给您带来不便。
最好的问候,
Oleh pokalchuk Sapiha
6个月前
你好,里卡多,
谢谢你的申诉,我需要对这种行为做进一步的调查。为了快速修复,你可以通过CNT/DLY块连接ASM nRESET输入POR信号(配置为上升边缘延迟)。这将创建一个从POR ->上升边缘延迟-> ASM nRESET输入的信号路径,以便在POR到来后重置ASM。或者你可以将ASM nRESET输入连接到一个引脚,这个引脚连接到电压源。这背后的想法是在POR到来后重置ASM,因此调整电压源相应
最好的问候,
Oleh pokalchuk Sapiha