Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

doc: wifi: Move Regulatory Certification Testing doc to NCS #21024

Merged
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
18 changes: 18 additions & 0 deletions doc/nrf/glossary.rst
Original file line number Diff line number Diff line change
Expand Up @@ -227,6 +227,9 @@ Glossary
Dynamic Voltage and Frequency Scaling (DVFS)
A power management technique that allows adjusting the operating voltage and operating frequency of a CPU, depending on the workload.

Dynamic Host Configuration Protocol (DHCP)
A network management protocol used for automatic and centralized management of IP addresses within a network.

Docker
A set of software tools using OS-level virtualization to create and run applications and their dependencies in self-contained environments called :term:`Docker containers <Docker container>`.

Expand Down Expand Up @@ -260,6 +263,12 @@ Glossary
Easy Direct Memory Access (EasyDMA)
A module that some peripherals implement to gain direct access to data RAM.

Electromagnetic Compatibility (EMC)
A measure of how well electrical equipment coexists with its electromagnetic environment without causing or experiencing interference.

Electrostatic Discharge (ESD)
A sudden discharge of electric current between two electrically charged objects.

Embedded Universal Integrated Circuit Card (eUICC)
A component of a SIM card that enables switching Mobile Network Operators over-the-air.

Expand Down Expand Up @@ -656,6 +665,9 @@ Glossary
Packet Traffic Arbitration (PTA)
A collaborative coexistence mechanism for colocated wireless protocols.

Packet Error Rate (PER)
The number of incorrectly received data packets divided by the total number of received packets.

Password-Authenticated Session Establishment (PASE)
A method of establishing a secure session between two network nodes, using a pre-shared secret.

Expand Down Expand Up @@ -864,6 +876,9 @@ Glossary
Software Development Kit (SDK)
A set of tools used for developing applications for a specific device or operating system.

Spectral Emission Mask (SEM)
A spectrum mask where the spectrum emissions should not be higher at any frequency offset than the values specified in the mask.

Spin-Transfer Torque Magneto-Resistive Random Access Memory (MRAM (STT-MRAM))
An alternative :term:`Non-volatile memory (NVM)` to flash memory.
Compared to flash, MRAM does not have to be erased before writing and can simply be written, making it easier to use.
Expand Down Expand Up @@ -940,6 +955,9 @@ Glossary
TrustZone
Provides a cost-effective methodology to isolate security-critical components in an ARM Cortex CPU by hardware separating a rich operating system from smaller, secure operating system.

Two-wire Interface (TWI)
An I\ :sup:`2`\ C compatible serial communication protocol that enables devices to exchange data by using a two-wire bus system, allowing multiple devices to be connected and controlled by a master device.

UART Hardware Flow Control (UART HWFC)
A handshaking mechanism used to prevent a buffer overflow in the receiver (in embedded computing use cases).
In a serial connection, when the transmission baud rate is high enough for data to appear faster than it can be processed by the receiver, the communicating devices can synchronize with each other, using :term:`Request to Send (RTS)` and :term:`Clear to Send (CTS)` pins.
Expand Down
2 changes: 2 additions & 0 deletions doc/nrf/links.txt
Original file line number Diff line number Diff line change
Expand Up @@ -816,11 +816,13 @@

.. _`Measuring current`: https://docs.nordicsemi.com/bundle/ug_nrf7002_dk/page/UG/nrf7002_DK/hw_measure_current.html
.. _`nRF70 Series`:
.. _`Guidelines for nRF70 Series devices`:
.. _`Guidelines and application notes for nRF70 Series devices`: https://docs.nordicsemi.com/category/nrf-70-series

.. _`nRF70 Series power states`: https://docs.nordicsemi.com/bundle/ps_nrf7002/page/chapters/functional/doc/power_states.html

.. _`nRF7002 EK`:
.. _`nRF7002 EK Hardware`:
.. _`nRF7002 EK User Guide`: https://docs.nordicsemi.com/bundle/ug_nrf7002_ek/page/UG/nrf7002_EK/intro.html
.. _`nRF7002 EB User Guide`: https://docs.nordicsemi.com/bundle/ug_nrf7002_eb/page/UG/nrf7002_EB/intro.html
.. _`nRF7002 EB PCB edge connector`: https://docs.nordicsemi.com/bundle/ug_nrf7002_eb/page/UG/nrf7002_EB/pcb_edge_connector.html
Expand Down
1 change: 1 addition & 0 deletions doc/nrf/protocols/wifi/index.rst
Original file line number Diff line number Diff line change
Expand Up @@ -38,3 +38,4 @@ If you want to go through an online training course to familiarize yourself with
regulatory_support
debugging
stack_configuration
regulatory_certification/index
Original file line number Diff line number Diff line change
@@ -0,0 +1,101 @@
.. _ug_wifi_adaptivity_test_procedure:

