Momba ny Zigbee EZSP UART

Mpanoratra: TorchIoTBootCamp
Rohy: https://zhuanlan.zhihu.com/p/339700391
Avy amin'ny:Quora

1. Fampidirana

Nanolotra vahaolana host+NCP ho an'ny famolavolana vavahady Zigbee ny Silicon Labs. Amin'ity maritrano ity, afaka mifandray amin'ny NCP amin'ny alàlan'ny interface UART na SPI ny host. Matetika indrindra, UART no ampiasaina satria tsotra kokoa noho ny SPI.

Nanome tetikasa santionany ho an'ny fandaharan'asa mpampiantrano ihany koa ny Silicon Labs, izay santionanyZ3GatewayHostMiasa amin'ny rafitra mitovy amin'ny Unix ny santionany. Mety te hanana santionany mpampiantrano izay afaka miasa amin'ny RTOS ny mpanjifa sasany, saingy indrisy fa tsy misy santionany mpampiantrano mifototra amin'ny RTOS amin'izao fotoana izao. Mila mamorona ny fandaharan'asany mpampiantrano manokana mifototra amin'ny RTOS ny mpampiasa.

Zava-dehibe ny mahatakatra ny protocole UART gateway alohan'ny hamolavolana programa mpampiantrano namboarina manokana. Ho an'ny NCP mifototra amin'ny UART sy ny NCP mifototra amin'ny SPI, ny mpampiantrano dia mampiasa ny protocole EZSP mba hifandraisana amin'ny NCP.EZSPdia fanafohezana nyProtokol-tantara EmberZnet, ary faritana ao amin'nyUG100Ho an'ny NCP mifototra amin'ny UART, dia ampiharina ny protocole sosona ambany mba hitondrana ny angon-drakitra EZSP azo antoka amin'ny alàlan'ny UART, izany noLAVYprotokol, fanafohezana nyMpampiantrano andiany tsy mifanindryRaha mila fanazavana fanampiny momba ny ASH, jereo azafady nyUG101SYUG115.

Azo aseho amin'ny alalan'ity kisarisary manaraka ity ny fifandraisana misy eo amin'ny EZSP sy ny ASH:

1

Azo aseho amin'ny alalan'ity kisarisary manaraka ity ny endriky ny angon-drakitra ao amin'ny EZSP sy ny protokol ASH:

2

Ato amin'ity pejy ity dia hampidirinay ny dingana fametrahana ny angon-drakitra UART sy ny sasany amin'ireo key frame izay matetika ampiasaina ao amin'ny Zigbee gateway.

2. Fandrafetana rindrina

Azo aseho amin'ny alalan'ity tabilao manaraka ity ny dingana ankapobeny amin'ny fananganana rafitra:

3

Ato amin'ity tabilao ity, ny angon-drakitra dia midika hoe ny frame EZSP. Amin'ny ankapobeny, ny dingana fanaovana frame dia: |Tsy misy|Dingana|Reference|

|:-|:-|:-|

|1|Fenoy ny EZSP Frame|UG100|

|2|Fisafidianana angon-drakitra kisendrasendra|Fizarana 4.3 amin'ny UG101|

|3|Ampio ny Control Byte|Toko faha-2 sy faha-3 amin'ny UG101|

|4|Kajio ny CRC|Fizarana 2.3 amin'ny UG101|

|5|Famenoana Byte|Fizarana 4.2 amin'ny UG101|

|6|Ampio ny Sainam-piafarana|Fizarana 2.4 amin'ny UG101|

2.1. Fenoy ny EZSP Frame

Aseho ao amin'ny Toko faha-3 amin'ny UG100 ny endriky ny frame EZSP.

4

Mariho fa mety hiova ity endrika ity rehefa havaozina ny SDK. Rehefa miova ny endrika dia homenay laharana dikan-teny vaovao izy. Ny laharana dikan-teny EZSP farany indrindra dia 8 tamin'ny fotoana nanoratana ity lahatsoratra ity (EmberZnet 6.8).

Satria mety tsy hitovy ny endriky ny EZSP frame eo amin'ny dikan-teny samihafa, dia misy fepetra takiana tsy maintsy arahina fa ny mpampiantrano sy ny NCPTSY mAINTSYmiasa amin'ilay dikan-teny EZSP mitovy. Raha tsy izany dia tsy afaka mifandray araka ny tokony ho izy izy ireo.

