Die „schreckliche“ 3–Cent-MCU – eine kurze Übersicht über Mikrocontroller unter 0,10 US-Dollar.

Wie viele andere war ich ziemlich erstaunt, als ich letztes Jahr über den EEVBlog von einem Mikrocontroller erfuhr, der für nur 0,03 USD verkauft wurde. Wie war das möglich? Viele nahmen an, dass dies ein Feuerverkauf eines alten Produkts war. Ein bisschen weiter graben, Es wurde deutlich, dass es ein ganzes Marktsegment von Ultra-Low-Cost-Mikrocontrollern gibt. Fast alle sind Produkte eher unbekannter Unternehmen aus China oder Taiwan. Dieser Artikel fasst meine Ergebnisse in dieser ziemlich eigenartigen Nische zusammen.

Wir haben bereits gelernt, dass es eine große Auswahl an sehr leistungsfähigen 1,00-Dollar-Mikrocontrollern gibt, aber was ist mit der 0,10-Dollar-MCU? Sind sie wirklich alle „schrecklich“, wie an anderer Stelle vorgeschlagen?

Methodik

Wie definiere ich einen $0.10 Mikrocontroller? Wie auch immer Sie es ausdrücken; Es wird eine etwas willkürliche Wahl sein. Ich habe einen unkomplizierten Ansatz gewählt und den Preis der 100-teiligen Halterung bei LCSC verwendet. Sechs Anbieter wurden identifiziert, die ein oder mehrere Geräte unter $ 0.10 hatten, alle aus Asien. Wenn verschiedene Pakettypen derselben MCU verfügbar waren, wählte ich die SOP8-Version. Einige Hersteller hatten mehr als einen Kandidaten, daher musste ich mich für eine endgültige Kandidatenliste von acht auf repräsentative Geräte beschränken.

Bei den großen Distributoren wie DigiKey oder Mouser konnte ich keine Sub $ 0.10 MCU finden. Nur um das Offensichtliche zu sagen: Dies bedeutet nicht unbedingt, dass es unmöglich ist, MCUs unter 0,10 US-Dollar von westlichen Herstellern mit der richtigen Bestellgröße zu finden. Hier scheinen zwei Faktoren ins Spiel zu kommen: Erstens scheint LCSC mit viel geringeren Margen zu arbeiten als die etablierten Distributoren.Zweitens sind die etablierten MCU-Hersteller nicht so stark von kleineren Kunden abhängig und können daher bei Bestellungen mit geringem Volumen einen Aufschlag erzielen.

Aufgrund des Mangels an Programmiertools und Evaluierungsboards konnte ich die meisten Geräte nur per Datenblatt überprüfen, mit Ausnahme der Padauk-MCUs.

Übersicht

Insgesamt wurden acht Kandidaten von sechs verschiedenen Herstellern identifiziert. Eine Zusammenfassung der Geräte finden Sie in der folgenden Tabelle.

Es gibt einige offensichtliche Gemeinsamkeiten: Alle Geräte basieren auf einer akkumulatorbasierten Architektur, die unbestreitbar von der PIC12-Serie von Microchip inspiriert ist. Interessanterweise erweiterten und modifizierten alle Anbieter mit Ausnahme von MDT ihre Designs gegenüber dem Original. Der Grund dafür dürfte zweierlei sein: Erstens wollen sie rechtliche Probleme mit Microchip vermeiden und zweitens ist der PIC12 selbst stark eingeschränkt. Einige der Hauptmängel werden behoben, wie das Fehlen von Interrupts, der adressierbare Raum von JMP / CALL, das Fehlen von Speicher / E / A und das starke Fehlen von Peripherie.

Leider teilt keiner der Anbieter offen Details wie Befehlscodierung oder Speicheralgorithmen. Die Entwicklung aller Geräte muss über vom Hersteller bereitgestellte IDEs beginnen. Mit ausnahme von Holtek, alle geräte verlassen sich auf hohe spannung programmierung interface und sind nicht leicht programmierung in-circuit. Nur Padauk und Holtek bieten Geräte an, die mehr als einmal programmiert werden können.

Zusammenfassung meiner Ergebnisse. PDF-Version hier.

Individuelle Ergebnisse

Bojuxing Industrial

Der BJ8P509F mit einem Preis von 0,0466 USD ist eine leicht verbesserte Version des PIC12C509. Der Befehlssatz wird von 12 Bit auf 13 Bit erweitert. Dies ermöglicht jmp-Anweisungen, die den gesamten Speicher adressieren können. Darüber hinaus wurden Interrupt-Funktionen und ein erweiterter HW-Stack hinzugefügt.

