Momba ny zigbee ezsp uart

Mpanoratra: torchiotbootcamp
Rohy: https: //zhuanlan.zhihu.com/p/339700391
Avy amin'ny: quora

1. Fampidirana

Labs silicon dia nanolotra vahaolana + NCP NCP ho an'ny famolavolana vavahady Zigbee. Ao anatin'ity maritrano ity, ny mpampiantrano dia afaka mifampiresaka amin'ny NCP amin'ny alàlan'ny UART na SPI interface. Matetika indrindra, ny UART dia ampiasaina satria mora kokoa noho ny SPI.

Labs silicon dia nanome tetikasa santionany ho an'ny programa mpampiantrano, izay santionanyZ3gatewayhost. Ny santionany dia mihazakazaka amin'ny rafitra toa unix. Ny mpanjifa sasany dia mety mila santionany mpampiantrano izay afaka mihazakazaka amin'ny rtos, saingy indrisy, tsy misy santionany amin'ny mpampiantrano azy ireo. Ireo mpampiasa dia mila mamolavola ny fandaharan'asan'izy ireo manokana mifototra amin'ny rtos.

Zava-dehibe ny mahatakatra ny protocol UART alohan'ny namolavola programa mpampiantrano manokana. Ho an'ny UART miorina amin'ny NCP sy SPI miorina amin'ny NCP, ny mpampiantrano dia mampiasa ny EZSSP Protocol hifandraisana amin'ny NCP.Ezspfohy ho an'nyEmberznet serial protocol, ary voafaritra aoUg100. Ho an'ny NCP miorina UART, ny protocol ambany ambany dia ampiharina amin'ny fanatanterahana ny angon-drakitra EZS azo itokisana amin'ny UAT, izay noLavenonaprotocol, fohy ho an'nyAsynchronous Serial Host. Raha mila fanazavana fanampiny momba ny lavenona, azafady mba jereoUg101SYUg115.

Ny fifandraisana eo amin'ny ezsp sy ny lavenona dia azo aseho amin'ny sary manaraka ireto:

1

Ny endrika data ny EZSP sy ny Protocol Ash dia afaka aseho amin'ny sary manaraka:

2

Ao amin'ity pejy ity, hampiditra ny fizotran'ny angon-drakitra UART sy ny rindrina lehibe iray izay ampiasaina matetika ao amin'ny vavahady Zigbee.

2. Frameing

Ny dingana ankapobeny amin'ny ankapobeny dia azo aseho amin'ny tabilao manaraka:

3

Ao amin'ity tabilao ity, ny angon-drakitra dia midika hoe Ezsp. Amin'ny ankapobeny, ny fizotran'ireo fakana dia: | Tsia | Dingana | Fanondroana |

|: - - - - - - - |

| 1 | Fenoy ny EZS EZS | UG100 |

| 2 | Data Randation | Fizarana 4.3 Of UG101 |

| 3 | Ampio ny fanaraha-maso Byte | TOKO | TOKO | TOKO |

| 4 | Kajy ny CRC | Fizarana 2.3 Of UG101 |

| 5 | byte Stuffing | Fizarana 4.2 Of UG101 |

| 6 | Ampio ny sainam-pirenena | Fizarana 2.4 ONG101 |

2.1. Fenoy ny firafitra iraso

Ny format EZSP dia aseho ao amin'ny TAP 3 amin'ny OG100.

4

Tandremo fa ity format ity dia mety hiova rehefa manavao ny SDK. Rehefa miova ny format dia homenay nomerao vaovao vaovao izany. Ny isa dikan-teny EzSP farany farany dia 8 rehefa voasoratra ity lahatsoratra ity (emberznet 6.8).

Rehefa ny endrika EZSP dia mety tsy mitovy amin'ny dikan-teny samihafa, misy ny fepetra takiana amin'ny mpampiantrano sy NCPTSY mAINTSYMiaraha miasa miaraka amin'ny dikan-teny EzS. Fa raha tsy izany dia tsy afaka mifampiresaka araka ny tokony ho izy ireo.

