Dwar Zigbee EZSP UART

Awtur: TorchIoTBootCamp
Link: https://zhuanlan.zhihu.com/p/339700391
Minn: Quora

1. Introduzzjoni

Silicon Labs offra soluzzjoni ospitanti + NCP għad-disinn tal-gateway Zigbee.F'din l-arkitettura, l-ospitant jista 'jikkomunika mal-NCP permezz ta' interface UART jew SPI.L-aktar komuni, UART jintuża peress li huwa ħafna aktar sempliċi minn SPI.

Silicon Labs ipprovda wkoll proġett ta 'kampjun għall-programm ospitanti, li huwa l-kampjunZ3GatewayHost.Il-kampjun jaħdem fuq sistema Unix-like.Xi klijenti jistgħu jixtiequ kampjun ospitanti li jista 'jimxi fuq RTOS, iżda sfortunatament, għalissa m'hemm l-ebda kampjun host ibbażat fuq RTOS.L-utenti jeħtieġ li jiżviluppaw il-programm ospitanti tagħhom stess ibbażat fuq RTOS.

Huwa importanti li tifhem il-protokoll tal-portal UART qabel ma tiżviluppa programm ospitanti apposta.Kemm għal NCP ibbażat fuq UART kif ukoll għal NCP ibbażat fuq SPI, l-ospitant juża l-protokoll EZSP biex jikkomunika mal-NCP.EZSPhuwa qasir għalProtokoll tas-serje EmberZnet, u huwa definit fiUG100.Għal NCP ibbażat fuq UART, protokoll ta' saff aktar baxx huwa implimentat biex iġorr id-dejta EZSP b'mod affidabbli fuq UART, dak huwa l-IRMIEDprotokoll, qasir għalOspitanti Serjali Asinkronu.Għal aktar dettalji dwar ASH, jekk jogħġbok irreferi għalUG101uUG115.

Ir-relazzjoni bejn EZSP u ASH tista' tiġi illustrata bid-dijagramma li ġejja:

1

Il-format tad-dejta tal-EZSP u l-protokoll ASH jistgħu jiġu illustrati bid-dijagramma li ġejja:

2

F'din il-paġna, se nintroduċu l-proċess ta 'kwadru tad-dejta UART u xi frejms ewlenin li jintużaw ta' spiss fil-gateway ta 'Zigbee.

2. Inkwadru

Il-proċess ġenerali tal-qafas jista’ jiġi illustrat bit-tabella li ġejja:

3

F'din it-tabella, id-dejta tfisser il-qafas EZSP.B'mod ġenerali, il-proċessi tal-qafas huma: |Le|Pass|Referenza|

|:-|:-|:-|

|1|Imla l-Qafas EZSP|UG100|

|2|Randomizzazzjoni tad-Data|Taqsima 4.3 ta' UG101|

|3|Żid il-Byte ta' Kontroll|Kap2 u Kap3 ta' UG101|

|4|Ikkalkula s-CRC|Taqsima 2.3 ta' UG101|

|5|Byte Mili|Taqsima 4.2 ta' UG101|

|6|Żid il-Bandiera tat-Tmiem|Taqsima 2.4 ta' UG101|

2.1.Imla l-Qafas EZSP

Il-format tal-qafas EZSP huwa illustrat f'Kap 3 ta' UG100.

4

Oqgħod attent li dan il-format jista' jinbidel meta l-SDK jaġġorna.Meta l-format jinbidel, aħna nagħtuh numru ġdid ta 'verżjoni.L-aħħar numru tal-verżjoni EZSP huwa 8 meta jinkiteb dan l-artikolu (EmberZnet 6.8).

Billi l-format tal-qafas EZSP jista’ jkun differenti bejn verżjonijiet differenti, hemm rekwiżit obbligatorju li l-host u l-NCPGĦANDUtaħdem bl-istess verżjoni EZSP.Inkella, ma jistgħux jikkomunikaw kif mistenni.

