den” fruktansvärda ” 3 cent MCU – en kort undersökning av sub $0.10 mikrokontroller.

som många andra blev jag ganska förvånad över att lära mig om en mikrokontroller som såldes för endast 0.03 USD via EEVblog förra året. Hur var det möjligt? Många antog att detta var en brandförsäljning av en gammal produkt. Gräva lite längre blev det uppenbart att det finns ett helt marknadssegment av ultra-billiga mikrokontroller. Nästan alla är produkter från ganska okända företag från Kina eller Taiwan. Denna skrivning sammanfattar mina resultat i denna ganska speciella nisch.

Vi har redan lärt oss att det finns ett stort utbud av mycket kraftfulla $ 1.00 mikrokontroller, men hur är det med $0.10 MCU? Är de verkligen alla ”hemska”, som föreslagits någon annanstans?

metodik

hur definierar du en $ 0.10 mikrokontroller? Hur som helst du uttrycker det; det kommer att vara ett något godtyckligt val. Jag tog ett enkelt tillvägagångssätt och använde priset på 100pc-fästet på LCSC. Sex leverantörer identifierades som hade en eller flera enheter under $0.10, allt från Asien. Om olika pakettyper av samma MCU var tillgängliga valde jag SOP8-versionen. Vissa tillverkare hade mer än en kandidat, så jag var tvungen att begränsa mig till representativa enheter för en slutlig kandidatlista på åtta.

jag kunde inte hitta någon sub $0.10 MCU hos de stora distributörerna somdigikey eller Mouser. Bara för att ange det uppenbara: det betyder inte nödvändigtatt det är omöjligt att hitta sub $0,10 MCU från västerländska tillverkare medrätt orderstorlek. Två faktorer verkar spela in här: För det första, Lcscverkar fungera på mycket mindre marginaler än de etablerade distributörerna.För det andra är de etablerade MCU-tillverkarna inte lika beroende av mindre kunder och kan därför befalla en premie på order med låg volym.

på grund av brist på programmeringsverktyg och utvärderingskort kunde jag bara granska de flesta enheter via datablad, med undantag för Padauk MCU: erna.

översikt

totalt identifierades åtta kandidater från sex olika tillverkare. En sammanfattning av enheterna finns i tabellen nedan.

det finns några uppenbara likheter: Alla enheter är utformade kring en ackumulatorbaserad arkitektur, onekligen inspirerad av Microchip PIC12-serien. Intressant, med endast MDT som ett undantag, utvidgade och modifierade alla leverantörer sina mönster från originalet. Anledningen till detta är förmodligen dubbelt: för det första vill de undvika juridiska problem med mikrochip och för det andra är PIC12 själv starkt begränsad. Några av de stora bristerna åtgärdas, såsom brist på avbrott, adresserbart utrymme för JMP/CALL, banking of memory/io och allvarlig brist på periferi.

tyvärr delar ingen av leverantörerna Öppet detaljer som instruktionskodning eller minnesalgoritmer. Utveckling för alla enheter måste påbörjas via leverantörslevererade IDEs. Med undantag för Holtek är alla enheter beroende av högspänningsprogrammeringsgränssnitt och programmerar inte enkelt in-circuit. Endast Padauk och Holtek erbjuder enheter som kan programmeras mer än en gång.

sammanfattning av mina resultat. PDF-version här.

individuella fynd

Bojuxing Industrial

BJ8P509F, prissatt till $0.0466, är en något förbättrad version av PIC12C509. Instruktionsuppsättningen förlängs från 12 bit till 13 bit. Detta möjliggör jmp-instruktioner som kan adressera hela minnet. Dessutom tillsattes avbrottsfunktioner och en utökad HW-stack.

ett engelskt datablad är tillgängligt och ser tillräckligt omfattande ut för att fungera med enheten. Tyvärr är leverantörens webbplats och IDE-dokumentation endast tillgänglig på kinesiska.

Eastsoft Micro

Eastsoft Micro har en omfattande portfölj av PIC-härledda mikrokontroller. De kallar sin smak av arkitekturen”HR7P RISC”. Det är en omfattande ackumulator baserad arkitektur med avbrottskapacitet, 8 nivå stack och icke-bankswitched tillgång till minne och I/O.

det finns en enhet i sub $0.10 spaceavailable, den HR7P153P45SA. Anmärkningsvärda funktioner är tillgängligheten av en 12 BitADC, en låghastighetsoscillator för lägre effektdrift och tillägg av tvåtimrar med PWM-kapacitet.

tyvärr verkar både webbplats och datablad bara vara tillgängliga på kinesiska.

Holtek

Holtek är en väletablerad microcontroller leverantör från Taiwan. Deras inträde i denna kategori, HT68F001,är något av en odditet: det är en ganska begränsad enhet med endast 512 ord avprogram flash och 16 byte RAM. Arkitekturen är mycket lik thePIC12 och kan endast klockas från en intern 32 kHz oscillator. Eftersom eachinstruction tar 4 cykler att utföra, resulterar detta i endast 8000 instructionsper sekund! Det verkar som om den här enheten riktar sig till extremt låg effektapplikationer som har mycket låga komplexitetskrav.

denna MCU kommer med utmärkt dokumentation. Detta inkluderar deras hemsida, datablad, applikationsanteckningar och IDE. Det är också den enda enheten som erbjuder lågspänningsblixtprogrammering. Båda dessa skiljer Holtek något från resten av fältet.

Med tanke på den begränsade funktionaliteten för deras inträde verkar det dock som att ultra-lågkostnadssegmentet inte är en prioritet för Holtek.

Padauk

det är mycket tydligt att sub $0.10 MCUmarket är Padauks hemmaplan. De har dussintals produkter i denna prisklass,med ett brett utbud av funktioner och pakettyper.

