Si4x6x radios can operate in High-performance or Low-power modes, which can be set in GLOBAL_CONFIG property. In order to save some current consumption (typically 2-3mA), low-power mode can be enabled, however it has some tradeoff in RX performance (sensitivity, linearity).
If the crystal parameters meet the requirements listed in AN785 section 1, both high-performance mode and low-power mode should result robust crystal operation on a properly designed PCB layout (crystal placed as close to the XTAL pins as possible).
In high-performance mode there is some margin on the required crystal parameters, but still it is recommended to stay within the ranges listed in AN785 section 1 for safe operation. Crystal start-up issues might occur if the parameters are not met.
In low-power mode meeting the required crystal parameters is more critical, i.e crystal start-up issues might happen even if the RF crystal parameters are near the edge. Low-power mode can be used robustly with a crystal that easily meets the recommended parameters. AN785 Table 1 provides a list of recommended crystals that will ensure safe operation both in high-performance and low-power mode.
If crystal start-up problem occurs in low-power mode, there are 2 possible options to avoid the issue:
Using a 2-layer PCB in the application hardware is usually preferred by customers due to cost saving purposes. Still, based on the RF output power level, unwanted radiation of top or bottom layer traces (mostly VDD or digital) can occur, which causes that the application can violate the harmonic limits of the related standards. In order to minimize the possibility of unwanted trace radiations, Silicon Labs recommends to use multilayer PCBs in the following cases:
>=10dBm output power at 2.4GHz
Note that the actual recommendation depends on which standard (ETSI, FCC, ARIB, etc.) the application has to be compliant with.
One can notice that not all Silicon Labs reference design follows the above listed recommendations. EZRadioPRO reference design boards are made on 2 or 4 PCB layers based on the output power, while all EZR32 and EFR32 reference design boards are using 4 or 6 PCB layers due to the complexity of the design. In the latter case, the layout routing could not be realised on a 2-layer PCB if all digital traces were intended to be used. Of course, on a custom design where the complexity of the design is much less, 2-layer PCBs can be used for EZR32 or EFR32 applications as well considering the above listed recommendations.
Silicon Labs provides RF range calculators for customers to help estimating the actual range of their wireless applications. Simple RF Range Calculator is available to download from the following link below.
RF range depends on the following parameters:
Simple RF Range Calculator
Simple RF Range Calculator is for those customers who don’t want to deal with difficult RF questions, just simply would like to get fast and reasonable results for both outdoor and indoor environments.
Simple RF Range Calculator provides fast and accurate result as the customer selected the frequency band and set TX and RX parameters.
Frequency bands and custom frequency channels can also be selected.
TX Output Power and RX Sensitivity need to set up based on the radio device’s actual link parameters based on the data sheet.
If the exact antenna parameters are unknown notes at the right side can help to determine the closest values.
The achievable RF range depends on many other factors as well. See the following KBA article for further details on RF range factors:
How should I connect the pins which are not intended to be used on Si4x6x / EZR32?
What is the recommended distance between antennas in an antenna diversity application?
Antennas in a product that implements antenna diversity have their antennas mounted at a distance of at least ¼ wavelength apart. This amount of spatial separation improves the probability that at least one antenna is NOT in a deeply faded signal condition. Another typical recommendation is ½ wavelength antenna distance, however, it can result quite large board sizes at low frequencies (e.g. for 434 MHz frequency ½ wavelength is 34,5 cm).
Can I use the same matching network for EZRadioPRO and an EZR32 wireless MCU that is based on the same radio?
The answer depends on the actual PCB layer stack-up as the distance between the top and the first inner (ground) layer determines the PCB parasitic capacitances, which plays part in the matching network.
If the same PCB layer stack-up is used (or at least the distance between the top and the first inner layer is similar), in that case the same matching network component values should result very similar TX and RX performance for an EZRadioPRO radio and an EZR32 wireless MCU. If the PCB layer stack-up deviates significantly, it is not recommended to use the same matching network as the detuning can cause lower output power, higher harmonics, higher current consumption and sensitivity loss.
How can I set up a one way link with the Si4010 Key Fob Development Kit (P/N 4010-KFOBDEV-xxx)? (xxx is the frequency band of the kit)
Setting up the Si4010 MSOP Key Fob Development Board (P/N 4010-DKPBxxx-BM) as the transmitting node of the link.
1. Connect your 4010-DKPBxxx-BM board to your PC according to chapter 5 of AN690: Si4010 Development Kit Quick-Start Guide
Note, that the Si4010 is an OTP device, but during this test it is used in debug mode, i.e. the example program is loaded in and run from the RAM of the device, so
The 6.5 V programming voltage switch on the burning adapter board has to be in OFF state.
The battery switch on the development board has to be in OFF state, the power to the Si4010 will be provided by the burning adapter board. If you switch on the battery switch, VDD of the Si4010 will be momentarily interrupted and your downloaded code from the RAM may get lost during the interruption.
Make sure, that the Si4010 on the board is in factory new state, i.e. the NVM (OTP) memory of the device was not programmed previously.
2. Install the Silicon Labs IDE from https://www.silabs.com/documents/login/software/mcu_ide.exe
3. Download and extract the Si4010 example projects from https://www.silabs.com/documents/public/example-code/Si4010_example_programs.zip
4. Open the keyfob_demo_2 project in Silicon Labs IDE by clicking on \Si4010_example_programs\keyfob_demo_2\bin\keyfob_demo_2.wsp
5. Connect the Silabs IDE to your connected Si4010 device by clicking the Connect button or invoking the Debug -> Connect menu item.
6. The keyfob_demo_2 project is precompiled for 434 MHz. If your development kit is for the 434MHz band, you can skip steps 7, 8, 9 and 10.
7. Install the unlimited Keil PK51 for 8-bit MCUs (Professional Developer's Kit) from http://www.keil.com/c51/pk51kit.asp
9. In the keyfob_demo_2 project, modify the frequency setting according to the band of your development kit (434, 868 or 915 MHz). You can do this by changing the constants in the following lines of keyfob_demo_2_main.c:
fDesiredFreqFSK = f_433_RkeFreqFSK_c;
bFskDev = b_433_RkeFskDev_c;
The constants for the different bands are defined in the keyfob_demo_2.h file.
10. Recompile the project by hitting the Rebuild All button on the tool bar of the IDE.
11. Download the OMF file either by hitting the Download code (Alt+D) toolbar button or from the Debug -> Download object code menu item. The latter also allows IntelHEX download.
12. Start the program by hitting the Disconnect button on the tool bar. Note, that the program is running from RAM, so it will be lost upon disconnecting the power to the Si4010.
Setting up the Si4355 RFStick Receiver Board (P/N 4355-LED-xxx-SRX) as the receiving node of the link.
Connect your 4355-LED-xxx-SRX board to an USB port of your PC via the Toolstick Base Adapter of the development kit.
After power up the board is ready to receive the packets sent by the keyfob_demo_2 program.
The operating frequency is set by the receiver program automatically according to the content of the on-board EBID (board identification) memory.
The 8051F930 MCU on this board is factory-programmed with the Si4010/Si4355 EZRadio Remote Control Demo Kit receiver side sw. The full program project can be downloaded from the link. It contains a precompiled hex file that can be reloaded to the board if necessary, using the Silicon Labs IDE and the Toolstick Base Adapter.
Operating the link:
When a button is pressed on the 4010-DKPBxxx-BM transmitter board, LEDs flash on the 4355-LED-xxx-SRX receiver board according to which button was pressed. For details of the packet structure and RF parameters used in this demo, see the Si4010/Si4355 EZRadio® Remote Control Demo Kit User's Guide
Note that the LED on the transmitter board won't flash because of a debug mode limitation. See details in section 7. of the kit's quick start guide (AN690).
What difference can be observed in RF performance when connecting the GND pin of TCXO to Pin 18 (GNDX) of Si446x or connecting it to the common GND?
In case of using TCXO, a few dB lower (2-3 dB) reference spurs (fxtal away on both sides of the carrier) can be observed when connecting the GND pin of TCXO to Pin 18 (GNDX). Connecting to either GNDX or to the common GND has no effect on any other RF parameters.
For the proper connection of GNDX pin, please refer to the following Knowledge Base Article:
On the EZRadioPro and EZRadio devices the Rx (Receive) state machine can automatically change the device’s state upon three different events:
Let’s have a look at these events and the mechanisms that can make them occur!
RX TIMEOUT: Generally speaking this is an event that signals that there has been no signal detection in the current receive process (i.e., from the time instant the receiver got started / re-started). There are a few mechanism that can provide this signal.
RX VALID: This event simply signals that a packet has been received without a CRC error. Note that if no CRC check is configured in the packet handler, all received packets (albeit erroneous) will be also deemed valid packets.
RX INVALID: This event simply signals that a packet has been received with a CRC error. Note that if no CRC error check is configured in the packet handler, this event will never come about.
Now, in the START_RX command a state can be defined for all above described events (look for arguments RXTIMEOUT_STATE, RXVALID_STATE, RXINVALID_STATE at the START_RX API command) where the automatic state machine will bring the part upon the occurrences of these events.
Let’s go through the typical state transition use cases:
0: NO CHANGE: There will not be any change in the receiver’s state whatsoever. This is the recommended value for the RX TIMEOUT event in normal (i.e., not LDC or PSM) continuous receive mode. One might say the 8: RX_STATE is as good a state transition as no change in such a case. When RX_STATE is selected however, the receiver does get re-started making it blind for a few 100 us while the calibrations are completed. Note also that in automatic frequency hopping Rx application at NO CHANGE the receiver will still hop onto the next channel.
1: SLEEP: This is the recommended value for the RX_TIMEOUT state when in automatic LDC RX mode. The part will be sent back to SLEEP state if no signal is detected in the channel.
3: READY: This state is recommended after a (valid) packet has been received. There are a few advantages of using READY state as opposed to restarting the receiver straight away. (1) The latched RSSI and frequency error measurement values are reset upon entering into RX state therefore if the host FW is not quick enough at reading them they may get lost if automatic RX STATE transition is selected. (2) If the receiver is sent back to RX STATE automatically another packet may be being received while the previous one is being retrieved from the FIFO calling for very careful FIFO handling from the host not to lose parts of packets.
8: RX: This state transition can be used after a (valid/invalid) packet has been received taken above considerations (at READY state) into account.
9: IDLE: This state transition is used by the Preamble Sense Mode (PSM) operation where the receiver is duty cycling in a short term basis. The part will transition into this state of no signal has been detected by the DSA block.
Independently of all above described there is another automatic state machine running in the demodulator while the part is Rx state. (Let’s call this state machine the demodulator state machine and one discussed above the Rx state machine.) It has got three states: (1) Preamble search, (2) Sync word search (3) Packet Receive. Note that the demodulator state machine always gets reset when the Rx state machine transitions into Rx state.
Let’s have a look at the two commonly used packet based receive processes!
All the considerations on the demodulator state machine hold for both the EZRadioPRO and EZRadio devices.
How can I calculate the expected range improvement for a given extra link budget?
The range improvement can be calculated based on the following formula:
- ΔR is the desired value of range improvement (ratio between the new and original range)
- n is the propagation factor (the typical outdoor value is between 2.8 and 4)
- ΔLB is the link budget improvement
The ΔLB link budget improvement can be achieved with higher conducted output power, better conducted sensitivity, or with higher antenna gain either on TX or RX side.
Let’s see an example:
Assuming a ΔLB = 3 dB additional link budget improvement (e.g. the TX power is increased or RX sensitivity is improved by 3 dB) and outdoor line of sight between the transmitter and the receiver (which results ~n = 3 propagation factor), the range improvement will be the following:
Thus, for example assuming 400m original range, 3 dB higher transmitter power or 3 dB better sensitivity would result ~500m range.