Banyere Zigbee EZSP UART

Onye edemede:TorchIoTBootCamp
Njikọ: https://zhuanlan.zhihu.com/p/339700391
Site na: Quora

1. Okwu mmalite

Silicon Labs enyela ndị ọbịa + NCP ngwọta maka imewe ọnụ ụzọ ámá Zigbee. N'ime ihe owuwu a, onye ọbịa nwere ike ịgwa NCP okwu site na interface UART ma ọ bụ SPI. Ọtụtụ mgbe, a na-eji UART dịka ọ dị mfe karịa SPI.

Silicon Labs nyekwara ihe nlele maka mmemme nnabata, nke bụ ihe atụZ3GatewayHost. Ihe nlele ahụ na-agba na sistemụ Unix. Ụfọdụ ndị ahịa nwere ike chọọ nlele nnabata nke nwere ike ịgba ọsọ na RTOS, mana ọ dị nwute, enweghị ụdị nnabata nnabata RTOS maka oge a. Ndị ọrụ kwesịrị ịzụlite mmemme nnabata nke ha dabere na RTOS.

Ọ dị mkpa ịghọta protocol ọnụ ụzọ UART tupu ịmalite mmemme nnabata ahaziri. Maka UART dabere na NCP na NCP dabere na SPI, onye ọbịa na-eji protocol EZSP iji soro NCP kparịta ụka.EZSPdị mkpụmkpụ makaEmberZnet Serial Protocol, a kọwakwara ya naUG100. Maka NCP nke dabeere na UART, a na-emejuputa usoro iwu oyi akwa dị ala iji buru data EZSP dabere na UART, nke ahụ bụASHprotocol, nkenke makaAsynchronous Serial Host. Maka nkọwa ndị ọzọ gbasara ASH, biko rụtụ akaUG101naUG115.

Enwere ike igosi njikọ dị n'etiti EZSP na ASH site na eserese a:

1

Enwere ike iji eserese a gosi usoro data nke EZSP na protocol ASH:

2

N'ibe a, anyị ga-ewebata usoro nhazi data UART na ụfọdụ okpokolo agba nke a na-ejikarị na ọnụ ụzọ Zigbee.

2. Nhazi

Enwere ike iji chaatị a gosi usoro nhazi izugbe:

3

Na eserese a, data pụtara etiti EZSP. N'ozuzu, usoro akpụ akpụ bụ: |Mba|Nzọụkwụ|Ntụaka|

|::-|:-|:-|

|1|Mejupụta EZSP Frame|UG100|

|2|Nhazi data|Ngalaba 4.3 nke UG101|

|3|Tinye njikwa Byte|Chap2 na Chap3 nke UG101|

|4| Gbakọọ CRC | Nkebi 2.3 nke UG101|

|5|Ngwakọta ihe Byte|Ngalaba 4.2 nke UG101|

|6|Tinye Ọkọlọtọ Ọgwụgwụ|Ngalaba 2.4 nke UG101|

2.1. Dejupụta EZSP Frame

E gosipụtara usoro etiti EZSP na isi nke 3 nke UG100.

4

Lezienụ anya na usoro a nwere ike ịgbanwe mgbe SDK kwalitere. Mgbe usoro ahụ gbanwere, anyị ga-enye ya nọmba ụdị ọhụrụ. Nọmba ụdị EZSP kachasị ọhụrụ bụ 8 mgbe edere edemede a (EmberZnet 6.8).

Dị ka EZSP etiti usoro nwere ike ịdị iche n'etiti nsụgharị dị iche iche, e nwere ihe a chọrọ ka onye ọbịa na NCP.AKWỤKWỌna-arụ ọrụ na otu ụdị EZSP. Ma ọ bụghị ya, ha enweghị ike ịkparịta ụka dịka a tụrụ anya ya.

