A evolução dos dispositivos incorporados:Lidando com desafios complexos de design
Os dispositivos incorporados costumavam ser relativamente simples de projetar antes da Internet das Coisas. O projetista de um aparelho, controlador industrial ou sensor ambiental precisava apenas fazer a interface dos sinais de entrada, processar com um microcontrolador e fornecer controle de saída. Os sistemas eram independentes; e além da engenharia reversa, não havia incentivo para um hacker acessar um sistema.
Com a introdução do smartphone, esperamos que nossos dispositivos sejam inteligentes, atualizáveis e acessíveis pela Internet. A segurança não é opcional - se a segurança não for levada a sério, os dados, a reputação da marca e os fluxos de receita serão afetados. Além disso, os sistemas embarcados estão se tornando mais complexos e você não pode ser um especialista em tudo! Felizmente, você pode usar os padrões existentes e as bibliotecas de pilha para concluir um projeto de maneira segura e oportuna.
Este artigo descreve os principais desafios de design que um desenvolvedor embarcado enfrenta hoje e algumas das novas tecnologias que ajudarão os designers a lidar com esses desafios.
Principais desafios de design e expectativas do mercado
- Interfaces de usuário ricas
Os primeiros smartphones introduziram uma interface de usuário rica com tela e touchscreen de alta qualidade. Dispositivos integrados de última geração adicionaram telas de toque e LCD e OLED. Isso aumentou os requisitos de processamento e a necessidade de um processador de aplicativos e um sistema operacional avançado. Para aqueles que não precisam de um processador de aplicativo, os avanços da tecnologia aumentaram a velocidade do clock dos microcontroladores de dezenas de megahertz para várias centenas de megahertz e os tamanhos de memória de vários megabytes. Isso permitiu que os designers continuassem se beneficiando de arquiteturas familiares, como a usada para Arm Cortex-M.
Muitos sistemas embarcados só precisam de uma interface de usuário para configuração e controle ocasional. Os dispositivos IoT de consumo e industriais são sensíveis ao preço e se beneficiam da conexão com a Internet para permitir o controle por meio de uma interface da web ou aplicativo de smartphone. Como exemplo, dados de sensores industriais podem ser monitorados remotamente para gerenciar desempenho e erros, bem como prevenir falhas potenciais. Isso apresenta novos desafios para o engenheiro embarcado. Eles agora precisam saber sobre RF, pilhas de protocolo, segurança, gerenciamento remoto e atualizações de firmware.
Figura 1:controles da casa inteligente (Fonte:Getty Images, ID 908590688, Elena Pejchinova)
- Controle local e remoto
Você pode implementar o controle local e remoto via Ethernet, WiFi, Bluetooth, Z-Wave, Zigbee ou Thread - cada um tem benefícios quando se trata de consumo de energia, complexidade e custo . Em geral, os protocolos de baixa energia, como Bluetooth de baixa energia, Z-Wave e Zigbee, são boas soluções para aplicações de bateria. Isso inclui fechaduras de portas, sensores ambientais e sistemas de alarme sem fio. Dispositivos que precisam de mais largura de banda, como câmeras de segurança e gateways de sensores, serão conectados via wi-fi. Ou, dispositivos em locais remotos usarão celulares. Uma opção interessante é combinar WiFi e Bluetooth de baixa energia. O Bluetooth é então usado para comissionamento e acesso local para baixa latência, e o WiFi é usado para acesso remoto via Internet.
O desafio para o desenvolvedor de design incorporado não é apenas escolher a solução certa para seu produto, mas também a complexidade de integrar rádio, pilhas de comunicação e gerenciamento de energia, tudo sem aumentar os custos.
Figura 2:Rede de uma cidade (Fonte:Getty Images, ID 811360940, Dong Wenjie)
- Potência baixa e inferior
O baixo consumo de energia é crítico em aplicativos alimentados por bateria. Por exemplo, medidores de água inteligentes precisam funcionar com uma única bateria durante a vida útil do medidor, que pode ser de até 20 anos. Por outro lado, em uma fechadura de porta, a bateria pode ser substituída uma vez por ano e isso requer um projeto cuidadoso. Uma das técnicas usadas para economia de energia é projetar um microcontrolador de muito baixa energia para ligar por períodos muito curtos para detectar a interação do usuário. Em seguida, ele dormirá por períodos mais longos.
- Os dispositivos estão se tornando mais inteligentes
Os designers estão procurando maneiras de diferenciar seus produtos adicionando recursos inteligentes. Os recursos inteligentes geralmente significam que um dispositivo aprende mais sobre o usuário, o ambiente e o sistema, e pode ajustar a funcionalidade.
O aprendizado de máquina é uma maneira de adicionar recursos inteligentes usando um algoritmo que pode aprender e se adaptar. Vemos o aprendizado de máquina ao nosso redor hoje:a partir do desbloqueio de sua impressão digital (combinando com um pequeno conjunto de imagens de impressão digital) ou a funcionalidade de marcação automática do Facebook. No entanto, é uma solução relativamente nova em sistemas embutidos de custo limitado.
Um ótimo exemplo de aprendizado de máquina incorporado são termostatos inteligentes. O termostato aprenderá o comportamento do usuário com base em seu estilo de vida e, com o tempo, ajustará automaticamente a temperatura para a configuração mais confortável. Para o mercado industrial, um exemplo poderia ser um sensor de vibração para motores. O sensor pode aprender a assinatura de vibração normal do motor e avisar o pessoal quando a unidade precisar de manutenção ou estiver prestes a falhar.
O desafio para designers incorporados é começar com algoritmos de aprendizado de máquina e ser capaz de adaptar algoritmos para as necessidades do aplicativo.
Figura 3:Sistema de controle climático doméstico inteligente (Fonte:Getty Images, ID 474200292, MaxiPhoto)
- Os produtos precisam ser atualizados
Os produtos hoje raramente são enviados com o conjunto de recursos final. Por meio de atualizações over-the-air (OTA), um novo firmware pode ser baixado para adicionar recursos, corrigir bugs ou corrigir falhas de segurança, estendendo significativamente a vida útil do produto. Os produtos também devem ser projetados com espaço suficiente na memória e poder de processamento para permitir um aumento no tamanho e na funcionalidade do código.
Um desafio é garantir que as atualizações de firmware e todas as comunicações sejam seguras. Quando uma vulnerabilidade de firmware é corrigida, o sistema não deve permitir uma reversão do firmware. Se isso acontecer, a vulnerabilidade será exposta.
Figura 4:Exemplos de aplicativos incorporados que podem exigir atualizações OTA (Fonte:Imagem de Getty Images, ID 145676156, Earl Wilkerson. Ícones:Arm)
Novas tecnologias para ajudar os designers a enfrentar esses desafios
Eu descrevi os desafios enfrentados pelos designers incorporados e as tendências da indústria que os impulsionam, mas e as soluções potenciais? Eu diria que existem três técnicas de design fundamentais que impactam todas as áreas definidas acima:implementação de processamento de sinal, proteção de seu dispositivo e adição de inteligência por meio de aprendizado de máquina.
Como posso simplificar o processamento de sinal e economizar custos?
A maioria dos sistemas embarcados possui interfaces analógicas. Isso pode ser tão simples quanto ler a temperatura por meio de um conversor analógico-digital, para sistemas mais complexos, como processamento de som de vários microfones (formação de feixe) e reconhecimento de voz.
Projetos mais antigos costumavam realizar a maior parte da aplicação e filtragem no domínio analógico, mas com processadores de sinal digital dedicados (DSPs), o processamento foi movido para o domínio digital. Isso ocorre porque os DSPs são mais precisos, podem ser repetidos na fabricação e podem ser ajustados com o tempo.
Com a introdução dos controladores de sinal digital (DSCs), ou microcontroladores com extensões DSP, os projetistas podem agora ter o melhor dos dois mundos. Um único controlador que pode executar as funções de DSP e controle oferece uma redução no custo, espaço na placa e consumo de energia.
O processamento de sinal digital pode ser complexo, mas os designers não precisam ser especialistas para usar o processamento avançado. Por exemplo, Arm fornece uma estrutura de software livre para aplicativos incorporados, bibliotecas CMSIS-DSP.
Por que devo me preocupar com a segurança?
Um produto enviado com segurança inadequada pode levar à perda de dados, publicidade embaraçosa, custos financeiros e frustração do cliente. Os ataques à segurança podem abranger todos os setores e ter vários níveis de impacto, desde obter acesso a um sistema de automação residencial e ligar e desligar as luzes até espionagem industrial e obter acesso a uma rede por meio de dispositivos IoT.
Ameaças externas podem ser categorizadas em quatro tipos de ataque:comunicação, ciclo de vida, software e físico. Mas como você sabe contra quais ameaças precisa se proteger e como projetar com o nível certo de segurança para o seu dispositivo? No ano passado, lançamos uma estrutura de segurança para qualquer pessoa que projeta dispositivos conectados, Platform Security Architecture (PSA). É um processo de três estágios que fornece aos designers e desenvolvedores tudo de que precisam para determinar o nível de segurança e a mitigação de ameaças que devem optar. A documentação PSA e o código-fonte aberto (Trusted Firmware-M) tornam mais fácil para os desenvolvedores começarem.
Figura 5:Tecnologia Arm disponível para mitigar vulnerabilidades de segurança (Fonte:Arm)
Como adiciono recursos inteligentes?
Recursos inteligentes podem ser adicionados por meio da implementação de algoritmos complexos escritos por cientistas de dados. Um sistema que responde a comandos de voz pode ser implementado analisando amostras de som e comparando-as a um modelo para cada comando. O problema com essa abordagem é que ela pode funcionar bem para um usuário, mas não para uma ampla gama de usuários, e não seria robusta em um ambiente barulhento ou em constante mudança.
Recursos inteligentes que usam aprendizado de máquina exigem que o sistema seja treinado usando um conjunto de dados, como comandos de voz falados por muitos alto-falantes em diferentes ambientes e condições. Este treinamento normalmente usa servidores em nuvem. Depois que o modelo é construído e otimizado, a inferência ou uso do modelo pode ser concluída em um processador integrado.
Uma solução é CMSIS-NN, uma biblioteca de rede neural gratuita desenvolvida para maximizar o desempenho e minimizar o consumo de memória de redes neurais em núcleos de processador Cortex-M.
Nova era - novas oportunidades e novos desafios
Não há dúvida de que os dispositivos embarcados estão mais complexos do que nunca - os requisitos dos produtos estão aumentando, há uma pressão crescente sobre os custos e as preocupações com a segurança continuam a aumentar, especialmente para os dispositivos conectados.
Todos esses fatores representam desafios significativos para os desenvolvedores. Mas, a boa notícia é que a indústria está evoluindo para oferecer suporte a isso com IP, software, ferramentas e recursos de treinamento para ajudar os desenvolvedores incorporados a ultrapassar os limites do que é possível.
Phil Burr é diretor do portfólio de produtos estabelecido no Embedded Group da Arm. Ele lidera uma equipe responsável pelo portfólio de CPU da Arm, ajudando a garantir que esses processadores possibilitem a inovação de parceiros novos e existentes. Phil também gerencia o Arm DesignStartprogram - uma rota de baixo custo e fácil acesso para Arm IP.
Tecnologia da Internet das Coisas
- A revolução da máquina precisa de VOCÊ!
- Quatro grandes desafios para a Internet das Coisas industrial
- Os 3 principais desafios da preparação de dados IoT
- 5 desafios que a Internet das Coisas ainda enfrenta
- Explorando os cinco principais desafios da IoT por meio dos 5 Cs - Parte 1
- Os desafios de testar dispositivos IOT de software
- Projeto do sistema de controle:dos projetos mais simples aos mais complexos
- Usando DevOps para enfrentar desafios de software incorporado
- Superando os desafios de desenvolvimento de IoT
- A evolução da visão 3D