Я, в числе прочих, поразился прошлогоднему известию в блоге EEVblog о том, что какие-то микроконтроллеры продаются всего по $0,03 за штуку. Как это было возможно? Многие предположили, что это распродажа или старые остатки. Покопавшись в истории, я пришёл к выводу о существовании целого сегмента рынка сверхдешёвых микроконтроллеров. Почти все они произведены малоизвестными компаниями из Китая или Тайваня. В данной статье я свёл результаты своих изысканий в этой довольно необычной нише.

Мы уже знаем, что существует довольно большой спектр очень мощных микроконтроллеров стоимостью по $1.00, но что насчёт MCU по $0,1? Так ли они «ужасны», как о них пишут?

Методология


Как определить микроконтроллер стоимостью в $0,1? Да как хотите; выбор определения произволен. Я решил пойти напрямик, используя стоимость 100 штук в магазине LCSC. Я обнаружил шесть производителей, предлагавших один или несколько чипов стоимостью менее $0,1, и все они были из Азии. Если чипы предлагались в различных корпусах, я выбирал вариант SOP8. У некоторых производителей было несколько кандидатов, поэтому мне пришлось ограничиться выбором типичных устройств для финального списка из 8 кандидатов.

У крупных дистрибьюторов, вроде Digikey или Mouser, микроконтроллеров по $0,1 я не нашёл. Очевидно, что это не означает, что найти такие MCU у западных производителей невозможно – всё зависит от объёма заказа. Тут играет роль два фактора: во-первых, LCSC работает с гораздо меньшей наценкой, чем крупные дистрибьюторы. Во-вторых, крупные производители MCU не зависят от мелких клиентов, поэтому свободно назначают цену на товары, покупаемые в небольших количествах.

В отсутствии программаторов и тестовых стендов я смог сделать обзор большинства устройств только по их спецификациям, за исключением MCU от Padauk.

Обзор


В целом я отобрал восьмерых кандидатов от шести разных производителей. Суммарная таблица приведена ниже.

В ней есть очевидные сходства – все устройства спроектированы для аккумуляторной архитектуры, и, несомненно, на основе Microchip PIC12. За исключением MDT, все производители изменили и дополнили схемы своих чипов. Причин, пожалуй, две: во-первых, они хотели избежать юридических проблем с Microchip, а во-вторых, у PIC12 есть серьёзные ограничения. Они поработали с основными недостатками – отсутствие прерываний, адресного пространства JMP/CALL, переключения банков памяти и периферии.

К сожалению, производители не поделились таким деталями, как кодирование инструкций или алгоритмы памяти. Вся разработка для этих устройств должна идти посредством IDE от производителей. За исключением Holtek, все устройства зависят от высоковольтного интерфейса программирования, и их не так-то легко программировать на месте. Только Padauk и Holtek предлагают устройства, которые можно программировать больше одного раза.



> Кликабельно. Есть PDF-версия

Отдельные находки


Bojuxing Industrial


Чип BJ8P509F по цене в $0,0466 – это немного усовершенствованный вариант PIC12C509. Набор инструкций расширен с 12 до 13 бит. Это позволяет использовать jmp с полной адресацией памяти. Кроме того, добавлены возможности работы с прерываниями и расширенным HW-стеком.

Имеется спецификация на английском языке, и она достаточно подробна для работы с чипом. К сожалению, веб-сайт и IDE производителя есть только на китайском.

Eastsoft Micro


У Eastsoft Micro имеется большой портфель микроконтроллеров, произведённых на основе PIC. Они называют свой вариант архитектуры HR7P RISC. Это полноценная аккумуляторная архитектура с поддержкой прерываний, 8-уровневым стеком и доступом к памяти и I/O без переключения банков.

У них есть один чип стоимостью до $0,1, и это HR7P153P45SA. Среди примечательных особенностей – поддержка ADC 12 бит, низкоскоростной осциллятор для работы при пониженном питании и добавление двух таймеров с поддержкой PWM.

К сожалению, веб-сайт и спецификация есть только на китайском.

Holtek


Holtek – известный производитель микроконтроллеров из Тайваня. Их представитель в данной категории HT68F001 довольно уникален: ограниченное устройство с 512 словами программной флэш-памяти и 16 байтами RAM. Архитектура очень похожа на PIC12, синхронизируется только от внутреннего осциллятора на 32 кГц. Поскольку на выполнение каждой инструкции уходит 4 такта, он выполняет только 8000 инструкций в секунду! Судя по всему, этот чип предназначен для применения в условиях ультранизкого энергопотребления, не требовательного к производительности.