Iji mezuo nke ahụ, iwu mbụ n'etiti onye ọbịa na NCP ga-abụrịrị iwu ụdị. N'ikwu ya n'ụzọ ọzọ, onye ọbịa ahụ aghaghị iweghachite ụdị EZSP nke NCP tupu nkwurịta okwu ọ bụla ọzọ. Ọ bụrụ na ụdị EZSP dị iche na ụdị EZSP nke akụkụ ndị ọbịa, a ga-ewepụ nkwurịta okwu ahụ.

Ihe doro anya chọrọ n'azụ nke a bụ na usoro nke iwu ụdị nwere ikeAGHỊGHỊ GBANWEE. Usoro iwu ụdị EZSP dị ka n'okpuru:

5

Enwere ike ịchọta nkọwa nke ubi paramita na usoro nzaghachi ụdị na isi 4 nke UG100. Mpaghara oke bụ ụdị EZSP nke mmemme nnabata. Mgbe edere akụkọ a, ọ bụ 8.
7
Ihe:TorchIoTBootCamp
Aha ya: https://zhuanlan.zhihu.com/p/339700391
来源:知乎
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

2.2. Nhazi data

A na-akọwa usoro nhazi zuru ezu na ngalaba 4.3 nke UG101. A ga-ahazi etiti EZSP niile. Nhazi ahụ bụ naanị-MA ọ bụ etiti EZSP yana usoro pseudo-random.

N'okpuru ebe a bụ algọridim nke imepụta usoro pseudo-random.

  • rand0 = 0×42
  • Ọ bụrụ na bit 0 nke randi bụ 0, randi+1 = randi >> 1
  • Ọ bụrụ na bit 0 nke randi bụ 1, randi+1 = (randi >> 1) ^ 0xB8

2.3. Tinye Ogwe njikwa

Obyte njikwa bụ data otu byte, ma ekwesịrị itinye ya na isi nke etiti ahụ. E gosipụtara usoro a na tebụl dị n'okpuru:

6

Na mkpokọta, enwere ụdị bytes njikwa 6. A na-eji atọ mbụ maka okpokolo agba nkịtị nwere data EZSP, gụnyere DATA, ACK na NAK. A na-eji atọ ikpeazụ na-enweghị data EZSP nkịtị, gụnyere RST, RSTACK na ERROR.

A kọwara usoro nke RST, RSTACK na ERROR na ngalaba 3.1 ruo 3.3.

2.4. Gbakọọ CRC

A na-agbakọ CRC 16-bit na bytes site na byte njikwa ruo na njedebe nke data. Ọkọlọtọ CRCCCITT (g(x) = x16 + x12 + x5 + 1) ka ebidoro ka ọ bụrụ 0xFFFF. Byte kacha dị mkpa na-ebute opekata mpe mpe mpe mpe (ụdị nnukwu-endian).

2.5. Ngwunye Byte

Dịka akọwara na ngalaba 4.2 nke UG101, enwere ụfọdụ ụkpụrụ byte edobere ejiri maka ebumnuche pụrụ iche. Enwere ike ịhụ ụkpụrụ ndị a na tebụl na-esonụ:

7

Mgbe ụkpụrụ ndị a pụtara na etiti ahụ, a ga-eme ọgwụgwọ pụrụ iche na data ahụ. - Tinye byte 0x7D mgbapụ n'ihu byte echekwara - tụgharịa bit5 nke byte ahụ echekwara

N'okpuru bụ ọmụmaatụ ụfọdụ algọridim a:

8

2.6. Tinye Ọkọlọtọ Ọgwụgwụ

Nzọụkwụ ikpeazụ bụ ịgbakwunye ọkọlọtọ njedebe 0x7E na njedebe nke etiti ahụ. Mgbe nke ahụ gasịrị, enwere ike iziga data ahụ na ọdụ ụgbọ mmiri UART.

3. De-framing Usoro

Mgbe enwetara data sitere na UART, naanị anyị kwesịrị ime usoro ntụgharị iji decode ya.

4. Ntụaka


Oge nzipu: Feb-08-2022
Mkparịta ụka WhatsApp n'ịntanetị!