এক সিস্টেম থেকে অন্য সিস্টেমে ডেটা স্থানান্তর করার জন্য সাধারণ প্রোটোকল?


18

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


4
আপনি করতে চান কংক্রিট জিনিস কি?
তারকাচিহ্ন

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

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

1
কর্টুক যা বলেছিলেন তার পংক্তি বরাবর এটি সমস্যার সংজ্ঞা দিতে সহায়তা করে। নিজেকে জিজ্ঞাসা করার একটি গুরুত্বপূর্ণ প্রশ্ন হ'ল আপনি একই ফাংশনের বিভিন্ন বাস্তবায়নের সাথে পৃথক সাবসিস্টেমগুলি প্রতিস্থাপনের পরিকল্পনা করতে পারেন, বা এটি যদি এক সময়ের মতো নকশা হয়। যদি আপনি একটি আসল বাস ব্যবহার করেন এবং আপনার সিপিইউতে সাবসিস্টেমগুলির প্রয়োগের বিবরণ উন্মোচন করেন তবে একটি সাবসিস্টেম পরিবর্তন আপনার নিয়ামকের জন্য / ডাব্লু পরিবর্তনের প্রয়োজন, আপনি যদি কোনও যোগাযোগের ইন্টারফেস ব্যবহার করেন তবে এটি কীভাবে কার্যকর করবেন তা পরিবর্তন করে না (প্রতিস্থাপন) ) সাবসিস্টেম, যতক্ষণ না এটি একই বার্তা প্রোটোকলের সাথে মিলিত হয়।
জাস্টজেফ 10'11

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

উত্তর:


10

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

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

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


CANbus খুব জড়িত, এবং ইথারনেট না? সহজ পিছনে এবং বার্তা বার্তার জন্য কাজ করতে পারেন খুব সহজ। তারা উত্সর্গীকৃত চিপস এবং বেশিরভাগ পরিবার তাদের মাইক্রো নিয়ন্ত্রণকারীগুলিকে অভ্যন্তরীণ সমর্থন করে।
কর্টুক

@ কর্টুক - ইনফার যেমন 232 এর মতো কিছু পিয়ার-টু-পিয়ার প্রতিসাম্য রয়েছে, যখন 1553 বা CAN একটি মাস্টার / ক্রীতদাসের সম্পর্ক চাপিয়ে দিতে পারে, হ্যাঁ। আমি বিশ্বাস করি না যে আমি বলেছিলাম যে ইথারনেট সহজ, ঠিক এটি শেষ পয়েন্টগুলিতে কোনও বাস নিয়ন্ত্রক / বাস ডিভাইস পার্থক্য আরোপ করে না।
জাস্টজেফ

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

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

11

ডেটা প্রেরণের কোনও উপায় নেই, দূরত্ব, উপাত্তের হার, পরিবেশ, প্রয়োগের উপর নির্ভর করে যোগাযোগের বিভিন্ন উপায় রয়েছে ...

সর্বনিম্ন স্তরটি হ'ল দৈহিক স্তর , যা প্রকৃতপক্ষে বিটগুলি প্রায় ঘুরিয়ে দেয়।

  • এসপিআই এবং আই²সি একটি ডিভাইসের অভ্যন্তরে স্বল্প দূরত্বের জন্য, যেখানে খুব বেশি শব্দ নেই যা সংক্রমণকে বাধাগ্রস্ত করতে পারে।

  • আরএস -232 এর মাধ্যমে কয়েক দশক মিটার সিরিয়াল যোগাযোগের দূরত্বের চেয়ে খুব বেশি দ্রুত যোগাযোগ না করাই ভাল পছন্দ।

  • যদি আরও শব্দ হয় বা দীর্ঘতর দূরত্বের ডিফারেনশিয়াল সিগন্যাল ব্যবহার করা হয়, উদাহরণস্বরূপ আরএস -435 এ। দ্রুত ডেটা সংক্রমণের জন্য রয়েছে ইথারনেট, যা আরও বেশি জনপ্রিয় হয়ে উঠছে।

  • তারপরে বিভিন্ন ওয়্যারলেস স্ট্যান্ডার্ডও রয়েছে।

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


7

একটি সাধারণ সিরিয়াল ইউআরটি ব্যবহার করা যেতে পারে (একটি টিএক্স এবং একটি আরএক্স লাইন বিহীন ঘড়ি নেই) এবং সহজেই অপটিসোলেটর বা চৌম্বকীয় বিচ্ছিন্নতার সাথে বিভিন্ন সম্ভাব্য (এমনকি প্রাথমিক এবং মাধ্যমিক সার্কিট) এর মধ্যে অতিক্রম করতে অভিযোজিত হতে পারে ।

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

