Below You'll Find Answers to the Questions We Get Asked the Most About Wireless IoT Technologies.
Le FAQ di TI ZigBee May 10, 2022

Scritto dal consulente senior di RF-star XCODER (un saggista di We-Media)



1. A causa delle differenze tra le versioni dello stack di protocollo TI ZigBee, come scegliere lo stack di protocollo corretto per lo sviluppo del prodotto?


Stack di protocollo TI ZigBee Z-Stack è sviluppato da Z-Stack 0.1 a Z-Stack 2.5.1a, e successivamente Z-Stack Home 1.2.1, Z-Stack Lighting 1.0.2, Z-Stack Energy 1.0. 1, maglia Z-stack 1.0.0. Nel processo di aggiornamento dello stack di protocollo, TI ha svolto principalmente due aspetti dello stack di protocollo.


1) Aggiungere alcune nuove funzionalità in base alla specifica ZigBee della ZigBee Alliance.


Ad esempio, ZigBee 2007 è un percorso a forma di albero. In ZigBee Pro sta uscendo il routing Mesh e vengono proposti algoritmi di routing come MTO e Source Routing. TI aggiunge nuove funzionalità corrispondenti allo stack di protocollo per correggere alcuni bug correlati nelle specifiche, come quelli con descrizioni ambigue.


2) Per correggere il bug nello stack del protocollo TI ZigBee stesso.


La differenza dello stack di protocollo tra una versione e la versione precedente può essere trovata nella nota di rilascio.

Dopo la versione di Z-Stack 2.5.1a, lo stack di protocollo TI non ha continuato a essere rilasciato direttamente sotto forma di Z-Stack 2.6.x, ma è stato rilasciato sotto forma di Application Profile.


Il motivo è che TI vuole che gli sviluppatori scelgano uno stack di protocollo più mirato per lo sviluppo in base all'applicazione effettiva. Lo stack di protocollo come Z-stack Home 1.2.1 include principalmente le due parti seguenti.


1) Il Core Stack, l'inizio di questa parte è la versione continuativa di Z-Stack 2.5.1a e successive, può essere trovato in Z-Stack Core Release Notes.txt, Versione 2.6.2.


2) Lo stack del protocollo dell'applicazione è correlato al profilo, che è principalmente correlato all'applicazione effettiva. Lo stack del protocollo Home Automation è tutto correlato all'implementazione del profilo ZigBee Home Automation. Allo stesso modo, Z-Stack Lighting 1.0.2 e Z-Stack Energy 1.0.1 sono anche un Core Stack con un profilo dell'applicazione.

a.Z-Stack Home 1.2.2a è sviluppato per i prodotti relativi alla casa intelligente.

b.Z-Stack Lighting 1.0.2 è sviluppato per i prodotti correlati a ZLL.

c.Z-Stack Energy 1.0.1 è sviluppato per smart energy, Meter, In Home Display e altri prodotti correlati.

d.Z-Stack Mesh 1.0.0 è sviluppato per prodotti relativi ad applicazioni private, che utilizzano solo funzionalità relative al protocollo ZigBee standard, come il routing Mesh, ecc. Il livello dell'applicazione è definito dallo sviluppatore.


Dopo che la ZigBee Alliance ha rilasciato il ZigBee 3.0 protocollo, l'ultimo stack di protocollo ZigBee è Z-Stack 3.0 , che attualmente supporta CC2530, CC2538, CC2652R, CC265P.



2.Come eseguire i test e la certificazione ZigBee dei prodotti, cosa deve essere compreso e quale processo deve essere seguito?


