Am zigbee ezsp uart

Awdur : Torchiotbootcamp
Dolen : https: //zhuanlan.zhihu.com/p/339700391
O : Quora

1. Cyflwyniad

Mae Silicon Labs wedi cynnig datrysiad gwesteiwr+NCP ar gyfer dyluniad porth Zigbee. Yn y bensaernïaeth hon, gall y gwesteiwr gyfathrebu â'r NCP trwy ryngwyneb UART neu SPI. Yn fwyaf cyffredin, defnyddir UART gan ei fod yn llawer symlach na SPI.

Mae Silicon Labs hefyd wedi darparu prosiect sampl ar gyfer y rhaglen westeiwr, sef y samplZ3gatewayHost. Mae'r sampl yn rhedeg ar system debyg i UNIX. Efallai y bydd rhai cwsmeriaid eisiau sampl gwesteiwr a all redeg ar RTOS, ond yn anffodus, nid oes sampl gwesteiwr wedi'i seilio ar RTOS am y tro. Mae angen i ddefnyddwyr ddatblygu eu rhaglen westeiwr eu hunain yn seiliedig ar RTOS.

Mae'n bwysig deall protocol Porth UART cyn datblygu rhaglen westeiwr wedi'i haddasu. Ar gyfer NCP wedi'i seilio ar UART a NCP wedi'i seilio ar UART, mae'r gwesteiwr yn defnyddio'r protocol EZSP i gyfathrebu â'r NCP.EZSPyn fyr ar gyferProtocol Cyfresol Emberznet, ac fe'i diffinnir ynUg100. Ar gyfer NCP wedi'i seilio ar UART, gweithredir protocol haen is i gario data EZSP yn ddibynadwy dros UART, dyna'rLudwprotocol, yn fyr ar gyferGwesteiwr cyfresol asyncronig. Am fwy o fanylion am Ash, cyfeiriwch atUg101aUg115.

Gellir dangos y berthynas rhwng EZSP ac Ash gan y diagram canlynol:

1

Gellir dangos fformat data'r EZSP a'r protocol ASH yn ôl y diagram canlynol:

2

Yn y dudalen hon, byddwn yn cyflwyno'r broses o fframio'r data UART a rhai fframiau allweddol a ddefnyddir yn aml ym Mhorth Zigbee.

2. Fframio

Gellir dangos y broses fframio gyffredinol yn ôl y siart ganlynol:

3

Yn y siart hon, mae'r data'n golygu ffrâm EZSP. Yn gyffredinol, y prosesau fframio yw: | Na | Cam | Cyfeirnod |

|:-|:-|:-|

| 1 | Llenwch y ffrâm EZSP | UG100 |

| 2 | Hapio Data | Adran 4.3 o UG101 |

| 3 | Ychwanegwch y beit rheoli | Chap2 a Chap3 o UG101 |

| 4 | Cyfrifwch y CRC | Adran 2.3 o UG101 |

| 5 | Stwffin Beit | Adran 4.2 o UG101 |

| 6 | Ychwanegwch y Faner Ddiwedd | Adran 2.4 o UG101 |

2.1. Llenwch y ffrâm EZSP

Dangosir fformat ffrâm EZSP yn Chap 3 o UG100.

4

Rhowch sylw y gall y fformat hwn newid pan fydd y SDK yn uwchraddio. Pan fydd y fformat yn newid, byddwn yn rhoi rhif fersiwn newydd iddo. Rhif fersiwn EZSP diweddaraf yw 8 pan ysgrifennir yr erthygl hon (Emberznet 6.8).

Gan y gall fformat ffrâm EZSP fod yn wahanol rhwng gwahanol fersiynau, mae gofyniad gorfodol bod y gwesteiwr a'r NCPAngenGweithio gyda'r un fersiwn EZSP. Fel arall, ni allant gyfathrebu yn ôl y disgwyl.

