Software de pilha de protocolo Zigbee GA do SILICON LABS SDK 7.4.1.0
Informações do produto
Especificações
- Versão do SDK Zigbee EmberZNet: 7.4.1.0
- Versão do Gecko SDK Suite: 4.4 – 14 de fevereiro de 2024
- Fornecedor: Laboratórios de Silício
- Principais características: Suporte multiprotocolo Zigbee e OpenThread em SoC
- Compiladores Compatíveis: GCC versão 12.2.1
- Versão do protocolo EZSP: 0x0D
Instruções de uso do produto
Avisos de compatibilidade e uso
- Para atualizações e avisos de segurança, consulte o capítulo Segurança das notas de versão da plataforma Gecko instaladas com este SDK ou visite a guia TECH DOCS no Silicon Labs website.
- Mantenha-se atualizado assinando os Avisos de Segurança.
Perguntas frequentes
- Pergunta: Como faço para verificar o correto files estão sendo usados com os compiladores compatíveis?
- Responder: Você pode verificar se o correto files estão sendo usados verificando a versão 12.2.1 do GCC fornecida com o Simplicity Studio.
- Pergunta: Onde posso encontrar informações sobre atualizações e avisos de segurança?
- Responder: Para atualizações e avisos de segurança, consulte o capítulo Segurança das notas de lançamento da plataforma Gecko ou visite a guia TECH DOCS no site da Silicon Labs. website.
Silicon Labs é o fornecedor preferido dos OEMs que desenvolvem redes Zigbee em seus produtos. A plataforma Zigbee da Silicon Labs é a solução Zigbee mais integrada, completa e rica em recursos disponível.
O SDK EmberZNet da Silicon Labs contém a implementação da especificação de pilha Zigbee da Silicon Labs.
- Estas notas de lançamento abrangem as versões do SDK:
- 7.4.1.0 lançado em 14º de fevereiro de 2024
- 7.4.0.0 lançado em 13 de dezembro de 2023
PRINCIPAIS CARACTERÍSTICAS
Zigbee
- Conformidade com Zigbee R23
- Conformidade com Zigbee Smart Energy 1.4a – produção
- Conformidade com Zigbee GP 1.1.2 – Alfa
- Suporte MG27 – produção
- Suporte aprimorado para peças do Secure Vault
- Suporte sonolento em aplicativos NCP SPI (não CPC) – Alpha
Multiprotocolo
- Suporte de escuta simultânea (RCP) – MG21 e MG24
- Multiprotocolo Simultâneo (CMP) Zigbee NCP + OpenThread RCP – produção
- Multiprotocolo dinâmico Bluetooth + Multiprotocolo simultâneo (CMP) Zigbee e suporte OpenThread em SoC
Avisos de compatibilidade e uso
Para obter informações sobre atualizações e avisos de segurança, consulte o capítulo Segurança das notas de versão da plataforma Gecko instaladas com este SDK ou na guia TECH DOCS em https://www.silabs.com/developers/zigbee-emberznet. A Silicon Labs também recomenda fortemente que você assine os Avisos de Segurança para obter informações atualizadas. Para obter instruções, ou se você for novo no SDK Zigbee EmberZNet, consulte Usando esta versão.
Compiladores compatíveis
- IAR Embedded Workbench para ARM (IAR-EWARM) versão 9.40.1.
- Usar o Wine para construir com o utilitário de linha de comando IarBuild.exe ou IAR Embedded Workbench GUI no macOS ou Linux pode resultar em erros files sendo usado devido a colisões no algoritmo de hash do Wine para gerar curtos file nomes.
- Os clientes no macOS ou Linux são aconselhados a não criar com IAR fora do Simplicity Studio. Os clientes que fizerem isso devem verificar cuidadosamente se o correto files estão sendo usados.
GCC (The GNU Compiler Collection) versão 12.2.1, fornecido com Simplicity Studio.
A versão do protocolo EZSP para esta versão é 0x0D.
Novos Itens
Esta versão do Gecko SDK (GSDK) será a última com suporte combinado para todos os dispositivos EFM e EFR, exceto para patches para esta versão conforme necessário. A partir de meados de 2024, apresentaremos SDKs separados:
- O Gecko SDK existente continuará com suporte para dispositivos das Séries 0 e 1.
- Um novo SDK atenderá especificamente aos dispositivos das Séries 2 e 3.
O Gecko SDK continuará a oferecer suporte a todos os dispositivos das Séries 0 e 1, sem alterações no suporte, manutenção, qualidade e capacidade de resposta de longo prazo fornecidos sob nossa política de software.
O novo SDK será uma ramificação do Gecko SDK e começará a oferecer novos recursos que ajudam os desenvolvedores a aproveitartage dos recursos avançados de nossos produtos das Séries 2 e 3.
Esta decisão está alinhada com o feedback dos clientes, refletindo nosso compromisso em elevar a qualidade, garantir a estabilidade e melhorar o desempenho para uma experiência de usuário excepcional em nossos SDKs de software.
Novos componentes
Novidade no lançamento
- Os componentes “zigbee_direct_security_p256” e “zigbee_direct_security_curve25519” foram adicionados para que os usuários possam configurar uma opção de segurança específica do Zigbee Direct.
- Os usuários podem ter vários componentes “zigbee_direct_security” habilitados em um aplicativo Zigbee Direct Device (ZDD). Neste caso, a opção de segurança real depende da configuração do Zigbee Virtual Device (ZVD).
Novas APIs
Novidade no lançamento
- Adicionada uma nova API sl_zigbee_token_factory_reset para redefinir os tokens Zigbee NVM3 para seu valor padrão.
- Adicionada a API bool sl_zigbee_sec_man_link_key_slot_available(EmberEUI64 eui), que retorna verdadeiro se a tabela de chaves do link puder adicionar ou atualizar uma entrada com este endereço (a tabela não está cheia).
- Adicionada uma nova API bool sl_zb_sec_man_compare_key_to_value (contexto sl_zb_sec_man_context_t*, chave sl_zb_sec_man_key_t*), que retorna verdadeiro se a chave for referenciada pelo contexto tiver o mesmo valor que a chave fornecida no argumento.
Suporte a nova plataforma
Novidade no lançamento
- O suporte de pilha Zigbee para as seguintes novas peças foi adicionado nesta versão: EFR32MG24A010F768IM40 e EFR32MG24A020F768IM40.
Nova documentação
Novo na versão 7.4.0.0
- Atualizada a descrição do componente Zigbee Secure Key Storage para refletir a adição do Zigbee Secure Key Storage Upgrade (que adiciona compatibilidade retroativa com projetos existentes).
- Adicionada uma nova nota de aplicativo para interagir com o grupo de componentes do Zigbee Security Manager (AN1412: Zigbee Security Manager).
Comportamento Pretendido
Os usuários são lembrados de que as transmissões CSL não sincronizadas Zigbee estão sujeitas à preempção de protocolo no agendador de rádio. Nas aplicações SleepyToSleepy, o BLE pode e irá antecipar uma transmissão Zigbee CSL, o que encerrará a transmissão. A preempção do escalonador é mais comum para CSL não sincronizados, visto que uma sequência de quadros de ativação potencialmente longa pode ser usada. Os usuários que desejam ajustar as prioridades de transmissão podem usar o componente DMP Tuning and Testing para fazer isso. Os usuários também podem consultar UG305: Guia do usuário multiprotocolo dinâmico para obter mais informações.
Melhorias
Alterado no lançamento
Alterações no documento da API emberCounterHandler
Nas versões anteriores, o retorno de chamada do Counter Handler para EmberCounterTypes da camada MAC e APS referente aos pacotes RX e TX não estava recebendo o ID do nó de destino ou argumentos de dados adequados, e a documentação da API relativa ao comportamento de certos contadores que usavam esses parâmetros não era clara ou enganosa.
Embora a assinatura de emberCounterHandler() não tenha mudado, a forma como seus parâmetros são preenchidos mudou ligeiramente.
- Os comentários sobre enums EmberCounterType em ember-types.h foram expandidos para maior clareza.
- O parâmetro Node ID para o Counter Handler para contadores relacionados ao TX agora verifica se o modo de endereço de destino indica um ID curto válido antes de usá-lo. (Caso contrário, nenhum endereço de destino será preenchido e um valor de espaço reservado de EMBER_UNKNOWN_NODE_ID será usado.)
- O parâmetro Node ID para o Counter Handler para contadores relacionados ao RX agora reflete o ID do nó de origem, não o ID do nó de destino.
- A contagem de novas tentativas *não* é passada como parâmetro de dados para contadores EMBER_COUNTER_MAC_TX_UNICAST_ SUCCESS/FAILED conforme descrito em tipos de brasa. h nas versões anteriores, mas nunca foi preenchido corretamente nas versões lançadas anteriormente, portanto seu valor nas versões anteriores sempre teria sido 0. Esse comportamento foi esclarecido na descrição desses EmberCounterTypes. No entanto, a contagem de novas tentativas para novas tentativas da camada APS continua a ser preenchida no parâmetro de dados para os tipos de contador EMBER_COUNTER_APS_TX_UNICAST_SUCCESS/FAILED, para ser consistente com versões anteriores.
- Todos os contadores que preenchem o ID do nó ou o parâmetro de dados para o retorno de chamada foram auditados para garantir que passem os dados, endereço ou EMBER_UNKNOWN_NODE_ID esperados se um ID do nó fosse esperado, mas não pudesse ser obtido do pacote, conforme descrito na versão revisada. documentação de tipos.h.
- O manipulador de contador para EMBER_COUNTER_MAC_TX_UNICAST_RETRY agora reflete corretamente o ID do nó de destino da camada MAC e várias tentativas em seu ID do nó de destino e parâmetros de dados.
- O manipulador de contador para EMBER_COUNTER_PHY_CCA_FAIL_COUNT agora fornece informações de ID do nó de destino por meio do parâmetro Node ID sobre o destino da camada MAC pretendido da mensagem que falhou na transmissão.
Código de energia verde atualizado
O código do servidor Green Power foi atualizado com várias melhorias, incluindo:
- Adicionado mais código de validação para comandos recebidos com endpoint inválido ao receber no servidor GP.
- Adicionado código para lidar com o caso quando não há mais espaço para construir mensagens de energia verde.
- O coletor agora elimina a configuração de emparelhamento com a ação de remover o emparelhamento em alguns casos, de acordo com a seção de especificações A.3.5.2.4.1.
- O coletor agora salva a lista de grupos existente de uma entrada antes de removê-la ao processar a configuração de emparelhamento com extensão de ação.
- O comando de consulta de tradução retorna “NOT FOUND” como o código de erro quando a tabela de tradução está vazia ou o índice é maior que várias entradas na tabela.
- A versão do endpoint GP em alguns aplicativos foi alterada de 1 para 0.
O uso de CSMA na função GPDF Send é restrito porque os Green Power Devices são dispositivos de energia mínima e não usam CSMA na maioria dos projetos. Em vez disso, o design preferido é enviar vários pacotes utilizando o mesmo orçamento de energia.
Removido o uso de um endpoint oculto na opção de plugin Green Power Server. Use um dos terminais do aplicativo.
Melhorias no código do plug-in de atualização de chave de rede
- O período de atualização periódica da chave de rede foi alterado para até 1 ano.
Reestruturei algumas APIs para evitar exportação desnecessária de chaves
Foram feitas alterações para favorecer o uso de contextos-chave em vez de dados-chave em texto simples.
- sl_zigbee_send_security_challenge_request agora aceita um argumento sl_zb_sec_man_context_t no lugar de EmberKeyData.
- Os valores do enum sl_zb_sec_man_derived_key_type agora são uma máscara de bits de 16 bits para suportar diretamente certas derivações de chave que combinam vários tipos derivados.
Problemas corrigidos
Corrigido na versão
EU IRIA # | Descrição |
1036893 | Corrigido um problema que fazia com que o componente de cluster OTA instalasse o componente legado da interface do carregador de inicialização como uma dependência. |
1114905 | Zigbee Direct: Melhor tratamento da característica de saída da rede. |
1180937 | Corrigida a redefinição do WDT ao conectar o Zigbee Direct ZDD ao ZVD de terceiros. |
1223904 | Corrigido um problema que fazia com que o dispositivo final passasse a funcionar incorretamente em um ambiente muito movimentado. |
1224393 | Atualizado o código do manipulador de solicitação da tabela do coletor Green Power para atualizar o endereço de destino da resposta. |
1228808 | Corrigido o problema de exibição com definições de macro na documentação gp-types.h. |
1232297 | Corrigido um problema em que emberSetOutgoingNwkFrameCounter e emberSetOutgoingApsFrameCounter não funcionavam em aplicativos host de 64 bits (retornando EMBER_BAD_ARGUMENT). |
1232359 | Corrigido o cálculo do parâmetro gppTunnelingDelay no processamento de comando do cliente green power. |
1240392 |
Solicitações de vinculação/desvinculação ZDO recusadas por motivos de acesso/permissão devem retornar o status EMBER_ZDP_NOT_AUTHORIZED em vez do status EMBER_ZDP_NOT_PERMITTED de acordo com as especificações do Zigbee. |
1243523 | Zigbee Direct: Estabilidade aprimorada da conexão BLE ao ZVD. |
1249455 | Corrigido um problema que fazia com que um dispositivo final inativo entrasse em suspensão ao receber uma transmissão antes de receber uma confirmação. |
1252295 | Corrija um erro de digitação na macro do catálogo de componentes SL_CATALOG_ZIGBEE_OTA_STORAGE_COMMON_PRESENT. |
Corrigido na versão
EU IRIA # | Descrição |
1019348 | Corrigidos os requisitos de dependência do componente Zigbee ZCL Cli para que ele possa ser removido quando não for necessário. |
1024246 | Atualizada a descrição da função para emberHaveLinkKey() e sl_zb_sec_man_have_link_key(). |
1036503 | Adicionada uma descrição para recomendar o uso do Kernel Micrium para DMPsampos aplicativos. |
1037661 | Um problema que impedia o aplicativo de instalar o pro stack ou o leaf stack foi corrigido. |
1078136 | Corrigida uma falha intermitente ao modificar eventos do contexto de interrupção |
1081548 |
Os usuários são lembrados de que as transmissões CSL não sincronizadas Zigbee estão sujeitas à preempção de protocolo no agendador de rádio. Nas aplicações SleepyToSleepy, o BLE pode e irá antecipar uma transmissão Zigbee CSL, o que encerrará a transmissão. A preempção do escalonador é mais comum para CSL não sincronizados, visto que uma sequência de quadros de ativação potencialmente longa pode ser usada. Os usuários que desejam ajustar as prioridades de transmissão podem usar o componente DMP Tuning and Testing para fazer isso. Os usuários também podem consultar UG305: Guia do usuário multiprotocolo dinâmico para obter mais informações.
Foi corrigido um problema no CSL em que uma nova sequência de quadros de ativação recebida imediatamente após um quadro de carga anterior não seria registrada corretamente. Isso resultaria em um quadro de carga útil perdido. |
1084111 | O suporte inicial sonolento do SPI-NCP para placas baseadas em MG24 é atualizado como parte desta versão. |
1104056 | Adicionado suporte para direcionamento de rede para execução em uma rede secundária no caso de múltiplas redes |
1120515 | Corrigido um problema em que o canal não mudava ao usar o comando mfglib set-channel. |
1141109 | Corrigido um problema que fazia com que os s geradosample aplicativo ncp-uart-gp-multi-rail para perder algum cabeçalho files ao usar o componente adaptador Green Power com a opção -cp. |
1144316 | Atualizada a descrição de alguns tipos de estrutura de dados na documentação gp-types.h. |
1144884 | Foi corrigido um bit pendente de quadro falso definido quando nenhum dado estava pendente. |
1152512 | Corrigido um possível travamento no low-mac-rail ao modificar o evento no contexto ISR. |
EU IRIA # | Descrição |
1154616 | Adicionada uma exceção para a condição de inicialização da rede com o caso “Mudando a função de dispositivo final sonolento para dispositivo final não sonolento”. |
1157289 | Corrigido um problema que pode causar falha no teste BDB DN-TLM-TC-02B. |
1157426 | Corrigido um problema de construção ao construir zigbee_simple_app com o componente green_power_adapter. |
1157932 | Adicionada uma condição para verificar se o campo “tempo de transição” está faltando e definir um valor padrão de 0xFFFF para este campo ausente. |
1166340 | Corrigido um problema que impedia o emberAfGpdfSend de enviar o número pretendido de transmissões repetidas. |
1167807 | Foi corrigido um problema em que dispositivos que atuavam como centros de confiança em redes distribuídas limpavam incorretamente suas chaves de link transitório sempre que um novo dispositivo se juntava. |
1169504 | Corrigimos um problema que causava a redefinição de um dispositivo em suspensão após o despertar forçado. |
1169966 | Corrigida validação de valor de retorno ausente no código de alocação de buffer. |
1171477,
172270 |
Com mfglib start 1 nenhuma mensagem é transmitida, mas recebida, então a mensagem de terminal exibida “mfglib send complete” está errada e alterada para “RXed %d packets in the last %d ms”. |
1171935 | O período de atualização periódica da chave de rede foi alterado para até 1 ano. |
1172778 | Adicionada a invocação ausente do emberAfPluginGreenPowerServerUpdateAliasCallback ao servidor Green Power. |
1174288 | Corrigimos um problema que fazia com que o processo de direcionamento de rede determinasse se uma chamada para interromper uma verificação em andamento fosse chamada. |
1178393 | Atualizado um erro de documentação. |
1180445 | No Smart Energy, o OTA agora continua a fazer download se o Coordenador atingir o Ciclo de Trabalho Limitado. |
1185509 | Corrigido um problema no CSL em que uma nova sequência de quadros de ativação recebida imediatamente após um quadro de carga anterior não seria gravada corretamente. Isso resultaria em um quadro de carga útil perdido. |
1186107 | Corrigido um problema que fazia com que a descriptografia malsucedida de GPDFs recebidos substituísse o GPDF recebido na notificação de comissionamento do GP. |
1188397 | Corrigido um problema que causava um erro de compilação ao ativar o tamanho estendido da tabela de relatórios. |
1194090 | Corrigido o status de falha na resposta padrão para o comando Sink Commissioning Mode – seguindo a seção 3.3.4.8.2 |
1194963 | Corrigido um problema que memset a estrutura de comissionamentoGpd antes de chamar o retorno de chamada do usuário emberAfGreenPowerServerPairingStatusCallback. |
1194966 | Corrigido um problema em que os campos endpoint e proxiesInvolved não eram definidos com a ação Sair do comissionamento. |
1196698 | Corrigido um bit pendente de quadro falso definido quando nenhum dado estava pendente. |
1199958 | Adicionado código para lidar com o caso quando não há mais espaço para construir mensagens de energia verde. |
1202034 | Corrigido um problema em que a variável de pilha sl_zb_sec_man_context_t não era inicializada corretamente, causando falha na associação com o código de instalação. |
1206040 |
Chamar emberRemoveChild() durante uma tentativa de reingresso seguro por um dispositivo final pode potencialmente levar a uma diminuição extra da contagem de filhos, potencialmente levando a uma contagem de filhos de -1 (255), inibindo a união/reunião de dispositivos finais devido a uma falta indicada de capacidade no Beacon. |
1207580 |
As funções de pesquisa da tabela filho na pilha são inconsistentes no uso de 0x0000 versus 0xFFFF para o valor de retorno do ID do nó que representa entradas inválidas/vazias, levando a problemas na verificação de entradas não utilizadas em APIs como emberRemoveChild(). |
1210706 | Destino e índice PHY fornecidos na estrutura EmberExtraCounterInfo como parte de emberCounterHandler() podem estar incorretos para tipos de contadores MAC TX Unicast. |
1211610
1212525 |
Corrigido um problema em que os aplicativos multiprotocolo dinâmico travavam após ativar o componente Secure Key Storage Upgrade. |
1211847 | Embora a assinatura de emberCounterHandler() não tenha mudado, a forma como seus parâmetros são preenchidos mudou ligeiramente. As alterações em torno desta API são explicadas na seção 2 acima. |
1212449 |
Os Beacons de saída foram categorizados incorretamente pela camada MAC, fazendo com que emberCounterHandler() não conseguisse capturar esses pacotes com o tipo de contador EMBER_COUNTER_MAC_TX_BROADCAST e, em vez disso, contasse os Beacons com o tipo de contador EMBER_COUNTER_MAC_TX_UNICAST_SUCCESS. Isso potencialmente resultou em valores não confiáveis para o parâmetro dest EmberNodeId passado para a estrutura EmberCounterInfo |
EU IRIA # | Descrição |
1214866 | O envio de pacotes de pesquisa de dados em determinadas configurações de alto tráfego pode resultar em uma falha no barramento. |
1216552 | Um problema que causava uma asserção sob condições de tráfego intenso foi corrigido. |
1216613 | Corrigido um problema que levava a um valor incorreto do raio de lançamento do grupo na tabela de proxy. |
1222509 | O roteador/coordenador envia uma solicitação de saída e reingresso para um dispositivo final de pesquisa não-filho, mas o destino MAC é 0xFFFF em vez de corresponder ao endereço de destino NWK. |
1223842 | Corrigido um problema com a geração do sl_component_catalog.h que deixava código indesejado nele, causando falha na compilação. |
756628 | Alterada a invocação do retorno de chamada do aplicativo emberAfMacFilterMatchMessageCallback para ser chamada apenas para mensagens ZLL validadas pela pilha. |
816088 | Configuração EMBER movida de zigbeed_configuration.h para zigbeed. slcp. |
829508 | Para evitar uma condição de corrida, validação adicional foi adicionada em emberSetLogicalAndRadioChannel para retornar sem sucesso se as camadas inferiores estiverem ocupadas ou não em estado para alterar o canal. |
Problemas conhecidos na versão atual
Os problemas em negrito foram adicionados desde a versão anterior. Se você perdeu uma versão, as notas de versão recentes estão disponíveis em https://www.si-labs.com/developers/zigbee-emberznet na guia Documentos técnicos.
EU IRIA # | Descrição | Solução alternativa |
N / D | ·Os seguintes aplicativos/componentes não são suportados nesta versão: suporte EM4 | O recurso será habilitado em versões subsequentes. |
193492 |
A macro de portabilidade emberAfFillCommandGlobalServerToClientConfigureRe está quebrada. O preenchimento do buffer cria um pacote de comando incorreto. | Use o comando CLI “zcl global send-me-a-report” em vez da API. |
278063 | Tunelamento de energia inteligente plugins têm tratamento/uso conflitantes do índice da tabela de endereços. | Nenhuma solução alternativa conhecida |
289569 |
A lista de opções de nível de potência do componente criador de rede não oferece uma gama completa de valores suportados para EFR32 |
Edite o intervalo <-8..20> especificado no comentário CMSIS para EMBER_AF_PLUGIN_NETWORK_CREATOR_RADIO_P
PODER no /protocol/ZigBee/app/framework/plugin/network- creator/config/network-creator-config.h file. Por exemploamparquivo, mude para . |
295498 | A recepção UART às vezes descarta bytes sob carga pesada no caso de uso multiprotocolo dinâmico Zigbee + BLE. | Use o controle de fluxo de hardware ou diminua a taxa de transmissão. |
312291 |
EMHAL: As funções halCommonGetIntxxMillisecondTick em hosts Linux usam atualmente a função Getting Meofday, que não tem garantia de ser monotônica. Se a hora do sistema mudar, isso poderá causar problemas com o tempo da pilha. |
Modifique essas funções para usar clock_gettime com a origem CLOCK_MONOTONIC. |
338151 | Inicializar o NCP com um valor baixo de contagem de buffer de pacotes pode causar pacotes corrompidos. | Use o valor reservado 0xFF para contagem de buffer de pacotes para evitar o valor padrão muito baixo |
387750 | O problema com os formatos de solicitação de tabela de rotas no dispositivo final. | Sob investigação |
400418 | Um iniciador touchlink não pode vincular-se a um destino de dispositivo final que não seja novo de fábrica. | Nenhuma solução alternativa conhecida. |
424355 |
Um iniciador com capacidade de alvo de linha de contato de dispositivo final inativo não novo de fábrica não é capaz de receber uma resposta de informações do dispositivo em determinadas circunstâncias. |
Sob investigação |
465180 |
O item de otimização do bloqueador de rádio de coexistência “Ativar controle de tempo de execução” pode bloquear a operação adequada do Zigbee. | O controle opcional ‘Wi-Fi Select’ da otimização do bloqueador deve ser deixado “Desativado”. |
480550 |
O cluster OTA possui seu método de fragmentação integrado, portanto, não deve usar fragmentação APS. Embora, caso a criptografia APS esteja habilitada, ela aumenta a carga útil do ImageBlockResponses para um tamanho em que a fragmentação APS é ativada. Isso pode levar à falha do processo OTA. |
Nenhuma solução alternativa conhecida |
481128 |
A causa detalhada da redefinição e os detalhes da falha devem estar disponíveis por padrão por meio do Virtual UART (Serial 0) em plataformas NCP quando o plug-in de diagnóstico e o periférico Virtual UART estão habilitados. | Como o Serial 0 já foi inicializado no NCP, os clientes podem ativar o emberAfNcpInitCallback no Zigbee NCP Framework e chamar as funções de diagnóstico apropriadas (halGetExtendedResetInfo, halGetExtendedResetString, halPrintCrashSummary, halPrintCrashDetails e halPrintCrashData) neste retorno de chamada para imprimir esses dados no Serial 0 para viewno log de captura do Network Analyzer.
Para um exampPara saber como usar essas funções, consulte o código incluído em emberAfMainInit() de a-main-soc.c quando EXTENDED_RESET_INFO é definido. |
EU IRIA # | Descrição | Solução alternativa |
486369 |
Se um DynamicMultiProtocolLightSoc formando uma nova rede tiver nós filhos restantes de uma rede que ele deixou, emberAfGetChildTableSize retornará um valor diferente de zero em startIdentifyOnAllChildNodes, causando mensagens de erro Tx 66 ao abordar os filhos “fantasmas”. | Apague a parte em massa, se possível, antes de criar uma nova rede ou verifique programaticamente a tabela filho após sair da rede e exclua todos os filhos usando emberRemoveChild antes de formar uma nova rede. |
495563 |
Aderindo ao SPI NCP Sleepy End Device Sample App não faz uma pesquisa curta, portanto a tentativa de adesão falha no estado de Atualizar chave de link TC. | O dispositivo que deseja ingressar deve estar no modo Short Poll antes de tentar ingressar. Este modo pode ser forçado pelo plugin End Device Support. |
497832 |
No Network Analyzer, o detalhamento do comando de suporte ao aplicativo Zigbee para o quadro de solicitação de chave de verificação faz referência erroneamente à parte da carga útil que indica o endereço de origem do quadro como o endereço de destino. |
Nenhuma solução alternativa conhecida |
519905
521782 |
O Spi-NCP raramente pode falhar ao iniciar a comunicação do bootloader usando o comando CLI ‘bootload’ do plugin ota-client. |
Reinicie o processo de bootload |
620596 |
NCP SPI Examparquivo para BRD4181A (EFR32xGMG21)
O pino padrão nWake definido não pode ser usado como um pino de ativação. |
Altere o pino padrão do nWake de PD03 para um pino habilitado para ativação EM2/3 no plug-in NCP-SPI. |
631713 |
Um dispositivo final Zigbee reportará conflitos de endereço repetidamente se o plugin “Zigbee PRO Stack Library” for usado em vez de “Zigbee PRO Leaf Library”. | Use a “Biblioteca Zigbee PRO Leaf” em vez do plugin “Zigbee PRO Stack Library”. |
670702 |
As ineficiências no plug-in de relatórios podem levar a uma latência significativa com base na frequência de gravação de dados e no tamanho da tabela, o que pode interferir no código do aplicativo do cliente, incluindo o tempo do evento. | Se fizer gravações frequentes, considere verificar as condições dos relatórios e enviá-los manualmente em vez de usar o plug-in. |
708258 |
O valor não inicializado em groups-server.c via addEntryToGroupTable() pode criar uma ligação falsa e fazer com que mensagens de relatório de conversão de grupo sejam enviadas. | Adicione “binding.clusterId = EMBER_AF_INVALID_CLUSTER_ID;” depois de “binding.type
=EMBER_MULTICAST_BINDING;” |
757775 |
Todas as peças EFR32 possuem um deslocamento RSSI exclusivo. Além disso, o design da placa, as antenas e o gabinete podem impactar o RSSI. |
Ao criar um novo projeto, instale o RAIL Utility, componente RSSI. Este recurso inclui os RSSI Offset Silabs padrão medidos para cada peça. Este deslocamento pode ser modificado, se necessário, após o teste de RF de seu produto completo. |
758965 |
Os componentes do cluster ZCL e a tabela de descoberta de comandos ZCL não estão sincronizados. Portanto, ao ativar ou desativar um componente de cluster ZCL, os comandos implementados não serão ativados/desativados na guia de comando correspondente do ZCL Advanced Configurator. | Ative/desative manualmente a descoberta para os comandos ZCL desejados no ZCL Advanced Configurator. |
765735 | A atualização OTA falha no dispositivo Sleepy End com solicitação de página habilitada. | Use solicitação de bloqueio em vez de solicitação de página. |
845649 |
Removendo CLI: O componente principal não elimina chamadas cli EEPROM para sl_cli.h. |
Exclua o eeprom-cli.c file que chama o sl_cli.h. Além disso, as chamadas para sl_cli.h e sl_cli_command_arg_t no ota-storage-simple-eeprom podem ser comentadas. |
857200 |
servidor de zona ias. c permite que uma ligação seja criada com um endereço CIE “0000000000000000” e posteriormente não permite outras ligações. | Nenhuma solução alternativa conhecida |
1019961 | Marca Z3Gateway geradafile codifica “gcc” como CC | Nenhuma solução alternativa conhecida |
EU IRIA # | Descrição | Solução alternativa |
1039767 |
Problema de estouro de fila de novas tentativas de rede do roteador Zigbee no caso de uso de RTOS multithread. |
Zigbee Stack não é seguro para threads. Como resultado, chamar APIs de pilha Zigbee de outra tarefa não é compatível com o ambiente do sistema operacional e pode colocar a pilha em um estado “não funcional”. Consulte a seguinte nota do aplicativo para obter mais informações e uma solução alternativa usando o manipulador de eventos.
https://www.silabs.com/documents/public/application- notas/an1322-dynamic-multiprotocol-bluetooth-zigbee-sdk- 7x.pdf . |
1064370 | O Z3SwitchampO aplicativo habilitou apenas um botão (instância: btn1) por padrão, o que leva a uma incompatibilidade na descrição do botão no projeto file. | Solução alternativa: instale a instância btn0 manualmente durante a criação do projeto Z3Switch. |
1161063 | Z3Light e potencialmente outros aplicativos relatam valores de revisão de cluster incorretos. | Atualize manualmente o atributo de revisão do cluster para a revisão apropriada. |
1164768,
1171478, 1171479 |
ERRO: ezspErrorHandler 0x34 relatado repetidamente durante o modo de recepção mfglib | Para reduzir as mensagens de erro impressas, configure EMBER_AF_PLUGIN_GATEWAY_MAX_WAIT_FOR_EV
ENT_TIMEOUT_MS no aplicativo host para 100, para que a fila de retorno de chamada seja liberada mais rapidamente. |
1252460 | As rotinas de recuperação SimEEPROM (para v1 e v2) executadas na inicialização podem executar chamadas de apagamento de página flash desalinhadas, resultando em asserções durante o em_msc. Rotina MSC_ErasePage de c. | Solução alternativa: coloque a seguinte linha de código no topo da função MSC_ErasePage() em em_msc.c: start address = (uint32_t*)((uint32_t)startAddress &
~(FLASH_PAGE_SIZE-1)); |
Itens obsoletos
Obsoleto no lançamento
No GSDK 7.4.0.0 em diante, incluindo este patch, a opção “-v” em um Z3Gateway para um aplicativo host Linux criar uma interface telnet com a porta 4900 ou 4901 está obsoleta. A forma alternativa recomendada de criar uma interface telnet é usar utilitários Linux como “socat”.
Obsoleto no lançamento
Removidas as seguintes APIs de segurança obsoletas:
- brasaGetKey()
- brasaGetKeyTableEntry()
- emberSetKeyTableEntry()
- emberHaveLinkKey()
- emberAddOrUpdateKeyTableEntry()
- emberAddTransientLinkKey()
- emberGetTransientKeyTableEntry()
- brasaGetTransientLinkKey()
- emberHmacAesHash()
Use as APIs fornecidas pelo Zigbee Security Manager para acesso ao armazenamento de chaves e hashing HMAC.
Itens removidos
Removido no lançamento
- APIs públicas duplicadas removidas no cabeçalho público file gp-types.h.
- O componente zigbee_end_device_bind foi removido. Este componente foi usado para o coordenador intermediar solicitações de ligação para dispositivos finais. Esta funcionalidade opcional foi removida do R22 da especificação principal do Zigbee.
- Removido setPacketBufferCount() em af-host.c e caso de verificação inútil EZSP_CONFIG_PACKET_BUFFER_COUNT: em command-handlers.c.
- Argumento memoryAllocation removido porque não há necessidade de dividir em duas fases ao inicializar o NCP.
- Removido emberAfNcpInitCallback() em se14-comms-hub, se14-ihd e se14-meter-gas 's app.c.
- Removida a configuração do valor EZSP_CONFIG_RETRY_QUEUE_SIZE durante a inicialização do ncp em ncp-configuration.c
Gateway Multiprotocolo e RCP
Novos Itens
Adicionado na versão
- A escuta simultânea, a capacidade das pilhas Zigbee e OpenThread de operar em canais 802.15.4 independentes ao usar um RCP EFR32xG24 ou xG21, é liberada.
- A escuta simultânea não está disponível para a combinação 802.15.4 RCP/Bluetooth RCP, a combinação Zigbee NCP/OpenThread RCP ou para o sistema em chip (SoC) Zigbee/OpenThread. Ele será adicionado a esses produtos em uma versão futura.
- A extensão do fornecedor OpenThread CLI foi adicionada aos aplicativos host OpenThread de contêineres multiprotocolo. Isso inclui os comandos coex cli.
Melhorias
Alterado no lançamento
- A combinação multiprotocolo Zigbee NCP/OpenThread RCP agora é qualidade de produção.
Problemas corrigidos
Corrigido na versão
EU IRIA # | Descrição |
1213701 |
O zigbeed não permitiu que uma entrada de tabela de correspondência de origem fosse criada para um filho se a fila indireta MAC já tivesse dados pendentes para esse filho. Esse comportamento pode levar a falhas nas transações da camada de aplicativo entre o filho e algum outro dispositivo devido à falta de APS Ack ou resposta da camada de aplicativo, principalmente a interrupção e o encerramento inesperado das atualizações ZCL OTA direcionadas ao dispositivo filho. |
1244461 | A entrada da tabela de correspondência de origem para o filho pode ser removida apesar das mensagens pendentes. |
Corrigido na versão
EU IRIA # | Descrição |
1081828 | Problema de taxa de transferência com Zigbee/BLE DMP s baseados em FreeRTOSample aplicações. |
1090921 | Z3GatewayCpc teve problemas para formar uma rede em um ambiente barulhento. |
1153055 | Uma declaração no host foi causada quando houve uma falha de comunicação ao ler a versão NCP do zigbee_ncp-ble_ncp-uart sampo aplicativo. |
1155676 | O RCP 802.15.4 descartava todos os pacotes unicast recebidos (após confirmação MAC) se várias interfaces 15.4 compartilhassem o mesmo ID de nó de 16 bits. |
1173178 | O host relatou falsamente centenas de pacotes recebidos com mfglib na configuração do Host-RCP. |
1190859 | Erro EZSP ao enviar pacotes aleatórios mfglib na configuração Host-RCP. |
1199706 | As pesquisas de dados de filhos de dispositivos finais esquecidos não estavam configurando corretamente um quadro pendente no RCP para enfileirar um comando Sair e Ingressar para o filho anterior. |
1207967 | O comando “mfglib send random” estava enviando pacotes extras no Zigbeed. |
1208012 | O modo mfglib rx não atualizou as informações do pacote corretamente ao receber no RCP. |
1214359 | O nó coordenador travou quando 80 ou mais roteadores tentaram ingressar simultaneamente na configuração Host-RCP. |
1216470 |
Depois de retransmitir uma transmissão para a máscara de endereço 0xFFFF, um Zigbee RCP agindo como dispositivo pai deixaria o sinalizador de dados pendentes definido para cada filho. Isso fez com que cada criança ficasse acordada esperando dados após cada pesquisa e exigia alguma outra transação de dados pendente para cada dispositivo final para eventualmente limpar esse estado. |
Problemas conhecidos na versão atual
Problemas em negrito foram adicionados desde a versão anterior. Se você perdeu uma versão, as notas de versão recentes estão disponíveis em https://www.si-labs.com/developers/gecko-software-development-kit.
EU IRIA # | Descrição | Solução alternativa |
811732 | O suporte de token personalizado não está disponível ao usar o Zigbeed. | O suporte está planejado para uma versão futura. |
937562 | O comando Bluetoothctl 'advertise on' falha com o aplicativo rcp-uart-802154-blehci no Raspberry Pi OS 11. | Use o aplicativo btmgmt em vez de bluetoothctl. |
1022972 | Coex não funciona em ZB NCP + OT RCP. | O suporte está planejado para uma versão futura. |
1074205 | O CMP RCP não suporta duas redes no mesmo id de PAN. | Use IDs de PAN diferentes para cada rede. O suporte está planejado para uma versão futura. |
1122723 | Em um ambiente movimentado, a CLI pode parar de responder no aplicativo z3-light_ot-ftd_soc. | Nenhuma solução alternativa conhecida. |
1124140 | z3-light_ot-ftd_socsample aplicativo não é capaz de formar a rede Zigbee se a rede OT já estiver ativa. | Inicie primeiro a rede Zigbee e depois a rede OT. |
1170052 |
CMP Zigbee NCP + OT RCP e DMP Zigbee NCP + BLE NCP podem não caber em peças de 64 KB e menos RAM nesta versão atual. |
Partes de 64 KB não suportadas atualmente para esses aplicativos. |
1209958 |
O RCP ZB/OT/BLE no Bobcat e Bobcat Lite pode parar de funcionar após alguns minutos ao executar todos os três protocolos |
Será abordado em uma versão futura |
1221299 | As leituras Mfglib RSSI diferem entre RCP e NCP. | Será abordado em uma versão futura. |
1231021 | OTBR pode afirmar quando mais de 80 dispositivos zigbee estão se unindo simultaneamente. | Adicionada uma correção que pode solucionar o problema. Será totalmente abordado em uma versão futura. |
Itens obsoletos
- Nenhum
Itens removidos
Removido no lançamento
- A macro “NONCOMPLIANT_ACK_TIMING_WORKAROUND” foi removida. Todos os aplicativos RCP agora, por padrão, suportam tempo de resposta de 192 μs para confirmações não aprimoradas, enquanto ainda usam tempo de resposta de 256 μs para confirmações aprimoradas exigidas pelo CSL.
Usando esta versão
Esta versão contém o seguinte:
- Pilha Zigbee
- Estrutura de aplicativo Zigbee
- Zigbee Sample aplicativos
Para obter mais informações sobre o Zigbee e o EmberZNet SDK, consulte UG103.02: Fundamentos do Zigbee.
Se você for um usuário iniciante, consulte QSG180: Guia de início rápido Zigbee EmberZNet para SDK 7.0 e superior, para obter instruções sobre como configurar seu ambiente de desenvolvimento, construir e atualizar comoamparquivo e referências de documentação apontando para as próximas etapas.
Instalação e uso
O Zigbee EmberZNet SDK é fornecido como parte do Gecko SDK (GSDK), o conjunto de SDKs da Silicon Labs. Para começar a usar o GSDK rapidamente, instale o Simplicity Studio 5, que configurará seu ambiente de desenvolvimento e orientará você na instalação do GSDK. O Simplicity Studio 5 inclui tudo o que é necessário para o desenvolvimento de produtos IoT com dispositivos Silicon Labs, incluindo um iniciador de recursos e projetos, ferramentas de configuração de software, IDE completo com conjunto de ferramentas GNU e ferramentas de análise. As instruções de instalação são fornecidas no Guia do usuário online do Simplicity Studio 5.
Como alternativa, o Gecko SDK pode ser instalado manualmente baixando ou clonando o mais recente do GitHub. Ver https://github.com/Sili-conLabs/gecko_sdk para maiores informações.
O Simplicity Studio instala o GSDK por padrão em:
- (Windows): C:\Usuários\ \SimplicityStudio\SDKs\gecko_sdk
- (MacOS): /Usuários/ /SimplicityStudio/SDKs/gecko_sdk
A documentação específica para a versão do SDK é instalada com o SDK. Muitas vezes, informações adicionais podem ser encontradas nos artigos da base de conhecimento (KBAs). Referências de API e outras informações sobre esta e versões anteriores estão disponíveis em https://docs.silabs.com/.
Informações de segurança
Integração segura do cofre
Para aplicativos que optam por armazenar chaves com segurança usando o componente Secure Key Storage em partes Secure Vault-High, a tabela a seguir mostra as chaves protegidas e suas características de proteção de armazenamento que o componente Zigbee Security Manager gerencia.
Chave embrulhada | Exportável / Não Exportável | Notas |
Chave de rede | Exportável | |
Chave de link da Central de Confiabilidade | Exportável | |
Chave de link transitório | Exportável | Tabela de chaves indexadas, armazenada como chave volátil |
Chave do link do aplicativo | Exportável | Tabela de chaves indexadas |
Chave EZSP segura | Exportável | |
Chave de criptografia ZLL | Exportável | |
Chave pré-configurada ZLL | Exportável | |
Chave proxy GPD | Exportável | Tabela de chaves indexadas |
Chave do coletor GPD | Exportável | Tabela de chaves indexadas |
Chave interna/espaço reservado | Exportável | Chave interna para uso pelo Zigbee Security Manager |
- Chaves encapsuladas marcadas como "Não exportáveis" podem ser usadas, mas não vieweditados ou compartilhados em tempo de execução.
- Chaves encapsuladas marcadas como “Exportáveis” podem ser usadas ou compartilhadas em tempo de execução, mas permanecem criptografadas enquanto armazenadas em flash.
- Os aplicativos do usuário nunca precisam interagir com a maioria dessas chaves. APIs existentes para gerenciar chaves de tabela de chaves de link ou chaves transitórias ainda estão disponíveis para o aplicativo do usuário e agora são roteadas por meio do componente Zigbee Security Manager.
- Algumas dessas chaves podem se tornar não exportáveis para o aplicativo do usuário no futuro. Os aplicativos dos usuários são incentivados a não depender da exportação de chaves, a menos que seja absolutamente necessário.
- Para obter mais informações sobre a funcionalidade Secure Vault Key Management, consulte AN1271: Secure Key Storage.
Conselhos de segurança
Para se inscrever em Security Advisories, faça login no portal do cliente da Silicon Labs e selecione Account Home. Clique em INÍCIO para acessar a página inicial do portal e, em seguida, clique no bloco Gerenciar notificações. Certifique-se de que 'Software/Security Advisory Notices & Product Change Notices (PCNs)' está marcado e que você está inscrito no mínimo para sua plataforma e protocolo. Clique em Salvar para salvar as alterações.
Apoiar
Os clientes do Development Kit são elegíveis para treinamento e suporte técnico. Use o Zigbee dos Laboratórios de Silício web página para obter informações sobre todos os produtos e serviços Silicon Labs Zigbee e para se inscrever para suporte ao produto.
Você pode entrar em contato com o suporte da Silicon Laboratories em http://www.silabs.com/support.
Estúdio Simplicidade
Acesso com um clique a MCU e ferramentas sem fio, documentação, software, bibliotecas de código-fonte e muito mais. Disponível para Windows, Mac e Linux!
Isenção de responsabilidade
A Silicon Labs pretende fornecer aos clientes a documentação mais recente, precisa e aprofundada de todos os periféricos e módulos disponíveis para implementadores de sistemas e softwares que usam ou pretendem usar os produtos da Silicon Labs. Dados de caracterização, módulos e periféricos disponíveis, tamanhos de memória e endereços de memória referem-se a cada dispositivo específico, e os parâmetros “típicos” fornecidos podem variar e variam em diferentes aplicações. Exemplo de aplicaçãoampos aqui descritos são apenas para fins ilustrativos. A Silicon Labs reserva-se o direito de fazer alterações sem aviso prévio nas informações, especificações e descrições do produto aqui contidas, e não oferece garantias quanto à precisão ou integridade das informações incluídas. Sem notificação prévia, a Silicon Labs pode atualizar o firmware do produto durante o processo de fabricação por motivos de segurança ou confiabilidade. Tais alterações não alterarão as especificações ou o desempenho do produto. A Silicon Labs não se responsabiliza pelas consequências do uso das informações fornecidas neste documento. Este documento não implica ou concede expressamente qualquer licença para projetar ou fabricar quaisquer circuitos integrados. Os produtos não são projetados ou autorizados para uso em qualquer dispositivo FDA Classe III, aplicações para as quais seja necessária a aprovação pré-comercialização da FDA ou Sistemas de Suporte à Vida sem o consentimento específico por escrito da Silicon Labs. Um "Sistema de Suporte à Vida" é qualquer produto ou sistema destinado a apoiar ou sustentar a vida e/ou a saúde, que, se falhar, pode resultar em ferimentos pessoais significativos ou morte. Os produtos da Silicon Labs não são projetados ou autorizados para aplicações militares. Os produtos da Silicon Labs não devem, sob nenhuma circunstância, ser usados em armas de destruição em massa, incluindo (mas não limitado a) armas nucleares, biológicas ou químicas, ou mísseis capazes de lançar tais armas. A Silicon Labs se isenta de todas as garantias expressas e implícitas e não será responsável por quaisquer lesões ou danos relacionados ao uso de um produto da Silicon Labs em tais aplicações não autorizadas.
Observação: Este conteúdo pode conter terminologia ofensiva que agora está obsoleta. A Silicon Labs está substituindo esses termos por uma linguagem inclusiva sempre que possível. Para mais informações visite www.silabs.com/about-us/inclusive Budapicon-project.
Informações sobre marcas registradas
Silicon Laboratories Inc.®, Silicon Laboratories®, Silicon Labs®, SiLabs® e o logotipo da Silicon Labs®, Bluegiga®, Logotipo Bluegiga®, EFM®, EFM32®, EFR, Ember®, Energy Micro, logotipo da Energy Micro e combinações destes, “os microcontroladores mais econômicos do mundo”, Redpine Signals®, WiSeConnect, n-Link, ThreadArch®, EZLink®, EZRadio®, EZRadioPRO®, Gecko®, Gecko OS, Gecko OS Studio, Precision32®, Simplicity Studio®, Telegesis, o logotipo da Telegesis®, USBXpress®, Zentri, o logotipo da Zentri e Zentri DMS, Z-Wave® e outros são marcas comerciais ou marcas registradas da Silicon Labs. ARM, CORTEX, Cortex-M3 e THUMB são marcas comerciais ou marcas registradas da ARM Holdings. Keil é uma marca registrada da ARM Limited. Wi-Fi é uma marca registrada da Wi-Fi Alliance. Todos os outros produtos ou nomes de marcas mencionados aqui são marcas comerciais de seus respectivos detentores.
CONTATO
- Laboratórios de Silício Inc.
- 400 Oeste Cesar Chavez
- Austin, Texas 78701
- EUA
- www.silabs.com
Documentos / Recursos
![]() |
Software de pilha de protocolo Zigbee GA do SILICON LABS SDK 7.4.1.0 [pdf] Guia do Usuário SDK 7.4.1.0 GA Software de pilha de protocolo Zigbee, SDK 7.4.1.0 GA, Software de pilha de protocolo Zigbee, Software de pilha de protocolo, Software de pilha |