boards/shields/atmel_rf2xx/doc/index.html · boards/shields/atmel_rf2xx/doc/index.rst 공식 원문 ↗

Zephyr 3.7.0 · Shields · IEEE 802.15.4 · AT86RF2xx

Atmel AT86RF2XX Transceivers

IEEE 802.15.4와 Thread를 여러 standard connector에서 사용하는 SPI-to-antenna radio shield 계열입니다.

Official pathboards/shields/atmel_rf2xx/doc/index.html
Source fileboards/shields/atmel_rf2xx/doc/index.rst
Source versionZephyr 3.7.0
TranslationFull · reviewed

본문 기준: Zephyr 3.7.0 LTS3 · 이후 유지보수 패치는 별도입니다.

Part 1

요약·해설

AT86RF230 제외 조건부터 RZ600·REB233-XPRO·Arduino·MikroBus의 65개 signal row, 6개 variation, network interface 충돌 방지와 네 가지 build 조합을 설명합니다.

Radio

AT86RF2xx · 2.4GHz

Stacks

IEEE 802.15.4 · Thread

Connectors

Xplained · Arduino · MikroBus

Host signals

SPI + IRQ + GPIO × 2

Part 2

접을 수 있는 영어 원문 전체

영어 원문 전체 펼치기
원문 SHA-256 178041C2E3144C468EBAAFF81E3E9B68EBA5508C66C771E802E22555D4872780
.. _atmel_at86rf2xx_transceivers:

Atmel AT86RF2XX Transceivers
############################

Overview
********

The Atmel AT86RF2xx is a high performance radio transceiver targeted for IEEE
802.15.4, ZigBee, RF4CE, 6LoWPAN, and ISM applications.  The AT86RF2xx is a
true SPI-to-antenna solution and can be operated by any external
microcontroller.

The current IEEE 802.15.4 AT86RF2xx Zephyr driver currently works with any
2.4 Ghz transceiver, except AT86RF230. The RF2xx driver allows use of
:ref:`ieee802154_interface` and :ref:`thread_protocol_interface` network
stacks.

This is a generic shield focused not only on Atmel Development Boards Kits.
There are compatible designations for `AT AVR-RZ600`_ and `AT REB233-XPRO`_.
This means, any Atmel board with 10-pin Xplained or 20-pin Xplained Pro
extension headers can be used. You can check
`Atmel Xplained Pro Hardware Development Kit User Guide`_ for more information.
Besides that, Arduino and MikroBus standard headers are available to complement
the shield module configurations.  For any other project that doesn't fit on
the current available variations an overlay can be created.  However, the
overlay is the last resource and is recommended use standard header always
possible.

RZ600 Module
============

The RZ600 Development Kit needs Atmel Xplained or Xplained-Pro header
connector.  The modules from this kit are available without any transceiver
advanced features.  For Xplained headers the `atmel_rf2xx_xplained`_ must be
selected.  For Xplained-Pro header the `atmel_rf2xx_legacy`_ must be enabled.

.. image:: ../../../../../../../boards/shields/atmel_rf2xx/doc/ATAVRRZ600.jpg
   :align: center
   :alt: AVR-RZ600

Pins Assignment of the RZ600 Module
===================================

+---------+--------+-------------------------------------+
|   Pin   |  Name  |           Function                  |
+=========+========+=====================================+
|    1    |  RST   | GPIO - Reset                        |
+---------+--------+-------------------------------------+
|    2    |  MISC  | DNU - Do Not Use                    |
+---------+--------+-------------------------------------+
|    3    |  IRQ   | GPIO - Interrupt                    |
+---------+--------+-------------------------------------+
|    4    | SLP_TR | GPIO - Multi purpose control signal |
+---------+--------+-------------------------------------+
|    5    |   CS   | SPI Chip Select                     |
+---------+--------+-------------------------------------+
|    6    |  MOSI  | SPI Master Out / Slave In           |
+---------+--------+-------------------------------------+
|    7    |  MISO  | SPI Master In / Slave Out           |
+---------+--------+-------------------------------------+
|    8    |  SCLK  | SPI Clock                           |
+---------+--------+-------------------------------------+
|    9    |  GND   |                                     |
+---------+--------+-------------------------------------+
|   10    |  VDD   |  POWER +3.3V                        |
+---------+--------+-------------------------------------+

