I2C અને SPI વચ્ચે પસંદગી, બે મુખ્ય સીરીયલ સંચાર વિકલ્પો, એક પડકાર હોઇ શકે છે અને એક પ્રોજેક્ટની રચના પર નોંધપાત્ર અસર પડી શકે છે, ખાસ કરીને જો ખોટી સંચાર પ્રોટોકોલનો ઉપયોગ કરવામાં આવે છે. એસપીઆઇ અને I2C બંને સંચાર પ્રોટોકોલ તરીકે તેમના પોતાના ફાયદા અને મર્યાદાઓ લાવે છે જે તેમને દરેક ચોક્કસ કાર્યક્રમો માટે યોગ્ય બનાવે છે.
એસપીઆઈ
એસપીઆઇ, અથવા સીરીયલ ટુ પેરીફેરલ ઈન્ટરફેસ, એક ખૂબ ઓછી શક્તિ છે, ચાર વાયર સીરીયલ સંચાર ઇન્ટરફેસ આઇસીના નિયંત્રકો અને પેરિફેરલ માટે રચાયેલ છે, જેથી તેઓ એકબીજા સાથે વાતચીત કરી શકે. એસપીઆઈ બસ સંપૂર્ણ ડુપ્લેસ બસ છે, જે મુખ્ય સાધનથી વારાફરતી અને 10 મી.બી.પીએસ સુધીના દરે વાહનવ્યવહારને પ્રયાણ કરવાની પરવાનગી આપે છે. એસપીઆઈની હાઇ સ્પીડ ઑપરેશન સામાન્ય રીતે મર્યાદામાં વધારો કે જે લાંબા સમય સુધી અંતર સંચાર સંકેત રેખાઓ માટે ઉમેરે છે તેના કારણે અલગ પીસીબી પર ઘટકો વચ્ચે સંપર્કવ્યવહાર કરવા માટે તેનો ઉપયોગ થતો નથી. પીસીબી કેપેસીટન્સ એસપીઆઈ કોમ્યુનિકેશન રેખાઓની લંબાઈને મર્યાદિત કરી શકે છે.
જ્યારે SPI એક સ્થાપિત પ્રોટોકોલ છે, તે કોઈ સત્તાવાર સ્ટાન્ડર્ડ નથી જે ઘણાબધા સ્વરૂપો અને એસપીઆઈ કસ્ટમાઇઝેશન તરફ દોરી જાય છે જે સુસંગતતા મુદ્દા તરફ દોરી શકે છે. મુખ્ય નિયંત્રકો અને ગુલામ પેરિફેરલ્સ વચ્ચે એસપીઆઇ અમલીકરણની તપાસ કરવી જોઈએ જેથી ખાતરી થઈ શકે કે સંયોજનમાં કોઈ અણધારી સંવાદની સમસ્યા નથી કે જે ઉત્પાદનના વિકાસ પર અસર કરશે.
I2C
I2C એ એક અધિકૃત પ્રમાણભૂત સીરીયલ કમ્યુનિકેશન પ્રોટોકોલ છે જે ફક્ત બે સિગ્નલ લાઇનની જરૂર છે જે PCB પર ચિપ્સ વચ્ચે વાતચીત માટે ડિઝાઇન કરવામાં આવી હતી. I2C મૂળરૂપે 100 કિમીની વાતચીત માટે ડિઝાઇન કરવામાં આવી હતી પરંતુ ઝડપથી ડેટા ટ્રાન્સમિશન મોડ્સ વિકસિત કરવામાં આવી છે જેથી તે 3.4 એમબીએસ ઝડપે હાંસલ કરી શકે. I2C પ્રોટોકોલને એક અધિકૃત ધોરણ તરીકે સ્થાપિત કરવામાં આવ્યું છે, જે I2C અમલીકરણો અને સારા પછાત સુસંગતતા વચ્ચે સારી સુસંગતતા પૂરી પાડે છે.
I2C અને SPI વચ્ચે પસંદ કરવાનું
I2c અને SPI વચ્ચે પસંદ કરવાનું, બે મુખ્ય સીરીયલ સંચાર પ્રોટોકોલ્સ, I2C, SPI, અને તમારી એપ્લિકેશનના ફાયદા અને મર્યાદાઓની સારી સમજણની જરૂર છે. દરેક સંદેશાવ્યવહાર પ્રોટોકોલને અલગ ફાયદા હશે જે તમારામાં અલગ પડે છે કારણ કે તે તમારી એપ્લિકેશન પર લાગુ થાય છે. I2C અને SPI વચ્ચેની મુખ્ય તફાવત છે:
- I2C માટે માત્ર બે વાયર જરૂરી છે, જ્યારે SPI ને ત્રણ અથવા ચારની જરૂર પડે છે
- એસપીઆઈ ઉચ્ચ ગતિ પૂર્ણ-દ્વિગુણિત સંચાર આધાર આપે છે જ્યારે I2C ધીમી છે
- I2C SPI કરતાં વધુ પાવર ખેંચે છે
- I2C એ જ બસ પર બહુવિધ ઉપકરણોને ટેકો આપે છે, જેમાં ઈન-કોમ્યુનિકેશન ડિવાઇસ દ્વારા વધારાના સિગ્નલ લાઇન્સનો ઉપયોગ કરવામાં આવે છે, જ્યારે SPI ને સમાન બસ પર બહુવિધ ડિવાઇસનું સંચાલન કરવા માટે વધારાની સંકેત રેખાની જરૂર છે.
- I2C એ ખાતરી કરે છે કે સ્લેવ ઉપકરણ દ્વારા મોકલવામાં આવેલ ડેટા પ્રાપ્ત થાય છે જ્યારે SPI એ ચકાસતું નથી કે ડેટા યોગ્ય રીતે પ્રાપ્ત થયો છે
- I2C ને એક ઉપકરણ દ્વારા લૉક કરી શકાય છે જે કોમ્યુનિકેશન બસને રિલીઝ કરવામાં નિષ્ફળ જાય છે
- એસપીઆઇ પીસીબીને પ્રસારિત કરી શકતો નથી, જ્યારે I2C એ ઓછી માહિતી પ્રસારણ ઝડપે યથાવત કરી શકે છે
- એસપીઆઈ કોમ્યુનિકેશન પ્રોટોકોલ કરતાં અમલ માટે I2C સસ્તા છે
- SPI માત્ર બસ પર એક મુખ્ય સાધનને સપોર્ટ કરે છે જ્યારે I2C બહુવિધ મુખ્ય ઉપકરણોને સપોર્ટ કરે છે
- SP2 કરતાં ઘોંઘાટ માટે I2C ઓછી સંવેદનશીલ છે
- એસપીઆઇ માત્ર ટૂંકા અંતરની મુસાફરી કરી શકે છે અને પીસીબીની ભાગ્યે જ બંધ કરી શકે છે, જ્યારે I2C ઘણી વધારે અંતર પર ડેટા ટ્રાન્સમિટ કરી શકે છે,
- ઔપચારિક ધોરણનો અભાવ એ એસપીએ (SPI) પ્રોટોકોલની ઘણી ભેંસમાં પરિણમ્યો છે, ભિન્નતા જે મોટાભાગે I2C પ્રોટોકોલ
એસપીઆઈ અને I2C વચ્ચે આ ભિન્નતા તમારા એપ્લિકેશન માટે શ્રેષ્ઠ સંવાદ વિકલ્પ પસંદ કરવાનું સરળ બનાવવું જોઈએ. એસપીઆઇ અને I2C બંને સારા સંચાર વિકલ્પો છે, પરંતુ દરેકમાં થોડો અલગ ફાયદો અને પસંદગીઓ છે. એકંદરે, એસપીઆઇ હાઇ સ્પીડ અને નીચી પાવર એપ્લિકેશન્સ માટે વધુ સારું છે, જ્યારે I2C એ મોટી સંખ્યામાં પેરિફેરલ સાથે વાતચીત માટે અનુકૂળ હોય છે અને I2C બસ પર પેરીફેરલ્સમાં મુખ્ય ઉપકરણની ભૂમિકાને ગતિશીલ બદલાતી રહે છે. એસપીઆઇ અને I2C બંને એમ્બેડેડ વિશ્વ માટે સારી રીતે અનુકૂળ હોય તેવા જડિત કાર્યક્રમો માટે મજબૂત, સ્થિર પ્રત્યાયન છે.