দুটি ইউএআরটিএস কীভাবে জানবে যে কোন বাড রেটটি ব্যবহার করতে হবে?


14

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

ইউআআআরটির চারপাশের আমার জ্ঞানটি হ'ল লাইনটি যখন নিষ্ক্রিয় থাকে তখন এটি '1' এ রাখা হয়, স্টার্ট বিটটি একটি '0' এবং স্টপ বিটটি '1' থাকে। এছাড়াও, স্টপ বিট যখন '1' হচ্ছে তখন '1' এর সাথে কোনও পার্থক্য নেই যখন লাইনটি অলস থাকে বা আলাদা করার কোনও উপায় থাকে?

ইউআআআরটির প্রথম কথা বলার জন্য দু'জন কি সম্মিলিত হারের উপর তারা একমত হয়? যদি হ্যাঁ, তারা এটি কিভাবে করবেন?


"স্টপ বিট "টিকে সমানভাবে" নিষ্ক্রিয় অবস্থায় ফিরতে "বলা যেতে পারে, তবে এটিকে কিছুটা তৈরি করার সাথে এর একটি সংজ্ঞায়িত ন্যূনতম দৈর্ঘ্য রয়েছে, তবে সেই গ্যারান্টিযুক্ত ন্যূনতম সময়ের পরে, রেখাটি" 1 "অবস্থায় থাকবে পরবর্তী অক্ষর বরাবর আসে।
পিটার বেনেট

কোনও কিছু এক্সডি না করা পর্যন্ত এলোমেলোভাবে সাধারণ বাডের হারগুলি পরিবর্তন করতে পারে।
ব্র্যাডম্যান175

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

@ ইনফিক্স তাই আমি যদি ইউআআআরটি-র জন্য ভারিলোগ কোডটি সংশোধন বা তৈরি করার পরিকল্পনা করি তবে আমি এটি তৈরি করতে পারি যাতে এটি এই 'এটি' ক্রমটি সনাক্ত করতে পারে এবং সেখান থেকে এর বাউডের হারটি সামঞ্জস্য করতে পারে? আমি এটি সর্বোচ্চ বাড রেটে প্রাথমিককরণের কথা ভাবছিলাম যাতে এটি সমস্ত কিছু ক্যাপচার করে এবং সেখান থেকে 'এটি' সিকোয়েন্সটি সন্ধান করে।
Batibot323

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

উত্তর:


26

সাধারণ ইউআরটিগুলি প্রাকৃতিকভাবে একটি মানুষের দ্বারা পছন্দসই বাউড রেটের (পাশাপাশি শব্দের দৈর্ঘ্য, স্টপ বিটস, প্যারিটি ইত্যাদি) সাথে কনফিগার করতে হবে।

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

একজন প্রাপ্ত ইউআরটির সাধারণত একটি স্থানীয় ঘড়ি থাকে যা দ্রুত হারে চলে typically সাধারণত বাউডের হার থেকে 8 বা 16 গুণ বেশি। এটি আগত সিগন্যালের নমুনা করতে এবং কোনও শব্দের মধ্যে বিটগুলি এমনভাবে সনাক্ত করতে ব্যবহৃত হয় যা কয়েক শতাংশ ত্রুটি সহ্য করতে পারে। এমনকি দুটি স্ফটিক দোলক রেটগুলি পুরোপুরি মেলে না, তবে ত্রুটি সহনশীলতা কিছুটা কম সুনির্দিষ্ট উত্স ব্যবহারের অনুমতি দিতে পারে, কখনও কখনও অন-চিপ দোলকগুলি ছাঁটা ইত্যাদি সহ এটিও জনপ্রিয় এই দোলকের ফ্রিকোয়েন্সিগুলিকে বিভক্ত করার ফলে এই সত্যটি সামঞ্জস্য করতে সহায়তা করতে পারে নির্দিষ্ট বাউডের হারের সাথে একটি ভুল সমঝোতা - পুরানো দিনগুলিতে, ইউআরটি মাস্টার ঘড়ির মাঝে মাঝে জনপ্রিয় বাড রেটগুলি অ্যাক্সেসের জন্য নির্দিষ্ট ফ্রিকোয়েন্সিগুলির প্রয়োজন হয়, উদাহরণস্বরূপ, ৮০৫১ পরিবারে ১১.০৯৯২ মেগাহার্টজ।


2
অটো বাড সনাক্তকরণে আমার হাইপোথিসিসটি একটি টাইমার হতে পারে এবং প্রান্তগুলির মধ্যে প্রান্ত এবং সময় সন্ধান করতে একযোগে কাজ করা কাউন্টার হতে পারে?
ammar.cma

1
সমস্যাটি এমন কোনও অ্যালগরিদম নেই যা একটি সালিশ "uart সিরিয়াল" তরঙ্গরূপ গ্রহণ করতে পারে এবং নির্ভরযোগ্যভাবে বাউড্রেট নির্ধারণ করতে পারে। রূপান্তরের মধ্যে ন্যূনতম সময়টি আপনি ইজিয়ালি পর্যাপ্ত পরিমাণে খুঁজে পেতে পারেন তবে এটি একক বিট পিরিয়ডকে নেসেসোরিকালি উপস্থাপন করে না।
পিটার গ্রিন

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

8

দুটি ইউআরটিএস ডকুমেন্টেশনের মাধ্যমে এবং অপারেটর / ব্যবহারকারী দ্বারা হ্যান্ডশেক প্রোটোকল, স্টপ বিটের আকার ইত্যাদি সহ বাউড রেটটি হাত দ্বারা সেট করে "সম্মত" হন


1
..... ইন্টারফেসের উভয় প্রান্তের জন্য।
মাইকেল কারাস

2

হ্যাঁ, সবকিছু ম্যানুয়ালি সেট আপ করা হয় যা প্রায়শই কিছুটা ব্যথা হয়, বিশেষত যখন সিস্টেমগুলি দুর্বলভাবে নথিভুক্ত করা হয় (আমি আপনাকে দেখছি, প্রতিটি এম্বেড থাকা সিস্টেম কখনও)।

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

আপনি যদি অন্য প্রোটোকলগুলিতে আরও কিছুটা আগ্রহী করতে আগ্রহী হন তবে ইউএসবি আলোচনার জন্য এই ওয়েবসাইটটি দেখুন ।

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