আরএস 232 বনাম ইউএসবি সিডিসির মানের পরিষেবার মান / বার্তাগুলিতে একটি চেকসাম থাকা উচিত?


13

আমার ইউএসবি-সিডিসি ডিভাইস এবং ইউএসবি হোস্টের মধ্যে প্রেরিত ডেটার জন্য কি ইউএসবিতে কোনও মানের পরিষেবার গ্যারান্টি রয়েছে?

আমি একটি গোলমাল পরিস্থিতি (যেমন স্বয়ংচালিত ডায়াগনস্টিক পোর্ট) traditionalতিহ্যবাহী আরএস 232 এর সাথে জানি খারাপ বিটগুলি প্রায়শই ঘটে যা চেকসামগুলি প্রোটোকলের জন্য গুরুত্বপূর্ণ। যদি আমি এই জাতীয় প্রোটোকলকে খাঁটি-ইউএসবি অ্যাপ্লিকেশনটির সাথে মানিয়ে নিতে পারি তবে আমি চেকসাম এবং সম্পর্কিত ত্রুটি পরিচালনার রুটিনগুলি নিরাপদে বাদ দিতে পারি?

রেফারেন্সের জন্য, আমি এটিএম -এর দ্বারা সরবরাহিত ইউএসবি-সিডিসি ফ্রেমওয়ার্ক সহ একটি AT91SAM7S256 ব্যবহার করছি ।

হালনাগাদ:

আমি এই সমস্যাটির জন্য আমার গুগল-ফু কিছুটা দীর্ঘায়িত করেছি এবং এই নিবন্ধটি পেয়েছি যা ইথারনেট অনুকরণের জন্য একটি সিডিসি সাবক্লাস বর্ণনা করে এবং জানিয়েছে:

ইউএসবি কেবল দ্বারা, এনক্যাপসুলেটেড ইথারনেট ফ্রেমগুলি গন্তব্য MAC ঠিকানার সাথে শুরু হয়ে ফ্রেম চেকসামের ঠিক আগে শেষ হয়। (ইউএসবি নির্ভরযোগ্য পরিবহন হওয়ায় ফ্রেমের চেকসামের প্রয়োজন হয় না))

তাদের অর্থ হতে পারে ইউএসবি-সিডিসি নির্ভরযোগ্য পরিবহন, সাধারণভাবে ইউএসবি নয়, কারণ কোনও প্রোগ্রামের ডেটা খুব দ্রুত জরিপ করতে না পারলে কিছু ডিভাইস ক্লাস উচ্চ-মাধ্যমে আউটপুট বার্স্টি ডেটা (ওয়েবক্যাম?) এর জন্য উদ্দিষ্ট হতে পারে buff

আমি এখনও এই বিষয়ে অতিরিক্ত নিশ্চিতকরণ চাই।

উত্তর:


12

এটি আপনার ডিভাইসটি কোন শেষ প্রান্তের ধরনগুলি ব্যবহার করছে তার উপর নির্ভর করে।

সংক্ষেপে ইউএসবি থেকে নেওয়া একটি দ্রুত সংক্ষিপ্তসার :

বাধা স্থানান্তর

  • গ্যারান্টেড লেটেন্সি
  • স্ট্রিম পাইপ - একমুখী
  • ত্রুটি সনাক্তকরণ এবং পরবর্তী সময়কালে আবার চেষ্টা করুন।

বিচ্ছিন্ন স্থানান্তর

  • বিচ্ছিন্ন স্থানান্তরগুলি ইউএসবি ব্যান্ডউইদথের গ্যারান্টিযুক্ত অ্যাক্সেস সরবরাহ করে।
  • সীমাবদ্ধ বিলম্ব
  • স্ট্রিম পাইপ - একমুখী
  • সিআরসি এর মাধ্যমে সনাক্তকরণে ত্রুটি, তবে বিতরণের কোনও পুনরায় চেষ্টা বা গ্যারান্টি নেই।
  • শুধুমাত্র সম্পূর্ণ এবং উচ্চ গতির মোড।
  • টগলিংয়ের কোনও ডেটা নেই।

বাল্ক স্থানান্তর

  • বৃহত্তর বার্সিত ডেটা স্থানান্তর করতে ব্যবহৃত হয়।
  • সরবরাহের গ্যারান্টি সহ সিআরসি এর মাধ্যমে ত্রুটি সনাক্তকরণ
  • ব্যান্ডউইথ বা ন্যূনতম বিলম্বের কোনও গ্যারান্টি নেই।
  • স্ট্রিম পাইপ - একমাত্র নির্দেশিত সম্পূর্ণ এবং উচ্চ গতির মোডগুলি।

