como muitos outros, fiquei bastante surpreso ao saber sobre um microcontrolador vendido por apenas 0,03 USD através do EEVblog no ano passado. Como é que isto foi possível? Muitos assumiram que se tratava de uma venda de um produto antigo. Escavando um pouco mais, tornou-se evidente que existe um segmento de mercado inteiro de microcontroladores de baixo custo. Quase todos eles são produtos de empresas bastante desconhecidas da China ou Taiwan. Este write-up resume minhas descobertas neste nicho bastante peculiar.
já aprendemos que há uma grande variedade de microcontroladores muito poderosos de $1.00, mas e o $0,10 MCU? São, acaso, todos “terríveis”, como sugerido em outros lugares?
metodologia
Como definir um microcontrolador $0,10? Seja como for, será uma escolha um pouco arbitrária. Eu fiz uma abordagem direta e usei o preço do intervalo 100pc na LCSC. Seis vendedores identificaram que tinham um ou vários dispositivos abaixo de 0,10 dólares, todos da Ásia. Se diferentes tipos de pacotes do mesmo MCU estavam disponíveis,eu escolhi a versão SOP8. Alguns fabricantes tinham mais de um candidato, então eu tive que me limitar a dispositivos representativos para uma lista final de candidatos de oito.
I was not able to find any sub $0,10 MCU at the large distributors likeDigikey or Mouser. Apenas para afirmar o óbvio: isto não significa necessariamente que seja impossível encontrar sub-0,10 MCUs de fabricantes ocidentais com o tamanho certo da ordem. Dois fatores parecem entrar em jogo aqui: Em primeiro lugar, a Lcscs parece operar em margens muito menores do que os distribuidores estabelecidos.Em segundo lugar, os fabricantes estabelecidos de MCU não estão tão dependentes de pequenos clientes e podem, por conseguinte, receber um prémio por encomendas de baixo volume.
devido à falta de ferramentas de programação e placas de avaliação Eu só era capaz de rever a maioria dos dispositivos por datasheet, com exceção do Padauk MCUs.
visão geral
no total, oito candidatos de seis fabricantes diferentes, quando identificados. Um resumo dos dispositivos pode ser encontrado na tabela abaixo.
existem algumas semelhanças óbvias: Todos os dispositivos são projetados em torno de uma arquitetura baseada em acumuladores, inegavelmente inspirada na série Microchip PIC12. Curiosamente, com apenas MDT como uma exceção, todos os vendedores estenderam e modificaram seus projetos a partir do original. A razão para isso é provavelmente dupla: em primeiro lugar, querem evitar quaisquer questões jurídicas com o Microchip e, em segundo lugar, o próprio PIC12 é severamente limitado. Algumas das principais deficiências estão sendo corrigidas, tais como a falta de interrupções, espaço endereçável de JMP/CALL, banco de memória/IO e grave falta de periferia.
infelizmente, nenhum dos vendedores compartilha abertamente detalhes como codificação de instruções ou algoritmos de memória. O desenvolvimento para todos os dispositivos tem que começar através de IDEs fornecidos pelo fornecedor. Com exceção de Holtek, todos os dispositivos dependem da interface de programação de alta tensão e não são facilmente programáveis em circuito. Apenas Padauk e Holtek oferecem dispositivos que podem ser programados mais de uma vez.
conclusões individuais
Bojuxing Industrial
o BJ8P509F, com um preço de $0,0466, é uma versão ligeiramente melhorada do PIC12C509. O conjunto de instruções é estendido de 12 bit para 13 bit. Isto permite instruções jmp que podem endereçar toda a memória. Além disso, capacidades de interrupção e uma pilha de HW estendida foram adicionados.
uma ficha em inglês está disponível e parece abrangente o suficiente para trabalhar com o dispositivo. Infelizmente, o site do fornecedor e a documentação do IDE só estão disponíveis Em Chinês.
Eastsoft Micro
Eastsoft Micro tem um extenso portfólio de microcontroladores derivados do PIC. Eles chamam seu sabor da arquitetura “HR7P RISC”. É uma arquitetura abrangente baseada em acumuladores com capacidade de interrupção, pilha de 8 níveis e acesso não bankswitched à memória e I/O.
Existe um dispositivo no espaço sub $0,10 disponível, o HR7P153P45SA. Características notáveis são a disponibilidade de um bitadc 12, um oscilador de baixa velocidade para operação de menor potência e a adição de dois rotimers com capacidade PWM.
infelizmente, tanto site quanto datasheets parecem estar disponíveis apenas em Chinês.
Holtek
Holtek é um vendedor de microcontroladores bem estabelecido de Taiwan. A sua entrada nesta categoria, o HT68F001, é um pouco estranha: é um dispositivo bastante limitado com apenas 512 palavras de projéctil e 16 bytes de RAM. A arquitetura é muito semelhante ao pic12 e só pode ser clocada a partir de um oscilador interno de 32 kHz. Uma vez que cada construção leva 4 ciclos para executar, isto resulta em apenas 8000 instructionsper segundo! Parece que este dispositivo tem como alvo aplicações de energia ultra-baixa que têm requisitos de complexidade muito baixa. este MCU vem com excelente documentação. Isto inclui o seu site, Fichas de dados, notas de aplicação e IDE. É também o único dispositivo para oferecer programação flash de baixa tensão. Tanto isso coloca Holtek um pouco à parte do resto do campo.
dada a funcionalidade limitada da sua entrada, no entanto, parece que o segmento de custos ultra-baixos não é uma prioridade para a Holtek.
Padauk
é muito claro que o sub $ 0,10 MCUmarket é território dos Padauks. Eles têm dezenas de produtos nesta gama de preços, com uma grande variedade de características e tipos de pacotes.
Todos os dispositivos são baseados na arquitetura Padauks MCU, que é significativamente estendida sobre a do PIC12: ele usa regiões separadas de memória I / O e SRAM e permite abordar a gama completa sem banco. Em contraste com todos os outros dispositivos, a pilha é mapeada de memória. A maioria das instruções executam em um único ciclo.
um aspecto interessante e único é que a arquitetura Padauks é voltada para multi-trilhas síncronas, permitindo executar mais de um programa em paralelo no mesmo núcleo MCU usando um esquema de corte de tempo. Eles chamam este conceito de “Field Programmable Processor Array” (FPPA). Um conceito similar é usado na arquitetura XCore pela XMOS. Uma aplicação útil de multithreading em pequenos MCUs é criar periferia virtual, por exemplo UART, I2C, que é operado em paralelo com o programa principal. escolhi três produtos representativos na embalagem SOP8.: O PMS150C, o PFS154 e o PFS173. Todos estes têm apenas uma unidade FPPA única e, portanto, não suportam multithreading.
O PMS150C é a sua oferta de custo mais baixo em $ 0,033, o original “3 cent MCU”. Este dispositivo vem com 1 quiloword de memória programável única e 64 bytes de RAM. A periferia é notavelmente estendida sobre muitas das partes concorrentes, oferecendo um temporizador de 16 bits, um temporizador de 8 bits com PWM, oscilador LF e um comparador analógico com DAC de tensão de 4 bits que pode ser usado para implementar uma funcionalidade ADC simples. Tudo isso é suficiente para implementar funções simples de detecção e controle. o PFS154 é quase o dobro do custo. No entanto, em contraste com o PMS150 ele oferece memória flash 2kW e pode ser programado várias vezes, o que é muito mais conveniente para o desenvolvimento real. A periferia foi estendida com unidades PWM de 3×11 bits, que parecem bem adaptadas para controlar LEDs RGB.
finalmente, o PFS173 é uma melhoria incremental sobre o PFS154, adicionando um ADC de 8 bits e estendendo flash a 3kilowords e RAM a 256 bytes.
Padauk provides an IDE supporting development in Assembler and a somewhat cryptic dialect of C (“Mini-C”). Theyprovide excellent datasheets in both English and Chinese as well as a bilingualwebsite. A programação dos dispositivos é realizada por um protocolo de alta tensão de 5 ou 6 fios, o que torna a programação em circuito desafiador.
open source toolchain
Após a discussão sobre EEVblog, uma pequena comunidade formou-se em torno do Padauk MCU com o objetivo de criar um open source toolchain para o dispositivo. A maioria das atividades são cobertas neste tópico.
A partir de hoje (agosto de 2019), engenharia reversa a codificação de instruções foi concluída, o protocolo de programação foi documentado, um programador de hardware aberto foi desenvolvido e suporte para vários sabores da arquitetura PDK foi integrado no SDCC. Desenvolvimento para todos os anteriormente mencionados Padauk MCUs é agora possível usando uma toolchain totalmente aberta.
Puolop
Puolop é um microcontrolador chinês baseado em Shenzhen e vários circuitos de sinal mistos. Eles parecem oferecer uma ampla gama de Padauk MCUs renomeado, especificamente a versão OTP mais antiga.
Por exemplo, o PUOLOP PTB150CSE parece ser idêntico ao Padauk PMS150C. seu preço é ligeiramente inferior ao original ($0.0315 vs $0.334). Não é claro qual é a relação entre Puolop e Padauk, mas parece que Padauk está agindo como um fornecedor de Puolop.
o site da empresa e todos os documentos estão disponíveis apenas em Chinês.
não parece haver nenhuma razão específica para considerar Puolop MCUs sobre Padauks, além de economizar frações de centavos sobre o preço.
Yspring Tech/MDT
Yspring Tech é uma empresa baseada na China que oferece uma ampla gama de dispositivos que são funcionalmente compatíveis com os homólogos do Microchip. Parece que a maior parte do portfólio de produtos teve origem na MDT tech, que é uma empresa de Taiwan e pode ter sido adquirida ou está em cooperação com a Yspring. No passado, a Microchip tem tido problemas com o seu modelo de Negócio.
Ysprings addition to this review is the MDT10P509 which sells for $0,0795. Este dispositivo parece ser um clone exacto do PIC12C509. Embora isso possa ser útil como uma substituição de baixo custo do produto original, é claramente inferior aos outros produtos nesta categoria do ponto de vista funcional.
O MDT10P509 oferece 1kw de memória OTP, 41 bytes de RAM e apenas um temporizador de 8 bits como periferia. Como o PIC12C509 ele não oferece interrupções, apenas uma pilha de 2 níveis HW e leva 4 relógios por instrução
conclusões
estes microcontroladores são realmente “terríveis”? Trata-se, sem dúvida, de uma questão de perspectiva. Trata – se de uma categoria específica de produtos de baixo custo, de elevado volume e não utilizáveis, com uma funcionalidade limitada. Precisas de esperar pelo premir de um botão e deixar um flash LED exactamente cinco vezes? Precisas de controlar uma luz nocturna operada a bateria? O sub $ 0,10 MCU é seu amigo para reduzir o BOM e encurtar o tempo de desenvolvimento.
uma advertência é que o desenvolvimento para a maioria destes dispositivos é bastante inconveniente devido à disponibilidade limitada de variantes flash e falta de programação em serviço. A depuração é normalmente oferecida apenas através de emuladores de circuito.