জিপিআইও এনালগ এবং ডিজিটাল বোঝা


11

আমি জিপিআইও বোঝার চেষ্টা করছি, এবং বিভিন্ন ব্লগ পোস্ট পড়েছি এবং আমার মনে হয় আমি এটি পাওয়ার খুব কাছাকাছি, তবে এখনও কয়েকটি জিনিস নিয়ে লড়াই করছি।

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


কয়েকটি উত্তরের অনুসরণ হিসাবে ... বাইনারি মানটি একটি ডিজিটাল ইনপুট বা আউটপুটকে বোঝায়। এটি 1 (যা উত্স ভোল্টেজ হওয়া উচিত, "হাই" বা "চালু") বা 0 (যার অর্থ 0 ভি, "লো" বা "অফ" নামে পরিচিত) হতে পারে। এটি 1 বিট রেজোলিউশন। একটি অ্যানালগ ইনপুট একটি পরিসর হতে পারে, সাধারণত 0 ভি থেকে ভিসিসি (উত্স ভোল্টেজ) পর্যন্ত। 8 বিট রেজোলিউশন সহ একটি ডিজিটাল চিপ এই এনালগ ইনপুটটিকে 0 - 255 (বাইনারি: 00000000 - 11111111) রেঞ্জের 8 বিট ডিজিটাল সিগন্যালে রূপান্তর করবে, কারণ 2 ^ 8 - 1 = 255 (বাইনারি মানে বেস 2, 8টি 8 বিটের থেকে অংশ, এবং "- 1" কারণ ডিজিটাল স্টাফগুলি গণনা শুরু হয়, 1 নয়)।
কুর্ট ই। ক্লোটিয়ার

উত্তর:


14

একটি জিপিআইও পিন হ'ল 'সাধারণ উদ্দেশ্য ইনপুট / আউটপুট' পিন। এটি ডিফল্টরূপে কেবলমাত্র উচ্চ বা নিম্ন (ভোল্টেজের স্তর, উচ্চতর মাইক্রো কন্ট্রোলারের সরবরাহের ভোল্টেজ, কম সাধারণত স্থলভাগ বা 0 ভি) থাকে। তবে 'উচ্চ' এবং 'নিম্ন' এর স্তরগুলি সাধারণত সরবরাহের ভোল্টেজের অনুপাত হিসাবে ভোল্টেজ হিসাবে দেওয়া হয়। সুতরাং সাধারণত সরবরাহের ভোল্টেজের% 66% এর উপরে যে কোনও বিষয়কে একটি লজিক স্তর 'উচ্চ' হিসাবে বিবেচনা করা হয় যার অর্থ কিছু নিম্ন ভোল্টেজ ডিভাইস উচ্চ ভোল্টেজ ডিভাইসের সাথে কথা বলতে পারে যতক্ষণ স্তরটি 'উচ্চ' হিসাবে বিবেচিত হয় তার মধ্যে পড়ে। উদাহরণস্বরূপ একটি 1.8–2.7V লো পাওয়ার মাইক্রোকন্ট্রোলার বা জিপিএস রিসিভারের সাথে সরাসরি 5V মাইক্রোকন্ট্রোলারের সাথে যোগাযোগ করতে সমস্যা হবে কারণ লো ভোল্টেজ ডিভাইসটি 'উচ্চ' হিসাবে যেটি দেখছে উচ্চ ভোল্টেজ ডিভাইসটি একেবারেই উচ্চ বলে মনে করবে না। এটি জিপিআইওকে ইনপুট পিন হিসাবে ব্যবহার করার জন্য,

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

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

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

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


আপনি কীভাবে একটি উদাহরণ দিতে পারেন যে "সিঙ্গেল পিন কীভাবে 'অ্যানালগ' মানের জন্য ব্যবহার করা যেতে পারে"?
পাভেল

আউটপুটটিতে একটি মসৃণ এনালগ "গড়" ভোল্টেজ তৈরি করতে @ জিমজিম 2000 কেবল কোনও আরসি ফিল্টারের মাধ্যমে চালু বা অফ পিওএমএম যথাযথ স্ট্রিম।
কিরানএফ

7

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

একটি গড় (ডিউটি ​​সাইকেল) তৈরি করতে পিডাব্লুএম দ্রুত আউটপুট হাই থেকে আউটপুট লো (পিরিয়ড) এ আউটপুট দ্রুত টগল করে, এমন কোনও কিছু যা অ্যানালগ মানের মতো দেখায়। 50% (বা 128) শুল্ক চক্রে বাইনারি জিপিআইও টগল করে, আউটপুটটি এখনও বাইনারি হয় তবে উচ্চ এবং নিম্নের মাঝামাঝি সময়ে গড় হয়।

একটি হালকা বাল্ব চিন্তা করুন। আপনি এটি চালু বা বন্ধ দেখতে পাবেন। তবে এটি সত্যিই প্রতি সেকেন্ডে 60 বার চালু এবং বন্ধ হয়ে গেছে, এত দ্রুত যাতে আপনি এটির জ্বলজ্বলটি সত্যিই দ্রুত লক্ষ্য করেন না। তবে সত্যিই ধীরে ধীরে ধীরে ধীরে হালকা বাল্বটি চালু এবং বন্ধ করুন এবং আপনি এটির জ্বলজ্বল লক্ষ্য করবেন notice 255 এর মধ্যে এর অর্থ 100% চালু এবং 255 এরও কম 100% এর একটি ভগ্নাংশ।

এভাবেই বাইনারি জিপিআইও 255 রাজ্যের অ্যানালগ পিনের মতো কাজ করতে পারে।


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

1
@pedalpete আরপিআই এবং আরডুইনোর ভিড় এবং ধারণাগুলিতে প্রচুর ওভারল্যাপ রয়েছে। তবে 0 থেকে 255 এর একটি পিডব্লিউএম স্বেচ্ছাসেবী। এটি 0 থেকে 65535 বা 0 থেকে 16 হতে পারে 0 0 থেকে 255 যথার্থতার 8 বিট। যেখানে 255 বা 65535 বা যা 100% রয়েছে। একজন জিপিআইওতে কেবল বাইনারি চালু এবং বন্ধ থাকে তবে আপনি পিডাব্লুএমএম ব্যবহার করে এটি চালিয়ে যাওয়ার বা বন্ধ করার চেয়ে বেশি কিছু থাকতে পারে tend এটি একটি দরকারী, এবং ইচ্ছাকৃত অপটিক্যাল বিভ্রম।
যাত্রী

2
একটি হালকা বাল্ব প্রতি সেকেন্ডে 60 বার এ জ্বলজ্বল এবং বন্ধ হয় না। ফিলামেন্ট গরম হয়ে যায় এবং উত্তপ্ত থাকে
স্কট সিডম্যান

0

একটি জিপিআইও বিট 0 বা 1 হতে পারে একটি 8 বিট জিপিআইও পোর্ট, টানা 8 টি বিট দিয়ে তৈরি, 00000000 এবং 11111111, বা 255 দশমিকের মধ্যে হতে পারে। "এনালগ" ধারণার সাথে এটির সামান্য যোগসূত্র রয়েছে


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

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