Desenvolvimento Speed Embedded Wireless IoT com uma Plataforma Linux Multicore Embedded Off-the-Shelf

By Stephen Evanczuk

Contributed By DigiKey's North American Editors

Aplicações avançadas industriais, médicas, de transporte e agrícolas da Internet das Coisas (IoT) exigem projetos de sistemas incorporados mais complexos. Em tais situações, os desenvolvedores tiveram pouca escolha a não ser construir placas personalizadas para atender ao desempenho, conectividade e requisitos periféricos, apesar de enfrentarem prazos mais apertados e orçamentos reduzidos. Mesmo que as placas fora da prateleira possam estar disponíveis, o desempenho, a potência, o tamanho, o fator de forma e a mistura de recursos impediram seu uso.

Em uma era de IoT ubíqua e Industrial IoT (IIoT), entretanto, mesmo as equipes de desenvolvimento customizado mais produtivas foram atrasadas pelos requisitos de certificação regional para subsistemas sem fio que atrasaram a entrega e corroeram as oportunidades de mercado.

Este artigo discute o problema do make versus (vs) buy para placas integradas sem fio. Em seguida, introduz uma plataforma de desenvolvimento chave na mão da Digi que fornece um ambiente de software abrangente e uma plataforma de hardware otimizada com módulos sem fio pré-certificados. O artigo mostra como o kit pode ser usado para ajudar os desenvolvedores a fornecer rápida e facilmente soluções mais poderosas de sistemas integrados conectados.

Fazer vs comprar para o desenvolvimento de placas embutidas

Para os desenvolvedores de sistemas integrados, as expectativas do usuário final e a pressão da concorrência continuam a impulsionar a demanda por produtos com maior funcionalidade entregues em janelas de tempo de colocação no mercado cada vez menores. Os usuários insistem em sistemas que são mais simples de conectar, usar e manter. Como resultado, os desenvolvedores enfrentam desafios crescentes ao longo de várias frentes. Para a conectividade sem fio, soluções sem fio de curto e longo alcance trazem requisitos associados para a certificação de seus projetos; a implementação de recursos de exibição adequados acrescenta complexidade e custo ao projeto; e a garantia de confiabilidade contínua e disponibilidade a longo prazo desses sistemas desafia os desenvolvedores a encontrar soluções capazes de resistir a condições adversas e também permanecer disponíveis para os ciclos de vida prolongados freqüentemente encontrados em aplicações industriais ou médicas.

Para algumas aplicações, uma solução adequada depende criticamente de abordagens de projeto personalizadas para otimizar cada subsistema a fim de atender às exigências. Cada vez mais, no entanto, as soluções de projeto fora da prateleira fornecem uma plataforma que pode ser facilmente estendida para suportar as exigências exclusivas de uma ampla gama de áreas de aplicação. No entanto, as equipes de desenvolvimento às vezes se aproximam da decisão de construir soluções personalizadas versus comprar sistemas pré-construídos puramente em termos de custo de desenvolvimento, calculando que a construção de um projeto personalizado a partir do zero custará menos do que a compra de um projeto pronto para uso.

Na verdade, as equipes de desenvolvimento podem descobrir que outras considerações, incluindo certificação sem fio, disponibilidade, capacidade de manutenção e outras questões do ciclo de vida, podem aumentar o custo total. Em um mercado em rápida evolução, o atraso necessário para implementar um projeto personalizado pode corroer ainda mais a fatia de mercado e o tempo para a receita, limitando, em última instância, a rentabilidade de um novo produto.

Para resolver estes problemas, o kit de desenvolvimento CC-WMX8MN-KIT ConnectCore 8M Nano da Digi oferece uma alternativa eficaz ao desenvolvimento personalizado, fornecendo uma plataforma pronta para uso capaz de atender aos requisitos de desempenho e custo em uma ampla gama de aplicações (Figura 1).

Imagem do kit de desenvolvimento Digi CC-WMX8MN-KIT ConnectCore 8M Nano Figura 1: O kit de desenvolvimento Digi CC-WMX8MN-KIT ConnectCore 8M Nano fornece tudo o que é necessário para começar a desenvolver sistemas conectados capazes de atender às crescentes exigências de design de IHM, processamento de áudio/vídeo, computação de ponta e aprendizagem de máquinas. (Fonte da imagem: Digi)

