차완기 - @10/9/2023, 2:56:00 PM
아직 삽질중이라 포스팅을 하지 못하고 있지만 BLE를 활용하는 프로젝트를 하나 진행하고 있습니다.
BLE Device와 연결하여 데이터를 가져오는 GATT Client를 만드는 중인데요, 일반적인 BLE 장치는 PC나 스마트폰의 BLE 스캐너 프로그램을 활용하면 되지만, 타겟 디바이스가 HID이다 보니 이런 방법으로는 내부의 구조를 뜯어보기 어렵다는 문제가 있었습니다.
이러한 이유로 BLE Sniffer로의 사용을 위해 nRF52840 USB 동글을 구매하게 되었습니다.
nRF SoC 알아보기
nRF SoC 개발을 하는 것은 아니지만, nRF SoC를 구매한 김에 Nordic Semiconductor에서 어떤 SoC를 다루는지 알아보기로 하였습니다.
우선 Nordic의 RF SoC를 nRF라 부르며, 지원하는 RF 종류에 따라 nRF 뒤에 붙는 두 숫자로 시리즈가 나뉘었습니다.
Nordic Product Guide - https://www.nordicsemi.com/products
위 표에 따르면 셀룰러를 지원하는 nRF91, BLE/IEEE 802.15.4 등 다양한 프로토콜을 지원하는 nRF52, nRF52의 업그레이드 버전인 nRF53으로 나뉘는 것을 알 수 있었습니다.
저전력 무선 기술에 중점을 둔 회사 답게 Wi-Fi를 지원하는 SoC는 없는 것이 특징인데요, Wi-Fi가 필요한 Application을 위해 Wi-Fi Companion IC인 nRF70 시리즈가 있었습니다. 단독 동작은 불가능하며, nRF52 등의 자사의 SoC에 붙여 함께 사용하는 형태입니다.
nRF52840 살펴보기
제가 구매한 USB 동글에는 nRF52840 SoC가 들어있습니다. 대략적인 사양은 아래와 같습니다.
•
시스템 사양
◦
CPU: Cortex-M4+FPU @ 64 MHz
◦
Flash: 1 MB
◦
RAM: 256 kB
◦
Peripherals: 4xSPI, 2xTWI, 2xUARTE, 4xPWM, I2S, USB FS, SPI HS, 8CH 12-bit ADC, etc..
◦
GPIO: 48 pins
◦
RF: Bluetooth LE, Bluetooth mesh, Thread, Zigbee, ANT, 2.4GHz, IEEE 802.15.4
•
전기적 사양
◦
공급 전압: 1.7~3.6 V(normal voltage mode), 2.5~5.5 V (high voltage mode)
◦
2 stage LDO 내장
nRF52840 SoC는 Cortex-M4를 중심으로 한 MCU에 RF를 담당하는 Peripheral가 붙어있는 형태를 가집니다.
nRF52840 Product Specification 18p - https://infocenter.nordicsemi.com/pdf/nRF52840_PS_v1.7.pdf
여느 MCU에서 볼 수 있던 Peripheral들이 보이는데요, 특이하게 Peripheral 마다 EasyDMA가 붙어있는것이 보입니다. DMA는 DMA인데, easy하다는 것일까요? ㅋㅋ 나중에 개발보드를 사용할 일이 생기게 되면 꼭 사용해봐야겠습니다.
nRF52840 Product Specification 64p - https://infocenter.nordicsemi.com/pdf/nRF52840_PS_v1.7.pdf
전원 부분을 살펴보면 IoT 목적에 알맞게 아주 넓은 전압 범위를 가지고 있었습니다. 2xAA, CR2032 등의 1차전지는 물론 Li-Po와 같은 2차 전지도 별도의 레귤레이터 없이 그대로 사용할 수 있겠네요.
역시 대부분의 IoT 제품에 사용되는 RF SoC 답습니다.
nRF52840 Dongle 살펴보기
지금 시점에서 흥미로운 내용은 위가 전부이고 이제는 개발보드를 살펴보도록 하겠습니다.
정전기 방지 봉투에 담겨 있었습니다.
전면에는 부품, 두개의 스위치, USB 연결을 위한 단자가 보이고 뒷쪽에는 디버깅을 위한 단자 등이 보이네요. 사이드에는 GPIO나 외부 전원 등을 위한 castellated 단자가 보입니다.
USB로 연결했더니 사진에는 나오지 않지만 빨간색 LED가 부드럽게 점멸하네요.
마무리
비록 nRF SoC 개발용으로 구매하지는 않았지만 이번 포스팅을 작성하며 조금이나마 nRF 제품군을 알아볼 수 있었습니다.
나중에 시간이 되면 온보드 스위치와 LED를 활용하는 간단한 코드를 작성해봐야겠습니다