boards/st/nucleo_wb55rg/doc/nucleo_wb55rg.html · boards/st/nucleo_wb55rg/doc/nucleo_wb55rg.rst 공식 원문 ↗

Zephyr 3.7.0 · Boards · ST · Wireless

ST Nucleo WB55RG

Cortex-M4/M0+ dual-core radio와 HCI-only coprocessor firmware 조건을 확인합니다.

Official pathboards/st/nucleo_wb55rg/doc/nucleo_wb55rg.html
Source fileboards/st/nucleo_wb55rg/doc/nucleo_wb55rg.rst
Source versionZephyr 3.7.0
TranslationFull · reviewed

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

Part 1

요약·해설

지원표 12행과 공식 board image, Bluetooth 5·802.15.4 radio 수치, security·IPCC·pin mapping, Cube V1.13.2 이후 HCI-only 조건을 전문 번역했습니다.

Application

Cortex-M4 64MHz

Radio

Cortex-M0+ 32MHz

Wireless

BLE 5 · 802.15.4

Flash

1MB

Part 2

접을 수 있는 영어 원문 전체

영어 원문 전체 펼치기
원문 SHA-256 789139BB9F9FE8357FA67E96D5D0BF47E3A595CA0F642C2E83DC79B7D17290F0
.. _nucleo_wb55rg_board:

ST Nucleo WB55RG
################

Overview
********

The Nucleo WB55RG board is a multi-protocol wireless and ultra-low-power device
embedding a powerful and ultra-low-power radio compliant with the Bluetooth®
Low Energy (BLE) SIG specification v5.0 and with IEEE 802.15.4-2011.


- STM32 microcontroller in VFQFPN68 package
- 2.4 GHz RF transceiver supporting Bluetooth® specification v5.0 and
  IEEE 802.15.4-2011 PHY and MAC
- Dedicated Arm® 32-bit Cortex® M0+ CPU for real-time Radio layer
- Three user LEDs
- Board connector: USB user with Micro-B
- Two types of extension resources:

  - Arduino Uno V3 connectivity
  - ST morpho extension pin headers for full access to all STM32 I/Os

- Integrated PCB antenna or footprint for SMA connector
- On-board ST-LINK/V2-1 debugger/programmer with SWD connector
- Flexible power-supply options: ST-LINK USB VBUS or external sources
- On-board socket for CR2032 battery
- On-board ST-LINK/V2-1 debugger/programmer with USB re- enumeration capability:
  mass storage, virtual COM port and debug port

.. image:: ../../../../../../../boards/st/nucleo_wb55rg/doc/img/nucleowb55rg.jpg
   :align: center
   :alt: Nucleo WB55RG

More information about the board can be found at the `Nucleo WB55RG website`_.

Hardware
********

STM32WB55RG is an ultra-low-power dual core Arm Cortex-M4 MCU 64 MHz,Cortex-M0 32MHz
with 1 Mbyte of Flash memory, Bluetooth 5, 802.15.4, USB, LCD, AES-256 SoC and
provides the following hardware capabilities:

- Ultra-low-power with FlexPowerControl (down to 600 nA Standby mode with RTC and 32KB RAM)
- Core: ARM |reg| 32-bit Cortex |reg|-M4 CPU with FPU, frequency up to 64 MHz
- Radio:

  - 2.4GHz
  - RF transceiver supporting Bluetooth® 5 specification, IEEE 802.15.4-2011 PHY and MAC,
    supporting Thread and ZigBee|reg| 3.0
  - RX Sensitivity: -96 dBm (Bluetooth|reg| Low Energy at 1 Mbps), -100 dBm (802.15.4)
  - Programmable output power up to +6 dBm with 1 dB steps
  - Integrated balun to reduce BOM
  - Support for 2 Mbps
  - Dedicated Arm|reg| 32-bit Cortex|reg| M0 + CPU for real-time Radio layer
  - Accurate RSSI to enable power control
  - Suitable for systems requiring compliance with radio frequency regulations
    ETSI EN 300 328, EN 300 440, FCC CFR47 Part 15 and ARIB STD-T66
  - Support for external PA

