SI2493-D-FS Silicon Laboratories Inc, SI2493-D-FS Datasheet - Page 293

no-image

SI2493-D-FS

Manufacturer Part Number
SI2493-D-FS
Description
IC ISOMODEM SYSTEM-SIDE 16SOIC
Manufacturer
Silicon Laboratories Inc
Datasheets

Specifications of SI2493-D-FS

Lead Free Status / Rohs Status
Lead free / RoHS Compliant

Available stocks

Company
Part Number
Manufacturer
Quantity
Price
Part Number:
SI2493-D-FS
Manufacturer:
SILICON
Quantity:
3 483
Polling HIR1 Method
Transmitting and receiving data to and from the modem is accomplished by polling HIR1 status bits TXE and REM.
Polling is implemented by the following code fragment, excerpted from modemCommunicationUpdate() , which
must run in an infinite loop:
static char bytesToSend == 12;
if ( ( readModem( HIR1 ) & SiREM ) == 0
{
}
if ( gUARTToModemBufferSize > 0 )
{
}
Interrupt Service Routine (ISR) Method
Transmitting and receiving data to and from the modem is accomplished by servicing the interrupts generated by
the modem. The interrupt sources are described below. Whenever new communication is initiated after a period of
idling with respect to the TXE interrupt, the interrupt must be "jump-started" by calling the interrupt service routine
manually.
RXF Interrupt: Receive FIFO Almost Full
The RXF bit indicates the status of the receive FIFO. If this bit is set, the FIFO is either full (contains 12 bytes) or
almost full (contains 10 or 11 bytes). There are two ways to clear this interrupt: the RXF bit in HIR1 can be cleared
by the host, or enough bytes can be read from the receive FIFO to leave 9 bytes or less, thus removing the
condition for the interrupt. If the host clears the RXF bit, the interrupt is disabled. The interrupt can be rearmed only
when the receive FIFO drops below the ten-byte threshold. The interrupt can then trigger again when the receive
FIFO fills up to ten bytes or more.
readModemByte;
if ( bytesToSend == 12 )
{
}
else
{
}
status = readModem( HIR1 ) & SiTXE;
if ( status )
{
}
writeModem( HIR0, pullByteForModem(), 0xFF );
bytesToSend--;
// If the bytes to send count = 0, reset the count
if ( bytesToSend == 0 )
{
}
writeModem( HIR0, pullByteForModem(), 0xFF );
bytesToSend--;
// No need to check TXE because transmit FIFO is twelve deep
bytesToSend = 12;
// Declared in modemCommunicationUpdate()
// If there are data to be sent
// Check TXE only every twelve bytes sent
// If transmit FIFO empty
Rev. 1.3
&& rxBufferSize < MODULUS_MASK )
AN93
293

Related parts for SI2493-D-FS