Visible to Intel only — GUID: gtx1661843594310
Ixiasoft
Visible to Intel only — GUID: gtx1661843594310
Ixiasoft
56.2.5. Transmitter Logic
Avalon® memory-mapped host peripherals write the TXFIFO via the Avalon® memory-mapped agent port. The transmit shift register is loaded from the TXFIFO automatically if a serial transmit shift operation is not currently in progress. The transmit shift register directly feeds the TXD output. Data is shifted out to TXD LSB first.
These two registers provide double buffering. A host peripheral can write new value into the TXFIFO while the previously written character is being shifted out.
The host peripheral can monitor the status of the transmitter by reading the status registers transmit ready (TRDY), transmit data empty (TMT), and TXFIFO overrun error (TOE) bits. You are only allowed to write data to TXFIFO if the TRDY bits is HIGH, which indicates that TXFIFO is not full. Writing to TXFIFO if the TRDY bits is LOW will hit into the TXFIFO overrun error. If the overrun error occurs, TXFIFO no longer accepts subsequent write data, causing the data to be missing. The existing data that has been stored in TXFIFO will not be overwritten. The TOE bits are set and remain HIGH. The TOE bits can only be cleared by writing to the status register.
The TXFIFO filled level can be monitored by reading the value of the TXFIFO_LVL register. Note that if TXFIFO is full, the TXFIFO level rolls over to 0. Thus, the value 0 of TXFIFO_LVL can indicate either that the TXFIFO is full (that is, when the status registers transmit ready (TRDY) bit is LOW) or TXFIFO is empty.
To break data transmission, you can set the transmit break bit (TRBK) of the control register HIGH to hold TXD stream LOW. During the break condition, the transmit data that are left in TXFIFO and transmit shift register will be flushed out.
The transmitter logic automatically inserts the correct number of start, stop, and parity bits in the serial TXD data stream as required by the RS-232 specification.