Tus Sau: TorchIoTBootCamp
Link: https://zhuanlan.zhihu.com/p/339700391
Los ntawm: Quora
1. Kev Taw Qhia
Silicon Labs tau muab ib qho kev daws teeb meem host + NCP rau Zigbee gateway tsim. Hauv cov qauv no, tus tswv tsev tuaj yeem sib txuas lus nrog NCP los ntawm UART lossis SPI interface. Feem ntau, UART yog siv vim nws yooj yim dua li SPI.
Silicon Labs kuj tau muab ib qho project piv txwv rau tus tswv tsev program, uas yog qhov piv txwvZ3GatewayHostCov qauv no khiav ntawm lub tshuab zoo li Unix. Tej zaum qee tus neeg siv khoom yuav xav tau tus qauv tswj uas khiav tau ntawm RTOS, tab sis hmoov tsis zoo, tsis muaj tus qauv tswj raws li RTOS rau lub sijhawm no. Cov neeg siv yuav tsum tsim lawv tus kheej qhov kev pab cuam tswj raws li RTOS.
Nws yog ib qho tseem ceeb kom nkag siab txog UART gateway protocol ua ntej tsim ib qho kev pab cuam host uas tau kho tshwj xeeb. Rau ob qho tib si UART raws li NCP thiab SPI raws li NCP, tus tswv tsev siv EZSP protocol los sib txuas lus nrog NCP.EZSPluv rauEmberZnet Serial Protocol, thiab nws tau txhais nyob rau hauvUG100Rau UART raws li NCP, ib qho txheej txheem qis dua tau siv los nqa cov ntaub ntawv EZSP kom ntseeg tau hla UART, qhov ntawd yogASHraws tu qauv, luv rauAsynchronous Serial HostYog xav paub ntxiv txog ASH, thov mus saibUG101thiabUG115.
Daim duab qhia txog kev sib raug zoo ntawm EZSP thiab ASH:
Cov hom ntaub ntawv ntawm EZSP thiab ASH protocol tuaj yeem piav qhia los ntawm daim duab hauv qab no:
Hauv nplooj ntawv no, peb yuav qhia txog cov txheej txheem ntawm kev teeb tsa cov ntaub ntawv UART thiab qee cov keyframes uas feem ntau siv hauv Zigbee gateway.
2. Kev Ua Duab
Cov txheej txheem kev teeb tsa dav dav tuaj yeem piav qhia los ntawm daim ntawv qhia hauv qab no:
Hauv daim ntawv qhia no, cov ntaub ntawv txhais tau tias yog tus ncej EZSP. Feem ntau, cov txheej txheem kev teeb tsa yog: |Tsis muaj|Kauj Ruam|Kev Siv|
|:-|:-|:-|
|1|Sau lub EZSP Frame|UG100|
|2|Kev Xaiv Cov Ntaub Ntawv Tsis Tu Ncua|Ntu 4.3 ntawm UG101|
|3|Ntxiv Control Byte|Tshooj 2 thiab Tshooj 3 ntawm UG101|
|4|Xam CRC|Ntu 2.3 ntawm UG101|
|5|Kev Muab Byte Stuffing|Ntu 4.2 ntawm UG101|
|6|Ntxiv Tus Chij Xaus|Ntu 2.4 ntawm UG101|
2.1. Sau lub EZSP Frame
Tus qauv thav duab EZSP tau piav qhia hauv Tshooj 3 ntawm UG100.
Ua tib zoo saib xyuas tias hom ntawv no yuav hloov pauv thaum SDK hloov kho dua tshiab. Thaum hom ntawv hloov pauv, peb yuav muab tus lej tshiab rau nws. Tus lej EZSP version tshiab tshaj plaws yog 8 thaum tsab xov xwm no sau (EmberZnet 6.8).
Vim tias hom ntawv EZSP yuav txawv ntawm ntau hom sib txawv, muaj qhov yuav tsum tau ua kom tus tswv tsev thiab NCPYUAV TSUMua haujlwm nrog tib EZSP version. Txwv tsis pub, lawv tsis tuaj yeem sib txuas lus raws li xav tau.
Yuav kom ua tiav qhov ntawd, thawj qhov kev txib ntawm tus tswv tsev thiab NCP yuav tsum yog qhov kev txib version. Hauv lwm lo lus, tus tswv tsev yuav tsum tau rov qab tau EZSP version ntawm NCP ua ntej lwm yam kev sib txuas lus. Yog tias EZSP version txawv nrog EZSP version ntawm sab tswv tsev, kev sib txuas lus yuav tsum raug tso tseg.
Qhov yuav tsum tau ua tsis tiav tom qab qhov no yog tias hom ntawv ntawm cov lus txib version tuaj yeem ua tauTSIS TXHOB HLOOVCov qauv lus txib EZSP version zoo li hauv qab no:
Ib: https://zhuanlan.zhihu.com/p/339700391
来源:知乎
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
2.2. Kev Xaiv Cov Ntaub Ntawv
Cov txheej txheem randomization ntxaws ntxaws tau piav qhia nyob rau hauv ntu 4.3 ntawm UG101. Tag nrho EZSP thav duab yuav raug randomed. Qhov randomization yog rau exclusive-OR lub EZSP thav duab thiab ib qho pseudo-random sequence.
Hauv qab no yog cov algorithm ntawm kev tsim cov pseudo-random sequence.
- rand0 = 0 × 42
- yog tias ntsis 0 ntawm randi yog 0, randi + 1 = randi >> 1
- yog tias ntsis 0 ntawm randi yog 1, randi+1 = (randi >> 1) ^ 0xB8
2.3. Ntxiv Lub Byte Tswj
Tus byte tswj yog ib byte cov ntaub ntawv, thiab yuav tsum tau ntxiv rau lub taub hau ntawm tus ncej. Hom ntawv tau piav qhia nrog lub rooj hauv qab no:
Tag nrho, muaj 6 hom kev tswj hwm bytes. Peb thawj zaug yog siv rau cov thav duab sib xws nrog cov ntaub ntawv EZSP, suav nrog DATA, ACK thiab NAK. Peb qhov kawg yog siv yam tsis muaj cov ntaub ntawv EZSP sib xws, suav nrog RST, RSTACK thiab ERROR.
Cov hom ntawv ntawm RST, RSTACK thiab ERROR tau piav qhia nyob rau hauv ntu 3.1 txog 3.3.
2.4. Xam tus nqi CRC
Ib qho CRC 16-ntsis raug suav los ntawm cov bytes los ntawm qhov byte tswj mus txog rau thaum kawg ntawm cov ntaub ntawv. Tus qauv CRCCCITT (g(x) = x16 + x12 + x5 + 1) yog pib rau 0xFFFF. Lub byte tseem ceeb tshaj plaws ua ntej lub byte tseem ceeb tsawg tshaj plaws (hom loj-endian).
2.5. Kev Muab Byte Stuffing
Raws li tau piav qhia hauv ntu 4.2 ntawm UG101, muaj qee cov nqi byte tshwj tseg siv rau lub hom phiaj tshwj xeeb. Cov nqi no tuaj yeem pom hauv cov lus hauv qab no:
Thaum cov nqi no tshwm sim hauv tus ncej, yuav muaj kev kho tshwj xeeb rau cov ntaub ntawv. - Ntxig lub byte escape 0x7D rau pem hauv ntej ntawm lub byte uas tau tseg cia - Rov qab lub bit5 ntawm lub byte uas tau tseg cia ntawd
Nov yog qee cov piv txwv ntawm cov algorithm no:
2.6. Ntxiv tus Chij Kawg
Kauj ruam kawg yog ntxiv tus chij kawg 0x7E rau qhov kawg ntawm tus ncej. Tom qab ntawd, cov ntaub ntawv tuaj yeem xa mus rau qhov chaw nres nkoj UART.
3. Cov Txheej Txheem Tshem Tawm
Thaum cov ntaub ntawv tau txais los ntawm UART, peb tsuas yog yuav tsum ua cov kauj ruam rov qab los txiav txim siab nws.
4. Cov ntaub ntawv siv los ua piv txwv
Lub sijhawm tshaj tawm: Lub Ob Hlis-08-2022








