This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

TMS320DM642AZDK6 HPI口通信异常问题征寻



我在使用TMS320DM642AZDK6的HPI接口与其他芯片做数据交互时,TMS320DM642AZDK6的HPI口在工作一段时间(半小时至4小时左右)会发生通信异常的情况,此时TMS320DM642AZDK6的其他程序都可以正常运行,但HPIC, HPIA,HPI-TRCTRL的寄存器数据处于不可写状态,状态寄存器显示0000 0001,并无法修改。

1. 请帮忙分析出现此问题的原因,是哪些异常会导致HPI接口的寄存器不可控。

2. 请帮忙建议使用哪种方式,可以快速复位TMS320DM642AZDK6的HPI接口,以保证程序快速恢复运行?

急盼回复!

  • HPI通信出现异常的情况多出现在正在进行HPI数据交互时,有其他中断产生后,HPI接口的数据交互出错。

  • bin fu 说:
    HPI通信出现异常的情况多出现在正在进行HPI数据交互时,有其他中断产生后,HPI接口的数据交互出错。

    是上位机有中断时还是DSP有中断时?

    我估计是上位机吧,在上位机的软件中对HPI操作的前后加后中断的关开操作。

    HPI的操作有一个要求是两个半字即HWIL要先低后高,且两个操作都要完成。会不会是操作了前半个(HWIL=0)后,来个中断,在中断里又开始了一个亲折HPI操作,又置HWIL=0。这样会导致HPI出错的。

  • Tony,非常感谢。

    开始也怀疑是中断开始对HPI的影响,有几个信息再补充一下:1. DM642AZDK6的HPI接口是作为从设备模式,采用主机查询的方式进行相互通信。在通信建立后,我在写两个半字的过程前,关闭了所有的中断,在完成两个操作后,又重新开的中断,所以操作一半的时候是不会有中断出现的。另外,在出现这种异常的情况下,有没有什么办法,能不重启而恢复HPI的控制和传输功能的方式?

  • HPI口没有什么方法来单独复位,所以我想是没有办法来软件恢复的。关键问题还是要找到根源。

    #1. 提供一个HPI接口的原理图,让我了解一下信号之间的时序逻辑。

    #2. 排查一下,HPI的控制信号走线周围有没有干扰源,可能会导致信号的串扰从而导致误动作。

    #3. 是否硬件上用了HRDY?

    #4. 读写方式是自增还是非自增的?

    #5. 能否确认如果主机不开中断,HPI通讯测试一直没有问题?如果是,那么中断里到底做了什么?会对外部什么信号管脚有操作?

    #6. 检查HPI接口信号的信号质量,如过冲是否过大,上升沿是否有回沟/台阶等。

    先想到这么多...

    如果能有波形图就更好了。

  • Tony,

    非常感谢你的信息,我会参照你提供的信息,逐条检测一下。现在主要问题还是不太容易判断引导起HPI接口失效的根源。

    因为出现问题的时间点都是出现在大量采集纸币冠字号信息的过程中,我先参照这些信息,再排查一下。

    同时,是否有比较全面的有关HPI接口使用的文档,我这边也多尝试一下。不排除信号串扰导致,但在进入异常状态后,有没有办法从异常状态跳转出来?

  • Bin,

    你的问题早几天从销售哪边也转到我这里了,我也是让他转告你提供一些这方面的信息。

    如你上面所说主要出现在大量采集图像时,这种条件下可能干扰会比较大,因为马达等这时在全速运转。鉴于这方面的可能性,你可以尝试在主要的控制线上做些措施,比如串上电阻,并上小电容等,看测试结果是否有变化。或者用示波器监测信号线上有没有脉宽小于正常访问宽度的脉冲出现.

    HPI接口的使用主要是时序,时序对了后,访问就是普通的异步接口。

    这是我以前总结的HPI口常见问题及解决思路供你参考:

    http://www.ti.com.cn/cn/lit/an/zhca430/zhca430.pdf