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: Add a section about nRF7002 EK #12021

Merged
merged 1 commit into from
Aug 22, 2023
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
168 changes: 148 additions & 20 deletions doc/nrf/device_guides/working_with_nrf/nrf70/gs.rst
Original file line number Diff line number Diff line change
@@ -1,18 +1,26 @@
.. _nrf7002dk_nrf5340:

Getting started with nRF7002 DK
###############################
Getting started with nRF70 Series
#################################

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

This page gets you started with your nRF70 Series devices using the |NCS|.

Supported development boards
****************************

nRF7002 DK
==========

The nRF7002 DK (PCA10143) is a single-board development kit for evaluation and development on the nRF7002, a Wi-Fi® companion IC to Nordic Semiconductor's nRF5340 System-on-Chip (SoC) host processor.

Overview
********
--------

The nRF7002 is an IEEE 802.11ax (Wi-Fi 6) compliant solution that implements the Wi-Fi physical layer and MAC layer protocols.
The nRF7002 is an IEEE 802.11ax (Wi-Fi 6) compliant solution that implements the Wi-Fi physical layer and Medium Access Control (MAC) layer protocols.
It implements the Wi-Fi driver software on the nRF5340 host processor communicating over the QSPI bus.

The nRF5340 host is a dual-core SoC based on the Arm® Cortex®-M33 architecture.
Expand All @@ -31,15 +39,15 @@ The ``nrf7002dk_nrf5340_cpunet`` build target provides support for the network c


Hardware
********
--------

The nRF7002 DK has two external oscillators:

* The frequency of the slow clock is 32.768 kHz.
* The frequency of the main clock is 32 MHz.

Supported features
==================
^^^^^^^^^^^^^^^^^^

The ``nrf7002dk_nrf5340_cpuapp`` board configuration supports the following hardware features:

Expand Down Expand Up @@ -117,25 +125,25 @@ The ``nrf7002dk_nrf5340_cpunet`` board configuration supports the following hard
Other hardware features are not supported by the |NCS| kernel.

Connections and IOs
===================
^^^^^^^^^^^^^^^^^^^

The connections and IOs supported by the development kit are listed in this section.

LED
---
"""

* LED1 (green) = P1.06
* LED2 (green) = P1.07

Push buttons
------------
""""""""""""

* BUTTON1 = SW1 = P1.08
* BUTTON2 = SW2 = P1.09
* BOOT = SW5 = boot/reset

Wi-Fi control
-------------
"""""""""""""

* BUCKEN = P0.12
* IOVDD CONTROL = P0.31
Expand All @@ -146,7 +154,7 @@ Wi-Fi control
* COEX_GRANT = P0.24

Security components
===================
^^^^^^^^^^^^^^^^^^^

The following security components are available:

Expand All @@ -158,7 +166,7 @@ The following security components are available:
* Secure boot.

Programming and debugging
*************************
-------------------------

The nRF5340 application core supports the Armv8-M Security Extension.
Applications built for the ``nrf7002dk_nrf5340_cpuapp`` board boot by default in the secure state.
Expand All @@ -168,7 +176,7 @@ nRF5340 IDAU can configure bus accesses by the nRF5340 network core to have the
This allows to build and run secure-only applications on the nRF5340 SoC.

Building |NCS| applications with Arm TrustZone
==============================================
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

Applications on nRF5340 can use Cortex-M Security Extensions (CMSE) and separate firmware for the application core between Secure Processing Environment (SPE) and Non-Secure Processing Environment (NSPE).
You can build SPE using either |NCS| or `Trusted Firmware M`_ (TF-M).
Expand All @@ -180,7 +188,7 @@ For information about Cortex-M Security Extensions (CMSE) and the difference bet
By default, SPE for the nRF5340 application core is built using TF-M.

Building the firmware with TF-M
-------------------------------
"""""""""""""""""""""""""""""""

If you want to use |NCS| to build the firmware image separated in SPE with TF-M and NSPE, complete the following steps:

Expand All @@ -202,7 +210,7 @@ If you want to use |NCS| to build the firmware image separated in SPE with TF-M


Building the secure firmware using |NCS|
----------------------------------------
""""""""""""""""""""""""""""""""""""""""

If you want to use |NCS| to build the firmware images with CMSE enabled, but without TF-M, complete the following steps:

Expand All @@ -217,26 +225,26 @@ When building application with SPE and NSPE for the nRF5340 application core, th
SPU configuration must be applied before jumping to the application in NSPE.

Building application without CMSE
=================================
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

Build the |NCS| application as described in :ref:`gs_programming`, using the ``nrf7002dk_nrf5340_cpuapp`` build target for the firmware running on the nRF5340 application core and the ``nrf7002dk_nrf5340_cpunet`` build target for the firmware running on the nRF5340 network core.

Programming the firmware to the DK
==================================
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

Follow the instructions in the :ref:`gs_programming` page to build and flash applications.

