General-purpose input/output
جنرل پرپز ان پٹ/آؤٹ پٹ (جی پی آئی او) انٹیگریٹڈ سرکٹ یا الیکٹرانک سرکٹ پر ایک غیر متزلزل ڈیجیٹل سگنل پن ہے۔ ایم سی یو/ایم پی یو) بورڈ جو ان پٹ یا آؤٹ پٹ، یا دونوں کے طور پر استعمال کیا جا سکتا ہے، اور سافٹ ویئر کے ذریعے قابل کنٹرول ہے۔ جی پی آئی اوز کا کوئی پہلے سے طے شدہ مقصد نہیں ہے اور وہ پہلے سے طے شدہ طور پر غیر استعمال شدہ ہیں۔ اگر استعمال کیا جائے تو، جی پی آئی او کے مقصد اور رویے کی وضاحت اور نفاذ اعلی اسمبلی سطح کے سرکٹری کے ڈیزائنر کے ذریعہ کیا جاتا ہے: انٹیگریٹڈ سرکٹ جی پی آئی اوز کے معاملے میں سرکٹ بورڈ ڈیزائنر، یا بورڈ سطح کے جی پی آئی اوز کے معاملے میں سسٹم انٹیگریٹر۔ انٹیگریٹڈ سرکٹ جی پی آئی اوز انٹیگریٹڈ سرکٹ (آئی سی) جی پی آئی اوز کو مختلف طریقوں سے نافذ کیا جاتا ہے۔ کچھ آئی سی جی پی آئی اوز کو بنیادی فنکشن کے طور پر فراہم کرتے ہیں جبکہ دیگر میں جی پی آئی اوز کو کسی دوسرے بنیادی فنکشن کے لیے آسان "لوازمات" کے طور پر شامل کیا جاتا ہے۔ سابقہ کی مثالوں میں انٹیل 8255 شامل ہے، جو 24 جی پی آئی اوز کو متوازی مواصلاتی بس سے جوڑتا ہے، اور مختلف جی پی آئی او ایکسپینڈر آئی سیز، جو جی پی آئی اوز کو سیریل مواصلاتی بسوں جیسے آئی 2 سی اور ایس ایم بس سے جوڑتے ہیں۔ مؤخر الذکر کی ایک مثال ریئلٹیک اے ایل سی 260 آئی سی ہے، جو آڈیو کوڈیک کے اپنے بنیادی کام کے ساتھ آٹھ جی پی آئی او فراہم کرتا ہے۔ مائیکرو کنکولر آئی سی میں عام طور پر جی پی آئی او شامل ہوتے ہیں۔ ایپلی کیشن پر منحصر ہے، مائیکرو کنکولر کے جی پی آئی او بیرونی سرکٹری کے لیے اس کے بنیادی انٹرفیس پر مشتمل ہو سکتے ہیں یا وہ صرف ایک قسم کے آئی/او ہو سکتے ہیں جو کئی کے درمیان استعمال ہوتے ہیں، جیسے کہ اینالاگ سگنل I/O، کاؤنٹر/ٹائمر، اور سیریل کمیونیکیشن۔ کچھ آئی سیز میں، خاص طور پر مائیکرو کنٹرولرز میں، جی پی آئی او پن جی پی آئی او کے علاوہ دیگر افعال کے قابل ہو سکتا ہے۔ اکثر ایسے معاملات میں جی پی آئی او کے رویے کو ترتیب دینے کے علاوہ پن کو جی پی آئی او (اس کے دیگر افعال کے ساتھ) کے طور پر کام کرنے کے لیے ترتیب دینا ضروری ہے۔ کچھ مائیکرو کنکولر ڈیوائسز (مثال کے طور پر مائیکروچپ ڈی ایس پی آئی سی 33 فیملی) اندرونی سگنل روٹنگ سرکٹری کو شامل کرتے ہیں جو جی پی آئی اوز کو ڈیوائس پنوں پر پروگراماتی طور پر نقشہ سازی کرنے کی اجازت دیتا ہے۔ فیلڈ پروگرام کے قابل گیٹ صف (ایف پی جی اے) جی پی آئی او پن میپنگ، فوری اور فن تعمیر کو پروگرام کے ذریعے کنٹرول کرنے کی اجازت دے کر اس صلاحیت کو بڑھاتا ہے۔ بورڈ سطح کے جی پی آئی اوز بہت سے سرکٹ بورڈ مربوط برقی کنیکٹر کے ذریعے بورڈ سطح کے جی پی آئی اوز کو بیرونی سرکٹری سے بے نقاب کرتے ہیں۔ عام طور پر، اس طرح کا ہر جی پی آئی او ایک مخصوص کنیکٹر پن کے ذریعے قابل رسائی ہوتا ہے۔ آئی سی پر مبنی جی پی آئی اوز کی طرح، کچھ بورڈ محض جی پی آئی اوز کو ایک آسان، معاون وسائل کے طور پر شامل کرتے ہیں جو بورڈ کے بنیادی کام کو بڑھاتا ہے، جبکہ دوسرے بورڈوں میں جی پی آئی اوز بورڈ کا مرکزی، بنیادی کام ہے۔ کچھ بورڈ، جنہیں عام طور پر ملٹی فنکشن I/O بورڈ کے طور پر درجہ بند کیا جاتا ہے، دونوں کا مجموعہ ہوتے ہیں ؛ ایسے بورڈ دیگر اقسام کے عام مقصد I/O کے ساتھ ساتھ GPIO فراہم کرتے ہیں۔ جی پی آئی او سرایت شدہ کنٹرولر بورڈز اور سنگل بورڈ کمپیوٹرز جیسے آرڈوینو، بیگل بون، اور راسبیری پائی پر بھی پائے جاتے ہیں۔ بورڈ سطح کے جی پی آئی اوز کو اکثر ایسی صلاحیتیں دی جاتی ہیں جن کی عام طور پر آئی سی پر مبنی جی پی آئی اوز میں کمی ہوتی ہے۔ مثال کے طور پر، شمٹ-ٹریگر ان پٹ، ہائی کرنٹ آؤٹ پٹ ڈرائیورز، آپٹیکل آئسولیٹرز، یا ان کے امتزاج، کو جی پی آئی او سگنلز کو بفر اور کنڈیشن کرنے اور بورڈ سرکٹری کی حفاظت کے لیے استعمال کیا جا سکتا ہے۔ نیز، بعض اوقات اعلی سطح کے افعال کو نافذ کیا جاتا ہے، جیسے ان پٹ ڈیباؤنس، ان پٹ سگنل ایج ڈٹیکشن، اور پلس چوڑائی ماڈیولیشن (پی ڈبلیو ایم) آؤٹ پٹ۔ استعمال جی پی آئی اوز متنوع قسم کی ایپلی کیشنز میں استعمال ہوتے ہیں، جو صرف جی پی آئی او انٹرفیس کی برقی اور وقت کی خصوصیات اور کافی بروقت طریقے سے جی پی آئی اوز کے ساتھ بات چیت کرنے کے لیے سافٹ ویئر کی صلاحیت سے محدود ہوتے ہیں۔ جی پی آئی او عام طور پر معیاری منطق کی سطحوں کو استعمال کرتے ہیں اور آؤٹ پٹ بوجھ کو اہم کرنٹ فراہم نہیں کر سکتے ہیں۔ جب ایک مناسب ہائی کرنٹ آؤٹ پٹ بفر (یا مکینیکل یا سالڈ اسٹیٹ ریلے) کے بعد، ایک جی پی آئی او کو ہائی پاور ڈیوائسز جیسے لائٹس، سولینائڈز، ہیٹرز، اور موٹرز (جیسے، پنکھے اور بلوئر) کو کنٹرول کرنے کے لیے استعمال کیا جا سکتا ہے۔ اسی طرح، ایک ان پٹ بفر، ریلے یا آپٹو آئسولیٹر اکثر جی پی آئی او کے ذریعہ مطلوبہ منطق کی سطح پر دوسری صورت میں مطابقت نہ رکھنے والے سگنل (مثال کے طور پر ہائی وولٹیج) کا ترجمہ کرنے کے لیے استعمال کیا جاتا ہے۔ انٹیگریٹڈ سرکٹ GPIOs عام طور پر بورڈ پر دیگر سرکٹری (بشمول دیگر ICs) کو کنٹرول یا نگرانی کرنے کے لیے استعمال ہوتے ہیں۔ اس کی مثالوں میں دیگر سرکٹری کے (یا پاور) آپریشن کو فعال اور غیر فعال کرنا، آن بورڈ سوئچز اور کنفیگریشن شونٹس کی حالتوں کو پڑھنا، اور لائٹ ایمیٹنگ ڈایڈڈ (ایل ای ڈی) اسٹیٹس انڈیکیٹرز کو چلانا شامل ہیں۔ مؤخر الذکر صورت میں، ایک جی پی آئی او، بہت سے معاملات میں، انٹرمیڈیٹ بفر کا استعمال کیے بغیر ایل ای ڈی کو براہ راست طاقت دینے کے لیے کافی آؤٹ پٹ کرنٹ فراہم کر سکتا ہے۔ متعدد جی پی آئی اوز کو بعض اوقات ایک ساتھ تھوڑا سا تیز مواصلاتی انٹرفیس کے طور پر استعمال کیا جاتا ہے۔ مثال کے طور پر، دو جی پی آئی اوز کو سیریل کمیونیکیشن بس کو لاگو کرنے کے لیے استعمال کیا جا سکتا ہے جیسے انٹر انٹیگریٹڈ سرکٹ (آئی 2 سی)، اور چار جی پی آئی اوز کو سیریل پیریفرل انٹرفیس (ایس پی آئی) بس کو لاگو کرنے کے لیے استعمال کیا جا سکتا ہے۔ یہ عام طور پر آئی سیز اور دیگر آلات کے ساتھ سیریل مواصلات کو آسان بنانے کے لیے استعمال ہوتے ہیں جن میں مطابقت پذیر سیریل انٹرفیس ہوتے ہیں، جیسے سینسرز (مثال کے طور پر، درجہ حرارت سینسرز، پریشر سینسرز، ایکسلرومیٹرز) اور موٹر کنٹرولرز۔ انتہائی حد تک لے جانے پر، یہ طریقہ ایک پوری متوازی بس کو نافذ کرنے کے لیے استعمال کیا جا سکتا ہے، اس طرح بس پر مبنی آئی سی یا سرکٹ بورڈز کے ساتھ مواصلات کی اجازت ملتی ہے۔ اگرچہ جی پی آئی او بنیادی طور پر ڈیجیٹل نوعیت کے ہوتے ہیں، لیکن وہ اکثر لکیری عمل کو کنٹرول کرنے کے لیے استعمال ہوتے ہیں۔ مثال کے طور پر، موٹر کی رفتار، روشنی کی شدت، یا درجہ حرارت کو کنٹرول کرنے کے لیے جی پی آئی او کا استعمال کیا جا سکتا ہے۔ عام طور پر، یہ پی ڈبلیو ایم کے ذریعے کیا جاتا ہے، جس میں جی پی آئی او آؤٹ پٹ سگنل کا ڈیوٹی سائیکل پروسیس کنٹرول سگنل کی موثر شدت کا تعین کرتا ہے۔ مثال کے طور پر، روشنی کی شدت کو کنٹرول کرتے وقت، جی پی آئی او ڈیوٹی سائیکل کو کم کرکے روشنی کو مدھم کیا جا سکتا ہے۔ کچھ لکیری عمل کے لیے لکیری کنٹرول وولٹیج کی ضرورت ہوتی ہے۔ ایسے معاملات میں، ایک سادہ، کم لاگت والا ڈیجیٹل سے اینالاگ کنورٹر بنانے کے لیے جی پی آئی او، جسے پی ڈبلیو ایم آؤٹ پٹ کے طور پر چلایا جاتا ہے، کو آر سی فلٹر سے جوڑنا ممکن ہو سکتا ہے۔ نفاذ جی پی آئی او انٹرفیس وسیع پیمانے پر مختلف ہوتے ہیں۔ کچھ معاملات میں، وہ سادہ ہوتے ہیں-پنوں کا ایک گروپ جو ایک گروپ کے طور پر ان پٹ یا آؤٹ پٹ میں تبدیل ہو سکتا ہے۔ دوسروں میں، ہر پن کو مختلف منطق وولٹیج کو قبول کرنے یا ماخذ کرنے کے لیے ترتیب دیا جا سکتا ہے، جس میں ترتیب دینے کے قابل ڈرائیو کی طاقت اور پل اپ/ڈاؤن ہوتے ہیں۔ ان پٹ اور آؤٹ پٹ وولٹیج عام طور پر ہوتے ہیں، لیکن ہمیشہ نہیں، جی پی آئی اوز کے ساتھ ڈیوائس کے سپلائی وولٹیج تک محدود ہوتے ہیں، اور زیادہ وولٹیج سے خراب ہو سکتے ہیں۔ جی پی آئی او پن کی حالت کو سافٹ ویئر ڈویلپر کے سامنے کئی مختلف انٹرفیسز میں سے کسی ایک کے ذریعے بے نقاب کیا جا سکتا ہے، جیسے کہ میموری میپڈ I/O پردیی، یا وقف شدہ IO پورٹ ہدایات کے ذریعے۔ کچھ جی پی آئی اوز میں 5 وی روادار ان پٹ ہوتے ہیں: یہاں تک کہ جب ڈیوائس میں سپلائی وولٹیج کم ہو (جیسے 2 وی)، ڈیوائس بغیر کسی نقصان کے 5 وی کو قبول کر سکتی ہے۔ جی پی آئی او پورٹ جی پی آئی او پنوں کا ایک گروپ ہے (اکثر 8 پن، لیکن یہ کم ہو سکتا ہے) جو ایک گروپ میں ترتیب دیا جاتا ہے اور ایک گروپ کے طور پر کنٹرول کیا جاتا ہے۔ جی پی آئی او صلاحیتوں میں شامل ہو سکتے ہیں: جی پی آئی او پنوں کو ان پٹ یا آؤٹ پٹ کے طور پر ترتیب دیا جا سکتا ہے۔ جی پی آئی او پنوں کو فعال/غیر فعال کیا جا سکتا ہے۔ ان پٹ اقدار پڑھنے کے قابل ہیں (عام طور پر زیادہ یا کم) آؤٹ پٹ اقدار لکھنے کے قابل/پڑھنے کے قابل ہیں۔ ان پٹ اقدار کو اکثر آئی آر کیو کے طور پر استعمال کیا جا سکتا ہے (عام طور پر جاگنے کے واقعات کے لیے) پروگرام شدہ ان پٹ/آؤٹ پٹ ایس جی پی آئی او خصوصی ان پٹ/آؤٹ پٹ حوالہ جات بھی دیکھیں۔ فری بی ایس ڈی کے لیے جی پی آئی او فریم ورک فری بی ایس ڈی جی پی او (3) اے پی آئی دستی فری بی ایس ڈی جی پی اوکٹل (8) دستی فری بی ایس ڈی جی پی او (4) دستی اے ایل ایس اے ڈویلپمنٹ لسٹ لینکس کرنل ڈاک آن جی پی آئی او ٹی وی لینکس جی پی آئی او انفو کمپیوٹر بسیں انٹیگریٹڈ سرکٹس