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.

C6472 HPI

I am testing the HPI on the C6472 and have run into a problem. I have checked and double checked the documents and pinouts of my devices carefully and I believe everything is as it should be. The problem is very similar to another forum post titled "C6747 HPI".

I have the HPI module of the DSP connected to an FPGA to control all timing and signals. I can write a value to the HPIAR/HPIAW registers and read them back, as well as read the HPIC register, trigger interupts, and set other features of the HPIC.

As in the other post, I cannot read and write to the internal memory, all reads from the data register return 0. It looks as though the HPI DMA is not fetching or writing the contents of this register. I have the HPI_EN pin set (or it wouldn't work), and HPI boot mode set. Utilizing chipscope I can see the HRDY pin is always low (ready) except during a data register read during which it momentarily goes high as if it is retrieving the data, but nothing is returned. I can see all my timing in chipscope is correct.

I'm having my doubts about it being a hardware fault of any kind as my firmware gets the same result on three of our DSP boards we developed. Any ideas?

Thanks,

Charles

  • Make sure you're writing a WORD address to HPIAR/W, i.e. the "normal" address (byte address) needs to be right-shifted by 2.  What value are you writing into the address register and where you are looking in memory (and how).

  • Hi Charles,

    I posted the entry for the C6747 HPI.  It does sound like we have the same problem.  I have asked TI support for the source code to the HPI bootload program so I can look at that to see how that works and find out what I'm not doing correctly in my HPI configuration steps.  We did a test that may be worthwhile for you to try.  We booted the DSP in HPI bootload mode, then had the host device step through code to access DSP memory.  In this scenario we can read DSP internal memory.  In this case it was the HPI rev. ID.  So when the DSP is running its HPI bootload program, our host device can access DSP memory.  When the DSP is running our application code, we have the problem you described, that all memory reads return 0 and the HPI RDY signal is not behaving as expected.

    I'll try and post here again if we make any progress, otherwise check my post forum.

    Mike

  • Hi Brad,

    Thank you for your response, sorry it took some time to get back to you. I am new-ish to DSP's and did not realize there was a bit-shift necassary in this case... after applying this to my program everything worked as expeceted.

    Thanks for your help,

    Charles

  • Hello,

    Can you provide details on how exactly you fixed it? I see the same problem.

    Regards,

    Walker