beautypg.com

1 hdlc fifo control, 2 receive packet bytes available, 3 hdlc status and information – Rainbow Electronics DS26519 User Manual

Page 85: 4 hdlc receive example

background image

DS26519 16-Port T1/E1/J1 Transceiver

85 of 310

9.10.1.1 HDLC

FIFO

Control

Control of the transmit and receive FIFOs is accomplished via the Receive HDLC FIFO Control (

RHFC

) and

Transmit HDLC FIFO Control (

THFC

) registers. The FIFO control registers set the watermarks for the FIFO.

When the receive FIFO fills above the high watermark, the RHWM bit (

RRTS5

.1) will be set. RHWM and THRM are

real-time bits and will remain set as long as the FIFO’s write pointer is above the watermark. When the transmit
FIFO empties below the low watermark, the TLWM bit in the

TRTS2

register will be set. TLWM is a real-time bit

and will remain set as long as the transmit FIFO’s write pointer is below the watermark. If enabled, this condition
can also cause an interrupt via the

INTB pin.

If the receive HDLC FIFO does overrun the current packet being processed is dropped. The receive FIFO is
emptied. The packet status bit in

RRTS5

and

RLS5

.5 (ROVR) indicate an overrun.

9.10.1.2

Receive Packet Bytes Available

The lower 7 bits of the Receive HDLC Packet Bytes Available Register (

RHPBA

) indicates the number of bytes (0

to 64) that can be read from the receive FIFO. The value indicated by this register 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 will refer 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 status registers
for detailed message status.

If the value in the

RHPBA

register refers to the beginning portion of a message or continuation of a message, then

the MSB of the RHPBA register will return a value of 1. This indicates that the host can safely read the number of
bytes returned by the lower 7 bits of the RHPBA register, but there is no need to check the information register
since the packet has not yet terminated (successfully or otherwise).

9.10.1.3

HDLC Status and Information

RRTS5

,

RLS5

, and

TLS2

provide status information for the HDLC controller. When a particular event has occurred

(or is occurring), the appropriate bit in one of these registers will be set to a one. Some of the bits in these registers
are latched and some are real-time bits that are not latched. This section contains register descriptions that list
which bits are latched and which are real-time. With the latched bits, when an event occurs and a bit is set to a
one, it will remain set until the user reads and clears that bit. The bit will be cleared when a 1 is written to the bit
and it will not be set again until the event has occurred again. The real-time bits report the current instantaneous
conditions that are occurring and the history of these bits is not latched.

Like the other latched status registers, the user will follow a read of the status bit with a write. The byte written to
the register will inform the device which of the latched bits the user wishes to clear (the real-time bits are not
affected by writing to the status register). The user will write a byte to one of these registers, with a one in the bit
positions he or she wishes to clear and a zero in the bit positions he or she does not wish to clear.

The HDLC status registers

RLS5

and

TLS2

have the ability to initiate a hardware interrupt via the

INTB output

signal. Each of the events in this register can be either masked or unmasked from the interrupt pin via the HDLC
interrupt mask registers

RIM5

and

TIM2

. Interrupts will force the

INTB signal low when the event occurs. The INTB

pin will be allowed to return high (if no other interrupts are present) when the user reads the event bit that caused
the interrupt to occur.

9.10.1.4

HDLC Receive Example

The HDLC status registers in the DS26519 allow for flexible software interface to meet the user’s preferences.
When receiving HDLC messages, the host can choose to be interrupt driven, to poll to desired status registers, or a
combination of polling and interrupt processes can be used. An example routine for using the DS26519 HDLC
receiver is given in

Figure 9-18

.