Le « terrible » MCU de 3 cents – une courte enquête sur des microcontrôleurs de moins de 0,10 $.

Comme beaucoup d’autres, j’ai été assez étonné d’apprendre un microcontrôleur vendu pour seulement 0,03 USD via l’EEVblog l’année dernière. Comment cela a-t-il été possible ? Beaucoup ont supposé qu’il s’agissait d’une vente au feu d’un ancien produit. En creusant un peu plus loin, il est devenu évident qu’il existe tout un segment de marché de microcontrôleurs à très faible coût. Presque tous sont des produits de sociétés plutôt inconnues de Chine ou de Taiwan. Cet article résume mes découvertes dans ce créneau assez particulier.

Nous avons déjà appris qu’il existe une grande variété de microcontrôleurs à 1,00 $ très puissants, mais qu’en est-il du MCU à 0,10 MC? Sont-ils en effet tous  » terribles », comme suggéré ailleurs?

Méthodologie

Comment définir un microcontrôleur à 0,10 $? Quoi qu’il en soit, ce sera un choix quelque peu arbitraire. J’ai adopté une approche simple et utilisé le prix du support 100pc chez LCSC. Six fournisseurs ont été identifiés qui avaient un ou plusieurs appareils inférieurs à 0,10 $, tous originaires d’Asie. Si différents types de paquets du même MCU étaient disponibles, j’ai choisi la version SOP8. Certains fabricants avaient plus d’un candidat, j’ai donc dû me limiter à des appareils représentatifs pour une liste finale de huit candidats.

Je n’ai pas pu trouver de MCU inférieur à 0,10 MC chez les grands distributeurs comme Edigikey ou Mouser. Juste pour énoncer l’évidence: Cela ne signifie pas nécessairement qu’il est impossible de trouver des microcontrôleurs inférieurs à 0,10 $ auprès des fabricants occidentaux avec la bonne taille de commande. Deux facteurs semblent entrer en jeu ici: Premièrement, LCSCSEPEUT fonctionner sur des marges beaucoup plus faibles que les distributeurs établis.Deuxièmement, les fabricants de MCU établis ne dépendent pas autant des petits clients et peuvent donc commander une prime sur les commandes à faible volume.

En raison du manque d’outils de programmation et de cartes d’évaluation, je n’ai pu examiner la plupart des appareils que par fiche technique, à l’exception des MCU Padauk.

Aperçu

Au total, huit candidats de six fabricants différents ont été identifiés. Un résumé des appareils se trouve dans le tableau ci-dessous.

Il y a des points communs évidents: Tous les appareils sont conçus autour d’une architecture à base d’accumulateurs, indéniablement inspirée de la série Microchip PIC12. Fait intéressant, avec seulement MDT comme exception, tous les fournisseurs ont étendu et modifié leurs conceptions par rapport à l’original. La raison en est probablement double: premièrement, ils veulent éviter tout problème juridique avec la puce électronique et deuxièmement, le PIC12 lui-même est sévèrement limité. Certaines des principales lacunes sont corrigées, telles que le manque d’interruptions, l’espace adressable de JMP / APPEL, la banque de mémoire / IO et le manque grave de périphérie.

Malheureusement, aucun des fournisseurs ne partage ouvertement des détails comme le codage d’instructions ou les algorithmes de mémoire. Le développement de tous les appareils doit commencer via desEs fournis par le fournisseur. À l’exception de Holtek, tous les appareils reposent sur une interface de programmation haute tension et ne programment pas facilement en circuit. Seuls Padauk et Holtek proposent des appareils qui peuvent être programmés plus d’une fois.

Résumé de mes résultats. Version PDF ici.

Résultats individuels

Bojuxing Industrial

Le BJ8P509F, au prix de 0,0466 $, est une version légèrement améliorée du PIC12C509. Le jeu d’instructions est étendu de 12 bits à 13 bits. Cela permet des instructions jmp qui peuvent adresser toute la mémoire. De plus, des capacités d’interruption et une pile HW étendue ont été ajoutées.

