Tuesday, July 10, 2012

Fundamentals of Radio Control - Basics on RF Software Drivers

Introduction

RF software drivers main functions are as follows:
  • Performs the initial programming of modules in RF system after first power up. 
  • Control supply and clock for RF system. 
  • Activate, de-activate and programs the parts of RF system for desired operation. 
  • Performs gain control (Some of this functionality may be done at DSP/ASIC level, outside RF SW driver.) 
  • Programs the compensations of temperature and frequency dependent variations.
A high-level state diagram is shown in the figure below. Inter-RAT is not included.

Receiver Activation - An Example

Here is an example of receiver activation procedure:
  1. Enable power supply for active components such as frequency synthesizer, LNA, receiver IC.
  2. Wait a few microsecond to make sure that the supply outputs are stable. Otherwise, programming attempt in the next step may fail.
  3. Program synthesizer to certain band and channel of operation and program any compensation values for certain components if necessary.
  4. Program any other device to the desired band of operations such as antenna switch, receiver IC.
  5. Wait for synthesizer complete acquisition to the desired frequency, and all internal on-chip compensation procedures completed. Otherwise the reception may include some undesired initial part.
  6. Apply gain distribution among gain stages for the expected signal level initially.
  7. Enable reception.

The Order of Events Matters

The events controlled by RF drivers must be in a right order. Some rules are as follows:
  • Do not enable receiver before the frequency synthesizer is on and locked.
  • Do not enable signal at the output of transceiver before power amplifier is on and ready to amplify.
  • Do not program a device before its power and its clock ready.
  • If a PA has multi-mode, program its mode prior to activation.

The Timings of Events Matters

Every components on an RF path has a non-zero time response. the air signal frames/slots has certain time boundaries. Therefore, the events controlled by RF SW drivers must be timely. Some rules are as follows:
  • If a receiver must be on for a time frame, the RF driver has to start the activation procedure not late and not early:
      • Not Late: make sure that the desired signal segment on time axis has been sampled by the receiver.
      • Not Early: Make sure that receiver does not consume battery for a time interval unnecessary.
  • The time between enabling power supply for a device and the supply output being ready is not zero. A transition occurs. Wait for a few microsecond before programming the device.
  • The time between enabling a TCXO or a frequency synthesizer and the clock be ready for use is not zero. A transition occurs. Allow the transition passes away before assume the clock or oscillation is on.
  • If a RF device has on-chip calibration before activation, wait for the device to complete.
  • Gain in receivers and power at transmitters may be allowed to be changed at certain time segments. Initiate gain and power change procedures timely, and make sure the procedure completed within the desired time segment.

RF System Bring-up

In most design when HW be ready in the lab and SW is mature enough for functional operation, RF system bring-up is one of the first task to be done.

Hardware Check

Review the RF block diagram, signal flow, GPIO assigned to RF functions, power rails assigned to RF system. Identify the details to be check with software.

Software Check

Revise GPIO assignments with polarity. Such as control outputs to RF switches. Review power rails and their enable/disable functionality. Check all RF features controlled for each main use case such as GSM Band 900 transmission.

Calibration and Parameter Check

Make sure that default calibration data make sense in value for the target operation. At the first RF bring-up the calibration may not be perfect. Make sure all the RF related fixed parameters and features are defined.

Connected Receiver Test

Check one mode and one band and one channel to test Rx:
  • Apply signal at the main antenna port, and check the RSSI value
  • Change the signal level at certain dB and see RSSI is changing almost the same amount
  • Check the current draw when Rx is off and Rx is on. There must be some difference when Rx start to operate. If you cannot see the current consumption change, check the power rails to RF circuit if they are on when Rx is set to on.
  • (If you do not see RSSI and current change) Turn off the signal generator and check with high impedance RF probe and spectrum analyzer if frequency synthesizer is turned on and you read correct frequency. If you cannot read local oscillator frequency, than try other channel, bands and modes.
  • If Rx is working, repeat the test above several time to make sure that the operation is stable
  • Repeat the test above for different channels within the band
  • Repeat the test above for other band and modes

Connected Transmitter Test

Check one mode and one band and one channel to test Tx:
  • Connect the radio to a spectrum analyzer, and adjust it for the test frequency
  • Set the mode, channel and transmit power to a lower value. Enable Tx.
  • Check the spectrum analyzer if signal is visible with the expected waveform bandwidth.
  • Increase power by a certain dB and check the signal level at the spectrum analyzer screen. The signal level should change almost the same amount you changed the power.
  • Check the current draw when Tx is off and Tx is on. There must be some difference as a function of power level. If you cannot see the current consumption change, check the power rails to RF circuit if they are on when Tx is set to on.
  • (If you do not see the signal and current change) Check with high impedance RF probe and spectrum analyzer if frequency synthesizer is turn on and you read correct frequency. If you cannot read local oscillator frequency, than try other channel, bands and modes.
  • If Tx is working, repeat the test above several time to make sure that the operation is stable
  • Repeat the test above for different channels within the band
  • Repeat the test above for other band and modes

Call Loopback test

Check one mode and one band and one channel:
  • Check if the radio is programmed for the desired mode, band and channel
  • Connect communication tester and adjust its parmeters
  • Set downlink signal level into mid levels around -70dBm to -50dBm.
  • Make a loopback test
  • Check if RSSI reading is almost the same as expected, but aware that there could be differences due to calibration errors.
  • Check uplink modulation accuracy, frequency error
  • Do frame error rate test at different downlink signal strength varying from sensitivity level to the maximum allowable signal level.
  • Repeat the test above for different channels within the band.
  • Repeat the test above for other band and modes

RF System Debugging

When an issue comes to table, it is difficult to determine the start point for debugging. A good observation with detailed report helps very much. Any interpretation without solid observation leads to longer debugging and fixing process.

Here are some possible causes to be kept in mind all the time:
  • Test setup is not appropriate and observation is wrong.
  • HW may cause signal interference (over radiation and conductive coupling)
  • Noisy power supply
  • Sensitivity to temperature
  • Problematic programming interface (serial link).
  • Procedure/calibration setup has some issue
  • Calibration data are not stored correctly
  • NV items are not read correctly and or compensation tables may not be updated correctly at power up.
  • Some other fixes/changes in RF and in other areas may have side effects.
Where to start:
  • Understand the problem description completely. If it does not make sense or if it is not complete, ask for the reporter for better description.
  • You may check if the issue is repeatable.
  • If it is repeatable, re-generate the issue and make more observation with some different parameters and conditions. For example change the channel.
  • Narrow-down the possible areas as much as possible.
  • If it looks like a HW related, work with HW engineer closely.
  • If it looks like a calibration issue, work with calibration engineer closely.
  • You may add new log messages to get more info or an indication with more frequency, such as LNA state, PA state.
Previous



No comments:

Post a Comment