General-purpose input/output
જનરલ પર્પઝ ઇનપુટ/આઉટપુટ (જી. પી. આઈ. ઓ.) એ ઇન્ટિગ્રેટેડ સર્કિટ અથવા ઇલેક્ટ્રોનિક સર્કિટ (દા. ત. ઇલેક્ટ્રોનિક સર્કિટ) પર અસંબદ્ધ ડિજિટલ સિગ્નલ પિન છે. એમસીયુ/એમપીયુ) બોર્ડ જેનો ઉપયોગ ઇનપુટ અથવા આઉટપુટ અથવા બંને તરીકે થઈ શકે છે અને સોફ્ટવેર દ્વારા નિયંત્રિત કરી શકાય છે. જી. પી. આઈ. ઓ. નો કોઈ પૂર્વવ્યાખ્યાયિત હેતુ નથી અને મૂળભૂત રીતે તેનો ઉપયોગ થતો નથી. જો તેનો ઉપયોગ કરવામાં આવે તો, જી. પી. આઈ. ઓ. નો હેતુ અને વર્તન ઉચ્ચ એસેમ્બલી-લેવલ સર્કિટરીના ડિઝાઇનર દ્વારા વ્યાખ્યાયિત અને અમલમાં મૂકવામાં આવે છેઃ ઇન્ટિગ્રેટેડ સર્કિટ જી. પી. આઈ. ઓ. ના કિસ્સામાં સર્કિટ બોર્ડ ડિઝાઇનર, અથવા બોર્ડ-લેવલ જી. પી. આઈ. ઓ. ના કિસ્સામાં સિસ્ટમ ઇન્ટિગ્રેટર. ઇન્ટિગ્રેટેડ સર્કિટ જી. પી. આઈ. ઓ. ઇન્ટિગ્રેટેડ સર્કિટ (આઇ. સી.) જી. પી. આઈ. ઓ. નો વિવિધ રીતે અમલ કરવામાં આવે છે. કેટલાક આઇ. સી. જી. પી. આઈ. ઓ. ને પ્રાથમિક કાર્ય તરીકે પ્રદાન કરે છે જ્યારે અન્ય કેટલાક અન્ય પ્રાથમિક કાર્ય માટે અનુકૂળ "સહાયક" તરીકે જી. પી. આઈ. ઓ. નો સમાવેશ કરે છે. પહેલાના ઉદાહરણોમાં ઇન્ટેલ 8255નો સમાવેશ થાય છે, જે 24 જી. પી. આઈ. ઓ. ને સમાંતર સંચાર બસ સાથે જોડે છે, અને વિવિધ જી. પી. આઈ. ઓ. વિસ્તરણ આઇ. સી., જે જી. પી. આઈ. ઓ. ને શ્રેણીબદ્ધ સંચાર બસો જેમ કે આઈ 2 સી અને એસ. એમ. બસ સાથે જોડે છે. તેનું એક ઉદાહરણ રિયલટેક એએલસી260 આઈસી છે, જે ઓડિયો કોડેકના તેના મુખ્ય કાર્ય સાથે આઠ જી. પી. આઈ. ઓ. પ્રદાન કરે છે. માઇક્રોકન્ટ્રોલર આઇસીમાં સામાન્ય રીતે જી. પી. આઈ. ઓ. નો સમાવેશ થાય છે. એપ્લિકેશનના આધારે, માઇક્રોકન્ટ્રોલરના જી. પી. આઈ. ઓ. માં બાહ્ય સર્કિટરી માટે તેના પ્રાથમિક ઇન્ટરફેસનો સમાવેશ થઈ શકે છે અથવા તે એનાલોગ સિગ્નલ I/O, કાઉન્ટર/ટાઈમર અને સીરીયલ કોમ્યુનિકેશન જેવા ઘણા લોકોમાં ઉપયોગમાં લેવાતા I/O નો માત્ર એક પ્રકાર હોઈ શકે છે. કેટલાક આઇસીમાં, ખાસ કરીને માઇક્રોકન્ટ્રોલર્સમાં, જી. પી. આઈ. ઓ. પિન જી. પી. આઈ. ઓ. સિવાય અન્ય કાર્યો માટે સક્ષમ હોઈ શકે છે. ઘણીવાર આવા કિસ્સાઓમાં જી. પી. આઈ. ઓ. ના વર્તનને રૂપરેખાંકિત કરવા ઉપરાંત જી. પી. આઈ. ઓ. (તેના અન્ય કાર્યો સાથે) તરીકે કામ કરવા માટે પિનને રૂપરેખાંકિત કરવી જરૂરી છે. કેટલાક માઇક્રોકન્ટ્રોલર ઉપકરણો (દા. ત., માઇક્રોચિપ ડી. એસ. પી. આઈ. સી. 33 પરિવાર) આંતરિક સિગ્નલ રાઉટીંગ સર્કિટરીનો સમાવેશ કરે છે જે જી. પી. આઈ. ઓ. ને ઉપકરણ પિન પર પ્રોગ્રામિક રીતે મેપ કરવાની મંજૂરી આપે છે. ફિલ્ડ-પ્રોગ્રામેબલ ગેટ એરે (એફ. પી. જી. એ.) જી. પી. આઈ. ઓ. પિન મેપિંગ, ઇન્સ્ટન્ટેશન અને આર્કિટેક્ચરને પ્રોગ્રામિક રીતે નિયંત્રિત કરવાની મંજૂરી આપીને આ ક્ષમતાને વિસ્તૃત કરે છે. બોર્ડ-સ્તરના જી. પી. આઈ. ઓ. ઘણા સર્કિટ બોર્ડ સંકલિત વિદ્યુત કનેક્ટર્સ દ્વારા બોર્ડ-સ્તરના જી. પી. આઈ. ઓ. ને બાહ્ય સર્કિટરી માટે ખુલ્લા પાડે છે. સામાન્ય રીતે, આવા દરેક જી. પી. આઈ. ઓ. સમર્પિત કનેક્ટર પિન દ્વારા સુલભ હોય છે. આઇસી-આધારિત જી. પી. આઇ. ઓ. ની જેમ, કેટલાક બોર્ડ માત્ર જી. પી. આઇ. ઓ. ને અનુકૂળ, સહાયક સંસાધન તરીકે સામેલ કરે છે જે બોર્ડના પ્રાથમિક કાર્યમાં વધારો કરે છે, જ્યારે અન્ય બોર્ડમાં જી. પી. આઇ. ઓ. એ બોર્ડનું કેન્દ્રિય, પ્રાથમિક કાર્ય છે. કેટલાક બોર્ડ, જેને સામાન્ય રીતે મલ્ટી-ફંક્શન I/O બોર્ડ તરીકે વર્ગીકૃત કરવામાં આવે છે, તે બંનેનું સંયોજન છે; આવા બોર્ડ અન્ય પ્રકારના સામાન્ય હેતુ I/O સાથે GPIO પ્રદાન કરે છે. જી. પી. આઈ. ઓ. એમ્બેડેડ કંટ્રોલર બોર્ડ અને સિંગલ બોર્ડ કમ્પ્યુટર્સ જેમ કે આર્ડિનો, બીગલબોન અને રાસ્પબેરી પાઇ પર પણ જોવા મળે છે. બોર્ડ-સ્તરના જી. પી. આઈ. ઓ. ને ઘણીવાર એવી ક્ષમતાઓ આપવામાં આવે છે જેનો સામાન્ય રીતે આઇ. સી.-આધારિત જી. પી. આઈ. ઓ. માં અભાવ હોય છે. ઉદાહરણ તરીકે, શ્મિટ-ટ્રિગર ઇનપુટ્સ, ઉચ્ચ-વર્તમાન આઉટપુટ ડ્રાઇવરો, ઓપ્ટિકલ આઇસોલેટર્સ અથવા આના સંયોજનોનો ઉપયોગ જી. પી. આઈ. ઓ. સંકેતોને બફર કરવા અને કન્ડિશન કરવા અને બોર્ડ સર્કિટરીને સુરક્ષિત કરવા માટે થઈ શકે છે. ઉપરાંત, ઉચ્ચ-સ્તરના કાર્યો કેટલીકવાર અમલમાં મૂકવામાં આવે છે, જેમ કે ઇનપુટ ડીબાઉન્સ, ઇનપુટ સિગ્નલ એજ ડિટેક્શન અને પલ્સ-વિડ્થ મોડ્યુલેશન (પીડબ્લ્યુએમ) આઉટપુટ. ઉપયોગ જી. પી. આઈ. ઓ. નો ઉપયોગ વિવિધ પ્રકારની એપ્લિકેશનોમાં થાય છે, જે ફક્ત જી. પી. આઈ. ઓ. ઇન્ટરફેસની વિદ્યુત અને સમયની વિશિષ્ટતાઓ અને પૂરતા પ્રમાણમાં સમયસર જી. પી. આઈ. ઓ. સાથે ક્રિયાપ્રતિક્રિયા કરવાની સોફ્ટવેરની ક્ષમતા દ્વારા મર્યાદિત છે. જી. પી. આઈ. ઓ. સામાન્ય રીતે પ્રમાણભૂત તર્ક સ્તરોનો ઉપયોગ કરે છે અને ઉત્પાદન ભારને નોંધપાત્ર પ્રવાહ પૂરો પાડી શકતા નથી. જ્યારે યોગ્ય ઉચ્ચ-વર્તમાન આઉટપુટ બફર (અથવા યાંત્રિક અથવા સોલિડ-સ્ટેટ રિલે) દ્વારા અનુસરવામાં આવે છે, ત્યારે જી. પી. આઈ. ઓ. નો ઉપયોગ લાઇટ, સોલેનોઇડ્સ, હીટર અને મોટર્સ (દા. ત., ચાહકો અને બ્લોઅર્સ) જેવા ઉચ્ચ-શક્તિ ઉપકરણોને નિયંત્રિત કરવા માટે થઈ શકે છે. તેવી જ રીતે, ઇનપુટ બફર, રિલે અથવા ઓપ્ટો-આઇસોલેટરનો ઉપયોગ ઘણીવાર અન્યથા અસંગત સંકેત (દા. ત., ઉચ્ચ વોલ્ટેજ) ને જી. પી. આઈ. ઓ. દ્વારા જરૂરી તર્ક સ્તરમાં અનુવાદિત કરવા માટે થાય છે. ઇન્ટિગ્રેટેડ સર્કિટ જી. પી. આઈ. ઓ. નો ઉપયોગ સામાન્ય રીતે બોર્ડ પર અન્ય સર્કિટરી (અન્ય આઇસી સહિત) ને નિયંત્રિત કરવા અથવા તેનું નિરીક્ષણ કરવા માટે થાય છે. આના ઉદાહરણોમાં અન્ય સર્કિટરીની કામગીરી (અથવા પાવર ટુ) ને સક્ષમ અને નિષ્ક્રિય કરવી, ઓન-બોર્ડ સ્વીચો અને રૂપરેખાંકન શન્ટ્સની સ્થિતિઓ વાંચવી અને પ્રકાશ ઉત્સર્જક ડાયોડ (એલઇડી) સ્થિતિ સૂચકાંકો ચલાવવાનો સમાવેશ થાય છે. પછીના કિસ્સામાં, જી. પી. આઈ. ઓ., ઘણા કિસ્સાઓમાં, મધ્યવર્તી બફરનો ઉપયોગ કર્યા વિના એલ. ઈ. ડી. ને સીધો પાવર આપવા માટે પૂરતો આઉટપુટ કરંટ પૂરો પાડી શકે છે. બહુવિધ જી. પી. આઈ. ઓ. નો ઉપયોગ કેટલીકવાર બીટ બૅન્ગિંગ કોમ્યુનિકેશન ઇન્ટરફેસ તરીકે થાય છે. ઉદાહરણ તરીકે, બે જી. પી. આઈ. ઓ. નો ઉપયોગ સીરીયલ કોમ્યુનિકેશન બસને અમલમાં મૂકવા માટે થઈ શકે છે જેમ કે ઇન્ટર-ઇન્ટિગ્રેટેડ સર્કિટ (આઈ 2 સી), અને ચાર જી. પી. આઈ. ઓ. નો ઉપયોગ સીરીયલ પેરિફેરલ ઇન્ટરફેસ (એસ. પી. આઈ.) બસને અમલમાં મૂકવા માટે થઈ શકે છે; આનો ઉપયોગ સામાન્ય રીતે આઇ. સી. અને અન્ય ઉપકરણો સાથે સીરીયલ કોમ્યુનિકેશનને સરળ બનાવવા માટે થાય છે જે સુસંગત સીરીયલ ઇન્ટરફેસ ધરાવે છે, જેમ કે સેન્સર (દા. ત., તાપમાન સેન્સર, પ્રેશર સેન્સર, એક્સેલરોમીટર) અને મોટર નિયંત્રકો. આત્યંતિક રીતે જોવામાં આવે તો, આ પદ્ધતિનો ઉપયોગ સંપૂર્ણ સમાંતર બસને અમલમાં મૂકવા માટે થઈ શકે છે, આમ બસ-લક્ષી IC અથવા સર્કિટ બોર્ડ સાથે સંચારની મંજૂરી આપે છે. જી. પી. આઈ. ઓ. મૂળભૂત રીતે ડિજિટલ પ્રકૃતિના હોવા છતાં, તેનો ઉપયોગ ઘણીવાર રેખીય પ્રક્રિયાઓને નિયંત્રિત કરવા માટે થાય છે. ઉદાહરણ તરીકે, જી. પી. આઈ. ઓ. નો ઉપયોગ મોટરની ઝડપ, પ્રકાશની તીવ્રતા અથવા તાપમાનને નિયંત્રિત કરવા માટે થઈ શકે છે. સામાન્ય રીતે, આ PWM દ્વારા કરવામાં આવે છે, જેમાં GPIO આઉટપુટ સિગ્નલનું ફરજ ચક્ર પ્રક્રિયા નિયંત્રણ સિગ્નલની અસરકારક તીવ્રતા નક્કી કરે છે. ઉદાહરણ તરીકે, પ્રકાશની તીવ્રતાને નિયંત્રિત કરતી વખતે, જી. પી. આઈ. ઓ. ફરજ ચક્રને ઘટાડીને પ્રકાશને મંદ કરી શકાય છે. કેટલીક રેખીય પ્રક્રિયાઓને રેખીય નિયંત્રણ વોલ્ટેજની જરૂર પડે છે. આવા કિસ્સાઓમાં, એક સરળ, ઓછા ખર્ચે ડિજિટલ-થી-એનાલોગ કન્વર્ટર બનાવવા માટે આરસી ફિલ્ટર સાથે જી. પી. આઈ. ઓ. ને જોડવું શક્ય બની શકે છે, જે પીડબ્લ્યુએમ આઉટપુટ તરીકે સંચાલિત થાય છે. અમલીકરણ જી. પી. આઈ. ઓ. ઇન્ટરફેસ વ્યાપક રીતે બદલાય છે. કેટલાક કિસ્સાઓમાં, તેઓ સરળ હોય છે-પિનનું એક જૂથ જે જૂથ તરીકે ઇનપુટ અથવા આઉટપુટમાં ફેરવી શકે છે. અન્યમાં, દરેક પિનને રૂપરેખાંકિત કરી શકાય તેવી ડ્રાઇવ શક્તિ અને પુલ અપ્સ/ડાઉન્સ સાથે વિવિધ લોજિક વોલ્ટેજને સ્વીકારવા અથવા સ્ત્રોત કરવા માટે સુયોજિત કરી શકાય છે. ઇનપુટ અને આઉટપુટ વોલ્ટેજ સામાન્ય રીતે, પરંતુ હંમેશા નહીં, જી. પી. આઈ. ઓ. સાથેના ઉપકરણના પુરવઠા વોલ્ટેજ સુધી મર્યાદિત હોય છે, અને વધુ વોલ્ટેજથી નુકસાન થઈ શકે છે. જી. પી. આઈ. ઓ. પિનની સ્થિતિ સોફ્ટવેર ડેવલપરને સંખ્યાબંધ વિવિધ ઇન્ટરફેસોમાંથી એક દ્વારા ખુલ્લી પડી શકે છે, જેમ કે મેમરી-મેપ કરેલ I/O પેરિફેરલ અથવા સમર્પિત IO પોર્ટ સૂચનાઓ દ્વારા. કેટલાક જી. પી. આઈ. ઓ. માં 5 વી સહનશીલ ઇનપુટ્સ હોય છેઃ જ્યારે ઉપકરણમાં ઓછો પુરવઠો વોલ્ટેજ હોય (જેમ કે 2 વી), ત્યારે પણ ઉપકરણ નુકસાન વિના 5 વી સ્વીકારી શકે છે. જી. પી. આઈ. ઓ. પોર્ટ એ જી. પી. આઈ. ઓ. પિનનું જૂથ છે (ઘણીવાર 8 પિન હોય છે, પરંતુ તે ઓછી હોઈ શકે છે) જે જૂથમાં ગોઠવાયેલી હોય છે અને જૂથ તરીકે નિયંત્રિત હોય છે. જી. પી. આઈ. ઓ. ક્ષમતાઓમાં નીચેનાનો સમાવેશ થઈ શકે છેઃ જી. પી. આઈ. ઓ. પિનને ઇનપુટ અથવા આઉટપુટ તરીકે રૂપરેખાંકિત કરી શકાય છે જી. પી. આઈ. ઓ. પિનને સક્ષમ કરી શકાય છે/નિષ્ક્રિય કરી શકાય છે ઇનપુટ મૂલ્યો વાંચી શકાય છે (સામાન્ય રીતે ઉચ્ચ અથવા નીચી) આઉટપુટ મૂલ્યો લખી શકાય છે/વાંચી શકાય છે ઇનપુટ મૂલ્યોનો ઉપયોગ ઘણીવાર આઈ. આર. ક્યુ. તરીકે થઈ શકે છે (સામાન્ય રીતે વેકઅપ ઇવેન્ટ્સ માટે) પ્રોગ્રામ કરેલ ઇનપુટ/આઉટપુટ એસ. જી. પી. આઈ. ઓ. વિશેષ ઇનપુટ/આઉટપુટ સંદર્ભો પણ જુઓ ફ્રી. બી. એસ. ડી. માટે જી. પી. આઈ. ઓ. માળખું ફ્રી. બી. એસ. ડી. જી. પી. ઓ. (3) એ. પી. આઈ. મેન્યુઅલ ફ્રી. બી. એસ. ડી. જી. પી. ઓ. ઓ. ટી. એલ. (8) મેન્યુઅલ ફ્રી. બી. એસ. ડી. જી. પી. ઓ. (4) મેન્યુઅલ એ. એલ. એસ. એ. ડેવલપમેન્ટ લિસ્ટ લિનક્સ કર્નલ ડોક ઓન જી. પી. આઈ. ઓ. ટી. વી. લિનક્સ જી. પી. આઈ. ઓ. પિન