External RF Frontend Driver Testing Procedures
Detailed procedures to verify the correct operation of the external RF frontend are described here. Tests will be conducted in this branch.
Comms board initial setup
- Take photos with EMI shield
- Remove EMI shield
- Take photos without shield
- Place shield and screws in a bag and catalog to inventree
- Setup the eqm as usual (connect umbilical to adapter board, power supply connection and continuity tests, etc...).
- Plug the MMCX-SMA cables to both uhf and sband (will be refered as
uhf cableandsband cablefrom now on. - Connect only the sband cable to the attenuator. Connect the other end of the attenuator to the spectrum analyzer.
- Take a photo of the setup
- Comment out every rf related task, except the
RfDebuggingTask. Select theLO_CARRIER_SBANDprocess and ensure the frequencies are correct (at86rf215config.hpp). Also ensure that there are noexternalFrontendEnable()commands inRfDebuggingTask. All the frontends are by default disabled. - Flash and ensure we get logs. Record logs from current sensor: bus voltage, shunt current, power (for UHF and SBAND).
Sband Tx Frontend
- Set spectrum analyzer to
2.425 GHzcentral frequency - With the SBAND frontend closed, we should not be seeing a carrier
- Enable frontend with
ExternalFrontend::externalFrontendUtils.enableSbandTxFrontend();and re-flash. - Power up test: Measure the voltage in
TP907it should be5V - We should be seeing a carrier. Take a photo of the spectrum and record the power. Also record current sensor readings and temp sensor readings for SBAND amp
Note: It is not possible to test the low pass filter, since the transceiver cannot generate a carrier above 2.483 MHz
UHF Tx Frontend
- Power down eqm. Remove the sband cable completely, connect the uhf cable in the attenuator. Power up eqm
- Set spectrum analyzer to
436.5 MHzcentral frequency - With the UHF frontend closed, we should not be seeing a carrier
- Enable frontend with
ExternalFrontend::externalFrontendUtils.enableUHFTxFrontend();, select theLO_CARRIER_UHFprocess and re-flash. - We should be seeing a carrier. Take a photo of the spectrum and record the power. Also record current sensor readings and temp sensor readings for UHF amp
- To test the Low Pass Filter, change the carrier frequency to 800 MHz. We should be seeing more than
20dBpower drop. - Close the spectrum analyzer. Power down eqm and connect uhf cable. Then connect to the signal generator
Note: We cannot test the
3dBcutoff point (theoreticaly around600 MHz) since the transceiver cannot generate carriers in this frequency
UHF Rx Only Amplfifier test
- Open signal generator, and set a
436.5MHzcarrier. IMPORTANT: set the power to-20dBmand do not exceed it, just to be on safe side. Dont press the RF Output button yet - Oscilloscope
Channel 1probe toTP1002(input signal), andChannel 2probe toTP1005(agc control signal). IMPORTANT: set 500 mV/div onChannel 2, the signal can reach up to2.4V - Take a photo of the setup.
- Set the process to
POWER_MEASUREMENT_UHF, and the frequency to436.5 MHz. Power up eqm, re-flash. - Ensure
Measured power...logs are displayed periodically - We should not be seeing a carrier. Record current sensor readings and power measurements.
- Enable frontend with
ExternalFrontend::externalFrontendUtils.enableUhfRxFrontend(false, 0.9);. This way, the agc is switched off and the amplifier's gain is close to 0dB. - We should be seeing the carrier in
Channel 1(oscilloscope: press autoscale and set time scale to10-20ns/div). Record current sensor readings and signal power toChannel 1(you can use math mode -> FFT to see the power in dBm easily) - Measure voltage in
TP1003, to ensure the DAC write is correct (needs to be0.9V) - Compare
Channel 1to power measurement logs. They need to be close (since we have 0 dB gain). -
Bandpass filter test: Change frequencies to
415 MHzand460 MHz. The power should be significantly reduced -
Amplifier test: Revert the frequency back to
436.5MHzand increase the gain to10dB(ExternalFrontend::externalFrontendUtils.enableUhfRxFrontend(false, 1.1);). Record the power measurent logs and measureTP1003again.
UHF Rx Frontend AGC test
The purpose of the AGC is to dynamically control the gain of the amplifier, such that the envelope of the signal that reaches the transceiver is constant (essentially, the output power will be constant). This is beneficial for phase modulations, where the envelope is not supposed to change, thus any deviation is caused by noise and therefore, unwanted. Upon detecting a preamble by the FPGA, we need to "freeze" it (in practise, switch it out and set the gain to whatever it was at the moment of the preamble reception). The figure below (ADL530 datasheet) shows how the AGC control signal changes to achieve a constant envelope:
A 436.5MHz AM modulated signal with a 20KHz sine tone will be used for testing.
- Signal generator setup: Press the AM button and use the shown settings. Then, press the
AM (On/Off)button (next to RF (On/Off)) Ensure the signal onChannel 1looks like the picture below. You need to press autoscale,10us/stimescale, and then on theChannel 1set50 0hmimpedance andBW limit. The last one is necessary to see the envelope clearly, and might have to be pressed again if the display starts showing nonsense.
- AGC temperature test: In
RfDebuggingTasksetgetTemperatureADCto true, in order to get periodic temperature measurements and use:ExternalFrontend::externalFrontendUtils.enableUhfRxFrontend(true, 2.1);. Re-flash - Record agc temperature log. If the agc is working, we should be seeing a higher than room temperature value. Also record current sensor logs.
- AGC functionality test: Inspect
Channel 1andChannel 2signals. They need to look like the example figure 39 - Take a photo
- AGC on/ off: periodically toggle the AGC by enabling
toggleADCinRfDebuggingTask - Ensure the control signal in
Channel 2becomes constant when AGC is frozen and that any transient phenomenon is minimal in amplitude and very short (significantly shorter than a bit period,for example if the bit rate is 15KHz, the period is 66.6 us). - Take a photo
Note: While using the AGC, the accepted setpoint voltages range from 0.5V to 2.1V. The relation ship between the VGA's output power (in dBm) and the setpoint voltage should in theory be linear, as was shown in LSF's measurements (see target level section). It is certain that a higher setpoint voltage reduces the output power, but we need to create a transfer characteristic at some point, by taking a lot of measurements.
Frontend current limiters
Important: The eqm heats up a lot if a lot of frontends are open, so the test should be repeated for every frontend separately
- Open the frontend
- Check the frontend alert flags (should be true). For UHF-Tx, SBAND-Tx,
TP1009andTP908should also be checked with a multimeter (FLAGB pins). They are active low, so we are expecting high. - Cut the RF power supply (pin
P5V_RF_ENset to low), to simulate an undervoltage fault - Check the flags again (they should be true). FLAGB pins should be low
Add a logbook entry.