Ein englisches Datenblatt ist verfügbar und sieht umfassend genug aus, um mit dem Gerät zu arbeiten. Leider sind die Website des Anbieters und die IDE-Dokumentation nur auf Chinesisch verfügbar.

Eastsoft Micro

Eastsoft Micro verfügt über ein umfangreiches Portfolio an PIC-basierten Mikrocontrollern. Sie nennen ihren Geschmack der Architektur „HR7P RISC“. Es handelt sich um eine umfassende Akkumulator-basierte Architektur mit Interrupt-Fähigkeit, 8-Level-Stack und nicht bankgeschaltetem Zugriff auf Speicher und E / A.

Es gibt ein Gerät im Sub $ 0.10 Spaceavailable, das HR7P153P45SA. Bemerkenswerte Merkmale sind die Verfügbarkeit eines 12-Bit-ADC, eines Low-Speed-Oszillators für den Betrieb mit geringerer Leistung und die Hinzufügung von Twotimern mit PWM-Fähigkeit.

Leider scheinen sowohl Website als auch Datenblätter nur auf Chinesisch verfügbar zu sein.

Holtek

Holtek ist ein gut etablierter Mikrocontroller-Anbieter aus Taiwan. Ihr Eintritt in diese Kategorie, der HT68F001, ist etwas seltsam: Es ist ein ziemlich begrenztes Gerät mit nur 512 Wörtern vonProgramm-Flash und 16 Bytes RAM. Die Architektur ist dem PIC12 sehr ähnlich und kann nur von einem internen 32 kHz Oszillator getaktet werden. Da die Ausführung jeder Anweisung 4 Zyklen dauert, führt dies zu nur 8000 Anweisungen pro Sekunde! Es scheint, dass dieses Gerät auf Ultra-Low-Power abzieltanwendungen mit sehr geringen Komplexitätsanforderungen.

Diese MCU verfügt über eine hervorragende Dokumentation. Dazu gehören ihre Website, Datenblätter, Anwendungshinweise und IDE. Es ist auch das einzige gerät zu bieten niedrigen spannung flash programmierung. Beides hebt Holtek etwas vom Rest des Feldes ab.

Angesichts der eingeschränkten Funktionalität ihres Einstiegs scheint das Ultra-Low-Cost-Segment für Holtek jedoch keine Priorität zu haben.

Padauk

Es ist sehr klar, dass der Sub $ 0.10 MCUmarket Padauks Heimrasen ist. Sie haben Dutzende von Produkten in dieser Preisklasse,mit einer Vielzahl von Funktionen und Pakettypen.

Alle Geräte basieren auf der MCU-Architektur von Padauk, die deutlich über die des PIC12 hinausgeht: Sie verwendet getrennte E / A- und SRAM-Speicherbereiche und ermöglicht die Adressierung des gesamten Bereichs ohne Banking. Im Gegensatz zu allen anderen Geräten ist der Stack Memory Mapped. Die meisten Befehle werden in einem einzigen Zyklus ausgeführt.

Ein interessanter und sehr einzigartiger Aspekt ist, dass Padauks Architektur auf synchrones Multithreading ausgerichtet ist, das es ermöglicht, mehr als ein Programm parallel auf demselben MCU-Kern unter Verwendung eines Time-Slicing-Schemas auszuführen. Sie nennen dieses Konzept „Field Programmable Processor Array“ (FPPA). Ein ähnliches Konzept wird in der XCore-Architektur von XMOS verwendet. Eine nützliche Anwendung von Multithreading in kleinen MCUs ist die Erstellung einer virtuellen Peripherie, z. B. UART, I2C, die parallel zum Hauptprogramm betrieben wird.

Ich habe drei repräsentative Produkte in einem SOP8-Paket ausgewählt: Die PMS150C, die PFS154 und die PFS173. Alle diese haben nur eine einzige FPPA-Einheit und unterstützen daher kein Multithreading.

Der PMS150C ist mit 0,033 US-Dollar das kostengünstigste Angebot, die ursprüngliche „3-Cent-MCU“. Dieses Gerät verfügt über 1 Kilowatt einmal programmierbaren Speicher und 64 Byte RAM. Die Peripherie ist deutlich über viele der konkurrierenden Teile erweitert und bietet einen 16-Bit-Timer, einen 8-Bit-Timer mit PWM, einen NF-Oszillator und einen analogen Komparator mit 4-Bit-Referenzspannungs-DAC, mit dem einfache ADC-Funktionen implementiert werden können. All dies reicht aus, um einfache Erfassungs- und Steuerfunktionen zu realisieren.