EN 301 893 V2.1.1 based adaptivity test procedure
#################################################

.. contents::
:local:
:depth: 2

This section describes two methods of adaptivity testing, using the Wi-Fi® Shell and Wi-Fi Radio test samples.

The test requirements and methods for adaptivity (channel access mechanism) are described in EN 301 893 V2.1.1:

* Test requirements in Section 4.2.7 Adaptivity (channel access mechanism)
* Test method in Section 5.4.9 Adaptivity (channel access mechanism)

The nRF7002 device is a supervised device and complies with EN 301 893, clause 4.2.7.3.2.4, Table 8.

The following figure shows a test setup for adaptivity verification using two nRF7002 Development Kit (DK)s.

.. figure:: images/adaptivity_test_setup.svg
:alt: Test set up for verifying the adaptivity of nRF7002 DK

Test set up for verifying the adaptivity of nRF7002 DK

The :term:`Device Under Test (DUT)` is an nRF7002 DK configured to a transmit (TX) mode through the following samples:

* Wi-Fi Shell sample that can connect to an access point and run DUT TX through a zperf session.
For details, see :ref:`ug_using_wifi_shell_sample`.

* Wi-Fi Radio test sample which includes an internal traffic source used for the transmitted packets.

The companion device is an optional nRF7002 DK or :term:`Evaluation Kit (EK)` configured as a receiving device through the Wi-Fi Radio test sample.
It only acts as a monitoring device for the transmissions from the DUT.
This device can be omitted if the monitoring of the transmissions is accomplished by the spectrum analyzer.
A Wi-Fi sniffer or any other compliant Wi-Fi device capable of monitoring Wi-Fi traffic can also be used.

The following test procedure is recommended:

1. Validate the test setup as shown in Test set up for verifying the adaptivity of nRF7002 DK.
#. Set up the companion device for monitoring traffic on the required channel used by the DUT.
If the monitoring device is another nRF7002 DK or EK, see :ref:`ug_wifi_radio_test_for_per_measurements` for setting it up in the receive mode for monitoring.
Omit the transmit part of the instructions as the DUT will be configured to transmit continuously.

#. Set up the DUT to transmit on the required channel or mode either using the Wi-Fi Shell sample or the Wi-Fi Radio test sample.

* DUT as Wi-Fi Shell sample running UDP TX

.. toggle::

Set up the DUT to transmit on the required channel or mode using the Wi-Fi Shell sample.

The nRF7002 Wi-Fi device is designed for low-power IoT applications, featuring a low-power host device with low processing frequency and memory.
When connected to an access point in infrastructure mode and utilizing the suggested User Datagram Protocol (UDP) transmit traffic, the DUT cannot maintain full transmission queues due to host limitations.

This leads to misleading results, despite the underlying channel access mechanism's compliance with the defined IEEE 802.11 standards.
To achieve the required transmit packet duty cycle above 30%, it is necessary to limit the device to a lower data rate, such as 6 Mbps or MCS0.

Example command on the access point side:

.. code-block:: bash

iperf -s -i 1 -u

Example commands on the DUT side for fixing data rate to 6 Mbps:

.. code-block:: bash

wifi connect <SSID> <Password>
wifi_util tx_rate 0 6
zperf udp upload 192.168.1.20 5001 20 1k 20M

* DUT as Wi-Fi Radio test sample

.. toggle::

Set up the DUT to transmit on the required channel or mode using the Wi-Fi Radio test sample.

Use the Wi-Fi Radio test sample in transmit mode, which is built on top of the core Wi-Fi driver and firmware.
This includes CSMA/CA, random backoff, and CCA engines, ensuring compliance with all transmission protocols defined in the IEEE 802.11 standards.

Any set of the TX commands given in :ref:`ug_wifi_radio_sample_for_transmit_tests` can be used for this testing based on required parameters.

