8051 மைக்ரோகண்ட்ரோலருடன் I2C-EEPROM ஐ எவ்வாறு இடைமுகப்படுத்துவது

சிக்கல்களை அகற்ற எங்கள் கருவியை முயற்சிக்கவும்





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

டெக்சாஸ் இன்ஸ்ட்ரூமென்ட்ஸ், சீமென்ஸ் ஏஜி, என்இசி, மோட்டோரோலா, இன்டர்சில் மற்றும் எஸ்.டி.எம். 1995 ஆம் ஆண்டில், SMBus இன்டெல்லால் வரையறுக்கப்படுகிறது, இது I²C இன் துணைக்குழுவாகும், இது நெறிமுறைகள் மிகவும் கண்டிப்பானவை என்று கூறுகிறது. SMBus இன் முக்கிய நோக்கம் இயங்கக்கூடிய தன்மை மற்றும் வலுவான தன்மையை ஆதரிப்பதாகும். எனவே, தற்போதைய I²C அமைப்புகள் SMBus இன் விதிகள் மற்றும் கொள்கைகளை உள்ளடக்கியது, சில நேரங்களில் இது I2C மற்றும் SMBus இரண்டையும் குறைந்தபட்ச மறுசீரமைப்புடன் ஆதரிக்கிறது.




I2C பஸ்

I2C பஸ்

8051 மைக்ரோகண்ட்ரோலருடன் இடைமுகம் I2C பஸ்- EEPROM

I2C பஸ் என்றால் என்ன

I2c பஸ் எஸ்.டி.ஏ (சீரியல் டேட்டா லைன்) மற்றும் எஸ்சிஎல் (சீரியல் க்ளாக் லைன்) போன்ற இருதிசை திறந்த-வடிகால் கோடுகளைப் பயன்படுத்துகிறது, மேலும் இவை மின்தடையங்களுடன் இழுக்கப்படுகின்றன. அடிமை சாதனத்துடன் தொடர்பு கொள்ள ஒரு முதன்மை சாதனத்தை I2C பஸ் அனுமதிக்கிறது. இந்த இரண்டு சாதனங்களுக்கிடையில் தரவு பரிமாற்றம் செய்யப்படுகிறது. பயன்படுத்தப்படும் வழக்கமான மின்னழுத்தங்கள் + 3.3 வி அல்லது + 5 வி என்றாலும் கூடுதல் மின்னழுத்தங்களைக் கொண்ட அமைப்புகள் அனுமதிக்கப்படுகின்றன.



I2C இடைமுகம்

I2C இடைமுகம்

EEPROM

மின்சாரம் அழிக்கக்கூடிய நிரல்படுத்தக்கூடிய ரோம் (EEPROM) என்பது ஒரு பயனர் மாற்றக்கூடிய ROM ஆகும், இது சாதாரண மின் மின்னழுத்தத்தை விட அதிகமான பயன்பாடு மூலம் அடிக்கடி அகற்றப்பட்டு மறுபிரசுரம் செய்யப்படலாம். EEPROM என்பது கணினிகள் போன்ற மின்னணு சாதனங்களில் சிறிய அளவிலான தரவைச் சேமிக்கப் பயன்படும் ஒரு வகையான நிலையற்ற நினைவகம் ஆகும், அவை சக்தி பிரிக்கப்படும்போது சேமிக்கப்பட வேண்டும்.

8051 ஸ்லிகர் போர்டு

8051 ஸ்லிகர் போர்டு பிரதேசத்தில் உள்ள தொழில்நுட்ப மாணவர்களுக்கு உதவ வடிவமைக்கப்பட்டுள்ளது உட்பொதிக்கப்பட்ட அமைப்புகள் . இந்த கிட் அனைத்து அம்சங்களையும் வடிவமைக்கப்பட்டுள்ளது 8051 மைக்ரோகண்ட்ரோலர் மாணவர்களால் பயன்படுத்தப்படலாம். இந்த ஸ்ட்ரைக்கர் போர்டு சீரியல் போர்ட் வழியாக செய்யப்படும் ISP (In System Programming) ஐ ஆதரிக்கிறது. இந்த கிட் மற்றும் என்எக்ஸ்பியிலிருந்து 8051 ஆகியவை வேகம் 8- பிட் மைக்ரோகண்ட்ரோலர்களைச் சுற்றியுள்ள பல வடிவமைப்புகளை பிழைத்திருத்தத்தின் முன்னேற்றத்தை மென்மையாக்க முன்மொழியப்பட்டுள்ளன.

இடைமுகம் I2C - EEPROM

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


இடைமுகம் I2C - EEPROM

இடைமுகம் I2C - EEPROM