Mba hahatratrarana izany, ny baiko voalohany eo amin'ny mpampiantrano sy ny NCP dia tsy maintsy ny baiko version. Raha lazaina amin'ny teny hafa, ny mpampiantrano dia tsy maintsy maka ny version EZSP an'ny NCP alohan'ny fifandraisana hafa. Raha tsy mitovy amin'ny version EZSP an'ny mpampiantrano ny version EZSP, dia tsy maintsy ajanona ny fifandraisana.

Ny fepetra takiana an-kolaka ao ambadik'izany dia ny hoe afaka mampiasa ny endriky ny baiko version nyTSY MIOVA MIHITSYNy endriky ny baiko EZSP version dia toy izao manaraka izao:

5

Ny fanazavana ny saha parameter sy ny endriky ny valin'ny version dia hita ao amin'ny Toko faha-4 amin'ny UG100. Ny saha parameter dia ny version EZSP an'ny programa mpampiantrano. Rehefa nosoratana ity lahatsoratra ity dia 8.
7
作者:TorchIoTBootCamp
链接:https://zhuanlan.zhihu.com/p/339700391
来源:知乎
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

2.2. Fampifangaroana angon-drakitra amin'ny kisendrasendra

Ny dingana amin'ny antsipiriany momba ny fanaovana kisendrasendra dia voalaza ao amin'ny fizarana 4.3 amin'ny UG101. Ny frame EZSP manontolo dia ho kisendrasendra. Ny kisendrasendra dia natao mba hanavahana ny frame EZSP sy ny filaharana pseudo-random.

Ity ambany ity ny algorithm amin'ny famoronana ny filaharan'ny pseudo-random.

  • rand0 = 0×42
  • Raha 0 ny bit 0 an'ny randi, randi+1 = randi >> 1
  • Raha 1 ny bit 0 an'ny randi, dia randi+1 = (randi >> 1) ^ 0xB8

2.3. Ampio ny Control Byte

Angon-drakitra iray byte ny byte fanaraha-maso, ary tokony ampiana amin'ny lohan'ny frame. Aseho amin'ny tabilao etsy ambany ny endrika:

6

Amin'ny ankapobeny, misy karazana byte fanaraha-maso 6. Ny telo voalohany dia ampiasaina amin'ny frame mahazatra misy angon-drakitra EZSP, anisan'izany ny DATA, ACK ary NAK. Ny telo farany kosa dia ampiasaina tsy misy angon-drakitra EZSP mahazatra, anisan'izany ny RST, RSTACK ary ERROR.

Voalaza ao amin'ny fizarana 3.1 hatramin'ny 3.3 ny endriky ny RST, RSTACK ary ERROR.

2.4. Kajy ny CRC

Kajy amin'ny bytes manomboka amin'ny byte fanaraha-maso ka hatramin'ny faran'ny angona ny CRC 16-bit. Ny CRCCCITT mahazatra (g(x) = x16 + x12 + x5 + 1) dia atomboka amin'ny 0xFFFF. Ny byte manan-danja indrindra dia mialoha ny byte tsy manan-danja indrindra (mode big-endian).

2.5. Famenoana Byte

Araka ny voalaza ao amin'ny fizarana 4.2 amin'ny UG101, misy sanda byte voatokana ampiasaina amin'ny tanjona manokana. Ireo sanda ireo dia hita ao amin'ny tabilao manaraka:

7

Rehefa miseho ao amin'ny frame ireo sanda ireo dia hisy fikarakarana manokana ny angona. – Ampidiro eo anoloan'ny byte voatokana ny escape byte 0x7D – Avadiho ny bit5 an'io byte voatokana io

Ireto ambany ireto misy ohatra vitsivitsy amin'ity algorithm ity:

8

2.6. Ampio ny sainam-pifarana

Ny dingana farany dia ny manampy ny sainam-pamaranana 0x7E amin'ny faran'ny frame. Aorian'izay, dia azo alefa any amin'ny seranana UART ny angona.

3. Dingana fanesorana ny endrika

Rehefa voaray avy amin'ny UART ny angona dia mila manao ny dingana mifamadika amin'izany fotsiny isika mba hamakiana azy.

4. Referansa


Fotoana fandefasana: 08 Febroary 2022
WhatsApp Chat an-tserasera!