REB233-XPRO Module
==================

The REB233-XPRO development kit uses Atmel Xplained Pro header.  It is enabled
selecting `atmel_rf2xx_xpro`_ option.

.. image:: ../../../../../../../boards/shields/atmel_rf2xx/doc/atreb233-xpro-top.jpg
   :align: center
   :alt: REB233-XPRO Top

Pins Assignment of the REB233-XPRO Module
=========================================

+---------+--------+-------------------------------------+
|   Pin   |  Name  |           Function                  |
+=========+========+=====================================+
|    1    |   ID   | DNU - Do Not Use                    |
+---------+--------+-------------------------------------+
|    2    |  GND   |                                     |
+---------+--------+-------------------------------------+
|    3    |  DIG1  | DNU - Do Not Use                    |
+---------+--------+-------------------------------------+
|    4    |  DIG3  | DNU - Do Not Use                    |
+---------+--------+-------------------------------------+
|    5    |  DIG2  | GPIO - RX Frame Time Stamping       |
+---------+--------+-------------------------------------+
|    6    |  CLKM  | DNU - Do Not Use                    |
+---------+--------+-------------------------------------+
|    7    |  RST   | GPIO - Reset                        |
+---------+--------+-------------------------------------+
|    8    |        |                                     |
+---------+--------+-------------------------------------+
|    9    |  IRQ   | GPIO - Interrupt                    |
+---------+--------+-------------------------------------+
|   10    | SLP_TR | GPIO - Multi purpose control signal |
+---------+--------+-------------------------------------+
|   11    |  SDA   | EEPROM - AT24MAC602                 |
+---------+--------+-------------------------------------+
|   12    |  SCL   | EEPROM - AT24MAC602                 |
+---------+--------+-------------------------------------+
|   13    |        |                                     |
+---------+--------+-------------------------------------+
|   14    |        |                                     |
+---------+--------+-------------------------------------+
|   15    |   CS   | SPI Chip Select                     |
+---------+--------+-------------------------------------+
|   16    |  MOSI  | SPI Master Out / Slave In           |
+---------+--------+-------------------------------------+
|   17    |  MISO  | SPI Master In / Slave Out           |
+---------+--------+-------------------------------------+
|   18    |  SCLK  | SPI Clock                           |
+---------+--------+-------------------------------------+
|   19    |  GND   |                                     |
+---------+--------+-------------------------------------+
|   20    |  VDD   |  POWER +3.3V                        |
+---------+--------+-------------------------------------+

.. note:: DIG2 is not current implemented on RF2xx driver.

Arduino Shields
===============

Arduino Uno R3 header is available without advanced features.  It is enabled
selecting `atmel_rf2xx_arduino`_ variant option.

Pins Assignment of the Arduino Shield Modules
=============================================

