ஜிக்பீ EZSP UART பற்றி

ஆசிரியர்: TorchIoTBootCamp
இணைப்பு: https://zhuanlan.zhihu.com/p/339700391
அனுப்புநர்: குவோரா

1. அறிமுகம்

ஜிக்பீ கேட்வே வடிவமைப்பிற்கு சிலிக்கான் லேப்ஸ் ஒரு ஹோஸ்ட்+NCP தீர்வை வழங்கியுள்ளது. இந்த கட்டமைப்பில், ஹோஸ்ட் UART அல்லது SPI இடைமுகம் மூலம் NCP உடன் தொடர்பு கொள்ள முடியும். பொதுவாக, UART SPI ஐ விட மிகவும் எளிமையானது என்பதால் இது பயன்படுத்தப்படுகிறது.

சிலிக்கான் லேப்ஸ் ஹோஸ்ட் திட்டத்திற்கான மாதிரி திட்டத்தையும் வழங்கியுள்ளது, இது மாதிரிZ3கேட்வேஹோஸ்ட். இந்த மாதிரி Unix போன்ற கணினியில் இயங்குகிறது. சில வாடிக்கையாளர்கள் RTOS இல் இயங்கக்கூடிய ஒரு ஹோஸ்ட் மாதிரியை விரும்பலாம், ஆனால் துரதிர்ஷ்டவசமாக, தற்போதைக்கு RTOS அடிப்படையிலான ஹோஸ்ட் மாதிரி இல்லை. பயனர்கள் RTOS ஐ அடிப்படையாகக் கொண்டு தங்கள் சொந்த ஹோஸ்ட் நிரலை உருவாக்க வேண்டும்.

தனிப்பயனாக்கப்பட்ட ஹோஸ்ட் நிரலை உருவாக்குவதற்கு முன் UART கேட்வே நெறிமுறையைப் புரிந்துகொள்வது முக்கியம். UART அடிப்படையிலான NCP மற்றும் SPI அடிப்படையிலான NCP இரண்டிற்கும், ஹோஸ்ட் NCP உடன் தொடர்பு கொள்ள EZSP நெறிமுறையைப் பயன்படுத்துகிறது.EZSPஎன்பதன் சுருக்கம்எம்பர்இசட்நெட் சீரியல் புரோட்டோகால், மேலும் இது வரையறுக்கப்பட்டுள்ளதுயுஜி100UART அடிப்படையிலான NCP-க்கு, EZSP தரவை UART வழியாக நம்பகத்தன்மையுடன் கொண்டு செல்ல ஒரு கீழ் அடுக்கு நெறிமுறை செயல்படுத்தப்படுகிறது, அதுதான்சாம்பல்நெறிமுறை, சுருக்கமாகஒத்திசைவற்ற சீரியல் ஹோஸ்ட். ASH பற்றிய கூடுதல் விவரங்களுக்கு, தயவுசெய்து பார்க்கவும்யுஜி101மற்றும்யுஜி115.

EZSP மற்றும் ASH இடையேயான தொடர்பை பின்வரும் வரைபடம் மூலம் விளக்கலாம்:

1

EZSP மற்றும் ASH நெறிமுறையின் தரவு வடிவமைப்பை பின்வரும் வரைபடத்தால் விளக்கலாம்:

2

இந்தப் பக்கத்தில், UART தரவை வடிவமைக்கும் செயல்முறையையும், ஜிக்பீ நுழைவாயிலில் அடிக்கடி பயன்படுத்தப்படும் சில முக்கிய பிரேம்களையும் அறிமுகப்படுத்துவோம்.

2. சட்டகம்

பொதுவான சட்டக செயல்முறையை பின்வரும் விளக்கப்படம் மூலம் விளக்கலாம்:

3

இந்த விளக்கப்படத்தில், தரவு என்பது EZSP சட்டகத்தைக் குறிக்கிறது. பொதுவாக, ஃப்ரேமிங் செயல்முறைகள்: |இல்லை|படி|குறிப்பு|

|:-|:-|:-|

|1|EZSP சட்டகத்தை நிரப்பவும்|UG100|

|2|தரவு சீரற்றமயமாக்கல்|UG101 இன் பிரிவு 4.3|

|3|UG101 இன் கட்டுப்பாட்டு பைட்|சாப்2 மற்றும் சாப்3 ஆகியவற்றைச் சேர்க்கவும்|

|4|CRC-ஐக் கணக்கிடுங்கள்|UG101 இன் பிரிவு 2.3|

|5|பைட் ஸ்டஃபிங்|UG101 இன் பிரிவு 4.2|

|6|இறுதிக் கொடியைச் சேர்க்கவும்|UG101 இன் பிரிவு 2.4|

2.1. EZSP சட்டகத்தை நிரப்பவும்

EZSP பிரேம் வடிவம் UG100 இன் அத்தியாயம் 3 இல் விளக்கப்பட்டுள்ளது.

4

SDK மேம்படுத்தப்படும்போது இந்த வடிவம் மாறக்கூடும் என்பதை நினைவில் கொள்ளுங்கள். வடிவம் மாறும்போது, ​​அதற்கு ஒரு புதிய பதிப்பு எண்ணைக் கொடுப்போம். இந்தக் கட்டுரை எழுதப்படும்போது சமீபத்திய EZSP பதிப்பு எண் 8 ஆகும் (EmberZnet 6.8).