Une fiche technique en anglais est disponible et semble suffisamment complète pour fonctionner avec l’appareil. Malheureusement, le site Web du fournisseur et la documentation ID ne sont disponibles qu’en chinois.

Eastsoft Micro

Eastsoft Micro dispose d’un vaste portefeuille de microcontrôleurs dérivés de PIC. Ils appellent leur saveur de l’architecture « HR7P RISC ». Il s’agit d’une architecture complète basée sur des accumulateurs avec une capacité d’interruption, une pile à 8 niveaux et un accès à la mémoire et aux E /S sans commutation de banque.

Il y a un périphérique dans l’espace sub00.10 disponible, le HR7P153P45SA. Les caractéristiques notables sont la disponibilité d’un 12 BitADC, un oscillateur à basse vitesse pour un fonctionnement à faible puissance et l’ajout de deux minuteries avec capacité PWM.

Malheureusement, le site Web et les fiches techniques ne semblent être disponibles qu’en chinois.

Holtek

Holtek est un fournisseur de microcontrôleurs bien établi de Taiwan. Leur entrée dans cette catégorie, le HT68F001, est un peu étrange: c’est un appareil assez limité avec seulement 512 mots de flash de programme et 16 octets de RAM. L’architecture est très similaire àpic12 et ne peut être cadencée qu’à partir d’un oscillateur interne de 32 kHz. Puisque chaque instruction prend 4 cycles à exécuter, cela ne donne que 8000 instructions par seconde! Il semble que cet appareil cible des applications à très faible consommation d’énergie qui ont des exigences de complexité très faibles.

Ce MCU est livré avec une excellente documentation. Cela inclut leur site Web, leurs fiches techniques, leurs notes d’application et leurE. C’est également le seul appareil à offrir une programmation flash basse tension. Ces deux éléments distinguent Holtek du reste du domaine.

Compte tenu de la fonctionnalité limitée de leur entrée, cependant, il semble que le segment ultra-low-cost ne soit pas une priorité pour Holtek.

Padouk

Il est très clair que le MCUmarket inférieur à 0,10 $ est le terrain de jeu de Padouk. Ils ont des dizaines de produits dans cette gamme de prix, avec une grande variété de fonctionnalités et de types d’emballages.

Tous les périphériques sont basés sur l’architecture MCU Padauks, qui est considérablement étendue par rapport à celle du PIC12: Il utilise des régions d’E / S et de mémoire SRAM séparées et permet d’adresser toute la gamme sans banque. Contrairement à tous les autres périphériques, la pile est mappée en mémoire. La plupart des instructions s’exécutent en un seul cycle.

Un aspect intéressant et très unique est que l’architecture Padauks est orientée vers le multithreading synchrone, permettant d’exécuter plusieurs programmes en parallèle sur le même cœur de MCU en utilisant un schéma de découpage temporel. Ils appellent ce concept « Field Programmable Processor Array » (FPPA). Un concept similaire est utilisé dans l’architecture XCore par XMOS. Une application utile du multithreading dans les petits microcontrôleurs est de créer une périphérie virtuelle, par exemple UART, I2C, qui fonctionne en parallèle avec le programme principal.

J’ai choisi trois produits représentatifs dans un paquet SOP8: Le PMS150C, le PFS154 et le PFS173. Tous n’ont qu’une seule unité FPPA et ne prennent donc pas en charge le multithreading.

Le PMS150C est leur offre la moins chère à 0,033 $, le « MCU 3 cent » d’origine. Cet appareil est livré avec 1 kiloword de mémoire programmable unique et 64 octets de RAM. La périphérie est notamment étendue sur de nombreuses parties concurrentes, offrant un temporisateur 16 Bits, un temporisateur 8 Bits avec PWM, oscillateur LF et un comparateur analogique avec DAC de tension de référence 4 Bits pouvant être utilisé pour implémenter une fonctionnalité CAN simple. Tout cela est suffisant pour mettre en œuvre des fonctions de détection et de contrôle simples.

