SLASEU7 March 2023 AFE781H1 , AFE881H1
PRODUCTION DATA
To enable robust and error-free communicate on the HART bus, the events listed in Table 7-9 must be detected from the AFEx81H1 by the system controller in a timely manner. If the IRQ signal is not directly connected to the system controller, poll the corresponding status flags. In UART mode, the automatic dequeue of FIFO_H2U simplifies event management significantly, and not all events must be translated to IRQs.
When using the HART modem with the IRQ, the IRQ features help control communication in both directions. Enable IRQ functionality by following these steps:
AFEx81H1HART STATE | EVENT | MODEM_STATUS FLAG | ASSERTION METHOD(1) | ACTION |
---|---|---|---|---|
Receive | RTS deasserted | CTS_DEASSERT | Toggle RTS pin high or set MODEM_CFG.RTS = 0. | Demodulator enabled and ready to receive HART data. |
Carrier detect asserted | CD_ASSERT | Demodulator detects the HART carrier signal of valid amplitude. | Expect to receive HART data. Set desired FIFO_H2U level trigger threshold. | |
FIFO_H2U level threshold trigger | FIFO_H2U_LEVEL_FLAG | Automatic enqueue of FIFO_H2U by HART demodulator. | Dequeue data
from FIFO_H2U when level exceeds the set threshold. Prevent FIFO_H2U from being full to avoid the loss of incoming data. |
|
FIFO_H2U full | FIFO_H2U_FULL_FLAG | Automatic enqueue of FIFO_H2U by HART demodulator. System controller has not dequeued FIFO_H2U. | Critical flag.
Dequeue FIFO_H2U immediately to avoid the loss of incoming data. |
|
Carrier detect deasserted | CD_DEASSERT | Demodulator stops detecting the HART carrier signal of valid amplitude. | Dequeue
remaining data from FIFO_H2U. Monitor the empty flag to make sure that all data have been received. |
|
FIFO_H2U empty | FIFO_H2U_EMPTY_FLAG | Dequeue of FIFO_H2U by system controller. | If using UART, wait to make sure the last character is received on UARTOUT. | |
Transmit | RTS asserted | NA | Toggle RTS pin low or write set MODEM_CFG.RTS = 1. |
Wait for clear-to-send confirmation flag. |
Clear to send (CTS) | CTS_ASSERT | RTS asserted and CD deasserted. | Modulator enabled. Device starts modulating the carrier on MOD_OUT. Set desired FIFO_U2H level trigger threshold. Enqueue data into FIFO_U2H. Modulator automatically dequeues FIFO_U2H and transmits the HART data. | |
FIFO_U2H level threshold trigger | FIFO_U2H_LEVEL_FLAG | Automatic dequeue of FIFO_U2H by HART modulator. | Enqueue new
data into FIFO_U2H when the level drops below the set threshold. Prevent FIFO_U2H from being empty to avoid a gap in transmission. |
|
FIFO_U2H full | FIFO_U2H_FULL_FLAG | System controller enqueue of the new data into FIFO_U2H. | Critical
flag. Stop enqueue of data into FIFO_U2H immediately to avoid loss of HART data. |
|
FIFO_U2H empty | FIFO_U2H_EMPTY_FLAG | Automatic dequeue of FIFO_U2H by HART modulator. System controller has not enqueued new data into FIFO_U2H. | Critical flag
in the middle of the data packet. Enqueue new data into FIFO_U2H immediately to avoid a gap in transmission. When the last character is dequeued from FIFO_U2H, wait until the character is fully transmitted on MOD_OUT before deasserting RTS. |