У чипа отличная документация. Тут и веб-сайт, и спецификация, и заметки по применению, и IDE. Это также единственный чип с возможностью флэш-программирования на низком напряжении. Всё это ставит продукцию Holtek особняком на фоне остальных.

Однако, учитывая ограниченную функциональность этого чипа, по-видимому, сегмент ультрадешёвых чипов не является для Holtek приоритетным.

Padauk


Совершенно ясно, что на рынке чипов до $0,1 Padauk чувствует себя, как дома. В этом ценовом диапазоне они предлагают десятки продуктов с разнообразными возможностями и видами корпусов.

Все они основаны на архитектуре MCU Padauk, значительно более развитой по сравнению с PIC12: она использует отдельные участки памяти для I/O и SRAM, позволяет выполнять адресацию ко всей памяти без переключения банков. В отличие от всех остальных устройств, здесь стек находится в оперативной памяти. Большинство инструкций выполняются за один такт.

Один интересный и необычный аспект архитектуры Padauk состоит в том, что она заточена под синхронную многопоточность, и позволяет выполнять более одной программы параллельно на одном ядре MCU по схеме вытесняющей многозадачности. Они называют эту концепцию «программируемая пользователем процессорная матрица» (FPPA). Сходную концепцию использует XMOS в архитектуре XCore Architecture. Один полезный вариант применения многопоточности в небольших MCU – создание виртуальной периферии, например, UART, I2C, работающей параллельно с основной программой.

Я выбрал три их репрезентативных продукта в корпусе SOP8: PMS150C, PFS154 и PFS173. У всех них есть один модуль FPPA, поэтому они не поддерживают многопоточность.

PMS150C – самый дешёвый вариант, стоящий $0,033, то есть, это оригинальный «трёхцентовый MCU». У устройства одноразовая программируемая память на 1 килослово и 64 байта RAM. Периферию представляют множество соревнующихся вариантов – 16-битный таймер, 8-битный таймер с ШИМ, низкочастотный осциллятор, аналоговый компаратор с опорным напряжением 4 бит DAC, который можно использовать для реализации простейших вариантов АЦП. Всего этого достаточно для реализации простых функций датчика и управляющего модуля.

PFS154 стоит почти в два раза дороже. Однако, в отличие от PMS150, у него есть флэш-память на 2 килослова, его можно программировать многократно, что гораздо удобнее для реальной разработки. Периферия расширяется ШИМ-модулями 3х11 бит, неплохо подходящими для управления RGB светодиодами.

Наконец, PFS173 далее улучшает чип PFS154, добавляя 8-битный АЦП и расширяя флэш-память до 3 килослов и RAM до 256 байт.

Padauk обеспечивает IDE для разработки на ассемблере и достаточно загадочный диалект С (Mini-C). У них есть отличные спецификации на английском и китайском, а также двуязычный сайт. Программирование устройств осуществляется высоковольтным протоколом на 5 или 6 проводов, что затрудняет программирование чипа на месте.

Набор инструментов с открытым кодом


Вокруг Padauk MCU на сайте EEVblog сформировалось небольшое сообщество, пытающееся создать набор инструментов с открытым кодом для их чипов. Большинство работы описывается в этой ветке.

На август 2019 закончен инженерный разбор кодирования инструкций, описан протокол программирования, разработан открытый программатор, в SDCC интегрирована поддержка нескольких вариантов PDK архитектуры. Уже возможно вести разработку для всех упомянутых чипов от Padauk при помощи полностью открытого набора инструментов.

Puolop


Puolop – китайский производитель микроконтроллеров и различных смешанных аналогово-цифровых схем со штаб-квартирой в Шэньчжэне. Они предлагают широкий спектр чипов от Padauk под своим брендом, в частности, старые OTP-версии.

К примеру, Puolop PTB150CSE выглядит абсолютно идентично Padauk PMS150C. Стоимость у них чуть меньше оригинала ($0,0315 против $0,334). Неясно, какая связь существует между этими брендами, но, судя по всему, Padauk выступает в роли поставщика для Puolop.

Веб-сайт компании и вся документация есть только на китайском. Никаких причин предпочесть чипы от Puolop чипам от Padauks не наблюдается – разве что экономия небольшой части цены.

Yspring Tech / MDT


Yspring Tech – китайская компания, предлагающая широкий спектр устройств, функционально сравнимых с конкурентами от Microchip. Судя по всему, большая часть ассортимента взята у MDT, тайваньской компании, которую Yspring либо купила, либо сделала партнёром. Microchip противилась их бизнес-модели в прошлом.

