Use um microcontrolador de 8 bits otimizado para simplificar o projeto de dispositivos com recursos limitados
Contributed By DigiKey's North American Editors
2024-04-09
Para os projetistas de dispositivos com restrições de energia e de espaço, como ferramentas elétricas, produtos de higiene pessoal, brinquedos, eletrodomésticos e controles de iluminação, uma unidade de microcontrolador (MCU) de 8 bits tem sido tradicionalmente suficiente. No entanto, à medida que as aplicações evoluem, exigem maior velocidade, opções de periféricos mais potentes e ferramentas de desenvolvimento de software mais robustas. A migração para uma alternativa de 16 ou 32 bits pode ajudar, mas geralmente ao custo de um tamanho de invólucro maior e mais potência.
Para resolver esses problemas, os projetistas podem aproveitar as vantagens das MCUs baseadas na arquitetura 8051, que trazem muitos dos benefícios dos processadores de 16 e 32 bits para o domínio de 8 bits. Elas fazem isso em um invólucro tão pequeno quanto 2 x 2 milímetros (mm) e oferecem um ambiente de desenvolvimento moderno.
Este artigo descreve brevemente a arquitetura do 8051 e sua adequação a aplicações com recursos limitados. Em seguida, apresenta uma família de MCUs baseadas no 8051 da Silicon Labs, descreve os principais subsistemas e mostra como cada um deles aborda desafios críticos de projeto. O artigo conclui discutindo o suporte a hardware e software.
Por que usar a arquitetura 8051?
Ao selecionar uma MCU para uma aplicação com grande restrição de espaço, os processadores de 8 bits, como o consagrado 8051, oferecem muitas vantagens, incluindo uma pegada pequena, baixo consumo de energia e um design simples. Entretanto, muitos processadores 8051 têm periféricos relativamente simples, o que limita sua adequação a casos de uso específicos. Por exemplo, os conversores analógico-digitais (ADCs) de baixa resolução são insuficientes para aplicações de alta precisão, como dispositivos médicos.
Clocks relativamente lentos também podem ser um problema. A MCU 8051 típica opera em frequências de clock de 8 megahertz (MHz) a 32 MHz, e os designs mais antigos exigem vários ciclos de clock para processar as instruções. Essa baixa velocidade pode limitar a capacidade das MCUs de 8 bits de suportar operações em tempo real, como o controle preciso do motor.
Além disso, os ambientes tradicionais de desenvolvimento de software para processadores 8051 estão desalinhados com as expectativas dos desenvolvedores de software modernos. Quando combinado com as limitações inerentes a uma arquitetura de 8 bits, isso pode levar a um processo de codificação lento e frustrante.
As limitações dos processadores tradicionais de 8 bits podem levar os desenvolvedores a considerar a migração para MCUs de 16 ou 32 bits. Embora essas MCUs ofereçam amplo poder de computação, periféricos de alto desempenho e ambientes de software modernos, elas também são relativamente grandes. Isso torna mais desafiador integrá-las em projetos com restrições de espaço, o que pode atrasar o desenvolvimento ou aumentar o tamanho do projeto.
O aumento do tamanho do código e do consumo de energia associado às MCUs de 16 e 32 bits também pode levar a projetos abaixo do ideal. Essas desvantagens são particularmente problemáticas para muitas aplicações que não envolvem matemática complexa e, portanto, não se beneficiam dos recursos avançados desses processadores.
O equilíbrio ideal dessas compensações pode não ser evidente no início de um projeto, e a troca de processadores no meio do projeto pode atrasar o desenvolvimento ou comprometer o tamanho, ou a funcionalidade do produto. Assim, muitos projetos com restrições de espaço podem se beneficiar de uma MCU baseada no 8051 mais capaz, que traz muitas das vantagens dos processadores de 16 e 32 bits para o domínio de 8 bits compacto e de baixo consumo de energia.
O EFM8BB50 traz maior funcionalidade para MCUs de 8 bits
A Silicon Labs criou a família EFM8BB50 de MCUs de 8 bits com essas considerações em mente (Figura 1). Essas MCUs oferecem desempenho aprimorado, periféricos avançados e um ambiente moderno de desenvolvimento de software.
Figura 1: É mostrado um diagrama de blocos da MCU EFM8BB50. (Fonte da imagem: Silicon Labs)
O coração da MCU é o núcleo CIP-51 8051, uma implementação da Silicon Labs da arquitetura 8051 otimizada para aumentar o desempenho, reduzir o consumo de energia e aprimorar a funcionalidade. O desempenho é particularmente digno de nota. No EFM8BB50, o núcleo atinge velocidades de até 50 MHz, e 70% das instruções são executadas em um ou dois ciclos de clock. Isso proporciona às MCUs um desempenho consideravelmente maior do que os processadores tradicionais de 8 bits, oferecendo aos desenvolvedores margem de segurança para aplicações mais complexas.
As MCUs também se destacam por suas dimensões reduzidas. As variantes de 16 pinos da família, como o EFM8BB50F16G-A-QFN16, estão disponíveis em invólucros tão pequenos quanto 2,5 mm x 2,5 mm. As versões de 12 pinos, como o EFM8BB50F16G-A-QFN12 , são ainda menores, com tamanhos de invólucro de até 2 mm x 2 mm.
Apesar de suas dimensões minúsculas, as MCUs EFM8BB50 estão repletas de uma impressionante variedade de recursos, incluindo:
- Um ADC de 12 bits, que é essencial para aplicações que exigem dados precisos do sensor
- Um sensor de temperatura integrado que permite que a MCU monitore sua temperatura interna ou a temperatura ambiente sem a necessidade de componentes externos
- Uma matriz de contador programável (PCA) de três canais com modulação por largura de pulso (PWM) que pode gerar sinais PWM para controle de saída variável em aplicações como controle de motor e regulagem de LED
- Um mecanismo PWM de três canais com inserção de tempo morto (DTI) para controle adicional de eletrônica de potência, como acionadores de motor ou conversores de energia
Outras entradas/saídas (E/S) incluem uma variedade de interfaces de comunicação serial, um conjunto de temporizadores de 8 e 16 bits e quatro unidades lógicas configuráveis. Todos os pinos da família MCU são compatíveis com 5 volts e a E/S digital pode ser atribuída de forma flexível para aproveitar ao máximo o número limitado de pinos.
Gerenciamento avançado de energia
O EFM8BB50 incorpora vários recursos de gerenciamento de energia para otimizar o consumo de potência e aumentar a vida útil da bateria. Eles começam com vários modos de energia, incluindo um modo ocioso que reduz a velocidade do clock do núcleo, enquanto mantém os periféricos ativos. O modo de parada vai além, interrompendo o núcleo e a maioria dos periféricos, enquanto preserva a RAM e o conteúdo dos registradores. Alguns periféricos podem ser configurados para despertar o núcleo a partir do modo de parada, beneficiando as aplicações orientadas por eventos que permanecem predominantemente em um estado de baixa potência.
As opções flexíveis de clock ajudam ainda mais na conservação de energia. Um oscilador interno de precisão elimina a necessidade de osciladores de cristal externos em muitos cenários, reduzindo o consumo geral de energia. A MCU também suporta bloqueio de clock, que desativa seletivamente os clocks de vários periféricos, permitindo que os desenvolvedores desliguem os que não estão em uso.
Os periféricos também foram projetados tendo em mente a eficiência energética. Mais notavelmente, a CLU (unidade lógica configurável) pode executar funções lógicas simples de forma independente, reduzindo a necessidade de o núcleo ser despertado a partir dos modos de baixa potência para tarefas simples. Além disso, a UART de baixa energia (LEUART) pode operar em modos de energia em que o oscilador primário é desativado, permitindo a comunicação serial em estados de baixa potência.
Suporte ao desenvolvimento intuitivo de software
Os desenvolvedores podem criar software para a família EFM8BB50 no Simplicity Studio Suite da Silicon Labs. Esse ambiente é usado para o EFM8BB50 de 8 bits, as MCUs de 32 bits da empresa e seus sistemas sobre chip (SoCs) sem fio. Como resultado, os desenvolvedores obtêm um ambiente moderno com os recursos que esperam de processadores mais poderosos. Por exemplo, ele oferece um perfilador de energia que fornece o perfil de energia do código em tempo real (Figura 2).
Figura 2: O Simplicity Studio inclui um perfilador de energia que fornece o perfil de energia do código em tempo real. (Fonte da imagem: Silicon Labs)
As ferramentas são construídas em torno de um ambiente de desenvolvimento integrado (IDE) com editores de código padrão do setor, compiladores, depuradores e um mecanismo de interface do usuário (UI) para desenvolver interfaces modernas e responsivas. Esse ambiente de desenvolvimento fornece acesso a recursos da Web e SDK específicos do dispositivo, bem como a ferramentas especializadas de configuração de software e hardware.
O Simplicity Studio também é compatível com o Silicon Labs Secure Vault. Um pacote de segurança altamente avançado com Certificação PSA Nível 3, o Secure Vault permite que os projetistas fortaleçam os dispositivos da Internet das Coisas (IoT) e protejam sua superfície de ataque contra o aumento das ameaças cibernéticas, ao mesmo tempo em que se alinham com as regulamentações de segurança cibernética em evolução.
Começando rapidamente com os kits de avaliação
Os desenvolvedores interessados em fazer experiências com o EFM8BB50 podem considerar o kit Explorer BB50-EK2702A mostrado na Figura 3. Esse kit de fator de forma pequeno está alinhado com as dimensões da matriz de contatos para facilitar a fixação em sistemas de protótipos e hardware de laboratório. Ele apresenta uma interface USB, um depurador SEGGER J-Link na placa, um LED e um botão para interação com o usuário. O kit é totalmente compatível com o Simplicity Studio Suite e pode ser usado com o utilitário Energy Profiler. São fornecidos exemplos de software para cada periférico, e as demonstrações para se familiarizar com o LED, o botão e a UART.
Figura 3: é mostrado o kit Explorer BB50-EK2702A. (Fonte da imagem: Silicon Labs)
O kit inclui um soquete mikroBUS e um conector Qwiic. Esse suporte a complementos de hardware permite que os desenvolvedores criem rapidamente e criem protótipos de aplicações, usando placas prontas para uso de vários fornecedores.
Os desenvolvedores interessados em um ponto de partida mais abrangente podem usar o Kit Pro BB50-PK5208A mostrado na Figura 4. Projetado para avaliação e testes aprofundados, esse kit contém sensores e periféricos que demonstram muitos dos recursos da MCU.
Figura 4: É mostrado o Kit Pro BB50-PK5208A para avaliação e testes detalhados. (Fonte da imagem: Silicon Labs)
O Kit Pro inclui conectividade USB, um LCD com memória de 128 x 128 pixels de baixíssima potência, um joystick analógico de oito direções, um LED e um pushbutton para o usuário. Ele também possui o sensor de temperatura e umidade relativa Si7021 da Silicon Labs e várias fontes de alimentação, incluindo USB e uma bateria de célula tipo moeda.
Para expansão, a placa oferece um conector de 20 pinos e 2,54 mm. Também oferece eletrodos separados para acesso direto aos pinos de E/S. Assim como o Kit Explorer, o Kit Pro é compatível com o Energy Profiler e é fornecido com exemplos de software para cada periférico.
Opções do depurador EFM8BB50
A Silicon Labs oferece vários depuradores para dar suporte a essas MCUs. Para depuração de uso geral, a empresa oferece o DEBUGADPTR1-USB, um adaptador de depuração USB de 8 bits com um simples conector de 10 pinos.
Recursos mais especializados estão disponíveis no depurador SI-DBG1015A Simplicity Link. Ele se conecta à interface Mini Simplicity incluída nos dois kits mencionados acima. Além de sua funcionalidade básica, o Simplicity Link oferece recursos adicionais, incluindo um depurador SEGGER J-Link, uma interface de rastreamento de pacotes, uma porta COM virtual e eletrodos separados para facilitar a sondagem de sinais individuais.
Conclusão
As MCUs 8051 modernas, como o EFM8BB50, trazem recursos normalmente associados a dispositivos de 16 e 32 bits para o domínio de 8 bits. Com suas rápidas velocidades de clock, periféricos de alto desempenho e ambiente de desenvolvimento de software robusto, essa família de MCUs oferece aos desenvolvedores a combinação certa de recursos para um número cada vez maior de aplicações em que o espaço e a potência são limitados, mas é necessário maior desempenho e flexibilidade.
Disclaimer: The opinions, beliefs, and viewpoints expressed by the various authors and/or forum participants on this website do not necessarily reflect the opinions, beliefs, and viewpoints of DigiKey or official policies of DigiKey.

