Atenda aos requisitos das aplicações de forma mais eficaz com as MCUs Arm® Cortex® altamente integradas
Contributed By DigiKey's North American Editors
2024-06-04
Os desenvolvedores enfrentam muitos desafios para atender a uma variedade cada vez maior de requisitos para produtos inteligentes em aplicações que incluem consumo, indústria, cidades inteligentes e saúde. Cada aplicação traz um conjunto exclusivo de requisitos relacionados a desempenho, segurança, baixíssimo consumo de energia, conectividade sem fio de longo alcance e custo. Com muita frequência, os desenvolvedores são forçados a fazer concessões com relação a esses requisitos devido a uma correspondência ruim entre a aplicação e os recursos das soluções de unidades microcontroladoras (MCU) disponíveis.
Este artigo apresenta um conjunto de soluções de processadores da STMicroelectronics que podem oferecer combinações adequadas de desempenho, duração da bateria, segurança e conectividade sem fio, que são essenciais para o sucesso do projeto em uma ampla variedade de aplicações.
Atender os requisitos rigorosos de segurança
As MCUs bootflash STM32H7R/S da STMicroelectronics (Figura 1) oferecem alto desempenho, placa gráfica, segurança e uma lista de materiais (BOM) reduzida, necessários em muitos produtos inteligentes para aplicações industriais, de eletrônicos de consumo, cidades inteligentes e saúde. Baseadas em um processador Arm® Cortex®-M7 de 600 megahertz (MHz) com uma unidade de ponto flutuante de precisão dupla (FPU), essas MCUs apresentam placas gráficas integradas, subsistemas de segurança e um conjunto abrangente de periféricos e interfaces de conectividade.
Figura 1: as MCUs bootflash STM32H7R/S integram um Arm Cortex-M7 de alto desempenho com um conjunto completo de periféricos, blocos funcionais e recursos especializados necessários para atender produtos inteligentes seguros. (Fonte da imagem: STMicroelectronics)
Além do cache L1 dos processadores, composto por 32 kilobytes (Kbytes) de cache de instruções e 32 Kbytes de cache de dados, essas MCUs vêm com 620 Kbytes de memória estática de acesso aleatório (SRAM), 64 Kbytes de flash embarcada e várias interfaces para acesso de alta velocidade a memórias externas. Essa combinação de SRAM, flash embarcada e acesso à memória externa com capacidade de execução no local (XiP) oferece aos desenvolvedores um alto grau de flexibilidade na implementação de sistemas embarcados seguros e de alto desempenho.
Para garantir a segurança dos aplicativos executados na memória externa, as MCUs STM32H7S também integram três mecanismos de cifragem de memória (MCE) que executam a criptografia e a descriptografia em tempo real em memórias externas não voláteis ou voláteis, com controle de acesso programado para até quatro regiões diferentes para cada MCE. Combinadas com recursos adicionais de segurança baseados em hardware, incluindo análise de potência diferencial e proteção contra ataques de canal lateral, as MCUs STM32H7S são certificadas para SESIP e PSA Segurança Nível 3.
Para garantir o desempenho confiável de tarefas críticas em termos de tempo, como rotinas de interrupção de serviço, parte da SRAM é mapeada para a interface de memória fortemente acoplada (TCM) da MCU, fornecendo memória de estado de espera zero para instruções e dados críticos. Para garantir a integridade do sistema, a MCU combina vários recursos de segurança com sua flash embarcada para permitir a inicialização segura e a verificação da integridade da aplicação, fornecendo uma raiz de confiança (RoT) para o software do sistema e da aplicação executados na memória dentro ou fora do chip. Quando combinado com mecanismos de proteção adequados baseados em hardware, esse uso de flash embarcada para armazenar o carregador de inicialização confiável oferece vantagens significativas em termos de flexibilidade em comparação com o uso de memória somente leitura (ROM) em MCUs tradicionais.
Vários caminhos para a inicialização segura
Para fornecer a RoT essencial para a segurança do sistema, a inicialização segura depende de um código imutável confiável que sempre é executado imediatamente após a reinicialização do sistema. Esse código assegura que apenas o software confiável seja executado na próxima fase da sequência de inicialização do sistema. Com as MCUs STM32H7R/S, os desenvolvedores têm vários caminhos para a inicialização segura ao criar sistemas confiáveis. Eles podem usar firmware RoT pré-desenvolvidos ou controlar a sequência de inicialização por conta própria (Figura 2).
Figura 2: as MCUs STM32H7R/S oferecem vários caminhos de inicialização projetados para simplificar o desenvolvimento. (Fonte da imagem: STMicroelectronics)
Após a reinicialização do sistema, todas as MCUs STM32H7R/S começam a sequência de inicialização executando os serviços seguros de raiz confiável (RSS) localizados na memória flash protegida do sistema. As próximas etapas da sequência de inicialização dependem do tipo de MCU e da escolha do caminho de inicialização pelo desenvolvedor. Com cada caminho de inicialização, as MCUs STM32H7R/S usam seu mecanismo de nível de proteção oculto (HDPL) para garantir o isolamento temporal de cada nível de inicialização. À medida que a sequência de inicialização passa de um nível de inicialização para o próximo, o contador HDPL aumenta e os recursos associados ao nível de inicialização anterior são ocultados do nível atual.
Manutenção da RoT durante toda a sequência de inicialização
No caminho da inicialização dos sistemas de produção baseados na STM32H7R, o RSS é executado imediatamente após a reinicialização do sistema. O RSS executa o firmware de RoT imutável (iRoT) do fabricante do equipamento original (OEM) localizado na memória flash do usuário. Como o HDPL é incrementado nesse próximo nível, o RSS permanece oculto para o firmware do OEMiRoT, que lida com a próxima etapa da sequência de inicialização. Se a aplicação for projetada para suportar o firmware RoT atualizável (uRoT), o OEMiRoT executará o firmware OEMuRoT a partir da memória externa. No estágio final da sequência de inicialização, o firmware OEMiRoT (ou OEMuRoT opcional) executa o código da aplicação. O HDPL garante que o RSS, o OEMiRoT e o OEMuRoT opcional fiquem ocultos da aplicação.
Os sistemas de produção baseados na STM32H7S podem ser configurados para seguir um caminho de inicialização semelhante ao dos sistemas STM32H7R, deixando o controle total do processo de inicialização para o desenvolvedor. Com as MCUs STM32H7S, os desenvolvedores também podem escolher um caminho altamente seguro que invoca o firmware STMicroelectronics iRoT (STiRoT) pré-desenvolvido localizado na memória flash protegida do sistema.
No caminho de inicialização habilitado para STiRoT, uma rotina (iLoader) localizada na flash embarcada protegida carrega o código para o próximo nível de inicialização na SRAM interna. Em seguida, o STiRoT verifica a integridade e a autenticidade desse código antes de permitir sua execução. Para caminhos de inicialização de um estágio, o iLoader carrega o código da aplicação na SRAM. Para caminhos de inicialização de dois estágios, o iLoader carrega o OEMuRoT da flash externa para a SRAM.
Uma vez na SRAM interna, o código da aplicação (ou firmware OEMuRoT) é verificado quanto à integridade e autenticidade sem o risco de um ataque durante a verificação do código contido na memória externa. Uma vez validado, o OEMuRoT realiza as verificações de integridade e autenticidade no código da aplicação antes de executá-la. Os desenvolvedores podem facilmente estender esse caminho de inicialização de dois estágios para validar atualizações no código da aplicação ou até mesmo no firmware do OEMuRoT (Figura 3).
Figura 3: as MCUs STM32H7S permitem a atualização e a inicialização seguras por meio de um processo de várias etapas projetado para garantir a integridade e a autenticidade do código em cada etapa do processo. (Fonte da imagem: STMicroelectronics)
Durante a operação normal em sistemas de produção, a flash embarcada nas MCUs STM32H7R/S está em um estado fechado, no qual o firmware RoT é provisionado e a entrada de inicialização válida é imposta. Além disso, essas MCUs fornecem um total de quatro PRODUCT_STATEs projetados para dar suporte a todo o ciclo de vida do produto (Figura 4).
|
Figura 4: as MCUs STM32H7R/S operam em um dos quatro PRODUCT_STATEs projetados para suportar todo o ciclo de vida do produto. (Fonte de imagem: STMicroelectronics)
Os desenvolvedores podem controlar o PRODUCT_STATE de três maneiras:
- Estado não volátil (NVSTATE), que coloca a memória flash em um estado aberto ou fechado
- OEM provisionado (OEM_PROVD), que define a estabilidade da área de proteção oculta segura (HDP) que garante que o código executado nessa área permaneça oculto após a inicialização
- Método de autenticação de depuração (DBG_AUTH), que define o método usado para abrir a depuração do dispositivo
Com esses quatro estados, as MCUs STM32H7R/S atendem os requisitos de segurança de cada fase crítica do ciclo de vida do produto: desenvolvimento, fabricação do produto e implantação em campo (Figura 5).
Figura 5: à medida que um produto passa do desenvolvimento e da fabricação para o campo, as MCUs STM32H7R/S podem proteger códigos e dados confidenciais na memória flash embarcada e, ao mesmo tempo, fornecer acesso de depuração autenticado quando necessário. (Fonte da imagem: STMicroelectronics)
Na prática, a autenticação de depuração oferece um poderoso recurso de segurança projetado para atender os desafios práticos do suporte durante o ciclo de vida do produto. Para sistemas de produção que operam no estado fechado, os desenvolvedores podem usar um protocolo de autenticação que permite que um depurador seguro reabra o acesso sem comprometer a RoT em uma sessão de depuração restrita. Na depuração de regressão completa, a segurança do código e dos dados não é garantida.
Atendendo à necessidade de interfaces de usuário aprimoradas em produtos inteligentes
Embora a segurança continue sendo fundamental, os produtos inteligentes dependem de interfaces gráficas de usuário (GUIs) cada vez mais sofisticadas. As MCUs STM32H7R/S atendem a esse requisito usando aceleradores gráficos integrados. Isso inclui o acelerador Chrom-ART nas MCUs STM32H7R3/S3 e a unidade de processamento gráfico (GPU) NeoChrom nas MCUs STM32H7R7/S7. Enquanto o acelerador Chrom-ART 2D e a GPU NeoChrom 2.5D suportam vários formatos com operações de desenho e blitting, a GPU NeoChrom suporta as operações necessárias no mapeamento de textura (Figura 6).
|
Figura 6: o acelerador gráfico Chrom-ART nas MCUs STM32H7R3/S3 e a GPU NeoChrom nas MCUs STM32H7R7/S7 fornecem o desempenho gráfico e a funcionalidade necessários nas GUIs para produtos inteligentes. (Fonte de imagem: STMicroelectronics)
Para teste e desenvolvimento, a STMicroelectronics oferece sua placa de desenvolvimento STM32 Nucleo-144 NUCLEO-H7S3L8 para a STM32H7R3 e o kit Discovery STM32H7S78-DK para a STM32H7S7.
Projetada para o desenvolvimento rápido de protótipos, a placa Nucleo-144 inclui um depurador/programador ST-LINK integrado e oferece LEDs, pushbuttons e várias opções de conectores de placa. O kit Discovery STM32H7S78-DK oferece Wi-Fi, vários LEDs e pushbuttons, um depurador/programador STLINK-V3EC integrado e vários conectores de placa, incluindo dois para USB Type-C® e um conector Ethernet RJ45.
Para o desenvolvimento de software, a STMicroelectronics fornece o pacote STM32Cube MCU como parte do ecossistema STM32Cube. Juntamente com os módulos de camada de abstração de hardware (HAL), pacotes de suporte de placa (BSPs) e interfaces de programação de aplicativos (APIs) de nível de registro de camada baixa, o pacote STM32Cube MCU oferece componentes de middleware, pilhas de conectividade e código de exemplo. Para o desenvolvimento de placas gráficas, a empresa oferece a estrutura gráfica X-CUBE-TOUCHGFX, que inclui:
- A ferramenta TouchGFX Designer para desenvolvimento e simulação de aplicações gráficas
- A biblioteca de placas gráficas aceleradas por hardware da TouchGFX Engine
- O TouchGFX Generator, um plug-in do STM32CubeMX que permite que os desenvolvedores configurem e gerem a camada de abstração do TouchGFX usada pelo TouchGFX Engine para acessar o hardware e o sistema operacional subjacentes.
Garantia de vida útil prolongada da bateria
Consumo mínimo de energia e vida útil máxima da bateria continuam sendo os principais objetivos de projeto em muitas áreas de aplicação. As MCUs da série STM32U0 da STMicroelectronics foram projetadas para proporcionar a economia de energia e a vida útil prolongada da bateria necessárias em muitas aplicações básicas industriais, médicas, de medição inteligente e de consumo. Construídas em torno de um processador Arm Cortex-M0+ de 56 MHz de baixíssima potência, a série de MCUs STM32U0 apresenta três famílias diferentes para permitir que os desenvolvedores escolham a configuração ideal de SRAM, flash e periféricos necessários para seus projetos.
A família STM32U031 oferece a configuração mais compacta com 12 Kbytes de SRAM, até 64 Kbytes de memória flash, vários temporizadores, periféricos analógicos e opções de conectividade (Figura 7).
Figura 7: as três famílias da série de MCUs STM32U0 se baseiam em um conjunto crescente de recursos encontrados na família de MCUs STM32U031. (Fonte da imagem: STMicroelectronics)
Ampliando os recursos encontrados na família STM32U031, a família STM32U073 acrescenta um controlador LCD integrado, canais de conectividade adicionais e periféricos analógicos, além de oferecer 40 Kbytes de SRAM e até 256 Kbytes de memória flash. A família STM32U083 se baseia nesses recursos adicionando um acelerador de hardware Advanced Encryption Standard (AES).
Juntamente com a alta integração, todas as MCUs da série STM32U0 alcançam um desempenho de baixíssima potência. No modo de execução, eles consomem apenas 52 microamperes por megahertz (μA/MHz) enquanto operam com seu regulador interno de queda baixa (LDO).
Os desenvolvedores podem escolher entre vários modos de baixo consumo de energia, incluindo três modos de parada, para minimizar o consumo de energia em aplicações alimentadas por bateria. Por exemplo, no modo de parada com o menor consumo de energia, as MCUs STM32U031 consomem apenas 630 nanoamperes (nA) com operação de clock em tempo real (RTC) ou 515 nA sem ele. Nesse mesmo modo de parada, as MCUs STM32U073 e STM32U083 requerem apenas 825 nA com RTC ou 695 nA sem ele. No entanto, todas as três famílias da série STM32U0 em execução com um clock de despertar de 24 MHz podem atingir o modo de execução a partir desse modo operacional de menor consumo de energia em apenas 12,0 microssegundos (µs) na flash e 7,67 µs na SRAM.
Apesar da operação em baixíssima potência e graças ao acelerador de memória em tempo real adaptativo (ART) integrado, essas MCUs alcançam desempenho equivalente à execução em estado de espera zero a partir da flash em uma frequência de processador de 56 MHz.
Para suporte ao desenvolvimento, a STMicroelectronics oferece a placa de teste NUCLEO-U031R8 baseada em STM32U031R8, a placa de teste NUCLEO-U083RC baseada em STM32U083RC e o kit Discovery STM32U083C-DK baseado em STM32U083. Como acontece com outros dispositivos da família STM32, o pacote MCU STM32Cube para o ecossistema STM32Cube da empresa fornece módulos HAL, BSPs, APIs de baixa camada, middleware, pilhas de conectividade e código de exemplo.
Proporcionando conectividade sem fio de longo alcance
Projetos eficientes com conectividade sem fio subgigahertz (GHz) de longo alcance são essenciais em aplicações da Internet das Coisas (IoT) para cidades inteligentes, agricultura, medição remota, sensoriamento remoto e sistemas industriais. Muitas dessas aplicações precisam manter comunicações confiáveis, apesar da interferência de fontes ambientais, como a rede de energia elétrica ou o maquinário. Isso aponta para o uso de conectividade de rede de longa distância e grande extensão (LoRaWAN) resistente a interferências.
O módulo STM32WL5MOCH6TR da STMicroelectronics oferece uma solução com certificação LoRaWAN capaz de operar na Europa, na Ásia e nas Américas. Essa capacidade operacional multirregional está no suporte do módulo de rádio para os padrões europeus de 868 MHz e para os padrões norte-americanos de 915 MHz, que suportam maior potência de saída. O suporte do módulo para vários esquemas de modulação e sua faixa de frequência linear de 150 a 960 MHz permitem que ele seja compatível com a operação mundial com vários protocolos de comunicação padrão e proprietários, como Sigfox, W-MBUS e mioty.
Com base em uma arquitetura de núcleo duplo que combina um Arm Cortex-M0+ e um Arm Cortex-M4, o módulo STM32WL5MOC combina seu transceptor de rádio flexível, até 64 Kbytes de SRAM e até 256 Kbytes de memória flash com um subsistema de segurança abrangente, temporizadores, periféricos analógicos, interfaces de conectividade, recursos de controle e componentes passivos para sua fonte de alimentação chaveada (SMPS) embarcada. Além disso, o elemento de segurança STSAFE-A100 da STMicroelectronics está incluído na variante STM32WL5MOCH6STR (Figura 8).
Figura 8: o módulo STM32WL5MOC oferece uma solução pronta para uso para conectividade sub-GHz, combinando sua arquitetura dual-core com um rádio flexível, recursos de segurança, vários blocos funcionais e componentes passivos. (Fonte da imagem: STMicroelectronics)
A ampla funcionalidade integrada do módulo STM32WL5MOC e a certificação LoRaWAN oferecem aos projetistas uma solução de hardware pronta para uso otimizada para aplicações sem fio de longo alcance. A STMicroelectronics acelera ainda mais o desenvolvimento com um conjunto abrangente de recursos, incluindo a placa de expansão B-WL5M-SUBG1, que combina um módulo STM32WL5MOC, memória flash de 4 megabits (Mbit), EEPROM de 256 kilobits (Kbit), sensores de sistemas microeletromecânicos (MEMS) da STMicroelectronics, vários conectores de placa, LEDs e pushbuttons. Para o desenvolvimento de software, o pacote STM32CubeWL MCU suporta placas da série STM32WL como parte do ecossistema STM32Cube.
Conclusão
Os produtos inteligentes para aplicações de consumo, industriais, de saúde e outras têm níveis de segurança, consumo de energia, conectividade e complexidade de projeto que raramente são atendidos pelos recursos de um único microcontrolador. A série STM32 de MCUs oferece aos projetistas uma ampla variedade de opções de processamento para proporcionar uma combinação ideal entre diversos requisitos de projeto. As placas e o software suportam os processadores e simplificam o desenvolvimento.
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.



