Konsènan Zigbee EZSP UART

Otè:TorchIoTBootCamp
Lyen: https://zhuanlan.zhihu.com/p/339700391
Soti nan: Quora

1. Entwodiksyon

Silicon Labs te ofri yon solisyon host+NCP pou konsepsyon pòtay Zigbee. Nan achitekti sa a, host la ka kominike avèk NCP a atravè yon koòdone UART oswa SPI. Pi souvan, yo itilize UART paske li pi senp pase SPI.

Silicon Labs te bay tou yon pwojè echantiyon pou pwogram lame a, ki se echantiyon anZ3GatewayHostEchantiyon an fonksyone sou yon sistèm ki sanble ak Unix. Gen kèk kliyan ki ka vle yon echantiyon lame ki ka fonksyone sou yon RTOS, men malerezman, pa gen okenn echantiyon lame ki baze sou RTOS pou kounye a. Itilizatè yo bezwen devlope pwòp pwogram lame yo ki baze sou RTOS.

Li enpòtan pou konprann pwotokòl pòtay UART la anvan ou devlope yon pwogram lame pèsonalize. Pou tou de NCP ki baze sou UART ak NCP ki baze sou SPI, lame a itilize pwotokòl EZSP a pou kominike avèk NCP a.EZSPse yon abrevyasyon pouPwotokòl Seri EmberZnet, epi li defini nanUG100Pou NCP ki baze sou UART, yo aplike yon pwotokòl kouch pi ba pou pote done EZSP yo yon fason fyab sou UART, se sa ki...SANNpwotokòl, abrevyasyon pouOtès seri asenkronPou plis detay sou ASH, tanpri al gadeUG101epiUG115.

Dyagram sa a ka montre relasyon ki genyen ant EZSP ak ASH:

1

Fòma done pwotokòl EZSP a ak ASH la ka ilistre nan dyagram sa a:

2

Nan paj sa a, nou pral prezante pwosesis pou ankadre done UART yo ak kèk ankadreman kle ki souvan itilize nan pòtay Zigbee a.

2. Ankadreman

Pwosesis jeneral ankadrasyon an ka ilistre pa tablo sa a:

3

Nan tablo sa a, done yo vle di ankadreman EZSP a. An jeneral, pwosesis ankadreman yo se: |Pa gen|Etap|Referans|

|:-|:-|:-|

|1|Ranpli ankadreman EZSP a|UG100|

|2|Randomizasyon Done|Seksyon 4.3 nan UG101|

|3|Ajoute Kontwòl Byte|Chap2 ak Chap3 nan UG101|

|4|Kalkile CRC a|Seksyon 2.3 nan UG101|

|5|Byte Stuffing|Seksyon 4.2 nan UG101|

|6|Ajoute Drapo Fen an|Seksyon 2.4 nan UG101|

2.1. Ranpli ankadreman EZSP a

Fòma ankadreman EZSP a ilistre nan Chap 3 nan UG100.

4

Fè atansyon, fòma sa a ka chanje lè SDK a ap mete ajou. Lè fòma a chanje, n ap ba li yon nouvo nimewo vèsyon. Dènye nimewo vèsyon EZSP a se 8 lè atik sa a ekri (EmberZnet 6.8).

Kòm fòma ankadreman EZSP a ka diferan ant diferan vèsyon yo, gen yon egzijans obligatwa pou lame a ak NCP aDWEtravay avèk menm vèsyon EZSP la. Sinon, yo pa ka kominike jan yo te espere a.

Pou reyalize sa, premye kòmand ant òdinatè a ak NCP a dwe kòmand vèsyon an. Nan lòt mo, òdinatè a dwe rekipere vèsyon EZSP NCP a anvan nenpòt lòt kominikasyon. Si vèsyon EZSP a diferan ak vèsyon EZSP bò òdinatè a, kominikasyon an dwe abandone.

Egzijans enplisit ki dèyè sa a se ke fòma kòmand vèsyon an kapabPA JANM CHANJEFòma kòmand vèsyon EZSP a se jan sa a:

5

Ou ka jwenn eksplikasyon sou chan paramèt la ak fòma repons vèsyon an nan Chap 4 nan UG100. Chan paramèt la se vèsyon EZSP pwogram lame a. Lè yo ekri atik sa a, li nan 8.
7
作者: TorchIoTBootCamp
链接: https://zhuanlan.zhihu.com/p/339700391
来源:知乎
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明倂出

2.2. Randomizasyon Done

Pwosesis randomizasyon detaye a dekri nan seksyon 4.3 nan UG101. Tout kad EZSP a pral randomize. Randomizasyon an se lè l sèvi avèk yon operasyon OSWA eksklizif ant kad EZSP a ak yon sekans pseudo-aleatwa.

Anba la a se algoritm pou jenere sekans pseudo-aleatwa a.

  • rand0 = 0×42
  • si bit 0 nan randi a se 0, randi+1 = randi >> 1
  • si bit 0 nan randi a se 1, randi+1 = (randi >> 1) ^ 0xB8

2.3. Ajoute Okte Kontwòl la

Okte kontwòl la se yon done yon sèl okte, epi yo ta dwe ajoute li nan tèt ankadreman an. Fòma a ilistre nan tablo ki anba a:

6

An total, gen 6 kalite okte kontwòl. Twa premye yo itilize pou ankadreman komen ak done EZSP, tankou DATA, ACK ak NAK. Twa dènye yo itilize san done EZSP komen, tankou RST, RSTACK ak ERROR.

Fòma RST, RSTACK ak ERROR yo dekri nan seksyon 3.1 rive nan 3.3.

2.4. Kalkile CRC a

Yo kalkile yon CRC 16-bit sou okte apati okte kontwòl la rive nan fen done yo. Yo inisyalize CRCCCITT estanda a (g(x) = x16 + x12 + x5 + 1) a 0xFFFF. Okte ki pi enpòtan an vini anvan okte ki pi piti enpòtan an (mòd big-endian).

2.5. Farsi okte

Jan sa dekri nan seksyon 4.2 nan UG101, gen kèk valè bayt rezève ki itilize pou rezon espesyal. Ou ka jwenn valè sa yo nan tablo ki anba la a:

7

Lè valè sa yo parèt nan ankadreman an, y ap fè yon tretman espesyal ak done yo. – Mete okte chape 0x7D a devan okte rezève a – Ranvèse bit5 okte rezève sa a

Men kèk egzanp sou algoritm sa a:

8

2.6. Ajoute Drapo Fen an

Dènye etap la se ajoute drapo fen 0x7E a nan fen ankadreman an. Apre sa, done yo ka voye nan pò UART la.

3. Pwosesis Dekadraj

Lè nou resevwa done ki soti nan UART la, nou jis bezwen fè etap envès yo pou dekode yo.

4. Referans


Dat piblikasyon: 8 Fevriye 2022
Chat sou entènèt sou WhatsApp!