各位IT大神:
我近日在使用C6678的项目上遇到这样的问题:由于C6678功耗较高,我们想在不使用某个外设通信时,把该外设关闭。在需要通信时再打开,以降低功耗。
现在是:比如我关闭PCIE外设,在参考相关文档,使用PSC寄存器成功关闭PCIE外设后,电流确实也降低了0.1A,查看相应PSC寄存也确实设置正确。然后我又需要PCIE通信了,我同样使用PSC寄存器设置,设置成功后,电流也上升0.1A,PSC相应的寄存器也设置正确。但是这时PCIE通信无反应了。我以为是需要重新再初始化PCIE接口,但我重新调用了初始化PCIE的函数后,PCIE通信还是无反应。具体说就是异步和EDMA都不对。对端做EP的FPGA都无反应。
我想请问下各位大神,当通过PSC寄存器关闭某个外设后,再通过PSC寄存器打开某个外设(包括上电,时钟)。这时还需要进行什么操作,原来通信正常的外设才能继续通信正常,继续正常工作?
user3604554:
怎么没有TI 的大神回复啊,自己顶下!别沉了!期待大神来解惑!
Andy Yin1:
本地需要重新上电并重新初始化所有相关的模块,把对端FPGA侧也下电重新初始化试试。
user3604554:
回复 Andy Yin1:
Andy Yin1
你好,那是说通过PSC寄存器关闭的外设,需要重新开启使用都需要重新上电进行初始化后才能使用吗?
如果是这样的话,那这关闭外设降功耗的功能感觉就只能应用于某个外设始终不应用的场景,那些在设备工作过程中控制外设关闭和启用的场景就无效了。
zy979228369:
您好,能把您关于psc配置部分的代码发出来共享一下吗?最近在用6678做项目,时间很急,但我之前没有相关的经验,谢谢。邮箱zy979228369@hotmail.com