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.

AM2434: am2434

Part Number: AM2434
Other Parts Discussed in Thread: SYSCONFIG

Tool/software:

Hi all,

I'm working with the AM2434 UART and attempting to manage both the TX and RX FIFOs using polling, triggered by a periodic interrupt. I'm now trying to enable and receive the RX timeout interrupt.

In SysConfig, I selected "Interrupt Mode" and made the following changes:

UART_hwregs[uart_id]->EFR2 |= 0x40; // Enable RX timeout
UART_hwregs[uart_id]->IER_DLH = 5; // Enable LINE_STS_IT
UART_hwregs[uart_id]->TIMEOUTL = 0;
UART_hwregs[uart_id]->TIMEOUTH = 0;

However, I’m not receiving the expected interrupt.
Could you please advise what I might be missing or how to fix this?

Best regards,
Baruch

  • Hi Baruch,

    I'm working with the AM2434 UART and attempting to manage both the TX and RX FIFOs using polling, triggered by a periodic interrupt. I'm now trying to enable and receive the RX timeout interrupt.

    I would need a bit of context on this e2e.

    Is it just that you are trying to forcefully generate the rx timeout interrupt and see if its generated or not?

    Respectfully,

    Vaibhav

  • Dear Vaibhav,

    I am currently exploring the use of the UART idle time interrupt to significantly reduce the delay between timer cycles—down to just a few microseconds—when a message arrives. This would allow me to handle critical data with minimal latency.

    This feature is part of a broader project, and if successful, it could eliminate the need for a CPLD to generate a digital one-shot pulse, thereby simplifying the design and reducing hardware requirements.

    Best regards,
    Baruch

  • Hi Baruch,

    Thanks for the explanation.

    I am currently exploring the use of the UART idle time interrupt to significantly reduce the delay between timer cycles

    I was not able to find "UART idle time interrupt" name as such from the list of interrupts I am seeing. If you can help me point to that, it would be helpful.

    Currently, I am assuming you are setting bits 2 and 0 as 1 in the below register:

    And bit 6 to 1 in the below register:

    Can you please let me know when you are setting these bits?

    Just before the UART_read API is called or after it?

    Moreover, to verify if you are getting the RX Timeout Interrupt are you reading the register which is UART_IIR_UART? The bits 5-1 of the register 0280 0008h(let us suppose for UART0) should be of value 6h.

    What is the value which you see?

    Apart from this please answer my above query for me to test a similar implementation on my setup and reproduce this.

    Respectfully,

    Vaibhav