TI论坛
直播中

丁浩

7年用户 229经验值
私信 关注
[问答]

HPI访问时HRDY有时候长常高的解决办法?

我是用的FPGA做为Host,但是在写的过程中,偶尔出现HRDY老是为高电平,导致主机端总线访问异常,需要重新上电才能恢复HPI的正操作。
  因为FPGA在HCS拉低时要检测HRDY,HRDY一直为高,FPGA就死在那儿了,如果HRDY这种偶尔出现高电平的情况避免不了,有没有办法通过FPGA控制让DSP的HRDY恢复正常(不重新上电),或者是DSP自己控制HRDY恢复正常。
   FPGA主要流程1、是先初始化HPIC一次,地址为自动增加的方式;2、再写HPIA一次,在写HPID;3、检测HPID是否写了5次,写满了5次就重新写一次HPIA,循环步骤2,否者继续写HPID写到5次

回帖(5)

余少虹

2020-7-30 06:48:44
用的是哪款芯片? 写 时序是否满足数据手册上HPI时序的spec?
举报

丁浩

2020-7-30 06:59:09
引用: vuywsdfwf 发表于 2020-7-30 06:48
用的是哪款芯片? 写 时序是否满足数据手册上HPI时序的spec?

芯片是TMS320C6713B,系统时钟用的50M,写时序是按照手册上写的,能够写进去,大多数时候是正常的,但是偶尔会出现HRDY一直为高,这种情况一出现就得重新上电。
参看了“HPI接口在TI SOC的应用详解”中提到这种情况有三种:
A.  HPI的高低半字访问的顺序访问被其它 HPI访问打断:在复用模式下,一个完整的 HPI访问是由高低半字
两次访问组成,需要严格保证,否则会破坏 HPI的状态机,从而导致不可预期的后果。
B.  主机通过 HPI访问了 DSP内部的保留空间,或者破坏了 DSP的程序,数据空间,导致 DSP运行异常,进
而导致 HPI状态机异常。
C.  主机的 HSTROBE 信号有毛刺,或者信号完整性不好,如下图中 HCS(些案例 HSTROBE 是由 HCS 控
制)的上升沿的回勾,都会导致 HPI 误判断为主机的新的访问的开始,从而打乱了高低半字的访问顺序
要求,导致 HPI状态机的错乱。”
有没有办法让DSP不重新上电可以让HPI复位重新工作,我看了“TMS320C6713B的handbook”和“TMS320C6000 DSP
Host Port Interface (HPI) Reference Guide”都没找到相关的说明,是不是这种情况只能够重新上电?
时序如下:
写HPIA时序(1、每个信号的变化间隔至少为160ns,系统时钟为50M,已经满足了时序图上的4P要求;2、HAS=1,HDS2=1,HPIC的HWOB=1)

写HPIA后以地址自增模式连续写HPID:

整个流程是1、先初始HPIC,2、再写HPIA和HPID,3写满要求的HPID后,重复步骤2
 
 
举报

丁浩

2020-7-30 07:07:38
引用: vuywsdfwf 发表于 2020-7-30 06:48
用的是哪款芯片? 写 时序是否满足数据手册上HPI时序的spec?

             芯片是TMS320C6713B,系统时钟用的50M,写时序是按照手册上写的,能够写进去,大多数时候是正常的,但是偶尔会出现HRDY一直为高,这种情况一出现就得重新上电。
             参看了“HPI接口在TI SOC的应用详解”中提到这种情况有三种:
    A.  HPI的高低半字访问的顺序访问被其它 HPI访问打断:在复用模式下,一个完整的 HPI访问是由高低半字
          两次访问组成,需要严格保证,否则会破坏 HPI的状态机,从而导致不可预期的后果。
    B.  主机通过 HPI访问了 DSP内部的保留空间,或者破坏了 DSP的程序,数据空间,导致 DSP运行异常,进
         而导致 HPI状态机异常。
    C.  主机的 HSTROBE 信号有毛刺,或者信号完整性不好,如下图中 HCS(些案例 HSTROBE 是由 HCS 控
         制)的上升沿的回勾,都会导致 HPI 误判断为主机的新的访问的开始,从而打乱了高低半字的访问顺序
        要求,导致 HPI状态机的错乱。”
                 如果假设是又其中的某一种造成的,有没有办法让DSP不重新上电可以让HPI复位重新工作,但我看了“TMS320C6713B的handbook”和“TMS320C6000 DSP Host Port Interface (HPI) Reference Guide”都没找到相关的说明,是不是这种情况只能够重新上电?
                 具体时序如下:
           写HPIA时序(1、每个信号的变化间隔至少为160ns,系统时钟为50M,已经满足了时序图上的4P要求;2、HAS=1,HDS2=1,HPIC的HWOB=1)

          写HPIA后以地址自增模式连续写HPID:

          整个流程是1、先初始HPIC,2、再写HPIA和HPID,3写满要求的HPID后,重复步骤2
 
举报

余少虹

2020-7-30 07:15:59
引用: jdjfuwegs 发表于 2020-7-30 07:07
             芯片是TMS320C6713B,系统时钟用的50M,写时序是按照手册上写的,能够写进去,大多数时候是正常的,但是偶尔会出现HRDY一直为高,这种情况一出现就得重新上电。
             参看了“HPI接口在TI SOC的应用详解”中提到这种情况有三种:
    A.  HPI的高低半字访问的顺序访问被其 ...

如果出现HRDY一直为高的状态, 可以考虑用FPGA来RESET DSP.
另外, 要尽量避免上述三种情况的发生, 都可以通过软件或者硬件上避免
举报

更多回帖

发帖
×
20
完善资料,
赚取积分