ደራሲ፡TorchIoTBootCamp
ማገናኛ፡https://zhuanlan.zhihu.com/p/339700391
ከ፡ ኩራ
1. መግቢያ
ሲሊኮን ላብስ ለዚግቤ ጌትዌይ ዲዛይን የአስተናጋጅ+NCP መፍትሄ አቅርቧል። በዚህ አርክቴክቸር አስተናጋጁ ከኤንሲፒ ጋር በUART ወይም SPI በይነገጽ በኩል መገናኘት ይችላል። በአብዛኛው፣ UART ከ SPI በጣም ቀላል ስለሆነ ጥቅም ላይ ይውላል።
የሲሊኮን ላብስ ለአስተናጋጁ ፕሮግራም ናሙና ፕሮጀክት አቅርቧል, ይህም ናሙና ነውZ3Gateway አስተናጋጅ
. ናሙናው በዩኒክስ መሰል ስርዓት ላይ ይሰራል። አንዳንድ ደንበኞች በ RTOS ላይ የሚሰራ የአስተናጋጅ ናሙና ሊፈልጉ ይችላሉ፣ ግን በሚያሳዝን ሁኔታ፣ ለጊዜው በRTOS ላይ የተመሰረተ አስተናጋጅ ናሙና የለም። ተጠቃሚዎች በ RTOS ላይ በመመስረት የራሳቸውን የአስተናጋጅ ፕሮግራም ማዘጋጀት አለባቸው.
ብጁ አስተናጋጅ ፕሮግራም ከማዘጋጀትዎ በፊት የ UART ጌትዌይ ፕሮቶኮልን መረዳት በጣም አስፈላጊ ነው። ለሁለቱም UART ላይ ለተመሰረተ NCP እና SPI መሰረት ያለው NCP፣ አስተናጋጁ ከኤንሲፒ ጋር ለመገናኘት የEZSP ፕሮቶኮልን ይጠቀማል።EZSPአጭር ነው።EmberZnet ተከታታይ ፕሮቶኮል፣ እና በ ውስጥ ይገለጻል።UG100. በUART ላይ ለተመሰረተ NCP፣ ዝቅተኛ የንብርብሮች ፕሮቶኮል የ EZSP መረጃን በ UART ላይ በአስተማማኝ ሁኔታ ለማሸከም ይተገበራል፣ ያ ነውአሽፕሮቶኮል ፣ አጭር ለያልተመሳሰለ ተከታታይ አስተናጋጅ. ስለ ASH ተጨማሪ ዝርዝሮችን ለማግኘት እባክዎ ይመልከቱUG101እናUG115.
በ EZSP እና ASH መካከል ያለው ግንኙነት በሚከተለው ንድፍ ሊገለጽ ይችላል፡-
የ EZSP እና የ ASH ፕሮቶኮል የውሂብ ቅርጸት በሚከተለው ንድፍ ሊገለጽ ይችላል፡-
በዚህ ገፅ የ UART ውሂብን እና በዚግቤ መግቢያ በር ላይ በተደጋጋሚ ጥቅም ላይ የሚውሉ አንዳንድ ቁልፍ ፍሬሞችን የማዘጋጀት ሂደትን እናስተዋውቃለን።
2. ፍሬም መፍጠር
አጠቃላይ የፍሬም ሂደት በሚከተለው ገበታ ሊገለጽ ይችላል፡
በዚህ ገበታ, መረጃው የ EZSP ፍሬም ማለት ነው. በአጠቃላይ፣ የፍሬም ሂደቶቹ፡ |አይ|እርምጃ|ማጣቀሻ| ናቸው።
|::-|:-|:-|
|1|የ EZSP ፍሬሙን ሙላ|UG100|
|2|የመረጃ ራንደምላይዜሽን|ክፍል 4.3 የ UG101|
|3|የመቆጣጠሪያ ባይት|Chap2 እና Chap3 of UG101| ያክሉ
|4|CRC|ክፍል 2.3 የ UG101| አስላ
|5|ባይት ዕቃዎች|ክፍል 4.2 የ UG101|
|6|የመጨረሻ ባንዲራ ጨምር|ክፍል 2.4 የ UG101|
2.1. የ EZSP ፍሬሙን ይሙሉ
የEZSP ፍሬም ቅርጸት በUG100 በምዕራፍ 3 ላይ ተገልጿል::
ኤስዲኬ ሲያሻሽል ይህ ቅርጸት ሊለወጥ እንደሚችል ልብ ይበሉ። ቅርጸቱ ሲቀየር አዲስ ቁጥር እንሰጠዋለን። ይህ ጽሑፍ በሚጻፍበት ጊዜ የመጨረሻው የ EZSP ስሪት ቁጥር 8 ነው (EmberZnet 6.8)።
የ EZSP ፍሬም ቅርጸት በተለያዩ ስሪቶች መካከል ሊለያይ ስለሚችል፣ አስተናጋጁ እና NCP የግዴታ መስፈርት አለየግድከተመሳሳዩ EZSP ስሪት ጋር ይስሩ. አለበለዚያ እነሱ እንደተጠበቀው መገናኘት አይችሉም.
ያንን ለማግኘት በአስተናጋጁ እና በ NCP መካከል ያለው የመጀመሪያው ትዕዛዝ የስሪት ትዕዛዝ መሆን አለበት. በሌላ አነጋገር አስተናጋጁ ከማንኛውም ግንኙነት በፊት የ EZSP የ NCP ስሪት ሰርስሮ ማውጣት አለበት። የ EZSP ስሪት ከአስተናጋጁ ጎን ከ EZSP ስሪት ጋር የተለየ ከሆነ ግንኙነቱ ማቋረጥ አለበት።
ከዚህ በስተጀርባ ያለው ስውር መስፈርት የስሪት ትዕዛዙ ቅርጸት ሊሆን ይችላልበጭራሽ አትቀይር. የ EZSP ሥሪት ትእዛዝ ቅርጸት እንደሚከተለው ነው።
链接:https://zhuanlan.zhihu.com/p/339700391
来源:知乎
著作权归作者所有。商业载请联系作者获得授权,非商业转载请注明出处。
2.2. የውሂብ በዘፈቀደ ማድረግ
ዝርዝር የዘፈቀደ ሂደት በ UG101 ክፍል 4.3 ውስጥ ተገልጿል. መላው የEZSP ፍሬም በዘፈቀደ ይሆናል። የዘፈቀደነቱ ለልዩ-ወይም ለ EZSP ፍሬም እና የውሸት-የዘፈቀደ ቅደም ተከተል ነው።
ከዚህ በታች የውሸት-የዘፈቀደ ቅደም ተከተል የማመንጨት ስልተ ቀመር ነው።
- ራንድ0 = 0×42
- የራንዲ ቢት 0 ከሆነ 0፣ ራንዲ+1 = ራንዲ >> 1
- የራንዲ ቢት 0 1 ከሆነ፣ ራንዲ+1 = (ራንዲ >> 1) ^ 0xB8
2.3. የመቆጣጠሪያ ባይት አክል
የመቆጣጠሪያ ባይት አንድ ባይት ውሂብ ነው, እና ወደ ፍሬም ራስ መጨመር አለበት. ቅርጸቱ ከዚህ በታች ካለው ሰንጠረዥ ጋር ተብራርቷል፡-
በአጠቃላይ 6 ዓይነት የቁጥጥር ባይት ዓይነቶች አሉ። የመጀመሪያዎቹ ሦስቱ ለተለመዱ ክፈፎች ከ EZSP ውሂብ ጋር ጥቅም ላይ ይውላሉ፣ DATA፣ ACK እና NAK ጨምሮ። የመጨረሻዎቹ ሶስት RST፣ RSTACK እና ERRORን ጨምሮ ያለ የጋራ EZSP ውሂብ ጥቅም ላይ ይውላሉ።
የ RST፣ RSTACK እና ERROR ቅርጸት በክፍል 3.1 እስከ 3.3 ተገልጸዋል።
2.4. CRCን አስሉ
ባለ 16-ቢት CRC ከመቆጣጠሪያ ባይት እስከ መረጃው መጨረሻ ድረስ በባይት ይሰላል። መደበኛው CRCCCITT (g (x) = x16 + x12 + x5 + 1) የተጀመረው ወደ 0xFFFF ነው። በጣም ጉልህ የሆነው ባይት በትንሹ ጉልህ ባይት (ትልቅ-ኤንዲያን ሞድ) ይቀድማል።
2.5. ባይት ዕቃዎች
በ UG101 ክፍል 4.2 እንደተገለፀው፣ ለልዩ ዓላማ የሚያገለግሉ የተወሰኑ የተጠበቁ ባይት እሴቶች አሉ። እነዚህ እሴቶች በሚከተለው ሠንጠረዥ ውስጥ ይገኛሉ፡-
እነዚህ እሴቶች በማዕቀፉ ውስጥ በሚታዩበት ጊዜ, በመረጃው ላይ ልዩ ህክምና ይደረጋል. - የማምለጫ ባይት 0x7D ከተያዘው ባይት ፊት ለፊት አስገባ - የተያዘውን ባይት ቢት5 ገልብጥ
የዚህ ስልተ ቀመር አንዳንድ ምሳሌዎች ከዚህ በታች አሉ።
2.6. የመጨረሻውን ባንዲራ ያክሉ
የመጨረሻው ደረጃ የመጨረሻውን ባንዲራ 0x7E ወደ ክፈፉ መጨረሻ መጨመር ነው. ከዚያ በኋላ ውሂቡ ወደ UART ወደብ ሊላክ ይችላል.
3. የፍሬሚንግ ሂደት
ውሂብ ከ UART ሲደርሰው፣ እሱን ለመፍታት የተገላቢጦሽ እርምጃዎችን ብቻ ማድረግ አለብን።
4. ማጣቀሻዎች
የልጥፍ ጊዜ: የካቲት-08-2022