+---------+--------+-------------------------------------+
|   Pin   |  Name  |           Function                  |
+=========+========+=====================================+
|   D0    |        |                                     |
+---------+--------+-------------------------------------+
|   D1    |        |                                     |
+---------+--------+-------------------------------------+
|   D2    |  IRQ   | GPIO - Interrupt                    |
+---------+--------+-------------------------------------+
|   D3    |        |                                     |
+---------+--------+-------------------------------------+
|   D4    |        |                                     |
+---------+--------+-------------------------------------+
|   D5    |        |                                     |
+---------+--------+-------------------------------------+
|   D6    |        |                                     |
+---------+--------+-------------------------------------+
|   D7    |        |                                     |
+---------+--------+-------------------------------------+
|   D8    |  RST   | GPIO - Reset                        |
+---------+--------+-------------------------------------+
|   D9    | SLP_TR | GPIO - Multi purpose control signal |
+---------+--------+-------------------------------------+
|   D10   |   CS   | SPI Chip Select                     |
+---------+--------+-------------------------------------+
|   D11   |  MOSI  | SPI Master Out / Slave In           |
+---------+--------+-------------------------------------+
|   D12   |  MISO  | SPI Master In / Slave Out           |
+---------+--------+-------------------------------------+
|   D13   |  SCLK  | SPI Clock                           |
+---------+--------+-------------------------------------+
|   D14   |        |                                     |
+---------+--------+-------------------------------------+
|   D15   |        |                                     |
+---------+--------+-------------------------------------+
|         |  GND   |                                     |
+---------+--------+-------------------------------------+
|         |  VDD   |  POWER +3.3V                        |
+---------+--------+-------------------------------------+
|         |  VCC   |  POWER +5.0V                        |
+---------+--------+-------------------------------------+

MikroBus Shields
================

MikroBus header is available without advanced features.  It is
enabled selecting `atmel_rf2xx_mikrobus`_ variant option.

Pins Assignment of the MikroBus Shield Modules
==============================================

+---------+--------+-------------------------------------+
|   Pin   |  Name  |           Function                  |
+=========+========+=====================================+
|   AN    |  RST   | GPIO - Reset                        |
+---------+--------+-------------------------------------+
|   RST   |        |                                     |
+---------+--------+-------------------------------------+
|   CS    |   CS   | SPI Chip Select                     |
+---------+--------+-------------------------------------+
|   SCK   |  SCLK  | SPI Clock                           |
+---------+--------+-------------------------------------+
|  MISO   |  MISO  | SPI Master In / Slave Out           |
+---------+--------+-------------------------------------+
|  MOSI   |  MOSI  | SPI Master Out / Slave In           |
+---------+--------+-------------------------------------+
| VCC-3.3 |  VDD   |  POWER +3.3V                        |
+---------+--------+-------------------------------------+
|   GND   |  GND   |                                     |
+---------+--------+-------------------------------------+
|   GND   |  GND   |                                     |
+---------+--------+-------------------------------------+
| VCC-5.0 |  VCC   |  POWER +5.0V                        |
+---------+--------+-------------------------------------+
|   SDA   |        |                                     |
+---------+--------+-------------------------------------+
|   SCL   |        |                                     |
+---------+--------+-------------------------------------+
|   TX    |        |                                     |
+---------+--------+-------------------------------------+
|   RX    |        |                                     |
+---------+--------+-------------------------------------+
|   INT   |  IRQ   | GPIO - Interrupt                    |
+---------+--------+-------------------------------------+
|   PWM   | SLP_TR | GPIO - Multi purpose control signal |
+---------+--------+-------------------------------------+

Supported variations
====================

The below table suggests shield variation accordingly with end user
application.  When a standard connector (arduino, mikrobus, xplained,
xplained-pro) is available on board, user should select the matching shield
configuration. When atmel_rf2xx shield is used with a board that doesn't
feature a standard connector, a dedicated <board>.overlay file should be
provided.  The remaining configurations should be used based on the board
standard headers available.

+-----------------------------+------------------------------+-----------+
| Connector Standard          | Shield Designation           | Variation |
+=============================+==============================+===========+
| Without standard (overlay)  | `atmel_rf2xx`_               |     1     |
+-----------------------------+------------------------------+-----------+
| Atmel Xplained header       | `atmel_rf2xx_xplained`_      |     2     |
+-----------------------------+------------------------------+-----------+
| Atmel Xplained Pro header   | `atmel_rf2xx_xpro`_          |     3     |
+-----------------------------+------------------------------+-----------+
| Atmel Xplained Pro header   | `atmel_rf2xx_legacy`_        |     4     |
+-----------------------------+------------------------------+-----------+
| Arduino                     | `atmel_rf2xx_arduino`_       |     5     |
+-----------------------------+------------------------------+-----------+
| MikroBus                    | `atmel_rf2xx_mikrobus`_      |     6     |
+-----------------------------+------------------------------+-----------+

