Arduino I2C பஸ் பற்றி

Arduino I2C பஸ்

உடன் Arduino அதிக எண்ணிக்கையிலான திட்டங்களை உருவாக்க முடியும் நீங்கள் Hwlibre ஐப் படித்தால் பார்த்தபடி, மைக்ரோகண்ட்ரோலரை ஒரு எளிய வழியில் நிரலாக்குகிறது. ஆனால் இந்த குழுவின் அனலாக் மற்றும் டிஜிட்டல் இணைப்புகளுக்கு இடையில் hardware libre, PWM இணைப்புகளின் உண்மையான திறன், SPI, சீரியல் போர்ட்டின் RX மற்றும் TX பின்கள் அல்லது I2C பஸ் போன்ற பல ஆரம்பநிலையாளர்களுக்கு இன்னும் அறியப்படாத சில உள்ளன. எனவே, இந்த பதிவின் மூலம் I2C பற்றி உங்களுக்கு தேவையான அனைத்தையும் நீங்கள் தெரிந்து கொள்ள முடியும்.

உடன் I2C பஸ் Arduino போர்டுடன் தொடர்புகொள்வதற்கு இந்த வகை நெறிமுறைகளைக் கொண்ட பல மூன்றாம் தரப்பு சாதனங்களை நீங்கள் இணைக்கலாம் மற்றும் பயன்படுத்தலாம். அவற்றுக்கிடையே, இந்த பிலிப்ஸ் கண்டுபிடிப்புக்கு நீங்கள் முடுக்க மானிகள், காட்சிகள், எதிர், திசைகாட்டி மற்றும் பல ஒருங்கிணைந்த சுற்றுகளை இணைக்க முடியும்.

I2C என்றால் என்ன?

I2C என்பது இடை-ஒருங்கிணைந்த சுற்று என்பதைக் குறிக்கிறது, அதாவது, ஒருங்கிணைந்த சுற்று. இது 1982 ஆம் ஆண்டில் பிலிப்ஸ் செமிகண்டக்டர்ஸ் நிறுவனத்தால் உருவாக்கப்பட்ட ஒரு தொடர் தரவு தொடர்பு பஸ் ஆகும், இது இன்று இந்த பிரிவில் இருந்து விடுபட்ட பிறகு என்எக்ஸ்பி செமிகண்டக்டர்களாக உள்ளது. முதலில் இது இந்த பிராண்டின் தொலைக்காட்சிகளுக்காக உருவாக்கப்பட்டது, பல உள் சில்லுகளை எளிமையான முறையில் தொடர்புகொள்வதற்காக. ஆனால் 1990 முதல் I2C பரவியது மற்றும் பல உற்பத்தியாளர்களால் பயன்படுத்தப்படுகிறது.

தற்போது டஜன் கணக்கான சிப்மேக்கர்களால் பயன்படுத்தப்படுகிறது பல செயல்பாடுகளுக்கு. ஆர்டுயினோ போர்டுகளுக்கான மைக்ரோகண்ட்ரோலர்களை உருவாக்கிய அட்மெல், உரிம நோக்கங்களுக்காக TWI (டூ வயர்டு இன்டர்ஃபேஸ்) பெயரை அறிமுகப்படுத்தினார், இருப்பினும் இது I2C க்கு ஒத்ததாக இருக்கிறது. ஆனால் 2006 ஆம் ஆண்டில், அசல் காப்புரிமை காலாவதியானது மற்றும் இனி பதிப்புரிமைக்கு உட்பட்டது அல்ல, எனவே I2C என்ற சொல் மீண்டும் பயன்படுத்தப்பட்டது (லோகோ மட்டுமே தொடர்ந்து பாதுகாக்கப்படுகிறது, ஆனால் இந்த வார்த்தையை செயல்படுத்துவது அல்லது பயன்படுத்துவது தடைசெய்யப்படவில்லை).

I2C பஸ் தொழில்நுட்ப விவரங்கள்

ஐ 2 சி பஸ்

El I2C பஸ் ஒரு தொழில்துறை தரமாக மாறியுள்ளது, மேலும் Arduino அதை செயல்படுத்தியுள்ளது தேவைப்படும் சாதனங்களுடன் தொடர்பு கொள்ள. அதன் செயல்பாட்டிற்கு இரண்டு கோடுகள் அல்லது கேபிள்கள் மட்டுமே தேவை, ஒன்று கடிகார சமிக்ஞைக்கு (சி.எல்.கே) மற்றொன்று தொடர் தரவை (எஸ்.டி.ஏ) அனுப்புவதற்கு. எஸ்பிஐ பஸ்ஸுடன் ஒப்பிடும்போது மற்ற தகவல்தொடர்புகளுடன் ஒப்பிடும்போது இது சாதகமானது, இருப்பினும் கூடுதல் செயல்பாடு தேவைப்படுவதால் அதன் செயல்பாடு சற்று சிக்கலானது.

