ارڈینو I2C بس کے بارے میں

ارڈینو I2C بس

ساتھ ارڈینو بڑی تعداد میں منصوبے تشکیل دے سکتے ہیں جیسا کہ آپ نے دیکھا ہے کہ اگر آپ ہلبری کو پڑھتے ہیں ، ایک سادہ طریقہ سے مائکروکانٹرولر پروگرامنگ. لیکن اس فری ہارڈویئر بورڈ کے ینالاگ اور ڈیجیٹل رابطوں میں ، کچھ ایسے ہیں جو ابھی بھی بہت سے ابتدائی لوگوں کے لئے کچھ حد تک نامعلوم ہیں ، جیسے پی ڈبلیو ایم کنکشن کی حقیقی صلاحیت ، ایس پی آئی ، آر ایکس اور ٹی ایکس پنوں سیریل پورٹ ، یا اپنی I2C بس. لہذا ، اس اندراج سے آپ کم از کم ہر وہ چیز جان سکتے ہیں جس کی آپ کو I2C سے ضرورت ہے۔

ساتھ I2C بس آپ بہت سے تھرڈ پارٹی ڈیوائسز کو مربوط اور استعمال کرسکتے ہیں جن میں ارڈینو بورڈ کے ساتھ بات چیت کرنے کے لئے اس قسم کا پروٹوکول موجود ہے۔ ان کے مابین ، آپ اس فلپس ایجاد کی بدولت ایکسلرومیٹرس ، ڈسپلے ، کاؤنٹر ، کمپاسس اور بہت سے مزید مربوط سرکٹس کو مربوط کرسکتے ہیں۔

I2C کیا ہے؟

I2C سے مراد انٹ انٹیگٹیٹڈ سرکٹ ہے، یعنی ، بین مربوط سرکٹ۔ یہ ایک سیریل ڈیٹا کمیونیکیشن بس ہے جس کو 1982 میں فلپس سیمیکمڈکٹرز کمپنی نے تیار کیا تھا ، جو آج اس حصے سے چھٹکارا پانے کے بعد NXP سیمی کنڈکٹر ہے۔ سب سے پہلے اس برانڈ کے ٹیلی ویژن کے لئے بنایا گیا تھا ، تاکہ کئی اندرونی چپس کو آسان طریقے سے بات چیت کرسکیں۔ لیکن 1990 کے بعد سے I2C پھیل گیا ہے اور بہت سے مینوفیکچررز استعمال کرتے ہیں۔

فی الحال درجنوں چپ میکر استعمال کرتے ہیں ایک سے زیادہ افعال کے لئے. ارموینو بورڈز کے لئے مائکروکنٹرولروں کے تخلیق کار ، اٹیل نے لائسنسنگ وجوہات کی بنا پر ٹی ڈبلیو آئی (دو وائرڈ انٹرفیس) کا عہدہ پیش کیا ، حالانکہ یہ آئی 2 سی کی طرح ہے۔ لیکن 2006 میں ، اصلی پیٹنٹ کی میعاد ختم ہوگئی ہے اور اب اس کاپی رائٹ کے تابع نہیں ہے ، لہذا I2C کی اصطلاح دوبارہ استعمال کی گئی ہے (صرف لوگو کی حفاظت جاری ہے ، لیکن اس کے نفاذ یا اصطلاح کے استعمال پر پابندی نہیں ہے)۔

I2C بس تکنیکی تفصیلات

I2C بس

El I2C بس انڈسٹری کا معیار بن چکی ہے ، اور ارڈینو نے اسے نافذ کیا ہے اس کے لئے ضروری ذیلی رابطوں کے لئے۔ اسے اپنے آپریشن کے لئے صرف دو لائنوں یا کیبلز کی ضرورت ہے ، ایک گھڑی کے سگنل (سی ایل کے) کے لئے اور دوسری سیریل ڈیٹا (ایس ڈی اے) بھیجنے کے ل.۔ یہ ایس پی آئی بس کے مقابلے میں دیگر مواصلات کے مقابلے میں فائدہ مند ہے ، اگرچہ اضافی سرکٹری کی ضرورت کے سبب اس کا عمل کچھ زیادہ پیچیدہ ہے۔

اس بس پر اس سے منسلک ہر آلے کا ایک پتہ ہوتا ہے ان آلات تک انفرادی طور پر رسائی حاصل کرنے کے لئے استعمال کیا جاتا ہے۔ یہ پتہ ہارڈ ویئر کے ذریعہ طے کیا گیا ہے ، آخری 3 بٹس میں کودنے والوں یا سوئچ ڈی آئی پی کے ذریعہ ترمیم کرنا ، اگرچہ یہ سافٹ ویئر کے ذریعہ بھی کیا جاسکتا ہے۔ ہر ایک آلہ کا ایک انوکھا پتہ ہوگا ، حالانکہ ان میں سے متعدد کا ایک ہی پتے ہوسکتے ہیں اور تنازعات سے بچنے یا اگر ممکن ہو تو اسے تبدیل کرنے کے لئے ثانوی بس کا استعمال کرنے کی ضرورت پڑسکتی ہے۔