Requirements
************

This shield requires a board which provides a configuration that allows an
SPI interface, an interrupt signal and two GPIO. (see :ref:`shields` for more
details).

.. note::
	Boards that already have a network interface:  Check network
	documentation to understand how properly configure both interfaces.
	To keep simple, make sure IEEE 802.15.4 is the only interface enabled
	at Networking -> Link Layer Options.  This will avoid problems running
	Zephyr samples.

Tested Boards
=============

+------------------------------+------------------------------+-----------+
| Board                        | Disabled Interface           | Variation |
+==============================+==============================+===========+
| ATMEL sam4s_xplained         |                              |     2     |
+------------------------------+------------------------------+-----------+
| ATMEL sam4e_xpro             | Ethernet                     |   3 , 4   |
+------------------------------+------------------------------+-----------+
| ATMEL sam_v71_xult/samv71q21 | Ethernet                     | 3 , 4 , 5 |
+------------------------------+------------------------------+-----------+

Sample usage
************

You can try use IEEE 802.15.4 and/or OpenThread with the Zephyr Echo server
and Echo client samples, which provide out-of-the-box configuration for
both IEEE 802.15.4 and OpenThread.  To enable IEEE 802.15.4 support in the
samples, build them with ``overlay-802154.conf`` overlay config file.  Same
way, to enable OpenThread support, build them with ``overlay-ot.conf`` overlay
config file. See :zephyr:code-sample:`sockets-echo-server` and
:zephyr:code-sample:`sockets-echo-client` samples for details.

Build and Programming
*********************

Set ``--shield <shield designator>`` when you invoke ``west build``.

.. zephyr-app-commands::
   :zephyr-app: samples/net/sockets/echo_server
   :host-os: unix
   :board: sam4s_xplained
   :gen-args: -DOVERLAY_CONFIG=overlay-802154.conf
   :shield: atmel_rf2xx_xplained
   :goals: build flash
   :compact:

.. zephyr-app-commands::
   :zephyr-app: samples/net/sockets/echo_server
   :host-os: unix
   :board: [sam4e_xpro | sam_v71_xult/samv71q21]
   :gen-args: -DOVERLAY_CONFIG=overlay-802154.conf
   :shield: [atmel_rf2xx_xpro | atmel_rf2xx_legacy]
   :goals: build flash
   :compact:

.. zephyr-app-commands::
   :zephyr-app: samples/net/sockets/echo_server
   :host-os: unix
   :board: [sam_v71_xult/samv71q21 | frdm_k64f | nucleo_f767zi]
   :gen-args: -DOVERLAY_CONFIG=overlay-802154.conf
   :shield: atmel_rf2xx_arduino
   :goals: build flash
   :compact:

.. zephyr-app-commands::
   :zephyr-app: samples/net/sockets/echo_server
   :host-os: unix
   :board: lpcxpresso55s69_ns
   :gen-args: -DOVERLAY_CONFIG=overlay-802154.conf
   :shield: atmel_rf2xx_microbus
   :goals: build flash
   :compact:

References
**********

.. target-notes::

.. _AT AVR-RZ600:
   https://www.microchip.com/DevelopmentTools/ProductDetails/PartNO/ATAVRRZ600

.. _AT REB233-XPRO:
   https://www.microchip.com/DevelopmentTools/ProductDetails/PartNO/ATREB233-XPRO

.. _Atmel Xplained Pro Hardware Development Kit User Guide:
   http://ww1.microchip.com/downloads/en/DeviceDoc/Atmel-42091-Atmel-Xplained-Pro-Hardware-Development-Kit_User%20Guide.pdf

.. _atmel_rf2xx:
   https://github.com/zephyrproject-rtos/zephyr/blob/master/boards/shields/atmel_rf2xx/atmel_rf2xx.overlay

