Nípa Zigbee EZSP UART

Olùkọ̀wé: TorchIoTBootCamp
Ọna asopọ: https://zhuanlan.zhihu.com/p/339700391
Láti: Quora

1. Ìfihàn

Silicon Labs ti pese ojutu host+NCP kan fun apẹrẹ ẹnu-ọna Zigbee. Ninu eto yii, olugbalejo le ba NCP sọrọ nipasẹ wiwo UART tabi SPI. Ni igbagbogbo, a lo UART nitori pe o rọrun pupọ ju SPI lọ.

Silicon Labs ti pese apẹẹrẹ iṣẹ akanṣe fun eto agbalejo naa, eyiti o jẹ apẹẹrẹ naaOlùgbàlejò Z3Ẹnubodè. Àpẹẹrẹ náà ń ṣiṣẹ́ lórí ètò bíi Unix. Àwọn oníbàárà kan lè fẹ́ àpẹẹrẹ olùgbàlejò tí ó lè ṣiṣẹ́ lórí RTOS, ṣùgbọ́n ó ṣeni láàánú pé kò sí àpẹẹrẹ olùgbàlejò tí ó dá lórí RTOS fún àkókò yìí. Àwọn olùlò nílò láti ṣe àgbékalẹ̀ ètò olùgbàlejò tiwọn tí ó dá lórí RTOS.

Ó ṣe pàtàkì láti lóye ìlànà ẹnu ọ̀nà UART kí a tó ṣe àgbékalẹ̀ ètò ìgbalejò tí a ṣe àdáni. Fún NCP tí ó dá lórí UART àti NCP tí ó dá lórí SPI, olùgbàlejò náà ń lo ìlànà EZSP láti bá NCP sọ̀rọ̀.EZSPjẹ́ kúkúrú fúnIlana Serial EmberZnet, a sì túmọ̀ rẹ̀ nínúUG100Fún NCP tí ó dá lórí UART, ìlànà ìpele ìsàlẹ̀ ni a ṣe láti gbé dátà EZSP tí ó ṣeé gbẹ́kẹ̀lé lórí UART, ìyẹn niASHìlànà, kukuru funAlágbàlejò Serial AsynchronousFun alaye siwaju sii nipa ASH, jọwọ woUG101àtiUG115.

A le fi aworan atẹle yii ṣe afihan ibatan laarin EZSP ati ASH:

1

A le fi aworan atọka atẹle yii ṣe afihan ọna kika data ti EZSP ati ilana ASH:

2

Nínú ojú ìwé yìí, a ó ṣe àgbékalẹ̀ ìlànà ṣíṣe àkójọ data UART àti àwọn fámẹ́rà pàtàkì kan tí a sábà máa ń lò ní ẹnu ọ̀nà Zigbee.

2. Ṣíṣe àkójọpọ̀

A le ṣe afihan ilana fireemu gbogbogbo nipasẹ chart atẹle yii:

3

Nínú àtẹ yìí, dátà náà túmọ̀ sí fírémù EZSP. Ní gbogbogbòò, àwọn ìlànà ìgbékalẹ̀ ni: |Rárá|Ìgbésẹ̀|Ìtọ́kasí|

|:-|:-|:-|

|1|Kún Férémù EZSP|UG100|

|2|Ṣíṣe àtúntò Dátà|Apá 4.3 ti UG101|

|3|Fi Ìdarí Bàìtì|Orí Kejì àti Orí Kẹta ti UG101|

|4| Ṣírò CRC|Apá 2.3 ti UG101|

|5|Ìfikún Báìtì|Apá 4.2 nínú UG101|

|6|Fi Àsíá Ìparí kún un|Apá 2.4 ti UG101|

2.1. Kun Férémù EZSP

A ṣe àfihàn ìrísí férémù EZSP ní Orí 3 ti UG100.

4

Ṣàkíyèsí pé ìrísí yìí lè yípadà nígbà tí a bá ṣe àtúnṣe SDK. Nígbà tí ìrísí náà bá yípadà, a ó fún un ní nọ́mbà ìrísí tuntun. Nọ́mbà ìrísí EZSP tuntun ni 8 nígbà tí a bá kọ àpilẹ̀kọ yìí (EmberZnet 6.8).

Nítorí pé ìrísí férémù EZSP lè yàtọ̀ láàárín àwọn ẹ̀yà tó yàtọ̀ síra, ohun tó ṣe pàtàkì ni pé kí olùgbàlejò àti NCPGBỌ́DỌ̀ṣiṣẹ́ pẹ̀lú ẹ̀yà EZSP kan náà. Bí bẹ́ẹ̀ kọ́, wọn kò le bá ara wọn sọ̀rọ̀ bí a ṣe retí.