C'è un esempio sullo sviluppo di prodotti standard relativi all'automazione domestica ZigBee. Per cominciare, quando gli sviluppatori sviluppano prodotti, devono sviluppare prodotti in base ai prodotti descritti nel Specifiche del profilo di automazione domestica ZigBee che può essere scaricato dal sito www.zigbee.org. Dopo aver completato lo sviluppo del prodotto, gli sviluppatori devono comprendere il Specifiche del test del profilo di automazione domestica ZigBee che può essere scaricato anche da www.zigbee.org. Il documento descrive gli elementi di prova rilevanti che un prodotto specifico deve essere testato nella Test House. Esiste anche un documento PICS oltre ai due documenti precedenti. Il terzo documento descrive le funzioni supportate dai prodotti che devono essere certificati e testati. Gli sviluppatori confrontano e confermano le funzionalità in PICS in base alle funzioni effettive dei prodotti sviluppati e alle funzioni richieste nella specifica. Quello che segue è il processo di prova.


1)Unisciti alla ZigBee Alliance, ci sarà un laboratorio di prova che può aiutare a completare il test.

2) Inviare i campioni al laboratorio di prova e completare il file PICS.

3) Dopo il primo ciclo di pre-test, il laboratorio di prova invia un feedback ai risultati del test e lo sviluppatore modifica il codice di esempio. (Se necessario)

4)Verificare il campione modificato nel laboratorio di prova, quindi avviare il test formale.

5) Lo sviluppatore completa la preparazione e l'invio dei materiali per la domanda di certificazione online di ZigBee Alliance con l'aiuto del laboratorio di prova.

6) Il laboratorio di prova presenta un rapporto di prova formale alla ZigBee Alliance. L'alleanza esaminerà e rilascerà un certificato.


Al momento, ci sono sette laboratori di prova che possono eseguire i test ZigBee standard.


  • Istituto cinese di standardizzazione dell'elettronica (CESI)
  • Tecnologia dei materiali degli elementi
  • Sistemi tecnici nazionali, Inc. (NTS)
  • UL
  • Bureau Veritas
  • Dekra
  • Gruppo TÜV Rheinland


https://zigbeealliance.org/certification/testing-provider/




3.Come selezionare l'indirizzo MAC a 64 bit del dispositivo?


Ci sono due indirizzi IEEE in CC2530 / CC2538 / CC2630, uno è chiamato indirizzo IEEE primario e l'altro è chiamato indirizzo secondario. L'indirizzo IEEE primario è memorizzato nella pagina delle informazioni del chip. Questo indirizzo primario viene acquistato da TI dall'Associazione IEEE e ciascuno di essi è unico. L'utente può solo leggere questo valore e non può cancellarlo/modificarlo. Leggendo l'indirizzo nello stack di protocollo è possibile ottenere Osal_memcpy (aExtendedAddress,(uint8*)(P_INFOPAGE+HAL_INFOP_IEEE_OSET),Z_EXTADDR_LEN). L'indirizzo secondario è memorizzato nell'ultima pagina di Flash e l'utente può eseguire Read/Write tramite la funzione HalFlashRead(HAL_FLASH_IEEE_PAGE, HAL_FLASH_IEEE_OSET, aExtendedAddress, Z_EXTADDR_LEN).


Come funziona lo stack di protocollo per selezionare l'indirizzo IEEE primario o l'indirizzo secondario come indirizzo MAC del dispositivo? L'operazione specifica è in zmain_ext_addr(void).


1) Leggere l'indirizzo IEEE da NV. Se l'indirizzo MAC è già esistente (nessuno dei quali è 0xFF), può essere l'indirizzo MAC.

2) Se l'indirizzo MAC non esiste in 1), può essere letto dalla posizione di archiviazione dell'indirizzo IEEE secondario. Se esiste nella posizione di archiviazione dell'indirizzo IEEE secondario (nessuno dei quali è 0xFF), l'indirizzo può essere scritto in NV come indirizzo MAC in un secondo momento.

3) Se l'indirizzo MAC non è in 2), può essere letto dalla posizione di archiviazione dell'indirizzo IEEE primario. Se esiste nella posizione di archiviazione dell'indirizzo IEEE primario (nessuno dei quali è 0xFF), l'indirizzo può essere scritto in NV come indirizzo MAC in un secondo momento.

4)Se l'indirizzo MAC non è in 3), viene generato in modo casuale un indirizzo variabile a 64 bit, scritto nell'NV come indirizzo MAC.



