podobnie jak wiele innych, byłem zaskoczony, gdy dowiedziałem się o mikrokontrolerze sprzedawanym za jedyne 0,03 USD za pośrednictwem eevbloga w zeszłym roku. Jak to możliwe? Wielu zakładało, że była to sprzedaż starego produktu. Kopając nieco dalej, okazało się, że istnieje cały segment rynku ultra-tanich mikrokontrolerów. Niemal wszystkie z nich to produkty raczej nieznanych firm z Chin czy Tajwanu. Ten zapis podsumowuje moje ustalenia w tej dość osobliwej niszy.
dowiedzieliśmy się już, że istnieje duża różnorodność bardzo wydajnych mikrokontrolerów $1.00, ale co z MCU $0.10? Czy rzeczywiście wszystkie one są „straszne”, jak sugerowano gdzie indziej?
Metodologia
jak zdefiniować mikrokontroler $0.10? W jakikolwiek sposób to ujmiesz, będzie to nieco arbitralny wybór. Wziąłem proste podejście i skorzystałem z ceny wspornika 100pc w LCSC. Sześciu dostawców, którzy mieli jedno lub wiele urządzeń poniżej 0,10 USD, Wszystkie z Azji. Jeśli dostępne były różne typy pakietów tego samego MCU, wybrałem wersję SOP8. Niektórzy producenci mieli więcej niż jednego kandydata, więc musiałem ograniczyć się do reprezentatywnych urządzeń do ostatecznej listy kandydatów ośmiu.
nie udało mi się znaleźć żadnego sub $0.10 MCU u dużych dystrybutorów jak np. Aby stwierdzić oczywistość: nie musi to oznaczać, że niemożliwe jest znalezienie MCU o wartości poniżej 0,10 USD od zachodnich producentów o odpowiedniej wielkości zamówienia. Wydaje się, że w grę wchodzą dwa czynniki: Po pierwsze, LCSCseems działają na znacznie mniejszych marżach niż uznani dystrybutorzy.Po drugie, uznani producenci MCU nie polegają tak bardzo na małych klientach i dlatego mogą oferować premię w przypadku zamówień o małej wielkości.
ze względu na brak narzędzi programistycznych i płyt ewaluacyjnych byłem w stanie przejrzeć większość urządzeń tylko według arkusza danych, z wyjątkiem MCU Padauk.
przegląd
w sumie osiem kandydatów z sześciu różnych producentów, jeśli zidentyfikowano. Zestawienie urządzeń znajduje się w poniższej tabeli.
istnieje kilka oczywistych podobieństw: Wszystkie urządzenia są zaprojektowane w oparciu o architekturę akumulatorową, niezaprzeczalnie inspirowaną serią Microchip PIC12. Co ciekawe, z wyjątkiem tylko MDT, wszyscy dostawcy rozszerzyli i zmodyfikowali swoje projekty z oryginału. Powód tego jest prawdopodobnie dwojaki: po pierwsze, chcą uniknąć wszelkich problemów prawnych z mikroprocesorem, a po drugie, sam PIC12 jest poważnie ograniczony. Niektóre z głównych niedociągnięć są usuwane, takie jak brak przerwań, adresowalna przestrzeń JMP/CALL, Bankowość pamięci/IO i poważny brak peryferii.
niestety, żaden z dostawców otwarcie nie udostępnia szczegółów, takich jak kodowanie instrukcji lub algorytmy pamięci. Rozwój wszystkich urządzeń musi rozpocząć się za pośrednictwem IDE dostarczonych przez dostawcę. Z wyjątkiem Holtek, wszystkie urządzenia opierają się na interfejsie programowania wysokiego napięcia i nie są łatwe do programowania w obwodzie. Tylko Padauk i Holtek oferują urządzenia, które można zaprogramować więcej niż jeden raz.
indywidualne ustalenia
Bojuxing Industrial
BJ8P509F, w cenie 0,0466 usd, jest nieco ulepszoną wersją PIC12C509. Zestaw instrukcji jest rozszerzony z 12 bitów do 13 bitów. Pozwala to na instrukcje jmp, które mogą adresować całą pamięć. Ponadto dodano możliwości przerwania i rozszerzony stos sprzętowy.
dostępny jest angielski Arkusz danych i wygląda na wystarczająco obszerny, aby pracować z urządzeniem. Niestety strona internetowa dostawcy i dokumentacja IDE są dostępne tylko w Języku Chińskim.
Eastsoft Micro
Eastsoft Micro posiada bogatą ofertę mikrokontrolerów opartych na PIC. Swój smak architektury nazywają „HR7P RISC”. Jest to kompleksowa architektura oparta na akumulatorach z możliwością przerwań, 8-poziomowym stosem i pozabankowym dostępem do pamięci i we / wy.
w przestrzeni poniżej 0,10 $dostępne jest jedno urządzenie, HR7P153P45SA. Godnymi uwagi cechami są dostępność 12 BitADC, oscylator o niskiej prędkości dla pracy z mniejszą mocą oraz dodanie dwóch przetworników z funkcją PWM.
Niestety, zarówno strona internetowa, jak i arkusze danych wydają się być dostępne tylko w Języku Chińskim.
Holtek
Holtek to dobrze ugruntowany dostawca mikrokontrolerów z Tajwanu. Ich wpis do tej kategorii, HT68F001,jest nieco dziwaczny: jest to raczej ograniczone urządzenie z zaledwie 512 słowami pamięci flash programu i 16 bajtów pamięci RAM. Architektura jest bardzo podobna do thePIC12 i może być taktowana tylko z wewnętrznego oscylatora 32 kHz. Ponieważ każda budowa trwa 4 cykle do wykonania, skutkuje to tylko 8000 instrukcjipierwsza sekunda! Wydaje się, że to urządzenie jest ukierunkowane na bardzo niską mocaplikacje, które mają bardzo niskie wymagania złożoności.
Ten MCU zawiera doskonałą dokumentację. Obejmuje to ich stronę internetową, Arkusze danych, noty aplikacyjne i IDE. Jest to również jedyne urządzenie, które oferuje programowanie lamp błyskowych niskiego napięcia. Oba te elementy odróżniają Holteka od reszty pola.
biorąc pod uwagę ograniczoną funkcjonalność ich wpisu, wydaje się jednak, że segment ultra-Tani nie jest priorytetem dla Holteka.
Padauk
Mają dziesiątki produktów w tym przedziale cenowym,z szeroką gamą funkcji i rodzajów opakowań.
wszystkie urządzenia są oparte na architekturze MCU Padauks, która jest znacznie rozszerzona w stosunku do PIC12: wykorzystuje oddzielne regiony pamięci I / O i SRAM i pozwala na adresowanie pełnego zakresu bez bankowości. W przeciwieństwie do wszystkich innych urządzeń, stos jest mapowany w pamięci. Większość instrukcji wykonuje się w jednym cyklu.
jednym z interesujących i bardzo unikalnych aspektów jest to, że architektura Padauks jest nastawiona na synchroniczne wielowątkowość, co pozwala na wykonywanie więcej niż jednego programu równolegle na tym samym rdzeniu MCU przy użyciu schematu podziału czasu. Nazywają to pojęcie „Field Programmable Processor Array” (FPPA). Podobna koncepcja jest używana w architekturze XCore przez XMOS. Jedną z przydatnych aplikacji wielowątkowości w małych MCU jest tworzenie wirtualnych peryferii, np. UART, I2C, które są obsługiwane równolegle z głównym programem.
wybrałem trzy reprezentatywne produkty w pakiecie SOP8: PMS150C, PFS154 i PFS173. Wszystkie mają tylko jedną jednostkę FPPA i dlatego nie obsługują wielowątkowości.
PMS150C to najtańsza oferta na poziomie 0,033 USD, oryginalna „3 cent MCU”. To urządzenie jest wyposażone w 1 kiloword jednorazowo programowalnej pamięci i 64 bajty pamięci RAM. Peryferia są znacznie rozszerzone na wiele konkurencyjnych części, oferując 16-bitowy timer, 8-bitowy timer z PWM, oscylator LF i analogowy komparator z 4-bitowym przetwornikiem napięcia odniesienia, który może być użyty do wdrożenia prostej funkcji ADC. Wszystko to jest wystarczające do wdrożenia prostych funkcji wykrywania i sterowania.
PFS154 kosztuje prawie dwa razy więcej. Jednak w przeciwieństwie do PMS150 oferuje on Pamięć flash o mocy 2KW i może być programowany wielokrotnie, co jest znacznie wygodniejsze dla rzeczywistego rozwoju. Peryferia zostały rozszerzone o 3 × 11-bitowe jednostki PWM, które wyglądają dobrze do sterowania diodami RGB.
wreszcie PFS173 jest przyrostkiem w stosunku do PFS154, dodając 8-bitowy ADC i rozszerzając flash do 3kilowords i RAM do 256 bajtów.
Padauk zapewnia obsługę IDE w asemblerze oraz nieco tajemniczy dialekt C („Mini-C”). Zapewniają doskonałe Arkusze danych w języku angielskim i chińskim, a także dwujęzyczną stronę internetową. Programowanie urządzeń odbywa się za pomocą 5 lub 6 przewodowego protokołu wysokiego napięcia, co sprawia, że programowanie w obwodzie jest trudne.
łańcuch narzędzi Open source
Po dyskusji na EEVblog, wokół MCU Padauk powstała mała społeczność, której celem jest stworzenie łańcucha narzędzi open source dla urządzenia. Większość działań jest omówiona w tym wątku.
na dzień dzisiejszy (Sierpień 2019), inżynieria odwrotna kodowanie instrukcji zostało zakończone, protokół programowania został udokumentowany, opracowano otwarty programator sprzętowy i zintegrowano wsparcie dla kilku smaków architektury PDK z SDCC. Rozwój wszystkich wcześniej wymienionych MCU Padauk jest teraz możliwy przy użyciu w pełni otwartego toolchain.
Puolop
Puolop jest chińskim dostawcą mikrokontrolerów i różnych mieszanych obwodów sygnałowych. Wydają się oferować szeroką gamę ponownie oznakowanych MCU Padauk, w szczególności starszą wersję OTP.
na przykład PUOLOP PTB150CSE wydaje się być identyczny z Padauk PMS150C. ich cena jest nieco niższa niż oryginału ($0.0315 vs $0.334). Nie jest jasne, jaki jest związek między Puolop i Padauk, ale wydaje się, że Padauk działa jako dostawca Puolop.
strona internetowa firmy i wszystkie dokumenty są dostępne tylko w Języku Chińskim.
wydaje się, że nie ma żadnego konkretnego powodu do rozważenia MCU Puolop nad Padaukami, poza oszczędzaniem ułamków centów na cenach.
Yspring Tech/MDT
Yspring Tech to chińska firma, która oferuje szeroką gamę urządzeń, które są funkcjonalnie kompatybilne z odpowiednikami Microchip. Wydaje się, że większość portfolio produktów pochodzi z firmy MDT tech, która jest tajwańskim przedsiębiorstwem i mogła zostać przejęta lub współpracuje z Yspring. Microchip miał problemy z ich modelu biznesowego w przeszłości.
Ysprings dodatkiem do tej recenzji jest MDT10P509, który sprzedaje za 0,0795 USD. To urządzenie wydaje się być dokładnym klonem PIC12C509. Chociaż może to być przydatne jako tani zamiennik oryginalnego produktu, jest wyraźnie gorszy od innych produktów w tej kategorii z funkcjonalnego punktu widzenia.
MDT10P509 oferuje 1KW pamięci OTP, 41 bajtów pamięci RAM i tylko jeden 8-bitowy timer jako Peryferia. Podobnie jak PIC12C509 nie oferuje przerwań, tylko 2 poziomowy stos sprzętowy i pobiera 4 zegary na instrukcję
wnioski
czy te mikrokontrolery rzeczywiście są „straszne”? To z pewnością kwestia perspektywy. Dotyczą one specyficznej kategorii tanich, dużych ilości produktów, które nie nadają się do serwisowania, o ograniczonej funkcjonalności. Musisz poczekać na naciśnięcie przycisku, a następnie pozwolić diodzie LED migać dokładnie pięć razy? Potrzebujesz sterować lampką nocną na baterie? Sub $0.10 MCU jest twoim przyjacielem, aby zmniejszyć BOM i skrócić czas rozwoju.
zastrzeżeniem jest to, że rozwój większości tych urządzeń jest dość niewygodny ze względu na ograniczoną dostępność wariantów Flasha i brak programowania w trybie in-service. Debugowanie jest zwykle oferowane tylko poprzez emulatory układów in.