Миниатюрный микроконтроллер для умных колец и других устройств
Краткое резюме
Микроконтроллер MSPM0C1104 — один из самых маленьких в мире, оснащён ядром Arm Cortex-M0+ и имеет флэш-память 16 Кбайт. Он может использоваться в умных кольцах и других устройствах, работает без внешнего кварца и поддерживает несколько интерфейсов.
Мне пришло сообщение с сайта embedded.com о микроконтроллере MSPM0C1104. Согласно презентации производителя, этот компонент может использоваться в умных кольцах, хотя и не является основным элементом таких устройств. На LCSC его можно приобрести за 0,84 доллара в розницу.
**Основные характеристики:**
* ядро CPU: Arm Cortex-M0+;
* частота: 24 МГц;
* флэш-память: 16 Кбайт;
* ОЗУ (RAM): 1 Кбайт;
* АЦП: 12-разрядный SAR, 1,5 Msps;
* количество каналов АЦП: 3;
* количество линий GPIO: 6;
* UART: 1 интерфейс с поддержкой LIN, irDA, DALI, Manchester, Smart Card;
* I²C: 1 интерфейс, 1 Mbps;
* SPI: 1 интерфейс, 12 Mbps;
* напряжение питания: 1,62–3,6 В;
* диапазон рабочих температур: от −40 до +125 °C.
Микроконтроллер примечателен тем, что не требует внешнего кварца, поскольку оснащён двумя встроенными генераторами — на 24 МГц (с погрешностью от −2 % до +1,2 %) и на 32 кГц. Наличие DMA для такого небольшого МК довольно необычно. Каждый вывод поддерживает до шести альтернативных функций. В устройстве есть встроенный температурный датчик и измеритель напряжения питания. Отладка осуществляется через стандартный двухпроводной интерфейс SWD. Микроконтроллер защищён от чтения содержимого Flash и RAM.
**Энергопотребление:**
* RUN: 87 µA/MHz;
* STOP: 609 µA на 4 MHz, 311 µA на 32 kHz;
* STANDBY: 5 µA с сохранением SRAM;
* SHUTDOWN: 200 nA.
Энергопотребление этого чипа не является рекордно низким — существуют микроконтроллеры с более низким током потребления. Однако данный микроконтроллер рассчитан на работу под управлением главного микроконтроллера или в качестве узла в сети из нескольких микроконтроллеров. На это указывают высокие скорости его интерфейсов: потребление драйверов физических шин в реальном устройстве может значительно превышать собственное потребление этого микроконтроллера.
**Возможные применения:**
С точки зрения разработчика-любителя, можно выделить несколько вариантов использования микроконтроллера:
1. **Конвертеры протоколов.** Микроконтроллер может служить мостом-адаптером между различными интерфейсами, объединяя их в единую шину I²C или SPI для главного контроллера системы. Например, можно подключить несколько таких чипов к одной шине I²C и управлять через них длинными гирляндами адресных светодиодов WS2812 для создания недорогого RGB-дисплея.
2. **Умные органы управления.** Микроконтроллер может быть использован в умных кнопках и ручных энкодерах с RGB-подсветкой и звуковой индикацией. Он способен обрабатывать дребезг контактов и логику нажатий, управлять анимированной RGB-подсветкой, формировать звуковые сигналы на пьезоизлучателе и обмениваться данными с главным контроллером по I²C или SPI как готовое «умное» устройство.