解决办法:在硬件设计之初,一定要利用HRDY硬件握手信号[2][3]。虽然有的芯片HPIC寄存器提供了HRDY软件握手方式,只能做为弥补硬件设计之初遗漏HRDY硬件握手信号的权宜之计,软件轮循HRDY的办法会带来额外的开销,降低HPI总线的吞吐率,增加主机软件实现的复杂度。而且有的芯片HPI不支持HRDY软件查询方法,只能通过硬件HRDY保证数据的有效性。
6.3 HRDY常高
有的系统在长时间运行中偶尔出现HRDY常高,导致主机端总线访问异常,需要重新上电才能恢复HPI的正常操作。这种故障是由于HPI状态机出现异常。
从实际故障定位中总结出以下几点原因:
A. HPI的高低半字访问的顺序访问被其它HPI访问打断:在复用模式下,一个完整的HPI访问是由高低半字两次访问组成,需要严格保证,否则会破坏HPI的状态机,从而导致不可预期的后果。
B. 主机通过HPI访问了DSP内部的保留空间,或者破坏了DSP的程序,数据空间,导致DSP运行异常,进而导致HPI状态机异常。
C. 主机的HSTROBE信号有毛刺,或者信号完整性不好,如下图中HCS(些案例HSTROBE是由HCS控制)的上升沿的回勾,都会导致HPI误判断为主机的新的访问的开始,从而打乱了高低半字的访问顺序要求,导致HPI状态机的错乱。

HSTROBE信号
7. 总结
HPI是一种简单的异步接口,只要设计中满足了时序要求,即可稳定工作。在开发当中遇到数据读写不正确,从HSTROBE信号入手检查与之相关的信号的时序关系,便可以找出问题原因。另外,信号完整性是任何系统稳定工作的前提。
关于特定芯片上HPI接口的特有功能本文没有针对讨论,如C6727的字地址模式和字节地址模式可通过HPIC配置;C6727在HPI启动后ROM bootloader将HPI关闭,需要软件重新使能才能使用等;以及不同芯片的HPI启动模式下的跳转方式不同,请参考相应芯片的HPI手册及bootloader应用手册。
《电子设计技术》网站版权所有,谢绝转载
??
??
??
打开微信“扫一扫”,打开网页后点击屏幕右上角分享按钮
??
??