Mba hahatratrarana an'izany dia ny baiko voalohany eo amin'ny mpampiantrano sy ny NCP dia tokony ho baikoy dikan-teny. Amin'ny teny hafa, ny mpampiantrano dia tokony hamerina ny dikan-ny EZSP an'ny NCP alohan'ny hifampiresahana hafa. Raha tsy mitovy ny dikan-teny Ezsp dia misy dikan-teny EzS amin'ny lafiny mpampiantrano, tsy maintsy esorina ny fifandraisana.

Ny fepetra takiana ao ambadik'izany dia ny hoe ny format ny baiko fanontana dia afakaAza miova mihitsy. Ny format Command of EZSP dia toa ambany:

5

Ny fanazavana momba ny sehatry ny tarehimarika sy ny endrika ny valin'ny famoahana dia azo jerena ao amin'ny TAP 4 amin'ny OG100. Ny sehatry ny parameter dia ny dikan-teny EzS. Rehefa voasoratra ity lahatsoratra ity dia ny 8.
7
作者: torchiotbootcamp
链接: https: //zhuanlan.zhihu.com/p/339700391
来源: 知乎
著作权归作者所有. 商业转载请联系作者获得授权, 非商业转载请注明出处.

2.2. Data Randation

Ny fizotry ny tsipiriany amin'ny antsipirihany dia voalaza ao amin'ny fizarana 4.3 amin'ny UG101. Ny firafitra Ezs rehetra dia hasiana. Ny randomization dia ny fanilihana manokana-na ny EZSSS emp sy ny filaharan'ny pseudo.

Ity ambany ity ny algorithm amin'ny famokarana ny filaharan'ny pseudo-kisendrasendra.

  • Rand0 = 0 × 42
  • Raha 0 amin'ny Randi dia 0, Randi + 1 = Randi >> 1
  • Raha 0 amin'ny Randi dia 1, Randi + 1 = (Randi >> 1) ^ 0xb8

2.3. Ampio ny fanaraha-maso Byte

Ny fanaraha-maso Byte dia angon-drakitra Byte iray, ary tokony hampiana amin'ny lohan'ny frame. Ny endrika dia aseho amin'ny latabatra etsy ambany:

6

TOTALLY, misy karazana fanaraha-maso 6 karazana. Ny telo voalohany dia ampiasaina ho an'ny rindrina iraisan'ny EZSP data, ao anatin'izany ny angon-drakitra, Ack ary Nak. Ny telo farany dia ampiasaina tsy misy angon-drakitra iraisampirenena, anisan'izany ny rst, rstack sy ny lesoka.

Ny endrika ny rst, rstack sy ny lesoka dia voalaza ao amin'ny fizarana 3.1 ka hatramin'ny 3.3.

2.4. Kajy ny crc

Ny CRC 16-bit dia kajy amin'ny baoty avy amin'ny fanaraha-maso Byte mandra-pahatongan'ny angon-drakitra. Ny CRCCCITT standard (G (x) = x16 + x12 + x5 + 1) dia voalohan'ny 0xffff. Ny Byte manan-danja indrindra dia nialoha ny Byte kely indrindra (fomba fiatoana lehibe).

2.5. Byte Stuffing

Araka ny voalaza ao amin'ny fizarana 4.2 amin'ny UG101, misy ny sanda natokana ho an'ny tanjona manokana ampiasaina amin'ny tanjona manokana. Ireo soatoavina ireo dia hita ao amin'ny latabatra manaraka:

7

Rehefa mipoitra ao anaty rindrina ireo soatoavina ireo, dia hotsaboina manokana amin'ny angon-drakitra. - ampidiro ny fandosirana ny 0x7D eo anoloan'ilay bisetra voatokana - avereno ny bit5 amin'ny boste

Ity ambany ity ny ohatra vitsivitsy amin'ity algorithm ity:

8

2.6. Ampio ny sainam-pirenena farany

Ny dingana farany dia ny manampy ny sainam-pirenena farany 0x7e hatramin'ny faran'ny frame. Aorian'io dia azo alefa any amin'ny seranan-tsambo UArt ny angon-drakitra.

3. Dingana de-framing

Rehefa voaray avy amin'ny UART ny angon-drakitra dia mila manao ny dingana mifamadika fotsiny isika mba hamehezana azy.

4. Fanondroana


Paositra: Feb-08-2022
WhatsApp an-tserasera!