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).

Peress li 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-każwali.

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!