ESP32, RP2040, RTL872xxx
이 3개 MCU의 특징은 외부 Flash로 프로그램을 내장하여 실행하는 XiP(Execute in Place) 칩이다.
이를 위하여 특정 포트에 QSPI(Quad SPI)를 연결하여 사용하기에 PIN 배정에 신경을 써 줘야 한다.
그리고, 이 칩들은 설계시 Flash를 잘 매칭해야 한다.
같은 MCU로 만든 테스트 보드의 처리 속도에 차이가 나는 경우 대부분이 이 외부 QSPI Flash를 잘못 선택한 경우이다.
* 참고: 저렴한 flash인 경우, 최근에 Datasheet에 못 미치는 부품이 판매 되고 있기에, Lot마다 테스트하길 바란다.
이들 칩 중에는 외부에 PSRAM을 지원한 것도 있다.
(시리즈가 수시로 나오기에 장담을 못 함)
내장된 RAM을 외부에 RAM으로 대체한 것이라고 보면 좋다.
이 두 조합을 합치면 매우 큰~ 용량의 프로그램을 처리하는 MCU가 된다.
물론 처리 속도는 고려해야 한다.
MicroPython을 내장하는 MCU는 고가인 경우, 이런 확장성이 좋은 MCU들이다.
예로 ESP32는 WiFi(MQTT, Web server는 포기!) + BLE server + Beacon까지 동시에 내장할 수 있는데, ADC가 불안전한 것까지만 확인했다.
최근 버젼 칩에서는, ADC가 안정화 되었다고 하지만, 테스트는 못 했다.
***
여기서 Arduino IDE 또는 Visual code에서 사용할 수 있는 MCU를 알아보겠습니다.
Bluetooth를 지원하는 대표적인 MCU부터 거론하겠습니다.
nRF51 – RedBear에서 개발한 툴을 사용하지만, 개발사가 사라지며서 지원되지 않습니다.
nRF52 – Adafruit, Seeed, RedBear등에서 지원하고 있습니다.
nRF51는 ADC가 10Bit인 가벼운 MCU입니다.
nRF52는 nRF52832, nRF52840가 대표적으로, ADC가 12Bit이며, 52840은 USB가 내장되어 있습니다.
52832, 52840은 MicroPython이 내장할 정도로 Flash와 RAM이 큽니다.
Arduino AVR
SAM(M3)
SAMD(M0)
Arduino 시작을 만든 MCU입니다.
여기서는 자세한 것은 거론하지 않겠습니다.
Arduino.cc를 참조하시길 바랍니다.
attiny / ATTiny core / megaTinyCore / MightyCore
AVR ATTiny을 지원하기 위한 Project입니다.
하지만, MCU의 가격이 Tiny하지 않습니다.
단지 단순한 기능에 적은 공각에 구현하기 좋습니다.
DxCore – AVR DA/DB를 지원하는 프로젝트입니다.
ESP32 – Bluetooth, WiFi를 지원하는 MCU입니다.
ESP8266 – WiFi만 지원하는 MCU입니다.
2.4GHz만 지원합니다.
저렴한 가격으로 좋지만, ADC가 불안전한 것과 PIN 사용에 주의가 필요합니다.
nRF52와 같이 MicroPython을 내장할 정도로 큰 Flash와 RAM을 가지고 있습니다.
RP2040
Raspberry Pi사에서 제작한 MCU로, ADC가 가능한 Pin이 4개만 있다는 것이 다른 MCU와 큰 차이입니다.
nRF52, ESP32와 같이 MicroPython을 내장할 수 있습니다.
RealTek Ameba
이 MCU는 2.4GHz와 5GHz를 둘 다 지원합니다.
Bluetooth LE와 WiFi를 지원합니다.
툴 개발이 느립니다.
Sduino STM8
STM32
ST사의 MCU를 지원하는 프로젝트입니다.
단가 대비 성능이 좋지만, 2022년에 공급에 문제가 있어 고생한 MCU입니다.
Ambiq Apollo3
Cortex M4를 기반으로 하는 강력한 MCU입니다.
클럭면에서는 중간이지만, 다양한 제품에 사용하기 좋습니다.
TEENSY
Cortex M7를 기반으로 하는 MCU입니다.
어디에도 사용할 수 있는 MCU이지만, 단가면에서 부담이 되는 MCU입니다.
윤 영기(Yoon, Young- Ki)
T) 02-6085-4734
master mail : newton@eqboard.com
back-up mail : beowulf.kr@mail.com
KOREA