Ysprings добавляет в этот обзор MDT10P509 по цене в $0,0795. Это устройство, судя по всему, является полным клоном PIC12C509. Оно может оказаться полезным в качестве дешёвой замены оригинала, но оно явно уступает по характеристикам другим продуктам из этой категории.

MDT10P509 предлагает 1 килослово одноразовой памяти, 41 байта RAM, и единственный 8-битный таймер в качестве периферии. В нём, как и в PIC12C509, нет прерываний, есть только двухуровневый HW-стек, а инструкции выполняются за 4 такта.

Заключение


Являются ли эти микроконтроллеры на самом деле «ужасными»? Очевидно, зависит от точки зрения. Они попадают в особую категорию необслуживаемых продуктов небольшой функциональности с небольшой стоимостью для оптовых закупок. Вам нужно подождать нажатия кнопки, а потом пять раз мигнуть светодиодом? Вам нужно управлять ночником на батарейках? Чипы стоимостью до $0,1 помогут вам уменьшить себестоимость и укоротить время разработки.

Подвох в том, что разработка для большинства этих устройств окажется делом неудобным из-за ограниченной доступности флэш-прошиваемых вариантов и внутрисхемного программирования. Отладка обычно возможна только через эмуляторы схем.

Если вам нравится работать с дешёвыми микроконтроллерами, то серия от Padauk, без сомнения, будет лучшим выбором. У них наиболее мощная архитектура, широкий спектр устройств, включая варианты с флэш-памятью, хорошая документация, и единственная линейка с набором открытых инструментов.