উদাহরণস্বরূপ, পিএমবাস একটি পাওয়ার সাপ্লাই যোগাযোগ প্রোটোকল যা I2C কে তার দৈহিক মাধ্যম হিসাবে ব্যবহার করে।


6

সত্যিই কোনও "জেনারেল" প্রোটোকল নেই, আপনি কী ব্যবহার করে শেষ করবেন তা প্রয়োগের উপর নির্ভর করে। আমাদের আরও ভাল উত্তর দেওয়ার জন্য আমাদের আপনার প্রয়োজনগুলি আরও ভালভাবে বোঝা দরকার। আপনি উল্লেখ করেছেন যে আপনার পৃথক মাইক্রো-কন্ট্রোলারগণ একে অপরের সাথে সাবসিস্টেম হিসাবে কথা বলতে চান।

এই অ্যাপ্লিকেশন সম্পর্কে কিছু প্রশ্ন:

  1. এই প্রকল্পে 2 টিরও বেশি মাইক্রো-কন্ট্রোলার থাকবে?
  2. আপনার গতি এবং থ্রুপুট প্রয়োজনীয়তা কি? তথ্যগুলি সেখানে কীভাবে দ্রুত পাবে এবং আপনি কতবার ডেটা প্রেরণ / গ্রহণ করছেন?

আপনি যদি 1 টি প্রশ্নের উত্তর না দিয়ে থাকেন:

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

আপনি যদি 1 টি প্রশ্নের উত্তরটি হ্যাঁ (2 টিরও বেশি নিয়ামককে) দিয়ে থাকেন তবে:

  • যদি আপনার প্রকল্পে 2 টিরও বেশি মাইক্রো-কন্ট্রোলার থাকে তবে কোনটি যোগাযোগের সূচনা করে? এটি কি কেবলমাত্র একজন মাস্টার নিয়ামক (অর্থাত্ মাস্টার-ক্রীতদাস আর্কিটেকচার) হবে? বা সাবসিস্টেমগুলির মধ্যে যে কোনও সময় কথা বলতে সক্ষম হবে?
  • একে অপরের সাথে কথা বলার জন্য কি কোনও সাবসিস্টেমের প্রয়োজন আছে? উদাহরণস্বরূপ: A, B এবং C ডিভাইসের জন্য: A B এবং C তে প্রেরণ করতে পারে এবং B এবং A এবং C উভয়কে প্রেরণ করতে পারে ইত্যাদি devices

সুতরাং এখন আপনার আরও কিছু স্কেলেবলের দরকার আছে যেখানে আপনি সাধারণ বাসে ঠিকানাযোগ্য ডিভাইসগুলি ফেলে দিতে পারেন। এই ফলোআপ প্রশ্নের উত্তর আপনাকে আই 2 সি এবং এসপিআই (মাস্টার-স্লেভ) বা CAN (মাল্টি-মাস্টার) এর মধ্যে কিছুর মধ্যে সিদ্ধান্ত নিতে সহায়তা করবে।

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


5

@ জোন যেমন উল্লেখ করেছেন, একটি যোগাযোগ ইন্টারফেস নির্বাচন করার ক্ষেত্রে একটি বিষয় হ'ল কোনও সত্তা সর্বদা যোগাযোগের সূচনা করার জন্য দায়বদ্ধ থাকবে, বা একাধিক সত্তা এতটা দায়বদ্ধ হতে পারে কিনা। সম্পর্কিত বিষয়টি হ'ল কোনও সত্তা সর্বদা অযাচিত যোগাযোগগুলি পেতে প্রস্তুত থাকবে কিনা। এসপিআই প্রায়শই অ্যাপ্লিকেশনগুলিতে ব্যবহৃত হয় যেখানে এক পক্ষ সর্বদা যোগাযোগ পেতে প্রস্তুত থাকে। 74HC595 শিফট রেজিস্ট্রারের মতো কিছু, উদাহরণস্বরূপ, কখনও "ব্যস্ত" হয় না। যখন মাইক্রো নিয়ন্ত্রণের জন্য মাইক্রোকন্ট্রোলার এবং হার্ডওয়্যারের মধ্যে যোগাযোগের জন্য এসপিআই ভাল, তবে দুটি মাইক্রোকন্ট্রোলারের মধ্যে যোগাযোগের জন্য এটি সত্যিই ভাল নয়। আই 2 সি হার্ডওয়্যারযুক্ত দুটি প্রসেসর যখন এটি যোগাযোগের জন্য ব্যবহার করে, সফ্টওয়্যারটি যা ঘটছে তা মোকাবেলায় যতক্ষণ চাইবে (খুব উদার সীমাবদ্ধতার মধ্যে) সময় নিতে পারে, ডেটা ক্ষতি কারণ না করে। যদি প্রতিটি প্রসেসর প্রতিটি ইনকামিং বাইট প্রসেস করতে 100 টি মাইক্রোসেকেন্ড নিয়ে থাকে তবে তা মারাত্মকভাবে থ্রুপুট সীমাবদ্ধ করবে, তবে প্রেরক প্রাপককে ধরে রাখতে যথেষ্ট ধীর হয়ে যাবে। সাধারণত এসপিআইয়ের সাথে ঘটতে পারে এমন একমাত্র উপায় হ্যান্ডশেকিংয়ের জন্য যদি কারও কাছে পৃথক তার থাকে।

