Dialog/Silego推荐的方法是什么,以创建一个信号,在一个特定的持续时间(例如,2小时)后,在芯片上电?
在如此长的时间内,我们将两个CNT/DLY块级联起来,其中第一个组件配置为Counter,并用作第二个组件的时钟,而第二个组件配置为Delay块。我们尝试在DLY IN端口上使用POR,但这导致信号马上变高。似乎一旦POR完成(POR变高),Delay块就会对值进行采样,从而最终得到初始值。
似乎工作的解决方案是使用DFF与POR在nRESET上设置初始极性为低。DFF的时钟来自于第一个计数器使用的相同OSC0/64。这是产生延迟正脉冲的可靠方法吗?你有更好的方法来完成这个简单的任务吗?
谢谢,非常感谢您的帮助!
设备:
设备数量:
SLG46537
你好,亚瑟,
感谢您在我们的论坛发帖!我们会尽我们所能提供帮助。您是正确的,要在通电时为信号创建一个长延迟,解决方案是将计数器块与延迟块级联,并使用POR信号设置输入延迟。通常情况下,在启动时,DFF不需要在Delay块上维持一个低值,尽管您的DFF解决方案应该能够正常工作。
我已经从您所附的PDF中重新创建了设置,但我没有注意到您在GreenPAK设计中所经历的相同行为。根据PDF中的图像,GreenPAK部件号看起来像SLG4653X系列,这是正确的吗?
如果您能够提供关于您的设置的进一步信息,我可以继续尝试重新创建您的设计的行为。具体地说:
1.在加入DFF之前,你的设计是什么样的?
2.这是在模拟芯片上还是在编程芯片上?
3.您的VDD需要多长时间才能达到最大值?
我们推荐的最佳实践是将计数器的“边缘选择”值改为“高级别重置”,但我认为仍将其设置为“上升”不会妨碍你的设计。
请让我知道我可以如何进一步帮助!
附件PDF中的设置工作正常——它断言一个高信号大约10秒后启动。但它感觉有点“黑客”,因为它依赖于25kHz/64时钟启动延迟。
澄清:
1.该问题的最初设计(在添加DFF之前)是将POR直接送入DLY IN。请看新附上的图片。
2.这个问题出现在一个模拟芯片上,所以我没有继续编程。我验证了基于dff的设计在仿真芯片和编程芯片上都是可行的。
3.为了进行仿真,我使用了GreenPAK高级开发平台,VDD是由机载PMIC提供的。
给定POR序列的时序,DFF方法是实现这一功能的可靠方法吗?是否有更好的实现?
DFF方法是解决错误延迟启动行为的可靠方法,但我可以理解为什么您觉得添加DFF感觉有点hackish。通常,在初始化Delay块之前不会解析POR组件。附件是数据表的PDF页,显示了POR信号的操作顺序;POR_CORE出现在POR_OUT之前。
您看到的问题可能是由仿真引起的,而不是芯片。当模拟器与GreenPAK一起使用时,它将在配置矩阵内的连接之前启动GreenPAK。这可能导致POR信号在DLY0块输入之前被解释。如果你有备用芯片,那就值得一试,看看这个问题在编程芯片上是否依然存在。
如果这种设计所面临的问题真的取决于POR的时间和Delay块的初始化,那么可以使用其他方法来延迟或取消POR信号。一些替代DFF的选择,你可能想尝试:
1.使用Filter块来解除POR信号。
2.使用P DLY块添加两个边缘延迟。
这两种想法都不依赖于内部振荡器,但需要用您的设计进行测试,以确认它们如预期的那样工作。
感谢Alex的详尽回答!
我以前确实遇到过POR序列,这部分的混淆是因为似乎应该在POR被断言为高之前对DLY块进行初始化。您关于仿真模式的回答非常有意义,非常感谢!
我尝试了一个pdly块实现设计,它的工作如广告。再次感谢!