English
Language : 

SI4438 Datasheet, PDF (18/44 Pages) Silicon Laboratories – Low active power consumption
Si4438
3.4. Application Programming Interface
The host MCU communicates with an application programming interface (API) embedded inside the device. The
API is divided into two sections, commands and properties. The commands are used to control the chip and
retrieve its status. The properties are general configurations which will change infrequently. For API description
details, refer to the EZRadioPRO API Documentation.zip file available on www.silabs.com.
3.5. Interrupts
The Si4438 is capable of generating an interrupt signal when certain events occur. The chip notifies the
microcontroller that an interrupt event has occurred by setting the nIRQ output pin LOW = 0. This interrupt signal
will be generated when any one (or more) of the interrupt events (corresponding to the Interrupt Status bits) occur.
The nIRQ pin will remain low until the microcontroller clears all the interrupts. The nIRQ output signal will then be
reset until the next change in status is detected.
The interrupts sources are grouped into three groups: packet handler, chip status, and modem. The individual
interrupts in these groups can be enabled/disabled in the interrupt property registers. An interrupt must be enabled
for it to trigger an event on the nIRQ pin. The interrupt group must be enabled as well as the individual interrupts in
API properties described in the API documentation. Once an interrupt event occurs and the nIRQ pin is low there
are two ways to read and clear the interrupts. All of the interrupts may be read and cleared in the
“GET_INT_STATUS” API command. By default all interrupts will be cleared once read. If only specific interrupts
want to be read in the fastest possible method the individual interrupt groups (Packet Handler, Chip Status,
Modem) may be read and cleared by the “GET_MODEM_STATUS”, “GET_PH_STATUS” (packet handler), and
“GET_CHIP_STATUS” API commands. The instantaneous status of a specific function maybe read if the specific
interrupt is enabled or disabled. The status results are provided after the interrupts and can be read with the same
commands as the interrupts. The status bits will give the current state of the function whether the interrupt is
enabled or not. The fast response registers can also give information about the interrupt groups but reading the
fast response registers will not clear the interrupt and reset the nIRQ pin.
3.6. GPIO
Four general purpose IO pins are available to utilize in the application. The GPIO are configured by the
GPIO_PIN_CFG command in address 13h. For a complete list of the GPIO options please see the API guide.
GPIO pins 0 and 1 should be used for active signals such as data or clock. GPIO pins 2 and 3 have more
susceptibility to generating spurious in the synthesizer than pins 0 and 1. The drive strength of the GPIOs can be
adjusted with the GEN_CONFIG parameter in the GPIO_PIN_CFG command. By default the drive strength is set
to minimum. The default configuration for the GPIOs and the state during SDN is shown below in Table 12.The
state of the IO during shutdown is also shown in Table 12. As indicated previously in Table 6, GPIO 0 has lower
drive strength than the other GPIOs.
Pin
GPIO0
GPIO1
GPIO2
GPIO3
nIRQ
SDO
SDI
SCLK
NSEL
Table 12. GPIOs
SDN State
0
0
0
0
resistive VDD pull-up
resistive VDD pull-up
High Z
High Z
High Z
POR Default
POR
CTS
POR
POR
nIRQ
SDO
SDI
SCLK
NSEL
18
Rev 1.0