অধৈর্য জন্য, আপনি পটভূমি এড়িয়ে যেতে পারেন।
পটভূমি
আমি মাইক্রোকন্ট্রোলারের একটি সেট প্রোগ্রাম করছি যা এসপিআইয়ের সাথে যোগাযোগ করে। সেখানে এক মাস্টার এবং n
ক্রীতদাস রয়েছেন যা বাসটি ভাগ করে দেয়। কোনও চিপ নির্বাচন নেই। (এটি কোনও খারাপ নকশা নয়, তবে n
এটি বড় এবং n
অতিরিক্ত লাইনের জন্য পর্যাপ্ত জায়গা নেই )।
অতএব দাসদের দায়িত্ব তাদের এমআইএসওকে উচ্চ প্রতিবন্ধী রাখা এবং তাদের বেশিরভাগের মধ্যেই কথা বলা। এটি কেবল যখন তাদের আইডি পোল করা হয় তখন প্রতিক্রিয়া জানানোর মাধ্যমে করা হয়।
এখন আমরা একটি প্রাথমিক আবিষ্কারের পর্ব পেতে চাই যেখানে মাস্টার দাসদের সাথে আইডিগুলির সাথে কী সংযুক্ত রয়েছে তা আবিষ্কার করেন। জীবনকে আরও সহজ করার জন্য (কিছু বিষয়ে), আমরা আইডিটি অনন্য (এবং তাই উদাহরণস্বরূপ 32 বিট) রাখতে চাই। এটি মাস্টারকে একের পর এক আইডিতে পোলিং করা এবং কে প্রতিক্রিয়া জানায় তা অসম্ভব করে তোলে (অনেক সম্ভাবনা রয়েছে)।
এই সমস্যাটি সমাধান করার জন্য, আমি বাইনারি অনুসন্ধানের একটি প্রকরণ তৈরি করেছি যেখানে দাসেরা সম্মিলিতভাবে প্রতিক্রিয়া জানায় এবং মাস্টার দ্রুত ন্যূনতম আইডি সন্ধান করতে সক্ষম হয়। সেই আইডি সহ দাসটিকে আর অংশ না নেওয়ার জন্য বলা হয় এবং অ্যালগরিদম পুনরাবৃত্তি করে। (বিশদ গুরুত্বহীন)।
যদিও একটি সমস্যা আছে। সম্মিলিত প্রতিক্রিয়াটি সমস্ত প্রতিক্রিয়ার যৌক্তিক OR (বা লজিক্যাল এ্যান্ড) হওয়া দরকার। আমাকে বলা হয়েছে যে লাইনটি এমনভাবে কনফিগার করা যেতে পারে যাতে এমআইএসও বাসটি যৌক্তিক ওআর হিসাবে কাজ করতে পারে। আমাকে যা বলা হয়েছে তা হ'ল:
- মাইসকে পুল-আপ হিসাবে সেট করুন এবং
- প্রতিটি গোলামের উপর এমআইএসও ওপেন-ড্রেন হিসাবে সেট করুন।
আমি এটি চেষ্টা করেছি, তবে একটি একক দাসের সাথেও এই কনফিগারেশনটি কাজ করে না (অ্যাসিলোস্কোপ লাইনে একটি ধ্রুবক শূন্য দেখায়)। যদি আমি হাই-ইম্পিডেন্স ইনপুট হিসাবে মাস্টারের উপর এমআইএসও কনফিগার করে থাকি তবে আমি অসিলোস্কোপের সাহায্যে দেখতে পাই যে ভোল্টেজ অর্ধেক নেমে আসে যেখানে দুটি ক্রীতদাসের আউটপুটগুলির বিট পৃথক হয় (মূলত শর্ট সার্কিট আমার ধারণা)।
দ্রষ্টব্য: এমআইএসও-কে উচ্চ-প্রতিবন্ধক হিসাবে এবং ম্যাসাভকে প্রত্যেককে পুশ-পুল হিসাবে কনফিগার করা, আমি একই বাসে তাদের বেশিরভাগ লোক থাকলেও আমি তাদের প্রত্যেকের সাথে স্বতন্ত্রভাবে কথা বলতে পারি। মানে আমি সন্দেহ করি এটি লাইন নিজেই সমস্যা itself
প্রশ্ন
আমার প্রশ্ন হ'ল এটি যদি সম্ভব হয় এবং যদি হয় তবে আমি কীভাবে মাস্টার এবং দাসদের ইনপুট এবং আউটপুট পিনগুলি কনফিগার করব যাতে ভাগ করা এমআইএসও লাইনটি লজিক্যাল ওআর (বা লজিক্যাল এ্যান্ড) হিসাবে কাজ করবে?
সম্পাদন করা
পরিণত হয়েছে এটি নেতিবাচক-সত্য যুক্তিযুক্ত (মূলত একটি এ্যান্ড) এর সাথে ওআর হয়ে যায়।
একক ক্রীতদাসের সমস্যাটি মাস্টারের উপরে টান-আপ পিনটিতে 1 লিখে সমাধান করা হয়েছিল। পূর্বে এর প্রাথমিক অবস্থা 0 ছিল।
সম্পাদনা 2
দেখা গেছে যে এসটি স্লেভটি এমআইএসও-র আমার জিপিআইও কনফিগারেশনকে ওপেন ড্রেন হিসাবে ওভাররাইড করে এবং যখন এটি লেখা হয় তখন এটি উচ্চ চাপ দেয়। আমি এসপিআইকে নিঃশব্দ করার এবং এমআইএসওকে এই বিশেষ ক্ষেত্রে ম্যানুয়ালি আউটপুট করার সংকল্প করেছি।