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.

NHET used for data output

I have an unusual usage for NHET module: I want to use it as a semi independant transfert port.  Since it runs parallel to the core and can be fed RAM data by the HTU, it can greatly offload the CPU.

However I foresee this limitation: MCMP, ECMP, SHFT all seem to allow resolving of only one pin state at the time. That limits the bandwidth to VCLK2 bits/sec, no matter how many NHET pins used for output since you need more X times more instructions to output X times more bits at the start of next loop(not to mention the loop period losses).

The question is: Is it possible to assign multiple pins state with the use of only one instruction (as a write to the GIODOUT register allow 8 pins state change at once)?

My own answer would be no, but I'd like TI advice on that...

Regards,

Frederic P.

 

  • Hello Fred,

    unfortunately it's not possible to control the pin states of several pins with a single NHET instruction without introducing a very complex NHET program.

    Have you considered using the MIBSPI5 parallel interface to get more bandwidth? Another option could be to use the RTP in Direct Data Mode to send data. A third one could be to bit-bang the GIO port or the NHET port with the DMA, although this would mean that you have to set up the right data structure in memory representing also the clock (if it should be a synchronous transfer) and trigger the DMA transfers with a timer. There might be a small jitter introduced with not being able to guarantee 100% the data transfer time with the DMA due to other bus or DMA loading. But the system might be able to cope with it.

    Of course there is a restriction depending on what package (TQFP or BGA) you are using in your system regarding the availability of different modules. Without knowing more about your use case, it's difficult to provide the best solution.

    Regards,

    Frank

  • Hi Frank,

    We want to stick to the TQFP package.  The objective is to achieve the greatest output bandwitdth with the less CPU usage.

    Your third option using the DMA was the next on my list.

    Thanks,

    Frederic