4.End Device è un dispositivo a bassa potenza con alimentazione a batteria. Dopo che il nodo è stato disconnesso dalla rete, come impedire ai nodi di cercare continuamente nella rete o come aumentare l'intervallo tra l'invio di richieste Beacon?


1) Inizia la ricerca nella rete: uint8 ZDApp_StartJoiningCycle(void)

Interrompi la ricerca nella rete: uint8 ZDApp_StopJoiningCycle(void)

2) Modificare il ciclo di invio di Beacon Request.


Modifica la variabile: zgDefaultStartingScanDuration

// Valori dell'ordine beacon

#define BEACON_ORDER_NO_BEACONS 15

#define BEACON_ORDER_4_MINUTES 14 // 245760 millisecondi

#define BEACON_ORDER_2_MINUTES 13 // 122880 millisecondi

#define BEACON_ORDER_1_MINUTE 12 // 61440 millisecondi

#define BEACON_ORDER_31_SECONDS 11 // 30720 millisecondi

#define BEACON_ORDER_15_SECONDS 10 // 15360 Msec

#define BEACON_ORDER_7_5_SECONDS 9 // 7680 Msec

#define BEACON_ORDER_4_SECONDS 8 // 3840 Msec

#define BEACON_ORDER_2_SECONDS 7 // 1920 Msec

#define BEACON_ORDER_1_SECOND 6 // 960 MSec

#define BEACON_ORDER_480_MSEC 5

#define BEACON_ORDER_240_MSEC 4

#define BEACON_ORDER_120_MSEC 3

#define BEACON_ORDER_60_MSEC 2

#define BEACON_ORDER_30_MSEC 1

#define BEACON_ORDER_15_MSEC 0



5.Come fare in modo che il dispositivo finale entri nello stato di basso consumo e come impostare il tempo di sospensione?


Dopo aver abilitato POWER_SAVING nella definizione della macro dello stack di protocollo e quindi operare -DRFD_RCVC_ALWAYS_ON=FALSE nel file f8wConfig.cfg, il dispositivo finale può entrare nello stato di sospensione.


Il tempo di sospensione è determinato dalla pianificazione del sistema operativo OSAL. Ogni tempo di sospensione si basa sull'ultimo Timeout evento come tempo di sospensione. I dettagli sono spiegati nella funzione hal_sleep dello stack di protocollo.


Questo timeout è suddiviso principalmente in due categorie, una è il timeout degli eventi del livello dell'applicazione e l'altra è il timeout degli eventi del livello MAC.


1) Il tempo di timeout del livello dell'applicazione è ottenuto da osal_next_timeout(); nella funzione di osal_pwrmgr_powerconserve( void).

2) Il tempo di timeout del livello MAC è ottenuto da MAC_PwrNextTimeout(); nella funzione di halSleep(uint16 osal_timeout).


6. Cosa c'è di nuovo nello stack di protocollo ZigBee 3.0?


Fare riferimento al collegamento sottostante, che introduce le aggiunte dello stack di protocollo ZigBee 3.0 rispetto al precedente ZigBee Home Automation/ZigBee Light Link.

https://www.ti.com/lit/an/swra615a/swra615a.pdf?ts=1627190581608


7. Spiegazione dettagliata della commutazione di stato dell'apparecchiatura terminale nello stack di protocollo TI ZigBee.

https://e2echina.ti.com/support/wireless-connectivity/zigbee-and-thread/f/zigbee-thread-forum/104629/ti-zigbee


8. Le differenze tra OAD e OTA nello stack del protocollo TI.

OAD è Over the Air Download e OTA è Over the Air. Le funzioni di queste due implementazioni sono le stesse ed entrambe possono essere chiamate aggiornamenti remoti del programma. Nel primo standard del protocollo ZigBee, non esisteva uno standard per l'aggiornamento via etere del programma del nodo, ma molti clienti hanno dei requisiti per questo. Pertanto, TI ha sviluppato una serie di stack di protocollo per l'aggiornamento via etere del programma e lo ha chiamato OAD. ZigBee Alliance si è resa conto che la domanda era in aumento, quindi ha anche specificato uno standard per gli aggiornamenti via etere e ha chiamato OTA, che si riferiva anche all'implementazione di TI OAD e apportava le modifiche pertinenti. Pertanto, nel primo stack di protocollo TI, l'aggiornamento via etere è chiamato OAD, e successivamente in ZigBee Alliance, è chiamato OTA.