Комментарии (54)


  1. lingvo
    18.09.2019 12:19

    Было бы интересно узнать цены на эти МК на Digikey или Mouser. Само применение подразумевает большие партии устройств с минимальной себестоимостью и тут без защиты от контрафакта не обойтись.


    1. drWhy
      18.09.2019 12:33

      Цена оригинального изделия $0.03 сама по себе является неплохой защитой от контрафакта, производителю которого придётся выбирать между получением прибыли и нанесением маркировки на корпус.


      1. dernuss
        19.09.2019 02:36

        ну придёт к выводу что маркировка не обязательна и сделает цену 0.02$


  1. alecv
    18.09.2019 13:22

    Еще совсем недавно самая популярная архитектура для копеечных MCU была MSC51…
    en.wikipedia.org/wiki/Intel_MCS-51#MCUs_based_on_8051


    1. dernuss
      18.09.2019 22:41

      N76E003


      1. alecv
        20.09.2019 10:58

        Спасибо, интересный чип, периферия богатая. Жаль что до 0.1$ не дотягивает. Digikey в розницу торгует чипами по 0.84$ а за 1000шт. — 0.38$ то есть у китайцев будет ~0.2$
        www.digikey.com/product-detail/en/nuvoton-technology-corporation-of-america/N76E003AT20/N76E003AT20-ND/8747842

        Интересно, что мешает производителю скинуть цену? Лицензионные отчисления Intel? Или спрос определяет цену? Багаж наработок по MCS51 просто огромный.



        1. dernuss
          20.09.2019 11:07

          Да, очень приличный чип. Китайцами позиционируется как замена stm8s003.
          Из недостатков надо покупать отладчик за 700р.

          Ну цена да. Но N76E003 лучше чем stm8s003 при такой же цене


    1. semen-pro
      21.09.2019 09:33

      Тоже удивился, ковыряю stc15w204, думал что это ниже плинтуса по цене. И тут снизу постучали.


  1. GarryC
    18.09.2019 14:00

    Когда, где-то с полгода назад, я впервые побывал на сайте Padauk и (ошибочно) решил, что в МК стоимостью 8 центов есть 8 ядер, я был настолько ошеломлен, что ушел в работы в полной прострации, не выключив компьютер и не закрыв комнату…
    Кстати, если в ядро добавить 8 счетчиком пробуждения потоков, то могло бы получиться забавно — почти настоящая многозадачностью с нулевыми расходами.


    1. Tsvetik
      18.09.2019 15:00

      Это вообще очень классная фича.
      Еще в каких-то микроконтроллерах это есть?


  1. torgeek
    18.09.2019 16:25

    Такой бы обзор да по микроконтроллерам на ужасных 64 битах менее 10$ ;)


    1. dernuss
      18.09.2019 21:08

      знаю только на 32 битах, зато за 5$ и с 128 мбайт DDR3 внутри )


      1. torgeek
        18.09.2019 21:35

        Kendryte K210 в составе модулей стоит до 8$. Сам чип очевидно меньше.
        Других не знаю. Ищу))


        1. dernuss
          18.09.2019 21:53

          Allwinner s3


          1. torgeek
            19.09.2019 10:36

            Запас по памяти — отличный, но очень прожорливый этот S3, по моим меркам.


        1. VladSMR
          19.09.2019 16:21

          Nuvoton NUC97x, правда требуется уточнять цены.
          На борту (в корпусе TQFP) ARM926 и 64M DDR2


          1. torgeek
            21.09.2019 09:03

            Этот мимо. У него 32 бита и судя по назначению, тоже прожорливый очень – примерно 700 мВт.


  1. EGregor_IV
    19.09.2019 05:22

    Всегда питал тайную тягу к дешёвым МК с ничтожными ресурсами. Долгое время любимый МК был Attiny12, у которого кроме компаратора и таймера ничего не было. Даже стек был аппаратным, на три уровня вложенности. Но он программировался по ISP низковольтно.
    И что я только на нём не делал: гирлянду, контроллер управления вентилятором ПК, ИК-пульт, всякие букашки и таракашки с вибромоторчиками от сотовых телефонов… Жаль, корпус был большой SO8, был бы SOT какой-нибудь, было бы лучше… А потом у меня гикнулся винт со всем этим добром… Теперь STM32 да ESP наше всё…


    1. SvSh123
      19.09.2019 08:24

      1. EGregor_IV
        19.09.2019 09:08
        +1

        Поздно уже. Назад дороги нет, разве что батарейное что-то, но тут MSP430 до сих пор вне конкуренции.


    1. Gordon01
      19.09.2019 08:28

      Но давайте признаемся: ESP32 просто шикарен, несмотря на некоторые странности из-за своей молодости.
      Уж точно лучший контроллер, с которым я работал (жаль, на нем батарейного почти ничего не сделаешь)


      1. boojum
        19.09.2019 09:07

        «Батарейное» на нем успешно работает как минимум месяцами на одной батарейке в сценариях «спит — ненадолго проснулся, измерил, передал — спит дальше». Периодический сбор данных, мониторинг и подобное.


        1. EGregor_IV
          19.09.2019 09:09

          Смотря как часто передавать. Раз в минуту — на долго не хватит. Батарейное — это батарейка ААА максимум.


          1. boojum
            19.09.2019 09:18

            Обмен раз в 10..15 минут (рандом). Батарейка 18650. Работает по полгода без особых заморочек с оптимизацией. Уверен можно в разы время жизни увеличить.

            А почему вдруг «батарейное» == «AAA максимум»?


            1. EGregor_IV
              19.09.2019 09:47

              18650 это литиевый аккумулятор. Даже если точнее — формфактор.
              По вашей логике, тогда и автомобильный аккумулятор — батарейка.


              1. boojum
                19.09.2019 09:58

                Обычно в этом контексте разделяют лишь батарейное и сетевое питание.

                Вы предлагаете батарейным считать только неперезаряжаемые 1.5В источники типоразмера «AAA максимум», а все аккумуляторы видимо вынести в класс «аккумуляторного питания»? )


                1. EGregor_IV
                  19.09.2019 10:10

                  Конечно :)


        1. zedroid
          19.09.2019 09:16

          Типичный срок батарейного применения о котором говорят в MSP430 — это срок жизни прибора (3 года).


          1. boojum
            19.09.2019 09:21

            У него WIFI нет. В ESP львиная доля потребления уходит именно на него.


            1. EGregor_IV
              19.09.2019 09:48

              Wi-Fi и батарейка — в принципе несовместимые вещи.


              1. vp7
                19.09.2019 11:34

                Если WiFi использовать только для периодической передачи данных, просыпаясь ради этого каждые 10-30 минут на 2-5 секунд (различные датчики и т.д.), то и на батарейном питании можно довольно долго жить.


                1. SvSh123
                  19.09.2019 16:02

                  Да можно, наверное… только зачем, если для этого существуют более подходящие инструменты?


                  1. vp7
                    19.09.2019 18:49
                    +2

                    ZigBee это, конечно, хорошо и правильно, но ему нужен шлюз и стоимость контроллеров пока выше стоимости esp8266. Так что wifi тоже имеет право на жизнь.


              1. John_Cena
                20.09.2019 11:44

                А как же тогда, различные мышки, клавиатуры беспроводные. Они ведь работают от обычных алкаиновых батареек. Причем вполне уверенно в себе совмещают и беспроводные технологии и долгое время службы от одного элемента питания.


                1. dernuss
                  20.09.2019 11:53

                  Я даже больше скажу. Я свою Logitech Illuminated Keyboard с подсветкой заряжаю раз в 2 месяца.


      1. EGregor_IV
        19.09.2019 09:10

        Да. Контроллер хорош. Дороговат только


      1. dernuss
        19.09.2019 09:45

        В нём есть ULP сопроцессор, который может собирать данные с датчиков, пока основные ядра спят


    1. amartology
      19.09.2019 10:18
      +2

      У меня есть более крутая фишка для людей с такой тягой: Dialog GreenPAK.
      У них вообще нет никакого ядра, только периферия, немного программируемой логики и, внимание, хардварный конечный автомат на восемт состояний (ASM) в продвинутых моделях.

      Это почти так же весело, чем писать код на ассемблере, и еще веселее, чем лабораторки на рассыпухе в универе. Вспоминаете основы дискретной математики, и весь мир у вас на ладони.
      Интерфейс для конфигурирования выглядит примерно вот так:
      image


      1. dernuss
        19.09.2019 10:25
        +1

        Это же ПЛИС )


        1. amartology
          19.09.2019 13:23

          Вообще да, но очень-очень простая и дешевая. Там буквально полдоллара масштаб цены даже в некрупных сериях.
          У них ещё есть версии с встроенными LDO и силовыми ключами, АЦП и прочая полезная периферия, именно поэтому их стоит рассматривать как аналоги МК, а не ПЛИС. Для задач, где требуется иногда дергать ножками, а не обрабатывать информацию, вполне разумная замена.


          1. dernuss
            19.09.2019 13:50

            Ну за 0.5$ ещё надо найти где это будет лучше чем микроконтроллер за 3 или 6 цента, или лучше чем n76e003


          1. SvSh123
            20.09.2019 12:01

            Недостаток у них один, зато перекрывает все достоинства. Их не достать.


          1. sim2q
            20.09.2019 21:48

            О!, очень интересная штучка.


          1. Redvirg
            21.09.2019 15:39

            У GreenPAK'ов однократно программируемая память? Если да, то как удобно отлаживать их?


            1. amartology
              22.09.2019 10:11

              OTP, да. Отлаживать полностью удобно. Во-первых, софт умеет в симуляцию, большинство косяков находятся на этой стадии. Софт можно, кстати, абсолютно бесплатно скачать с сайта и сначала поиграться с ним, а потом думать, интересны ли такие чипы и стоит ли морочиться с маусером.
              А дальше у девборда есть коннектор к сокету с чипом и коннектор к внешнему миру, и он (девборд) умеет заливать прошивку прямо во внутреннюю память, мимо ОТР (пока питание не сброшено, разумеется). Между вашим чипом и остальной частью тестовой схемы будет два коннектора, но обычно это окей, если речь не идёт о встроенных в гринпак силовых ключах.


      1. EGregor_IV
        19.09.2019 10:30

        ОГО! Не знал, что есть такое.


      1. JerleShannara
        20.09.2019 17:35

        Огромное спасибо за наводку. Этож идеальная замена всяким тинькам, когда надо сделать простейший ногодрыг. Вы не знаете, в РФ их кто-нибудь возит нормально, или как обычно надо лезть на диджикеи и маусеры?


        1. amartology
          21.09.2019 09:08

          Неа, по-моему никто не возит, у основной продукции диалога слишком специфичный рынок, чтобы они были востребованы в России, а самим этим ребятам (а это купленный в прошлом году стартап) и подавно не до России было.
          Маусер наше всё в данном случае(


  1. SeyranGV
    19.09.2019 09:45

    странно что Padauk не находится на алиэкспрессе


  1. progchip666
    19.09.2019 13:12

    Содержание статьи неплохое, но качество перевода просто ужасно


  1. LevOrdabesov
    20.09.2019 20:26

    Было бы интересно почитать статьи от разработчиков, использовавших такие МК, особенно «в продакшене».
    Подозреваю, что там высочайший процент брака, а фраза «отладка перепрошивкой» обретает особый, сакральный смысл.


    1. Vadimatorikda
      22.09.2019 10:37

      Ну так ведь «отладка перепрошивкой» — это достаточно распространенная проблема у 8-ми биток. Я вот только у atmega16+ видел jtag и 1-wire у attiny2313 (говорят что с недавнего времени и у младших появились). Ту же atmega8a отлаживаешь по принципу «зашил и смотришь». Вроде у stm8 есть какое-то подобие отладки. Но тут уже не удалось поработать.


      1. dernuss
        22.09.2019 11:11

        у stm8 и n76e003 вообще всё отлично с отладкой)