Si4438 H I G H - P ERFORMANCE , L O W -C U R R E N T T RANSCEIVER Features Applications SDN 1 RXp 2 15 nSEL 14 SDI GND PAD TX 4 13 SDO Rev 1.0 6/14 Copyright © 2014 by Silicon Laboratories 7 8 9 VDD GPIO0 10 11 nIRQ GPIO1 6 TXRamp Silicon Laboratories' Si4438 is a high-performance, low-current transceivers covering the sub-GHz frequency bands from 425 to 525 MHz. The Si4438 is targeted at the Chinese smart meter market and is especially suited for electric meters. This device is footprint- and pin-compatible with the Si446x radios, which provide industry-leading performance for worldwide sub-GHz applications. The radios are part of the EZRadioPRO® family, which includes a complete line of transmitters, receivers, and transceivers covering a wide range of applications. All parts offer outstanding sensitivity of –124 dBm while achieving extremely low active and standby current consumption. The 58 dB adjacent channel selectivity with 12.5 kHz channel spacing ensures robust receive operation in harsh RF conditions. The Si4438 offers exceptional output power of up to +20 dBm with outstanding TX efficiency. The high output power and sensitivity results in an industry-leading link budget of 144 dB allowing extended ranges and highly robust communication links. 12 SCLK VDD NC 5 Description XOUT XIN GND 20 19 18 17 16 RXn 3 China smart meters GPIO2 Pin Assignments GPIO3 Frequency Excellent selectivity performance range = 425–525 MHz 58 dB adjacent channel 75 dB blocking at 1 MHz Receive sensitivity = –124 dBm Antenna diversity and T/R switch Modulation control (G)FSK Highly configurable packet handler OOK Max output power TX and RX 64 byte FIFOs +20 dBm Auto frequency control (AFC) Low active power consumption Automatic gain control (AGC) 14 mA RX Low BOM Ultra low current powerdown Low battery detector modes Temperature sensor 30 nA shutdown, 50 nA standby 20-Pin QFN package Data rate = 100 bps to 500 kbps IEEE 802.15.4g ready Fast wake and hop times China regulatory Power supply = 1.8 to 3.6 V Patents pending Si4438 Si4438 Functional Block Diagram GPIO3 GPIO2 XIN XOUT Loop Filter PFD / CP VCO FBDIV TX DIV SDN RXN LO Gen Bootup OSC IF PKDET RF PKDET LNA PA TX PGA ADC VDD MODEM FIFO Packet Handler nSEL SDI SDO SCLK nIRQ LDOs PowerRamp Cntl Digital Logic POR LBD 32K LP OSC PA LDO 2 30 MHz XO SPI Interface Controller RXP Frac-N Div TXRAMP VDD GPIO0 GPIO1 Product Freq. Range Max Output Power TX Current RX Current Si4438 425–525 MHz +20 dBm 75 mA 14 mA Rev 1.0 Si4438 TABLE O F C ONTENTS Section Page 1. Electrical Specifications . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .4 2. Functional Description . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11 3. Controller Interface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12 3.1. Serial Peripheral Interface (SPI) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 12 3.2. Fast Response Registers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .14 3.3. Operating Modes and Timing . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14 3.4. Application Programming Interface . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18 3.5. Interrupts . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18 3.6. GPIO . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 18 4. Modulation and Hardware Configuration Options . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19 4.1. Modulation Types . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19 4.2. Hardware Configuration Options . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 19 4.3. Preamble Length . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 20 5. Internal Functional Blocks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22 5.1. RX Chain . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22 5.2. RX Modem . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22 5.3. Synthesizer . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .24 5.4. Transmitter (TX) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .26 5.5. Crystal Oscillator . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .29 6. Data Handling and Packet Handler . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .30 6.1. RX and TX FIFOs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30 6.2. Packet Handler . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30 7. RX Modem Configuration . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32 8. Auxiliary Blocks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32 8.1. Wake-up Timer and 32 kHz Clock Source . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32 8.2. Low Duty Cycle Mode (Auto RX Wake-Up) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .32 8.3. Temperature, Battery Voltage, and Auxiliary ADC . . . . . . . . . . . . . . . . . . . . . . . . . . 34 8.4. Low Battery Detector . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .34 8.5. Antenna Diversity . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 34 9. Pin Descriptions: Si4438 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .35 10. Ordering Information . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 37 11. Package Outline: Si4438 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38 12. PCB Land Pattern: Si4438 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 40 13. Top Marking . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .42 13.1. Si4438 Top Marking . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42 13.2. Top Marking Explanation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42 Document Change List . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .43 Contact Information . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .44 Rev 1.0 3 Si4438 1. Electrical Specifications Table 1. DC Characteristics* Parameter Supply Voltage Range Symbol Min Typ Max Unit 1.8 3.3 3.6 V RC Oscillator, Main Digital Regulator, and Low Power Digital Regulator OFF — 30 — nA IStandby Register values maintained and RC oscillator/WUT OFF — 50 — nA ISleepRC RC Oscillator/WUT ON and all register values maintained, and all other blocks OFF — 900 — nA ISleepXO Sleep current using an external 32 kHz crystal. — 1.7 — µA ISensor Low battery detector ON, register values maintained, and all other blocks OFF — 1 — µA IReady Crystal Oscillator and Main Digital Regulator ON, all other blocks OFF — 1.8 — mA ITune_RX RX Tune — 7.2 — mA ITune_TX TX Tune — 8 — mA — 14 — mA — 75 — mA VDD Power Saving Modes IShutdown -LBD TUNE Mode Current RX Mode Current TX Mode Current (Si4438) Test Condition IRXH ITX_+20 +20 dBm output power, class-E match, 490 MHz, 3.3 V *Note: All minimum and maximum values are guaranteed by production test unless otherwise stated. All typical values apply at VDD = 3.3 V and 25 °C unless otherwise stated. 4 Rev 1.0 Si4438 Table 2. Synthesizer AC Electrical Characteristics1 Parameter Symbol Test Condition Min Typ Max Unit 425 — 525 MHz Synthesizer Frequency Range (Si4438) FSYN Synthesizer Frequency Resolution2 FRES-525 425–525 MHz — 14.3 — Hz Synthesizer Settling Time tLOCK Measured from exiting Ready mode with XOSC running to any frequency. Including VCO Calibration. — 50 — µs Phase Noise L(fM) F = 10 kHz, 460 MHz — –106 — dBc/Hz F = 100 kHz, 460 MHz — –110 — dBc/Hz F = 1 MHz, 460 MHz — –123 — dBc/Hz F = 10 MHz, 460 MHz — –130 — dBc/Hz Notes: 1. All minimum and maximum values are guaranteed by production test unless otherwise stated. All typical values apply at VDD = 3.3 V and 25 °C unless otherwise stated. 2. Default API setting for modulation deviation resolution is double the typical value specified. Rev 1.0 5 Si4438 Table 3. Receiver AC Electrical Characteristics1 Parameter RX Frequency Range (Si4438) RX Sensitivity Symbol FRX Min Typ Max Unit 425 — 525 MHz PRX_0.5 (BER < 0.1%) (500 bps, GFSK, BT = 0.5, f = 250Hz)2 — –124 — dBm PRX_40 (BER < 0.1%) (40 kbps, GFSK, BT = 0.5, f = 20 kHz)2 — –108 — dBm PRX_100 (BER < 0.1%) (100 kbps, GFSK, BT = 0.5, f = 50 kHz)1 — –103 — dBm PRX_9.6 (BER < 0.1%) (9.6 kbps, GFSK, BT = 0.5, f = 4.8 kHz)2 — –114 — dBm PRX_OOK (BER < 0.1%, 4.8 kbps, 350 kHz BW, OOK, PN15 data)2 — –108 — dBm (BER < 0.1%, 40 kbps, 350 kHz BW, OOK, PN15 data)2 — –102 — dBm (BER < 0.1%, 120 kbps, 350 kHz BW, OOK, PN15 data)2 — –98 — dBm 1.1 — 850 kHz — 0 0.1 ppm — ±0.5 — dB — –58 — dB — –75 — dB — –84 — dB — 35 — dB RX Channel Bandwidth4 BW BER Variation vs Power Level2 PRX_RES RSSI Resolution RESRSSI 1-Ch Offset Selectivity, 450 MHz2 C/I1-CH Blocking 1 MHz Offset2 1MBLOCK Blocking 8 MHz Offset2 8MBLOCK Image Rejection2 Test Condition ImREJ Up to +5 dBm Input Level Desired Ref Signal 3 dB above sensitivity, BER < 0.1%. Interferer is CW, and desired is modulated with 2.4 kbps F = 1.2 kHz GFSK with BT = 0.5, RX channel BW = 4.8 kHz, channel spacing = 12.5 kHz Desired Ref Signal 3 dB above sensitivity, BER = 0.1%. Interferer is CW, and desired is modulated with 2.4 kbps, F = 1.2 kHz GFSK with BT = 0.5, RX channel BW = 4.8 kHz Rejection at the image frequency. IF = 468 kHz Notes: 1. All minimum and maximum values are guaranteed by production test unless otherwise stated. All typical values apply at VDD = 3.3 V and 25 °C unless otherwise stated. 2. BER is measured in the 450–470 MHz frequency band on RF evaluation boards. 3. For PER tests, 48 preamble symbols, 4 byte sync word, 10 byte payload and CRC-32 was used. 4. Guaranteed by bench characterization. 6 Rev 1.0 Si4438 Table 4. Transmitter AC Electrical Characteristics1 Parameter Min Typ Max Unit FTX 425 — 525 MHz (G)FSK Data Rate2,3 DRFSK 0.1 — 500 kbps OOK Data Rate2,3 DROOK 0.1 — 120 kbps TX Frequency Range Modulation Deviation Range Modulation Deviation Resolution4 Output Power Range5 Symbol Test Condition f525 425–525 MHz — 750 — kHz FRES-525 425–525 MHz — 14.3 — Hz –20 — +20 dBm PTX TX RF Output Steps PRF_OUT Using switched current match within 6 dB of max power — 0.1 — dB TX RF Output Level Variation vs. Temperature PRF_TEMP –40 to +85 C — 1 — dB TX RF Output Level Variation vs. Frequency PRF_FREQ — 0.5 — dB — 0.5 — Transmit Modulation Filtering B*T Gaussian Filtering Bandwith Time Product Notes: 1. All minimum and maximum values are guaranteed by production test unless otherwise stated. All typical values apply at VDD = 3.3 V and 25 °C unless otherwise stated. 2. Guaranteed by design. 3. The maximum data rate is dependent on the XTAL frequency and is calculated as per the formula: Maximum Symbol Rate = Fxtal/60, where Fxtal is the XTAL frequency (typically 30 MHz). 4. Default API setting for modulation deviation resolution is double the typical value specified. 5. Output power is dependent on matching components and board layout. Rev 1.0 7 Si4438 Table 5. Auxiliary Block Specifications1 Parameter Symbol Test Condition Min Typ Max Unit Temperature Sensor Sensitivity TSS — 4.5 — ADC Codes/ °C Low Battery Detector Resolution LBDRES — 50 — mV Microcontroller Clock Output Frequency Range2 Temperature Sensor Conversion XTAL Range3 30 MHz XTAL Start-Up Time 30 MHz XTAL Cap Resolution 32 kHz XTAL Start-Up Time 32 kHz Accuracy using Internal RC Oscillator POR Reset Time FMC Configurable to Fxtal or Fxtal divided by 2, 3, 7.5, 10, 15, or 30 where Fxtal is the reference XTAL frequency. In addition, 32.768 kHz is also supported. 32.768K — Fxtal Hz TEMPCT Programmable setting — 3 — ms 25 — 32 MHz — 250 — µs 30MRES — 70 — fF t32k — 2 — sec 32KRCRES — 2500 — ppm tPOR — — 5 ms XTALRange t30M Using XTAL and board layout in reference design. Start-up time will vary with XTAL type and board layout. Notes: 1. All minimum and maximum values are guaranteed by production test unless otherwise stated. All typical values apply at VDD = 3.3 V and 25 °C unless otherwise stated. 2. Microcontroller clock frequency tested in production at 1 MHz, 30 MHz and 32.768 kHz. Other frequencies tested in bench characterization. 3. XTAL Range tested in production using an external clock source (similar to using a TCXO). 8 Rev 1.0 Si4438 Table 6. Digital IO Specifications (GPIO_x, SCLK, SDO, SDI, nSEL, nIRQ, SDN)1 Parameter Rise Time 2,3 Fall Time3,4 Symbol Test Condition Min Typ Max Unit TRISE 0.1 x VDD to 0.9 x VDD, CL = 10 pF, DRV<1:0> = LL — 2.3 — ns TFALL 0.9 x VDD to 0.1 x VDD, CL = 10 pF, DRV<1:0> = LL — 2 — ns Input Capacitance CIN — 2 — pF Logic High Level Input Voltage VIH VDD x 0.7 — — V Logic Low Level Input Voltage VIL — — VDD x 0.3 V Input Current IIN 0<VIN< VDD –10 — 10 µA Input Current If Pullup is Activated IINP VIL = 0 V 1 — 10 µA LL3 — 6.66 — mA DRV[1:0] = LH 3 — 5.03 — mA IOmaxHL DRV[1:0] = HL 3 — 3.16 — mA IOmaxHH DRV[1:0] = HH3 — 1.13 — mA IOmaxLL 3 — 5.75 — mA 3 — 4.37 — mA IOmaxHL DRV[1:0] = HL3 — 2.73 — mA IOmaxHH DRV[1:0] = HH3 — 0.96 — mA IOmaxLL 3 — 2.53 — mA LH3 — 2.21 — mA IOmaxHL DRV[1:0] = HL 3 — 1.7 — mA IOmaxHH DRV[1:0] = HH3 — 0.80 — mA Logic High Level Output Voltage VOH DRV[1:0] = HL VDD x 0.8 — — V Logic Low Level Output Voltage VOL DRV[1:0] = HL — — VDD x 0.2 V Drive Strength for Output Low Level Drive Strength for Output High Level Drive Strength for Output High Level for GPIO0 IOmaxLL IOmaxLH IOmaxLH IOmaxLH DRV[1:0] = DRV[1:0] = LL DRV[1:0] = LH DRV[1:0] = LL DRV[1:0] = Notes: 1. All minimum and maximum values are guaranteed by production test unless otherwise stated. All typical values apply at VDD = 3.3 V and 25 °C unless otherwise stated. 2. 8 ns is typical for GPIO0 rise time. 3. Assuming VDD = 3.3 V, drive strength is specified at Voh (min) = 2.64 V and Vol(max) = 0.66 V at room temperature. 4. 2.4 ns is typical for GPIO0 fall time. Rev 1.0 9 Si4438 Table 7. Thermal Operating Characteristics Parameter Value Unit –40 to +85 C 30 C/W +125 C –55 to +125 C Value Unit VDD to GND –0.3, +3.6 V Instantaneous VRF-peak to GND on TX Output Pin –0.3, +8.0 V Sustained VRF-peak to GND on TX Output Pin –0.3, +6.5 V Voltage on Digital Control Inputs –0.3, VDD + 0.3 V Voltage on Analog Inputs –0.3, VDD + 0.3 V Voltage on XIN Input when using a TCXO –0.7, VDD + 0.3 V +10 dBm Operating Ambient Temperature Range TA Thermal Impedance JA Junction Temperature TJMAX Storage Temperature Range TSTG Table 8. Absolute Maximum Ratings* Parameter RX Input Power Operating Ambient Temperature Range TA –40 to +85 C Thermal Impedance JA 30 C/W Junction Temperature TJ +125 C –55 to +125 C Storage Temperature Range TSTG *Note: Stresses beyond those listed under “Absolute Maximum Ratings” may cause permanent damage to the device. These are stress ratings only and functional operation of the device at or beyond these ratings in the operational sections of the specifications is not implied. Exposure to absolute maximum rating conditions for extended periods may affect device reliability. Power Amplifier may be damaged if switched on without proper load or termination connected. TX matching network design will influence TX VRF-peak on TX output pin. Caution: ESD sensitive device. 10 Rev 1.0 Si4438 2. Functional Description The Si4438 devices are high-performance, low-current, wireless ISM transceivers that cover the sub-GHz bands. The wide operating voltage range of 1.8–3.6 V and low current consumption make the Si4438 an ideal solution for battery powered applications. The Si4438 operates as a time division duplexing (TDD) transceiver where the device alternately transmits and receives data packets. The device uses a single-conversion mixer to downconvert the 2-level FSK/GFSK or OOK modulated receive signal to a low IF frequency. Following a programmable gain amplifier (PGA) the signal is converted to the digital domain by a high performance ADC allowing filtering, demodulation, slicing, and packet handling to be performed in the built-in DSP increasing the receiver’s performance and flexibility versus analog based architectures. The demodulated signal is output to the system MCU through a programmable GPIO or via the standard SPI bus by reading the 64-byte RX FIFO. A single high precision local oscillator (LO) is used for both transmit and receive modes since the transmitter and receiver do not operate at the same time. The LO is generated by an integrated VCO and Fractional-N PLL synthesizer. The synthesizer is designed to support configurable data rates from 100 bps to 500 kbps. The transmit FSK data is modulated directly into the data stream and can be shaped by a Gaussian low-pass filter to reduce unwanted spectral content. The Si4438 contains a power amplifier (PA) that supports output power up to +20 dBm with very high efficiency, consuming only 75 mA. The integrated +20 dBm power amplifier can also be used to compensate for the reduced performance of a lower cost, lower performance antenna or antenna with size constraints due to a small form-factor. Competing solutions require large and expensive external PAs to achieve comparable performance. The PA is single-ended to allow for easy antenna matching and low BOM cost. The PA incorporates automatic ramp-up and ramp-down control to reduce unwanted spectral spreading. The Si4438 family supports TX/RX switch control, and antenna diversity switch control to extend the link range and improve performance. Built-in antenna diversity can be used to further extend range and enhance performance. Antenna diversity is completely integrated into the Si4438 and can improve the system link budget by 8–10 dB, resulting in substantial range increases under adverse environmental conditions. A highly configurable packet handler allows for autonomous encoding/decoding of nearly any packet structure. Additional system features, such as an automatic wake-up timer, low battery detector, 64 byte TX/RX FIFOs, and preamble detection, reduce overall current consumption and allows for the use of lower-cost system MCUs. An integrated temperature sensor, power-on-reset (POR), and GPIOs further reduce overall system cost and size. The Si4438 is designed to work with an MCU, crystal, and a few passive components to create a very low-cost system. Rev 1.0 11 Si4438 3. Controller Interface 3.1. Serial Peripheral Interface (SPI) The Si4438 communicates with the host MCU over a standard 4-wire serial peripheral interface (SPI): SCLK, SDI, SDO, and nSEL. The SPI interface is designed to operate at a maximum of 10 MHz. The SPI timing parameters are demonstrated in Table 9. The host MCU writes data over the SDI pin and can read data from the device on the SDO output pin. Figure 1 demonstrates an SPI write command. The nSEL pin should go low to initiate the SPI command. The first byte of SDI data will be one of the firmware commands followed by n bytes of parameter data which will be variable depending on the specific command. The rising edges of SCLK should be aligned with the center of the SDI data. Table 9. Serial Interface Timing Parameters Symbol Parameter Min (ns) Max (ns) tCH Clock high time 40 tCL Clock low time 40 tDS Data setup time 20 tDH Data hold time 20 tDD Output data delay time 43 tDE Output disable time 45 tSS Select setup time 20 tSH Select hold time 50 tSW Select high period 80 Diagram SCLK tSS tCL tCH tDS tDH tDD tSH tDE SDI SDO tSW nSEL *Note: CL = 10 pF; VDD = 1.8 V; SDO Drive strength setting = 10. nSEL SDO SDI FW Command Param Byte 0 Param Byte n SCLK Figure 1. SPI Write Command The Si4438 contains an internal MCU which controls all the internal functions of the radio. For SPI read commands a typical MCU flow of checking clear-to-send (CTS) is used to make sure the internal MCU has executed the command and prepared the data to be output over the SDO pin. Figure 2 demonstrates the general flow of an SPI read command. Once the CTS value reads FFh then the read data is ready to be clocked out to the host MCU. The typical time for a valid FFh CTS reading is 20 µs. Figure 3 demonstrates the remaining read cycle after CTS is set to FFh. The internal MCU will clock out the SDO data on the negative edge so the host MCU should process the SDO data on the rising edge of SCLK. 12 Rev 1.0 Si4438 Firmware Flow 0xFF Send Command Read CTS CTS Value Retrieve Response 0x00 NSEL CTS SDO SDI ReadCmdBuff SCK Figure 2. SPI Read Command—Check CTS Value NSEL SDO Response Byte 0 Response Byte n SDI SCK Figure 3. SPI Read Command—Clock Out Read Data Rev 1.0 13 Si4438 3.2. Fast Response Registers The fast response registers are registers that can be read immediately without the requirement to monitor and check CTS. There are four fast response registers that can be programmed for a specific function. The fast response registers can be read through API commands, 0x50 for Fast Response A, 0x51 for Fast Response B, 0x53 for Fast Response C, and 0x57 for Fast Response D. The fast response registers can be configured by the “FRR_CTL_X_MODE” properties. The fast response registers may be read in a burst fashion. After the initial 16 clock cycles, each additional eight clock cycles will clock out the contents of the next fast response register in a circular fashion. The value of the FRRs will not be updated unless NSEL is toggled. 3.3. Operating Modes and Timing The primary states of the Si4438 are shown in Figure 4. The shutdown state completely shuts down the radio to minimize current consumption. Standby/Sleep, SPI Active, Ready, TX Tune, and RX tune are available to optimize the current consumption and response time to RX/TX for a given application. API commands START_RX, START_TX, and CHANGE_STATE control the operating state with the exception of shutdown which is controlled by SDN, pin 1. Table 10 shows each of the operating modes with the time required to reach either RX or TX mode as well as the current consumption of each mode. The times in Table 9 are measured from the rising edge of nSEL until the chip is in the desired state. Note that these times are indicative of state transition timing but are not guaranteed and should only be used as a reference data point. An automatic sequencer will put the chip into RX or TX from any state. It is not necessary to manually step through the states. To simplify the diagram it is not shown but any of the lower power states can be returned to automatically after RX or TX. Figure 4. State Machine Diagram 14 Rev 1.0 Si4438 Table 10. Operating State Response Time and Current Consumption Response Time to TX RX Current in State /Mode Shutdown State 15 ms 15 ms 30 nA Standby State Sleep State SPI Active State Ready State TX Tune State RX Tune State 440 µs 440 µs 340 µs 126 µs 58 µs — 440 µs 440 µs 340 µs 122 µs — 74 µs 50 nA 900 nA 1.35 mA 1.8 mA 8 mA 7.2 mA TX State — 138 µs 75 mA @ +20 dBm RX State 130 µs 75 µs 14 mA State/Mode Figure 5 shows the POR timing and voltage requirements. The power consumption (battery life) depends on the duty cycle of the application or how often the part is in either Rx or Tx state. In most applications the utilization of the standby state will be most advantageous for battery life but for very low duty cycle applications shutdown will have an advantage. For the fastest timing the next state can be selected in the START_RX or START_TX API commands to minimize SPI transactions and internal MCU processing. 3.3.1. Power on Reset (POR) A Power On Reset (POR) sequence is used to boot the device up from a fully off or shutdown state. To execute this process, VDD must ramp within 1ms and must remain applied to the device for at least 10ms. If VDD is removed, then it must stay below 0.15V for at least 10ms before being applied again. Please see Figure x and Table x for details. VDD VR RH VR RL Time tSR tPORH Figure 5. POR Timing Diagram Rev 1.0 15 Si4438 Table 11. POR Timing Variable tPORH Description High time for VDD to fully settle POR circuit tPORL Low time for VDD to enable POR VRRH Voltage for successful POR VRRL Starting Voltage for successful POR tSR Min Typ Max Units 10 ms 10 ms 90%*Vdd V 0 Slew rate of VDD for successful POR 150 mV 1 ms 3.3.2. Shutdown State The shutdown state is the lowest current consumption state of the device with nominally less than 30 nA of current consumption. The shutdown state may be entered by driving the SDN pin (Pin 1) high. The SDN pin should be held low in all states except the shutdown state. In the shutdown state, the contents of the registers are lost and there is no SPI access. When coming out of the shutdown state a power on reset (POR) will be initiated along with the internal calibrations. After the POR the POWER_UP command is required to initialize the radio. The SDN pin needs to be held high for at least 10us before driving low again so that internal capacitors can discharge. Not holding the SDN high for this period of time may cause the POR to be missed and the device to boot up incorrectly. If POR timing and voltage requirements cannot be met, it is highly recommended that SDN be controlled using the host processor rather than tying it to GND on the board. 3.3.3. Standby State Standby state has the lowest current consumption with the exception of shutdown but has much faster response time to RX or TX mode. In most cases standby should be used as the low power state. In this state the register values are maintained with all other blocks disabled. The SPI is accessible during this mode but any SPI event, including FIFO R/W, will enable an internal boot oscillator and automatically move the part to SPI active state. After an SPI event the host will need to re-command the device back to standby through the “Change State” API command to achieve the 50 nA current consumption. If an interrupt has occurred (i.e., the nIRQ pin = 0) the interrupt registers must be read to achieve the minimum current consumption of this mode. 3.3.4. Sleep State Sleep state is the same as standby state but the wake-up-timer and a 32 kHz clock source are enabled. The source of the 32 kHz clock can either be an internal 32 kHz RC oscillator which is periodically calibrated or a 32 kHz oscillator using an external XTAL.The SPI is accessible during this mode but an SPI event will enable an internal boot oscillator and automatically move the part to SPI active mode. After an SPI event the host will need to re-command the device back to sleep. If an interrupt has occurred (i.e., the nIRQ pin = 0) the interrupt registers must be read to achieve the minimum current consumption of this mode. 3.3.5. SPI Active State In SPI active state the SPI and a boot up oscillator are enabled. After SPI transactions during either standby or sleep the device will not automatically return to these states. A “Change State” API command will be required to return to either the standby or sleep modes. 3.3.6. Ready State Ready state is designed to give a fast transition time to TX or RX state with reasonable current consumption. In this mode the Crystal oscillator remains enabled reducing the time required to switch to TX or RX mode by eliminating the crystal start-up time. 3.3.7. TX State The TX state may be entered from any of the state with the “Start TX” or “Change State” API commands. A built-in sequencer takes care of all the actions required to transition between states from enabling the crystal oscillator to ramping up the PA. The following sequence of events will occur automatically when going from standby to TX state. 1. Enable internal LDOs. 2. Start up crystal oscillator and wait until ready (controlled by an internal timer). 16 Rev 1.0 Si4438 3. Enable PLL. 4. Calibrate VCO/PLL. 5. Wait until PLL settles to required transmit frequency (controlled by an internal timer). 6. Activate power amplifier and wait until power ramping is completed (controlled by an internal timer). 7. Transmit packet. Steps in this sequence may be eliminated depending on which state the chip is configured to prior to commanding to TX. By default, the VCO and PLL are calibrated every time the PLL is enabled. When the START_TX API command is utilized the next state may be defined to ensure optimal timing and turnaround. Figure 6 shows an example of the commands and timing for the START_TX command. CTS will go high as soon as the sequencer puts the part into TX state. As the sequencer is stepping through the events listed above, CTS will be low and no new commands or property changes are allowed. If the Fast Response (FRR) or nIRQ is used to monitor the current state there will be slight delay caused by the internal hardware from when the event actually occurs to when the transition occurs on the FRR or nIRQ. The time from entering TX state to when the FRR will update is 5 µs and the time to when the nIRQ will transition is 13 µs. If a GPIO is programmed for TX state or used as control for a transmit/receive switch (TR switch) there is no delay. CTS NSEL SDI START_TX Current State FRR YYY State Tx State YYY State TXCOMPLETE_STATE Tx State TXCOMPLETE_STATE nIRQ GPIOx – TX state Figure 6. Start_TX Commands and Timing 3.3.8. RX State The RX state may be entered from any of the other states by using the “Start RX” or “Change State” API command. A built-in sequencer takes care of all the actions required to transition between states. The following sequence of events will occur automatically to get the chip into RX mode when going from standby to RX state: 1. Enable the digital LDO and the analog LDOs. 2. Start up crystal oscillator and wait until ready (controlled by an internal timer). 3. Enable PLL. 4. Calibrate VCO 5. Wait until PLL settles to required receive frequency (controlled by an internal timer). 6. Enable receiver circuits: LNA, mixers, and ADC. 7. Enable receive mode in the digital modem. Depending on the configuration of the radio, all or some of the following functions will be performed automatically by the digital modem: AGC, AFC (optional), update status registers, bit synchronization, packet handling (optional) including sync word, header check, and CRC. Similar to the TX state, the next state after RX may be defined in the “Start RX” API command. The START_RX commands and timing will be equivalent to the timing shown in Figure 6. Rev 1.0 17 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. Table 12. GPIOs 18 Pin SDN State POR Default GPIO0 0 POR GPIO1 0 CTS GPIO2 0 POR GPIO3 0 POR nIRQ resistive VDD pull-up nIRQ SDO resistive VDD pull-up SDO SDI High Z SDI SCLK High Z SCLK NSEL High Z NSEL Rev 1.0 Si4438 4. Modulation and Hardware Configuration Options The Si4438 supports three different modulation options and can be used in various configurations to tailor the device to any specific application or legacy system for drop in replacement. The modulation and configuration options are set in property, MODEM_MOD_TYPE. Refer to the EZRadioPRO API Documentation.zip file available on www.silabs.com for details. 4.1. Modulation Types The Si4438 supports five different modulation options: Gaussian frequency shift keying (GFSK), frequency-shift keying (FSK), on-off keying (OOK). Minimum shift keying (MSK) can also be created by using GFSK settings. GFSK is the recommended modulation type as it provides the best performance and cleanest modulation spectrum. The modulation type is set by the “MOD_TYPE[2:0]” registers in the “MODEM_MOD_TYPE” API property. A continuous-wave (CW) carrier may also be selected for RF evaluation purposes. The modulation source may also be selected to be a pseudo-random source for evaluation purposes. 4.2. Hardware Configuration Options There are different receive demodulator options to optimize the performance and mutually-exclusive options for how the RX/TX data is transferred from the host MCU to the RF device. 4.2.1. Receive Demodulator Options There are multiple demodulators integrated into the device to optimize the performance for different applications, modulation formats, and packet structures. The calculator built into WDS will choose the optimal demodulator based on the input criteria. 4.2.1.1. Synchronous Demodulator The synchronous demodulator's internal frequency error estimator acquires the frequency error based on a 101010 preamble structure. The bit clock recovery circuit locks to the incoming data stream within four transactions of a “10” or “01” bit stream. The synchronous demodulator gives optimal performance for 2-level FSK or GFSK modulation that has a modulation index less than 2. 4.2.1.2. Asynchronous Demodulator The asynchronous demodulator should be used OOK modulation and for FSK/GFSK under one or more of the following conditions: Modulation index > 2 Non-standard preamble (not 1010101... pattern) When the modulation index exceeds 2, the asynchronous demodulator has better sensitivity compared to the synchronous demodulator. An internal deglitch circuit provides a glitch-free data output and a data clock signal to simplify the interface to the host. There is no requirement to perform deglitching in the host MCU. The asynchronous demodulator will typically be utilized for legacy systems and will have many performance benefits over devices used in legacy designs. Unlike the Si4432/31 solution for non-standard packet structures, there is no requirement to perform deglitching on the data in the host MCU. Glitch-free data is output from Si4438 devices, and a sample clock for the asynchronous data can also be supplied to the host MCU; so, oversampling or bit clock recovery is not required by the host MCU. There are multiple detector options in the asynchronous demodulator block, which will be selected based upon the options entered into the WDS calculator. The asynchronous demodulator's internal frequency error estimator is able to acquire the frequency error based on any preamble structure. 4.2.2. RX/TX Data Interface With MCU There are two different options for transferring the data from the RF device to the host MCU. FIFO mode uses the SPI interface to transfer the data, while direct mode transfers the data in real time over GPIO. 4.2.2.1. FIFO Mode In FIFO mode, the transmit and receive data is stored in integrated FIFO register memory. The TX FIFO is accessed by writing Command 66h followed directly by the data/clk that the host wants to write into the TX FIFO. The RX FIFO is accessed by writing command 77h followed by the number of clock cycles of data the host would like to read out of the RX FIFO. The RX data will be clocked out onto the SDO pin. Rev 1.0 19 Si4438 In TX mode, if the packet handler is enabled, the data bytes stored in FIFO memory are “packaged” together with other fields and bytes of information to construct the final transmit packet structure. These other potential fields include the Preamble, Sync word, Header, CRC checksum, etc. The configuration of the packet structure in TX mode is determined by the Automatic Packet Handler (if enabled), in conjunction with a variety of Packet Handler properties. If the Automatic Packet Handler is disabled, the entire desired packet structure should be loaded into FIFO memory; no other fields (such as Preamble or Sync word) will be automatically added to the bytes stored in FIFO memory. For further information on the configuration of the FIFOs for a specific application or packet size, see "6. Data Handling and Packet Handler" on page 30. In RX mode, only the bytes of the received packet structure that are considered to be “data bytes” are stored in FIFO memory. Which bytes of the received packet are considered “data bytes” is determined by the Automatic Packet Handler (if enabled) in conjunction with the Packet Handler configuration. If the Automatic Packet Handler is disabled, all bytes following the Sync word are considered data bytes and are stored in FIFO memory. Thus, even if Automatic Packet Handling operation is not desired, the preamble detection threshold and Sync word still need to be programmed so that the RX Modem knows when to start filling data into the FIFO. When the FIFO is being used in RX mode, all of the received data may still be observed directly (in realtime) by properly programming a GPIO pin as the RXDATA output pin; this can be quite useful during application development. When in FIFO mode, the chip will automatically exit the TX or RX State when either the PACKET_SENT or PACKET_RX interrupt occurs. The chip will return to the IDLE state programmed in the argument of the “START TX” or “START RX” API command, TXCOMPLETE_STATE[3:0] or RXVALID_STATE[3:0]. For example, the chip may be placed into TX mode by sending the “START TX” command and by writing the 30h to the TXCOMPLETE_STATE[3:0] argument. The chip will transmit all of the contents of the FIFO, and the ipksent interrupt will occur. When this event occurs, the chip will return to the ready state as defined by TXCOMPLETE_STATE[3:0] = 30h. 4.2.2.2. Direct Mode For legacy systems that perform packet handling within the host MCU or other baseband chip, it may not be desirable to use the FIFO. For this scenario, a Direct mode is provided, which bypasses the FIFOs entirely. In TX Direct mode, the TX modulation data is applied to an input pin of the chip and processed in “real time” (i.e., not stored in a register for transmission at a later time). Any of the GPIOs may be configured for use as the TX Data input function. Furthermore, an additional pin may be required for a TX Clock output function if GFSK modulation is desired (only the TX Data input pin is required for FSK). To achieve direct mode, the GPIO must be configured in the “GPIO_PIN_CFG” API command as well as the “MODEM_MOD_TYPE” API property. For GFSK, “TX_DIRECT_MODE_TYPE” must be set to Synchronous. For 2FSK or OOK, the type can be set to asynchronous or synchronous. The MOD_SOURCE[1:0] should be set to 01h for are all direct mode configurations. In RX Direct mode, the RX Data and RX Clock can be programmed for direct (real-time) output to GPIO pins. The microcontroller may then process the RX data without using the FIFO or packet handler functions of the RFIC. 4.3. Preamble Length The preamble length requirement is only relevant if using the synchronous demodulator. If the asynchronous demodulator is being used, then there is no requirement for a conventional 101010 pattern. The preamble detection threshold determines the number of valid preamble bits the radio must receive to qualify a valid preamble. The preamble threshold should be adjusted depending on the nature of the application. The required preamble length threshold depends on when receive mode is entered in relation to the start of the transmitted packet and the length of the transmit preamble. With a shorter than recommended preamble detection threshold, the probability of false detection is directly related to how long the receiver operates on noise before the transmit preamble is received. False detection on noise may cause the actual packet to be missed. The preamble detection threshold may be adjusted in the modem calculator by modifying the “PM detection threshold” in the “RX parameters tab” in the radio control panel. For most applications with a preamble length longer than 32 bits, the default value of 20 is recommended for the preamble detection threshold. A shorter Preamble Detection Threshold may be chosen if occasional false detections may be tolerated. When antenna diversity is enabled, a 20- bit preamble detection threshold is recommended. When the receiver is synchronously enabled just before the start of the packet, a shorter preamble detection threshold may be used. Table 13 demonstrates the recommended preamble detection threshold and preamble length for various modes. 20 Rev 1.0 Si4438 Table 13. Recommended Preamble Length Mode AFC Antenna Diversity Preamble Type Recommended Preamble Length Recommended Preamble Detection Threshold (G)FSK Disabled Disabled Standard 4 Bytes 20 bits (G)FSK Enabled Disabled Standard 5 Bytes 20 bits (G)FSK Disabled Disabled Non-standard 2 Bytes 0 bits (G)FSK Enabled (G)FSK Disabled Enabled Standard 7 Bytes 24 bits (G)FSK Enabled Enabled Standard 8 Bytes 24 bits OOK Disabled Disabled Standard 4 Bytes 20 bits OOK Disabled Disabled Non-standard 2 Bytes 0 bits OOK Enabled Non-standard Not Supported Not Supported Notes: 1. The recommended preamble length and preamble detection thresholds listed above are to achieve 0% PER. They may be shortened when occasional packet errors are tolerable. 2. All recommended preamble lengths and detection thresholds include AGC and BCR settling times. 3. “Standard” preamble type should be set for an alternating data sequence at the max data rate (…10101010…) 4. “Non-standard” preamble type can be set for any preamble type including …10101010... 5. When preamble detection threshold = 0, sync word needs to be 3 Bytes to avoid false syncs. When only a 2 Byte sync word is available the sync word detection can be extended by including the last preamble Byte into the RX sync word setting. Rev 1.0 21 Si4438 5. Internal Functional Blocks The following sections provide an overview to the key internal blocks and features. 5.1. RX Chain The internal low-noise amplifier (LNA) is designed to be a wide-band LNA that can be matched with three external discrete components to cover any common range of frequencies in the sub-GHz band. The LNA has extremely low noise to suppress the noise of the following stages and achieve optimal sensitivity; so, no external gain or front-end modules are necessary. The LNA has gain control, which is controlled by the internal automatic gain control (AGC) algorithm. The LNA is followed by an I-Q mixer, filter, programmable gain amplifier (PGA), and ADC. The I-Q mixers downconvert the signal to an intermediate frequency. The PGA then boosts the gain to be within dynamic range of the ADC. The ADC rejects out-of-band blockers and converts the signal to the digital domain where filtering, demodulation, and processing is performed. Peak detectors are integrated at the output of the LNA and PGA for use in the AGC algorithm. 5.2. RX Modem Using high-performance ADCs allows channel filtering, image rejection, and demodulation to be performed in the digital domain, which allows for flexibility in optimizing the device for particular applications. The digital modem performs the following functions: Channel selection filter TX modulation RX demodulation Automatic Gain Control (AGC) Preamble detection Invalid preamble detection Radio signal strength indicator (RSSI) Automatic frequency compensation (AFC) Cyclic redundancy check (CRC) The digital channel filter and demodulator are optimized for ultra-low-power consumption and are highly configurable. Supported modulation types are GFSK, FSK, GMSK, and OOK. The channel filter can be configured to support bandwidths ranging from 850 down to 1.1 kHz. A large variety of data rates are supported ranging from 100 bps up to 500 kbps. The configurable preamble detector is used with the synchronous demodulator to improve the reliability of the sync-word detection. Preamble detection can be skipped using only sync detection, which is a valuable feature of the asynchronous demodulator when very short preambles are used in protocols, such as MBus. The received signal strength indicator (RSSI) provides a measure of the signal strength received on the tuned channel. The resolution of the RSSI is 0.5 dB. This high-resolution RSSI enables accurate channel power measurements for clear channel assessment (CCA), carrier sense (CS), and listen before talk (LBT) functionality. A comprehensive programmable packet handler including key features of Silicon Labs’ EZMAC is integrated to create a variety of communication topologies ranging from peer-to-peer networks to mesh networks. The extensive programmability of the packet header allows for advanced packet filtering, which, in turn enables a mix of broadcast, group, and point-to-point communication. A wireless communication channel can be corrupted by noise and interference, so it is important to know if the received data is free of errors. A cyclic redundancy check (CRC) is used to detect the presence of erroneous bits in each packet. A CRC is computed and appended at the end of each transmitted packet and verified by the receiver to confirm that no errors have occurred. The packet handler and CRC can significantly reduce the load on the system microcontroller allowing for a simpler and cheaper microcontroller. The digital modem includes the TX modulator, which converts the TX data bits into the corresponding stream of digital modulation values to be summed with the fractional input to the sigma-delta modulator. This modulation approach results in highly accurate resolution of the frequency deviation. A Gaussian filter is implemented to support GFSK, considerably reducing the energy in adjacent channels. 22 Rev 1.0 Si4438 5.2.1. Automatic Gain Control (AGC) The AGC algorithm is implemented digitally using an advanced control loop optimized for fast response time. The AGC occurs within a single bit or in less than 2 µs. Peak detectors at the output of the LNA and PGA allow for optimal adjustment of the LNA gain and PGA gain to optimize IM3, selectivity, and sensitivity performance. 5.2.2. Auto Frequency Correction (AFC) Frequency mistuning caused by crystal inaccuracies can be compensated for by enabling the digital automatic frequency control (AFC) in receive mode. There are two types of integrated frequency compensation: modem frequency compensation, and AFC by adjusting the PLL frequency. With AFC disabled, the modem compensation can correct for frequency offsets up to ±0.25 times the IF bandwidth. When the AFC is enabled, the received signal will be centered in the pass-band of the IF filter, providing optimal sensitivity and selectivity over a wider range of frequency offsets up to ±0.35 times the IF bandwidth. When AFC is enabled, the preamble length needs to be long enough to settle the AFC. As shown in Table 13 on page 21, an additional byte of preamble is typically required to settle the AFC. 5.2.3. Received Signal Strength Indicator The received signal strength indicator (RSSI) is an estimate of the signal strength in the channel to which the receiver is tuned. The RSSI measurement is done after the channel filter, so it is only a measurement of the desired or undesired in-band signal power. There are two different methods for reading the RSSI value and several different options for configuring the RSSI value that is returned. The fastest method for reading the RSSI is to configure one of the four fast response registers (FRR) to return a latched RSSI value. The latched RSSI value is measured once per packet and is latched at a configurable amount of time after RX mode is entered. The fast response registers can be read in 16 SPI clock cycles with no requirement to wait for CTS. The RSSI value may also be read out of the GET_MODEM_STATUS command. In this command, both the current RSSI and the latched RSSI are available. The current RSSI value represents the signal strength at the instant in time the GET_MODEM_STATUS command is processed and may be read multiple times per packet. Reading the RSSI in the GET_MODEM_STATUS command takes longer than reading the RSSI out of the fast response register. After the initial command, it will take 33 μs for CTS to be set and then the four or five bytes of SPI clock cycles to read out the respective current or latched RSSI values. The RSSI configuration options are set in the MODEM_RSSI_CONTROL API property. The latched RSSI value may be latched and stored based on the following events: preamble detection, sync detection, or a configurable number of bit times measured after the start of RX mode (minimum of 4 bit times). The requirement for four bit times is determined by the processing delay and settling through the modem and digital channel filter. In MODEM_RSSI_CONTROL, the RSSI may be defined to update every bit period or to be averaged and updated every four bit periods. If RSSI averaging over four bits is enabled, the latched RSSI value will be delayed to a minimum of 7 bits after the start of RX mode to allow for the averaging. The latched RSSI values are cleared when entering RX mode so they may be read after the packet is received or after dropping back to standby mode. If the RSSI value has been cleared by the start of RX but not latched yet, a value of 0 will be returned if it is attempted to be read. The RSSI value read by the API could be translated to dBm by the following linear equation: RSSI dBm = RSSI_value --------------------------------- – 130 2 Rev 1.0 23 Si4438 The RSSI values and curves may be offset by the MODEM_RSSI_COMP property. The default value of 7’h32 corresponds to no RSSI offset. Setting a value less than 7’h32 corresponds to a negative offset, and a value higher than 7’h32 corresponds to a positive offset. The offset value is in 1 dB steps. For example, setting a value of 7’h3A corresponds to a positive offset of 8 dB. Clear channel assessment (CCA) or RSSI threshold detection is also available. An RSSI threshold may be set in the MODEM_RSSI_THRESH API property. If the RSSI value is above this threshold, an interrupt or GPIO may notify the host. Both the latched version and asynchronous version of this threshold are available on any of the GPIOs. Automatic fast hopping based on RSSI is available. See “5.3.1.2. Automatic RX Hopping and Hop Table”. 5.3. Synthesizer An integrated Sigma Delta () Fractional-N PLL synthesizer capable of operating over 425–525 MHz. Using a synthesizer has many advantages; it provides flexibility in choosing data rate, deviation, channel frequency, and channel spacing. The transmit modulation is applied directly to the loop in the digital domain through the fractional divider, which results in very precise accuracy and control over the transmit deviation. The frequency resolution in the 425–525 MHz band is 14.3 Hz with more resolution in the other bands. The nominal reference frequency to the PLL is 30 MHz, but any XTAL frequency from 25 to 32 MHz may be used. The modem configuration calculator in WDS will automatically account for the XTAL frequency being used. The PLL utilizes a differential LC VCO with integrated on-chip inductors. The output of the VCO is followed by a configurable divider, which will divide the signal down to the desired output frequency band. 5.3.1. Synthesizer Frequency Control The frequency is set by changing the integer and fractional settings to the synthesizer. The WDS calculator will automatically provide these settings, but the synthesizer equation is shown below for convenience. The APIs for setting the frequency are FREQ_CONTROL_INTE, FREQ_CONTROL_FRAC2, FREQ_CONTROL_FRAC1, and FREQ_CONTROL_FRAC0. freq_xo fc_frac- 2 RF_channel = fc_inte + ---------------- ----------------------------- Hz 19 outdiv 2 Note: The fc_frac/219 value in the above formula has to be a number between 1 and 2. 5.3.1.1. EZ Frequency Programming In applications that utilize multiple frequencies or channels, it may not be desirable to write four API registers each time a frequency change is required. EZ frequency programming is provided so that only a single register write (channel number) is required to change frequency. A base frequency is first set by first programming the integer and fractional components of the synthesizer. This base frequency will correspond to channel 0. Next, a channel step size is programmed into the FREQ_CONTROL_CHANNEL_STEP_SIZE_1 and FREQ_CONTROL_CHANNEL_STEP_SIZE_0 API registers. The resulting frequency will be: RF Frequency = Base Frerquency + Channel Stepsi ze The second argument of the START_RX or START_TX is CHANNEL, which sets the channel number for EZ frequency programming. For example, if the channel step size is set to 1 MHz, the base frequency is set to 490 MHz with the INTE and FRAC API registers, and a CHANNEL number of 5 is programmed during the START_TX command, the resulting frequency will be 495 MHz. If no CHANNEL argument is written as part of the START_RX/TX command, it will default to the previous value. The initial value of CHANNEL is 0; so, if no CHANNEL value is written, it will result in the programmed base frequency. 24 Rev 1.0 Si4438 5.3.1.2. Automatic RX Hopping and Hop Table The transceiver supports an automatic hopping feature that can be fully configured through the API. This is intended for RX hopping where the device has to hop from channel to channel and look for packets. Once the device is put into the RX state, it automatically starts hopping through the hop table if the feature is enabled. The hop table can hold up to 64 entries and is maintained in firmware. Each entry is a channel number; so, the hop table can hold up to 64 channels. The number of entries in the table is set by RX HOP TABLE_SIZE API. The specified channels correspond to the EZ frequency programming method for programming the frequency. The receiver starts at the base channel and hops in sequence from the top of the hop table to the bottom. The table will wrap around to the base channel once it reaches the end of the table. An entry of 0xFF in the table indicates that the entry should be skipped. The device will hop to the next non 0xFF entry. There are three conditions that can be used to determine whether to continue hopping or to stay on a particular channel. These conditions are: RSSI threshold Preamble timeout (invalid preamble pattern) Sync word timeout (invalid or no sync word detected after preamble) These conditions can be used individually, or they can be enabled all together by configuring the RX_HOP_CONTROL API. However, the firmware will make a decision on whether or not to hop based on the first condition that is met. The RSSI that is monitored is the current RSSI value. This is compared to the threshold, and, if it is above the threshold value, it will stay on the channel. If the RSSI is below the threshold, it will continue hopping. There is no averaging of RSSI done during the automatic hopping from channel to channel. Since the preamble timeout and the sync word timeout are features that require packet handling, the RSSI threshold is the only condition that can be used if the user is in “direct” or “RAW” mode where packet handling features are not used. Note that the RSSI threshold is not an absolute RSSI value; instead, it is a relative value and should be verified on the bench to find an optimal threshold for the application. The turnaround time from RX to RX on a different channel using this method is 115 µs. The time spent in receive mode will be determined by the configuration of the hop conditions. Manual RX hopping will have the fastest turn-around time but will require more overhead and management by the host MCU. The following are example steps for using Auto Hop: 1. Set the base frequency (inte + frac) and channel step size. 2. Define the number of entries in the hop table (RX_HOP_TABLE_SIZE). 3. Write the channels to the hop table (RX_HOP_TABLE_ENTRY_n) 4. Configure the hop condition and enable auto hopping- RSSI, preamble, or sync (RX_HOP_CONTROL). 5. Set preamble and sync parameters if enabled. 6. Program the RSSI threshold property in the modem using “MODEM_RSSI_THRESH”. 7. Set the preamble threshold using “PREAMBLE_CONFIG_STD_1”. 8. Program the preamble timeout property using “PREAMBLE_CONFIG_STD_2”. 9. Set the sync detection parameters if enabled. 10. If needed, use “GPIO_PIN_CFG” to configure a GPIO to toggle on hop and hop table wrap. 11. Use the “START_RX” API with channel number set to the first valid entry in the hop table (i.e., the first non 0xFF entry). 12. Device should now be in auto hop mode. 5.3.1.3. Manual RX Hopping The RX_HOP command provides the fastest method for hopping from RX to RX but it requires more overhead and management by the host MCU. Using the RX_HOP command, the turn-around time is 75 µs. The timing is faster with this method than Start_RX or RX hopping because one of the calculations required for the synthesizer calibrations is offloaded to the host and must be calculated/stored by the host, VCO_CNT0. For information about using fast manual hopping, contact customer support. Rev 1.0 25 Si4438 5.4. Transmitter (TX) The Si4438 contains an integrated +20 dBm transmitter or power amplifier that is capable of transmitting from –20 to +20 dBm. The output power steps are less than 0.25 dB within 6 dB of max power but become larger and more non-linear close to minimum output power. The Si4438 PA is designed to provide the highest efficiency and lowest current consumption possible. PA options are single-ended to allow for easy antenna matching and low BOM cost. Automatic ramp-up and ramp-down is automatically performed to reduce unwanted spectral spreading. Chip’s TXRAMP pin is disabled by default to save current in cases where on-chip PA will be able to drive the antenna. In cases where on-chip PA will drive the external PA, and the external PA needs a ramping signal, TXRAMP is the signal to use. To enable TXRAMP, set the API Property PA_MODE[7] = 1. TXRAMP will start to ramp up, and ramp down at the SAME time as the internal on-chip PA ramps up/down. The ramping speed is programmed by TC[3:0] in the PA_RAMP_EX API property, which has the following characteristics: TC Ramp Time (µs) 0.0 2.0 1.0 2.1 2.0 2.2 3.0 2.4 4.0 2.6 5.0 2.8 6.0 3.1 7.0 3.4 8.0 3.7 9.0 4.1 10.0 4.5 11.0 5.0 12.0 6.0 13.0 8.0 14.0 10.0 15.0 20.0 The ramping profile is close to a linear ramping profile with smoothed out corner when approaching Vhi and Vlo. The TXRAMP pin can source up to 1 mA without voltage drooping. The TXRAMP pin’s sinking capability is equivalent to a 10 k pull-down resistor. Vhi = 3 V when Vdd > 3.3 V. When Vdd < 3.3 V, the Vhi will be closely following the Vdd, and ramping time will be smaller also. Vlo = 0 V when NO current needed to be sunk into TXRAMP pin. If 10uA need to be sunk into the chip, Vlo will be 10 µA x 10k = 100 mV. 26 Rev 1.0 Si4438 Number Command Summary 0x2200 PA_MODE 0x2201 PA_PWR_LVL 0x2202 PA_BIAS_CLKDUTY Adjust TX power in coarse steps and optimizes for different match configurations. 0x2203 PA_TC Changes the ramp up/down time of the PA. Sets PA type. Adjust TX power in fine steps. 5.4.1. Si4438: +20 dBm PA The +20 dBm configuration utilizes a class-E matching configuration. Typical performance for output power steps, voltage, and temperature are shown in Figures 7–9. The output power is changed in 128 steps through PA_PWR_LVL API. For detailed matching values, BOM, and performance at other frequencies, refer to the PA Matching application note. TX Power(dBm) TX Power vs. PA_PWR_LVL 25 20 15 10 5 0 -5 -10 -15 -20 -25 -30 -35 0 10 20 30 40 50 60 70 80 90 100 110 120 PA_PWR_LVL Figure 7. +20 dBm TX Power vs. PA_PWR_LVL TX Power vs. VDD TX Power (dBm) 22 20 18 16 14 12 10 1.8 2 2.2 2.4 2.6 2.8 3 3.2 3.4 3.6 Supply Voltage (VDD) Figure 8. +20 dBm TX Power vs. VDD Rev 1.0 27 Si4438 TX Power vs Temp TX Power (dBm) 20.5 20 19.5 19 18.5 18 -40 -30 -20 -10 0 10 20 30 40 50 60 Temperature (C) Figure 9. +20 dBm TX Power vs. Temp 28 Rev 1.0 70 80 Si4438 5.5. Crystal Oscillator The Si4438 includes an integrated crystal oscillator with a fast start-up time of less than 250 µs. The design is differential with the required crystal load capacitance integrated on-chip to minimize the number of external components. By default, all that is required off-chip is the crystal. The default crystal is 30 MHz, but the circuit is designed to handle any XTAL from 25 to 32 MHz. If a crystal different than 30 MHz is used, the POWER_UP API boot command must be modified. The WDS calculator crystal frequency field must also be changed to reflect the frequency being used. The crystal load capacitance can be digitally programmed to accommodate crystals with various load capacitance requirements and to adjust the frequency of the crystal oscillator. The tuning of the crystal load capacitance is programmed through the GLOBAL_XO_TUNE API property. The total internal capacitance is 11 pF and is adjustable in 127 steps (70 fF/step). The crystal frequency adjustment can be used to compensate for crystal production tolerances. The frequency offset characteristics of the capacitor bank are demonstrated in Figure 10. Figure 10. Capacitor Bank Frequency Offset Characteristics Utilizing the on-chip temperature sensor and suitable control software, the temperature dependency of the crystal can be canceled. A TCXO or external signal source can easily be used in place of a conventional XTAL and should be connected to the XIN pin. The incoming clock signal is recommended to be peak-to-peak swing in the range of 600 mV to 1.4 V and ac-coupled to the XIN pin. If the peak-to-peak swing of the TCXO exceeds 1.4 V, then dc coupling to the XIN pin should be used. The maximum allowed swing on XIN is 1.8 V peak-to-peak. The XO capacitor bank should be set to 0 whenever an external drive is used on the XIN pin. In addition, the POWER_UP command should be invoked with the TCXO option whenever external drive is used. Rev 1.0 29 Si4438 6. Data Handling and Packet Handler 6.1. RX and TX FIFOs Two 64-byte FIFOs are integrated into the chip, one for RX and one for TX, as shown in Figure 11. Writing to command Register 66h loads data into the TX FIFO, and reading from command Register 77h reads data from the RX FIFO. The TX FIFO has a threshold for when the FIFO is almost empty, which is set by the “TX_FIFO_EMPTY” property. An interrupt event occurs when the data in the TX FIFO reaches the almost empty threshold. If more data is not loaded into the FIFO, the chip automatically exits the TX state after the PACKET_SENT interrupt occurs. The RX FIFO has one programmable threshold, which is programmed by setting the “RX_FIFO_FULL” property. When the incoming RX data crosses the Almost Full Threshold, an interrupt will be generated to the microcontroller via the nIRQ pin. The microcontroller will then need to read the data from the RX FIFO. The RX Almost Full Threshold indication implies that the host can read at least the threshold number of bytes from the RX FIFO at that time. Both the TX and RX FIFOs may be cleared or reset with the “FIFO_RESET” command. RX FIFO TX FIFO RX FIFO Almost Full Threshold TX FIFO Almost Empty Threshold Figure 11. TX and RX FIFOs 6.2. Packet Handler Config 0, 2, o r 4 Bytes Con fig 0, 2, o r 4 Bytes Rev 1.0 0, 2, o r 4 B ytes C RC Field 5 (op t) Field 5 (opt) Data C RC Field 4 (op t) Con fig Figure 12. Packet Handler Structure 30 Field 4 (opt) Data C RC Field 3 (op t) Field 3 (opt) Data Con fig C RC Field 2 (op t) 1-4 Bytes F ield 2 (o pt) Pkt Len gth or Data Field 1 Header or Data 1-255 Bytes C RC Field 1 (op t) Preamble Sync Word When using the FIFOs, automatic packet handling may be enabled for TX mode, RX mode, or both. The usual fields for network communication, such as preamble, synchronization word, headers, packet length, and CRC, can be configured to be automatically added to the data payload. The fields needed for packet generation normally change infrequently and can therefore be stored in registers. Automatically adding these fields to the data payload in TX mode and automatically checking them in RX mode greatly reduces the amount of communication between the microcontroller and Si4438. It also greatly reduces the required computational power of the microcontroller. The general packet structure is shown in Figure 12. Any or all of the fields can be enabled and checked by the internal packet handler. Con fig 0, 2, or 4 Bytes 0, 2, or 4 Bytes Si4438 The fields are highly programmable and can be used to check any kind of pattern in a packet structure. The general functions of the packet handler include the following: Detection/validation of Preamble quality in RX mode (PREAMBLE_VALID signal) of Sync word in RX mode (SYNC_OK signal) Detection of valid packets in RX mode (PKT_VALID signal) Detection of CRC errors in RX mode (CRC_ERR signal) Data de-whitening and/or Manchester decoding (if enabled) in RX mode Match/Header checking in RX mode Storage of Data Field bytes into FIFO memory in RX mode Construction of Preamble field in TX mode Construction of Sync field in TX mode Construction of Data Field from FIFO memory in TX mode Construction of CRC field (if enabled) in TX mode Data whitening and/or Manchester encoding (if enabled) in TX mode For details on how to configure the packet handler, see “AN626: Packet Handler Operation for Si4438 RFICs”. Detection Rev 1.0 31 Si4438 7. RX Modem Configuration The Si4438 can easily be configured for different data rate, deviation, frequency, etc. by using the WDS settings calculator, which generates an initialization file for use by the host MCU. 8. Auxiliary Blocks 8.1. Wake-up Timer and 32 kHz Clock Source The chip contains an integrated wake-up timer that can be used to periodically wake the chip from sleep mode. The wake-up timer runs from either the internal 32 kHz RC Oscillator, or from an external 32 kHz XTAL. The wake-up timer can be configured to run when in sleep mode. If WUT_EN = 1 in the GLOBAL_WUT_CONFIG property, prior to entering sleep mode, the wake-up timer will count for a time specified defined by the GLOBAL_WUT_R and GLOBAL_WUT_M properties. At the expiration of this period, an interrupt will be generated on the nIRQ pin if this interrupt is enabled in the INT_CTL_CHIP_ENABLE property. The microcontroller will then need to verify the interrupt by reading the chip interrupt status either via GET_INT_STATUS or a fast response register. The formula for calculating the Wake-Up Period is as follows: WUT_R 42 WUT = WUT_M ----------------------------- ms 32.768 The RC oscillator frequency will change with temperature; so, a periodic recalibration is required. The RC oscillator is automatically calibrated during the POWER_UP command and exits from the Shutdown state. To enable the recalibration feature, CAL_EN must be set in the GLOBAL_WUT_CONFIG property, and the desired calibration period should be selected via WUT_CAL_PERIOD[2:0] in the same API property. During the calibration, the 32 kHz RC oscillator frequency is compared to the 30 MHz XTAL and then adjusted accordingly. The calibration needs to start the 30 MHz XTAL, which increases the average current consumption; so, a longer CAL_PERIOD results in a lower average current consumption. The 32 kHz XTAL accuracy is comprised of both the XTAL parameters and the internal circuit. The XTAL accuracy can be defined as the XTAL initial error + XTAL aging + XTAL temperature drift + detuning from the internal oscillator circuit. The error caused by the internal circuit is typically less than 10 ppm. Refer to API documentation for details on WUT related commands and properties. 8.2. Low Duty Cycle Mode (Auto RX Wake-Up) The low duty cycle (LDC) mode is implemented to automatically wake-up the receiver to check if a valid signal is available or to enable the transmitter to send a packet. It allows low average current polling operation by the Si4438 for which the wake-up timer (WUT) is used. RX and TX LDC operation must be set via the GLOBAL_WUT_CONFIG property when setting up the WUT. The LDC wake-up period is determined by the following formula: WUT_R 42 LDC = WUT_LDC ----------------------------- ms 32 768 where the WUT_LDC parameter can be set by the GLOBAL_WUT_LDC property. The WUT period must be set in conjunction with the LDC mode duration; for the relevant API properties, see the wake-up timer (WUT) section. 32 Rev 1.0 Si4438 Figure 13. RX and TX LDC Sequences The basic operation of RX LDC mode is shown in Figure 14. The receiver periodically wakes itself up to work on RX_STATE during LDC mode duration. If a valid preamble is not detected, a receive error is detected, or an entire packet is not received, the receiver returns to the WUT state (i.e., ready or sleep) at the end of LDC mode duration and remains in that mode until the beginning of the next wake-up period. If a valid preamble or sync word is detected, the receiver delays the LDC mode duration to receive the entire packet. If a packet is not received during two LDC mode durations, the receiver returns to the WUT state at the last LDC mode duration until the beginning of the next wake-up period. Figure 14. Low Duty Cycle Mode for RX In TX LDC mode, the transmitter periodically wakes itself up to transmit a packet that is in the data buffer. If a packet has been transmitted, nIRQ goes low if the option is set in the INT_CTL_ENABLE property. After transmitting, the transmitter immediately returns to the WUT state and stays there until the next wake-up time expires. Rev 1.0 33 Si4438 8.3. Temperature, Battery Voltage, and Auxiliary ADC The Si4438 family contains an integrated auxiliary ADC for measuring internal battery voltage, an internal temperature sensor, or an external component over a GPIO. The ADC utilizes a SAR architecture and achieves 11-bit resolution. The Effective Number of Bits (ENOB) is 9 bits. When measuring external components, the input voltage range is 1 V, and the conversion rate is between 300 Hz to 2.44 kHz. The ADC value is read by first sending the GET_ADC_READING command and enabling the inputs that are desired to be read: GPIO, battery, or temp. The temperature sensor accuracy at 25 °C is typically ±2 °C. For API details, refer to the EZRadioPRO API Documentation.zip file available on www.silabs.com. 8.4. Low Battery Detector The low battery detector (LBD) is enabled and utilized as part of the wake-up-timer (WUT). The LBD function is not available unless the WUT is enabled, but the host MCU can manually check the battery voltage anytime with the auxiliary ADC. The LBD function is enabled in the GLOBAL_WUT_CONFIG API property. The battery voltage will be compared against the threshold each time the WUT expires. The threshold for the LBD function is set in GLOBAL_LOW_BATT_THRESH. The threshold steps are in increments of 50 mV, ranging from a minimum of 1.5 V up to 3.05 V. The accuracy of the LBD is ±3%. The LBD notification can be configured as an interrupt on the nIRQ pin or enabled as a direct function on one of the GPIOs. 8.5. Antenna Diversity To mitigate the problem of frequency-selective fading due to multipath propagation, some transceiver systems use a scheme known as antenna diversity. In this scheme, two antennas are used. Each time the transceiver enters RX mode the receive signal strength from each antenna is evaluated. This evaluation process takes place during the preamble portion of the packet. The antenna with the strongest received signal is then used for the remainder of that RX packet. The same antenna will also be used for the next corresponding TX packet. This chip fully supports antenna diversity with an integrated antenna diversity control algorithm. The required signals needed to control an external SPDT RF switch (such as a PIN diode or GaAs switch) are available on the GPIOx pins. The operation of these GPIO signals is programmable to allow for different antenna diversity architectures and configurations. The antdiv[2:0] bits are found in the MODEM_ANT_DIV_CONTROL API property descriptions and enable the antenna diversity mode. The GPIO pins are capable of sourcing up to 5 mA of current; so, it may be used directly to forward-bias a PIN diode if desired. The antenna diversity algorithm will automatically toggle back and forth between the antennas until the packet starts to arrive. The recommended preamble length for optimal antenna selection is 8 bytes. 34 Rev 1.0 Si4438 SDN 1 20 19 18 17 16 RXp 2 15 nSEL RXn 3 14 SDI GND PAD TX 4 13 SDO Pin Name 7 8 9 VDD GPIO0 10 11 nIRQ GPIO1 6 TXRamp 12 SCLK VDD NC 5 Pin XOUT XIN GND GPIO2 GPIO3 9. Pin Descriptions: Si4438 I/0 Description 1 SDN I Shutdown Input Pin. 0–VDD V digital input. SDN should be = 0 in all modes except Shutdown mode. When SDN = 1, the chip will be completely shut down, and the contents of the registers will be lost. 2 RXp I Differential RF Input Pins of the LNA. 3 RXn I See application schematic for example matching network. Transmit Output Pin. 4 TX 5 NC 6 VDD VDD 7 TXRAMP O 8 VDD VDD 9 GPIO0 I/O General Purpose Digital I/O. I/O May be configured through the registers to perform various functions including: Microcontroller Clock Output, FIFO status, POR, Wake-Up timer, Low Battery Detect, TRSW, AntDiversity control, etc. 10 GPIO1 O The PA output is an open-drain connection, so the L-C match must supply VDD (+3.3 VDC nominal) to this pin. No Connect. Not connected internally to any circuitry. +1.8 to +3.6 V Supply Voltage Input to Internal Regulators. The recommended VDD supply voltage is +3.3 V. Programmable Bias Output with Ramp Capability for External FET PA. See "5.4. Transmitter (TX)" on page 26. +1.8 to +3.6 V Supply Voltage Input to Internal Regulators. The recommended VDD supply voltage is +3.3 V. Rev 1.0 35 Si4438 Pin Pin Name I/0 Description General Microcontroller Interrupt Status Output. 11 nIRQ O When the Si4438 exhibits any one of the interrupt events, the nIRQ pin will be set low = 0. The Microcontroller can then determine the state of the interrupt by reading the interrupt status. No external resistor pull-up is required, but it may be desirable if multiple interrupt lines are connected. Serial Clock Input. 12 SCLK I 13 SDO O 0–VDD V digital input. This pin provides the serial data clock function for the 4-line serial data bus. Data is clocked into the Si4438 on positive edge transitions. 0–VDD V Digital Output. Provides a serial readback function of the internal control registers. Serial Data Input. 14 SDI I 0–VDD V digital input. This pin provides the serial data stream for the 4-line serial data bus. Serial Interface Select Input. 15 nSEL I 0–VDD V digital input. This pin provides the Select/Enable function for the 4-line serial data bus. Crystal Oscillator Output. 16 XOUT O 17 XIN I 18 GND GND 19 GPIO2 I/O General Purpose Digital I/O. I/O May be configured through the registers to perform various functions, including Microcontroller Clock Output, FIFO status, POR, Wake-Up timer, Low Battery Detect, TRSW, AntDiversity control, etc. GND The exposed metal paddle on the bottom of the Si4438 supplies the RF and circuit ground(s) for the entire chip. It is very important that a good solder connection is made between this exposed metal paddle and the ground plane of the PCB underlying the Si4438. 20 PKG 36 GPIO3 PADDLE_GND Connect to an external 25 to 32 MHz crystal, or leave floating when driving with an external source on XIN. Crystal Oscillator Input. Connect to an external 25 to 32 MHz crystal, or connect to an external source. Connect to PCB ground. Rev 1.0 Si4438 10. Ordering Information Part Number1,2 Si4438-B1C-FM Description Package Type QFN-20 Pb-free ISM EZRadioPRO Transceiver Operating Temperature –40 to 85 °C Notes: 1. Add an “(R)” at the end of the device part number to denote tape and reel option. 2. For Bxx, the first “x” indicates the ROM version, and the second “x” indicates the FW version in OTP. Rev 1.0 37 Si4438 11. Package Outline: Si4438 Figure 15 illustrates the package details for the Si4438. Table 14 lists the values for the dimensions shown in the illustration. 2X bbb C B A D D2 Pin 1 (Laser) e 20 20x L 1 E E2 2X aaa C A1 20x b ccc C ddd eee C A A3 SEATING PLANE C Figure 15. 20-Pin Quad Flat No-Lead (QFN) 38 Rev 1.0 C A B Si4438 Table 14. Package Dimensions Dimension Min Nom Max A 0.80 0.85 0.90 A1 0.00 0.02 0.05 A3 b 0.20 REF 0.18 0.25 D D2 0.30 4.00 BSC 2.45 2.60 e 0.50 BSC E 4.00 BSC 2.75 E2 2.45 2.60 2.75 L 0.30 0.40 0.50 aaa 0.15 bbb 0.15 ccc 0.10 ddd 0.10 eee 0.08 Notes: 1. All dimensions are shown in millimeters (mm) unless otherwise noted. 2. Dimensioning and tolerancing per ANSI Y14.5M-1994. 3. This drawing conforms to the JEDEC Solid State Outline MO-220, Variation VGGD-8. 4. Recommended card reflow profile is per the JEDEC/IPC J-STD-020 specification for Small Body Components. Rev 1.0 39 Si4438 12. PCB Land Pattern: Si4438 Figure 16 illustrates the PCB land pattern details for the Si4438. Table 15 lists the values for the dimensions shown in the illustration. Figure 16. PCB Land Pattern 40 Rev 1.0 Si4438 Table 15. PCB Land Pattern Dimensions Symbol Millimeters Min Max C1 3.90 4.00 C2 3.90 E 4.00 0.50 REF X1 0.20 0.30 X2 2.55 2.65 Y1 0.65 0.75 Y2 2.55 2.65 Notes: General 1. All dimensions shown are in millimeters (mm) unless otherwise noted. 2. This land pattern design is based on IPC-7351 guidelines. Solder Mask Design 3. All metal pads are to be non-solder mask defined (NSMD). Clearance between the solder mask and the metal pad is to be 60 µm minimum, all the way around the pad. Stencil Design 4. A stainless steel, laser-cut and electro-polished stencil with trapezoidal walls should be used to assure good solder paste release. 5. The stencil thickness should be 0.125 mm (5 mils). 6. The ratio of stencil aperture to land pad size should be 1:1 for the perimeter pads. 7. A 2x2 array of 1.10 x 1.10 mm openings on 1.30 mm pitch should be used for the center ground pad. Card Assembly 8. A No-Clean, Type-3 solder paste is recommended. 9. The recommended card reflow profile is per the JEDEC/IPC J-STD-020 specification for small body components. Rev 1.0 41 Si4438 13. Top Marking 13.1. Si4438 Top Marking 13.2. Top Marking Explanation Mark Method YAG Laser Line 1 Marking Part Number 44381C = Si4438 Rev 1C1 Line 2 Marking TTTTT = Internal Code Internal tracking code.2 Line 3 Marking YY = Year WW = Workweek Assigned by the Assembly House. Corresponds to the last significant digit of the year and workweek of the mold date. Notes: 1. The first letter after the part number is part of the ROM revision. The last letter indicates the firmware revision. 2. The first letter of this line is part of the ROM revision. 42 Rev 1.0 Si4438 DOCUMENT CHANGE LIST Revision 0.1 to Revision 1.0 Updated notes in Electrical Specifications tables. Added Table 7, “Thermal Operating Characteristics,” on page 10. Updated Table 9, “Serial Interface Timing Parameters,” on page 12. Updated "3.4. Application Programming Interface" on page 18. Updated "4. Modulation and Hardware Configuration Options" on page 19. Updated "5.2.3. Received Signal Strength Indicator" on page 23. Updated "8.3. Temperature, Battery Voltage, and Auxiliary ADC" on page 34. Rev 1.0 43 Si4438 CONTACT INFORMATION Silicon Laboratories Inc. 400 West Cesar Chavez Austin, TX 78701 Tel: 1+(512) 416-8500 Fax: 1+(512) 416-9669 Toll Free: 1+(877) 444-3032 Please visit the Silicon Labs Technical Support web page: https://www.silabs.com/support/pages/contacttechnicalsupport.aspx and register to submit a technical support request. Patent Notice Silicon Labs invests in research and development to help our customers differentiate in the market with innovative low-power, small size, analog-intensive mixed-signal solutions. Silicon Labs' extensive patent portfolio is a testament to our unique approach and world-class engineering team. The information in this document is believed to be accurate in all respects at the time of publication but is subject to change without notice. Silicon Laboratories assumes no responsibility for errors and omissions, and disclaims responsibility for any consequences resulting from the use of information included herein. Additionally, Silicon Laboratories assumes no responsibility for the functioning of undescribed features or parameters. Silicon Laboratories reserves the right to make changes without further notice. Silicon Laboratories makes no warranty, representation or guarantee regarding the suitability of its products for any particular purpose, nor does Silicon Laboratories assume any liability arising out of the application or use of any product or circuit, and specifically disclaims any and all liability, including without limitation consequential or incidental damages. Silicon Laboratories products are not designed, intended, or authorized for use in applications intended to support or sustain life, or for any other application in which the failure of the Silicon Laboratories product could create a situation where personal injury or death may occur. Should Buyer purchase or use Silicon Laboratories products for any such unintended or unauthorized application, Buyer shall indemnify and hold Silicon Laboratories harmless against all claims and damages. Silicon Laboratories and Silicon Labs are trademarks of Silicon Laboratories Inc. Other products or brandnames mentioned herein are trademarks or registered trademarks of their respective holders. 44 Rev 1.0