9. Se l'oscillatore a cristallo 32K non è saldato in un dispositivo non a bassa potenza, come modificare lo stack di protocollo Z-Stack?

Nello stack del protocollo Z-Stack, durante il processo di inizializzazione verrà verificato se l'oscillatore a cristallo utilizzato è stabile. Se l'oscillatore a cristallo 32K non è saldato, è necessario modificare il codice seguente. Lo stack del protocollo TI Z-Stack utilizza l'oscillatore a cristallo 32K per impostazione predefinita.


Nel file di hal_board_cfg.h, #define OSC32K_CRYSTAL_INSTALLED FALSE



10. Se è necessario sviluppare un'applicazione privata basata sulla rete ZigBee Mesh, quale stack di protocollo dovrebbe essere selezionato?


Molti utenti, in alcune applicazioni industriali, desiderano utilizzare solo le funzioni della rete mesh ZigBee nei propri sistemi o prodotti e non hanno bisogno di seguire le specifiche del livello di applicazione definite da ZigBee. Per tali requisiti applicativi, come scegliere lo stack di protocollo TI appropriato per lo sviluppo del prodotto? http://www.deyisupport.com/question_answer/wireless_connectivity/zigbee/f/104/t/132197.aspx



11.Quando si utilizza ZigBee CC2630/CC2650 per lo sviluppo, è possibile eseguire il debug con un punto di interruzione nel codice dello stack Core?

Sì. È necessario scaricare il file corrispondente al codice del punto di interruzione e aprirlo in anticipo, quindi eseguire il debug.



12.In che modo il coordinatore Zigbee seleziona il canale appropriato per creare la rete?

La creazione di una rete Zigbee deve essere completata da un coordinatore. Una rete Zigbee ha un solo coordinatore. Il coordinatore Zigbee completa principalmente la selezione del canale di rete e la generazione di PANID durante la creazione della rete. Ci sono due passaggi per selezionare il canale.


1) La scansione passiva è anche chiamata Energy Scan. Scansione passiva significa che il coordinatore accende il suo ricevitore e quindi esegue la scansione in sequenza sull'elenco dei canali precedentemente impostato. Dopo la scansione, si otterrà il valore energetico di ciascun canale. Questa energia proviene principalmente da altre reti Zigbee o da altri segnali di reti wireless a 2,4 GHz. Il coordinatore considererà il canale il cui valore di energia è superiore al valore di soglia preimpostato come avente una maggiore interferenza e rimuoverà il canale.

2) Scansione attiva. Nei canali rimasti dopo il primo ciclo di scansione, le richieste Beacon vengono inviate in sequenza. Se viene ricevuto il corrispondente pacchetto di dati Beacon, si considera che ci siano altri dispositivi Zigbee nel canale. Infine, il coordinatore sceglierà un PANID che non ha altre reti Zigbee, o il canale con meno rete Zigbee per stabilire la propria rete e impostare un PANID che non sia in conflitto.


13.Come eliminare l'interfaccia utente e utilizzare lo stack di protocollo TI Zigbee 3.0 per accedere rapidamente alla modalità di sviluppo del prodotto?

https://e2echina.ti.com/question_answer/wireless_connectivity/zigbee/f/104/t/146528



14.Come ottimizzare Flash e RAM di CC2530?

http://www.ti.com/lit/wp/swra635/swra635.pdf


CC2650, CC2538, CC2652R, CC2630, pila Z, CC2530

Lasciate un messaggio

Lasciate un messaggio
Se sei interessato ai nostri prodotti e vuoi conoscere maggiori dettagli, lascia un messaggio qui, ti risponderemo il prima possibile.

Casa

Prodotto

skype

whatsapp