Category (Click)
개발보드 덕질하기

[nRF54] nRF54L15 DK 핸즈온

올해는 FreeRTOS 대신 Zephyr를, Zigbee 대신 Matter를 사용해보려 합니다.
오래전에 사둔 nRF52840-DK도 좋지만 기왕 하는거 새걸로 하는게 좋지 않을까 해 가장 최신 SoC인 nRF54 시리즈를 사용해보기로 했습니다. 사실 산 이유가 조금 있긴 합니다. 그건 차차 이야기하구요

언박싱

뭔가 투박하면서도 감성이 느껴지는.. 박스 참 잘만들었습니다.
박스 옆면에 Bluetooth, Thread, Matter, NFC 로고가 보입니다. 이쁘네요
가지고 있던 nRF52840-DK(위)와 비교해봤습니다.
52840쪽은 엄청 복잡해보이는 반면 nRF54L15-DK(아래)는 아주 간단해보입니다. PMIC를 사용하면서 전원부가 단순해져서 그런게 아닌가 합니다. 여러 부가기능도 처냈는지 여기저기 널려있던 점퍼와 스위치도 모두 사라진 모습입니다.
주인공인 nRF54L15-DK만 따로 찍어봤습니다.
복잡했던 52840이 사라지니 한결 편안한 느낌입니다. 그러고 보니 세상에 아두이노 스타일 헤더가 사라졌네요. 이분야에서는 ST의 Nucleo가 독보적인데요, 이기지도 못할 아두이노를 따라하겠다고 핀을 죄다 섞어놓지를 않나, 그럴거면 보드에 핀번호라도 적어줄것이지... Nordic은 그나마 핀번호라도 적어줘서 고마(?)웠는데 이제는 아니다 싶었는지 빼버렸습니다. 손절 바람직하네요 너무 좋습니다.
자세히 살펴보니 PORT별로 묶어뒀네요. 와 이거 진짜 핀꽂을때마다 행복할것 같습니다 ㅋㅋ..
한편 J-Link 디버거로는 nRF5340을 사용한 모습입니다. Nordic 개발보드에 NXP나 STM32 MCU가 박혀있으면 또 이상할것같기는 합니다.

nRF54L15

