Table of Contents
Compreendendo a Pilha de Protocolo Bluetooth e seus componentes para engenheiros incorporados
A tecnologia Bluetooth tornou-se uma pedra angular da comunicação sem fio em sistemas incorporados, permitindo tudo, desde fones de ouvido sem fio e sensores domésticos inteligentes a ligações de dados industriais. Para desenvolver produtos Bluetooth robustos e eficientes, os engenheiros embarcados devem navegar pela pilha de protocolos que regula como os dados viajam de aplicação a onda de rádio e volta. Esta pilha não é um único bloco monolítico, mas uma arquitetura cuidadosamente em camadas, onde cada camada tem responsabilidades específicas. A captura dessas camadas é essencial para depurar problemas de conexão, otimizar a vida útil da bateria e garantir a interoperabilidade entre dispositivos de diferentes fabricantes.
Nas seções seguintes, nós quebramos a pilha de protocolo Bluetooth do rádio físico através de perfis de aplicação. Nós também destacamos considerações-chave para designers incorporados, incluindo gerenciamento de energia, segurança e as melhorias mais recentes introduzidas no Bluetooth 5.0, 5.1, 5.2 e LE Audio.
Arquitetura do sistema Bluetooth: Host e Controlador
Implementação Bluetooth moderna particiona a pilha de protocolo em dois blocos principais: o Controller e o Host[. Esta divisão é formalizada pela Interface do Controlador Host (HCI), que padroniza a comunicação entre eles. Compreender esta divisão é crucial para engenheiros embarcados porque determina particionamento de hardware/software e influencia as escolhas de design.
O Controlador
O Controlador lida com as camadas inferiores da pilha: o Radio, a Baseband, o Link Manager (em Bluetooth clássico) ou a Camada de Links (em Bluetooth Low Energy). É normalmente implementado num chip dedicado ou integrado no periférico de um microcontrolador. O Controlador é responsável pelas tarefas em tempo real de transmissão de pacotes, hopping de frequência, criptografia e manutenção de ligações. Ao desenhar um sistema, o Controlador é frequentemente tratado como uma caixa preta, mas os engenheiros devem compreender as suas capacidades e restrições de tempo para configurar adequadamente os comandos HCI.
A Máquina
O Host roda na CPU principal do sistema incorporado e contém os protocolos de camada superior: L2CAP, SDP, GATT (para LE), RFCOMM (para Classic) e os perfis de aplicação. O Host comunica com o Controlador através de pacotes HCI sobre UART, SPI, SDIO ou USB. Os engenheiros que escrevem firmware para o Host devem gerenciar parâmetros de conexão, buffering de dados e lógica específica de perfil. A separação permite o desenvolvimento de código Host independentemente do hardware Controlador, desde que ambos aderem à especificação Bluetooth.
Camada 1: A Rádio (camada Física)
A camada de rádio é a base do Bluetooth. Define como os bits são modulados em ondas de rádio, as bandas de frequência usadas, e os níveis de potência de transmissão.
Banda de Frequência e Canais
Bluetooth opera na banda ISM de 2,4 GHz (2400-2483,5 MHz). Bluetooth clássico usa 79 canais espaçados de 1 MHz, enquanto Bluetooth Low Energy usa 40 canais (37 canais de dados + 3 canais de publicidade) separados de 2 MHz. O espectro de dispersão de saltos de frequência (FHSS) é usado para reduzir a interferência de Wi-Fi, Zigbee e outras fontes de 2,4 GHz.
A seleção de canais e sequência de pulo é gerenciada pela baseband/Link Layer. Engenheiros incorporados devem garantir a precisão de frequência do rádio (normalmente dentro de ±20 ppm para Classic, ±50 ppm para LE) para manter um link confiável. Temperatura e envelhecimento de osciladores de cristal podem causar deriva, o que muitas vezes requer rotinas automáticas de calibração de frequência.
Modulação e Taxas de Dados
O Bluetooth clássico usa os modos de chaveamento de desvio de frequência Gaussian (GFSK) para a Taxa Básica (BR) a 1 Mb/s, e pode mudar para os modos π/4-DQPSK ou 8DPSK para a Taxa de Dados Melhorados (EDR) (até 3 Mb/s). Bluetooth Low Energy usa o GFSK com uma taxa de símbolo de 1 Msym/s, dando uma taxa de dados bruta de 1 Mb/s (LE 1M PHY) ou opcionalmente 2 Mb/s (LE 2M PHY). Bluetooth 5.0 introduziu o PHY codificado LE, que adiciona correção de erro de avanço (FEC) para estender o intervalo ao custo da taxa de dados (125 Kb/s ou 500 Kb/s).
Ao escolher um PHY, o designer embutido deve trocar a produtividade, o consumo de energia e a gama. Por exemplo, o LE 2M PHY pode duplicar a produtividade, mas pode consumir um pouco mais de energia por bit e oferece um intervalo ligeiramente menor do que o LE 1M PHY. O LE Coded PHY pode atingir até quatro vezes a faixa, tornando-o ideal para redes de sensores de longo alcance.
Classes de Potência e Gama
Bluetooth define três classes de potência para transmissores:
- Classe 1 (100 mW, +20 dBm) – até 100 metros
- Classe 2 (2,5 mW, +4 dBm) – até 10 metros (mais comuns em dispositivos móveis)
- Classe 3 (1 mW, 0 dBm) – até 1 metro
As implementações de Classe 1 requerem uma rede correspondente e, muitas vezes, um amplificador de energia externo. Para dispositivos incorporados alimentados a bateria, Classe 2 ou Classe 3 são típicas para atender orçamentos de energia. A potência de saída pode ser ajustada dinamicamente através do Gerenciador de Links para reduzir interferências e economizar energia.
Camada 2: Banda de base (Classic) ou Camada de ligação (LE)
A camada de banda base (Classic) e Link Layer (LE) lidam com o tempo, formatação de pacotes e controle do rádio. Eles são o coração do protocolo de baixo nível do Bluetooth.
Piconetas e scatternets (Classic)
No Bluetooth clássico, a comunicação ocorre dentro de um piconet[: um mestre e até sete escravos ativos. O mestre define a sequência de pulo de frequência e o calendário de votação. Um dispositivo pode participar em vários piconets, formando uma rede de dispersão, embora isso raramente seja usado na prática devido à complexidade. A Camada de Link em LE suporta apenas uma topologia de estrela simples (uma central, vários periféricos) e não implementa scatternets.
Tipos de Link e Formatos de Pacote
Bluetooth clássico suporta dois tipos de links físicos:
- Syncronous Connection-Oriented (SCO) – reserved time slots for isochronous data like audio (por exemplo, eSCO for highed reliability).
- Ausência de ligação assíncrona (ACL) – dados com comutação de pacotes para a maioria das aplicações.
Bluetooth LE utiliza apenas canais de dados orientados para a ligação com uma estrutura de pacotes que consiste em um preâmbulo, endereço de acesso, PDU e CRC. O endereço de acesso (32 bits) identifica a ligação e reduz consideravelmente a probabilidade de interstalk em cenários de co-localização.
Calendário do pacote
No Bluetooth clássico, o tempo é dividido em slots 625-μs. O Master transmite em slots pares; o escravo responde em slots ímpares. Na LE, o intervalo de conexão é negociado e pode variar de 7,5 ms a 4 segundos. Um intervalo mais curto reduz a latência, mas aumenta o consumo de energia. Os engenheiros incorporados devem escolher parâmetros de conexão que atendam aos requisitos de taxa de transferência e latência, mantendo o ciclo de serviço baixo.
Camada 3: Controles de Link Manager (Classic) e Link Layer (LE)
Acima da Banda Base encontra-se o Link Manager (LM) em Bluetooth Classic, que implementa o Link Manager Protocol (LMP). Em LE, as funções de controle de ligação são integradas na própria Camada Link, mas existem os mesmos objetivos: configuração de link, segurança e gerenciamento de energia.
Configuração e Ajuste da Ligação
O LM negocia parâmetros de conexão, como tipos de pacotes, configurações de controle de energia e uso de pacotes multi-slot. Ele também lida com a mudança de função (por exemplo, troca de mestre/escravo) e a transição entre sniff/subrating e modos ativos. Para LE, a maioria desses parâmetros são definidos durante o estabelecimento de conexão através do procedimento LL CONNECTION UPDATE REQ.
Procedimentos de segurança
A segurança Bluetooth evoluiu significativamente. O Link Manager lida com a geração de chaves de emparelhamento, autenticação e criptografia. Para Bluetooth clássico, o modelo de segurança inclui o emparelhamento PIN ou o emparelhamento simples seguro (SSP). Para LE, o Protocolo do Gerenciador de Segurança (SMP) é executado acima da Camada de Link (na máquina). No entanto, a Camada de Link fornece o motor de criptografia (AES-CCM para LE). Os engenheiros devem estar cientes do modo de emparelhamento: Apenas Funciona (sem proteção MITM), Comparação Numérica, Entrada de Chave de Passagem ou NFC. Usar autenticação forte é fundamental para aplicações que lidam com dados sensíveis.
Controle de energia
O LM/Link Layer ajusta a potência de transmissão com base na força de sinal recebida (RSSI). Este controle de circuito fechado economiza energia e reduz a interferência. Alguns chips permitem que a aplicação influencie a política de controle de energia através de comandos HCI, que podem ser úteis para otimização de faixa personalizada.
A interface do controlador da máquina (HCI)
O HCI é um protocolo serial padronizado que define como o Host e Controlador se comunicam. Ele normalmente passa por cima de UART (usando o transporte H4, USB ou SDIO. O HCI transporta três tipos de pacotes: Comando, Evento e Dados (ACL e SCO).
Compreender o HCI é essencial para engenheiros embarcados porque muitas ferramentas de depuração (por exemplo, o Packet Sniffer da TI, o NRF Sniffer da Nordic) capturam o tráfego do HCI para revelar o que a pilha está fazendo. Ao escrever o código do lado do Host, o desenvolvedor deve formatar adequadamente pacotes de comandos HCI, analisar eventos de resposta e gerenciar o fluxo de dados. O controle de fluxo e buffering (usando hardware RTS/CTS ou software XON/XOFF) são críticos para evitar sobreposições.
Protocolos de Camada Superior (Host)
A camada Host contém protocolos que fornecem canais de comunicação estruturados para aplicações.
Protocolo de Controle e Adaptação Lógicas da Ligação (L2CAP)
O L2CAP multiplexa múltiplos canais lógicos numa única ligação ACL. Fornece segmentação de pacotes e reassemblagem, bem como parâmetros de qualidade de serviço (QoS). No Bluetooth clássico, o L2CAP também suporta canais orientados para ligações (com controlo de fluxo baseado em crédito) e canais sem ligação (para transmissões). No LE, o L2CAP é usado principalmente para sinalização (atualizações de parâmetros de ligação, troca de MTU) e para transportar pacotes ATT. A negociação da Unidade de Transmissão Máxima (MTU) é um passo fundamental que afecta o quão grandes os pacotes do GATT podem ser – um MTU maior melhora o rendimento.
Protocolo de Atributos e Perfil de Atributos Genéricos (ATT/GATT)
Para Bluetooth LE, o GATT define uma forma estruturada de expor os serviços e características de dados. O Protocolo de Atributos (ATT) fornece o mecanismo cliente-servidor: um servidor do GATT armazena atributos (serviços, características, descritores) e um cliente do GATT lê-os/escreverá. Esta arquitetura é fundamental para aplicações do LE, como monitores de frequência cardíaca, sensores ambientais e faróis de proximidade.
Engenheiros incorporados que projetam um servidor do GATT devem definir a tabela de atributos em firmware, lidar com solicitações de leitura/escrita e enviar notificações ou indicações ao cliente. Para dispositivos alimentados a bateria, as atualizações iniciadas por servidor (notificações) são preferidas sobre as pesquisas para reduzir eventos de rádio.
Protocolo de Descoberta de Serviços (SDP) e Perfil de Acesso Genérico (GAP)
O Bluetooth clássico usa o SDP para descobrir os serviços disponíveis num dispositivo remoto. O LE usa o GAP para lidar com a descoberta do dispositivo (publicidade e digitalização) e o estabelecimento de ligação. O GAP define funções como Broadcaster, Observer, Peripheral e Central. A carga útil de publicidade (31 bytes em LE 4.0–4.2, estendido até 1650 bytes em Bluetooth 5.0 ADI) contém bandeiras, nome do dispositivo e UUIDs de serviço. A embalagem eficiente de dados de publicidade reduz a quantidade de tempo que o rádio deve estar ligado.
RFCOMM e OBEX (Classic)
O RFCOMM emula portas seriais RS-232 sobre o L2CAP, permitindo a comunicação serial legada. OBEX fornece troca de objetos (por exemplo, transferências de arquivos). Esses protocolos ainda são amplamente utilizados para dispositivos incorporados legados, como scanners de código de barras Bluetooth habilitados ou ferramentas de diagnóstico.
Perfis Bluetooth
Os perfis definem como os protocolos são combinados para realizar um caso de uso específico. São essenciais para a interoperabilidade. Alguns perfis comuns incluem:
- Perfil sem mãos (HFP) – para comunicação de voz em fones de ouvido e kits de automóveis.
- Human Interface Device (HID) – para teclados, ratos, controladores de jogo.
- Perfil de controle remoto de áudio/vídeo (AVRCP) – para controle de reprodutores de áudio/vídeo.
- Perfil de dispositivos de saúde (HDP) – para sensores médicos.
- Serviço de Sensibilidade Ambiental (ESS) – um serviço do GATT para temperatura, humidade, pressão.
- Perfil de Pressão de Sangue (BPP) – padrão para monitores de pressão arterial.
Ao selecionar um perfil, os engenheiros devem preferir perfis que correspondam ao padrão para evitar o desenvolvimento personalizado e garantir um fácil pareamento com telefones ou computadores. Para LE, os perfis baseados no GATT definidos pelo SIG Bluetooth (ou perfis personalizados) são normalmente implementados usando uma pilha que fornece uma API do GATT.
Melhorias Bluetooth 5.x
As especificações Bluetooth Core 5.0, 5.1, 5.2 e 5.3 introduziram várias características que impactam significativamente o design do sistema incorporado.
LE Prorrogação de publicidade
A publicidade alargada Bluetooth 5.0 permite maiores cargas (até 1650 bytes) e canais de publicidade auxiliares utilizando publicidade periódica. Isto permite uma melhor ligação e transferência de dados sem ligação (por exemplo, serviços de malha e localização BLE). O conceito de identificadores de conjuntos de publicidade (ADI) e canais de publicidade secundários requer um agendamento cuidadoso na Camada de Link para evitar colisões.
LE PHY codificado e 2M PHY
Como observado anteriormente, o PHY codificado quadruplica o intervalo codificando cada bit com vários símbolos (S=2 ou S=8) e adicionando FEC. O rendimento de 2M PHY duplica. Ambos requerem suporte de hardware subjacente; nem todos os chips os implementam. Ao projetar um produto, verificar se o Controlador selecionado suporta o PHY desejado é crucial.
Ângulo de Chegada/Ângulo de Partida (AoA/AoD)
Bluetooth 5.1 adicionou a localização de direção, utilizando arrays de antenas e amostragem de QI. Isto permite sistemas de localização em tempo real (RTLS) com precisão de submetros. A Link Layer insere uma extensão de tom constante especial (CTE) após a carga útil do pacote, e o receptor grava amostras de QI para cálculo de ângulo. Engenheiros incorporados trabalhando no rastreamento de ativos devem garantir que o hardware tenha vários interruptores de antena e que o firmware possa sincronizar a amostragem de QI com a sequência CTE.
Canais LE Isochronous e Áudio LE
Bluetooth 5.2 introduziu canais LE Isochronous para transmissão confiável e de baixa latência. Esta é a base da nova arquitetura LE Audio. O codec LC3 fornece qualidade de áudio superior em bits mais baixos em comparação com o SBC. O LE Audio permite a transmissão de áudio (por exemplo, para intercomunicadores públicos), áudio multi-stream e suporte para aparelhos auditivos. Para engenheiros embarcados, isso significa a transição de Bluetooth clássico para aplicações de áudio, exigindo uma máquina de estado mais complexa para grupos isocrônicos (CIS e BIS).
Mesh Bluetooth
Para redes de dispositivos de grande escala (por exemplo, controle de iluminação, automação de construção), a Bluetooth Mesh utiliza enchentes ou enchentes gerenciadas sobre os portadores de publicidade BLE. Mensagens de retransmissão de nós de malha usando um modelo de publicação-assinagem com modelos definidos (por exemplo, OnOff Genérico, Light Lightness). A pilha inclui uma camada de portador (PB-ADV, PB-GATT), uma camada de transporte (segmentação, reassemblagem, reconhecimentos) e uma camada de rede (relay, proxy, friend, low-power node support).
A implementação de um nó Bluetooth Mesh requer uma memória significativa para armazenar listas de assinaturas, números de sequência e buffers de retransmissão. Os engenheiros embarcados devem selecionar uma pilha com capacidade de malha (por exemplo, Zephyr, TI, Nordic’s) que suporte o provisionamento sobre o GATT (PB-GATT) para smartphones ou publicidade (PB-ADV) para provisionamento baseado em rede. Considerações de energia são críticas: Os Nós de Baixo Poder (LPN) dependem dos Nós Amigos para mensagens-tampão, permitindo que o LPN durma por longos intervalos.
Considerações de projeto para engenheiros incorporados
Gestão de Energia
A vida útil da bateria é muitas vezes a prioridade máxima. A pilha Bluetooth fornece vários mecanismos de baixa potência:
- Modos de sono:Estados ociosos do controlador (por exemplo, modo sniff para o clássico, sono profundo para o LE) reduzem a corrente para microamps.
- Intervalos de ligação: Intervalos mais longos reduzem o ciclo de trabalho, mas aumentam a latência.Para dados periódicos do sensor, 100 ms para 1 segundo é comum.
- Intervalo de publicidade: Publicidade rápida (20 ms) drena bateria; publicidade lenta (1+ segundo) aumenta o tempo de descoberta.
- Optimização de potência TX:Use a menor potência de saída que fornece um link confiável.
Os engenheiros devem também considerar os periféricos específicos para ciclismo de serviço (por exemplo, tempo de aquecimento do sensor) e utilizar o controlo de fluxo de hardware para reduzir a escuta ociosa SPI/UART.
Coexistência e Interferência
Bluetooth compartilha a banda de 2,4 GHz com Wi-Fi, Zigbee e muitos outros dispositivos. A coexistência pode ser melhorada por:
- Usando o salto de frequência adaptativo (AFH), que lista negra canais com alta interferência.
- Usando PA/LNA com filtragem para rejeitar bloqueadores fora de banda.
- Coordenar com Wi-Fi através de um interruptor de antena compartilhado ou usando o sinal de coexistência WCI-2 integrado em alguns chipsets.
Desenho da antena
Uma antena pobre pode anular todas as outras otimizações. Para projetos compactos incorporados, antenas planar invertidas-F (PIFA), antenas de chips ou monopolos meandros são comuns. Os parâmetros críticos incluem correspondência de impedância (meta 50 ‡), folga do plano terrestre e ajuste para 2,44 GHz. Os engenheiros devem simular ou medir a perda de retorno (S11) e eficiência de radiação. Para aplicações de busca de direção, o design de array de antenas torna-se uma disciplina complexa que requer cuidado de layout e calibração.
Depuração e Testes
A depuração Bluetooth pode ser desafiadora porque o rádio é invisível. As ferramentas essenciais incluem:
- Analisadores de protocolos (por exemplo, Ellisys, Teledyne LeCroy, ou soluções de código aberto como nRF Sniffer com Wireshark) para capturar HCI e pacotes de ar.
- Analisadores de espectro para interferência em banda e conformidade com máscaras transmissoras.
- Testes de conformidade para qualificação Bluetooth SIG (RF-PHY, LL, L2CAP, perfis GATT).
- Registros de software com data-hora para correlacionar eventos de pilha.
Muitas pilhas incorporadas (por exemplo, Zephyr’s, FreeRTOS+BLE) fornecem níveis de depuração que podem ser desligados para a produção. A ativação do registro de verbose durante o desenvolvimento ajuda a isolar problemas como atualizações de conexão ausentes, erros de tempo de saída de atributos ou erros HCI.
Implementação da segurança
A segurança não é opcional. No mínimo:
- Usar apenas Modo de conexão segura para LE (caracteriza troca de chaves ECDH e criptografia AES-128).
- Activar OOB pareamento se o dispositivo tiver um canal seguro alternativo.
- Use endereços estáticos aleatórios ou endereços privados (RPA) resolvíveis para evitar o rastreamento.
- Validar os valores de gravação do GATT para evitar o excesso de buffer.
- Guardar chaves de ligação num elemento seguro ou memória inviolável, se possível.
Conclusão
A pilha de protocolos Bluetooth é uma arquitetura rica e multicamadas que equilibra desempenho, potência e compatibilidade. Para engenheiros embarcados, uma sólida compreensão de cada camada – desde a transferência de frequência do rádio até a tabela de atributos do GATT – é essencial para criar produtos sem fio confiáveis. A evolução do Bluetooth clássico para BLE 4.0, Bluetooth 5.x, LE Audio e Mesh continua a abrir novas oportunidades, mas também exige uma compreensão mais profunda do tempo, segurança e coexistência. Ao dominar os componentes da pilha e os trade-offs de design que eles apresentam, os engenheiros podem construir dispositivos que não só se conectam perfeitamente, mas também conservam energia, resistem à interferência e operam com segurança no espectro de 2,4 GHz lotado.