I2C பஸ் பல்வேறு சாதனங்களை ஆதரிக்கிறது ஒவ்வொரு சாதனமும் எல்சிடி இயக்கி, மெமரி கார்டு, மைக்ரோகண்ட்ரோலர் அல்லது தனிப்பட்ட முகவரி மூலம் அடையாளம் காணப்படுகிறது விசைப்பலகையின் இடைமுகம் இது Tx அல்லது Rx ஆக செயல்படக்கூடியது சாதனத்தின் செயல்பாட்டைப் பொறுத்தது. கட்டுப்படுத்தி I2C நெறிமுறை வழியாக EEPROM சாதனத்தை கட்டுப்படுத்த வடிவமைக்கப்பட்டுள்ளது. இங்கே, அவர் I2C நெறிமுறை ஒரு முதன்மை சாதனமாக செயல்படுகிறது மற்றும் EEPROM ஐ ஒழுங்குபடுத்துகிறது, அது ஒரு அடிமையாக செயல்படுகிறது. முகவரி மற்றும் / அல்லது தரவு பஸ் அடங்கிய கட்டுப்பாட்டு சமிக்ஞைகளின் தொகுப்பை மாற்றுவதன் மூலம் R / W செயல்பாடுகள் திறமையானவை. இந்த சிக்னல்களை பொருத்தமான கடிகார சமிக்ஞைகளுடன் கலந்து கொள்ள வேண்டும்

8051 மைக்ரோகண்ட்ரோலருடன் இடைமுகம் I2C பஸ்- EEPROM

நீங்கள் படிக்க விரும்பினால், 8051 ஸ்ட்ரைக்கர் போர்டில் I2C பஸ்ஸைப் பயன்படுத்தி EEPROM ஐ எழுதவும் அழிக்கவும். உடன் I2 பஸ்- EEPROM இன் இடைமுகம் 8051 மைக்ரோகண்ட்ரோலர் மிகவும் எளிது . இந்த இடைமுகத்தின் செயல்பாடு WRITE போன்ற ஒரு சமிக்ஞையை அனுப்புவதாகும், அதைத் தொடர்ந்து தரவு மற்றும் முகவரி பஸ். இந்த செயல்பாட்டில், தரவை சேமிக்க EEPROM பயன்படுத்தப்படுகிறது. 8051 கிட்டில், இரண்டு எண்கள் EEPROM கோடுகள் I2C ஆதரவு இயக்கிகளால் கட்டுப்படுத்தப்படுகின்றன. எஸ்சிஎல் மற்றும் எஸ்.டி.ஏ ஆகியவை I2C அடிப்படையிலான சீரியல் EEPROM IC உடன் இணைக்கப்பட்டுள்ளன.

8051 மைக்ரோகண்ட்ரோலருடன் இடைமுகம் I2C பஸ்- EEPROM

8051 மைக்ரோகண்ட்ரோலருடன் இடைமுகம் I2C பஸ்- EEPROM

SDA மற்றும் SCL I2C வரிகளைப் பயன்படுத்துவதன் மூலம், EEPROM இன் வாசிப்பு மற்றும் எழுதும் செயல்பாடுகள் 8051 ஸ்லிகர் கிட்டில் செய்யப்படுகின்றன

I2C இன் இடைமுகம் மிகவும் எளிதானது மற்றும் ஒவ்வொரு தரவிலும் EEPROM இல் படிக்க / எழுதுங்கள். தாமதம் மாறுபடும் தேர்வுகளில் மாற்றங்களைச் செய்தவுடன் சுழல்களை எவ்வாறு மேம்படுத்துகிறது என்பதைப் பொறுத்தது.

I2C இடைமுகத்திற்கான மூல குறியீடு

#சேர்க்கிறது
#சேர்க்கிறது
#சேர்க்கிறது

# ACK 1 ஐ வரையறுக்கவும்
# NO_ACK 0 ஐ வரையறுக்கவும்

கையொப்பமிடாத கரி i
கையொப்பமிடாத கரி EData [5]
கையொப்பமிடாத கரி தரவு
InitSerial (வெற்றிடத்தை) வெற்றிடமாக்கு
தாமத தாமதங்கள் (கையொப்பமிடாத எண்ணாக)
WriteI2C (கையொப்பமிடாத கரி) வெற்றிடத்தை
வெற்றிட தொடக்க (வெற்றிட)
வெற்றிடத்தை நிறுத்து (வெற்றிடத்தை)
வெற்றிடத்தை ரெட் பைட் (கையொப்பமிடாத எண்ணாக)
WriteBYTE (கையொப்பமிடாத எண்ணாக)
கையொப்பமிடாத கரி ReadI2C (பிட்)

sbit SCL = P2 ^ 0 // SCL முள் (கடிகாரம்) உடன் இணைக்கவும்
sbit SDA = P2 ^ 1 // SDA முள் (தரவு) உடன் இணைக்கவும்