Der PFS154 ist fast doppelt so teuer. Im Gegensatz zum PMS150 bietet es jedoch 2 kW Flash-Speicher und kann mehrfach programmiert werden, was für die tatsächliche Entwicklung viel bequemer ist. Die Peripherie wurde um 3×11 Bit PWM-Einheiten erweitert, die sich gut zur Ansteuerung von RGB-LEDs eignen.

Schließlich ist der PFS173 eine inkrementelle Verbesserung gegenüber dem PFS154, indem er einen 8-Bit-ADC hinzufügt und Flash auf 3 Kilowatt und RAM auf 256 Byte erweitert.

Padauk bietet eine IDE-Unterstützungentwicklung in Assembler und ein etwas kryptischer Dialekt von C („Mini-C“). Sie bieten hervorragende Datenblätter in Englisch und Chinesisch sowie eine zweisprachige Website. Die Programmierung der Geräte erfolgt über ein 5- oder 6-Draht-Hochspannungsprotokoll, was die In-Circuit-Programmierung schwierig macht.

Open Source Toolchain

Nach der Diskussion auf EEVBlog hat sich eine kleine Community um die Padauk MCU gebildet mit dem Ziel, eine Open Source Toolchain für das Gerät zu erstellen. Die meisten Aktivitäten werden in diesem Thread behandelt.

Ab heute (August 2019)wurde das Reverse Engineering der Befehlscodierung abgeschlossen, das Programmierprotokoll dokumentiert, ein Open-Hardware-Programmierer entwickelt und die Unterstützung für mehrere Varianten der PDK-Architektur in SDCC integriert. Die Entwicklung für alle zuvor genannten Padauk-MCUs ist jetzt mit einer vollständig offenen Toolchain möglich.

Puolop

Puolop ist ein in Shenzhen ansässiger chinesischer Anbieter von Mikrocontrollern und verschiedenen Mixed-Signal-Schaltungen. Sie scheinen eine breite Palette von neu beschrifteten Padauk-MCUs anzubieten, insbesondere die ältere OTP-Version.

Zum Beispiel scheint der Puolop PTB150CSE identisch mit dem Padauk PMS150C zu sein. Ihre Preise sind etwas niedriger als das Original ($ 0.0315 vs $ 0.334). Es ist nicht klar, welche Beziehung zwischen Puolop und Padauk besteht, aber es scheint, dass Padauk als Lieferant von Puolop fungiert.

Die Website des Unternehmens und alle Dokumentationensind nur auf Chinesisch verfügbar.

Es scheint keinen besonderen Grund zu geben, Puolop-MCUs gegenüber Padauks in Betracht zu ziehen, außer Bruchteile von Cent bei der Preisgestaltung zu sparen.

Yspring Tech / MDT

Yspring Tech ist ein in China ansässiges Unternehmen, das eine breite Palette von Geräten anbietet, die funktional mit Gegenstücken von Microchip kompatibel sind. Es scheint, dass der größte Teil des Produktportfolios von MDT tech stammt, einem taiwanesischen Unternehmen, das entweder erworben wurde oder mit Yspring zusammenarbeitet. Microchip hat in der Vergangenheit Probleme mit seinem Geschäftsmodell gehabt.

Ysprings Ergänzung zu diesem Test ist der MDT10P509, der für $ 0.0795 verkauft wird. Dieses Gerät scheint ein exakter Klon des PIC12C509 zu sein. Während dies als kostengünstiger Ersatz des Originalprodukts nützlich sein könnte, ist es den anderen Produkten in dieser Kategorie aus funktionaler Sicht deutlich unterlegen.

Der MDT10P509 bietet 1 KW OTP-Speicher, 41 Byte RAM und nur einen einzigen 8-Bit-Timer als Peripherie. Wie der PIC12C509 bietet er keine Interrupts, nur einen 2-Level-HW-Stack und benötigt 4 Takte pro Anweisung

Schlussfolgerungen

Sind diese Mikrocontroller tatsächlich „schrecklich“? Das ist sicherlich eine Frage der Perspektive. Sie richten sich an eine bestimmte Kategorie kostengünstiger, großvolumiger, nicht wartungsfähiger Produkte mit eingeschränkter Funktionalität. Sie müssen auf einen Knopfdruck warten und dann genau fünfmal eine LED blinken lassen? Sie müssen ein batteriebetriebenes Nachtlicht steuern? Die sub $0,10 MCU ist ihr freund zu reduzieren BOM und verkürzen entwicklung zeit.

Eine Einschränkung ist, dass die Entwicklung für die meisten dieser Geräte aufgrund der begrenzten Verfügbarkeit von Flash-Varianten und des Mangels an In-Service-Programmierung recht unpraktisch ist. Das Debuggen wird normalerweise nur über In-Circuit-Emulatoren angeboten.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht.