General-purpose input/output
একটি জেনারেল-পারপাস ইনপুট/আউটপুট (জি. পি. আই. ও) হল একটি ইন্টিগ্রেটেড সার্কিট বা ইলেকট্রনিক সার্কিটে একটি অসম্পূর্ণ ডিজিটাল সিগন্যাল পিন। এমসিইউ/এমপিইউ) বোর্ড যা ইনপুট বা আউটপুট বা উভয় হিসাবে ব্যবহার করা যেতে পারে এবং সফ্টওয়্যার দ্বারা নিয়ন্ত্রণযোগ্য। জিপিআইওগুলির কোনও পূর্বনির্ধারিত উদ্দেশ্য নেই এবং ডিফল্টরূপে অব্যবহৃত। যদি ব্যবহার করা হয়, একটি জিপিআইওর উদ্দেশ্য এবং আচরণ উচ্চতর সমাবেশ-স্তরের সার্কিটের ডিজাইনার দ্বারা সংজ্ঞায়িত এবং বাস্তবায়িত হয়ঃ ইন্টিগ্রেটেড সার্কিট জিপিআইওর ক্ষেত্রে সার্কিট বোর্ড ডিজাইনার, বা বোর্ড-স্তরের জিপিআইওর ক্ষেত্রে সিস্টেম ইন্টিগ্রেটর। ইন্টিগ্রেটেড সার্কিট জি. পি. আই. ও ইন্টিগ্রেটেড সার্কিট (আই. সি) জি. পি. আই. ও বিভিন্ন উপায়ে প্রয়োগ করা হয়। কিছু আই. সি প্রাথমিক কাজ হিসাবে জি. পি. আই. ও প্রদান করে যেখানে অন্যগুলি অন্যান্য প্রাথমিক কাজের জন্য সুবিধাজনক "আনুষঙ্গিক" হিসাবে জি. পি. আই. ও অন্তর্ভুক্ত করে। প্রথমটির উদাহরণগুলির মধ্যে রয়েছে ইন্টেল 8255, যা 24টি জিপিআইও-কে একটি সমান্তরাল যোগাযোগ বাসের সাথে সংযুক্ত করে এবং বিভিন্ন জিপিআইও এক্সপ্যান্ডার আইসি, যা জিপিআইও-কে আই 2 সি এবং এসএমবাসের মতো ক্রমিক যোগাযোগ বাসের সাথে সংযুক্ত করে। পরেরটির একটি উদাহরণ হল রিয়েলটেক এএলসি260 আইসি, যা অডিও কোডেকের প্রধান ফাংশন সহ আটটি জিপিআইও সরবরাহ করে। মাইক্রোকন্ট্রোলার আইসিগুলিতে সাধারণত জিপিআইও অন্তর্ভুক্ত থাকে। প্রয়োগের উপর নির্ভর করে, একটি মাইক্রোকন্ট্রোলারের জিপিআইওগুলি বাহ্যিক সার্কিটের প্রাথমিক ইন্টারফেস নিয়ে গঠিত হতে পারে বা এগুলি অ্যানালগ সিগন্যাল আই/ও, কাউন্টার/টাইমার এবং সিরিয়াল যোগাযোগের মতো অনেকগুলির মধ্যে ব্যবহৃত এক ধরণের আই/ও হতে পারে। কিছু আই. সি-তে, বিশেষ করে মাইক্রোকন্ট্রোলারগুলিতে, একটি জি. পি. আই. ও পিন জি. পি. আই. ও ছাড়া অন্যান্য কাজ করতে সক্ষম হতে পারে। প্রায়শই এই জাতীয় ক্ষেত্রে জিপিআইওর আচরণ কনফিগার করার পাশাপাশি জিপিআইও (এর অন্যান্য ফাংশনগুলির সাথে) হিসাবে কাজ করার জন্য পিনটি কনফিগার করা প্রয়োজন। কিছু মাইক্রোকন্ট্রোলার ডিভাইস (যেমন, মাইক্রোচিপ ডিএসপিআইসি33 পরিবার) অভ্যন্তরীণ সংকেত রাউটিং সার্কিটিকে অন্তর্ভুক্ত করে যা জিপিআইওগুলিকে ডিভাইস পিনে প্রোগ্রামগতভাবে ম্যাপ করার অনুমতি দেয়। ফিল্ড-প্রোগ্রামেবল গেট অ্যারে (এফ. পি. জি. এ) জিপিআইও পিন ম্যাপিং, ইনস্ট্যান্টিয়েশন এবং স্থাপত্যকে প্রোগ্রামগতভাবে নিয়ন্ত্রণ করার অনুমতি দিয়ে এই ক্ষমতাকে প্রসারিত করে। বোর্ড-স্তরের জি. পি. আই. ও অনেক সার্কিট বোর্ড সমন্বিত বৈদ্যুতিক সংযোগকারীগুলির মাধ্যমে বোর্ড-স্তরের জি. পি. আই. ওগুলিকে বাহ্যিক সার্কিট্রিতে প্রকাশ করে। সাধারণত, এই ধরনের প্রতিটি জিপিআইও একটি ডেডিকেটেড সংযোগকারী পিনের মাধ্যমে অ্যাক্সেসযোগ্য। আই. সি-ভিত্তিক জি. পি. আই. ও-গুলির মতো, কিছু বোর্ড কেবল জি. পি. আই. ও-কে একটি সুবিধাজনক, সহায়ক সম্পদ হিসাবে অন্তর্ভুক্ত করে যা বোর্ডের প্রাথমিক কাজকে বাড়িয়ে তোলে, যেখানে অন্যান্য বোর্ডগুলিতে জি. পি. আই. ও হল বোর্ডের কেন্দ্রীয়, প্রাথমিক কাজ। কিছু বোর্ড, যা সাধারণত মাল্টি-ফাংশন আই/ও বোর্ড হিসাবে শ্রেণীবদ্ধ করা হয়, উভয়ের সংমিশ্রণ; এই ধরনের বোর্ডগুলি অন্যান্য ধরনের সাধারণ-উদ্দেশ্য আই/ও সহ জিপিআইও সরবরাহ করে। জিপিআইওগুলি এমবেডেড কন্ট্রোলার বোর্ড এবং সিঙ্গল বোর্ড কম্পিউটার যেমন আরডুইনো, বিগলবোন এবং রাস্পবেরি পাই-তেও পাওয়া যায়। বোর্ড-স্তরের জি. পি. আই. ও-দের প্রায়শই এমন দক্ষতা দেওয়া হয় যা আই. সি-ভিত্তিক জি. পি. আই. ও-দের সাধারণত থাকে না। উদাহরণস্বরূপ, শ্মিট-ট্রিগার ইনপুট, উচ্চ-বর্তমান আউটপুট ড্রাইভার, অপটিক্যাল আইসোলেটর, বা এগুলির সংমিশ্রণ, জিপিআইও সংকেতগুলি বাফার এবং শর্ত করতে এবং বোর্ড সার্কিটিকে রক্ষা করতে ব্যবহার করা যেতে পারে। এছাড়াও, কখনও কখনও উচ্চ-স্তরের ফাংশনগুলি প্রয়োগ করা হয়, যেমন ইনপুট ডিবাউন্স, ইনপুট সিগন্যাল এজ ডিটেকশন এবং পালস-উইথ মড্যুলেশন (পিডব্লিউএম) আউটপুট। ব্যবহার জি. পি. আই. ওগুলি বিভিন্ন ধরনের অ্যাপ্লিকেশনগুলিতে ব্যবহৃত হয়, শুধুমাত্র জি. পি. আই. ও ইন্টারফেসের বৈদ্যুতিক এবং সময় নির্দিষ্টকরণ এবং পর্যাপ্ত সময়োপযোগী পদ্ধতিতে জি. পি. আই. ওগুলির সাথে যোগাযোগ করার জন্য সফ্টওয়্যারের ক্ষমতা দ্বারা সীমাবদ্ধ। জিপিআইওগুলি সাধারণত স্ট্যান্ডার্ড লজিক স্তরগুলি নিয়োগ করে এবং আউটপুট লোডে উল্লেখযোগ্য বিদ্যুৎ সরবরাহ করতে পারে না। যখন একটি উপযুক্ত উচ্চ-বর্তমান আউটপুট বাফার (বা যান্ত্রিক বা সলিড-স্টেট রিলে) অনুসরণ করা হয়, তখন একটি জিপিআইও লাইট, সোলেনয়েড, হিটার এবং মোটর (যেমন, ফ্যান এবং ব্লোয়ার) এর মতো উচ্চ-শক্তির ডিভাইসগুলি নিয়ন্ত্রণ করতে ব্যবহার করা যেতে পারে। একইভাবে, একটি ইনপুট বাফার, রিলে বা অপ্টো-আইসোলেটর প্রায়শই একটি জিপিআইও দ্বারা প্রয়োজনীয় লজিক স্তরে অন্যথায় অসঙ্গতিপূর্ণ সংকেত (যেমন, উচ্চ ভোল্টেজ) অনুবাদ করতে ব্যবহৃত হয়। ইন্টিগ্রেটেড সার্কিট জি. পি. আই. ও সাধারণত একটি বোর্ডে অন্যান্য সার্কিট (অন্যান্য আই. সি সহ) নিয়ন্ত্রণ বা পর্যবেক্ষণ করতে ব্যবহৃত হয়। এর উদাহরণগুলির মধ্যে রয়েছে অন্যান্য সার্কিটের (বা পাওয়ার) ক্রিয়াকলাপ সক্ষম ও নিষ্ক্রিয় করা, অন-বোর্ড সুইচ এবং কনফিগারেশন শান্টের অবস্থা পড়া এবং আলো-নির্গমনকারী ডায়োড (এলইডি) স্থিতি সূচকগুলি চালানো। পরের ক্ষেত্রে, একটি জিপিআইও, অনেক ক্ষেত্রে, একটি মধ্যবর্তী বাফার ব্যবহার না করে সরাসরি একটি এলইডি পাওয়ার করার জন্য পর্যাপ্ত আউটপুট কারেন্ট সরবরাহ করতে পারে। একাধিক জি. পি. আই. ও কখনও কখনও একটি বিট ব্যাঙ্গিং যোগাযোগ ইন্টারফেস হিসাবে একসাথে ব্যবহৃত হয়। উদাহরণস্বরূপ, ইন্টার-ইন্টিগ্রেটেড সার্কিট (আই 2 সি)-এর মতো সিরিয়াল যোগাযোগ বাস বাস্তবায়নের জন্য দুটি জিপিআইও ব্যবহার করা যেতে পারে এবং সিরিয়াল পেরিফেরাল ইন্টারফেস (এসপিআই) বাস বাস্তবায়নের জন্য চারটি জিপিআইও ব্যবহার করা যেতে পারে; এগুলি সাধারণত আইসি এবং অন্যান্য ডিভাইসগুলির সাথে সিরিয়াল যোগাযোগের সুবিধার্থে ব্যবহৃত হয় যার সামঞ্জস্যপূর্ণ সিরিয়াল ইন্টারফেস রয়েছে, যেমন সেন্সর (যেমন, তাপমাত্রা সেন্সর, চাপ সেন্সর, অ্যাক্সিলেরোমিটার) এবং মোটর নিয়ন্ত্রক। চরম পর্যায়ে নিয়ে গেলে, এই পদ্ধতিটি একটি সম্পূর্ণ সমান্তরাল বাস বাস্তবায়নের জন্য ব্যবহার করা যেতে পারে, এইভাবে বাস-ভিত্তিক আইসি বা সার্কিট বোর্ডের সাথে যোগাযোগের অনুমতি দেয়। যদিও জিপিআইওগুলি মৌলিকভাবে ডিজিটাল প্রকৃতির, তবে এগুলি প্রায়শই রৈখিক প্রক্রিয়াগুলি নিয়ন্ত্রণ করতে ব্যবহৃত হয়। উদাহরণস্বরূপ, একটি জিপিআইও মোটরের গতি, আলোর তীব্রতা বা তাপমাত্রা নিয়ন্ত্রণ করতে ব্যবহার করা যেতে পারে। সাধারণত, এটি পিডব্লিউএম-এর মাধ্যমে করা হয়, যেখানে জিপিআইও আউটপুট সিগন্যালের ডিউটি সাইকেল প্রক্রিয়া নিয়ন্ত্রণ সিগন্যালের কার্যকর মাত্রা নির্ধারণ করে। উদাহরণস্বরূপ, আলোর তীব্রতা নিয়ন্ত্রণ করার সময়, জিপিআইও শুল্ক চক্র হ্রাস করে আলোকে ম্লান করা যেতে পারে। কিছু রৈখিক প্রক্রিয়ার জন্য রৈখিক নিয়ন্ত্রণ ভোল্টেজের প্রয়োজন হয়। এই ধরনের ক্ষেত্রে, একটি সহজ, কম খরচের ডিজিটাল-টু-অ্যানালগ রূপান্তরকারী তৈরি করতে একটি জিপিআইও, যা একটি পিডব্লিউএম আউটপুট হিসাবে পরিচালিত হয়, একটি আরসি ফিল্টারের সাথে সংযুক্ত করা সম্ভব হতে পারে। বাস্তবায়নের জিপিআইও ইন্টারফেসগুলি ব্যাপকভাবে পরিবর্তিত হয়। কিছু ক্ষেত্রে, এগুলি সহজ-পিনগুলির একটি গ্রুপ যা ইনপুট বা আউটপুটে গ্রুপ হিসাবে স্যুইচ করতে পারে। অন্যান্য ক্ষেত্রে, প্রতিটি পিন কনফিগারযোগ্য ড্রাইভ শক্তি এবং পুল আপ/ডাউন সহ বিভিন্ন লজিক ভোল্টেজ গ্রহণ বা উৎস করার জন্য সেট আপ করা যেতে পারে। ইনপুট এবং আউটপুট ভোল্টেজগুলি সাধারণত, তবে সর্বদা নয়, জিপিআইওগুলির সাথে ডিভাইসের সরবরাহ ভোল্টেজের মধ্যে সীমাবদ্ধ থাকে এবং বৃহত্তর ভোল্টেজের দ্বারা ক্ষতিগ্রস্ত হতে পারে। একটি জিপিআইও পিনের অবস্থা সফ্টওয়্যার ডেভেলপারের কাছে বিভিন্ন ইন্টারফেসের মাধ্যমে উন্মুক্ত হতে পারে, যেমন মেমরি-ম্যাপ করা আই/ও পেরিফেরাল, বা ডেডিকেটেড আইও পোর্ট নির্দেশাবলীর মাধ্যমে। কিছু জি. পি. আই. ও-তে 5 ভি সহনশীল ইনপুট থাকেঃ এমনকি যখন যন্ত্রটির সরবরাহ ভোল্টেজ কম থাকে (যেমন 2 ভি), তখনও যন্ত্রটি ক্ষতি ছাড়াই 5 ভি গ্রহণ করতে পারে। একটি জিপিআইও পোর্ট হল জিপিআইও পিনগুলির একটি গ্রুপ (প্রায়শই 8 টি পিন, তবে এটি কম হতে পারে) একটি গ্রুপে সাজানো এবং একটি গ্রুপ হিসাবে নিয়ন্ত্রিত। জিপিআইও দক্ষতার মধ্যে অন্তর্ভুক্ত থাকতে পারেঃ জিপিআইও পিনগুলি ইনপুট বা আউটপুট হিসাবে কনফিগার করা যেতে পারে জিপিআইও পিনগুলি সক্ষম/অক্ষম করা যেতে পারে ইনপুট মানগুলি পাঠযোগ্য (সাধারণত উচ্চ বা নিম্ন) আউটপুট মানগুলি লিখনযোগ্য/পাঠযোগ্য ইনপুট মানগুলি প্রায়শই আইআরকিউ হিসাবে ব্যবহার করা যেতে পারে (সাধারণত জেগে ওঠার ইভেন্টগুলির জন্য) প্রোগ্রাম করা ইনপুট/আউটপুট এসজিপিআইও বিশেষ ইনপুট/আউটপুট রেফারেন্সগুলি দেখুন ফ্রিবিএসডি ফ্রিবিএসডি জিপিওর জন্য জিপিআইও ফ্রেমওয়ার্ক (3) এপিআই ম্যানুয়াল ফ্রিবিএসডি জিপিওক্টল (8) ম্যানুয়াল ফ্রিবিএসডি জিপিও (4) ম্যানুয়াল এএলএসএ ডেভেলপমেন্ট লিস্ট লিনাক্স কার্নেল ডক জিপিআইওটিভি লিনাক্স জিপিআইও পিন ইনফো কম্পিউটার বাস ইন্টিগ্রেটেড সার্কিট