// —————————————
// பிரதான திட்டம்
// —————————————
முக்கிய வெற்றிடத்தை (வெற்றிடத்தை)
{
InitSerial () // சீரியல் போர்ட்டைத் தொடங்கவும்
putchar (0x0C) // தெளிவான ஹைப்பர் டெர்மினல்
தாமதங்கள் (5)
எழுது BYTE (0x0000)
WriteI2C (‘A’) // தரவை இங்கே எழுதுங்கள்
ரைட்ஐ 2 சி (‘பி’)
ரைட்ஐ 2 சி (‘சி’)
ரைட்ஐ 2 சி (‘டி’)
ரைட்ஐ 2 சி (‘இ’)
WriteI2C (‘F’)
நிறுத்து ()
தாமதங்கள் (10)

ReadBYTE (0x0000)
EData [0] = ReadI2C (NO_ACK)
EData [1] = ReadI2C (NO_ACK)
EData [2] = ReadI2C (NO_ACK)
EData [3] = ReadI2C (NO_ACK)
EData [4] = ReadI2C (NO_ACK)
EData [5] = ReadI2C (NO_ACK)

(i = 0i<6i++)
{
printf (“மதிப்பு =% c n”, EData [i]) // காட்சி தரவு * /
DelayMs (100)
}

போது (1)
}

// —————————————
// சீரியல் போர்ட்டைத் தொடங்கவும்
// —————————————
InitSerial (வெற்றிடத்தை) வெற்றிடமாக்கு
{
SCON = 0x52 // அமைவு தொடர் துறை கட்டுப்பாடு
TMOD = 0x20 // வன்பொருள் (9600 BAUD @ 11.0592MHZ)
TH1 = 0xFD // TH1
டிஆர் 1 = 1 // டைமர் 1 ஆன்
}

// ——————————-
// தொடக்க I2C
// ——————————-
வெற்றிட தொடக்க (வெற்றிட)
{
எஸ்.டி.ஏ = 1
எஸ்சிஎல் = 1
_பட்டன் _ () _ நோப்_ ()
எஸ்.டி.ஏ = 0
_பட்டன் _ () _ நோப்_ ()
எஸ்சிஎல் = 0
_பட்டன் _ () _ நோப்_ ()
}

// ——————————-
// நிறுத்து I2C
// ——————————-
வெற்றிடத்தை நிறுத்து (வெற்றிடத்தை)
{
எஸ்.டி.ஏ = 0
_பட்டன் _ () _ நோப்_ ()
எஸ்சிஎல் = 1
_பட்டன் _ () _ நோப்_ ()
எஸ்.டி.ஏ = 1
}

// ——————————-
// I2C எழுதுங்கள்
// ——————————-
WriteI2C (கையொப்பமிடாத கரி தரவு)
{

(i = 0i<8i++)
{
SDA = (தரவு & 0x80)? 1: 0
SCL = 1SCL = 0
தகவல்கள்<<=1
}

எஸ்சிஎல் = 1
_பட்டன் _ () _ நோப்_ ()
எஸ்சிஎல் = 0

}

// ——————————-
// I2C ஐப் படியுங்கள்
// ——————————-
கையொப்பமிடாத கரி ReadI2C (பிட் ACK_Bit)
{

தொடங்கு ()
WriteI2C (0xA1)

எஸ்.டி.ஏ = 1
(i = 0i<8i++)

எஸ்சிஎல் = 1
தகவல்கள்<<= 1
தேதி = (தேதி

if (ACK_Bit == 1)
SDA = 0 // ACK ஐ அனுப்பவும்
வேறு
SDA = 1 // எந்த ACK ஐ அனுப்பவும்

_பட்டன் _ () _ நோப்_ ()
எஸ்சிஎல் = 1
_பட்டன் _ () _ நோப்_ ()
எஸ்சிஎல் = 0
நிறுத்து ()
தரவைத் தரவும்
}

// ——————————-
// 1 பைட் படிவம் I2C ஐப் படியுங்கள்
// ——————————-
வெற்றிடத்தை ரெட் பைட் (கையொப்பமிடாத எண்ணாக சேர்க்கை)
{
தொடங்கு ()
WriteI2C (0xA0)
WriteI2C ((கையொப்பமிடாத கரி) (Addr >> 8) & 0xFF)
WriteI2C ((கையொப்பமிடாத கரி) Addr & 0xFF)
}

// ——————————-
// I2C க்கு 1 பைட் எழுதவும்
// ——————————-
WriteBYTE (கையொப்பமிடாத எண்ணாக சேர்க்கை)
{
தொடங்கு ()
WriteI2C (0xA0)
WriteI2C ((கையொப்பமிடாத கரி) (Addr >> 8) & 0xFF) // முகவரியை அதிக அளவில் அனுப்புங்கள்
WriteI2C ((கையொப்பமிடாத கரி) Addr & 0xFF) // முகவரி குறைவாக அனுப்பு
}

// —————————————
// எம்எஸ் செயல்பாட்டை தாமதப்படுத்துங்கள்
// —————————————
தாமத தாமதங்கள் (கையொப்பமிடாத எண்ணின் எண்ணிக்கை)
{// mSec தாமதம் 11.0592 Mhz
கையொப்பமிடாத int i // Keil v7.5a
போது (எண்ணிக்கை)
{
i = 115
போது (i> 0) i–
எண்ணிக்கை–
}
}

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