আপনার প্রশ্নের সঠিক উত্তর দিতে, আপনাকে সিডিসি ডিভাইসটি প্রয়োগ করতে নীচে কী স্থানান্তর পদ্ধতি ব্যবহার করা হচ্ছে তা সন্ধান করতে হবে। সিডিসি ডিভাইস শ্রেণীর নির্দিষ্টকরণের সূচনা পয়েন্ট হতে পারে। আপনার যদি ডিভাইসের জন্য সোর্স কোড থাকে তবে এটি আরও ভাল। আমি সিডিসি ক্লাসের সাথে পরিচিত নই তাই এর বাস্তবায়নের মান সম্পর্কে আমি মন্তব্য করতে পারি না, তবে কয়েকটি নথি এবং গুগলে প্রথম নজরে দেখা যায় যে বাস্তবায়নে কিছুটা নমনীয়তা রয়েছে।

সম্পাদনা

আপনি যে সংযুক্ত এটমেল নথিটি পড়েছেন তা পড়ার পরে এটি প্রদর্শিত হবে!

অ্যাবস্ট্রাক্ট কন্ট্রোল মডেলটির জন্য দুটি ইন্টারফেসের প্রয়োজন, একটি যোগাযোগের ক্লাস ইন্টারফেস এবং একটি ডেটা ক্লাস ইন্টারফেস। তাদের প্রত্যেকের অবশ্যই দুটি সম্পর্কিত শেষ পয়েন্ট থাকতে হবে। প্রাক্তনটির ডিভাইস পরিচালনায় উত্সর্গীকৃত একটি এন্ডপয়েন্ট থাকবে (ডিফল্ট কন্ট্রোল এন্ডপয়েন্ট 0) এবং ইভেন্ট নোটিফিকেশনের জন্য একটি থাকবে (এন্ডপয়েন্টে অতিরিক্ত বাধা)।

ডেটা ক্লাস ইন্টারফেসের দুটি শেষ পয়েন্ট দরকার যার মাধ্যমে হোস্টের কাছে ডেটা বহন করতে হয়। অ্যাপ্লিকেশন উপর নির্ভর করে, এই শেষ পয়েন্টগুলি হয় বাল্ক বা আইসোক্রোনাস হতে পারে। ইউএসবি টু সিরিয়াল কনভার্টারের ক্ষেত্রে, বাল্ক এন্ডপয়েন্টগুলি ব্যবহার করা সম্ভবত বেশি উপযুক্ত, যেহেতু সংক্রমণটির নির্ভরযোগ্যতা গুরুত্বপূর্ণ এবং ডেটা স্থানান্তর সময়-সমালোচনামূলক নয়।

সুতরাং আপনার বাস্তবায়নের ক্ষেত্রে, নির্ভরযোগ্য পরিবহন নিশ্চিত করতে আপনার ডেটা ক্লাস ইন্টারফেসে বাল্ক স্থানান্তর ব্যবহার নিশ্চিত করুন।


দুর্দান্ত উত্তর। শেষ পয়েন্টের সংক্ষিপ্তসারটি খুব কার্যকর। লিঙ্কযুক্ত পিডিএফ-তে বর্ণিত সিডিসি সিরিয়াল প্রকল্পের জন্য এটমেল কোডটি ইউএসবি থেকে সিরিয়াল অ্যাডাপ্টার হিসাবে কাজ করার জন্য সেট আপ করা হয়েছে, সুতরাং এটি ইতিমধ্যে বাল্ক এন্ডপয়েন্টগুলি ব্যবহারের জন্য কনফিগার করা হয়েছে। অসাধারণ!
স্টিভেন টি। স্নাইডার

3

ইউএসবি একটি তুলনামূলকভাবে নির্ভরযোগ্য প্রোটোকল হতে পারে তবে সিডিসি ব্যবহার করে এমন সমস্ত ডিভাইস এবং ড্রাইভার নির্ভরযোগ্য নয়। আমি বেশ কয়েকটি বিভিন্ন ডিভাইস দেখেছি যার পিসি দ্বারা প্রেরিত ডেটা বাইটগুলি এড়িয়ে যাওয়ার বিরক্তিকর অভ্যাস ছিল। কোনও স্কোপে ডেটা পর্যবেক্ষণ করে দেখা গেছে যে সমস্যাটি প্রাপ্তি ডিভাইসকে ছাড়িয়ে যাওয়া নিয়ে নয় - কিছু বাইটের ডেটা সহজেই হারিয়ে যায় (আমি স্ক্যাপে পুরো প্যাকেটটি ধারণ করতে সক্ষম হয়েছি; হেডার এবং ফুটার উভয়ই উপস্থিত ছিল, তবে কিছু তাদের মধ্যে থাকা বাইটগুলি অনুপস্থিত ছিল)। আমি নিশ্চিত না যে আচরণের কারণ হিসাবে ঠিক কী ভুল হয়েছিল, তবে খুব দ্রুত ডেটা প্রেরণের চেষ্টা করা অবদানকারী কারণ বলে মনে হয়েছিল।

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.