Forum Discussion

Patrik78's avatar
Patrik78
Icon for New Contributor rankNew Contributor
3 years ago

UART IP - waitrequest signal

Hello to everybody,

working with Platform Designer (Quartus 21.1) I'm facing something strange: I'm trying to interface the UART CORE IP with a custom hardware. But I noticed the IP is missing any flowcontrol signals.

So how to understand if the UART has received something, possibly avoid polling technique ?

As far as I know the old dataready signal is now deprecated, and is suggested to use waitrequest signal. But it seems even this signal is not implemented in the standard UART IP.

Trying to connect my custom hardware with UART IP I get this message "Interconnect is inserted between master and slave, because master has waitrequest signal 1 bit wide, but slave is 0 bit wide"

Moreover what if I want to connect directly to a DMA ?

Thanks for your help.

14 Replies

  • Patrik78's avatar
    Patrik78
    Icon for New Contributor rankNew Contributor

    Hello,

    yes I understand the point, and how to handle the UART by interrupt with the NIOS II.

    But regarding the original question, there's no way to connect to a DMA using an handshake technique.

    As DMA is not able to handle IRQ signal, there's no way to make a working connection between UART and DMA.

    Is this correct ?

  • aikeu's avatar
    aikeu
    Icon for Regular Contributor rankRegular Contributor

    Hi Patrik78,


    I think an interrupt request can be used to initiate a request for DMA operation else it will be relying on polling method to perform the DMA operation.


    Thanks.

    Regards,

    Aik Eu


  • aikeu's avatar
    aikeu
    Icon for Regular Contributor rankRegular Contributor

    Hi Patrik78,


    The DMA controller and UART IP can actually work together which does not require an interrupt.

    Communication wise, the DMA has multiple channel, where UART is configured to one of the channel to trigger a specific DMA channel to read or write data

    therefore, no need of interrupt or to disturb the core.

    Polling or interrupt method is only applicable when core (processor) is involved


    Thanks.

    Regards,

    Aik Eu


  • aikeu's avatar
    aikeu
    Icon for Regular Contributor rankRegular Contributor

    Hi Patrik78,


    I will close this thread for now. Do consider create a new thread if there is further question.


    Thanks.

    Regards,

    Aik Eu