Como uma solução chave na mão atende a diversos requisitos funcionais

O kit de desenvolvimento Digi CC-WMX8MN-KIT ConnectCore 8M Nano fornece uma plataforma de hardware abrangente projetada para reduzir o tempo de desenvolvimento e o tempo de colocação dos sistemas no mercado. Usando este kit, os desenvolvedores podem facilmente implementar sistemas que se dimensionam para suportar aplicações tão variadas como design de interface homem-máquina (HMI), processamento de áudio/vídeo, computação de ponta, aprendizado de máquina e muito mais. Junto com a placa de desenvolvimento Digi ConnectCore 8M Nano, o kit inclui uma antena de banda dupla, um cabo de porta console e uma fonte de alimentação para que os desenvolvedores possam começar imediatamente a criar aplicações conectadas.

Como com outros kits de desenvolvimento Digi CoreConnect, o kit de desenvolvimento ConnectCore 8M Nano aproveita as vantagens das soluções de sistema em módulo (SoM) altamente integradas da Digi. Com base nos membros da família de processadores i.MX da NXP Semiconductor, as SOMs ConnectCore da Digi integram recursos de multimídia, segurança, conectividade com fio e conectividade sem fio pré-certificada, entre outros recursos necessários para aplicações embutidas típicas. Utilizados em combinação com um amplo ambiente de software, estes SoMs simplificam o desenvolvimento de sistemas incorporados, permitindo que os fabricantes de produtos ofereçam produtos mais sofisticados mais rapidamente e com menor risco do que normalmente é possível com abordagens de hardware personalizadas.

Para o kit de desenvolvimento CC-WMX8MN-KIT, um Digi SOM combina as capacidades do processador Nano i.MX 8M Nano da NXP baseado em núcleos quad Arm®Cortex®-A53 e Arm Cortex-M7 com até 8 gigabytes (GB) Flash, até 1 GB de taxa de dados dupla de baixa potência (LPDDR) de memória dinâmica de acesso aleatório (DRAM), e um conjunto de subsistemas adicionais (Figura 2).

Imagem do Digi SoM baseado no processador NXP i.MX 8M Nano multicoreFigura 2: Com base no processador NXP i.MX 8M Nano multicore, um Digi SoM integra a memória, opções de conectividade, segurança e capacidades de gerenciamento de energia necessárias em projetos típicos de sistemas integrados. (Fonte da imagem: Digi)

Entre seus subsistemas, o SoM integra um dispositivo de segurança da família CryptoAuthentication da Microchip Technology que complementa as características de segurança da Zona de Confiança dos núcleos Cortex-A53 de Braço. O dispositivo CryptoAuthentication combina um processador criptográfico dedicado, gerador de números aleatórios de alta qualidade e armazenamento protegido de chaves para executar com alta velocidade e segurança os algoritmos de hash e de infra-estrutura de chave pública (PKI).

As opções de conectividade integradas do SoM suportam gigabit Ethernet (GbE), bem como 802.11 a/b/g/n/ac Wi-Fi e Bluetooth 5 pré-certificados. Para atender aos requisitos de redes de área ampla, os desenvolvedores podem adicionar opções de conectividade celular e outras simplesmente conectando os módulos celulares Digi XBEE ao conjunto de conectores compatíveis com XBEE da placa CC-WMX8MN-KIT.

Junto com um conjunto completo de interfaces periféricas padrão, o SoM suporta múltiplas interfaces multimídia para áudio, câmera e displays. Uma unidade de processamento gráfico integrada e um controlador de tela de cristal líquido (LCDIF) permite aos desenvolvedores adicionar facilmente um painel LCD opcional, como o Digi CC-ACC-LCDW-10 e começar rapidamente a criar projetos HMI para suas aplicações incorporadas.

Poder de gerenciamento em projetos baseados em processadores avançados