اس کے علاوہ ، I2C بس میں ایک ہے ماسٹر غلام قسم فن تعمیر ، یعنی آقا- غلام اس کا مطلب یہ ہے کہ جب ماسٹر ڈیوائس کے ذریعہ مواصلات کا آغاز ہوتا ہے ، تو وہ اپنے غلاموں سے ڈیٹا بھیجنے یا وصول کرنے کے قابل ہو جائے گا۔ غلام مواصلات کا آغاز نہیں کرسکیں گے ، صرف مالک ہی کرسکتا ہے ، اور نہ ہی غلام مالک کی مداخلت کے بغیر ایک دوسرے سے براہ راست بات نہیں کرسکتے ہیں۔

اگر آپ کے پاس ہے بس میں کئی اساتذہ، بیک وقت صرف ایک ہی استاد کی حیثیت سے کام کرسکتا ہے۔ لیکن اس کے قابل نہیں ہے ، چونکہ اساتذہ کی تبدیلی ایک اعلی پیچیدگی کا مطالبہ کرتی ہے ، لہذا یہ اکثر نہیں ہوتا ہے۔

ذہن میں رکھیں کہ ماسٹر گھڑی کے اشارے فراہم کرتا ہے تاکہ بس میں موجود تمام آلات کو ہم آہنگ کیا جاسکے. اس سے ہر غلام کی اپنی نگاہ رکھنے کی ضرورت ختم ہوجاتی ہے۔

I2C بس پروٹوکول نے سپلائی وولٹیج لائنوں (Vcc) میں پل اپ ریزسٹرس کے استعمال کی بھی پیش گوئی کی ہے ، حالانکہ یہ مزاحمتی عموما اردوینو کے ساتھ استعمال نہیں ہوتے ہیں پل اپ کیونکہ پروگرامنگ لائبریریوں جیسا کہ تار 20-30 k کی اقدار کے ساتھ اندرونی کو متحرک کرتا ہے۔ یہ کچھ پروجیکٹس کے لئے بھی نرم ہوسکتا ہے ، لہذا سگنل کے بڑھتے ہوئے کنارے آہستہ ہوں گے ، لہذا کم رفتار اور کم مواصلاتی دوری استعمال کی جاسکتی ہے۔ اس کو درست کرنے کے ل you آپ کو 1k سے 4k7 تک بیرونی پل اپ مزاحمیں ترتیب دینے کی ضرورت پڑسکتی ہے۔

سائن ان کریں

I2C سگنل

 

La مواصلات کا فریم جس میں سے I2C بس سگنل بٹس یا ریاستوں پر مشتمل ہوتا ہے (جو ارڈینو میں استعمال ہوتا ہے ، چونکہ I2C کا معیار دوسروں کی اجازت دیتا ہے):

  • 8 بٹس ، ان میں سے 7 سمت اس غلام آلہ کی جس پر آپ اس سے ڈیٹا بھیجنے یا وصول کرنے کے لئے رسائی حاصل کرنا چاہتے ہیں۔ 7 بٹس کے ذریعہ ، 128 تک مختلف پتے بنائے جاسکتے ہیں ، لہذا نظریاتی طور پر 128 آلات تک رسائی حاصل کی جاسکتی ہے ، لیکن صرف 112 تک ہی رسائی حاصل کی جاسکتی ہے ، کیونکہ 16 خصوصی استعمال کے ل reserved محفوظ ہیں۔ اور اضافی سا جو اشارہ کرتا ہے اگر آپ چاہتے ہیں بھیجیں یا وصول کریں غلام آلہ کی معلومات۔
  • وہاں بھی ہے ایک توثیق سا، اگر یہ فعال نہیں ہے تو بات چیت درست نہیں ہوگی۔
  • پھر ڈیٹا بائٹس جو غلاموں کو بھیجنا یا وصول کرنا ہے۔ جیسا کہ آپ جانتے ہو ہر بائٹ 8 بٹس سے بنا ہوتا ہے۔ نوٹ کریں کہ بھیجے یا موصولہ ڈیٹا کے ہر 8 بٹ یا 1 بائٹ کے ل valid ، اضافی طور پر 18 بٹس کی توثیق ، ​​پتہ وغیرہ کی ضرورت ہے ، جس کا مطلب ہے کہ بس کی رفتار بہت محدود ہے۔
  • کا ایک حتمی سا توثیق کامنیکیشن کی۔

اس کے علاوہ ، گھڑی کی تعدد بھی ٹرانسمیشنز 100 میگاہرٹز معیاری طور پر ہے ، اگرچہ 400 میگاہرٹز میں تیز رفتار وضع ہے۔

I2C بس کے فوائد اور نقصانات

The فائدہ آواز:

  • سادگی۔ صرف دو لائنوں کا استعمال کرتے ہوئے۔
  • یہ ہے سگنل آ گیا ہے تو جاننے کے لئے طریقہ کار مواصلات کے دوسرے پروٹوکول کے مقابلے میں۔