EZSP பிரேம் வடிவம் வெவ்வேறு பதிப்புகளுக்கு இடையில் வேறுபடலாம் என்பதால், ஹோஸ்ட் மற்றும் NCP கட்டாயத் தேவையைப் பூர்த்தி செய்ய வேண்டும்.வேண்டும்அதே EZSP பதிப்பில் வேலை செய்கின்றன. இல்லையெனில், அவர்களால் எதிர்பார்த்தபடி தொடர்பு கொள்ள முடியாது.

அதை அடைய, ஹோஸ்டுக்கும் NCPக்கும் இடையிலான முதல் கட்டளை பதிப்பு கட்டளையாக இருக்க வேண்டும். வேறு வார்த்தைகளில் கூறுவதானால், வேறு எந்த தகவல்தொடர்புக்கும் முன் ஹோஸ்ட் NCP இன் EZSP பதிப்பை மீட்டெடுக்க வேண்டும். EZSP பதிப்பு ஹோஸ்ட் பக்கத்தின் EZSP பதிப்பிலிருந்து வேறுபட்டால், தகவல்தொடர்பு நிறுத்தப்பட வேண்டும்.

இதன் பின்னணியில் உள்ள மறைமுகத் தேவை என்னவென்றால், பதிப்பு கட்டளையின் வடிவம்ஒருபோதும் மாறாதே. EZSP பதிப்பு கட்டளை வடிவம் கீழே உள்ளது:

5

அளவுரு புலத்தின் விளக்கங்கள் மற்றும் பதிப்பு மறுமொழியின் வடிவமைப்பை UG100 இன் அத்தியாயம் 4 இல் காணலாம். அளவுரு புலம் ஹோஸ்ட் நிரலின் EZSP பதிப்பாகும். இந்தக் கட்டுரை எழுதப்படும்போது, ​​அது 8 ஆகும்.
7
எடுத்துக்காட்டாக: டார்ச்ஐஓடிபூட்கேம்ப்
链接:https://zhuanlan.zhihu.com/p/339700391
来源:知乎
著作权归作者所有。商业转载联系作者获得授权,非商业转载请注明商

2.2. தரவு சீரற்றமயமாக்கல்

விரிவான சீரற்றமயமாக்கல் செயல்முறை UG101 இன் பிரிவு 4.3 இல் விவரிக்கப்பட்டுள்ளது. முழு EZSP சட்டமும் சீரற்றதாக மாற்றப்படும். சீரற்றமயமாக்கல் EZSP சட்டகத்தையும் ஒரு போலி-சீரற்ற வரிசையையும் பிரத்தியேகமாக-OR செய்வதாகும்.

போலி-சீரற்ற வரிசையை உருவாக்கும் வழிமுறை கீழே உள்ளது.

  • ரேண்ட்0 = 0×42
  • ராண்டியின் பிட் 0 0 எனில், ராண்டி+1 = ராண்டி >> 1
  • ராண்டியின் பிட் 0 1 எனில், ராண்டி+1 = (ராண்டி >> 1) ^ 0xB8

2.3. கட்டுப்பாட்டு பைட்டைச் சேர்க்கவும்

கட்டுப்பாட்டு பைட் என்பது ஒரு பைட் தரவு, மேலும் அது சட்டத்தின் தலைப்பகுதியில் சேர்க்கப்பட வேண்டும். வடிவம் கீழே உள்ள அட்டவணையில் விளக்கப்பட்டுள்ளது:

6

மொத்தத்தில், 6 வகையான கட்டுப்பாட்டு பைட்டுகள் உள்ளன. முதல் மூன்றும் DATA, ACK மற்றும் NAK உள்ளிட்ட EZSP தரவுகளைக் கொண்ட பொதுவான பிரேம்களுக்குப் பயன்படுத்தப்படுகின்றன. கடைசி மூன்றும் 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 இல் விவரிக்கப்பட்டுள்ளபடி, சிறப்பு நோக்கத்திற்காகப் பயன்படுத்தப்படும் சில ஒதுக்கப்பட்ட பைட் மதிப்புகள் உள்ளன. இந்த மதிப்புகளை பின்வரும் அட்டவணையில் காணலாம்:

7

இந்த மதிப்புகள் சட்டகத்தில் தோன்றும்போது, ​​தரவுக்கு ஒரு சிறப்பு சிகிச்சை செய்யப்படும். – ஒதுக்கப்பட்ட பைட்டின் முன் எஸ்கேப் பைட் 0x7D ஐச் செருகவும் – அந்த ஒதுக்கப்பட்ட பைட்டின் பிட்5 ஐ தலைகீழாக மாற்றவும்.

இந்த வழிமுறையின் சில எடுத்துக்காட்டுகள் கீழே:

8

2.6. இறுதிக் கொடியைச் சேர்க்கவும்

இறுதிப் படி, சட்டகத்தின் முடிவில் 0x7E என்ற இறுதிக் கொடியைச் சேர்ப்பதாகும். அதன் பிறகு, தரவை UART போர்ட்டுக்கு அனுப்பலாம்.

3. டி-ஃப்ரேமிங் செயல்முறை

UART இலிருந்து தரவு பெறப்படும்போது, ​​அதை டிகோட் செய்ய நாம் தலைகீழ் படிகளைச் செய்ய வேண்டும்.

4. குறிப்புகள்


இடுகை நேரம்: பிப்ரவரி-08-2022
வாட்ஸ்அப் ஆன்லைன் அரட்டை!