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.
How should I choose crystal frequency for my application using Si446x?
Before giving an accurate answer for the question, it is important to clarify a phenomenon called sampling spur (integer boundary spur). If the carrier frequency is near to an integer multiple of the crystal frequency, spurious contents (sampling spurs / integer boundary spurs) can appear below and above the carrier (the distance from carrier is the distance between the carrier and the integer multiple of the crystal frequency). The level of these spurs are getting higher with decreasing distance between the carrier and the crystal harmonic. This way, it is important to choose a crystal frequency that has no integer harmonic near the carrier frequency.
The minimum recommended distance between the carrier frequency and the integer multiple of the crystal frequency should be separated for low and high frequency bands. For low band frequencies (< 525 MHz) the minimum recommended distance is 2,2 MHz, for high frequency bands (> 850 MHz) this value is 2,8 MHz.
Let’s see an example: fc = 869,5 MHz, fxtal = 30 MHz. The 29th harmonic of the crystal frequency is 870 MHz, which is 0,5 MHz away from the carrier frequency. This way, spurious contents will appear 0,5 MHz below and above the carrier as shown in the following figure:
Considering the above mentioned recommended distance from the crystal harmonic, the carrier frequency should be below 867,2 MHz or above 872,8 MHz. The other option is to choose another crystal frequency which fits the recommendation (e.g. 26 MHz).
Other sampling spurs can appear if the nth harmonic of the carrier is near to an integer multiple of the crystal frequency. In this case the distance between the frequency of the sampling spurs and the carrier will be equal to the distance between the nth harmonic and the integer multiple of crystal frequency. Regarding carrier harmonics the recommended distance between the harmonic frequency and the integer multiple of the crystal frequency for low frequency bands is typically 2,2/n MHz, for high frequency bands the value is 2,8/n MHz, where n is the number of carrier harmonic which is near to an integer multiple of the crystal frequency.
Let’s see an example for a 3rd order sampling spur (the 3rd harmonic of the carrier is near to an integer multiple of the crystal frequency): fc = 909,8 MHz, fxtal = 30 MHz. In this case, the 3rd harmonic of the carrier (2729,4 MHz) is 0,6 MHz away from the 91th harmonic of the crystal frequency (2730 MHz). This way the side lobes will be 600 kHz away from the carrier:
To meet the recommendation for the 3rd order sampling spurs, the carrier frequency should be chosen to be below ~909 MHz (= 910 MHz – 2,8/3 MHz) or above 911 MHz (= 910 MHz + 2,8/3 MHz). The other option is to choose an appropriate crystal frequency for the desired carrier frequency.
Basically, it can be declared that it is sufficient to investigate the 1st, 2nd, 3rd and 4th order sampling spurs, higher order contents will not introduce such high power levels to fail the standard regulations.