De Zigbee EZSP UART

Auctor:TorchIoTBootCamp
Link:https://zhuanlan.zhihu.com/p/339700391
Ex:Quora

1. Introductio

Silicon Labs solutionem "host+NCP" ad designandum portam Zigbee obtulit. In hac architectura, hospes cum NCP per interfaciem UART vel SPI communicare potest. Saepe UART adhibetur, quia multo simplicior est quam SPI.

Silicon Labs etiam exemplar propositi pro programmate hospite praebuit, quod est exemplum.Z3GatewayHostExemplum in systemate Unix simili currit. Quidam clientes exemplum hospitis quod in RTOS currere potest fortasse desiderant, sed infeliciter, nullum exemplum hospitis in RTOS fundatum in praesenti exstat. Usuarii suum proprium programma hospitis in RTOS fundatum evolvere debent.

Protocollum portae UART intellegere interest antequam programma hospitis personalizatum evolvatur. Tam pro NCP UART quam pro NCP SPI fundato, hospes protocollo EZSP utitur ad communicandum cum NCP.EZSPest brevis proProtocollum Seriale EmberZnet, et definitur inUG100Pro NCP fundato in UART, protocollum strati inferioris implementatur ad notitias EZSP fideliter per UART transportandas, quod est...CINISprotocollum, abbreviatio proHospes Serialis AsynchronusPlura de ASH scire cupientes videant.UG101etUG115.

Relatio inter EZSP et ASH hoc diagramma illustrari potest:

1

Forma datorum EZSP et protocolli ASH hoc diagramma illustrari potest:

Duo

In hac pagina, processum conformationis datorum UART et nonnullas structuras clavium quae saepe in porta Zigbee adhibentur, introducemus.

2. Formatio

Processus generalis structurae faciendae hac tabula illustrari potest:

Tres

In hac tabula, data significant structuram EZSP. In genere, processus structurae sunt: ​​|Nullum|Gradus|Referentia|

|:-|:-|:-|

|1|Imple EZSP Frame|UG100|

|2|Randomizatione Datorum|Sectio 4.3 UG101|

|3|Adde octetum moderatorium|Caput 2 et Caput 3 UG101|

|4|CRC computa|Sectio 2.3 UG101|

|5|Byte Stuffing|Sectio 4.2 UG101|

|6|Vexillum Finis Adde|Sectio 2.4 UG101|

2.1. Imple Quadrum EZSP

Forma tramae EZSP in Capite tertio libri UG100 illustratur.

quattuor

Cave ne hoc formatum mutetur cum SDK renovatur. Cum formatum mutatur, novum numerum versionis ei dabimus. Numerus versionis EZSP recentissimus est 8 cum hic articulus scribitur (EmberZnet 6.8).

Cum forma tramae EZSP inter versiones diversas differre possit, necesse est ut hospes et NCP...DEBETCum eadem versione EZSP operantur. Alioquin, ut expectatur, communicare non possunt.

Ad hoc assequendum, primum mandatum inter computatrum principale et NCP debet esse mandatum versionis. Aliis verbis, computatrum principale versionem EZSP computatri principalis ante quamlibet aliam communicationem recuperare debet. Si versio EZSP a versione EZSP partis computatri principalis differt, communicatio interrumpenda est.

Postulata huius postulatio est ut forma mandati versionis possitNUMQUAM MUTAForma mandati versionis EZSP infra se habet:

quinque

Explicationes campi parametri et formae responsionis versionis inveniri possunt in Capite 4 UG100. Campus parametri est versio EZSP programmatis hospitis. Cum hic articulus scribitur, est 8.
VII
TorchIoTBootCamp
https://zhuanlan.zhihu.com/p/339700391
来源: 知乎
.

2.2. Randomizatio Datorum

Processus randomizationis accuratus in sectione 4.3 UG101 describitur. Totum schema EZSP randomizabitur. Randomizatio fit per operationem OR exclusivi inter schema EZSP et seriem pseudo-fortuitatam.

Infra est algorithmus generandi seriem pseudo-fortuitatam.

  • rand0 = 0×42
  • Si pars 0 functionis randi est 0, randi+1 = randi >> 1.
  • Si pars 0 functionis randi est 1, randi+1 = (randi >> 1) ^ 0xB8

2.3. Adde Byte Moderationis

Octetum moderatorium (vel "control byte") est notitia unius octeti, et ad caput tramae addenda est. Forma in tabula infra illustratur:

sex

Sex genera octetorum moderandorum in summa sunt. Tria prima ad communes imagines cum datis EZSP adhibentur, inter quae DATA, ACK et NAK. Tria ultima sine communibus datis EZSP adhibentur, inter quae RST, RSTACK et ERROR.

Forma RST, RSTACK et ERROR in sectionibus 3.1 ad 3.3 describitur.

2.4. CRC computa.

CRC sedecim-bitorum in octetis a octeto moderatorio usque ad finem datorum computatur. CRCCCITT normatum (g(x) = x16 + x12 + x5 + 1) ad 0xFFFF initiatur. Octetus maximi momenti octetum minimum momenti praecedit (modo big-endian).

2.5. Farcimen Byte

Ut in sectione 4.2 UG101 describitur, nonnulli valores octetorum reservati ad usum specialem adhibentur. Hi valores in tabula sequenti inveniri possunt:

VII

Cum hi valores in quadro apparent, tractatio specialis datis adhibebitur. – Insere octetum evasionis 0x7D ante octetum reservatum – Inverte bit5 illius octeti reservati

Infra sunt exempla huius algorithmi:

VIII

2.6. Vexillum Finis Adde

Gradus ultimus est vexillum finale 0x7E ad finem tramae addere. Post hoc, data ad portum UART mitti possunt.

3. Processus Deframing

Cum data ab UART accepta sunt, tantum gradus inversos ad ea decodificanda facere debemus.

4. Referentiae


Tempus publicationis: VIII Februarii, MMXXII
Colloquium WhatsApp Interretiale!