Láti ṣe èyí, àṣẹ àkọ́kọ́ láàárín olùgbàlejò àti NCP gbọ́dọ̀ jẹ́ àṣẹ ẹ̀yà. Ní ọ̀rọ̀ mìíràn, olùgbàlejò gbọ́dọ̀ gba ẹ̀yà EZSP ti NCP padà kí ó tó di ìbánisọ̀rọ̀ mìíràn. Tí ẹ̀yà EZSP bá yàtọ̀ sí ẹ̀yà EZSP ti ẹgbẹ́ olùgbàlejò, a gbọ́dọ̀ dá ìbánisọ̀rọ̀ náà dúró.

Ohun tí a nílò láìsí àbùkù lẹ́yìn èyí ni pé kí ìrísí àṣẹ àtúnṣe lè ṣeé ṣeMá ṣe yí padà láé. Ìlànà àṣẹ EZSP jẹ́ bí ìsàlẹ̀ yìí:

5

Àwọn àlàyé nípa pápá paramita àti ìrísí ìdáhùn ẹ̀yà náà ni a lè rí ní Orí 4 ti UG100. Pápá paramita náà ni ẹ̀yà EZSP ti ètò olùgbàlejò. Nígbà tí a bá kọ àpilẹ̀kọ yìí, ó jẹ́ 8.
7
作者:TorchIoTBootCamp
Jide: https://zhuanlan.zhihu.com/p/339700391
来源:知乎
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

2.2. Ṣíṣe àtúntò Dátà

A ṣe àpèjúwe ìlànà ìṣètò lẹ́kùn-únrẹ́rẹ́ náà ní abala 4.3 ti UG101. Gbogbo fireemu EZSP ni a ó ṣe àtúnṣe. Ìṣètò náà jẹ́ sí fírémù EZSP tí ó yàtọ̀ síra àti ìtẹ̀léra tí a kò lè ṣe àtúnṣe.

Ni isalẹ ni alugoridimu fun ṣiṣẹda ilana asan-laileto.

  • rand0 = 0×42
  • Tí bit 0 ti randi bá jẹ́ 0, randi+1 = randi >> 1
  • Tí bit 0 ti randi bá jẹ́ 1, randi+1 = (randi >> 1) ^ 0xB8

2.3. Fi Baiti Iṣakoso kun

Bẹ́tìì ìdarí jẹ́ dátà byte kan, ó sì yẹ kí a fi kún orí férémù náà. A fi tábìlì ìsàlẹ̀ yìí hàn àwòrán ìrísí náà:

6

Ni gbogbogbo, iru awọn baiti iṣakoso mẹfa lo wa. Awọn mẹta akọkọ ni a lo fun awọn fireemu ti o wọpọ pẹlu data EZSP, pẹlu DATA, ACK ati NAK. Awọn mẹta ti o kẹhin ni a lo laisi data EZSP ti o wọpọ, pẹlu RST, RSTACK ati ERROR.

A ṣe àpèjúwe ìrísí RST, RSTACK àti ERROR ní abala 3.1 sí 3.3.

2.4. Ṣírò CRC

A máa ń ṣírò CRC bit 16 lórí àwọn baiti láti inú baiti ìṣàkóso títí dé òpin dátà náà. A máa ń bẹ̀rẹ̀ CRCCCITT (g(x) = x16 + x12 + x5 + 1) sí 0xFFFF. Baiti tó ṣe pàtàkì jùlọ ṣáájú baiti tó kéré jùlọ (ipò bíg-endian).

2.5. Ṣíṣe àfikún báìtì

Gẹ́gẹ́ bí a ti ṣe àpèjúwe rẹ̀ ní abala 4.2 ti UG101, àwọn iye byte tí a fipamọ́ kan wà tí a lò fún ète pàtàkì. Àwọn iye wọ̀nyí ni a lè rí nínú tábìlì yìí:

7

Tí àwọn iye wọ̀nyí bá farahàn nínú fírẹ́mù náà, a ó ṣe àtúnṣe pàtàkì sí dátà náà. – Fi escape byte 0x7D sí iwájú byte tí a fipamọ́ – Yí bit5 ti byte tí a fipamọ́ náà padà

Ni isalẹ ni diẹ ninu awọn apẹẹrẹ ti algoridimu yii:

8

2.6. Fi Àsíá Ìparí kún un

Igbesẹ ikẹhin ni lati fi asia ipari 0x7E kun opin fireemu naa. Lẹhin iyẹn, a le fi data naa ranṣẹ si ibudo UART.

3. Ìlànà Ìyọkúrò Fírámẹ́ǹtì

Nígbà tí a bá gba ìwífún láti ọ̀dọ̀ UART, a kàn nílò láti ṣe àwọn ìgbésẹ̀ ìyípadà láti ṣe àtúnṣe rẹ̀.

4. Àwọn ìtọ́kasí


Àkókò ìfìwéránṣẹ́: Feb-08-2022
Iwiregbe lori ayelujara WhatsApp!