Le PFS154 coûte presque deux fois plus cher. Cependant, contrairement au PMS150, il offre une mémoire flash de 2 kW et peut être programmé plusieurs fois, ce qui est beaucoup plus pratique pour le développement réel. La périphérie a été étendue avec des unités PWM 3 × 11 bits, qui semblent bien adaptées au contrôle des LED RVB.

Enfin, le PFS173 est une amélioration incrémentale par rapport au PFS154, ajoutant un CAN 8 bits et étendant flash à 3kilowords et RAM à 256 octets.

Padauk fournit unvelopment supportant le développement en assembleur et un dialecte quelque peu cryptique de C (« Mini-C »). Ils fournissent d’excellentes fiches techniques en anglais et en chinois ainsi qu’un site Web bilingue. La programmation des appareils est réalisée par un protocole haute tension à 5 ou 6 fils, ce qui rend la programmation en circuit difficile.

Chaîne d’outils Open source

Suite à la discussion sur EEVblog, une petite communauté s’est formée autour du MCU Padauk dans le but de créer une chaîne d’outils open source pour l’appareil. La plupart des activités sont couvertes dans ce fil.

À compter d’aujourd’hui (août 2019), l’ingénierie inverse du codage des instructions a été terminée, le protocole de programmation a été documenté, un programmeur matériel ouvert a été développé et la prise en charge de plusieurs versions de l’architecture PDK a été intégrée à SDCC. Le développement de tous les MCU Padauk mentionnés précédemment est désormais possible à l’aide d’une chaîne d’outils entièrement ouverte.

Puolop

Puolop est un fournisseur chinois de microcontrôleurs basé à Shenzhen et de divers circuits de signaux mixtes. Ils semblent offrir une large gamme de MCU Padauk réétiquetés, en particulier l’ancienne version OTP.

Par exemple, le Puolop PTB150CSE semble être identique au Padauk PMS150C. Leur prix est légèrement inférieur à l’original (0,0315$ vs 0,334 $). La relation entre Puolop et Padauk n’est pas claire, mais il semble que Padauk agisse en tant que fournisseur de Puolop.

Le site web de l’entreprise et toute la documentationsont uniquement disponibles en chinois.

Il ne semble pas y avoir de raison spécifique de considérer les MCU Puolop plutôt que les Padauks, à part économiser des fractions de centimes sur les prix.

Yspring Tech / MDT

Yspring Tech est une société basée en Chine qui propose une large gamme d’appareils fonctionnellement compatibles avec les homologues de Microchip. Il semble que la majeure partie du portefeuille de produits provient de MDT tech, une société taïwanaise qui a peut-être été acquise ou coopère avec Yspring. Microchip a contesté son modèle d’affaires dans le passé.

L’ajout de Ysprings à cette revue est le MDT10P509 qui se vend à 0,0795 $. Cet appareil semble être un clone exact du PIC12C509. Bien que cela puisse être utile comme remplacement à faible coût du produit d’origine, il est clairement inférieur aux autres produits de cette catégorie d’un point de vue fonctionnel.

Le MDT10P509 offre 1 KW de mémoire OTP, 41 octets de RAM et un seul temporisateur de 8 bits en périphérie. Comme le PIC12C509, il n’offre aucune interruption, seulement une pile HW à 2 niveaux et prend 4 horloges par instruction

Conclusions

Ces microcontrôleurs sont-ils vraiment « terribles »? C’est sûrement une question de perspective. Ils s’adressent à une catégorie spécifique de produits à faible coût, à volume élevé, non réparables et aux fonctionnalités limitées. Vous devez attendre la poussée d’un bouton, puis laisser une LED clignoter exactement cinq fois? Vous avez besoin de contrôler une veilleuse à piles? Le MCU sub sub 0.10 est votre ami pour réduire la nomenclature et raccourcir le temps de développement.

Une mise en garde est que le développement de la plupart de ces appareils est assez gênant en raison de la disponibilité limitée des variantes de flash et du manque de programmation en service. Le débogage n’est généralement proposé que via des émulateurs de circuits in.

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée.