וועגן זיגבעע ezsp Uart

מחבר: טאָרטשיאָטבאָאָטקאַמפּ
לינק: https: //zhuanlan.zhihu.com/p/339700391
פֿון: Quora

1. הקדמה

סילאַן לאַבס געפֿינט אַ באַלעבאָס + NCP לייזונג פֿאַר זיגבעע גאַטעווייַ פּלאַן. אין דעם אַרקאַטעקטשער, דער באַלעבאָס קענען קאַמיונאַקייץ מיט די NCP דורך UART אָדער SPI צובינד. רובֿ קאַמאַנלי, UART איז געניצט ווי עס איז פיל סימפּלער ווי ספּי.

סיליציום לאַבס האָבן אויך צוגעשטעלט אַ מוסטער פּרויעקט פֿאַר די באַלעבאָס פּראָגראַם, וואָס איז דער מוסטערZ3GatewayHost. דער מוסטער איז פליסנדיק אויף אַ יוניקס-ווי סיסטעם. עטלעכע קאַסטאַמערז קען וועלן אַ באַלעבאָס מוסטער וואָס קענען לויפן אויף אַ רטאָס, אָבער ליידער, עס איז קיין RTOS באזירט באַלעבאָס מוסטער פֿאַר די צייט זייַענדיק. ניצערס דאַרפֿן צו אַנטוויקלען זייער אייגן באַלעבאָס פּראָגראַם באזירט אויף רטאָ.

עס איז וויכטיק צו פֿאַרשטיין די UART גאַטעווייַ פּראָטאָקאָל איידער דעוועלאָפּינג אַ קאַסטאַמייזד באַלעבאָס פּראָגראַם. פֿאַר ביידע UARS באזירט NCP און SPI- באזירט NCP, דער באַלעבאָס ניצט די EZSP פּראָטאָקאָל צו יבערגעבן מיט די NCP.Ezspאיז קורץ פֿאַרEmberznet סיריאַל פּראָטאָקאָל, און עס איז דיפיינד איןUG100. פֿאַר UARD באזירט NCP, אַ נידעריקער שיכטע פּראָטאָקאָל איז ימפּלאַמענאַד צו פירן EzsSP דאַטן רילייאַבלי איבער ופּ דיאַשפּראָטאָקאָל, קורץ פֿאַרייסינטשראָנאָוס סיריאַל באַלעבאָס. פֿאַר מער דעטאַילס וועגן אַש, ביטע אָפּשיקן צוUG101אוןUG115.

די באַציונג צווישן ezsp און אַש קענען זיין ילאַסטרייטיד דורך די פאלגענדע דיאַגראַמע:

1

די דאַטן פֿאָרמאַט פון די EZSP און די אַש פּראָטאָקאָל קענען זיין ילאַסטרייטיד דורך די פאלגענדע דיאַגראַמע:

2

אין דעם בלאַט, מיר וועלן פאָרשטעלן דעם פּראָצעס פון פראַמינג די UART דאַטן און עטלעכע שליסל ראָמען וואָס זענען אָפט געניצט אין זיגבעע גאַטעווייַ.

2. רעמעמקייַט

דער גענעראַל ראַם פּראָצעס קענען זיין ילאַסטרייטיד דורך די פאלגענדע טשאַרט:

3

אין דעם טשאַרט, די דאַטן מיטל די EZSP ראַם. אין אַלגעמיין, די פראַמינג פּראַסעסאַז זענען: | NO | סטעפּ | דערמאָנען |

|: - |: - |::::: | |

| 1 | פּלאָמבירן די EZSP פריים | Ug100 |

| 2 | דאַטן ראַנדאָמיזאַטיאָן | אָפּטיילונג 4.3 פון UG101 |

| 3 | לייג די קאָנטראָל בייט | Cap2 און Chap3 פון UG101 |

| 4 | רעכענען די CRC | אָפּטיילונג 2.3 פון UG101 |

| 5 | ביטע סטאַפינג | אָפּטיילונג 4.2 פון UG101 |

| 6 | לייג די סוף פאָן | אָפּטיילונג 2.4 פון UG101 |

2.1. פּלאָמבירן די EZSP ראַם

די EZSP ראַם פֿאָרמאַט איז ילאַסטרייטיד אין טשאַפּ 3 פון UG100.

4

צוקוקנ זיך אַז דעם פֿאָרמאַט קען טוישן ווען די SDK אַפּגריידז. ווען די פֿאָרמאַט ענדערונגען, מיר געבן עס אַ נייַע ווערסיע נומער. די לעצטע Ezsp ווערסיע נומער איז 8 ווען דער אַרטיקל איז געשריבן (עמבערזנעט 6.8).

ווי די EZSP ראַם פֿאָרמאַט קען זיין אַנדערש צווישן פאַרשידענע ווערסיעס, עס איז אַ מאַנדאַטאָרי פאָדערונג וואָס די באַלעבאָס און NCPמוזןאַרבעט מיט דער זעלביקער EZSP ווערסיע. אַנדערש, זיי קענען נישט יבערגעבן ווי קאַטעגאַל.