I gyflawni hynny, rhaid i'r gorchymyn cyntaf rhwng y gwesteiwr a'r NCP fod yn orchymyn fersiwn. Hynny yw, rhaid i'r gwesteiwr adfer fersiwn EZSP o'r NCP cyn unrhyw gyfathrebu arall. Os yw'r fersiwn EZSP yn wahanol gyda fersiwn EZSP o'r ochr letyol, rhaid erthylu'r cyfathrebiad.

Y gofyniad ymhlyg y tu ôl i hyn yw y gall fformat y gorchymyn fersiwnPeidiwch byth â newid. Mae fformat gorchymyn fersiwn EZSP fel isod:

5

Gellir gweld yr esboniadau o'r maes paramedr a fformat yr ymateb fersiwn yn Chap 4 o UG100. Y maes paramedr yw fersiwn EZSP o'r rhaglen westeiwr. Pan fydd yr erthygl hon wedi'i hysgrifennu, mae'n 8.
7
: : Torchiotbootcamp
链接 : https: //zhuanlan.zhihu.com/p/339700391
来源 : 知乎
著作权归作者所有。商业转载请联系作者获得授权 , 非商业转载请注明出处。

2.2. Ar hap data

Disgrifir y broses ar hap fanwl yn adran 4.3 o UG101. Bydd y ffrâm EZSP gyfan yn cael ei hapoli. Mae'r hapoli i unigryw-neu ffrâm EZSP a dilyniant ffug-hap.

Isod mae'r algorithm o gynhyrchu'r dilyniant ffug-hap.

  • rand0 = 0 × 42
  • Os yw did 0 o randi yn 0, randi+1 = randi >> 1
  • Os yw did 0 o randi yn 1, randi+1 = (randi >> 1) ^ 0xb8

2.3. Ychwanegwch y beit rheoli

Mae'r beit rheoli yn ddata un beit, a dylid ei ychwanegu at ben y ffrâm. Dangosir y fformat gyda'r tabl isod:

6

Yn hollol, mae yna 6 math o beitiau rheoli. Defnyddir y tri cyntaf ar gyfer fframiau cyffredin gyda data EZSP, gan gynnwys data, ACK a NAK. Defnyddir y tri olaf heb ddata EZSP cyffredin, gan gynnwys RST, RSTACK a chamgymeriad.

Disgrifir fformat y RST, RSTACK a GWALL yn Adran 3.1 i 3.3.

2.4. Cyfrifwch y CRC

Mae CRC 16-did yn cael ei gyfrif ar beit o'r beit rheoli tan ddiwedd y data. Mae'r crcccitt safonol (g (x) = x16 + x12 + x5 + 1) yn cael ei gychwyn i 0xFFFF. Y beit mwyaf arwyddocaol sy'n rhagflaenu'r beit lleiaf arwyddocaol (modd pen-endian).

2.5. Stwffin beit

Fel y disgrifir yn adran 4.2 o UG101, mae rhai gwerthoedd beit wedi'u cadw yn cael eu defnyddio at bwrpas arbennig. Gellir gweld y gwerthoedd hyn yn y tabl canlynol:

7

Pan fydd y gwerthoedd hyn yn ymddangos yn y ffrâm, bydd triniaeth arbennig yn cael ei gwneud i'r data. - Mewnosodwch y beit dianc 0x7D o flaen y beit neilltuedig - Gwrthdroi BIT5 y beit neilltuedig hwnnw

Isod mae rhai enghreifftiau o'r algorithm hwn:

8

2.6. Ychwanegwch y Faner Ddiwedd

Y cam olaf yw ychwanegu'r faner ddiwedd 0x7E i ddiwedd y ffrâm. Ar ôl hynny, gellir anfon y data i borthladd UART.

3. Proses Dad-fframio

Pan dderbynnir data gan yr UART, mae angen i ni wneud y camau gwrthdroi i'w ddadgodio.

4. Cyfeiriadau


Amser Post: Chwefror-08-2022
Sgwrs ar -lein whatsapp!