DS33R11 Ethernet Mapper with Integrated T1/E1/J1 Transceiver

10.16.4FIFO Information

The transmit FIFO buffer-available register indicates the number of bytes that can be written into the transmit FIFO. The count form this register informs the host as to how many bytes can be written into the transmit FIFO without overflowing the buffer.

10.16.5Receive Packet-Bytes Available

The lower 7 bits of the receive packet-bytes available register indicates the number of bytes (0 through 127) that can be read from the receive FIFO. The value indicated by this register (lower seven bits) informs the host as to how many bytes can be read from the receive FIFO without going past the end of a message. This value refers to one of four possibilities: the first part of a packet, the continuation of a packet, the last part of a packet, or a complete packet. After reading the number of bytes indicated by this register, the host then checks the HDLC information register for detailed message status.

If the value in the TR.HxRPBA register refers to the beginning portion of a message or continuation of a message, then the MSB of the TR.HxRPBA register returns a value of 1. This indicates that the host can safely read the number of bytes returned by the lower seven bits of the TR.HxRPBA register, but there is no need to check the information register since the packet has not yet terminated (successfully or otherwise).

10.16.5.1 Receive HDLC Code Example

The following is an example of a receive HDLC routine:

1)Reset receive HDLC controller.

2)Set HDLC mode, mapping, and high watermark.

3)Start new message buffer.

4)Enable RPE and RHWM interrupts.

5)Wait for interrupt.

6)Disable RPE and RHWM interrupts.

7)Read TR.HxRPBA register. N = TR.HxRPBA (lower 7 bits are byte count, MSB is status).

8)Read (N and 7Fh) bytes from receive FIFO and store in message buffer.

9)Read TR.INFO5 register.

10)If PS2, PS1, PS0 = 000, then go to Step 4.

11)If PS2, PS1, PS0 = 001, then packet terminated OK, save present message buffer.

12)If PS2, PS1, PS0 = 010, then packet terminated with CRC error.

13)If PS2, PS1, PS0 = 011, then packet aborted.

14)If PS2, PS1, PS0 = 100, then FIFO overflowed.

15)Go to Step 3.

96 of 344

Page 96
Image 96
Maxim DS33R11 specifications Fifo Information, Receive Packet-Bytes Available, Receive Hdlc Code Example