Mawallafi: TorchIoTBootCamp
Yanar Gizo: https://zhuanlan.zhihu.com/p/339700391
Daga: Quora
1. Gabatarwa
Kamfanin Silicon Labs ya bayar da mafita ta host+NCP don ƙirar ƙofar Zigbee. A cikin wannan tsarin, mai masaukin zai iya sadarwa da NCP ta hanyar UART ko SPI interface. Yawanci, ana amfani da UART saboda ya fi sauƙi fiye da SPI.
Kamfanin Silicon Labs ya kuma samar da samfurin aikin shirin mai masaukin baki, wanda shine samfurinMai watsa shiri na Z3GatewaySamfurin yana gudana akan tsarin Unix. Wasu abokan ciniki na iya son samfurin mai masauki wanda zai iya aiki akan RTOS, amma abin takaici, babu samfurin mai masaukin da aka gina akan RTOS a yanzu. Masu amfani suna buƙatar haɓaka shirin mai masaukin nasu bisa RTOS.
Yana da mahimmanci a fahimci yarjejeniyar ƙofar UART kafin a ƙirƙiri wani shiri na musamman na mai masaukin baki. Ga duka NCP da NCP da ke tushen UART da kuma SPI, mai masaukin yana amfani da yarjejeniyar EZSP don sadarwa da NCP.EZSPgajere ne gaYarjejeniyar Serial ta EmberZnet, kuma an bayyana shi a cikinUG100Ga NCP mai tushen UART, ana aiwatar da ƙa'idar ƙaramin Layer don ɗaukar bayanan EZSP cikin aminci akan UART, watoASHyarjejeniya, gajere donMai watsa shirye-shiryen Serial na AsynchronousDon ƙarin bayani game da ASH, da fatan za a dubaUG101kumaUG115.
Ana iya kwatanta alaƙar da ke tsakanin EZSP da ASH ta hanyar zane mai zuwa:
Za a iya kwatanta tsarin bayanai na EZSP da yarjejeniyar ASH ta hanyar zane mai zuwa:
A cikin wannan shafin, za mu gabatar da tsarin tsara bayanai na UART da wasu firam ɗin maɓalli waɗanda ake amfani da su akai-akai a cikin ƙofar Zigbee.
2. Tsarin tsari
Za a iya misalta tsarin tsarin gabaɗaya ta hanyar ginshiƙi mai zuwa:
A cikin wannan jadawalin, bayanai suna nufin tsarin EZSP. Gabaɗaya, hanyoyin tsara tsarin sune: |A'a|Mataki|Nazari|
|:-|:-|:-|
|1|Cika Tsarin EZSP|UG100|
|2|Rarraba Bayanai|Sashe na 4.3 na UG101|
|3|Ƙara Ikon Byte|Babi na 2 da Babi na 3 na UG101|
|4|Kidaya CRC|Sashe na 2.3 na UG101|
|5|Cika Baiti|Sashe na 4.2 na UG101|
|6|Ƙara Tutar Ƙarshe|Sashe na 2.4 na UG101|
2.1. Cika Tsarin EZSP
An nuna tsarin firam ɗin EZSP a Babi na 3 na UG100.
Kula cewa wannan tsarin na iya canzawa lokacin da aka haɓaka SDK. Idan tsarin ya canza, za mu ba shi sabuwar lambar sigar. Sabuwar lambar sigar EZSP ita ce 8 lokacin da aka rubuta wannan labarin (EmberZnet 6.8).
Ganin cewa tsarin firam na EZSP na iya bambanta tsakanin nau'ikan daban-daban, akwai buƙatar tilas cewa mai masaukin baki da NCPDole nesuna aiki da sigar EZSP iri ɗaya. In ba haka ba, ba za su iya sadarwa kamar yadda ake tsammani ba.
Domin cimma hakan, umarni na farko tsakanin mai masaukin baki da NCP dole ne ya zama umarnin sigar. A wata ma'anar, mai masaukin baki dole ne ya dawo da sigar EZSP ta NCP kafin wata sadarwa. Idan sigar EZSP ta bambanta da sigar EZSP ta ɓangaren mai masaukin baki, dole ne a dakatar da sadarwa.
Bukatar da ke bayan wannan ita ce tsarin umarnin sigar zai iyaKADA KA CANJATsarin umarnin sigar EZSP kamar haka ne a ƙasa:
Yanar Gizo: https://zhuanlan.zhihu.com/p/339700391
来源:知乎
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
2.2. Rarraba Bayanai
An bayyana cikakken tsarin bazuwar a cikin sashe na 4.3 na UG101. Za a yi bazuwar gaba ɗaya ta tsarin EZSP. Bazuwar za ta kasance ta musamman ko ta tsarin EZSP da kuma jerin da bazuwar ba.
Ga tsarin samar da jerin abubuwan da ba a saba gani ba a ƙasa.
- rand0 = 0×42
- Idan bit 0 na randi shine 0, randi+1 = randi >> 1
- idan bit 0 na randi shine 1, randi+1 = (randi >> 1) ^ 0xB8
2.3. Ƙara Takardar Sarrafawa
byte ɗin sarrafawa bayanai ne na byte ɗaya, kuma ya kamata a ƙara shi a kan firam ɗin. An kwatanta tsarin da teburin da ke ƙasa:
Gabaɗaya, akwai nau'ikan byte na sarrafawa guda 6. Ana amfani da uku na farko don firam ɗin gama gari tare da bayanan EZSP, gami da DATA, ACK da NAK. Ana amfani da uku na ƙarshe ba tare da bayanan EZSP gama gari ba, gami da RST, RSTACK da ERROR.
An bayyana tsarin RST, RSTACK da ERROR a sashe na 3.1 zuwa 3.3.
2.4. Lissafa CRC
Ana ƙididdige CRC mai bit 16 akan bytes daga byte na sarrafawa har zuwa ƙarshen bayanan. An fara daidaitaccen CRCCCITT (g(x) = x16 + x12 + x5 + 1) zuwa 0xFFFF. Mafi mahimmancin byte yana gaban mafi ƙarancin byte mai mahimmanci (yanayin big-endian).
2.5. Cikewar Baiti
Kamar yadda aka bayyana a sashe na 4.2 na UG101, akwai wasu ƙimomin byte da aka tanada waɗanda aka yi amfani da su don dalilai na musamman. Ana iya samun waɗannan ƙimomin a cikin tebur mai zuwa:
Idan waɗannan dabi'u suka bayyana a cikin firam ɗin, za a yi wani tsari na musamman ga bayanan. – Saka byte na tserewa 0x7D a gaban byte da aka tanada – Juya bit5 na wannan byte da aka tanada
Ga wasu misalan wannan algorithm:
2.6. Ƙara Tutar Ƙarshe
Mataki na ƙarshe shine a ƙara tutar ƙarshe 0x7E a ƙarshen firam ɗin. Bayan haka, ana iya aika bayanan zuwa tashar UART.
3. Tsarin Rufe Firam
Idan aka karɓi bayanai daga UART, kawai muna buƙatar yin matakan da suka biyo baya don fassara shi.
4. Nassoshi
Lokacin Saƙo: Fabrairu-08-2022