- Clock Sources:

  - 32 MHz crystal oscillator with integrated trimming capacitors (Radio and CPU clock)
  - 32 kHz crystal oscillator for RTC (LSE)
  - 2x Internal low-power 32 kHz RC (|plusminus| 5% and |plusminus| 500ppm)
  - Internal multispeed 100 kHz to 48 MHz oscillator, auto-trimmed by
    LSE (better than  |plusminus| 0.25 % accuracy)
  - 2 PLLs for system clock, USB, SAI and ADC

- RTC with HW calendar, alarms and calibration
- LCD 8 x 40 or 4 x 44 with step-up converter
- Up to 24 capacitive sensing channels: support touchkey, linear and rotary touch sensors
- 16x timers:

  - 2x 16-bit advanced motor-control
  - 2x 32-bit and 5x 16-bit general purpose
  - 2x 16-bit basic
  - 2x low-power 16-bit timers (available in Stop mode)
  - 2x watchdogs
  - SysTick timer

- Up to 114 fast I/Os, most 5 V-tolerant, up to 14 I/Os with independent supply down to 1.08 V
- Memories

  - Up to 1 MB Flash, 2 banks read-while-write, proprietary code readout protection
  - Up to 320 KB of SRAM including 64 KB with hardware parity check
  - External memory interface for static memories supporting SRAM, PSRAM, NOR and NAND memories
  - Quad SPI memory interface

- 4x digital filters for sigma delta modulator
- Rich analog peripherals (down to 1.62 V)

  - 12-bit ADC 4.26Msps, up to 16-bit with hardware oversampling, 200 uA/Msps
  - 2x ultra-low-power comparator
  - Accurate 2.5 V or 2.048 V reference voltage buffered output

- System peripherals

  - Inter processor communication controller (IPCC) for communication with
    Bluetooth|reg| Low Energy and 802.15.4
  - HW semaphores for resources sharing between CPUs
  - 2x DMA controllers (7x channels each) supporting ADC, SPI, I2C, USART,
    QSPI, SAI, AES, Timers
  - 1x USART (ISO 7816, IrDA, SPI Master, Modbus and Smartcard mode)
  - 1x LPUART (low power)
  - 2x SPI 32 Mbit/s
  - 2x I2C (SMBus/PMBus)
  - 1x SAI (dual channel high quality audio)
  - 1x USB 2.0 FS device, crystal-less, BCD and LPM
  - Touch sensing controller, up to 18 sensors
  - LCD 8x40 with step-up converter
  - 1x 16-bit, four channels advanced timer
  - 2x 16-bits, two channels timer
  - 1x 32-bits, four channels timer
  - 2x 16-bits ultra-low-power timer
  - 1x independent Systick
  - 1x independent watchdog
  - 1x window watchdog

- Security and ID

 - 3x hardware encryption AES maximum 256-bit for the application,
   the Bluetooth|reg| Low Energy and IEEE802.15.4
 - Customer key storage / key manager services
 - HW public key authority (PKA)
 - Cryptographic algorithms: RSA, Diffie-Helman, ECC over GF(p)
 - True random number generator (RNG)
 - Sector protection against R/W operation (PCROP)
 - CRC calculation unit
 - 96-bit unique ID
 - 64-bit unique ID. Possibility to derive 802.15.5 64-bit and
   Bluetooth|reg| Low Energy 48-bit EUI

- Up to 72 fast I/Os, 70 of them 5 V-tolerant
- Development support: serial wire debug (SWD), JTAG, Embedded Trace Macrocell |trade|


More information about STM32WB55RG can be found here:

- `STM32WB55RG on www.st.com`_
- `STM32WB5RG datasheet`_
- `STM32WB5RG reference manual`_

Supported Features
==================

The Zephyr nucleo_wb55rg board configuration supports the following hardware features:

+-----------+------------+-------------------------------------+
| Interface | Controller | Driver/Component                    |
+===========+============+=====================================+
| NVIC      | on-chip    | nested vector interrupt controller  |
+-----------+------------+-------------------------------------+
| UART      | on-chip    | serial port-polling;                |
|           |            | serial port-interrupt               |
+-----------+------------+-------------------------------------+
| PINMUX    | on-chip    | pinmux                              |
+-----------+------------+-------------------------------------+
| GPIO      | on-chip    | gpio                                |
+-----------+------------+-------------------------------------+
| I2C       | on-chip    | i2c                                 |
+-----------+------------+-------------------------------------+
| SPI       | on-chip    | spi                                 |
+-----------+------------+-------------------------------------+
| PWM       | on-chip    | pwm                                 |
+-----------+------------+-------------------------------------+
| ADC       | on-chip    | adc                                 |
+-----------+------------+-------------------------------------+
| WATCHDOG  | on-chip    | independent watchdog                |
+-----------+------------+-------------------------------------+
| RADIO     | on-chip    | Bluetooth Low Energy                |
+-----------+------------+-------------------------------------+
| die-temp  | on-chip    | die temperature sensor              |
+-----------+------------+-------------------------------------+
| RTC       | on-chip    | rtc                                 |
+-----------+------------+-------------------------------------+

Other hardware features are not yet supported on this Zephyr port.

The default configuration can be found in the defconfig file:
:zephyr_file:`boards/st/nucleo_wb55rg/nucleo_wb55rg_defconfig`

Bluetooth and compatibility with STM32WB Copro Wireless Binaries
================================================================

To operate bluetooth on Nucleo WB55RG, Cortex-M0 core should be flashed with
a valid STM32WB Coprocessor binaries (either 'Full stack' or 'HCI Layer').
These binaries are delivered in STM32WB Cube packages, under
Projects/STM32WB_Copro_Wireless_Binaries/STM32WB5x/
For compatibility information with the various versions of these binaries,
please check `modules/hal/stm32/lib/stm32wb/hci/README <https://github.com/zephyrproject-rtos/hal_stm32/blob/main/lib/stm32wb/hci/README>`__
in the hal_stm32 repo.
Note that since STM32WB Cube package V1.13.2, "full stack" binaries are not compatible
anymore for a use in Zephyr and only "HCI Only" versions should be used on the M0
side.

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

Nucleo WB55RG Board has 6 GPIO controllers. These controllers are responsible for pin muxing,
input/output, pull-up, etc.

Default Zephyr Peripheral Mapping:
----------------------------------

.. rst-class:: rst-columns

- UART_1 TX/RX : PB7/PB6
- LPUART_1 TX/RX : PA3/PA2 (arduino_serial)
- I2C_1_SCL : PB8
- I2C_1_SDA : PB9
- I2C_3_SCL : PC0
- I2C_3_SDA : PC1
- USER_PB : PC4
- USER_PB1 : PD0
- USER_PB2 : PD1
- LD1 : PB5
- LD2 : PB0
- LD3 : PB1
- SPI_1_NSS : PA4 (arduino_spi)
- SPI_1_SCK : PA5 (arduino_spi)
- SPI_1_MISO : PA6 (arduino_spi)
- SPI_1_MOSI : PA7 (arduino_spi)
- PWM_2 CH 1 : PA0
- ADC_1_CH3 : PC2

System Clock
------------

Nucleo WB55RG System Clock could be driven by internal or external oscillator,
as well as main PLL clock. By default System clock is driven by HSE clock at 32MHz.

Serial Port
-----------

Nucleo WB55RG board has 2 (LP)U(S)ARTs. The Zephyr console output is assigned to USART1.
Default settings are 115200 8N1.


Programming and Debugging
*************************

Applications for the ``nucleo_wb55rg`` board configuration can be built the
usual way (see :ref:`build_an_application`).

Flashing
========

Nucleo WB55RG board includes an ST-LINK/V2-1 embedded debug tool
interface.  This interface is supported by the openocd version included in the
Zephyr SDK since v0.11.0.

If you prefer, you can use pyocd, but it requires to enable "pack" support with
the following pyocd command:

.. code-block:: console

   $ pyocd pack --update
   $ pyocd pack --install stm32wb55rg


Flashing an application to Nucleo WB55RG
----------------------------------------

Connect the Nucleo WB55RG to your host computer using the USB port.
Then build and flash an application. Here is an example for the
:ref:`hello_world` application.

Run a serial host program to connect with your Nucleo board:

.. code-block:: console

   $ minicom -D /dev/ttyUSB0

Then build and flash the application.

.. zephyr-app-commands::
   :zephyr-app: samples/hello_world
   :board: nucleo_wb55rg
   :goals: build flash

You should see the following message on the console:

.. code-block:: console

   Hello World! arm

Debugging
=========