আই 2 সি আসলেই একটি দুর্দান্ত প্রোটোকল। সর্বাধিক নিখুঁত প্রোটোকল থেকে কল্পনাযোগ্য হওয়া থেকে বিরত থাকা সবচেয়ে বড় সীমাবদ্ধতাগুলি

  1. এর গতি কিছুটা সীমিত; এসপিআই আরও দ্রুত যেতে পারে, এবং ইউআরটিগুলিও মাঝে মাঝে কিছুটা দ্রুত যেতে পারে
  2. (২) যদিও এটি অত্যন্ত সুবিধাজনক যে আই 2 সি-তে কেবল দুটি তারের প্রয়োজন, উভয় তারের অবশ্যই দ্বি-নির্দেশমূলক ওপেন-সংগ্রাহক যোগাযোগের জন্য সক্ষম হতে হবে। এটি পুনরাবৃত্তির মাধ্যমে আই 2 সি প্রেরণে অসুবিধা সৃষ্টি করে।

ব্যক্তিগতভাবে, আমি দেখতে চাই কন্ট্রোলার বিক্রেতারা এসপিআইয়ের একটি তিন-তারের বৈকল্পিক সমর্থন করে যার মধ্যে হ্যান্ডশেকিং অন্তর্ভুক্ত। যদিও আমি এমন কোনও নিয়ামক তা জানি না তবে তা অজানা।


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

ওহ, আমি অনুমান করি যে আমার স্পষ্ট করে বলা উচিত যে এড্রেস বাইট না পাওয়া পর্যন্ত দাসদের উপর আউটপুট দৃ as় হয় না এবং একক চিপ সিলেক্ট না হওয়া পর্যন্ত তারা এগুলি চালিয়ে যায় ... সুতরাং এটি স্বাভাবিক এসপিআই + উচ্চ স্তরের থেকে স্পষ্টতই কিছুটা আলাদা প্রোটোকল। তবে এটি মাস্টার ডিভাইসের দৃষ্টিকোণ থেকে স্ট্যান্ডার্ড এসপিআইয়ের সাথে সম্পূর্ণ সুসংগত। (মাইক্রোপ্রসেসরের মতো)
ড্যারন

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

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

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

3

কোনও নির্দিষ্ট ক্রমে নয়, একই বাক্সে 2 টি সিপিইউয়ের জন্য সর্বাধিক জনপ্রিয় শারীরিক স্তর স্তরগুলি মনে হচ্ছে:

  • ডেইজি-চেইন এসপিআই (যেমন জে TAG দ্বারা ব্যবহৃত)
  • প্রতি-গোলাম এসপিআই -তে তারের নির্বাচন করুন
  • "টিটিএল-স্তরের আরএস -২৩২" ওরফে "অ্যাসিনক্রোনাস স্টার্ট-স্টপ সিরিয়াল যোগাযোগ" (সরাসরি একটি সিপিইউর ইউআরটি টিএক্স পিনকে অন্য সিপিইউয়ের ইউআরটি আরএক্স পিনের সাথে সংযুক্ত করে)
  • i2c
  • 8-বিট ডেটা + স্ট্রোব (যেমন আইইইই 1284 প্রিন্টার পোর্ট সমান্তরাল পোর্ট)
  • শেয়ার্ড-মেমরি (একবারে কেবলমাত্র একটি সিপিইউ ঠিকানা / ডেটা / নিয়ন্ত্রণ বাস চালায়)

এই শারীরিক স্তর উদাহরণগুলি (পাশাপাশি পৃথক বাক্সগুলিতে 2 সিপিইউগুলির জন্য অন্যান্য শারীরিক স্তর স্তরগুলি) সাধারণত সফ্টওয়্যারটিতে বাইটের একটি প্রবাহ সরবরাহ করে যা যোগাযোগ ব্যবস্থাটির উচ্চ স্তরের প্রয়োগ করে।

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