이쯤에서 nRF54L15가 어떤녀석인지 알아볼까 합니다. 공식 홈페이지 내용을 참고했습니다.
Nordic - nRF54L Series overview [link]
The nRF54L Series is the successor of the popular nRF52 Series and takes it to the next level
Built on experience from the successful nRF52 Series - shipped in the billions and trusted by thousands of developers - the nRF54L Series is set to be a strong successor. The nRF54L Series enables creation of innovative IoT products. It simplifies design challenges, ensures reliable wireless communication, delivers higher processing performance, and enables significantly expanded battery life.
nRF52 시리즈를 잘 팔아먹은 경험을 바탕으로 nRF54L 시리즈를 만들었다고 합니다. 회로를 단순화하고 무선 통신을 더욱 안정적이게, 그러면서도 강력한 성능과 향상된 전성비를.. 이거 완전 만병통치약이네요.
Integrated multi-purpose MCU with 2x processing power and 3x processing efficiency
All nRF54L Series SoCs integrate MCU functionality with an Arm Cortex-M33 processor running at 128 MHz, doubling the processing power of the nRF52840 while tripling processing efficiency. This enables improved functionality of end-products with even lower power consumption. The nRF54L Series provides this outstanding processing performance with Nordic’s proprietary technologies, a unique design approach, and pioneering progression to the low-leakage 22nm process node.
Cortex-M33 이친구는 RP2350에서 본 녀석이죠. nRF52840 대비 성능을 따블로, 효율은 3배 높다고 합니다. Nordic의 공식 데모 영상을 확인해보면 작업을 더 빨리 쳐내고 그러면서도 전력소비가 낮은게 확실히 보입니다. 55nm→22nm로 확 줄어든 공정빨이지 않나 싶습니다.
New ultra-low-power 2.4 GHz radio with lower power consumption
The nRF54L Series radio, combined with an efficient MCU, enables significantly lower power consumption for typical Bluetooth LE use cases, both when advertising and in connections, compared to the nRF52840. To evaluate the power savings that may be achieved in your application, experiment with the Online Power Profiler. These improvements in power consumption comer together with up to 8 dBm TX power and -96 dBm RX sensitivity.
깡 전성비 뿐만 아니라 RF 전성비도 개선되었다고 합니다.
Supported protocols
nRF54L Series supports Bluetooth LE, including Channel Sounding introduced in Bluetooth 6.0 core specification. The standard and additional Bluetooth Low Energy features are supported, including the networking capabilities of Bluetooth Mesh with accompanying Bluetooth NLC (Networked Lighting Control) profiles, and Bluetooth PAwR (Periodic Advertising with Responses) with the ESL profile.
Bluetooth 6.0을 지원합니다. 요즘은 숫자가 하도 높아져서 기능은 모르겠고 일단 신기하네요.
Supported protocols
nRF54L Series supports Bluetooth LE, including Channel Sounding introduced in Bluetooth 6.0 core specification. The standard and additional Bluetooth Low Energy features are supported, including the networking capabilities of Bluetooth Mesh with accompanying Bluetooth NLC (Networked Lighting Control) profiles, and Bluetooth PAwR (Periodic Advertising with Responses) with the ESL profile.
The nRF54L Series SoCs are multiprotocol, supporting Matter and IEEE 802.15.4 based protocols, including Thread and Zigbee, which can be used together with Bluetooth LE for use cases such as secure provisioning or DFU. Ecosystems such as Amazon SidewalkGoogle Find Hub (previously Google Find My Device), and Apple Find My are supported and available with the nRF Connect SDK. Wi-Fi companion ICs from the nRF70 Series are compatible with the nRF54LM20A, nRF54LM20B, and nRF54L15, expanding wireless connectivity options for your product.
Bluetooth는 LE, Mesh, NLC, PAwR(ESL)을, IEEE 802.15.4는 Zigbee와 사실상 Matter인 Thread를 지원합니다. nRF70 시리즈 SoC를 붙이면 Wi-Fi도 된다고 하는데, 이쪽은 6GHz 없는 Wi-Fi 6를 지원합니다.
Integrated peripherals and RISC-V coprocessor
SoCs in the series are equipped with various options of peripheral sets. Most of the SoCs support high-speed serial interfaces. High-speed USB is available on nRF54LM20A and nRF54LM20B. The series also features an ADC supporting up to 14 bits with oversampling for higher-resolution analog sensor measurements. The Global RTC is capable of running in System-OFF mode with current consumption down to 0.8 μA (@ 3.0 V). An integrated RISC-V is designed to handle additional time-critical tasks, offload workload from the main processor, or implement low-level custom protocols. It can also run SoftPeripherals, which utilize hardware acceleration for IO, such as sQSPI. In some cases, the integrated coprocessor can replace an external MCU used to solve these kinds of requirements.
nRF54L15는 메인 arm 코어 이외에도 “FLPR core”라 부르는 RISC-V 코어가 하나 더 있어서 메인 코어의 일부 작업을 넘길 수 있다고 합니다. SMP가 가능한건 아니고 Zephyr에서 Sysbuild를 사용해 FLPR용으로 코드를 짜면 된다고 합니다.
궁금해서 예제도 한번 실행해봤습니다. APP, FLPR은 각각 별도의 Zephyr 이미지로 빌드되고 sysbuild가 둘을 묶어서 적절한 Flash 영역에 집어넣는 것 같습니다. 각자 UART를 하나씩 잡고 로그를 찍어주네요. arm과 RISC-V가 한집살이라니.. 신기합니다.
Design flexibility with pin-to-pin compatible package variants
nRF54L Series SoCs provide various memory size options, ultra-compact CSP packages and QFN packages with pin-to-pin compatible options for selected SoCs. The selection of options, matching various requirements, makes the nRF54L Series an ideal fit for high-volume and cost-sensitive products.
Nordic - nRF54L packages and availability [link]
aQFN 이런거 없고 가장 만만한 QFN입니다. aQFN이 처음 쓸때는 신기하고 멋졌는데 SMT라도 잘못되는날에는.. 여긴 납땜 걱정 없겠네요. JLCPCB에 SMT 스톡으로 들어있는 QFN48을 주로 사용하게 될듯합니다.

사양

