芯片采用PCI接口,芯片手册要求,PCLK时钟要在RESET#解复位之前稳定32个周期。
现在有一个场景,首先经过一段正常的上电过程,RESET#已经解复位。 经过一段时间将PCI的复位拉低,同时移除PCLK,保持一段时间后将PCI的复位释放,同时恢复PCLK,这个过程RESET#一直在高电平。
这种行为,会不会给芯片的状态造成异常,影响后面的正常使用?
Shine:
RESET信号上电后给出复位信号后就一直在高电平。如果使用PCI的话,PCLK要求在RESET信号低电平期间保持稳定。如果运行一段时间后再给出RESET信号,那就相当于整个芯片重新复位了。
user3838908:
回复 Shine:
不是这样的。DM642有两个复位,一个RESET#,是主复位,另外一个是PRST#,是PCI的复位。现在的设计是主复位是检测电源的。现在问题是,RESET#已经按照时序正常起来了,符合PCLK稳定的条件。后来主板有一些操作,把PCI的复位PRST#给拉低了,同时移除了PCI的时钟PCLK,经过一段时间PRST#解复位,同时PCI的时钟PCLK恢复。在这个过程中RESET#一直都是高电平的。就想问,主机这样的操作,会不会对DSP的稳定造成影响。DSP还能不能继续正常工作。
Shine:
回复 user3838908:
不影响,在数据手册上有说明。
A hardware reset does not reset the PCI peripheral state machine. The PCI state machine is reset via the
PRST signal. The PRST signal does not affect the DSP.
user3838908:
回复 Shine:
手册上的这一段,我也看到过。但是上面介绍的是PRST对芯片的影响。并没有说明PCLK这种移除又恢复的行为,会不会对芯片的工作状态造成影响。因为我个人觉得PRST#和PCLK在时序上的要求是不一样的。在上电时,也没有对PRST#有什么特殊的要求,但是对PCLK的要求还是比较严格的。所以麻烦确认PCLK的移除又恢复的行为会不会对DSP造成影响
Shine:
回复 user3838908:
请按照数据手册上的要求做,RESET释放之前PCLK保持30个时钟周期,RESET之后还是要继续提供PCLK时钟。
user3838908:
回复 Shine:
不是不想按照数据手册的要求做,而是没法按照数据手册的要求来做。这是TMS320DM642+XIO2001的设备。TMS320DM642的PCLK是XIO2001输出的。只要主机重启,就会复位PERST#,然后XIO2001的PCLK就会消失。RESET#是监控DSP电源的,所以重启期间就一直保持高电平,这就造成了RESET#高电平,而PCLK移除又恢复的情况。不是不想按照时序来做,而是根本就实现不了。
RESET#如果不监控电源,而是转而监控PRST#,或者直接用PRST#替代,这个情况是很复杂,风险是很大的。
官方的DSP的例子就是,RESET#监控主电源,PRST#接到PCI的RST信号。没有官方的数据做支撑,RESET#不敢随便改。