צו דערגרייכן דאָס, דער ערשטער באַפֿעל צווישן די באַלעבאָס און די NCP מוזן זיין די ווערסיע באַפֿעל. אין אנדערע ווערטער, דער באַלעבאָס מוזן צוריקקריגן די EZSP ווערסיע פון ​​די NCP איידער קיין אנדערע קאָמוניקאַציע. אויב די EZSP ווערסיע איז אַנדערש מיט די EZSP ווערסיע פון ​​דער באַלעבאָס זייַט, די קאָמוניקאַציע מוזן זיין אַבאָרטאַד.

די ימפּליסאַט פאָדערונג הינטער דעם איז אַז די פֿאָרמאַט פון די ווערסיע באַפֿעל קענעןקיינמאָל טוישן. די EZSP ווערסיע באַפֿעלן פֿאָרמאַט איז אונטן:

5

די דערקלערונגען פון די פּאַראַמעטער פעלד און די פֿאָרמאַט פון די ווערסיע ענטפער קענען זיין געפֿונען אין CHAP 4 פון UG100. דער פּאַראַמעטער פעלד איז די EZSP ווערסיע פון ​​דער באַלעבאָס פּראָגראַם. ווען דער אַרטיקל איז געשריבן, עס איז 8.
7
作者: טאָרטשיאָטבאָאָטקאַמפּ
链接: https: //zhuanlan.zhihu.com/p/339700391
来源: 知乎
著作权归作者所有. 商业转载请联系作者获得授权, 非商业转载请注明出处.

2.2. דאַטן ראַנדאָמיזאַטיאָן

די דיטיילד ראַנדאָמאַזיישאַן פּראָצעס איז דיסקרייבד אין אָפּטיילונג 4.3 פון UG101. די גאנצע EZSP ראַם וועט זיין ראַנדאַמייזד. די ראַנדאַמייז איז צו ויסשליסיק אָדער די EZSP ראַם און אַ פּסעוודאָ-ראַנדאָם סיקוואַנס.

ונטער איז די אַלגערידאַם פון דזשענערייטינג די פּסעוודאָ-ראַנדאָם סיקוואַנס.

  • Rand0 = 0 × 42
  • אויב דריי 0 פון ראַנדי איז 0, ראַנדי + 1 = ראַנדי >> 1
  • אויב דריי 0 פון ראַנדי איז 1, ראַנדי + 1 = (ראַנדי >> 1) ^ 0xb8

2.3. לייג די קאָנטראָל בייט

די קאָנטראָל בייט איז אַ איין בייט דאַטן, און זאָל זיין מוסיף צו די קאָפּ פון די ראַם. די פֿאָרמאַט איז ילאַסטרייטאַד מיט די טאַבלע אונטן:

6

טאָוטאַלי, עס זענען 6 מינים פון קאָנטראָל ביטעס. די ערשטע דריי זענען געניצט פֿאַר פּראָסט ראָמען מיט EZSP דאַטן, אַרייַנגערעכנט דאַטן, ACK און NAK. די לעצטע דריי זענען געניצט אָן פּראָסט EZSP דאַטן, אַרייַנגערעכנט רסט, רסטאַק און טעות.

די פֿאָרמאַט פון דער רסט, רסטאַק און טעות זענען דיסקרייבד אין אָפּטיילונג 3.1 צו 3.3.

2.4. רעכענען די קרק

א 16-ביסל CC איז קאַלקיאַלייטיד אויף ביטעס פון די קאָנטראָל בייט ביז דעם סוף פון די דאַטן. דער נאָרמאַל CRCCCT (G (X) = X16 + X12 + קס 5 + 1) איז ינישאַלייזד צו 0xfffff. די מערסט באַטייטיק בייט פּריסעד די מינדסטער באַטייַטיק בייט (גרויס-ענדיאַן מאָדע).

2.5. ביטע סטאַפינג

ווי דיסקרייבד אין אָפּטיילונג 4.2 פון UG101, עס זענען עטלעכע רעזערווירט Byte וואַלועס געניצט פֿאַר ספּעציעל ציל. די וואַלועס קענען זיין געפֿונען אין די פאלגענדע טיש:

7

ווען די וואַלועס דערשייַנען אין דער ראַם, אַ ספּעציעל באַהאַנדלונג וועט זיין געטאן צו די דאַטן. - אַרייַנלייגן די אַנטלויפן מיט 0 קס 7 ד אין פראָנט פון די רעזערווירט Byte - פאַרקערט די ביט 5 פון דעם רעזערווירט בייט

ונטער זענען עטלעכע ביישפילן פון דעם אַלגערידאַם:

8

2.6. לייג די סוף פאָן

די לעצט שריט איז צו לייגן דעם סוף פאָן 0x7e ביז דעם סוף פון דער ראַם. דערנאָך, די דאַטן קענען ווערן געשיקט צו די UART פּאָרט.

3. די-פראַמינג פּראָצעס

ווען דאַטן זענען באקומען פון די UART, מיר נאָר דאַרפֿן צו טאָן די פאַרקערט סטעפּס צו דעקאָדע עס.

4. באַווייַזן


פּאָסטן צייט: פעברואר 08-2022
ווהאַצאַפּפּ אָנליין שמועסן!