프로세서: 128 MHz Arm Cortex-M33
RISC-V 보조 프로세서: 128 MHz
NVM: 1.5 MB
RAM: 256 KB
프로토콜: Bluetooth LE/Channel Sounding, Thread/Zigbee, Matter, NFC 등
Peripherals
ADC: 8ch, 10-bit
GPIO: 24(QFN40), 31(QFN48), 32(CSP47), 35(QFN52)
High‑speed SPI/UART, 4x SPI/UART/TWI, PDM, I2S, PWM, QDEC
전압: 1.7~3.6 V

DevKit 하드웨어

공식 문서를 통해 개발보드의 기능을 확인할 수 있습니다.
한가지 특이한게 UART, PMIC 설정 등을 데스크탑 앱을 통해 제어할 수 있었습니다. 디버거인 nRF5340에 스위칭 IC가 붙어있어서 연결을 끊어줄 수 있는 모양입니다. 이야.. 이거 정말 좋네요 ㅋㅋ
PMIC 이야기가 나온김에 개발보드에 붙어있는 nPM1300 IC를 살펴봤습니다.
5V USB 전원을 공급받아서 SoC에 전원 공급은 물론이고 출력 전압 조절, GPIO 입출력, 배터리 충전 및 잔량 관리 등등.. 채널 2개 각각 200mA 출력입니다. JLC 기준 6천원.. nPM1300 Evaluation Kit는 8만원가량 하네요 ㅋㅋㅋ.. 언젠가 배터리 사용할일이 있으면 써먹어봐야겠습니다.
한편 DevKit의 USB는 Type-C를 사용합니다.
멀쩡히 Matter 지원하는 nRF52840dk 두고 쌔걸 산 이유기도 합니다. 마이크로5핀 이런거 그만좀 칠하고 C타입좀 다들 써줬으면 좋겠습니다.

Hello, nRF54L15-DK!

FLPR에서 코드를 실행하며 LED를 껐다켜도록 해봤습니다.
nRF54L15 Datasheet - 8.26 VPR — RISC-V CPU [link]
데이터시트에 따르면 FLPR은 혼자 켜지지는 않고 APP 코어의 이런저런 절차로 켜진다고 하는데요, Zephyr에서는 간단하게 nordic-flpr 스니펫을 추가한 뒤 Use sysbuild 체크하고 빌드하면 됩니다.
요즘은 LED 하나 켜기 참 어려워졌습니다. DeviceTree까지 숙제로 던져주는 Zephyr..
DT 수정을 도와주는 GUI가 있긴 한데.. 손대는 순간 오버레이 포맷이 다 깨지면 슬플것같습니다. Schematic 그릴때는 도움이 될지도요..?
코드 올리고 LED 왜 안켜지나 했는데 PMIC의 SoC 공급 전압이 1.8V로 되어있어서였습니다. 이거 참 3.3V에 너무 길들여졌나봅니다 ㅋㅋ.. 2.5V로 설정하고 LED에 저항 빼버렸습니다.
nRF54L15 Datasheet - 11.5.1 GPIO Electrical Specification [link]
GPIO...따..끔..!!

마무리

nRF52 시리즈가 언제 나왔는지 찾아보니 10년이 넘었네요. 공정이 확 바뀌며 성능과 전성비가 좋아졌는데, 가격은 싸기까지 합니다. RP2040에서 PIO가 킥이었는데, nRF54L15의 FLPR도 유용하게 써먹을 수 있지 않을까 합니다.
개발보드 자체만 보면 USB Type-C는 항상 반갑고 ㅋㅋ 복잡 점퍼 대신 PC에서 설정을 바꾸는게 신기하더라고요. 그리고 아두이노 스타일 헤더 삭제한건 정말 행복합니다.
프로젝트가 복잡해질수록 레이어링을 직접 해야하는 FreeRTOS를 사용하기가 점점 불편해지고 있습니다.
커널과 드라이버를 분리하고 싶지만 점점 한몸이 되어가다 보니 애초에 처음부터 하나로 붙어있는 Zephyr가 이런 고민을 하지 않아도 되어서 편한것 같습니다.
nRF54L15-DK로 Matter 개발을 하며 Zephyr에 조금 더 익숙해져보려 합니다.