Biex jinkiseb dan, l-ewwel kmand bejn l-ospitant u l-NCP għandu jkun il-kmand tal-verżjoni.Fi kliem ieħor, l-ospitant għandu jirkupra l-verżjoni EZSP tal-NCP qabel kwalunkwe komunikazzjoni oħra.Jekk il-verżjoni EZSP hija differenti mal-verżjoni EZSP tan-naħa ospitanti, il-komunikazzjoni trid tiġi abortita.

Ir-rekwiżit impliċitu wara dan huwa li l-format tal-kmand tal-verżjoni jista 'QATT TIBDIL.Il-format tal-kmand tal-verżjoni EZSP huwa bħal hawn taħt:

5

L-ispjegazzjonijiet tal-qasam tal-parametru u l-format tar-rispons tal-verżjoni jistgħu jinstabu f'Kap 4 ta 'UG100.Il-qasam tal-parametru huwa l-verżjoni EZSP tal-programm ospitanti.Meta jinkiteb dan l-artikolu, huwa 8.
7
作者:TorchIoTBootCamp
链接: https://zhuanlan.zhihu.com/p/339700391
来源:知乎
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出倂

2.2.Randomizzazzjoni tad-Data

Il-proċess dettaljat ta' randomizzazzjoni huwa deskritt fit-taqsima 4.3 ta' UG101.Il-qafas EZSP kollu se jkun randomised.Ir-randomizzazzjoni hija esklussiva-JEW il-qafas EZSP u sekwenza psewdo-random.

Hawn taħt hemm l-algoritmu tal-ġenerazzjoni tas-sekwenza psewdo-random.

  • rand0 = 0×42
  • jekk il-bit 0 ta’ randi huwa 0, randi+1 = randi >> 1
  • jekk il-bit 0 ta' randi huwa 1, randi+1 = (randi >> 1) ^ 0xB8

2.3.Żid il-Byte tal-Kontroll

Il-byte ta 'kontroll huwa data ta' byte wieħed, u għandu jiżdied mal-kap tal-qafas.Il-format huwa illustrat bit-tabella hawn taħt:

6

Totalment, hemm 6 tipi ta 'bytes ta' kontroll.L-ewwel tlieta huma użati għal frejms komuni b'dejta EZSP, inklużi DATA, ACK u NAK.L-aħħar tlieta jintużaw mingħajr dejta komuni EZSP, inklużi RST, RSTACK u ERROR.

Il-format tal-RST, RSTACK u ERROR huma deskritti fit-taqsima 3.1 sa 3.3.

2.4.Ikkalkula s-CRC

CRC ta' 16-il bit huwa kkalkulat fuq bytes mill-byte ta' kontroll sat-tmiem tad-data.Il-CRCCCITT standard (g(x) = x16 + x12 + x5 + 1) huwa inizjalizzat għal 0xFFFF.L-aktar byte sinifikanti jippreċedi l-byte l-inqas sinifikanti (mod big-endian).

2.5.Byte Mili

Kif deskritt fit-taqsima 4.2 ta 'UG101, hemm xi valuri ta' byte riżervati użati għal skop speċjali.Dawn il-valuri jistgħu jinstabu fit-tabella li ġejja:

7

Meta dawn il-valuri jidhru fil-qafas, se jsir trattament speċjali lid-dejta.– Daħħal il-byte ta’ ħarba 0x7D quddiem il-byte riżervat – Aqleb il-bit5 ta’ dak il-byte riżervat

Hawn taħt hawn xi eżempji ta’ dan l-algoritmu:

8

2.6.Żid il-Bandiera Tmiem

Il-pass finali huwa li żżid il-bandiera tat-tarf 0x7E mat-tarf tal-qafas.Wara dan, id-dejta tista 'tintbagħat lill-port UART.

3. Proċess ta 'de-framing

Meta d-data tiġi riċevuta mill-UART, irridu biss nagħmlu l-passi bil-maqlub biex jiddekowdjaha.

4. Referenzi


Ħin tal-post: Frar-08-2022
Chat Online WhatsApp!