একটি সিপিইউ থেকে অন্য সিপিইউতে তথ্য প্রেরণের প্রোটোকলটি প্রায়শই সর্বদা প্যাকেটের সিরিজ হিসাবে বাইটের প্রবাহকে ব্যাখ্যা করার সাথে জড়িত:

  1. প্রস্তাবনা
  2. হেডার
  3. (সম্ভবত পালিয়ে গেছে) সিরিয়ালযুক্ত ডেটা
  4. লতা

কিছু লোক মেশা এবং মিলিয়ে (2) বিভিন্ন ধরণের শিরোনাম কাঠামোর মধ্যে একটি (3a) বিভিন্ন ধরণের সিরিয়ালাইজিং ডেটা (3 বি) এর মধ্যে এক ধরণের একের সাথে সম্পূর্ণ নতুন, কাস্টম, অসামঞ্জস্য প্রোটোকল তৈরি করে উপভোগ করছে বলে মনে হচ্ছে many বহু ধরণের ট্রেলার এক (4) এর সাথে সেই সিরিয়ালযুক্ত ডেটা থেকে বেরিয়ে আসা।

একটি প্যাকেটে ডেটা এনপ্যাপুলেটিংয়ের জন্য সহজ কিছু প্রোটোকলগুলির মধ্যে রয়েছে:

কোনও প্যাকেটে ডেটা এমপ্যুলেট করার জন্য আরও জটিল জটিল প্রোটোকলগুলির মধ্যে রয়েছে:

প্রোটোকলের দীর্ঘ তালিকা রয়েছে

আপনি রাডিয়া পারলম্যানের "প্রোটোকল ডিজাইন ফোকলোর" পড়তে উপভোগ করতে পারেন যা প্রোটোকল ডিজাইন কীভাবে ভুল হতে পারে তা বর্ণনা করে।


3

কোনও একক 'জেনারেল' প্রোটোকল নেই। পছন্দ (উদাহরণস্বরূপ) এর উপর নির্ভর করতে পারে:

  • দূরত্ব
  • প্রয়োজনীয় থ্রুপুট
  • বিশেষ পেরিফেরিয়ালগুলির প্রাপ্যতা
  • শব্দ স্তর
  • অপটিক্যাল বিচ্ছিন্নতা জন্য প্রয়োজন
  • সমালোচনা (সহনীয় ব্যর্থতার হার)
  • উভয় প্রান্তে avialable CPU শক্তি power
  • উভয় প্রান্তে আই / ও পিনগুলি উপলব্ধ

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

  • সাধারণ 5V বা 3.3V বা এমনকি 1.8V টিটিএল
  • উপরের যে কোনওটি কিন্তু পুশ-পুলের পরিবর্তে ওপেন-সংগ্রাহক
  • ভারসাম্য lov ভোল্টেজ সংকেত (প্রায়শই FPGA এর সাথে ব্যবহৃত)
  • ভারসাম্যযুক্ত হাইগার ভোল্টেজ (আরএস ৪85৫, আরএস ৪32২)
  • একক সমাপ্ত উচ্চ ভোল্টেজ (আরএস 232)
  • সুষম ট্র্যাফো-কাপলড (বিভিন্ন ইথারনেট সংস্করণ, PDIF অডিও)
  • অপটিক্যাল (অপটিকাল ইথারনেট, টসলিংক)

আপনি ডেটা এবং ঘড়ির তথ্য বহন করতে একটি লাইন ব্যবহার করতে পারেন, বা এটিকে একাধিক লাইনে বিভক্ত করতে পারেন। আধুনিকগুলি জনপ্রিয় হিসাবে ব্যবহৃত হত, তবে আজকাল বেশিরভাগ নতুন / দ্রুত প্রোটোকলগুলির মধ্যে একটি লাইন (বা এক জোড়া লাইন এক হিসাবে অভিনয় করে) ব্যবহার করার প্রবণতা রয়েছে।

থেইন একটি লাইনে ডেটা এবং ঘড়ির এনকোড করার প্রচুর উপায়। আরএস 232 traditionতিহ্যগতভাবে এনআরজেড ব্যবহার করে, সেখানে ম্যাচেস্টার এনকোডিং রয়েছে, কৌতূহলী নাম লাইন 2.7 আরএলএল সহ হার্ডডিস্কগুলিতে বিভিন্ন ফর্ম্যাট ব্যবহার করে।

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

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