You can debug an application in the usual way.  Here is an example for the
:zephyr:code-sample:`blinky` application.

.. zephyr-app-commands::
   :zephyr-app: samples/basic/blinky
   :board: nucleo_wb55rg
   :maybe-skip-config:
   :goals: debug

.. _Nucleo WB55RG website:
   https://www.st.com/en/evaluation-tools/p-nucleo-wb55.html

.. _STM32WB55RG on www.st.com:
   https://www.st.com/en/microcontrollers-microprocessors/stm32wb55rg.html

.. _STM32WB5RG datasheet:
   https://www.st.com/resource/en/datasheet/stm32wb55rg.pdf

.. _STM32WB5RG reference manual:
   https://www.st.com/resource/en/reference_manual/dm00318631.pdf

Part 3

한국어 전문 번역

Nucleo WB55RG

개요

Nucleo WB55RG는 Bluetooth Low Energy 5.0과 IEEE 802.15.4-2011을 지원하는 multi-protocol ultra-low-power wireless board입니다.

  • VFQFPN68 STM32 MCU
  • Bluetooth 5.0과 IEEE 802.15.4 PHY/MAC용 2.4GHz transceiver
  • real-time radio layer 전용 32-bit Cortex-M0+
  • User LED 3개와 Micro-B user USB
  • Arduino Uno V3와 모든 I/O용 ST morpho
  • integrated PCB antenna 또는 SMA connector footprint
  • SWD가 있는 ST-LINK/V2-1
  • ST-LINK USB VBUS 또는 external source
  • CR2032 battery socket
  • mass storage·virtual COM·debug port용 USB re-enumeration

Hardware

STM32WB55RG는 64MHz Cortex-M4와 32MHz Cortex-M0, 1MB flash, Bluetooth 5, 802.15.4, USB, LCD, AES-256을 통합한 dual-core SoC입니다.

  • RTC와 32KB RAM을 유지하는 Standby mode 최저 600nA의 FlexPowerControl
  • FPU를 갖춘 32-bit Cortex-M4, 최대 64MHz
  • Radio
    • 2.4GHz Bluetooth 5·IEEE 802.15.4-2011 PHY/MAC, Thread·Zigbee 3.0
    • RX sensitivity: BLE 1Mbps -96dBm, 802.15.4 -100dBm
    • 1dB step으로 최대 +6dBm output
    • BOM을 줄이는 integrated balun
    • 2Mbps 지원
    • radio layer 전용 Cortex-M0+
    • power control용 accurate RSSI
    • ETSI EN 300 328/300 440, FCC CFR47 Part 15, ARIB STD-T66 대응 시스템에 적합
    • external PA 지원
  • Clock
    • integrated trimming capacitor가 있는 32MHz radio·CPU crystal
    • RTC용 32kHz LSE
    • low-power 32kHz RC 2개(±5%, ±500ppm)
    • LSE로 auto-trim되는 100kHz~48MHz MSI, ±0.25%보다 우수
    • system·USB·SAI·ADC용 PLL 2개
  • Calendar·alarm·calibration RTC, step-up converter 포함 8×40 또는 4×44 LCD
  • Touchkey·linear·rotary sensor용 capacitive channel 최대 24개
  • Timer 16개
    • advanced motor-control 16-bit 2개
    • 32-bit 2개와 general-purpose 16-bit 5개
    • basic 16-bit 2개
    • Stop mode용 low-power 16-bit 2개
    • watchdog 2개
    • SysTick
  • 대부분 5V tolerant인 fast I/O 최대 114개, 1.08V independent supply I/O 최대 14개
  • Memory
    • read-while-write dual-bank 1MB flash와 code readout protection
    • hardware parity 64KB를 포함한 SRAM 최대 320KB
    • SRAM·PSRAM·NOR·NAND external interface
    • Quad SPI
  • Sigma-delta modulator용 digital filter 4개
  • 1.62V까지 동작하는 analog
    • 4.26MSPS 12-bit ADC, hardware oversampling으로 최대 16-bit, 200µA/MSPS
    • ultra-low-power comparator 2개
    • 2.5V 또는 2.048V precision reference buffered output
  • System peripheral
    • BLE·802.15.4와 통신하는 IPCC
    • CPU 간 resource sharing용 hardware semaphore
    • ADC·SPI·I2C·USART·QSPI·SAI·AES·timer용 각 7-channel DMA 2개
    • ISO 7816·IrDA·SPI master·Modbus·smartcard USART 1개와 LPUART 1개
    • 32Mbit/s SPI 2개, SMBus/PMBus I2C 2개
    • dual-channel SAI 1개
    • crystal-less USB 2.0 FS device, BCD·LPM
    • touch controller 최대 18 sensor, 8×40 LCD
    • advanced 16-bit 4-channel timer 1개, 16-bit 2-channel 2개, 32-bit 4-channel 1개, low-power 16-bit 2개
    • independent SysTick·watchdog와 window watchdog
  • Security·ID
    • Application·BLE·802.15.4용 최대 AES-256 engine 3개
    • customer key storage/key manager
    • hardware public-key authority
    • RSA·Diffie-Hellman·GF(p) ECC
    • true RNG
    • PCROP sector R/W protection
    • CRC
    • 96-bit unique ID
    • 802.15.5 64-bit 및 BLE 48-bit EUI를 유도할 수 있는 64-bit ID
  • Fast I/O 최대 72개 중 70개는 5V tolerant
  • SWD·JTAG·ETM development support

