Mu Zigbee EZSP UART

Ùghdar:TorchIoTBootCamp
Ceangal: https://zhuanlan.zhihu.com/p/339700391
Bho: Quora

1. Ro-ràdh

Tha Silicon Labs air fuasgladh aoigheachd + NCP a thabhann airson dealbhadh geata Zigbee.Anns an ailtireachd seo, faodaidh an aoigh conaltradh leis an NCP tro eadar-aghaidh UART no SPI.Mar as trice, bidh UART air a chleachdadh oir tha e tòrr nas sìmplidh na SPI.

Tha Silicon Labs cuideachd air pròiseact sampall a thoirt seachad airson a’ phrògram aoigheachd, is e sin an sampallZ3GatewayHost.Bidh an sampall a’ ruith air siostam coltach ri Unix.Is dòcha gum bi cuid de luchd-ceannach ag iarraidh sampall aoigheachd a dh’ fhaodas ruith air RTOS, ach gu mì-fhortanach, chan eil sampall aoigheachd stèidhichte air RTOS aig an àm seo.Feumaidh luchd-cleachdaidh am prògram aoigheachd aca fhèin a leasachadh stèidhichte air RTOS.

Tha e cudromach tuigsinn protocol geata UART mus leasaich thu prògram aoigheachd gnàthaichte.Airson an dà chuid NCP stèidhichte air UART agus NCP stèidhichte air SPI, bidh an aoigh a’ cleachdadh protocol EZSP gus conaltradh leis an NCP.EZSPtha goirid airsonPròtacal sreath EmberZnet, agus tha e air a mhìneachadh ann anUG100.Airson NCP stèidhichte air UART, tha protocol ìre nas ìsle air a chuir an gnìomh gus dàta EZSP a ghiùlan gu earbsach thairis air UART, is e sin anASHpròtacal, goirid airsonNeach-aoigheachd sreathach asyncronach.Airson tuilleadh fiosrachaidh mu ASH, thoir sùil airUG101agusUG115.

Faodar an dàimh eadar EZSP agus ASH a nochdadh leis an diagram a leanas:

1

Faodar cruth dàta an EZSP agus protocol ASH a nochdadh leis an diagram a leanas:

2

Air an duilleig seo, bheir sinn a-steach pròiseas frèam dàta UART agus cuid de phrìomh fhrèaman a bhios gu tric air an cleachdadh ann an geata Zigbee.

2. Frameing

Faodar am pròiseas frèam coitcheann a nochdadh leis a’ chairt a leanas:

3

Anns a’ chairt seo, tha an dàta a’ ciallachadh frèam EZSP.San fharsaingeachd, is iad na pròiseasan frèam: | Chan eil | Ceum | Iomradh |

|:-|:-|:-|

|1|Lìon am frèam EZSP|UG100|

|2|Tarraing dàta|Earrann 4.3 de UG101|

|3|Cuir ris an Control Byte | Caibideil 2 agus Caibideil 3 de UG101|

|4|Dèan obrachadh a-mach an CRC|Earrann 2.3 de UG101|

|5|Stuffing Byte|Earrann 4.2 de UG101|

|6|Cuir a' Bhratach Dheireannach ris|Earrann 2.4 de UG101|

2.1.Lìon am frèam EZSP

Tha cruth frèam EZSP ri fhaicinn ann an Caibideil 3 de UG100.

4

Thoir an aire gum faodadh an cruth seo atharrachadh nuair a bhios an SDK ag ùrachadh.Nuair a dh’ atharraicheas an cruth, bheir sinn àireamh dreach ùr dha.Is e an àireamh dreach EZSP as ùire 8 nuair a thèid an artaigil seo a sgrìobhadh (EmberZnet 6.8).

Leis gum faodadh cruth frèam EZSP a bhith eadar-dhealaichte eadar diofar dhreachan, tha riatanas èigneachail ann gum bi an aoigh agus an NCPFEUMAIDHobraich leis an aon dreach EZSP.Rud eile, chan urrainn dhaibh conaltradh mar a bhiodh dùil.

