Awtor: Thoriotiotbootcamp
Link: HTTPS: //ZHUAHANLAN.ZHIUHU.COM/P/339700391
Gikan sa: quora
1. Pasiuna
Ang mga laban sa Silicon nagtanyag usa ka host + NCP solution alang sa laraw sa gateway sa Zigbee. Sa kini nga arkitektura, ang host mahimong makigsulti sa NCP pinaagi sa UART o SPI interface. Labing kasagaran, ang UART gigamit ingon nga labi ka yano kaysa sa SPI.
Naghatag usab ang mga lab sa Silicon usa ka sample nga proyekto alang sa programa sa host, nga mao ang sampleZ3GATEWEWOSHOST
. Ang sample nagdagan sa usa ka sistema nga sama sa Unix. Ang pipila ka mga kostumer tingali gusto sa usa ka sample sa host nga mahimong modagan sa usa ka RTOS, apan subo nga, wala'y sample nga base sa RTOS sa oras. Ang mga tiggamit kinahanglan nga molambo ang ilang kaugalingon nga programa sa host nga gibase sa mga Rtos.
Mahinungdanon nga masabtan ang UART Gateway Protocol sa wala pa mapalambo ang usa ka naandan nga programa sa host. Alang sa parehas nga Uart nga nakabase sa NCP ug SPI nga nakabase sa NCP, gigamit sa host ang EZSP protocol aron makigsulti sa NCP.Kamataymubo alang saEMBERZNET SeriAL Protocol, ug kini gipasabut saUG100. Alang sa Uart nga nakabase sa NCP, usa ka mas ubos nga layer protocol ang gipatuman aron madala ang mga datos sa EZSP nga kasaligan sa UART, kana angAboprotocol, mubo alang saAsynchronous Serial Host. Alang sa dugang nga mga detalye bahin sa abo, palihug tan-awaUg101ugUg115.
Ang kalambigitan tali sa ezsp ug abo mahimong ihulagway sa mosunud nga diagram:
Ang Format sa Data sa Ezsp ug Ash Protocol mahimong ihulagway sa mosunud nga diagram:
Sa kini nga panid, ipakilala namon ang proseso sa pag-frame sa Uart Data ug pipila ka mga yawe nga bayanan nga kanunay gigamit sa Zigbee Gateway.
2. Frameing
Ang kinatibuk-ang proseso sa frameing mahimong ihulagway sa mosunud nga tsart:
Sa kini nga tsart, ang datos nagpasabut nga ang Ezs Frame. Sa kinatibuk-an, ang mga proseso sa framing mao ang: | Dili | lakang | reperensya |
|: - |: - |: - |
| 1 | Pun-a ang EZSP Frame | Ug100 |
| 2 | Pag-random sa datos | Seksyon 4.3 sa Ug101 |
| 3 | Idugang ang Control Byte | kapilya ug kapitulo sa Ug101 |
| 4 | Kalkulado ang CRC | Seksyon 2.3 sa Ug101 |
| 5 | Byte Stoting | Seksyon 4.2 sa Ug101 |
| 6 | Idugang ang bandila sa katapusan | Seksyon 2.4 sa Ug101 |
2.1. Pun-a ang EZSP Frame
Ang format sa Ezsp Frame gihulagway sa kapyaha sa kaph100 sa UG100.
Pamati nga ang kini nga format mahimong magbag-o kung ang pag-upgrade sa SDK. Kung ang mga pagbag-o sa pormat, hatagan namon kini usa ka bag-ong numero sa bersyon. Ang labing bag-o nga numero sa bersyon sa EZSP mao ang 8 kung kini nga artikulo gisulat (emberznet 6.8).
Ingon nga ang format sa ezsp format mahimong lahi sa lainlaing mga bersyon, adunay mandatory nga kinahanglanon nga ang host ug NCPKinahanglanpagtrabaho uban ang parehas nga bersyon sa EZSP. Kay kon dili, dili sila makasulti sama sa gipaabut.
Aron makab-ot kana, ang una nga sugo tali sa host ug ang NCP kinahanglan nga bersyon sa bersyon. Sa ato pa, ang host kinahanglan nga makalikay sa EZSP nga bersyon sa NCP sa wala pa ang uban pang komunikasyon. Kung ang bersyon sa EZSP lahi sa EZSP nga bersyon sa host nga bahin, ang komunikasyon kinahanglan abortado.
Ang gipasabut nga kinahanglanon sa luyo mao nga ang format sa bersyon sa bersyon mahimoAyaw pagbag-o. Ang format nga mando sa EZSP nga bersyon sama sa ubos:
链接: HTTPS: //ZHUANLAN.ZHIUHOU.COM/P/339700391
来源: 知乎
著作权归作者所有. 商业转载请联系作者获得授权, 非商业转载请注明出处.
2.2. Randomization sa Data
Ang detalyado nga proseso sa randomization gihulagway sa seksyon 4.3 sa UG101. Ang tibuuk nga bayad sa EZSP mahimong randomized. Ang randomization mao ang eksklusibo - o ang ezsp frame ug usa ka sunud-sunod nga pseudo-random.
Sa ubos mao ang algorithm sa pagmugna sa sunud-sunod nga pseudo-random.
- rand0 = 0 × 42
- Kung bitin 0 sa Randi ang 0, Randi + 1 = RANDI >> 1
- Kung bitin 0 sa Randi mao ang 1, Randi + 1 = (Randi >> 1) ^ 0xb8
2.3. Idugang ang Control Byte
Ang pagkontrol sa Byte usa ka data nga byte, ug kinahanglan idugang sa ulo sa bayanan. Ang pormat gihulagway sa lamesa sa ubos:
Sa hingpit, adunay 6 nga mga matang sa pagpugong sa mga baut. Ang una nga tulo gigamit alang sa mga sagad nga bayanan nga adunay ezsp datos, lakip ang datos, ACK ug NAK. Ang katapusan nga tulo gigamit nga wala'y sagad nga datos sa ezsp, lakip ang rst, rstack ug sayup.
Ang format sa rst, rstack ug sayup gihulagway sa Seksyon 3.1 hangtod 3.3.
2.4. Kalkulado ang CRC
Ang usa ka 16-bit nga CRC gikalkulo sa mga byte gikan sa pagpugong sa pag-undang hangtod sa katapusan sa datos. Ang standard crccccitt (g (x) = x16 + x12 + x5 + 1) gisugdan sa 0xffff. Ang labing hinungdanon nga byte nag-una sa labing gamay nga hinungdanon nga mode sa Byte (Big-Testian).
2.5. Byte Stuffing
Sama sa gihulagway sa seksyon 4.2 sa UG101, adunay pipila nga gitagana nga mga kantidad sa Byte nga gigamit alang sa espesyal nga katuyoan. Kini nga mga mithi makita sa mosunod nga lamesa:
Kung makita kini nga mga kantidad sa bayanan, usa ka espesyal nga pagtambal ang himuon sa datos. - Isulud ang pag-ikyas nga Byte 0x7D sa atubangan sa gitagana nga Byte - balihon ang gamay5 sa gitagana nga byte
Sa ubos adunay pipila nga mga pananglitan sa kini nga algorithm:
2.6. Idugang ang bandila sa katapusan
Ang katapusang lakang mao ang pagdugang sa end flag 0x7e hangtod sa katapusan sa bayanan. Pagkahuman niana, ang datos mahimong ipadala sa UART Port.
3. Ang proseso sa de-framing
Kung nadawat ang datos gikan sa UART, kinahanglan naton nga buhaton ang mga lakang nga mga lakang aron maibanan kini.
4. Mga Sumbanan
Post Oras: Peb-08-2022