O poder de gerenciamento em um sistema integrado complexo pode ser um desafio significativo, particularmente quando o projeto de um sistema integra um processador avançado como o NXP i.MX 8M Nano. Como com outros processadores desta classe, o NXP i.MX 8M Nano agrupa seus muitos subsistemas distintos em domínios de potência separados para seus processadores principais (VDD_ARM e VDD_SOC), GPU (VDDD_GPU), memória (VDDD_DRAM, NVCC_DRAM), armazenamento seguro não volátil (NVCC_SNVS_1P8, VDDD_SNVS_0P8), e vários outros. Os desenvolvedores não apenas precisam fornecer trilhos de energia apropriados para cada domínio, mas também fornecer (e remover) energia para cada domínio em uma seqüência de tempo específica (Figura 3).

Imagem das divisórias NXP i.MX 8M Nano partições seus subsistemasFigura 3: Como na maioria dos processadores avançados, o NXP i.MX 8M Nano divide seus subsistemas em domínios de energia separados que precisam que seus trilhos de alimentação de tensão individuais sejam ligados em uma seqüência específica na partida. (Fonte da imagem: NXP Semiconductor)

De fato, o ConnectCore i.MX 8M Nano SoM da Digi requer apenas duas entradas de alimentação e utiliza o IC de gerenciamento de energia BD71850MWV da ROHM Semiconductor (PMIC) para fornecer os múltiplos níveis de tensão de alimentação exigidos pelo processador i.MX 8M Nano e outros dispositivos. Projetado especificamente para suportar o processador NXP i.MX 8M Nano, o ROHM BD71850MWV integra reguladores de múltiplos pinos e reguladores de baixa queda (LDO) para fornecer um conjunto completo de trilhos de energia a partir de uma fonte primária VSYS 5 volts (Figura 4).

Diagrama de ROHM BD71850MWV PMICFigura 4: Projetado especificamente para fornecer o processador NXP i.MX 8M Nano, o ROHM BD71850MWV PMIC fornece um conjunto completo de trilhos de alimentação necessários para o processador, bem como outros dispositivos em um projeto de sistema embutido típico. (Fonte da imagem: ROHM Semicondutor)

Embora o BD71850MWV administre as seqüências detalhadas de alimentação e desligamento necessárias para o processador, Digi acrescenta um nível adicional de controle projetado para otimizar o consumo geral de energia e manter a confiabilidade do sistema. Integrado no SoM, o Digi Microcontroller Assist (MCA) utiliza um microcontrolador dedicado NXP Kinetis KL17 MKL17Z64VDA4 (MCU) para o gerenciamento de energia em nível de sistema. Com base no núcleo Cortex-M0+ de braço de ultra-baixo consumo, o NXP Kinetis KL17 MCU consome apenas 46 microampas (μA) por megahertz (MHz) em modo de funcionamento muito baixo e 1,68 μA em modo de parada, onde mantém memória e função de relógio em tempo real (RTC).

Projetado para permanecer ativo mesmo quando o sistema está em modo de repouso, o MCA executa firmware atualizável rodando no KL17 MCU para fornecer várias opções para acordar o processador do sistema NXP i.MX 8M Nano. Por exemplo, Digi define uma configuração padrão que desativa o RTC do processador do sistema em favor da funcionalidade RTC de menor potência implementada no firmware MCA. Os desenvolvedores podem usar o conversor analógico-digital de 12 bits (ADC) do MCA para monitorar eventos externos e gerar uma interrupção para despertar o processador do sistema somente quando necessário. Ao contrário, o firmware MCA implementa três controladores de modulação de largura de pulso multicanal (PWM) para operações externas. Para ajudar a garantir a confiabilidade geral do sistema, o firmware MCA também fornece a funcionalidade de watchdog timer que restabelece todo o sistema ou somente o processador do sistema se o software rodando nesse processador estiver pendurado, ou não realizar a manutenção habitual do watchdog timer durante a execução normal do software.

Na inicialização do sistema, o MCA começa a funcionar assim que recebe energia. Após um atraso programável, o MCA por sua vez inicia o BD71850MWV PMIC, que executa a seqüência de inicialização do i.MX 8M Nano power up descrita anteriormente. A reposição do sistema ou a transição dos estados de sono de baixa potência funcionam de forma muito semelhante à do MCA coordenando a restauração de energia com o PMIC e o processador.

