লেখক : টর্চিওটবুটক্যাম্প
লিঙ্ক : https: // zhuanlan.zhihu.com/p/339700391
থেকে : কোওড়া থেকে
1। ভূমিকা
সিলিকন ল্যাবগুলি জিগবি গেটওয়ে ডিজাইনের জন্য একটি হোস্ট+এনসিপি সমাধান সরবরাহ করেছে। এই আর্কিটেকচারে, হোস্ট ইউআরটি বা এসপিআই ইন্টারফেসের মাধ্যমে এনসিপির সাথে যোগাযোগ করতে পারে। সর্বাধিক সাধারণভাবে, ইউআরটি এসপিআইয়ের চেয়ে অনেক সহজ হিসাবে ব্যবহৃত হয়।
সিলিকন ল্যাবগুলি হোস্ট প্রোগ্রামের জন্য একটি নমুনা প্রকল্পও সরবরাহ করেছে, যা নমুনাZ3gatewhost
। নমুনাটি একটি ইউনিক্সের মতো সিস্টেমে চলে। কিছু গ্রাহক একটি হোস্ট নমুনা চাইতে পারেন যা একটি আরটিওতে চলতে পারে তবে দুর্ভাগ্যক্রমে, আপাতত কোনও আরটিও ভিত্তিক হোস্ট নমুনা নেই। ব্যবহারকারীদের আরটিওর উপর ভিত্তি করে তাদের নিজস্ব হোস্ট প্রোগ্রাম বিকাশ করতে হবে।
কাস্টমাইজড হোস্ট প্রোগ্রামটি বিকাশের আগে ইউআরটি গেটওয়ে প্রোটোকলটি বোঝা গুরুত্বপূর্ণ। ইউআরটি ভিত্তিক এনসিপি এবং এসপিআই ভিত্তিক এনসিপি উভয়ের জন্য, হোস্ট এনসিপির সাথে যোগাযোগের জন্য EZSP প্রোটোকল ব্যবহার করে।EZSPজন্য সংক্ষিপ্তএমবারজনেট সিরিয়াল প্রোটোকল, এবং এটি সংজ্ঞায়িত করা হয়UG100। ইউআরটি ভিত্তিক এনসিপির জন্য, ইউআরটির উপর নির্ভরযোগ্যভাবে EZSP ডেটা বহন করার জন্য একটি নিম্ন স্তর প্রোটোকল প্রয়োগ করা হয়েছে, এটিইঅ্যাশপ্রোটোকল, সংক্ষিপ্ত জন্যঅ্যাসিঙ্ক্রোনাস সিরিয়াল হোস্ট। অ্যাশ সম্পর্কে আরও তথ্যের জন্য, দয়া করে দেখুনUg101এবংUg115.
EZSP এবং ছাইয়ের মধ্যে সম্পর্ক নিম্নলিখিত চিত্র দ্বারা চিত্রিত করা যেতে পারে:
EZSP এবং অ্যাশ প্রোটোকলের ডেটা ফর্ম্যাটটি নিম্নলিখিত চিত্রটি দ্বারা চিত্রিত করা যেতে পারে:
এই পৃষ্ঠায়, আমরা ইউআরটি ডেটা ফ্রেম করার প্রক্রিয়া এবং কিছু কী ফ্রেম যা প্রায়শই জিগবি গেটওয়েতে ব্যবহৃত হয় তা প্রবর্তন করব।
2। ফ্রেমিং
সাধারণ ফ্রেমিং প্রক্রিয়াটি নিম্নলিখিত চার্ট দ্বারা চিত্রিত করা যেতে পারে:
এই চার্টে, ডেটা অর্থ EZSP ফ্রেম। সাধারণভাবে, ফ্রেমিং প্রক্রিয়াগুলি হ'ল: | না | পদক্ষেপ | রেফারেন্স |
|:-|:-|:-|
| 1 | EZSP ফ্রেম পূরণ করুন | UG100 |
| 2 | ডেটা র্যান্ডমাইজেশন | UG101 এর বিভাগ 4.3 |
| 3 | নিয়ন্ত্রণ বাইট যুক্ত করুন | UG101 এর CHAP2 এবং CHAP3 |
| 4 | সিআরসি গণনা করুন | UG101 এর বিভাগ 2.3 |
| 5 | বাইট স্টাফিং | UG101 এর বিভাগ 4.2 |
| 6 | শেষ পতাকা যুক্ত করুন | UG101 এর বিভাগ 2.4 |
2.1। EZSP ফ্রেম পূরণ করুন
EZSP ফ্রেম ফর্ম্যাটটি ইউজি 100 এর চ্যাপ 3 এ চিত্রিত হয়েছে।
মনোযোগ দিন যে এসডিকে আপগ্রেড করলে এই ফর্ম্যাটটি পরিবর্তন হতে পারে। যখন ফর্ম্যাটটি পরিবর্তন হয়, আমরা এটিকে একটি নতুন সংস্করণ নম্বর দেব। এই নিবন্ধটি লেখা হলে সর্বশেষতম EZSP সংস্করণ নম্বরটি 8 হয় (এম্বারজেট 6.8)।
যেহেতু EZSP ফ্রেম ফর্ম্যাটটি বিভিন্ন সংস্করণের মধ্যে আলাদা হতে পারে, তাই হোস্ট এবং এনসিপি একটি বাধ্যতামূলক প্রয়োজনীয়তা রয়েছেআবশ্যকএকই EZSP সংস্করণ দিয়ে কাজ করুন। অন্যথায়, তারা প্রত্যাশিত হিসাবে যোগাযোগ করতে পারে না।
এটি অর্জনের জন্য, হোস্ট এবং এনসিপির মধ্যে প্রথম কমান্ডটি অবশ্যই সংস্করণ কমান্ড হতে হবে। অন্য কথায়, হোস্টকে অন্য কোনও যোগাযোগের আগে এনসিপির EZSP সংস্করণটি পুনরুদ্ধার করতে হবে। যদি EZSP সংস্করণটি হোস্ট পক্ষের EZSP সংস্করণটির সাথে আলাদা হয় তবে যোগাযোগটি অবশ্যই বাতিল করতে হবে।
এর পিছনে অন্তর্নিহিত প্রয়োজনীয়তা হ'ল সংস্করণ কমান্ডের ফর্ম্যাটটি করতে পারেকখনও পরিবর্তন করবেন না। EZSP সংস্করণ কমান্ড ফর্ম্যাটটি নীচের মতো:
链接 : https: // zhuanlan.zhihu.com/p/339700391
来源 : 知乎
著作权归作者所有。商业转载请联系作者获得授权 , 非商业转载请注明出处。
2.2। ডেটা র্যান্ডমাইজেশন
বিস্তারিত র্যান্ডমাইজেশন প্রক্রিয়াটি ইউজি 101 এর ৪.৩ বিভাগে বর্ণিত হয়েছে। পুরো EZSP ফ্রেমটি এলোমেলোভাবে করা হবে। র্যান্ডমাইজেশনটি একচেটিয়া-বা EZSP ফ্রেম এবং একটি সিউডো-র্যান্ডম সিকোয়েন্স।
নীচে সিউডো-এলোমেলো ক্রম উত্পন্ন করার অ্যালগরিদম রয়েছে।
- RAND0 = 0 × 42
- যদি রেন্ডির বিট 0 হয় তবে 0, রেন্ডি+1 = রেন্ডি >> 1
- যদি রেন্ডির বিট 0 হয় তবে 1, রেন্ডি+1 = (রেন্ডি >> 1) ^ 0xb8
2.3। নিয়ন্ত্রণ বাইট যোগ করুন
কন্ট্রোল বাইট একটি বাইট ডেটা এবং ফ্রেমের মাথায় যুক্ত করা উচিত। ফর্ম্যাটটি নীচের সারণীর সাথে চিত্রিত করা হয়েছে:
সামগ্রিকভাবে, এখানে 6 ধরণের কন্ট্রোল বাইট রয়েছে। প্রথম তিনটি ডেটা, এসি এবং নাক সহ EZSP ডেটা সহ সাধারণ ফ্রেমের জন্য ব্যবহৃত হয়। শেষ তিনটি আরএসটি, আরএসটিএ্যাক এবং ত্রুটি সহ সাধারণ ইজেডএসপি ডেটা ছাড়াই ব্যবহৃত হয়।
আরএসটি, আরস্ট্যাক এবং ত্রুটির ফর্ম্যাটটি বিভাগ 3.1 থেকে 3.3 এ বর্ণিত হয়েছে।
2.4। সিআরসি গণনা করুন
একটি 16-বিট সিআরসি ডেটার শেষ অবধি নিয়ন্ত্রণ বাইট থেকে বাইটে গণনা করা হয়। স্ট্যান্ডার্ড সিআরসিসিসিট (জি (এক্স) = এক্স 16 + এক্স 12 + এক্স 5 + 1) 0xFFFF এ আরম্ভ করা হয়েছে। সর্বাধিক উল্লেখযোগ্য বাইটটি সর্বনিম্ন উল্লেখযোগ্য বাইট (বিগ-এন্ডিয়ান মোড) এর আগে।
2.5। বাইট স্টাফিং
UG101 এর বিভাগ 4.2 এ বর্ণিত হিসাবে, বিশেষ উদ্দেশ্যে ব্যবহৃত কিছু সংরক্ষিত বাইট মান রয়েছে। এই মানগুলি নিম্নলিখিত সারণীতে পাওয়া যাবে:
যখন এই মানগুলি ফ্রেমে উপস্থিত হয়, তখন ডেটাতে একটি বিশেষ চিকিত্সা করা হবে। - সংরক্ষিত বাইটের সামনে এস্কেপ বাইট 0x7D sert োকান - সংরক্ষিত বাইটের বিট 5 কে বিপরীত করুন
নীচে এই অ্যালগরিদমের কয়েকটি উদাহরণ দেওয়া হল:
2.6। শেষ পতাকা যোগ করুন
চূড়ান্ত পদক্ষেপটি ফ্রেমের শেষে শেষ পতাকা 0x7E যুক্ত করা। এর পরে, ডেটা ইউআরটি বন্দরে প্রেরণ করা যেতে পারে।
3। ডি-ফ্রেমিং প্রক্রিয়া
যখন ইউআরটি থেকে ডেটা প্রাপ্ত হয়, তখন আমাদের কেবল এটি ডিকোড করার জন্য বিপরীত পদক্ষেপগুলি করা দরকার।
4 .. তথ্যসূত্র
পোস্ট সময়: ফেব্রুয়ারি -08-2022