Gus sin a choileanadh, feumaidh a’ chiad àithne eadar an t-òstair agus an NCP a bhith mar an àithne dreach.Ann am faclan eile, feumaidh an aoigh an dreach EZSP den NCP fhaighinn air ais ro chonaltradh sam bith eile.Ma tha an dreach EZSP eadar-dhealaichte leis an dreach EZSP air an taobh aoigheachd, feumar stad a chuir air a’ chonaltradh.

Is e an riatanas so-thuigsinn air cùl seo gum faod cruth an àithne dreachCHAN EIL ATHARRACHADH.Tha cruth àithne dreach EZSP mar gu h-ìosal:

5

Gheibhear na mìneachaidhean air an raon paramadair agus cruth freagairt an tionndaidh ann an Caibideil 4 de UG100.Is e an raon paramadair an dreach EZSP den phrògram aoigheachd.Nuair a thèid an artaigil seo a sgrìobhadh, is e 8 a th’ ann.
7
Luchdaich sìos: TorchIoTBootCamp
Làrach-lìn: https://zhuanlan.zhihu.com/p/339700391
来源:知乎
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明。

2.2.Randomization dàta

Tha am pròiseas air thuaiream mionaideach air a mhìneachadh ann an earrann 4.3 de UG101.Bidh am frèam EZSP gu lèir air thuaiream.Tha an cuairteachadh gu toirmeasgach-NO frèam EZSP agus sreath meallta-air thuaiream.

Gu h-ìosal tha an algairim de bhith a’ gineadh an t-sreath meallta-air thuaiream.

  • 0 = 0 × 42
  • ma tha bit 0 de Rwandan franc is 0, randi+1 = randi >> 1
  • ma tha bit 0 de randi is 1, randi+1 = (randi >> 1) ^ 0xB8

2.3.Cuir ris an Control Byte

Is e dàta aon byte a th’ anns an smachd byte, agus bu chòir a chur ri ceann an fhrèam.Tha an cruth air a nochdadh leis a’ chlàr gu h-ìosal:

6

Gu h-iomlan, tha 6 seòrsaichean smachd bytes ann.Tha a 'chiad trì air an cleachdadh airson frèaman cumanta le dàta EZSP, a' gabhail a-steach DATA, ACK agus NAK.Tha na trì mu dheireadh air an cleachdadh às aonais dàta cumanta EZSP, a’ toirt a-steach RST, RSTACK agus ERROR.

Tha cruth an RST, RSTACK agus ERROR air am mìneachadh ann an roinnean 3.1 gu 3.3.

2.4.Obraich a-mach an CRC

Tha CRC 16-bit air a thomhas air bytes bhon smachd byte gu deireadh an dàta.Tha an CRCCCITT àbhaisteach (g(x) = x16 + x12 + x5 + 1) air a thòiseachadh gu 0xFFFF.Tha am byte as cudromaiche a’ tighinn ron byte as cudromaiche (modh mòr-endian).

2.5.Stuffing Byte

Mar a chaidh a mhìneachadh ann an earrann 4.2 de UG101, tha cuid de luachan byte glèidhte air an cleachdadh airson adhbhar sònraichte.Gheibhear na luachan sin anns a’ chlàr a leanas:

7

Nuair a nochdas na luachan sin san fhrèam, thèid làimhseachadh sònraichte a dhèanamh ris an dàta.- Cuir a-steach am byte teicheadh ​​0x7D air beulaibh a’ bhidh glèidhte - Cuir air ais am bit5 den byte glèidhte sin

Gu h-ìosal tha eisimpleirean den algorithm seo:

8

2.6.Cuir ris a’ Bhratach Dheireannach

Is e an ceum mu dheireadh am bratach deiridh 0x7E a chur ri deireadh an fhrèam.Às deidh sin, faodar an dàta a chuir gu port UART.

3. Pròiseas dì-fhrèamadh

Nuair a gheibhear dàta bhon UART, chan fheum sinn ach na ceumannan cùil a dhèanamh gus a chòdachadh.

4. Iomraidhean


Ùine a’ phuist: Feb-08-2022
Còmhradh WhatsApp air-loidhne!