I2C பஸ் - பணி, சாதனம், தரவு பரிமாற்றம், முகவரி
எலக்ட்ரானிக் சர்க்யூட்டை உருவாக்கும் போது, பல டெவலப்பர்கள் அதன் தனிப்பட்ட தொகுதிகளை பொருத்துவதற்கும், மாதிரி எடுப்பதற்கும் மற்றும் முகவரியிடுவதற்கும் அதிக எண்ணிக்கையிலான இடைநிலை சில்லுகளைப் பயன்படுத்த வேண்டிய அவசியத்தை எதிர்கொள்கின்றனர். துணை சில்லுகளின் எண்ணிக்கையைக் குறைக்க, பிலிப்ஸ் 1980 களில் இரண்டு கம்பி இருதரப்பு I2C தொடர் நெட்வொர்க் இடைமுகத்தை முன்மொழிந்தது, இது ஒரு சாதனத்தில் பல சில்லுகளை நிர்வகிக்க குறிப்பாக வடிவமைக்கப்பட்டது.
இன்று, பிலிப்ஸ் மட்டும் நூற்றுக்கும் மேற்பட்ட I2C-இணக்கமான சாதனங்களை மின்னணு உபகரணங்களுக்காக பல்வேறு நோக்கங்களுக்காக உற்பத்தி செய்கிறது: நினைவகம், வீடியோ செயலி அமைப்புகள், அனலாக்-டு-டிஜிட்டல் மற்றும் டிஜிட்டல்-டு-அனலாக் மாற்றிகள், காட்சி இயக்கிகள் போன்றவை.
I2C பஸ் என்பது தொடர் தரவு பரிமாற்ற நெறிமுறையின் மாற்றமாகும், இது வழக்கமான "வேகமான" பயன்முறையில் 100 முதல் 400 kbps விகிதத்தில் தொடர் 8-பிட் தரவை அனுப்பும் திறன் கொண்டது. தரவு பரிமாற்ற செயல்முறை இரண்டு கம்பிகளில் மட்டுமே செயல்படுத்தப்படுகிறது (பொதுவான கம்பியைக் கணக்கிடவில்லை): தரவுக்கான SDA வரி மற்றும் ஒத்திசைவுக்கான SCL வரி.
பேருந்துடன் இணைக்கப்பட்ட சாதனங்களின் வெளியீடுகளின் அடுக்குகள் திறந்த சேகரிப்பாளர்கள் அல்லது சேனல்களைக் கொண்டிருப்பதால், AND வயரிங் பிரதிபலிப்பதால், பேருந்து இரு திசையில் செல்கிறது. இதன் விளைவாக, பேருந்து சில்லுகளுக்கிடையேயான இணைப்புகளின் எண்ணிக்கையைக் குறைத்து, போர்டில் தேவையான ஊசிகள் மற்றும் தடயங்கள் குறைவாக இருக்கும். இதன் விளைவாக, குழுவே எளிமையானதாகவும், மிகவும் கச்சிதமானதாகவும், உற்பத்தியில் தொழில்நுட்ப ரீதியாக மிகவும் மேம்பட்டதாகவும் மாறிவிடும்.
முகவரி குறிவிலக்கிகள் மற்றும் பிற வெளிப்புற பேச்சுவார்த்தை தர்க்கத்தை முடக்க இந்த நெறிமுறை உங்களை அனுமதிக்கிறது. I2C பேருந்தில் ஒரே நேரத்தில் இயங்கக்கூடிய சில்லுகளின் எண்ணிக்கை அதன் திறனால் வரையறுக்கப்பட்டுள்ளது - அதிகபட்சம் 400 pF.
I2C-இணக்கமான ICகள், வலுவான குறுக்கீடுகளின் முன்னிலையிலும் தரவு ஒருமைப்பாட்டை உறுதிசெய்ய, வன்பொருள் இரைச்சலை அடக்கும் அல்காரிதத்தைக் கொண்டுள்ளன. இத்தகைய சாதனங்கள் ஒரு இடைமுகத்தைக் கொண்டுள்ளன, அவை அவற்றின் விநியோக மின்னழுத்தங்கள் வேறுபட்டாலும் கூட மைக்ரோ சர்க்யூட்கள் ஒருவருக்கொருவர் தொடர்பு கொள்ள அனுமதிக்கிறது. கீழே உள்ள படத்தில், ஒரு பொதுவான பஸ் மூலம் பல மைக்ரோ சர்க்யூட்களை இணைக்கும் கொள்கையை நீங்கள் அறிந்து கொள்ளலாம்.
பஸ்ஸுடன் இணைக்கப்பட்ட ஒவ்வொரு சாதனத்திற்கும் அதன் சொந்த தனிப்பட்ட முகவரி உள்ளது, அது தீர்மானிக்கப்படுகிறது மற்றும் சாதனத்தின் நோக்கத்திற்கு ஏற்ப, அது ஒரு பெறுநராக அல்லது டிரான்ஸ்மிட்டராக வேலை செய்ய முடியும். தரவை அனுப்பும் போது, இந்த சாதனங்கள் மாஸ்டர் (மாஸ்டர்) அல்லது அடிமை (அடிமை) ஆக இருக்கலாம். மாஸ்டர் என்பது தரவு பரிமாற்றத்தைத் தொடங்கி SCL வரிசையில் கடிகார சமிக்ஞைகளை உருவாக்கும் சாதனமாகும். அடிமை, எஜமானரைப் பொறுத்தவரை, இலக்கு சாதனம்.
I2C பேருந்தில் செயல்படும் எந்த நேரத்திலும், ஒரு சாதனம் மட்டுமே முதன்மையாக செயல்பட முடியும்; இது SCL வரிசையில் ஒரு சமிக்ஞையை உருவாக்குகிறது.மாஸ்டர் ஒரு முதன்மை பெறுநராகவோ அல்லது முதன்மை டிரான்ஸ்மிட்டராகவோ இருக்கலாம்.
கொள்கையளவில், பேருந்து பல்வேறு எஜமானர்களை அனுமதிக்கிறது, ஆனால் கட்டுப்பாட்டு சமிக்ஞைகளை உருவாக்குதல் மற்றும் பேருந்தின் நிலையை கண்காணிக்கும் பண்புகளில் கட்டுப்பாடுகளை விதிக்கிறது; இதன் பொருள் பல மாஸ்டர்கள் ஒரே நேரத்தில் பரவத் தொடங்கலாம், ஆனால் இந்த வகையான மோதல்கள் நடுவர் மன்றத்திற்கு நன்றி நீக்கப்படுகின்றன, அதாவது, பேருந்து மற்றொரு மாஸ்டரால் ஆக்கிரமிக்கப்பட்டுள்ளது என்பதைக் கண்டறியும் போது மாஸ்டர் நடந்து கொள்ளும் விதம்.
ஒரு ஜோடி சாதனங்களின் ஒத்திசைவு, அனைத்து சாதனங்களும் பஸ்ஸுடன் இணைக்கப்பட்டு, "AND" வயரிங் உருவாக்குவதன் மூலம் உறுதி செய்யப்படுகிறது. ஆரம்பத்தில், SDA மற்றும் SCL சிக்னல்கள் அதிகமாக இருக்கும்.
START மற்றும் STOP
பரிமாற்றமானது மாஸ்டர் «START» நிலையை உருவாக்குவதன் மூலம் தொடங்குகிறது: SDA வரிசையில், சமிக்ஞை உயர்விலிருந்து குறைந்த நிலைக்குச் செல்கிறது, அதே நேரத்தில் SCL வரி நிலையான உயர் மட்டத்தைக் கொண்டுள்ளது. பஸ்ஸுடன் இணைக்கப்பட்ட அனைத்து சாதனங்களும் இந்த சூழ்நிலையை பரிமாற்றத்தைத் தொடங்குவதற்கான கட்டளையாக உணர்கிறது.
பேருந்தில் தரவை அனுப்பும்போது ஒவ்வொரு மாஸ்டரும் SCL வரிசையில் ஒரு தனிப்பட்ட கடிகார சமிக்ஞையை உருவாக்குகிறார்கள்.
பரிமாற்றமானது மாஸ்டரால் STOP நிலையை உருவாக்குவதுடன் முடிவடைகிறது: SDA கோட்டில் சிக்னல் குறைவாக இருந்து உயர்வாக மாறுகிறது, அதே சமயம் SCL கோடு நிலையான உயர் மட்டத்தைக் கொண்டுள்ளது.
இயக்கி எப்போதும் START மற்றும் STOP சிக்னல்களின் ஆதாரமாக செயல்படுகிறது. "START" சமிக்ஞை சரி செய்யப்பட்டவுடன், வரி பிஸியாக உள்ளது என்று அர்த்தம். STOP சிக்னல் கண்டறியப்பட்டால் வரி இலவசம்.
START நிலையை அறிவித்த உடனேயே, முதன்மையானது SCL வரியை குறைவாக மாற்றி, முதல் செய்தி பைட்டின் மிக முக்கியமான பிட்டை SDA வரிக்கு அனுப்புகிறது. ஒரு செய்தியில் உள்ள பைட்டுகளின் எண்ணிக்கை வரையறுக்கப்படவில்லை.SCL வரியில் சிக்னல் நிலை குறைவாக இருக்கும் போது மட்டுமே SDA வரியில் மாற்றங்கள் செயல்படுத்தப்படும். தரவு செல்லுபடியாகும் மற்றும் ஒத்திசைவு துடிப்பு அதிகமாக இருக்கும்போது மட்டுமே மாற்றப்படக்கூடாது.
முதன்மை டிரான்ஸ்மிட்டரிலிருந்து பைட் ஸ்லேவ் ரிசீவரால் பெறப்பட்டது என்பதற்கான ஒப்புகை, எட்டாவது டேட்டா பிட் பெறப்பட்ட பிறகு SDA வரிசையில் ஒரு சிறப்பு ஒப்புகை பிட்டை அமைப்பதன் மூலம் செய்யப்படுகிறது.
உறுதிப்படுத்தல்
எனவே, டிரான்ஸ்மிட்டரிலிருந்து பெறுநருக்கு 8 பிட் தரவை அனுப்புவது SCL வரிசையில் கூடுதல் துடிப்புடன் முடிவடைகிறது, பெறும் சாதனம் SDA வரிசையில் குறைவாகச் செல்லும் போது, அது முழு பைட்டையும் பெற்றுள்ளது என்பதைக் குறிக்கிறது.
உறுதிப்படுத்தல் என்பது தரவு பரிமாற்ற செயல்முறையின் ஒருங்கிணைந்த பகுதியாகும். மாஸ்டர் ஒரு ஒத்திசைவு துடிப்பை உருவாக்குகிறார். ஒப்புகை கடிகாரம் செயலில் இருக்கும்போது டிரான்ஸ்மிட்டர் குறைந்த நிலையை SDAக்கு அனுப்புகிறது. ஒத்திசைவு துடிப்பு அதிகமாக இருக்கும்போது, ரிசீவர் SDAவை குறைவாக வைத்திருக்க வேண்டும்.
இலக்கு அடிமை அதன் முகவரியை ஒப்புக் கொள்ளவில்லை என்றால், உதாரணமாக அது தற்போது பிஸியாக இருப்பதால், தரவு வரி உயரமாக இருக்க வேண்டும். மாஸ்டர் பின்னர் அனுப்புதலை நிறுத்த ஒரு STOP சமிக்ஞையை வழங்கலாம்.
வரவேற்பு முதன்மை பெறுநரால் மேற்கொள்ளப்பட்டால், பரிமாற்றம் முடிந்ததும் அடிமை டிரான்ஸ்மிட்டருக்கு தெரிவிக்க கடமைப்பட்டுள்ளது - கடைசி பைட்டை உறுதிப்படுத்துவதன் மூலம் அல்ல. ஸ்லேவ் டிரான்ஸ்மிட்டர் தரவு வரியை வெளியிடுகிறது, இதனால் மாஸ்டர் ஒரு STOP சமிக்ஞை அல்லது மீண்டும் மீண்டும் START சமிக்ஞையை வழங்க முடியும்.
SCL வரிக்கான இணைப்புகள் "AND" கொள்கையின்படி செய்யப்படுகின்றன என்பதன் மூலம் சாதனங்களின் ஒத்திசைவு உறுதி செய்யப்படுகிறது.
SCL வரிசையை தாழ்விலிருந்து உயர்வாக மாற்றுவதைக் கட்டுப்படுத்த மாஸ்டருக்கு முழு உரிமை இல்லை.பெறப்பட்ட பிட்டைச் செயலாக்க அடிமைக்கு அதிக நேரம் தேவைப்பட்டால், அடுத்த பிட் தரவைப் பெறத் தயாராகும் வரை அது SCL ஐக் குறைவாக வைத்திருக்க முடியும். அத்தகைய சூழ்நிலையில் SCL வரியானது மிக நீண்ட குறைந்த-நிலை ஒத்திசைவு துடிப்பின் காலத்திற்கு குறைவாக இருக்கும்.
நீண்ட காலம் முடியும் வரை மிகக் குறைந்த நிலையான தாழ்வைக் கொண்ட சாதனங்கள் செயலற்ற நிலையில் இருக்கும். எல்லா சாதனங்களும் குறைந்த ஒத்திசைவு காலத்தை முடித்ததும், SCL அதிகமாக இருக்கும்.
எல்லா சாதனங்களும் அதிக நேரம் இயங்கத் தொடங்கும் மற்றும் அதன் காலத்தை முடிக்கும் முதல் சாதனம் முதலில் SCL வரியை குறைவாக அமைக்கும். இதன் விளைவாக, SCL இன் குறைந்த நிலையின் காலம், சாதனங்களில் ஒன்றின் ஒத்திசைவு துடிப்பின் மிக நீண்ட குறைந்த நிலையால் தீர்மானிக்கப்படும், மேலும் உயர் நிலையின் கால அளவு ஒரு குறுகிய கால ஒத்திசைவினால் தீர்மானிக்கப்படும். சாதனங்கள்.
பிட் மற்றும் பைட் மட்டத்தில் தரவு பரிமாற்றத்தைக் கட்டுப்படுத்தும் வழிமுறையாக ரிசீவர்களால் ஒத்திசைவு சமிக்ஞைகளைப் பயன்படுத்தலாம்.
சாதனமானது அதிக விகிதத்தில் பைட்டுகளைப் பெறும் திறன் கொண்டதாக இருந்தால், ஆனால் பெறப்பட்ட பைட்டைச் சேமிப்பதற்கு அல்லது அடுத்த பைட்டைப் பெறுவதற்குத் தயாராவதற்கு ஒரு குறிப்பிட்ட அளவு நேரம் எடுத்துக் கொண்டால், அது ஒரு பைட்டைப் பெற்று ஒப்புக்கொண்ட பிறகு, SCL ஐக் குறைவாக வைத்திருக்கலாம். ஒரு காத்திருப்பு நிலைக்கு அனுப்பும்.
உள்ளமைக்கப்பட்ட ஹார்டுவேர் சர்க்யூட்கள் இல்லாத மைக்ரோகண்ட்ரோலர், எடுத்துக்காட்டாக, பிட் அளவில், கடிகார வேகத்தை குறைக்கலாம், அதன் குறைந்த நிலையின் கால அளவை அதிகரிப்பதன் மூலம், முதன்மை சாதனத்தின் பாட் வீதம் அதன் வேகத்தால் தீர்மானிக்கப்படும். மெதுவான சாதனம்.
முகவரியிடல்
I2C பஸ்ஸுடன் இணைக்கப்பட்ட ஒவ்வொரு சாதனமும் ஒரு தனிப்பட்ட நிரல் முகவரியைக் கொண்டுள்ளது, அதில் ஒரு குறிப்பிட்ட கட்டளையை அனுப்புவதன் மூலம் மாஸ்டர் அதைக் குறிப்பிடுகிறார். ஒரே மாதிரியான மைக்ரோ சர்க்யூட்கள் முகவரித் தேர்வாளரால் வகைப்படுத்தப்படுகின்றன, அவை தேர்வாளரின் டிஜிட்டல் உள்ளீடுகள் அல்லது அனலாக் வடிவத்தில் செயல்படுத்தப்படுகின்றன. பஸ்ஸுடன் இணைக்கப்பட்ட சாதனங்களின் முகவரி இடமாக முகவரிகள் பிரிக்கப்படுகின்றன.
இயல்பான பயன்முறையானது ஏழு-பிட் முகவரியிடலைக் கருதுகிறது. முகவரியிடல் பின்வருமாறு செயல்படுகிறது: «START» கட்டளைக்குப் பிறகு, மாஸ்டர் முதல் பைட்டை அனுப்புகிறார், இது மாஸ்டருடன் தொடர்பு கொள்ள எந்த அடிமை சாதனம் தேவை என்பதை தீர்மானிக்கிறது. பேருந்தில் உள்ள அனைத்து சாதனங்களையும் வரையறுக்கும் பொதுவான அழைப்பு முகவரியும் உள்ளது, எல்லா சாதனங்களும் (கோட்பாட்டளவில்) அதற்கு ஒப்புகையுடன் பதிலளிக்கின்றன, ஆனால் நடைமுறையில் இது அரிதானது.
எனவே முதல் பைட்டின் முதல் ஏழு பிட்கள் அடிமை முகவரி. குறைவான குறிப்பிடத்தக்க பிட், எட்டாவது, தரவை அனுப்பும் திசையைக் குறிக்கிறது. "0" இருந்தால், தகவல் எஜமானரிடமிருந்து இந்த அடிமைக்கு எழுதப்படும். «1» என்றால், இந்த அடிமையிடமிருந்து தகவல் எஜமானரால் படிக்கப்படும்.
மாஸ்டர் முகவரி பைட்டை அனுப்பி முடித்த பிறகு, ஒவ்வொரு அடிமையும் அதன் முகவரியை அதனுடன் ஒப்பிடுகிறார்கள். அதே முகவரியைக் கொண்ட எவரும் அடிமை மற்றும் முகவரி பைட்டின் குறைந்தபட்ச குறிப்பிடத்தக்க பிட்டின் மதிப்பைப் பொறுத்து, அடிமை டிரான்ஸ்மிட்டர் அல்லது ஸ்லேவ் ரிசீவர் என வரையறுக்கப்படுவார்கள்.
ஒரு அடிமை முகவரியில் நிலையான மற்றும் நிரல்படுத்தக்கூடிய பகுதிகள் இருக்கலாம். ஒரே மாதிரியான அதிக எண்ணிக்கையிலான சாதனங்கள் ஒரு அமைப்பில் வேலை செய்கின்றன, பின்னர் முகவரியின் நிரல்படுத்தக்கூடிய பகுதி பஸ்ஸில் அதிகபட்சமாக ஒரே மாதிரியான சாதனங்களைப் பயன்படுத்த அனுமதிக்கிறது. முகவரி பைட்டில் எத்தனை பிட்கள் நிரல்படுத்தக்கூடியவை என்பது சிப்பில் உள்ள இலவச பின்களின் எண்ணிக்கையைப் பொறுத்தது.
சில நேரங்களில் நிரல்படுத்தக்கூடிய முகவரி வரம்பின் அனலாக் அமைப்பைக் கொண்ட ஒரு முள் போதுமானது, எடுத்துக்காட்டாக SAA1064 - அத்தகைய செயல்படுத்தலைக் கொண்ட LED காட்டி இயக்கி. ஒரு குறிப்பிட்ட பின்னின் சாத்தியக்கூறு, சிப்பின் முகவரி இடத்தின் ஆஃப்செட்டைத் தீர்மானிக்கிறது, இதனால் ஒரே மாதிரியான சில்லுகள் ஒரே பேருந்தில் இயங்குவதில் முரண்படாது. I2C பஸ்ஸை ஆதரிக்கும் அனைத்து சில்லுகளும் ஆவணத்தில் உற்பத்தியாளர் குறிப்பிடும் முகவரிகளின் தொகுப்பைக் கொண்டிருக்கும்.
"11110XX" கலவையானது 10-பிட் முகவரிக்காக ஒதுக்கப்பட்டுள்ளது. "START" கட்டளையிலிருந்து "STOP" கட்டளைக்கு தரவு பரிமாற்றத்தை நாம் கற்பனை செய்தால், அது இப்படி இருக்கும்:
எளிய மற்றும் ஒருங்கிணைந்த தரவு பரிமாற்ற வடிவங்கள் இங்கே அனுமதிக்கப்படுகின்றன. ஒருங்கிணைந்த வடிவம் என்பது "START" மற்றும் "STOP" க்கு இடையில் மாஸ்டர் மற்றும் ஸ்லேவ் ரிசீவர்களாகவும் டிரான்ஸ்மிட்டர்களாகவும் செயல்பட முடியும், இது தொடர் நினைவக நிர்வாகத்தில் பயனுள்ளதாக இருக்கும்.
முதல் பைட் தரவு நினைவக முகவரியை மாற்றட்டும். பின்னர், «START» கட்டளையை மீண்டும் மீண்டும் மற்றும் அடிமை முகவரியை படித்து, நினைவக தரவு வேலை செய்யும். முன்னர் அணுகப்பட்ட முகவரியை தானாக அதிகரிப்பது அல்லது குறைப்பது தொடர்பான முடிவுகள், சிப் ஆவணங்களை முன்பு படித்த பிறகு சாதன டெவலப்பரால் எடுக்கப்படுகின்றன. ஒரு வழி அல்லது வேறு, START கட்டளையைப் பெற்ற பிறகு, எல்லா சாதனங்களும் அவற்றின் தர்க்கத்தை மீட்டெடுக்க வேண்டும் மற்றும் முகவரி இப்போது பெயரிடப்படும் என்பதற்குத் தயாராக வேண்டும்.