.. _atmel_rf2xx_xplained:
   https://github.com/zephyrproject-rtos/zephyr/blob/master/boards/shields/atmel_rf2xx/atmel_rf2xx_xplained.overlay

.. _atmel_rf2xx_xpro:
   https://github.com/zephyrproject-rtos/zephyr/blob/master/boards/shields/atmel_rf2xx/atmel_rf2xx_xpro.overlay

.. _atmel_rf2xx_legacy:
   https://github.com/zephyrproject-rtos/zephyr/blob/master/boards/shields/atmel_rf2xx/atmel_rf2xx_legacy.overlay

.. _atmel_rf2xx_arduino:
   https://github.com/zephyrproject-rtos/zephyr/blob/master/boards/shields/atmel_rf2xx/atmel_rf2xx_arduino.overlay

.. _atmel_rf2xx_mikrobus:
   https://github.com/zephyrproject-rtos/zephyr/blob/master/boards/shields/atmel_rf2xx/atmel_rf2xx_mikrobus.overlay

Part 3

한국어 전문 번역

개요

Atmel AT86RF2xx는 IEEE 802.15.4, ZigBee, RF4CE, 6LoWPAN, ISM application을 위한 고성능 radio transceiver입니다. 외부 microcontroller가 구동할 수 있는 완전한 SPI-to-antenna solution입니다.

현재 Zephyr IEEE 802.15.4 AT86RF2xx driver는 AT86RF230을 제외한 모든 2.4GHz transceiver에서 동작합니다. RF2xx driver를 통해 IEEE 802.15.4 및 Thread network stack을 사용할 수 있습니다.

이 generic shield는 Atmel development board kit에만 한정되지 않습니다. AT AVR-RZ600과 AT REB233-XPRO용 designation이 있으며, 10-pin Xplained 또는 20-pin Xplained Pro extension header가 있는 모든 Atmel board에서 사용할 수 있습니다. Arduino와 MikroBus standard header용 configuration도 제공합니다.

RZ600 Module

RZ600 Development Kit에는 Atmel Xplained 또는 Xplained Pro header connector가 필요합니다. Kit module은 transceiver advanced feature 없이 제공됩니다. Xplained header에는 atmel_rf2xx_xplained, Xplained Pro header에는 atmel_rf2xx_legacy를 선택합니다.

AVR-RZ600
AT AVR-RZ600 module

RZ600 pin assignment

PinNameFunction
1RSTGPIO - Reset
2MISCDNU - Do Not Use
3IRQGPIO - Interrupt
4SLP_TRGPIO - Multi-purpose control signal
5CSSPI Chip Select
6MOSISPI Master Out / Slave In
7MISOSPI Master In / Slave Out
8SCLKSPI Clock
9GND
10VDDPOWER +3.3V

REB233-XPRO Module

REB233-XPRO development kit는 Atmel Xplained Pro header를 사용하며 atmel_rf2xx_xpro option을 선택해 활성화합니다.

REB233-XPRO Top
REB233-XPRO top view

REB233-XPRO pin assignment

PinNameFunction
1IDDNU - Do Not Use
2GND
3DIG1DNU - Do Not Use
4DIG3DNU - Do Not Use
5DIG2GPIO - RX Frame Time Stamping
6CLKMDNU - Do Not Use
7RSTGPIO - Reset
8
9IRQGPIO - Interrupt
10SLP_TRGPIO - Multi-purpose control signal
11SDAEEPROM - AT24MAC602
12SCLEEPROM - AT24MAC602
13
14
15CSSPI Chip Select
16MOSISPI Master Out / Slave In
17MISOSPI Master In / Slave Out
18SCLKSPI Clock
19GND
20VDDPOWER +3.3V

Arduino Shields

Advanced feature가 없는 Arduino Uno R3 header variation을 사용할 수 있습니다. atmel_rf2xx_arduino를 선택해 활성화합니다.