alla enheter är baserade på Padauks MCU-arkitektur, som är betydligt utökad över PIC12: den använder separerade i/O-och SRAM-minnesregioner och gör det möjligt att ta itu med hela sortimentet utan bank. Till skillnad från alla andra enheter är stacken minne mappad. De flesta instruktioner körs i en enda cykel.en intressant och mycket unik aspekt är att Padauks arkitektur är inriktad mot synkron multitrådning, vilket gör det möjligt att utföra mer än ett program parallellt på samma MCU-kärna med hjälp av ett tidsskivningsschema. De kallar detta koncept ”Field Programmable Processor Array” (FPPA). Ett liknande koncept används i Xcore-arkitekturen av XMOS. En användbar tillämpning av multitrådning i små MCU: er är att skapa virtuell periferi, t.ex. UART, I2C, som drivs parallellt med huvudprogrammet.

Jag valde tre representativa produkter Inan SOP8-paketet: PMS150C, PFS154 och PFS173. Alla dessa har en enda fppa-enhet och stöder därför inte multitrådning.

PMS150C är deras lägsta kostnadserbjudande på $0.033, den ursprungliga ”3 cent MCU”. Denna enhet levereras med 1 kiloword av engångs programmerbart minne och 64 byte RAM. Periferin sträcker sig särskilt över många av de konkurrerande delarna och erbjuder en 16-bitars timer, en 8-bitars timer med PWM, LF-oscillator och en analog komparator med 4-bitars referensspänning DAC som kan användas för att implementera enkel ADC-funktionalitet. Allt detta är tillräckligt för att implementera enkla Avkännings-och kontrollfunktioner.

PFS154 kostar nästan dubbelt så mycket. I motsats till PMS150 erbjuder det dock 2KW flashminne och kan programmeras flera gånger, vilket är mycket bekvämare för den faktiska utvecklingen. Periferin har utökats med 3 11-bitars PWM-enheter i 1-bitars, som ser väl lämpade ut för att styra RGB-lysdioder.

slutligen är PFS173 en inkrementalimprovement över PFS154, lägger till en 8-bitars ADC och utökar flash till 3kilowords och RAM till 256 byte.

Padauk ger en IDE-stödutveckling i Assembler och en något kryptisk dialekt av C (”Mini-C”). De ger utmärkta datablad på både engelska och kinesiska samt en tvåspråkig webbplats. Programmering av enheterna åstadkommes genom en 5 eller 6 tråd högspänningsprotokoll, vilket gör In-krets programmering utmanande.

Open source toolchain

efter diskussionen om EEVblog har ett litet samhälle bildats runt Padauk MCU med målet att skapa en öppen källkodskedja för enheten. De flesta av aktiviteterna omfattas av denna tråd.

från och med idag (augusti 2019), reverse engineering instruktionskodningen slutfördes, programmeringsprotokollet dokumenterades, en öppen hårdvaruprogrammerare utvecklades och stöd för flera smaker av PDK-arkitekturen integrerades i SDCC. Utveckling för alla de tidigare nämnda Padauk MCU: erna är nu möjlig med en helt öppen verktygskedja.

Puolop

Puolop är en Shenzhen-baserad kinesisk leverantör av mikrokontroller och olika blandade signalkretsar. De verkar erbjuda ett brett utbud av ommärkta Padauk MCU: er, särskilt den äldre OTP-versionen.

till exempel verkar Puolop PTB150CSE vara identisk med Padauk PMS150C. deras prissättning är något lägre än originalet ($0.0315 vs $0.334). Det är inte klart vad förhållandet mellan Puolop och Padauk är, men det verkar som om Padauk agerar som leverantör till Puolop.

företagets webbplats och all dokumentationär endast tillgängliga på kinesiska.

det verkar inte finnas någon särskild anledning att överväga Puolop MCU över Padauks, annat än att spara fraktioner av cent på prissättning.

Yspring Tech / MDT

Yspring Tech är ett Kina-baserat företag som erbjuder ett brett utbud av enheter som är funktionellt kompatibla med motsvarigheter från Microchip. Det verkar som om det mesta av produktportföljen har sitt ursprung i MDT tech, som är ett taiwanesiskt företag och kan ha antingen förvärvats eller är i samarbete med Yspring. Microchip har tagit problem med sin affärsmodell tidigare.

Ysprings tillägg till denna recension är MDT10P509 som säljer för $0.0795. Denna enhet verkar vara en exakt klon av PIC12C509. Även om detta skulle kunna vara användbart som en billig ersättning av den ursprungliga produkten, är det klart sämre än de andra produkterna i denna kategori ur funktionell synvinkel. MDT10P509 erbjuder 1KW OTP-minne, 41 byte RAM och endast en enda 8-bitars timer som periferi. Liksom PIC12C509 erbjuder det inga avbrott, bara en 2-nivå HW-stack och tar 4 Klockor per instruktion

slutsatser

är dessa mikrokontroller verkligen ”hemska”? Det är säkert en fråga om perspektiv. De adresserar en specifik kategori av billiga, höga volymer, icke-servicebara produkter med begränsad funktionalitet. Du måste vänta på att trycka på en knapp och sedan låta en LED-blixt exakt fem gånger? Du behöver för att styra en batteridriven nattlampa? Sub $0.10 MCU är din vän för att minska BOM och förkorta utvecklingstiden.

en varning är att utvecklingen för de flesta av dessa enheter är ganska obekvämt på grund av begränsad tillgänglighet av flashvarianter och brist på programmering i drift. Felsökning erbjuds vanligtvis endast via i kretsemulatorer.

Lämna ett svar

Din e-postadress kommer inte publiceras.