இந்த பேருந்தில் அதனுடன் இணைக்கப்பட்ட ஒவ்வொரு சாதனத்திற்கும் ஒரு முகவரி உள்ளது இந்த சாதனங்களை தனித்தனியாக அணுக பயன்படுகிறது. இந்த முகவரி வன்பொருள் மூலம் சரி செய்யப்படுகிறது, கடைசி 3 பிட்களை ஜம்பர்கள் அல்லது சுவிட்ச் டிஐபிகள் மூலம் மாற்றியமைக்கிறது, இருப்பினும் இது மென்பொருளால் செய்யப்படலாம். ஒவ்வொரு சாதனத்திற்கும் ஒரு தனித்துவமான முகவரி இருக்கும், இருப்பினும் அவற்றில் பல ஒரே முகவரியைக் கொண்டிருக்கலாம், மேலும் மோதல்களைத் தவிர்க்க அல்லது முடிந்தால் அதை மாற்ற இரண்டாம் நிலை பேருந்தைப் பயன்படுத்த வேண்டியது அவசியம்.

கூடுதலாக, ஐ 2 சி பஸ் ஒரு உள்ளது மாஸ்டர்-ஸ்லேவ் வகை கட்டமைப்பு, அதாவது, எஜமான அடிமை. இதன் பொருள் ஒரு முதன்மை சாதனத்தால் தொடர்பு தொடங்கும்போது, ​​அதன் அடிமைகளிடமிருந்து தரவை அனுப்பவோ அல்லது பெறவோ முடியும். அடிமைகள் தகவல்தொடர்புகளைத் தொடங்க முடியாது, எஜமானரால் மட்டுமே அதைச் செய்ய முடியும், மேலும் எஜமானரின் தலையீடு இல்லாமல் அடிமைகள் ஒருவருக்கொருவர் நேரடியாகப் பேசவும் முடியாது.

உங்களிடம் இருந்தால் பஸ்ஸில் பல ஆசிரியர்கள், ஒருவர் மட்டுமே ஒரே நேரத்தில் ஆசிரியராக செயல்பட முடியும். ஆனால் அது மதிப்புக்குரியது அல்ல, ஏனெனில் ஆசிரியரின் மாற்றம் அதிக சிக்கலைக் கோருகிறது, எனவே அது அடிக்கடி இல்லை.

என்பதை நினைவில் கொள்ளுங்கள் பஸ்ஸில் உள்ள எல்லா சாதனங்களையும் ஒத்திசைக்க மாஸ்டர் கடிகார சமிக்ஞையை வழங்குகிறது. ஒவ்வொரு அடிமைக்கும் சொந்தக் கண்காணிப்பு இருக்க வேண்டிய அவசியத்தை அது நீக்குகிறது.

I2C பஸ் நெறிமுறை சப்ளை மின்னழுத்த கோடுகளில் (Vcc) புல்-அப் மின்தடையங்களின் பயன்பாட்டை முன்னறிவிக்கிறது, இருப்பினும் இந்த மின்தடையங்கள் பொதுவாக Arduino உடன் பயன்படுத்தப்படுவதில்லை நிரலாக்க நூலகங்கள் என்பதால் இழுக்கவும் வயர் 20-30 கி மதிப்புகளுடன் அகங்களை செயல்படுத்துகிறது. சில திட்டங்களுக்கு இது மிகவும் மென்மையாக இருக்கலாம், எனவே சிக்னலின் உயரும் விளிம்புகள் மெதுவாக இருக்கும், எனவே குறைந்த வேகம் மற்றும் குறுகிய தொடர்பு தூரங்களைப் பயன்படுத்தலாம். அதை சரிசெய்ய நீங்கள் 1k முதல் 4k7 வரை வெளிப்புற இழுக்கும் மின்தடைகளை அமைக்க வேண்டியிருக்கும்.

சிக்னல்

I2C சமிக்ஞை

La தொடர்பு சட்டகம் அவற்றில் ஒரு I2C பஸ் சமிக்ஞை பிட்கள் அல்லது மாநிலங்களைக் கொண்டுள்ளது (Arduino இல் பயன்படுத்தப்படும், I2C தரநிலை மற்றவர்களை அனுமதிப்பதால்):

  • 8 பிட்கள், அவற்றில் 7 முகவரியை அதிலிருந்து தரவை அனுப்ப அல்லது பெற நீங்கள் அணுக விரும்பும் அடிமை சாதனத்தின். 7 பிட்களுடன், 128 வெவ்வேறு முகவரிகளை உருவாக்க முடியும், இதனால் 128 சாதனங்களை கோட்பாட்டளவில் அணுக முடியும், ஆனால் 112 மட்டுமே அணுக முடியும், ஏனெனில் 16 சிறப்பு பயன்பாடுகளுக்கு ஒதுக்கப்பட்டுள்ளது. நீங்கள் விரும்பினால் குறிக்கும் கூடுதல் பிட் அனுப்ப அல்லது பெற அடிமை சாதன தகவல்.
  • உள்ளது ஒரு சரிபார்ப்பு பிட், அது செயலில் இல்லை என்றால் தொடர்பு செல்லுபடியாகாது.
  • பின்னர் தி தரவு பைட்டுகள் அவர்கள் அடிமைகளால் அனுப்ப அல்லது பெற விரும்புகிறார்கள். ஒவ்வொரு பைட்டும் உங்களுக்குத் தெரிந்தபடி 8 பிட்களால் ஆனது. அனுப்பப்பட்ட அல்லது பெறப்பட்ட ஒவ்வொரு 8-பிட் அல்லது 1 பைட்டிற்கும் கூடுதலாக 18 பிட் சரிபார்ப்பு, முகவரி போன்றவை தேவை என்பதை நினைவில் கொள்க, அதாவது பஸ் வேகத்தில் மிகவும் குறைவாகவே உள்ளது.
  • ஒரு இறுதி பிட் சரிபார்த்தல் தொடர்பு.