Arduino shield module pin assignment

PinNameFunction
D0
D1
D2IRQGPIO - Interrupt
D3
D4
D5
D6
D7
D8RSTGPIO - Reset
D9SLP_TRGPIO - Multi-purpose control signal
D10CSSPI Chip Select
D11MOSISPI Master Out / Slave In
D12MISOSPI Master In / Slave Out
D13SCLKSPI Clock
D14
D15
GND
VDDPOWER +3.3V
VCCPOWER +5.0V

MikroBus Shields

Advanced feature가 없는 MikroBus header variation을 사용할 수 있습니다. atmel_rf2xx_mikrobus를 선택해 활성화합니다.

MikroBus shield module pin assignment

PinNameFunction
ANRSTGPIO - Reset
RST
CSCSSPI Chip Select
SCKSCLKSPI Clock
MISOMISOSPI Master In / Slave Out
MOSIMOSISPI Master Out / Slave In
VCC-3.3VDDPOWER +3.3V
GNDGND
GNDGND
VCC-5.0VCCPOWER +5.0V
SDA
SCL
TX
RX
INTIRQGPIO - Interrupt
PWMSLP_TRGPIO - Multi-purpose control signal

지원 variation

사용하는 board에 standard connector가 있으면 그 connector와 일치하는 shield configuration을 선택해야 합니다. Standard connector가 없는 board에서 atmel_rf2xx shield를 쓸 때는 전용 <board>.overlay 파일을 제공해야 합니다.

Connector standardShield designationVariation
Without standard (overlay)atmel_rf2xx1
Atmel Xplained headeratmel_rf2xx_xplained2
Atmel Xplained Pro headeratmel_rf2xx_xpro3
Atmel Xplained Pro headeratmel_rf2xx_legacy4
Arduinoatmel_rf2xx_arduino5
MikroBusatmel_rf2xx_mikrobus6

요구 사항

이 shield를 사용하려면 SPI interface, interrupt signal, GPIO 2개를 제공하도록 board가 구성되어 있어야 합니다.

시험된 board

BoardDisabled interfaceVariation
ATMEL sam4s_xplained2
ATMEL sam4e_xproEthernet3, 4
ATMEL sam_v71_xult/samv71q21Ethernet3, 4, 5

Sample 사용

Zephyr Echo server와 Echo client sample은 IEEE 802.15.4와 OpenThread용 기본 configuration을 제공합니다. IEEE 802.15.4를 활성화하려면 overlay-802154.conf, OpenThread를 활성화하려면 overlay-ot.conf overlay configuration을 사용합니다.

빌드와 프로그래밍

west build를 실행할 때 connector에 맞는 --shield <shield designator>를 지정합니다. 아래 네 예시는 모두 Unix host에서 sockets echo server를 빌드하고 flash하는 구성입니다.

Xplained header

west build -b sam4s_xplained   --shield atmel_rf2xx_xplained   samples/net/sockets/echo_server --   -DOVERLAY_CONFIG=overlay-802154.conf
west flash

Xplained Pro header

west build -b [sam4e_xpro | sam_v71_xult/samv71q21]   --shield [atmel_rf2xx_xpro | atmel_rf2xx_legacy]   samples/net/sockets/echo_server --   -DOVERLAY_CONFIG=overlay-802154.conf
west flash

Arduino header

west build -b [sam_v71_xult/samv71q21 | frdm_k64f | nucleo_f767zi]   --shield atmel_rf2xx_arduino   samples/net/sockets/echo_server --   -DOVERLAY_CONFIG=overlay-802154.conf
west flash

MikroBus header

west build -b lpcxpresso55s69_ns   --shield atmel_rf2xx_microbus   samples/net/sockets/echo_server --   -DOVERLAY_CONFIG=overlay-802154.conf
west flash

참고 자료

Source

출처

영어 원문에는 문단, 문서 지시문, 표, 코드, 코드 심벌, 경로를 그대로 보존했습니다.