The following example shows how to run a continuous (OFDM) TX traffic sequence in 11a mode:

* Channel: 100
* Payload length: 1000 bytes
* Inter-frame gap: 0 µs
* Data rate: 5 Mbps

Execute the following sequence of commands:

.. code-block:: bash

uart:~$ wifi_radio_test init 100
uart:~$ wifi_radio_test tx_pkt_tput_mode 0
uart:~$ wifi_radio_test tx_pkt_rate 54
uart:~$ wifi_radio_test tx_pkt_len 1000
uart:~$ wifi_radio_test tx_pkt_gap 0
uart:~$ wifi_radio_test tx_pkt_num -1
uart:~$ wifi_radio_test tx 1
Original file line number Diff line number Diff line change
@@ -0,0 +1,65 @@
.. _ug_wifi_antenna_gain_compensation:

Antenna gain compensation
#########################

.. contents::
:local:
:depth: 2

Determine the accurate TX power on the nRF70 Series development platforms by taking into account the antenna gain of the PCB chip antenna and the corresponding PCB losses for various RF bands.
This facilitates the interpretation of the transmit power measurements.

Kconfig parameter values are used as inputs to the host software to compensate for the transmit power based on the gain of the antenna.

To find the Kconfig value, subtract the PCB losses ``PCBLoss`` from the antenna gain ``AntGain`` and round up the result to the nearest whole number:

.. math::

\text{Kconfig value} = \text{AntGain} - \text{PCBLoss}

The PCB loss is defined as follows:

.. math::

\text{PCBLoss} = \text{PCBLossA} + \text{Coax loss for conducted testing}

.. math::

\text{PCBLoss} = \text{PCBLossA} + \text{PCBLossB for radiated testing}

The Coax loss is the loss in dB from the point on the PCB where a coaxial cable or equivalent is connected to the I/O connector of the measuring equipment.

The following figure shows the different losses between the nRF7002 and the PCB chip antenna or SMA.

.. figure:: images/antenna_gain.svg
:alt: PCB losses

PCB losses

The following table shows an example of how to calculate the Kconfig parameter values.

+-------------------+---------------------------+----------------------+--------------+--------------+--------------------+
| Bands | Kconfig parameter | Frequency range (MHz)| AntGain (dB) | PCBLoss (dB) | Kconfig value (dB) |
+===================+===========================+======================+==============+==============+====================+
| ANTGAIN_2G | NRF700X_ANT_GAIN_2G | 2402 to 2494 | 3.38 | 0.54 | 3 |
+-------------------+---------------------------+----------------------+--------------+--------------+--------------------+
| ANTGAIN_5G_BAND1 | NRF700X_ANT_GAIN_5G_BAND1 | 5150 to 5350 | 2.74 | 1.60 | 2 |
+-------------------+---------------------------+----------------------+--------------+--------------+--------------------+
| ANTGAIN_5G_BAND2 | NRF700X_ANT_GAIN_5G_BAND2 | 5470 to 5730 | 2.46 | 1.84 | 1 |
+-------------------+---------------------------+----------------------+--------------+--------------+--------------------+
| ANTGAIN_5G_BAND3 | NRF700X_ANT_GAIN_5G_BAND3 | 5730 to 5895 | 1.77 | 1.51 | 1 |
+-------------------+---------------------------+----------------------+--------------+--------------+--------------------+

Setting antenna gain parameters
*******************************

The Kconfig parameters and their default values are defined in the :file:`<ncs_repo>/nrf/drivers/wifi/nrf700x/Kconfig` file.
To compensate for antenna gains, set the following Kconfig parameters in the project :file:`prj.conf` configuration file.

* :kconfig:option:`CONFIG_NRF700X_ANT_GAIN_2G` = ``<ant gain value>``
* :kconfig:option:`CONFIG_NRF700X_ANT_GAIN_5G_BAND1` = ``<ant gain value>``
* :kconfig:option:`CONFIG_NRF700X_ANT_GAIN_5G_BAND2` = ``<ant gain value>``
* :kconfig:option:`CONFIG_NRF700X_ANT_GAIN_5G_BAND3` = ``<ant gain value>``

The Kconfig parameters can also be set in a relevant overlay file or entered as command-line arguments to the CMake build.
Loading
Loading