.. note::
To flash and debug applications on the nRF7002 DK, you must use the `nRF Command Line Tools`_ version 10.12.0 or above.

Debugging
=========
^^^^^^^^^

See the :ref:`testing` page for information about debugging.


Testing the LEDs and buttons in the nRF7002 DK
**********************************************
----------------------------------------------

The following samples allow you to test if the buttons (or switches) and LEDs on the development kit are working properly with |NCS|:

Expand All @@ -245,3 +253,123 @@ The following samples allow you to test if the buttons (or switches) and LEDs on

Build and flash the samples to make sure |NCS| is running correctly on your development kit.
For the button and LED definitions, see the :file:`boards/arm/nrf7002dk_nrf5340/nrf5340_cpuapp_common.dts` file.

.. _nrf70_gs_shields_expansion_boards:

Shields and expansion boards
****************************

Shields and expansion boards are add-on hardware that can be attached to a development kit or prototyping platform to extend their features and functionalities.

nRF7002 EK
==========

The nRF7002 :term:`Evaluation Kit (EK)` is a versatile evaluation kit in the form of an Arduino shield.
The kit can be used to provide Wi-Fi connectivity and Wi-Fi-based locationing to compatible development or evaluation boards through the nRF7002 Wi-Fi 6 companion :term:`Integrated Circuit (IC)`.

The nRF7002 EK features the nRF7002 companion IC.
In addition, the shield may be used to emulate the nRF7001 and nRF7000 companion IC variants.

Overview
--------

The nRF7002 EK (PCA63556) is designed to provide Wi-Fi connectivity and Wi-Fi (SSID) scanning capabilities via the nRF7002 companion IC to a compatible host development board.

The nRF7002 EK features an Arduino shield form factor and interface connector that allows it to be used with Arduino compatible boards, such as the `nRF52840 DK <nRF52840 DK product page_>`_, `nRF5340 DK <nRF5340 DK product page_>`_, or `nRF9160 DK <nRF9160 DK product page_>`_.
This interface is used to connect the nRF7002 companion device to a host :term:`System on Chip (SoC)`, Microprocessor Unit (MPU), or :term:`Microcontroller Unit (MCU)`.

.. figure:: images/nRF7002ek.png
:alt: nRF7002 EK

nRF7002 EK

Pin assignment
--------------

Arduino interface connector
^^^^^^^^^^^^^^^^^^^^^^^^^^^

The Arduino interface of the nRF7002 EK is compatible with the Nordic nRF52840 DK, nRF5340 DK, and nRF9160 DK.
The interface connectors are described in the following table:

+------------------+-----------------------+----------------------------------+
| Arduino pin name | nRF7002 Signal | Function |
+==================+=======================+==================================+
| D0 | IOVDD_EN | Enable power to I/O interface |
+------------------+-----------------------+----------------------------------+
| D1 | BUCK_EN | Enable power to nRF7002 |
+------------------+-----------------------+----------------------------------+
| D2 | COEX_STATUS0 | Coexistence status 0 |
+------------------+-----------------------+----------------------------------+
| D3 | COEX_REQ | Coexistence request from host |
+------------------+-----------------------+----------------------------------+
| D4 | COEX_GRANT | Coexistence grant to host |
+------------------+-----------------------+----------------------------------+
| D5 | SW_CTRL0 | Switch control 0 |
+------------------+-----------------------+----------------------------------+
| D6 | COEX_STATUS1 | Coexistence status 1 |
+------------------+-----------------------+----------------------------------+
| D7 | HOST_IRQ | Interrupt request to host |
+------------------+-----------------------+----------------------------------+
| D8 | DATA2 | QSPI data line 2 |
+------------------+-----------------------+----------------------------------+
| D9 | DATA3 | QSPI data line 3 |
+------------------+-----------------------+----------------------------------+
| D10 | SS | Slave select |
+------------------+-----------------------+----------------------------------+
| D11 | MISO/DATA1 | QSPI/SPI Data line 1/ Slave Out |
+------------------+-----------------------+----------------------------------+
| D12 | MOSI/DATA0 | QSPI/SPI Data line 0/ Slave In |
+------------------+-----------------------+----------------------------------+
| D13 | CLK | QSPI/SPI Clock |
+------------------+-----------------------+----------------------------------+
| GND | GND | Ground |
+------------------+-----------------------+----------------------------------+
| AREF | N.C. | Not used |
+------------------+-----------------------+----------------------------------+
| SDA | N.C. | Not used |
+------------------+-----------------------+----------------------------------+
| SCL | N.C. | Not used |
+------------------+-----------------------+----------------------------------+

Programming
-----------

To add support for the nRF7002 EK on an application running on a compatible host development board, the ``SHIELD`` setting must be specified.

