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 lame + NCP pou konsepsyon pòtay Zigbee. Nan achitekti sa a, lame a ka kominike ak NCP a atravè 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 anZ3GatewayHost. Echantiyon an kouri sou yon sistèm ki tankou Unix. Gen kèk kliyan ki ka vle yon echantiyon lame ki ka kouri sou yon RTOS, men malerezman, pa gen okenn echantiyon lame ki baze sou RTOS pou moman sa a. Itilizatè yo bezwen devlope pwòp pwogram lame yo ki baze sou RTOS.

Li enpòtan pou w konprann pwotokòl pòtay UART la anvan ou devlope yon pwogram lame Customized. Pou tou de NCP ki baze sou UART ak NCP ki baze sou SPI, lame a sèvi ak pwotokòl EZSP pou kominike ak NCP la.EZSPse kout pouEmberZnet Serial Pwotokòl, epi li defini nanUG100. Pou NCP ki baze sou UART, yo aplike yon pwotokòl kouch pi ba pou pote done EZSP yo seryezman sou UART, sa seASHpwotokòl, kout pouAsynchrone Serial Host. Pou plis detay sou ASH, tanpri al gadeUG101epiUG115.

Relasyon ki genyen ant EZSP ak ASH ka ilistre pa dyagram sa a:

1

Fòma done EZSP a ak pwotokòl ASH a ka ilistre pa 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.

2. Ankadreman

Pwosesis ankadreman jeneral la ka ilistre pa tablo sa a:

3

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

|:-|:-|:-|

|1|Ranpli ankadreman EZSP|UG100|

|2|Done Randomization|Seksyon 4.3 nan UG101|

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

|4|Kalkile CRC|Seksyon 2.3 nan UG101|

|5|Byte Stuffing|Seksyon 4.2 nan UG101|

|6|Ajoute drapo fen a|Seksyon 2.4 nan UG101|

2.1. Ranpli ankadreman EZSP la

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

4

Fè atansyon ke fòma sa a ka chanje lè SDK a ajou. Lè fòma a chanje, nou pral 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 ka diferan ant diferan vèsyon, gen yon kondisyon obligatwa pou lame a ak NCP.DWEtravay ak menm vèsyon an EZSP. Sinon, yo pa ka kominike jan yo espere.

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

Kondisyon implicite dèyè sa a se sa fòma kòmand vèsyon pipiti de youn kapabPA JANM CHANJE. Fòma kòmand vèsyon EZSP a se tankou anba a:

5

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

2.2. Done Randomization

Pwosesis randomisation detaye a dekri nan seksyon 4.3 UG101. Tout ankadreman EZSP yo pral owaza. Randomization a se eksklizif-OSWA ankadreman an EZSP ak yon sekans pseudo-o aza.

Anba a se algorithm pou jenere sekans pseudo-o aza.

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

2.3. Ajoute Byte Kontwòl la

Byte kontwòl la se yon done yon byte, epi yo ta dwe ajoute nan tèt ankadreman an. Fòma a montre ak tablo ki anba a:

6

Totalman, gen 6 kalite bytes kontwòl. Twa premye yo itilize pou ankadreman komen ak done EZSP, ki gen ladan DONE, ACK ak NAK. Twa dènye yo itilize san done komen EZSP, tankou RST, RSTACK ak ERROR.

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

2.4. Kalkile CRC a

Yon CRC 16-bit kalkile sou byte soti nan byte kontwòl la jouk nan fen done yo. CRCCCITT estanda (g(x) = x16 + x12 + x5 + 1) inisyalize a 0xFFFF. Byte ki pi enpòtan an anvan byte ki pi piti a (mòd big-endian).

2.5. Byte Fars

Jan sa dekri nan seksyon 4.2 UG101, gen kèk valè byte rezève yo itilize pou objektif espesyal. Ou ka jwenn valè sa yo nan tablo sa a:

7

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

Anba a gen kèk egzanp algorithm sa a:

8

2.6. Ajoute Fen Drapo a

Etap final la se ajoute drapo nan fen 0x7E nan fen ankadreman an. Apre sa, done yo ka voye nan pò UART la.

3. Pwosesis De-ankadreman

Lè done yo resevwa nan men UART, nou jis bezwen fè etap sa yo ranvèse dekode li.

4. Referans


Lè poste: Feb-08-2022
Chat sou entènèt WhatsApp!