我的产品采用HOST 通过HPI读取C5502的内部RAM,读取间隔为4000HZ,每次读取256字节,HPI为8位复用模式,按推荐电路设计,此产品在常温(>10摄氏度)下正常工作,但在低温(<7摄氏度)下HPI死机,低温测量 HRDY 信号为低电平无法变高,但此情况下C5502内部程序能正常运行。此设计是采用HPI BOOTLOAD,运行2个DMA,运行时唯一操作HPI 为写HPIC的BIT3(HINT), 还有个现象是如果停止DSP内部程序运行,则低温下HDRY 信号不会始终为低。HOST 侧总线在低温下正常工作(HPI 和HOST的网口公用总线,网口正常),
请问在什么情况下 HDRY 始终为低?
Tony Tang:
HRDY始终为低(不ready)一般来说是因为时序问题导致HPI状态机混乱。比如HPI要求高,低字节的访问顺序被打乱等。鉴于你的问题在低温下就可复现,建议:
1. 测量一下低温下的HPI访问时序。最好是抓一下出问题的那个时序波形。
2. 关注一下HCS上是否有毛刺,这需要频率高的示波器才可能捕捉到窄的毛剌。
fuyi fuyi:
回复 Tony Tang:
谢谢回答
还有个现象是如果停止DSP内部程序运行,则低温下HDRY 信号不会始终为低。
HPI DMA 和DSP内部程序运行的关系是怎样的?有没有详细点的说明.
另外请问HPI 的时钟是什么?是否和SYSCLK1,SYSCLK2,SYSCLK3 有关?
Tony Tang:
回复 fuyi fuyi:
HPI时钟SYSCLK1,在手册上3.9.2.2。两个访问之间的间隔必须>2 SYSCLK1周期。
HPI DMA优先级没有DSP高,如果DSP CPU与HPI同时访问同一内存单元,则DSP CPU优先。