Zephyr 지원 기능

InterfaceControllerDriver/Component
NVICon-chipnested vector interrupt controller
UARTon-chipserial port-polling; serial port-interrupt
PINMUXon-chippinmux
GPIOon-chipgpio
I2Con-chipi2c
SPIon-chipspi
PWMon-chippwm
ADCon-chipadc
WATCHDOGon-chipindependent watchdog
RADIOon-chipBluetooth Low Energy
die-tempon-chipdie temperature sensor
RTCon-chiprtc

표 밖 기능은 아직 지원하지 않습니다. 기본 설정은 boards/st/nucleo_wb55rg/nucleo_wb55rg_defconfig입니다.

Bluetooth와 STM32WB coprocessor binary 호환성

Bluetooth를 사용하려면 Cortex-M0 core에 유효한 STM32WB coprocessor binary를 flash해야 합니다. 이 binary는 STM32WB Cube package의 Projects/STM32WB_Copro_Wireless_Binaries/STM32WB5x/ 아래에 있습니다. 원문은 Full stack 또는 HCI Layer를 언급하지만 Cube package V1.13.2부터 full-stack binary는 Zephyr와 호환되지 않으므로 M0 쪽에는 HCI Only version만 사용해야 합니다. 정확한 version 호환성은 hal_stm32의 HCI README에서 확인합니다.

Connection과 I/O

GPIO controller 6개가 pin muxing, input/output, pull-up 등을 담당합니다.

기본 Zephyr peripheral mapping

  • UART_1 TX/RX : PB7/PB6
  • LPUART_1 TX/RX : PA3/PA2 (arduino_serial)
  • I2C_1_SCL : PB8
  • I2C_1_SDA : PB9
  • I2C_3_SCL : PC0
  • I2C_3_SDA : PC1
  • USER_PB : PC4
  • USER_PB1 : PD0
  • USER_PB2 : PD1
  • LD1 : PB5
  • LD2 : PB0
  • LD3 : PB1
  • SPI_1_NSS : PA4 (arduino_spi)
  • SPI_1_SCK : PA5 (arduino_spi)
  • SPI_1_MISO : PA6 (arduino_spi)
  • SPI_1_MOSI : PA7 (arduino_spi)
  • PWM_2 CH 1 : PA0
  • ADC_1_CH3 : PC2

Clock과 serial

System clock은 internal·external oscillator 또는 main PLL을 사용할 수 있고 기본값은 32MHz HSE입니다. (LP)U(S)ART 2개 중 console은 USART1, 115200 8N1입니다.

Programming and debugging

On-board ST-LINK/V2-1은 Zephyr SDK v0.11.0부터 포함된 OpenOCD가 지원합니다. PyOCD를 쓰려면 pack support를 준비합니다.

$ pyocd pack --update
$ pyocd pack --install stm32wb55rg
$ minicom -D /dev/ttyUSB0
west build -b nucleo_wb55rg samples/hello_world
west flash
Hello World! arm

Debugging

west build -b nucleo_wb55rg samples/basic/blinky
west debug

참고 자료

Source

출처

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