To add support for the nRF7002 EK and the nRF7002 IC, set ``-DSHIELD=nrf7002ek`` when you invoke ``west build`` or ``cmake`` in your |NCS| application.
To emulate support for the nRF7001 or nRF7000 ICs, specify ``-DSHIELD=nrf7002ek_nrf7001`` or ``-DSHIELD=nrf7002ek_nrf7000``, respectively.

Alternatively, add the shield in the project's :file:`CMakeLists.txt` file, specifying the below settings, depending on which IC is to be used:

.. code-block:: console
richabp marked this conversation as resolved.
Show resolved Hide resolved

set(SHIELD nrf7002ek)

.. code-block:: console

set(SHIELD nrf7002ek_nrf7001)

.. code-block:: console

set(SHIELD nrf7002ek_nrf7000)

To build with the |nRFVSC|, specify ``-DSHIELD=nrf7002ek`` in the **Extra Cmake arguments** field.
See :ref:`cmake_options`.

To build for the nRF7002 EK and the nRF7002 IC with nRF5340 DK, use the ``nrf5340dk_nrf5340_cpuapp`` build target with the CMake ``SHIELD`` variable set to ``nrf7002ek``.
For example, you can use the following command when building on the command line:

.. code-block:: console

west build -b nrf5340dk_nrf5340_cpuapp -- -DSHIELD=nrf7002ek

richabp marked this conversation as resolved.
Show resolved Hide resolved
To build for the nRF7002 EK and the nRF7001 or nRF7000 ICs, you can use the corresponding shield name in the above command.

References
----------

* `nRF70 Series product page`_
* `nRF70 Series hardware documentation`_
* `nRF7002 Product Specification`_
* `nRF7001 Product Specification`_
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
6 changes: 6 additions & 0 deletions doc/nrf/links.txt
Original file line number Diff line number Diff line change
Expand Up @@ -378,12 +378,14 @@
.. _`Energy efficiency`: https://www.nordicsemi.com/Products/Low-power-cellular-IoT/What-is-cellular-IoT#energy_efficiency

.. _`nRF52840 DK Downloads`: https://www.nordicsemi.com/Products/Development-hardware/nRF52840-DK/Download#infotabs
.. _`nRF52840 DK product page`: https://www.nordicsemi.com/Products/Development-hardware/nRF52840-DK/

.. _`nRF52833 DK Downloads`: https://www.nordicsemi.com/Products/Development-hardware/nRF52833-DK/Download#infotabs

.. _`nRF52 DK Downloads`: https://www.nordicsemi.com/Products/Development-hardware/nRF52-DK/Download#infotabs

.. _`nRF5340 DK Downloads`: https://www.nordicsemi.com/Products/Development-hardware/nRF5340-DK/Download?lang=en#infotabs
.. _`nRF5340 DK product page`: https://www.nordicsemi.com/Products/Development-hardware/nRF5340-DK/

.. _`Nordic Thingy:53`:
.. _`Thingy:53 product page`: https://www.nordicsemi.com/thingy53
Expand Down Expand Up @@ -520,9 +522,13 @@
.. _`nRF21540`: https://infocenter.nordicsemi.com/topic/struct_fem/struct/nrf21540.html
.. _`nRF21540 Product Specification`: https://infocenter.nordicsemi.com/topic/struct_fem/struct/nrf21540_ps.html

.. _`nRF7001 Product Specification`: https://infocenter.nordicsemi.com/topic/ps_nrf7001/keyfeatures_html5.html
.. _`nRF7002 Product Specification`:
.. _`Product specification for nRF70 Series devices`: https://infocenter.nordicsemi.com/topic/ps_nrf7002/keyfeatures_html5.html
.. _`nRF7002 DK Hardware`: https://infocenter.nordicsemi.com/topic/ug_nrf7002_dk/UG/nrf7002_DK/intro.html
.. _`nRF70 Series hardware documentation`:
.. _`nRF70 Series`: https://infocenter.nordicsemi.com/topic/struct_nrf70/struct/nrf70.html
.. _`nRF70 Series product page`: https://www.nordicsemi.com/Products/WiFi/Products#infotabs
.. _`Measuring current`: https://infocenter.nordicsemi.com/topic/ug_nrf7002_dk/UG/nrf7002_DK/hw_measure_current.html

.. _`Guidelines and application notes for nRF70 Series devices`: https://infocenter.nordicsemi.com/topic/struct_nrf70/struct/nrf70_guidelines.html
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -801,6 +801,7 @@ Documentation
* A page on :ref:`ug_wireless_coexistence` in :ref:`protocols`.
* Pages on :ref:`thread_device_types` and :ref:`thread_sed_ssed` to the :ref:`ug_thread` documentation.
* A new section :ref:`ug_pmic`, containing :ref:`ug_npm1300_features` and :ref:`ug_npm1300_gs`.
* A section about :ref:`nrf70_gs_shields_expansion_boards` in :ref:`nrf7002dk_nrf5340` user guide.

* Updated:

Expand Down
Loading