The نقصانات آواز:

  • رفتار کافی کم ترسیل۔
  • یہ ایک مکمل ڈوپلیکس نہیں ہے، یعنی ، آپ بیک وقت بھیج اور وصول نہیں کرسکتے ہیں۔
  • برابری کا استعمال نہیں کرتا اور نہ ہی کسی اور طرح کی تصدیق کا طریقہ کار یہ جاننے کے لئے کہ موصولہ ڈیٹا بٹس درست ہیں یا نہیں۔

 

 

ارڈینو پر آئی 2 سی

ارڈینو I2C بس

En Ardino ، ماڈل پر منحصر ہے، اس I2C بس کو استعمال کرنے کے قابل بنائے جانے والے پنوں میں مختلف ہوتی ہے۔ مثال کے طور پر:

  • Arduino UNO، نینو ، منی پرو: A4 ایس ڈی اے (ڈیٹا) اور A5 ایس سی کے (گھڑی) کے لئے استعمال ہوتا ہے۔
  • اردوینو میگا: ایس ڈی اے کے لئے پن 20 اور ایس سی کے کیلئے 21۔

یاد رکھیں کہ اسے استعمال کرنے کے ل you آپ کو لازمی طور پر استعمال کرنا چاہئے لائبریری کا استعمال کریں وائر آپ کے اردوینو IDE کوڈز کیلئے ، اگرچہ اس طرح کے اور بھی ہیں I2C y I2Cdevlib۔. آپ ان لائبریریوں کی دستاویزات یا ان منصوبوں سے متعلق ہمارے مضامین پڑھ سکتے ہیں جو آپ کے کوڈ حاصل کرنے میں دلچسپی رکھتے ہیں کہ اس کو کس طرح ترتیب دیا جائے گا۔

کسی آلہ کا I2C استعمال کرنے کے پتے کا پتہ کیسے کریں؟

صرف ایک آخری انتباہ ، اور وہ یہ ہے کہ جب آپ یورپی ، جاپانی یا امریکی مینوفیکچررز سے آئی سی خریدیں تو ، آپ سمت کی نشاندہی کریں آپ کو آلہ کے ل use استعمال کرنا چاہئے۔ دوسری طرف ، چینی بعض اوقات اس کی تفصیل نہیں دیتے ہیں یا یہ درست نہیں ہے ، لہذا یہ کام نہیں کرے گا۔ ایڈریس اسکینر کے ذریعہ یہ آسانی سے حل کیا جاسکتا ہے تاکہ آپ کو معلوم ہوسکے کہ آپ اپنے خاکہ میں کس سمت سے رجوع کریں۔

La ارڈینو گروپ اس کو بنایا ہے پتہ کو اسکین کرنے اور اس کی شناخت کے لئے کوڈ سیدھے سادے انداز میں۔ اگرچہ میں یہاں آپ کو کوڈ دکھاتا ہوں:

#include "Wire.h"
 
extern "C" { 
    #include "utility/twi.h"
}
 
void scanI2CBus(byte from_addr, byte to_addr, void(*callback)(byte address, byte result) ) 
{
  byte rc;
  byte data = 0;
  for( byte addr = from_addr; addr <= to_addr; addr++ ) {
    rc = twi_writeTo(addr, &data, 0, 1, 0);
    callback( addr, rc );
  }
}
 
void scanFunc( byte addr, byte result ) {
  Serial.print("addr: ");
  Serial.print(addr,DEC);
  Serial.print( (result==0) ? " Encontrado!":"       ");
  Serial.print( (addr%4) ? "\t":"\n");
}
 
 
const byte start_address = 8;
const byte end_address = 119;
 
void setup()
{
    Wire.begin();
 
    Serial.begin(9600);
    Serial.print("Escaneando bus I2C...");
    scanI2CBus( start_address, end_address, scanFunc );
    Serial.println("\nTerminado");
}
 
void loop() 
{
    delay(1000);
}


مضمون کا مواد ہمارے اصولوں پر کاربند ہے ادارتی اخلاقیات. غلطی کی اطلاع دینے کے لئے کلک کریں یہاں.

تبصرہ کرنے والا پہلا ہونا

اپنی رائے دیں

آپ کا ای میل ایڈریس شائع نہیں کیا جائے گا. ضرورت ہے شعبوں نشان لگا دیا گیا رہے ہیں کے ساتھ *

*

*

  1. اعداد و شمار کے لئے ذمہ دار: میگل اینگل گاتین
  2. ڈیٹا کا مقصد: اسپیم کنٹرول ، تبصرے کا انتظام۔
  3. قانون سازی: آپ کی رضامندی
  4. ڈیٹا کا مواصلت: اعداد و شمار کو تیسری پارٹی کو نہیں بتایا جائے گا سوائے قانونی ذمہ داری کے۔
  5. ڈیٹا اسٹوریج: اوکیسٹس نیٹ ورکس (EU) کے میزبان ڈیٹا بیس
  6. حقوق: کسی بھی وقت آپ اپنی معلومات کو محدود ، بازیافت اور حذف کرسکتے ہیں۔