Mu dheidhinn Zigbee EZSP UART

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

1. Ro-ràdh

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

Tha Silicon Labs cuideachd air pròiseact sampall a thoirt seachad airson a’ phrògraim aoigheachd, is e sin an sampallZ3GatewayHostBidh an sampall ag obair air siostam coltach ri Unix. Is dòcha gum bi cuid de luchd-ceannach ag iarraidh sampall aoigheachd as urrainn ruith air RTOS, ach gu mì-fhortanach, chan eil sampall aoigheachd stèidhichte air RTOS ann an-dràsta. Feumaidh luchd-cleachdaidh am prògram aoigheachd fhèin a leasachadh stèidhichte air RTOS.

Tha e cudromach tuigse fhaighinn air pròtacal geata UART mus tèid prògram aoigheachd gnàthaichte a leasachadh. Airson an dà chuid NCP stèidhichte air UART agus NCP stèidhichte air SPI, bidh an aoigheachd a’ cleachdadh pròtacal EZSP gus conaltradh leis an NCP.EZSPgoirid airsonPròtacal Sreathach EmberZnet, agus tha e air a mhìneachadh ann anUG100Airson NCP stèidhichte air UART, tha pròtacal ìre nas ìsle air a chur an gnìomh gus dàta EZSP a ghiùlan gu earbsach thairis air UART, is e sin anASHprotocol, goirid airsonAoigh Sreathach Neo-shioncronachAirson tuilleadh fiosrachaidh mu ASH, thoir sùil airUG101agusUG115.

Faodar an dàimh eadar EZSP agus ASH a mhìneachadh leis an diagram a leanas:

1

Faodar cruth dàta an EZSP agus am pròtacal ASH a mhìneachadh leis an diagram a leanas:

2

Air an duilleag seo, cuiridh sinn a-steach am pròiseas airson dàta UART a fhrèamadh agus cuid de na prìomh fhrèamaichean a thathas a’ cleachdadh gu tric ann an geata Zigbee.

2. Frèamadh

Faodar am pròiseas frèamaidh coitcheann a mhìneachadh leis a’ chairt a leanas:

3

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

|:-|:-|:-|

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

|2|Randomachadh Dàta|Earrann 4.3 de UG101|

|3|Cuir ris a’ Bhìde Smachd|Caibideil 2 agus Caibideil 3 de UG101|

|4|Obraich a-mach an CRC|Earrann 2.3 de UG101|

|5|Lìonadh Baidhtichean|Earrann 4.2 de UG101|

|6|Cuir a’ Bhratach Deireannach ris|Earrann 2.4 de UG101|

2.1. Lìon Frèam EZSP

Tha cruth frèam EZSP air a mhìneachadh ann an Caibideil 3 de UG100.

4

Thoir an aire gum faodadh an cruth seo atharrachadh nuair a thèid an SDK ùrachadh. Nuair a dh’atharraicheas an cruth, bheir sinn àireamh tionndaidh ùr dha. Is e 8 an àireamh tionndaidh as ùire den EZSP nuair a chaidh 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, cha bhith e comasach dhaibh conaltradh mar a bhiodh dùil.

Gus sin a choileanadh, feumaidh a’ chiad àithne eadar an aoigh agus an NCP a bhith na àithne dreach. Ann am faclan eile, feumaidh an aoigh an dreach EZSP den NCP fhaighinn air ais mus tèid conaltradh sam bith eile a dhèanamh. Ma tha an dreach EZSP eadar-dhealaichte bhon dreach EZSP air taobh an aoigh, feumar an conaltradh a stad.

Is e an riatanas neo-dhìreach air cùl seo gum faod cruth an àithne dreachdNA ATHARRAICH GU BRÀTHTha cruth an àithne EZSP mar a leanas:

5

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

2.2. Dàta air thuaiream

Tha am pròiseas mionaideach airson an cur air thuaiream air a mhìneachadh ann an earrann 4.3 de UG101. Thèid frèam EZSP gu lèir a chur air thuaiream. Bidh an cur air thuaiream a’ dol a-mach à frèam EZSP agus sreath meallta-air-thuaiream.

Gu h-ìosal tha an algairim airson an sreath meallta-air thuaiream a chruthachadh.

  • rand0 = 0 × 42
  • ma tha bit 0 de randi co-ionann ri 0, randi+1 = randi >> 1
  • ma tha bit 0 de randi co-ionann ri 1, randi+1 = (randi >> 1) ^ 0xB8

2.3. Cuir ris a’ Bhìde Smachd

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

6

Gu h-iomlan, tha 6 seòrsaichean de bhàtaichean smachd ann. Tha a’ chiad trì air an cleachdadh airson frèamaichean cumanta le dàta EZSP, nam measg DATA, ACK agus NAK. Tha na trì mu dheireadh air an cleachdadh às aonais dàta EZSP cumanta, nam measg RST, RSTACK agus ERROR.

Tha cruth an RST, RSTACK agus ERROR air a mhìneachadh ann an earrann 3.1 gu 3.3.

2.4. Obraich a-mach an CRC

Tha CRC 16-bit air a thomhas air bytes bhon byte smachd 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 lugha cudromach (modh big-endian).

2.5. Lìonadh Baidht

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

7

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

Seo eisimpleirean den algairim seo:

8

2.6. Cuir ris a’ Bhratach Deireannach

Is e an ceum mu dheireadh bratach-deireadh 0x7E a chur ri ceann na frèam. Às dèidh sin, faodar an dàta a chur chun phort 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 dhì-chòdachadh.

4. Tùsan


Àm puist: 8 Gearran 2022
Còmhradh air-loidhne WhatsApp!