கூடுதலாக, கடிகார அதிர்வெண் பரிமாற்றங்கள் தரமாக 100 மெகா ஹெர்ட்ஸ் ஆகும், 400 மெகா ஹெர்ட்ஸில் வேகமான பயன்முறை இருந்தாலும்.

ஐ 2 சி பஸ்ஸின் நன்மைகள் மற்றும் தீமைகள்

தி நன்மை அவை:

  • எளிமை இரண்டு வரிகளை மட்டுமே பயன்படுத்துவதன் மூலம்.
  • அது உள்ளது சமிக்ஞை வந்துவிட்டதா என்பதை அறிய வழிமுறைகள் பிற தொடர்பு நெறிமுறைகளுடன் ஒப்பிடும்போது.

தி குறைபாடுகளும் அவை:

  • வேகம் மிகவும் குறைந்த பரிமாற்றம்.
  • இது ஒரு முழு இரட்டை அல்லஅதாவது, நீங்கள் ஒரே நேரத்தில் அனுப்பவும் பெறவும் முடியாது.
  • சமநிலையைப் பயன்படுத்துவதில்லை பெறப்பட்ட தரவு பிட்கள் சரியானதா என்பதை அறிய வேறு எந்த வகை சரிபார்ப்பு பொறிமுறையும் இல்லை.

Arduino இல் I2C

Arduino I2C பஸ்

En Arduino, மாதிரியைப் பொறுத்து, இந்த I2C பஸ்ஸைப் பயன்படுத்தக்கூடிய ஊசிகளும் மாறுபடும். உதாரணத்திற்கு:

  • Arduino UNO, நானோ, மினி புரோ: A4 SDA (தரவு) மற்றும் A5 SCK (கடிகாரம்) க்கு பயன்படுத்தப்படுகிறது.
  • அர்டுடினோ மெகா: எஸ்.டி.ஏ-க்கு முள் 20 மற்றும் எஸ்.சி.கே.க்கு 21.

அதைப் பயன்படுத்த நீங்கள் அவசியம் என்பதை நினைவில் கொள்ளுங்கள் நூலகத்தைப் பயன்படுத்துங்கள் வயர்.ஹெச் உங்கள் Arduino IDE குறியீடுகளுக்கு, போன்றவை இருந்தாலும் I2C y i2cdevlib. இந்த நூலகங்களின் ஆவணங்களை அல்லது திட்டங்கள் குறித்த எங்கள் கட்டுரைகளைப் படிக்கலாம், அது எவ்வாறு திட்டமிடப்படும் என்பதற்கான குறியீடுகளைப் பெற ஆர்வமாக உள்ளது.

I2C உடன் பயன்படுத்த ஒரு சாதனத்தின் முகவரியை எவ்வாறு அறிந்து கொள்வது?

கடைசி எச்சரிக்கை ஒன்றுதான், அதாவது நீங்கள் ஐரோப்பிய, ஜப்பானிய அல்லது அமெரிக்க உற்பத்தியாளர்களிடமிருந்து ஐ.சி.க்களை வாங்கும்போது, ​​நீங்கள் திசையைக் குறிக்கவும் நீங்கள் சாதனத்திற்கு பயன்படுத்த வேண்டும். மறுபுறம், சீனர்கள் சில நேரங்களில் அதை விவரிக்கவில்லை அல்லது அது சரியாக இல்லை, எனவே அது வேலை செய்யாது. உங்கள் ஓவியத்தில் எந்த திசையை நீங்கள் குறிப்பிட வேண்டும் என்பதை அறிய முகவரி ஸ்கேனர் மூலம் அதை எளிதாக தீர்க்க முடியும்.

La arduino சமூகம் இதை உருவாக்கியுள்ளது முகவரியை ஸ்கேன் செய்து அடையாளம் காண குறியீடு ஒரு எளிய வழியில். நான் இங்கே குறியீட்டைக் காண்பித்தாலும்:

#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. உரிமைகள்: எந்த நேரத்திலும் உங்கள் தகவல்களை நீங்கள் கட்டுப்படுத்தலாம், மீட்டெடுக்கலாம் மற்றும் நீக்கலாம்.