English
Language : 

EM77930 Datasheet, PDF (56/114 Pages) ELAN Microelectronics Corp – USB + BB Controller
EM77930
USB+BB Controller
The TX_FIFO can also invoke an MCU interrupt if TX_FIFO almost empty event
occurs.
Almost empty flag will rise when there are only four empty bytes in the TX_FIFO.
It gives the MCU 32μsec response time to reload the TX_FIFO in case the transmitted
packet is bigger than the TX_FIFO.
In case the MCU writes to a full TX_FIFO, then this byte overruns the last byte in the
TX_FIFO, meaning the byte that was written just before it. Writing to a full TX_FIFO
sets the TX_OF flag in SSR.
8.2.9 Interrupt Driver
The INT output pin is the summation of all interrupts source in the BB. Whenever an
interrupt event has occurred and this interrupt is enabled (IER), the INT will go from low
to high. The INT will remain high until the IIR register is read. The IIR register contains
all the interrupt events that have occurred since the last read. It shows the event only
for enabled interrupts. If an interrupt is disabled, even if the event that invoked this
interrupt has occurred, the interrupt flag will be low. The IER register is used to
enable/disable each of the interrupt. SCR4 (0) enables/disables all the interrupts.
There are eight events in the BB that can cause the INT pin to go from low to high:
1. LOCK_IN – This interrupt indicates that the BB has started receiving a new packet.
The Preamble has been identified. If the NET_ID and/or the NODE_ID are enabled,
then they have been identified correctly. This event signals the beginning of an
incoming packet.
2. LOCK OUT – BB has just finished receiving a packet. This means that if the BB is in
fixed packet size mode, then it has finished receiving PSR bytes not including CRC
bytes. If BB is not in fixed packet size mode, then it has just finished receiving a
packet of size as indicated in the packet header. Although RX_STOP and setting
TX_RX=1 (SCR2) terminate the receiving of the packet, they do not cause a
LOCK_OUT event, since the MCU is already aware of it (the MCU initiated it). The
LOCK_OUT interrupt tells the MCU when to get data out of the RX_FIFO.
3. LINK_DIS – This interrupt indicates that a “Zero counter” capacitor discharge event
has occurred. If a consecutive number of zero bits (according to SCR3 (4:6)) have
been received, this interrupt is set, even if zero count capacitor discharge is
disabled (SCR3 (3) – EN_ZERO_DIS = ’0’). The actual capacitor discharge and its
interrupt are two separate registers (IER (2) for the interrupt and SCR3 (3) for the
discharge).
4. RX_OF – This interrupt indicates that a byte from an incoming packet was
discarded, since the RX_FIFO was already full. The receiver module tried to write a
byte to a full RX_FIFO. The MCU should know that the corresponding packet is
corrupted, since it is lacking at least one byte.
48 •
Product Specification (V1.0) 08.20.2007
(This specification is subject to change without further notice)