The BRD8022A provides a way to do current measurement (the same way is possible with the BRD8023A for WFM200).
The snapshot below provides the top overview of the BRD8022A board where U1 is the WF200:
In the blue circle, there is a way to do current measurement of the WF200. The schematic of this part is described below :
The R616 is a 0.1 Ohm resistor which connects the VMCU with the VMCU_NCP (WF200).
The J1 could be used to solder a HE10 connector (2.54mm) useful to do measurements.
So using R616 and J1, there are two ways to do WF200 current measurements during Tx, Rx or averaged on DTIM3:
using a Voltmeter on J1-1 and J2-2, you could monitor the R616 voltage and then compute the current consumption.
using a Ampere meter in serial between J1-1 and J1-2 after removing the R616 resistor.
Removing the R616 resistor, you could alternatively use a monitored power supply using J1, like described in the snapshot below:
We recommend this way, if you want to measure the average lowest current consumption of 22uA during the sleep state.
Moreover, to get the average sleep current consumption of 22uA, you should :
use the SPI interface because with the Raspberry Pi, the SDIO clock is not switched off during the sleep state (this increases the current consumption).
remove the SDIO/SPI pull-up resistors highlighted in yellow in the above top view (these pull-up are not needed with the Raspberry Pi because the host has internal pull-up on the interface like required by the standard).
In order to do WF200 current measurements in Tx, Rx or in sleep state, we have used the Keysight DC power analyzer N6705C set in 2-wire sensing for short supply cables (voltage is monitored at supply output terminals) else set in in 4-wire sensing for longer twisted supply cables (voltage is monitored at the load and automatically compensate for any voltage drop within supply cables).
In the WF200 or WFM200 datasheet, the current consumption of 294μA in DTIM3 provides the WF(M)200 average current consumption when there is no TX/RX of data frame (only receiving Beacon with the DTIM interval and using the sleep state).
So with this consumption, the WF(M)200 stays associated with the Wi-Fi Access Point ready to transmit or receive data frame and it goes in sleep state between two Rx beacons with a current consumption of only 22 μA.
The 294μA current are measured in DTIM3 when the WF(M)200 receives only one over 3 beacons with a beacon interval of 102ms and a beacon time duration of 1ms.
When the TEST_FEATURE_CFG field is in the PDS file then it allows to do RF tests with the WFx200 (without WLAN protocol).
The test feature is available only if the power save mode is disabled. To disable the power save mode with Linux : sudo iw dev wlan0 set power_save off
We provide python scripts allowing to automate RF measurements, based on the above capability to send PDS data to the lower MAC FW
The tester can be a separate machine, connected via SSH, UART or Telnet
On the DUT, a small wfx_test_agent allows sending PDS data and retrieving Rx results. Please refer to:
The customer could reduce the maximum Tx power used by the WF(M)200 using setting in the Platform Data Set (PDS) file.
Thank to this file, the customer could set some specific parameters for his application. This PDS file is loaded with the firmware in the WF(M)200.
The customer could set the maximun Tx power using the field MAX_OUTPUT_POWER_QDBM:
/* Power configuration */
/***********************/
// Tx power-related information
MAX_TX_POWER_CFG: {
// The max Tx power value in Quarter of dBm (QDBM).
// Resultant covered range in dBm: [-32; 31.75]
MAX_OUTPUT_POWER_QDBM: 80,
The MAX_OUTPUT_POWER_QDBM to 80 means a maximum threshold Tx power of 20dBm.
This is a TX power limitation for all channels and all PHY rate. It is not an adaptive setting and it doesn't allow to force higher TX power level than allowed for the regulatory RF certification or in the datasheet.
Wi-Fi Knowledge Base
KBA: How to do current measurements on WF(M)200 with the BRD8022A or the BRD8023A?
The BRD8022A provides a way to do current measurement (the same way is possible with the BRD8023A for WFM200).
The snapshot below provides the top overview of the BRD8022A board where U1 is the WF200:
In the blue circle, there is a way to do current measurement of the WF200. The schematic of this part is described below :
The R616 is a 0.1 Ohm resistor which connects the VMCU with the VMCU_NCP (WF200).
The J1 could be used to solder a HE10 connector (2.54mm) useful to do measurements.
So using R616 and J1, there are two ways to do WF200 current measurements during Tx, Rx or averaged on DTIM3:
Removing the R616 resistor, you could alternatively use a monitored power supply using J1, like described in the snapshot below:
We recommend this way, if you want to measure the average lowest current consumption of 22uA during the sleep state.
To better understand the current consumption provided in the WF200 datasheet, I recommend to read the following KBA : https://www.silabs.com/community/wireless/wi-fi/knowledge-base.entry.html/2019/03/05/kba_wfx200_dtim3-tmpo
Moreover, to get the average sleep current consumption of 22uA, you should :
In order to do WF200 current measurements in Tx, Rx or in sleep state, we have used the Keysight DC power analyzer N6705C set in 2-wire sensing for short supply cables (voltage is monitored at supply output terminals) else set in in 4-wire sensing for longer twisted supply cables (voltage is monitored at the load and automatically compensate for any voltage drop within supply cables).
For more details you could read this Application Note : https://www.silabs.com/documents/public/application-notes/an1219-power-consumption-wfm200.pdf
KBA: WF200 : DTIM3 and sleep current consumption explanation
In the WF200 or WFM200 datasheet, the current consumption of 294μA in DTIM3 provides the WF(M)200 average current consumption when there is no TX/RX of data frame (only receiving Beacon with the DTIM interval and using the sleep state).
So with this consumption, the WF(M)200 stays associated with the Wi-Fi Access Point ready to transmit or receive data frame and it goes in sleep state between two Rx beacons with a current consumption of only 22 μA.
The 294μA current are measured in DTIM3 when the WF(M)200 receives only one over 3 beacons with a beacon interval of 102ms and a beacon time duration of 1ms.
KBA: WF(M)200 : Tx or Rx RF testing (not requiring AP and WLAN protocol)
The Platform Data Set (PDS) file is used by the customer to fine tune the WF(M)200 usage according to his design or/and application.
On PDS usage please read UG404 : https://www.silabs.com/documents/public/user-guides/ug404-wf200-pds-configuration-users-guide.pdf
When the TEST_FEATURE_CFG field is in the PDS file then it allows to do RF tests with the WFx200 (without WLAN protocol).
The test feature is available only if the power save mode is disabled. To disable the power save mode with Linux : sudo iw dev wlan0 set power_save off
We provide python scripts allowing to automate RF measurements, based on the above capability to send PDS data to the lower MAC FW
You can get more details on PDS and test_feature in the below links:
KBA: WF(M)200 : How to reduce the maximum Tx power for all bit rates
The customer could reduce the maximum Tx power used by the WF(M)200 using setting in the Platform Data Set (PDS) file.
Thank to this file, the customer could set some specific parameters for his application. This PDS file is loaded with the firmware in the WF(M)200.
The customer could set the maximun Tx power using the field MAX_OUTPUT_POWER_QDBM:
The MAX_OUTPUT_POWER_QDBM to 80 means a maximum threshold Tx power of 20dBm.
This is a TX power limitation for all channels and all PHY rate. It is not an adaptive setting and it doesn't allow to force higher TX power level than allowed for the regulatory RF certification or in the datasheet.
For regulatory RF certification, it is recommended for Tx power level reduction to use BACKOFF_QDB in the RF_POWER_CFG Section in the PDS file (see section 3.7 of UG404 and KBA https://www.silabs.com/community/wireless/wi-fi/knowledge-base.entry.html/2021/01/11/wf_m_200_rf_certificationtests-wgIT).
In order to get this maximum Tx power limitation in the PDS file taken into account by the WF(M)200, it should be compressed and installed properly and reloaded.
More details on PDS are available in UG404 : https://www.silabs.com/documents/public/user-guides/ug404-wf200-pds-configuration-users-guide.pdf
KBA: Linux setting Wi-Fi Tx bitrate
To set the Wi-Fi Tx bitrate, use iw
802.11n :
sudo iw dev wlan0 set bitrates ht-mcs-2.4 <MCS index>
802.11bg :
sudo iw dev wlan0 set bitrates legacy-2.4 <legacy rate in Mbps> ht-mcs-2.4 <MCS index>
For all details on iw, refer to https://wireless.wiki.kernel.org/en/users/documentation/iw