Um ambiente de software Linux integrado pronto para produção

O kit de desenvolvimento Digi CC-WMX8MN-KIT usa sua extensa base de hardware para fornecer um ambiente de software pronto para produção executando o código aberto Digi Embedded Yocto (DEY). Com base na popular distribuição Linux embutida do Projeto Yocto, DEY estende essa distribuição básica com capacidades adicionais do pacote de suporte de placas (BSP) projetado especificamente para suportar a plataforma de hardware Digi (Figura 5).

Diagrama de Yocto Embutido DigiFigura 5: O Digi Embedded Yocto amplia a distribuição Yocto Project Linux de base com extensões do pacote de suporte de placas (BSP) para o hardware Digi. (Fonte da imagem: Digi)

Entre as extensões BSP para o kernel Linux, o TrustFence da Digi fornece uma estrutura de segurança para dispositivos Linux. Usando suas capacidades de autenticação e gerenciamento de identidade, os serviços TrustFence se estendem desde o controle de acesso de baixo nível de portas de E/S internas e externas até o suporte de alto nível para conexões de rede seguras e inicialização segura usando imagens de firmware validadas. Embora inicialmente não suportado no módulo ConnectCore 8M Nano, o Digi TrustZone estará disponível em um futuro lançamento DEY.

Além de empregar segurança e gerenciamento no nível do dispositivo individual, as aplicações de grande escala de dispositivos IoT precisam inevitavelmente da capacidade de monitorar e gerenciar frotas de dispositivos IoT. Para suportar estes requisitos, o Digi Remote Manager fornece um serviço baseado em nuvem projetado para suportar o monitoramento da saúde do dispositivo, gerenciamento de configuração e atualizações de firmware. Usando um aplicativo móvel ou software desktop, os desenvolvedores podem usar o Digi Remote Manager para exibir detalhes das operações da frota de dispositivos, incluindo a saúde da frota, alertas, status da conexão e força do sinal (Figura 6).

Imagem do Digi Remote Manager serviço baseado em nuvem (clique para ampliar)Figura 6: O serviço baseado em nuvem do Digi Remote Manager permite aos desenvolvedores monitorar e gerenciar implantações IoT em larga escala a partir de seu desktop ou dispositivo móvel. (Fonte da imagem: Digi)

Além de suas capacidades de monitoramento, o Digi Remote Manager permite que os desenvolvedores gerenciem dados, conexões e software de dispositivos de forma mais ativa e interativa usando a linha de comando ou programática usando as interfaces de programação de aplicações (APIs) do serviço. Usando estas capacidades, os desenvolvedores podem reiniciar dispositivos e fazer upload de arquivos, realizando facilmente atualizações de firmware e software em massa em toda a frota necessária com dispositivos conectados típicos, mas muitas vezes logisticamente desafiadores em implantações em larga escala.

Conclusão

A demanda por aplicações mais sofisticadas nos segmentos industriais, médicos, de transporte e agrícolas impulsiona os requisitos para projetos mais complexos de sistemas incorporados orientados para IoT. Os requisitos de certificação regional para subsistemas sem fio associados também complicaram e atrasaram os projetos.

Para resolver os problemas, um kit de desenvolvimento da Digi fornece um ambiente de software abrangente e uma plataforma de hardware otimizada com módulos sem fio pré-certificados. Como mostrado, o kit permite que os desenvolvedores forneçam mais fácil e rapidamente soluções poderosas de sistemas integrados conectados.

DigiKey logo

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.

About this author

Image of Stephen Evanczuk

Stephen Evanczuk

Stephen Evanczuk has more than 20 years of experience writing for and about the electronics industry on a wide range of topics including hardware, software, systems, and applications including the IoT. He received his Ph.D. in neuroscience on neuronal networks and worked in the aerospace industry on massively distributed secure systems and algorithm acceleration methods. Currently, when he's not writing articles on technology and engineering, he's working on applications of deep learning to recognition and recommendation systems.

About this publisher

DigiKey's North American Editors