ஏவிஆர் பயிற்சி வகுப்பு. SPI தொகுதியுடன் பணிபுரிகிறது. தரவைப் படித்தல் மற்றும் எழுதுதல். Ch2. SPI - தியரி ஸ்பை உள்ளீட்டில் எவ்வாறு வேலை செய்வது

பரிமாற்ற இடைமுகங்கள்.

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

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

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

மிகவும் பிரபலமான பல இடைமுகங்களை இன்னும் விரிவாகப் பார்ப்போம்.

USART இடைமுகம்.

USART இடைமுகம் ஒரு தொடர் உலகளாவிய சின்க்ரோனஸ்-அசின்க்ரோனஸ் டிரான்ஸ்ஸீவர் ஆகும். தரவு USARTக்கு சீரான இடைவெளியில் மாற்றப்படும். இந்த கால அளவு குறிப்பிடப்பட்ட USART வேகத்தால் தீர்மானிக்கப்படுகிறது மற்றும் பாடில் குறிப்பிடப்படுகிறது (பூஜ்ஜியம் அல்லது ஒன்றுக்கு சமமான மதிப்புகளை மட்டுமே எடுக்கக்கூடிய எழுத்துகளுக்கு, பாட் என்பது வினாடிக்கு பிட்களுக்கு சமம்). நிலையான வேகங்களின் பொதுவாக ஏற்றுக்கொள்ளப்பட்ட வரம்பு உள்ளது: 300, 600, 1200, 2400, 4800, 9600, 19200, 38400, 57600, 115200, 230400, 460800, 9216.

தரவு பிட்களுடன் கூடுதலாக, USART தானாகவே ஒத்திசைவு குறிகளை ஸ்ட்ரீமில் செருகும், தொடக்க மற்றும் நிறுத்த பிட்கள் என்று அழைக்கப்படும். வரவேற்பு மீது, இந்த கூடுதல் பிட்கள் அகற்றப்படும். பொதுவாக, தொடக்க மற்றும் நிறுத்த பிட்கள் ஒரு பைட் தகவலை (8 பிட்கள்) பிரிக்கின்றன, ஆனால் USART செயலாக்கங்கள் 5, 6, 7, 8 அல்லது 9 பிட்களை அனுப்ப அனுமதிக்கின்றன. தொடக்க மற்றும் நிறுத்த சமிக்ஞைகளால் பிரிக்கப்பட்ட பிட்கள் குறைந்தபட்ச அனுப்புதல் ஆகும். அதிக ட்ராஃபிக்கில் ரிசீவர் மற்றும் டிரான்ஸ்மிட்டர் டிசின்க்ரோனைசேஷனைக் குறைக்க, டிரான்ஸ்மிஷனின் போது இரண்டு ஸ்டாப் பிட்களைச் செருக USART உங்களை அனுமதிக்கிறது. ரிசீவர் இரண்டாவது ஸ்டாப் பிட்டைப் புறக்கணித்து, அதை வரியில் ஒரு குறுகிய இடைநிறுத்தமாகக் கருதுகிறது.

USART உள்ளீடு மற்றும் வெளியீட்டின் செயலற்ற நிலை (தரவு இல்லாத நிலையில்) தர்க்கரீதியான "1" ஆகும். தொடக்க பிட் எப்போதும் தர்க்கரீதியான "0" ஆகும், எனவே USART ரிசீவர் "1" இலிருந்து "0" க்கு மாறுவதற்கு காத்திருக்கிறது மற்றும் அதிலிருந்து பிட்டின் பாதி கால இடைவெளியைக் கணக்கிடுகிறது (தொடக்க பிட் பரிமாற்றத்தின் நடுப்பகுதி) . இந்த நேரத்தில் உள்ளீடு இன்னும் “0” ஆக இருந்தால், குறைந்தபட்ச பார்சலைப் பெறுவதற்கான செயல்முறை தொடங்குகிறது. இதைச் செய்ய, ரிசீவர் ஒரு வரிசையில் 9 பிட் கால அளவைக் கணக்கிடுகிறது (8-பிட் தரவுகளுக்கு) மற்றும் ஒவ்வொரு கணத்திலும் உள்ளீட்டு நிலையை பதிவு செய்கிறது. முதல் 8 மதிப்புகள் பெறப்பட்ட தரவு, கடைசி மதிப்பு சோதனை மதிப்பு (ஸ்டாப் பிட்). நிறுத்த பிட் மதிப்பு எப்போதும் "1" ஆகும்; உண்மையான பெறப்பட்ட மதிப்பு வேறுபட்டால், USART பிழையைப் பதிவு செய்கிறது.

நேர இடைவெளிகளை உருவாக்க, அனுப்பும் மற்றும் பெறும் USARTகள் துல்லியமான நேரத்தின் (கடிகாரம்) ஆதாரத்தைக் கொண்டுள்ளன. இந்த மூலத்தின் துல்லியம், தொடக்கத் துடிப்பின் தொடக்கத்திலிருந்து நிறுத்தத் துடிப்பின் நடுப்பகுதி வரையிலான நேர இடைவெளியை அமைப்பதில் ஏற்படும் பிழைகளின் (ரிசீவர் மற்றும் டிரான்ஸ்மிட்டர்) தொகை பாதியை தாண்டாமல் இருக்க வேண்டும் (அல்லது இன்னும் சிறப்பாக, குறைந்தது ஒரு கால்) பிட் இடைவெளி. 8-பிட் செய்திக்கு 0.5/9.5 = 5% (உண்மையில் 3%க்கு மேல் இல்லை). இது ரிசீவர் மற்றும் டிரான்ஸ்மிட்டர் பிழைகள் மற்றும் வரியில் சாத்தியமான சமிக்ஞை சிதைவின் கூட்டுத்தொகை என்பதால், USART கடிகார துல்லியத்திற்கான பரிந்துரைக்கப்பட்ட சகிப்புத்தன்மை 1.5% க்கு மேல் இல்லை.

கடிகார பிட்கள் பிட்ஸ்ட்ரீமின் ஒரு பகுதியை ஆக்கிரமிப்பதால், இதன் விளைவாக வரும் UART செயல்திறன் இணைப்பு வேகத்திற்கு சமமாக இருக்காது. எடுத்துக்காட்டாக, 8-பிட் 8-N-1 வடிவ பரிமாற்றங்களுக்கு, கடிகார பிட்கள் ஸ்ட்ரீமின் 20% ஆக்கிரமித்துள்ளன, இது 115,200 பாட் வேகத்திற்கு 92,160 பிபிஎஸ் அல்லது 11,520 பைட்டுகள்/வி தரவு பிட் வீதத்தை அளிக்கிறது.

சமநிலை சரிபார்ப்பு

USART நெறிமுறையானது பிட் பாரிட்டி முறையைப் பயன்படுத்தி தரவு ஒருமைப்பாட்டைத் தானாகக் கண்காணிக்கும் திறனைக் கொண்டுள்ளது. இந்த அம்சம் இயக்கப்பட்டால், கடைசி பிட் தரவு ("பாரிட்டி பிட்") எப்போதும் 1 அல்லது 0 ஆக இருக்கும், இதனால் ஒரு பைட்டில் உள்ளவர்களின் எண்ணிக்கை எப்போதும் சமமாக இருக்கும்.

ஓட்டம் கட்டுப்பாடு

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

உடல் செயல்படுத்தல்.

USART என்பது ஒரு பரிமாற்ற நெறிமுறை, அதாவது. இது பிட் உருவாக்கும் முறை, பைட் பரிமாற்ற அளவுருக்கள், பரிமாற்ற வேகம் போன்றவற்றை தீர்மானிக்கிறது.

ஆனால் USART இன் இயற்பியல் செயலாக்கம் வேறுபட்டிருக்கலாம். எடுத்துக்காட்டாக, ஒரு பலகைக்குள் தரவை அனுப்ப, சமிக்ஞைகள் +5V மற்றும் 0V நிலைகளில் அனுப்பப்படுகின்றன. நீண்ட தூரம் மற்றும் சாதனங்களுக்கு இடையில் தரவை மாற்ற, பிற இயற்பியல் மின்னழுத்த நிலைகள் மற்றும் தரநிலைகள் பயன்படுத்தப்படுகின்றன, அவை: தற்போதைய லூப் (4-20 mA), RS-232 (COM போர்ட்), RS-485 மற்றும் போன்றவை.

0-5V இன் "கண்ட்ரோலர்" நிலைகளை "நிலையான" நிலைகளாக மாற்ற, ஏராளமான சிறப்பு மைக்ரோ சர்க்யூட்கள் உள்ளன, எடுத்துக்காட்டாக RS-232 க்கான ADM202.

தொடர் இடைமுகம் SPI

SPI என்ற பெயர் "சீரியல் பெரிஃபெரல் பஸ்" என்பதன் சுருக்கமாகும், இது அதன் நோக்கத்தை பிரதிபலிக்கிறது - வெளிப்புற சாதனங்களை இணைப்பதற்கான பஸ். SPI பஸ் மாஸ்டர்-ஸ்லேவ் கொள்கையின்படி ஒழுங்கமைக்கப்பட்டுள்ளது. பஸ் மாஸ்டர் பொதுவாக ஒரு மைக்ரோகண்ட்ரோலர், ஆனால் அது நிரல்படுத்தக்கூடிய தர்க்கம், ஒரு DSP கட்டுப்படுத்தி அல்லது ASIC ஆகவும் இருக்கலாம். எஜமானருடன் இணைக்கப்பட்ட சாதனங்கள் அடிமைகள். அவற்றின் பங்கு பல்வேறு வகையான மைக்ரோ சர்க்யூட்களால் செய்யப்படுகிறது. சேமிப்பக சாதனங்கள் (EEPROM, Flash memory, SRAM), நிகழ் நேரக் கடிகாரம் (RTC), ADC/DAC, டிஜிட்டல் பொட்டென்டோமீட்டர்கள், சிறப்புக் கட்டுப்படுத்திகள் போன்றவை.

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

இணைப்பு.

SPI பஸ்ஸுக்கு மூன்று வகையான இணைப்புகள் உள்ளன, ஒவ்வொன்றும் நான்கு சமிக்ஞைகளை உள்ளடக்கியது. SPI சமிக்ஞைகளின் நோக்கம் அட்டவணை 7.1 இல் விவரிக்கப்பட்டுள்ளது.

இரண்டு மைக்ரோ சர்க்யூட்களை மட்டுமே உள்ளடக்கிய எளிய இணைப்பு படம் 7.2 இல் காட்டப்பட்டுள்ளது. இங்கே, பஸ் மாஸ்டர் MOSI வரியில் தரவை SCLK சிக்னலுடன் ஒத்திசைவாக அனுப்புகிறார், மேலும் பெறப்பட்ட ஒத்திசைவு சமிக்ஞையின் சில விளிம்புகளில் அனுப்பப்பட்ட தரவு பிட்களை அடிமை கைப்பற்றுகிறார். அதே நேரத்தில், அடிமை அதன் தரவு தொகுப்பை அனுப்புகிறது. பயன்படுத்தப்படும் ஸ்லேவ் ஐசி பதில் தரவு பரிமாற்றத்திற்கு வழங்கவில்லை அல்லது அதற்கான தேவை இல்லை என்றால், வழங்கப்பட்ட சுற்று MISO வரியை நீக்குவதன் மூலம் எளிமைப்படுத்தப்படலாம். DACகள், டிஜிட்டல் பொட்டென்டோமீட்டர்கள், நிரல்படுத்தக்கூடிய பெருக்கிகள் மற்றும் இயக்கிகள் போன்ற சில்லுகளில் ஒரு வழி தரவு பரிமாற்றத்தைக் காணலாம். எனவே, ஸ்லேவ் ஐசியை இணைப்பதற்கான பரிசீலிக்கப்பட்ட விருப்பத்திற்கு 3 அல்லது 4 தொடர்பு கோடுகள் தேவை.

ஸ்லேவ் IC தரவைப் பெறுவதற்கும் அனுப்புவதற்கும், கடிகார சமிக்ஞையுடன் கூடுதலாக, SS வரியும் குறைவாக இயக்கப்பட வேண்டும். இல்லையெனில், அடிமை ஐசி செயலற்றதாக இருக்கும். ஒரே ஒரு வெளிப்புற IC பயன்படுத்தப்படும் போது, ​​ஸ்லேவ் IC இன் தேர்ந்தெடுக்கப்பட்ட உள்ளீட்டை கடினமாகக் குறைவாக இயக்குவதன் மூலம் SS வரியை அகற்ற இது தூண்டுதலாக இருக்கலாம். இந்த தீர்வு மிகவும் விரும்பத்தகாதது மற்றும் தோல்விகளுக்கு வழிவகுக்கும் அல்லது தரவு பரிமாற்றம் சாத்தியமற்றது, ஏனெனில் சிப் தேர்ந்தெடுக்கப்பட்ட உள்ளீடு IC ஐ அதன் ஆரம்ப நிலைக்கு மீட்டமைக்க உதவுகிறது மற்றும் சில நேரங்களில் தரவுகளின் முதல் பிட் வெளியீட்டைத் தொடங்குகிறது.

SPI பஸ்ஸுடன் பல மைக்ரோ சர்க்யூட்களை இணைக்க வேண்டியது அவசியமானால், ஒரு சுயாதீனமான (இணை) இணைப்பு பயன்படுத்தப்படுகிறது (படம். 7.3) அல்லது ஒரு அடுக்கு (தொடர்) இணைப்பு (படம் 7.4). சுயாதீன இணைப்பு மிகவும் பொதுவானது, ஏனெனில் SPI-இணக்கமான சில்லுகளைப் பயன்படுத்தும் போது அடையப்பட்டது. இங்கே, மைக்ரோ சர்க்யூட்களைத் தேர்ந்தெடுப்பதைத் தவிர, அனைத்து சமிக்ஞைகளும் இணையாக இணைக்கப்பட்டுள்ளன, மேலும் பஸ் மாஸ்டர், ஒன்று அல்லது மற்றொரு எஸ்எஸ் சிக்னலை குறைந்த நிலைக்கு மாற்றுவதன் மூலம், எந்த அடிமை ஐசியுடன் தரவைப் பரிமாறிக்கொள்ளும் என்பதைக் குறிப்பிடுகிறது. இந்த இணைப்பின் முக்கிய குறைபாடு அடிமை சில்லுகளை நிவர்த்தி செய்வதற்கான கூடுதல் வரிகளின் தேவையாகும் (தொடர்பு வரிகளின் மொத்த எண்ணிக்கை 3+n, இங்கு n என்பது அடிமை சில்லுகளின் எண்ணிக்கை).

போதுமான மைக்ரோகண்ட்ரோலர் கால்கள் இல்லை என்றால், நீங்கள் ஒரு demultiplexer சிப்பைப் பயன்படுத்தலாம். டிமல்டிபிளெக்சர் ஒரு உள்ளீட்டு சிக்னலை அவுட்புட் சிக்னல்களில் ஒன்றிற்கு இணைக்கிறது, இது கட்டுப்பாட்டு பின்களில் உள்ள குறியீட்டைப் பொறுத்து. படம் 7.4 டெமல்டிபிளெக்சருக்கான இணைப்பு வரைபடத்தைக் காட்டுகிறது. SS சமிக்ஞை அதன் உள்ளீட்டிற்கு வழங்கப்படுகிறது, இது மைக்ரோ சர்க்யூட்களில் ஒன்றைத் தேர்ந்தெடுக்க வேண்டிய அவசியமானால், 0 க்கு சமமான மதிப்பை எடுக்கும். பைனரி குறியீட்டில் தேவையான மைக்ரோ சர்க்யூட்டின் எண்ணிக்கை Am-A0 கால்களுக்கு வழங்கப்படுகிறது. மைக்ரோகண்ட்ரோலரில் பயன்படுத்தப்படும் கால்களின் எண்ணிக்கையை m=log 2 n ஆகக் குறைக்க இது உங்களை அனுமதிக்கிறது. n என்பது ஸ்லேவ் சில்லுகளின் எண்ணிக்கை. அந்த. 128 சாதனங்களை இணைக்க, 8 மைக்ரோகண்ட்ரோலர் பின்கள் தேவை. செயல்படுத்தும் சிக்னலை அமைப்பதற்கு ஒன்று மற்றும் இயக்கப்பட வேண்டிய சிப்பின் எண்ணை அமைப்பதற்கு 7. டெமல்டிபிளெக்சரின் இணைக்கப்படாத கால்களில் ஒரு தர்க்கரீதியான ஒன்று இருக்க வேண்டும் என்பதை கவனத்தில் கொள்ள வேண்டும். இல்லையெனில், ஒரு சமிக்ஞை இன்வெர்ட்டர் பயன்படுத்தப்படுகிறது, இது ஒரு தருக்க பூஜ்ஜியத்தை தர்க்கரீதியான ஒன்றாக மாற்றுகிறது.

கேஸ்கேட் மாறுதல் இந்த குறைபாட்டிலிருந்து இலவசம், ஏனெனில் இங்கே, பல சில்லுகள் ஒரு பெரிய ஷிப்ட் பதிவேட்டை உருவாக்குகின்றன. இதைச் செய்ய, படம் 3 இல் காட்டப்பட்டுள்ளபடி, ஒரு ஐசியின் டிரான்ஸ்மிட் தரவு வெளியீடு மற்றொன்றின் தரவு பெறும் உள்ளீட்டுடன் இணைக்கப்பட்டுள்ளது. இங்குள்ள சிப் தேர்ந்தெடுக்கப்பட்ட உள்ளீடுகள் இணையாக இணைக்கப்பட்டுள்ளன, இதனால், மொத்த தகவல் தொடர்பு கோடுகளின் எண்ணிக்கை சமமாக வைக்கப்படுகிறது. 4. இருப்பினும், பயன்படுத்தப்படும் சில்லுகளுக்கான ஆவணத்தில் அதன் ஆதரவு குறிப்பிடப்பட்டிருந்தால் மட்டுமே அடுக்கை இணைப்பின் பயன்பாடு சாத்தியமாகும். கண்டுபிடிக்க, அத்தகைய இணைப்பு ஆங்கிலத்தில் "daisy-chaining" என்று அழைக்கப்படுகிறது என்பதை அறிந்து கொள்வது அவசியம்.

பரிமாற்ற நெறிமுறை

SPI இடைமுகத்தின் மீதான பரிமாற்ற நெறிமுறையானது ஷிப்ட் பதிவேட்டின் (படம் 7.6) தர்க்கத்திற்கு ஒத்ததாக உள்ளது, இது ஒரு ஷிப்ட் செயல்பாட்டைச் செய்கிறது மற்றும் அதன்படி, ஒத்திசைவு சமிக்ஞையின் சில விளிம்புகளில் பிட் உள்ளீடு மற்றும் தரவு வெளியீடு ஆகியவற்றைக் கொண்டுள்ளது. பரிமாற்றத்தின் போது தரவு அமைப்பு மற்றும் வரவேற்பின் போது மாதிரிகள் எப்போதும் எதிர் கடிகார விளிம்புகளில் செய்யப்படுகின்றன. தரவு நம்பகத்தன்மையுடன் நிறுவப்பட்டவுடன் மாதிரி எடுக்கப்படுவதை உறுதிசெய்ய இது அவசியம். பரிமாற்ற சுழற்சியின் முதல் விளிம்பு உயரும் அல்லது வீழ்ச்சியுறும் விளிம்பாக இருக்கலாம் என்பதை நாம் கணக்கில் எடுத்துக் கொண்டால், SPI இடைமுகத்தின் செயல்பாட்டிற்கு நான்கு சாத்தியமான தர்க்க விருப்பங்கள் உள்ளன. இந்த விருப்பங்கள் SPI முறைகள் என்று அழைக்கப்படுகின்றன மற்றும் இரண்டு அளவுருக்கள் மூலம் விவரிக்கப்படுகின்றன:

· CPOL - ஒத்திசைவு சமிக்ஞையின் ஆரம்ப நிலை (CPOL=0 எனில், பரிமாற்ற சுழற்சியின் தொடக்கத்திற்கு முன்பும் அதன் முடிவிற்குப் பிறகும் ஒத்திசைவுக் கோடு குறைந்த மட்டத்தைக் கொண்டுள்ளது (அதாவது முதல் விளிம்பு உயரும், மற்றும் கடைசியானது வீழ்ச்சியடைகிறது), இல்லையெனில், CPOL=1, - உயர்வாக இருந்தால் (அதாவது முதல் முன் பகுதி வீழ்ச்சியடைந்து, கடைசியாக உயர்ந்து வருகிறது));

· CPHA - ஒத்திசைவு கட்டம்; இந்த அளவுரு தரவு நிறுவப்பட்ட மற்றும் மீட்டெடுக்கப்படும் வரிசையை தீர்மானிக்கிறது. CPHA=0 எனில், கடிகாரச் சுழற்சியின் எழுச்சி முனையில் தரவு மாதிரிப்படுத்தப்படும், பின்னர் வீழ்ச்சி விளிம்பில் தரவு அமைக்கப்படும். CPHA=1 எனில், தரவு நிறுவல் ஒத்திசைவு சுழற்சியில் உயரும் விளிம்பில் நிகழ்த்தப்படும், மற்றும் மாதிரியானது வீழ்ச்சி விளிம்பில் நிகழ்த்தப்படும்.

SPI முறைகள் பற்றிய தகவல்கள் 7.7 மற்றும் 7.8 இல் காட்டப்பட்டுள்ளன.

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

RS-485 இடைமுகம்

RS-485 இடைமுகம் (மற்றொரு பெயர் EIA/TIA-485) மிகவும் பொதுவான உடல் தொடர்பு அடுக்கு தரநிலைகளில் ஒன்றாகும். இயற்பியல் அடுக்கு என்பது ஒரு தொடர்பு சேனல் மற்றும் ஒரு சமிக்ஞை பரிமாற்ற முறை (ஓஎஸ்ஐ திறந்த அமைப்புகள் இன்டர்கனெக்ஷன் மாதிரியின் அடுக்கு 1).

RS-485 இடைமுகத்தில் கட்டப்பட்ட பிணையமானது முறுக்கப்பட்ட ஜோடியைப் பயன்படுத்தி இணைக்கப்பட்ட டிரான்ஸ்ஸீவர்களைக் கொண்டுள்ளது - இரண்டு முறுக்கப்பட்ட கம்பிகள். RS-485 இடைமுகம் வேறுபட்ட (சமநிலை) தரவு பரிமாற்றத்தின் கொள்கையை அடிப்படையாகக் கொண்டது. அதன் சாராம்சம் இரண்டு கம்பிகளில் ஒரு சமிக்ஞையை கடத்துவதாகும். மேலும், ஒரு கம்பி (நிபந்தனையுடன் ஏ) அசல் சிக்னலைக் கொண்டுள்ளது, மற்றொன்று (நிபந்தனையுடன் பி) அதன் தலைகீழ் நகலைக் கொண்டுள்ளது. வேறு வார்த்தைகளில் கூறுவதானால், ஒரு கம்பியில் "1" இருந்தால், மறுபுறம் "0" மற்றும் நேர்மாறாகவும். இவ்வாறு, ஒரு முறுக்கப்பட்ட ஜோடியின் இரண்டு கம்பிகளுக்கு இடையே எப்போதும் சாத்தியமான வேறுபாடு உள்ளது: "1" இல் அது நேர்மறை, "0" இல் எதிர்மறையானது (படம் 7.9).

இந்த சாத்தியமான வேறுபாடுதான் சமிக்ஞையை கடத்துகிறது. இந்த பரிமாற்ற முறை பொதுவான முறை குறுக்கீட்டிற்கு அதிக நோய் எதிர்ப்பு சக்தியை வழங்குகிறது. பொதுவான முறை குறுக்கீடு என்பது கோட்டின் இரு கம்பிகளையும் சமமாக பாதிக்கும் குறுக்கீடு ஆகும். எடுத்துக்காட்டாக, ஒரு தகவல்தொடர்பு கோட்டின் ஒரு பகுதி வழியாக செல்லும் மின்காந்த அலை இரண்டு கம்பிகளிலும் திறனைத் தூண்டுகிறது. RS-232 இல் உள்ளதைப் போல, பொதுவான ஒரு கம்பியில் சாத்தியக்கூறு மூலம் சமிக்ஞை அனுப்பப்பட்டால், இந்த கம்பியில் குறுக்கீடு குறுக்கீட்டை நன்கு உறிஞ்சும் பொதுவான (தரையில்) தொடர்புடைய சமிக்ஞையை சிதைக்கும். கூடுதலாக, ஒரு நீண்ட பொதுவான கம்பியின் எதிர்ப்பின் குறுக்கே தரை சாத்தியமான வேறுபாடு குறையும் - சிதைவின் கூடுதல் ஆதாரம். மற்றும் வேறுபட்ட பரிமாற்றத்துடன், விலகல் ஏற்படாது. உண்மையில், இரண்டு கம்பிகள் ஒன்றுக்கொன்று நெருக்கமாக அமைந்து, பின்னிப் பிணைந்திருந்தால், இரண்டு கம்பிகளிலும் பிக்கப் ஒன்றுதான். சமமாக ஏற்றப்பட்ட இரண்டு கம்பிகளிலும் உள்ள ஆற்றல் சமமாக மாறுகிறது, அதே சமயம் தகவல் திறன் வேறுபாடு மாறாமல் இருக்கும்.

RS485 இடைமுகத்தின் வன்பொருள் செயல்படுத்தல்.

இடைமுகத்தின் வன்பொருள் செயலாக்கம் - வேறுபட்ட உள்ளீடுகள்/வெளியீடுகள் (வரிக்கு) மற்றும் டிஜிட்டல் போர்ட்கள் (கண்ட்ரோலரின் UART போர்ட்களுக்கு) டிரான்ஸ்ஸீவர் சில்லுகள். இந்த இடைமுகத்திற்கு இரண்டு விருப்பங்கள் உள்ளன: RS-422 மற்றும் RS-485.

RS-422 ஒரு முழு இரட்டை இடைமுகம். இரண்டு தனித்தனி ஜோடி கம்பிகளில் வரவேற்பு மற்றும் பரிமாற்றம் நிகழ்கிறது. ஒவ்வொரு ஜோடி கம்பிகளிலும் ஒரு டிரான்ஸ்மிட்டர் மட்டுமே இருக்க முடியும்.

RS-485 என்பது அரை இரட்டை இடைமுகம். நேரம் பிரிப்புடன் ஒரு ஜோடி கம்பிகளில் வரவேற்பு மற்றும் பரிமாற்றம் நிகழ்கிறது. நெட்வொர்க்கில் பல டிரான்ஸ்மிட்டர்கள் இருக்கலாம், ஏனெனில் அவை பெறும் பயன்முறையில் அணைக்கப்படலாம் (படம் 7.10).

படம் 7.10 இல் உள்ள சின்னங்களின் விளக்கம்

டி (டிரைவர்) - டிரான்ஸ்மிட்டர்;
ஆர் (ரிசீவர்) - பெறுபவர்;
DI (இயக்கி உள்ளீடு) - டிரான்ஸ்மிட்டரின் டிஜிட்டல் உள்ளீடு;
RO (ரிசீவர் வெளியீடு) - பெறுநரின் டிஜிட்டல் வெளியீடு;
DE (இயக்கி இயக்கி) - டிரான்ஸ்மிட்டரை இயக்க அனுமதி;
RE (ரிசீவர் இயக்கு) - ரிசீவரை இயக்க அனுமதி;
A - நேரடி வேறுபாடு உள்ளீடு/வெளியீடு;
பி - தலைகீழ் வேறுபாடு உள்ளீடு/வெளியீடு;
Y - நேரடி வேறுபாடு வெளியீடு (RS-422);
Z - தலைகீழ் வேறுபாடு வெளியீடு (RS-422).

RS-485 டிரான்ஸ்ஸீவரை இன்னும் விரிவாகப் பார்ப்போம். ரிசீவரின் (RO) டிஜிட்டல் வெளியீடு ரிசீவர் UART போர்ட்டுடன் (RX) இணைக்கப்பட்டுள்ளது. டிரான்ஸ்மிட்டர் டிஜிட்டல் உள்ளீடு (DI) முதல் UART டிரான்ஸ்மிட்டர் போர்ட் (TX). ரிசீவர் மற்றும் டிரான்ஸ்மிட்டர் வேறுபட்ட பக்கத்தில் இணைக்கப்பட்டுள்ளதால், வரவேற்பின் போது டிரான்ஸ்மிட்டர் அணைக்கப்பட வேண்டும், மேலும் பரிமாற்றத்தின் போது ரிசீவர் அணைக்கப்பட வேண்டும். இந்த நோக்கத்திற்காக, கட்டுப்பாட்டு உள்ளீடுகள் பயன்படுத்தப்படுகின்றன - ரிசீவர் அனுமதி (RE) மற்றும் டிரான்ஸ்மிட்டர் அனுமதி (DE). RE உள்ளீடு தலைகீழாக இருப்பதால், அதை DE உடன் இணைக்கலாம் மற்றும் கட்டுப்படுத்தியின் எந்த போர்ட்டில் இருந்தும் ஒரு சமிக்ஞை மூலம் ரிசீவர் மற்றும் டிரான்ஸ்மிட்டரை மாற்றலாம். நிலை "0" இல் - வரவேற்புக்கான வேலை, "1" இல் - பரிமாற்றத்திற்காக (படம் 7.11).

ரிசீவர், வேறுபட்ட உள்ளீடுகளில் (AB) சாத்தியமான வேறுபாட்டை (UAB) பெறுகிறது, வெளியீடு RO இல் அவற்றை டிஜிட்டல் சிக்னலாக மாற்றுகிறது. ரிசீவரின் உணர்திறன் வேறுபட்டிருக்கலாம், ஆனால் டிரான்ஸ்ஸீவர் சில்லுகளின் உற்பத்தியாளர்கள் சிக்னல் அங்கீகாரத்திற்கான உத்தரவாத வரம்பை ஆவணத்தில் எழுதுகிறார்கள். பொதுவாக இந்த வரம்புகள் ±200 mV ஆகும். அதாவது, UAB > +200 mV போது - UAB போது "1" என்பதை ரிசீவர் கண்டறியும்< -200 мВ - приемник определяет "0". Если разность потенциалов в линии настолько мала, что не выходит за пороговые значения - правильное распознавание сигнала не гарантируется. Кроме того, в линии могут быть и не синфазные помехи, которые исказят столь слабый сигнал.

எல்லா சாதனங்களும் ஒரு முறுக்கப்பட்ட ஜோடி கேபிளுடன் ஒரே மாதிரியாக இணைக்கப்பட்டுள்ளன: நேரடி வெளியீடுகள் (A) ஒரு கம்பிக்கு, தலைகீழ் வெளியீடுகள் (B) மற்றொன்றுக்கு.

லைன் சைட் (RAB) ரிசீவர் உள்ளீடு மின்மறுப்பு பொதுவாக 12KΩ ஆகும். டிரான்ஸ்மிட்டர் சக்தி வரம்பற்றதாக இல்லை என்பதால், இது வரியுடன் இணைக்கப்பட்ட பெறுநர்களின் எண்ணிக்கையில் வரம்பை உருவாக்குகிறது. ஆர்எஸ்-485 விவரக்குறிப்பின்படி, டெர்மினேட்டிங் ரெசிஸ்டர்களை கணக்கில் எடுத்துக்கொண்டால், டிரான்ஸ்மிட்டர் 32 ரிசீவர்களை இயக்க முடியும். இருப்பினும், அதிகரித்த உள்ளீட்டு மின்மறுப்புடன் பல மைக்ரோ சர்க்யூட்கள் உள்ளன, இது 32 க்கும் மேற்பட்ட சாதனங்களை வரியுடன் இணைக்க உங்களை அனுமதிக்கிறது.

RS-485 விவரக்குறிப்பின்படி அதிகபட்ச தகவல்தொடர்பு வேகம் 10 Mbaud/sec ஐ எட்டும். அதிகபட்ச தூரம் 1200 மீட்டர். 1200 மீட்டருக்கும் அதிகமான தொலைவில் தகவல்தொடர்புகளை ஒழுங்கமைக்க அல்லது டிரான்ஸ்மிட்டரின் சுமை திறனை விட அதிகமான சாதனங்களை இணைக்க வேண்டியது அவசியம் என்றால், சிறப்பு ரிப்பீட்டர்கள் பயன்படுத்தப்படுகின்றன.

I2C இடைமுகம்.

இந்த இடைமுகம் பிலிப்ஸால் முன்மொழியப்பட்டது, இது அதன் தொலைக்காட்சிகளில் சில்லுகளுக்கு இடையில் தகவல்தொடர்புகளை ஒழுங்கமைக்க பயன்படுத்தியது. I 2 C (Inter-Integrated Circuit என்பதன் சுருக்கம்) என்பது இருதரப்பு ஒத்திசைவற்ற தொடர் பேருந்து ஆகும். இயற்பியல் ரீதியாக, I 2 C பேருந்து இரண்டு சமிக்ஞைக் கோடுகளைக் கொண்டுள்ளது, அவற்றில் ஒன்று (SCL) ஒரு கடிகார சமிக்ஞையை கடத்துவதற்கும், இரண்டாவது (SDA) தரவு பரிமாற்றத்திற்கானது. கோடுகளை கட்டுப்படுத்த, திறந்த சேகரிப்பாளருடன் வெளியீட்டு நிலைகள் பயன்படுத்தப்படுகின்றன, எனவே பஸ் கோடுகள் 1...10 kOhm மின்தடையத்துடன் மின்தடையங்கள் மூலம் +5 V சக்தி மூலத்துடன் இணைக்கப்பட வேண்டும், இது வரிகளின் உடல் நீளத்தைப் பொறுத்து மற்றும் தரவு பரிமாற்ற வீதம். நிலையான பயன்முறையில் இணைக்கும் வரிகளின் நீளம் 2 மீட்டரை எட்டும், தரவு பரிமாற்ற வீதம் 100 கிபிட்/வி ஆகும்.

அனைத்து பஸ் சந்தாதாரர்களும் இரண்டு வகுப்புகளாக பிரிக்கப்பட்டுள்ளனர் - "தலைவர்" மற்றும் "அடிமை". முதன்மை சாதனம் ஒரு கடிகார சமிக்ஞையை (SCL) உருவாக்குகிறது. இது சுயாதீனமாக பஸ்ஸை அணுகலாம் மற்றும் தகவல்களை அனுப்பும் அல்லது பெறுவதற்கான நோக்கத்திற்காக எந்த அடிமை சாதனத்தையும் அணுகலாம். அனைத்து அடிமை சாதனங்களும் தங்கள் சொந்த முகவரியைக் கண்டறிய பேருந்தை "கேட்க" மற்றும் அதை அங்கீகரித்து, பரிந்துரைக்கப்பட்ட செயல்பாட்டைச் செய்கின்றன. கூடுதலாக, "மல்டிமாஸ்டர்" பயன்முறை என அழைக்கப்படுவது சாத்தியமாகும், பல முதன்மை சாதனங்கள் பேருந்தில் நிறுவப்பட்டிருக்கும் போது, ​​அவை பொதுவான அடிமை சாதனங்களை கூட்டாகப் பகிர்ந்து கொள்கின்றன, அல்லது தகவல் பரிமாற்றத்தைத் தொடங்கும் போது அல்லது அடிமைகளாக மாறி மாறி செயல்படுகின்றன. அவர்கள் மற்றொரு முதன்மை சாதனத்திலிருந்து அணுகலுக்காக காத்திருக்கிறார்கள். "மல்டிமாஸ்டர்" பயன்முறைக்கு நிலையான கண்காணிப்பு மற்றும் மோதல்களை அங்கீகரிப்பது தேவைப்படுகிறது. இது சம்பந்தமாக, இந்த பயன்முறையை செயல்படுத்துவது மிகவும் கடினம் (மென்பொருள் செயல்படுத்தல் என்று பொருள்) மற்றும், இதன் விளைவாக, உண்மையான தயாரிப்புகளில் குறைவாகவே பயன்படுத்தப்படுகிறது.

நேரத்தின் ஆரம்ப தருணத்தில் - காத்திருப்பு பயன்முறையில் - SCL மற்றும் SDA ஆகிய இரண்டு வரிகளும் தர்க்கரீதியான ஒரு நிலையில் உள்ளன (திறந்த சேகரிப்பான் வெளியீட்டு நிலையின் டிரான்சிஸ்டர் மூடப்பட்டுள்ளது). டிரான்ஸ்மிட் பயன்முறையில் (படம் 7.12), SDA தரவு பிட் SCL இன் உயரும் விளிம்பால் க்ளாக் செய்யப்படுகிறது. SCL வரி பூஜ்ஜிய நிலையில் இருக்கும்போது SDA வரியில் உள்ள தகவல் மாற்றப்படும். ஸ்லேவ் சாதனம் SCL வரியை பூஜ்ஜிய நிலையில் "பிடிக்க" முடியும், எடுத்துக்காட்டாக, அடுத்த பெறப்பட்ட பைட்டை செயலாக்கும் போது, ​​முதன்மை சாதனம் தகவலை அனுப்புவதற்கு முன் SCL வரி விடுவிக்கப்படும் வரை காத்திருக்க வேண்டும்.

I 2 C பஸ் பாக்கெட்டுகளை ஒத்திசைக்க, இரண்டு நிபந்தனைகள் வேறுபடுகின்றன - "START" மற்றும் "STOP", தகவல் பாக்கெட்டின் தொடக்கத்தையும் முடிவையும் கட்டுப்படுத்துகிறது (படம் 7.13). இந்த நிபந்தனைகளை குறியாக்க, SCL வரியின் ஒற்றை நிலையுடன் SDA வரியின் நிலையில் மாற்றம் பயன்படுத்தப்படுகிறது, இது தரவை அனுப்பும் போது ஏற்றுக்கொள்ள முடியாதது. SDA வரியில் ஒரு இறங்கு விளிம்பு தோன்றும் போது "START" நிலை உருவாகிறது, SCL கோடு ஒற்றை நிலையில் இருக்கும் போது, ​​மற்றும் நேர்மாறாக, SCL போது SDA வரியில் உயரும் விளிம்பு தோன்றும் போது "STOP" நிலை உருவாகிறது. வரி ஒரே நிலையில் உள்ளது.

SCL வரிசையில் முதல் உயரும் விளிம்பில் தரவு பரிமாற்றம் தொடங்குகிறது, இது முதல் தகவல் பைட்டின் மிக முக்கியமான பிட்டைக் குறிக்கிறது. ஒவ்வொரு தகவல் பைட்டிலும் (8 பிட்கள்) SCL வரியின் 9 கடிகார காலங்கள் உள்ளன. ஒன்பதாவது சுழற்சியில், பெறும் சாதனம் ஒரு ஒப்புகையை (ACK) வெளியிடுகிறது - இது தரவின் வரவேற்பைக் குறிக்கும் வீழ்ச்சியின் விளிம்பு. எந்தவொரு பஸ் சந்தாதாரரும், மாஸ்டர் மற்றும் ஸ்லேவ், வெவ்வேறு நேரங்களில் டிரான்ஸ்மிட்டராகவும் ரிசீவராகவும் இருக்க முடியும் என்பதையும், பயன்முறைக்கு ஏற்ப, ACK சிக்னலைப் பெறுவது அல்லது வெளியிடுவது அவசியம், அது இல்லாதது விளக்கப்படுகிறது. ஒரு பிழையாக.

தரவு பரிமாற்ற செயல்பாட்டைத் தொடங்க, முதன்மை சாதனம் பேருந்தில் "START" நிபந்தனையை வழங்குகிறது. “START” நிபந்தனையைத் தொடர்ந்து ஸ்லேவ் சாதனத்தின் முகவரியுடன் ஒரு பைட் உள்ளது (படம் 7.14), ஏழு பிட் சாதன முகவரி (பிட்கள் 1...7) மற்றும் ஒரு பிட் ரீட்-ரைட் செயல்பாட்டுக் கொடி - “ R/W” (பிட் 0). R/W பிட் பரிமாற்றத்தின் திசையை தீர்மானிக்கிறது, 0 என்பது எஜமானரிடமிருந்து அடிமைக்கு தரவு பரிமாற்றம் (படம் 7.14a), மற்றும் 1 அர்த்தம் அடிமையிலிருந்து வாசிப்பு (படம் 7.14b). I 2 C பேருந்தில் உள்ள அனைத்து பிட்களும் உயர்விலிருந்து தாழ்வாக அனுப்பப்படுகின்றன, அதாவது 7வது பிட் முதலில், 0வது கடைசியாக அனுப்பப்படுகிறது. முகவரியைத் தொடர்ந்து ஒன்று அல்லது அதற்கு மேற்பட்ட தகவல் பைட்டுகள் (R/W கொடியால் குறிப்பிடப்பட்ட திசையில்), SCL பேருந்தில் மாஸ்டரால் க்ளாக் செய்யப்படும் பிட்கள்.

வாசிப்புச் செயல்பாட்டைச் செய்யும்போது, ​​அடுத்த பைட்டைப் படிக்க வேண்டுமென்றால், ஹோஸ்ட் பைட்டைப் படிக்க வேண்டும், மேலும் அது பாக்கெட்டைப் படித்து முடிக்கப் போகிறது என்றால் ACK ஐ வெளியிடக்கூடாது (படம் 7.14b ஐப் பார்க்கவும்).

ஸ்லேவ் சாதனத்தின் முகவரியை ஒரு பரிமாற்ற சுழற்சியில் பல முறை மீண்டும் தொடங்க அனுமதிக்கப்படுகிறது, அதாவது, முந்தைய "ஸ்டாப்" நிபந்தனை இல்லாமல் மீண்டும் மீண்டும் "START" நிலையை அனுப்புகிறது (படம் 7.14c).

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

1-வயர் பேருந்து தகவல் தொடர்பு மற்றும் சக்திக்கு ஒரு நடத்துனரை மட்டுமே பயன்படுத்துகிறது. தகவல்தொடர்பு பயன்முறை ஒத்திசைவற்றது மற்றும் அரை-இரட்டையானது, இது மாஸ்டர்-ஸ்லேவ் முறையை கண்டிப்பாக பின்பற்றுகிறது. ஒன்று அல்லது அதற்கு மேற்பட்ட அடிமை சாதனங்களை ஒரே நேரத்தில் ஒரே பேருந்தில் இணைக்க முடியும். ஒரு பேருந்தில் ஒரு முதன்மை சாதனத்தை மட்டுமே இணைக்க முடியும்.

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

1-வயர் பேருந்தின் வழியாக சிக்னல் பரிமாற்றம் 60 µs கால நேர இடைவெளிகளாக பிரிக்கப்பட்டுள்ளது. ஒரு நேர இடைவெளியில் ஒரு பிட் தரவு மட்டுமே அனுப்பப்படுகிறது. ஸ்லேவ் சாதனங்கள் மதிப்பிடப்பட்ட நேர தாமதங்களிலிருந்து குறிப்பிடத்தக்க வேறுபாடுகளைக் கொண்டிருக்க அனுமதிக்கப்படுகின்றன. இருப்பினும், வெவ்வேறு நேரத் தளங்களைக் கொண்ட துணை அதிகாரிகளுடன் சரியான தகவல்தொடர்புகளை உறுதிசெய்ய, தலைவரால் இதற்கு மிகவும் துல்லியமான நேரம் தேவைப்படுகிறது.

அடிப்படை பஸ் சிக்னல்கள்.

மாஸ்டர் ஒவ்வொரு தகவல்தொடர்பையும் பிட் மட்டத்தில் தொடங்குகிறார். இதன் பொருள், திசையைப் பொருட்படுத்தாமல் ஒவ்வொரு பிட்டின் பரிமாற்றமும் மாஸ்டரால் தொடங்கப்பட வேண்டும். பஸ்ஸை குறைவாக அமைப்பதன் மூலம் இது அடையப்படுகிறது, இது மற்ற எல்லா சாதனங்களின் தர்க்கத்தையும் ஒத்திசைக்கிறது. 1-வயர் பஸ் வழியாக தொடர்பு கொள்ள 5 முக்கிய கட்டளைகள் உள்ளன: “பதிவு எழுது. 1", "பதிவு எழுது. 0", "படிக்க", "மீட்டமை" மற்றும் "இருப்பு".

சிக்னல் “பதிவு எழுது. 1"

சிக்னல் “பதிவு எழுது. 1" படத்தில் காட்டப்பட்டுள்ளது. 7.15 மாஸ்டர் குறைந்த அளவை 1...15 µsக்கு அமைக்கிறார். இதற்குப் பிறகு, அது மீதமுள்ள நேர இடைவெளியில் பேருந்தை விடுவிக்கிறது.

அரிசி. 7.15 - சிக்னல் "பதிவு எழுது. 1"

சிக்னல் “பதிவு எழுது. 0"

சிக்னல் “பதிவு எழுது. 0" படம் 7.16 இல் காட்டப்பட்டுள்ளது. மாஸ்டர் குறைந்தபட்சம் 60 µsக்கு குறைந்த அளவை உருவாக்குகிறார், ஆனால் 120 µsக்கு மேல் இல்லை.

படம் 7.16 - சிக்னல் "பதிவு எழுது. 0"

சிக்னலைப் படிக்கவும்

"படிக்க" சமிக்ஞை படம் காட்டப்பட்டுள்ளது. 7.17. மாஸ்டர் குறைந்த அளவை 1...15 µsக்கு அமைக்கிறார். ஒரு பதிவை அனுப்ப விரும்பினால், அடிமை பஸ்ஸை கீழே வைத்திருக்கிறார். 0. பதிவை மாற்றுவது அவசியமானால். 1, பின்னர் அது வெறுமனே வரியை வெளியிடுகிறது. பேருந்து தாழ்வாகச் செல்லும் 15 µவிகளுக்குள் பேருந்து ஸ்கேன் செய்யப்பட வேண்டும். மாஸ்டரின் பக்கத்திலிருந்து பார்க்கும்போது, ​​​​“படிக்க” சமிக்ஞை, சாராம்சத்தில், “பதிவு எழுது” சமிக்ஞையாகும். 1". அடிமையின் உண்மையான உள் நிலை "பதிவு பதிவு" சமிக்ஞையால் தீர்மானிக்கப்படும். 1" அல்லது "படித்தல்".

படம் 7.17 - "படிக்க" சமிக்ஞை

மீட்டமை/இருப்பு சமிக்ஞை

"மீட்டமை" மற்றும் "இருப்பு" சமிக்ஞைகள் படம் 7.18 இல் காட்டப்பட்டுள்ளன. துடிப்பு நேர இடைவெளிகள் வேறுபட்டவை என்பதை நினைவில் கொள்க. மாஸ்டர் 8 நேர இடைவெளிகளுக்கு (480 µs) தாழ்வாக இழுத்து, பின்னர் பேருந்தை விடுவிக்கிறார். குறைந்த நிலையின் இந்த நீண்ட காலம் "மீட்டமை" சமிக்ஞை என்று அழைக்கப்படுகிறது.

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

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

யூ.எஸ்.பி தரநிலையானது நெட்வொர்க்கில் ஒரே ஒரு மாஸ்டர் (ஹோஸ்ட்) சாதனம் இருப்பதைக் குறிக்கிறது. மேலும், தரநிலையானது நெட்வொர்க்கில் 127 அடிமை சாதனங்கள் வரை ஆதரிக்கிறது. மாஸ்டர் மற்றும் ஸ்லேவ் சாதனங்களை வேறுபடுத்துவதற்கு, பல்வேறு வகையான இணைப்பிகள் உருவாக்கப்பட்டுள்ளன (படம் 7.19): மாஸ்டருக்கு A வகை மற்றும் அடிமைக்கு வகை B. 5V மின்னழுத்தமானது முதன்மை இணைப்பான வகை A இணைப்பியில் மட்டுமே உள்ளது என்பது ஏற்றுக்கொள்ளப்படுகிறது. மீதமுள்ள சாதனங்கள் அதிலிருந்து நேரடியாக இயக்கப்படுகின்றன.

யூ.எஸ்.பி தரநிலையானது 4 கவச கம்பிகளைப் பயன்படுத்துகிறது, அவற்றில் இரண்டு சக்தியைக் கடத்தும் (+5v & GND) (படம் 7.19 மற்றும் அட்டவணை 7.2). மற்ற இரண்டும் முறுக்கப்பட்ட ஜோடி வேறுபட்ட தரவு சமிக்ஞைகளைக் குறிக்கின்றன. குறியீட்டு முறை பயன்படுத்தப்பட்டது NRZI(Non Return to Zero Invert) மாஸ்டர் மற்றும் ஸ்லேவ் கடிகாரங்களை ஒத்திசைக்க ஒரு ஒத்திசைவு புலத்துடன் தரவு பரிமாற்றத்திற்கு.

USB 2.0 தரநிலையானது On-The-Go (OTG) தரநிலையை அறிமுகப்படுத்தியது, இது Host Negotiation Protocol ஐ அறிமுகப்படுத்தியது, இது இரண்டு USB சாதனங்கள் மாஸ்டராக யார் செயல்படுவது என்பதை ஒப்புக்கொள்ள அனுமதிக்கிறது. இது தனிப்பட்ட கணினிக்கு மொபைல் போன் போன்ற ஒற்றை புள்ளி-க்கு-புள்ளி இணைப்புகளுக்கு மட்டுமே நோக்கம் மற்றும் வரையறுக்கப்பட்டுள்ளது.

USB ஆனது மாறும் ஏற்றப்பட்ட மற்றும் இறக்கப்பட்ட இயக்கிகளுடன் "ஹாட்" (plug'n'play) இணைப்பை ஆதரிக்கிறது. பயனர் வெறுமனே சாதனத்தை செருகி, அதன் மூலம் அதை பஸ்ஸுடன் இணைக்கிறார். ஹோஸ்ட் இணைப்பைக் கண்டறிந்து, புதிதாகச் செருகப்பட்ட சாதனத்தை வாக்கெடுப்பு செய்து, பொருத்தமான இயக்கியை ஏற்றுகிறது, இது திரையில் ஒரு மணிநேரக் கண்ணாடியுடன் ஏற்றப்படும் தருணத்தைக் குறிக்கிறது (USB சாதனத்திற்கான இயக்கி ஏற்கனவே கணினியில் நிறுவப்பட்டிருந்தால்). இறுதிப் பயனர் பணிநீக்கம் பற்றி கவலைப்படுவதில்லை அல்லது IRQ(குறுக்கீடுகள்) மற்றும் போர்ட் முகவரிகள் அல்லது கணினியை மறுதொடக்கம் செய்வது பற்றி (மறுதொடக்கம் தேவையில்லை). யூ.எஸ்.பி சாதனத்தைப் பயனர் செய்து முடித்ததும், அவர்கள் அதை அகற்றிவிடுவார்கள் (அல்லது கேபிளைத் துண்டிக்கவும்), ஹோஸ்ட் சாதனம் இல்லாததைக் கண்டறிந்து தானாகவே டிரைவரை இறக்கும்.

SB பதிப்பு 1.1 இரண்டு வேகத்தை ஆதரிக்கிறது - 12 Mbits/s வேகத்துடன் முழு வேக பயன்முறை மற்றும் 1.5 Mbits/s வேகத்தில் குறைந்த வேக பயன்முறை. 1.5 Mbits/s பயன்முறை மெதுவானது மற்றும் EMI (குறுக்கீடு) க்கு குறைவான உணர்திறன் கொண்டது, இது ஃபெரைட் மணிகளின் விலையைக் குறைக்கிறது மற்றும் கூறுகளின் தரத்திற்கான தேவைகளைக் குறைக்கிறது.

முழு-வேக பஸ் கேபிள் ஒரு முறுக்கப்பட்ட-ஜோடி கேபிள் ஆகும், இது ஒரு கேடயத்தால் பாதுகாக்கப்படுகிறது, மேலும் குறைந்த வேக செயல்பாட்டிற்கும் பயன்படுத்தப்படலாம். குறைந்தபட்ச வேகத்தில் மட்டுமே செயல்படுவதற்கான ஒரு கேபிள் (உதாரணமாக, ஒரு சுட்டியை இணைக்க) ஏதேனும் மற்றும் பாதுகாக்கப்படாததாக இருக்கலாம்.

USB 2.0 தரநிலையானது 480Mbits/s தரவு பரிமாற்ற வீதத்துடன் அதிவேக பயன்முறையை அறிமுகப்படுத்துகிறது.

தரவு பரிமாற்ற.

இடைமுகத்தின் அனைத்து தரவு பரிமாற்றங்களும் ஹோஸ்ட்டால் தொடங்கப்படும். தரவு பாக்கெட்டுகள் வடிவில் அனுப்பப்படுகிறது. USB இடைமுகம் பல வகையான பாக்கெட்டுகளைப் பயன்படுத்துகிறது:

A) அடையாள தொகுப்பு (டோக்கன் தொகுப்பு) தரவு பரிமாற்றத்தின் வகை மற்றும் திசை, சாதனத்தின் முகவரி மற்றும் இறுதிப் புள்ளியின் வரிசை எண் ஆகியவற்றை விவரிக்கிறது (CT என்பது USB சாதனத்தின் முகவரியிடக்கூடிய பகுதியாகும்); அம்ச தொகுப்புகள் பல வகைகளில் வருகின்றன: IN, வெளியே, SOF, அமைவு;

B) தரவு தொகுப்பு (தரவு தொகுப்பு) அனுப்பப்பட்ட தரவைக் கொண்டுள்ளது;

B) ஒப்புதல் தொகுப்பு (கைகுலுக்கல் பாக்கெட்) தரவு பரிமாற்றத்தின் முடிவுகளைப் புகாரளிக்கும் நோக்கம் கொண்டது; பல வகையான ஒருங்கிணைப்பு தொகுப்புகள் உள்ளன: ACK, என்.ஏ.கே., விற்பனையகம்.

USB வழியாக தரவு பரிமாற்றம் பின்வருமாறு மேற்கொள்ளப்படுகிறது:

முதல் பாக்கெட், டோக்கன் என அழைக்கப்படுவது, மாற்றப்படும் தரவு வகை, பரிமாற்ற செயல்பாடு (படிக்க அல்லது எழுத), சாதன முகவரி மற்றும் இறுதிப்புள்ளி ஆகியவற்றை விவரிக்க முதன்மை சாதனத்தால் உருவாக்கப்படுகிறது. அடுத்தது வழக்கமாக அனுப்பப்படுவது பயனுள்ள தகவல்களைக் கொண்ட தரவுப் பொட்டலமாகும், அதைத் தொடர்ந்து தரவு அல்லது டோக்கன் வெற்றிகரமாகப் பெறப்பட்டதைக் குறிக்கும் கைகுலுக்கும் பாக்கெட் அல்லது இறுதிப்புள்ளி ஸ்தம்பித்தது அல்லது தரவை ஏற்கக் கிடைக்கவில்லை.

USB தரநிலையில் உள்ள இறுதிப்புள்ளிகள் தரவுகளின் ஆதாரங்கள் மற்றும் மூழ்கிகளாகும். எல்லா சாதனங்களும் எண்ட்பாயிண்ட் 0ஐ ஆதரிக்க வேண்டும். கணக்கீட்டின் போது (இணைக்கப்பட்ட சாதனத்தின் வகையைத் தீர்மானிக்க ஒரு கைப்பிடி கோரிக்கை) மற்றும் பஸ்ஸில் சாதனம் செயல்படும் வரை அனைத்து கட்டுப்பாடு மற்றும் நிலை கோரிக்கைகளையும் ஏற்கும் முடிவுப்புள்ளி இதுவாகும்.

பயனர் தகவலை அனுப்ப 1 இலிருந்து எண்ட்பாயிண்ட்டுகள் பயன்படுத்தப்படுகின்றன. ஓரிரு உதாரணங்களைப் பார்ப்போம்.

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

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

ஒரு முனைப்புள்ளியிலிருந்து மற்றொரு முனைக்கு தரவு பரிமாற்றம் ஸ்ட்ரீம்கள் மூலம் செய்யப்படுகிறது. ஓட்டம் - ஒரு புரவலன் மற்றும் ஒரு இறுதிப்புள்ளி(களுக்கு) இடையே ஒரு தருக்க இணைப்பு.

ஸ்ட்ரீம்கள் பரிமாற்ற வகை (கட்டுப்பாடு, மொத்த, ஐசோ அல்லது குறுக்கீடு), தரவு ஓட்டம் திசை மற்றும் அதிகபட்ச பாக்கெட்/பஃபர் அளவுகள் போன்ற அளவுருக்களின் தொகுப்பையும் கொண்டுள்ளது.

எடுத்துக்காட்டாக, இயல்புநிலை ஸ்ட்ரீம் என்பது பரிமாற்ற வகை கட்டுப்பாட்டுடன் IN எண்ட்பாயிண்ட் 0 மற்றும் OUT எண்ட்பாயிண்ட் 0 ஆகியவற்றைக் கொண்ட இருதரப்பு ஸ்ட்ரீம் ஆகும்.

USB இரண்டு வகையான குழாய்களை வரையறுக்கிறது

A) நீரோடை குழாய்கள்முன் வரையறுக்கப்பட்ட USB வடிவம் இல்லை, எனவே நீங்கள் ஸ்ட்ரீம் குழாய் மூலம் எந்த வகையான தரவையும் அனுப்பலாம் மற்றும் மறுமுனையில் தரவை மீட்டெடுக்கலாம். தரவு ஸ்ட்ரீம்கள் வரிசையானவை மற்றும் முன்னரே தீர்மானிக்கப்பட்ட திசையைக் கொண்டுள்ளன - IN அல்லது OUT. ஸ்ட்ரீம் பைப்புகள் மொத்த, ஐசோக்ரோனஸ் மற்றும் குறுக்கீடு பரிமாற்ற வகைகளை ஆதரிக்கின்றன. ஸ்ட்ரீம் குழாய்களை ஹோஸ்ட் அல்லது சாதனத்தில் இருந்து கட்டுப்படுத்தலாம்.

B) செய்தி குழாய்கள்முன் வரையறுக்கப்பட்ட USB வடிவத்தைக் கொண்டுள்ளது. அவை ஹோஸ்ட்-கட்டுப்படுத்தப்பட்டவை, ஹோஸ்டிடமிருந்து அனுப்பப்பட்ட கோரிக்கையால் தொடங்கப்படுகின்றன. கோரிக்கையில் குறிப்பிடப்பட்ட விரும்பிய திசையில் தரவு அனுப்பப்படுகிறது. இவ்வாறு, செய்திக் குழாய்கள் தரவை இரு திசைகளிலும் மாற்ற அனுமதிக்கின்றன, ஆனால் கட்டுப்பாட்டு இடமாற்றங்களை மட்டுமே ஆதரிக்கின்றன.

USB தரநிலை நான்கு வகையான தரவு பரிமாற்றத்தை விவரிக்கிறது:

A) கட்டுப்பாடு பகிர்தல் (கட்டுப்பாட்டு பரிமாற்றம்) சாதன கட்டமைப்பு மற்றும் பிற சாதனம் சார்ந்த நோக்கங்களுக்காக பயன்படுத்தப்படுகிறது.

B) ஸ்ட்ரீமிங் (மொத்த பரிமாற்றம்) ஒப்பீட்டளவில் பெரிய அளவிலான தகவலை அனுப்ப பயன்படுகிறது.

B) குறுக்கீடு பகிர்தல் (இடையூறு பரிமாற்றம்) ஒப்பீட்டளவில் சிறிய அளவிலான தகவலை அனுப்பப் பயன்படுகிறது, இதற்கு அதன் சரியான நேரத்தில் பரிமாற்றம் முக்கியமானது. மற்ற வகை இடமாற்றங்களுடன் ஒப்பிடும்போது இது வரையறுக்கப்பட்ட கால அளவு மற்றும் அதிக முன்னுரிமை கொண்டது.

D) ஐசோக்ரோனஸ் பகிர்தல் (சமகால பரிமாற்றம்) நிகழ்நேர ஸ்ட்ரீமிங் என்றும் அழைக்கப்படுகிறது. அத்தகைய பரிமாற்றத்தில் அனுப்பப்படும் தகவல் அதன் உருவாக்கம், பரிமாற்றம் மற்றும் வரவேற்பு ஆகியவற்றின் போது உண்மையான நேர அளவு தேவைப்படுகிறது.

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

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

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

SPI ஊசிகள் மற்றும் ஊசிகள்

SPI arduino இடைமுகம் வழியாக தொடர்பு ஒருவருக்கொருவர் நெருக்கமாக அமைந்துள்ள பல சாதனங்களுக்கு இடையில் நிகழ்கிறது. Arduino பலகைகள் SPI க்கான தனி ஊசிகளுடன் பொருத்தப்பட்டுள்ளன. நான்கு தொடர்புகளைப் பயன்படுத்தி இணைத்தல் நிகழ்கிறது:

  • மோசி - தகவல் இந்த வரி வழியாக மாஸ்டரிடமிருந்து அடிமைக்கு அனுப்பப்படுகிறது.
  • MISO - அடிமையிடமிருந்து எஜமானருக்கு தகவலை மாற்ற பயன்படுகிறது.
  • SCLK - ஒத்திசைவான தரவு பரிமாற்றத்திற்கான கடிகார துடிப்புகளை உருவாக்குதல்.
  • SS - அடிமை சாதனம் தேர்வு.

SPI சாதனங்களின் தொடர்பு

SS வெளியீடு குறைவாக இருக்கும்போது சாதனத்தின் தொடர்பு தொடங்குகிறது.

வேலையைத் தொடங்குவதற்கு முன், நீங்கள் தீர்மானிக்க வேண்டும்:

  • எந்த பிட்டிலிருந்து ஷிப்ட் தொடங்க வேண்டும் - அதிகமா அல்லது தாழ்வா? PI.setBitOrder() செயல்பாட்டைப் பயன்படுத்தி ஆர்டர் சரிசெய்யப்படுகிறது.
  • கடிகார துடிப்பு இல்லாத நிலையில் SCK கோடு எந்த அளவில் இருக்க வேண்டும் என்பதைத் தீர்மானிக்கவும். SPI.setDataMode() செயல்பாட்டின் மூலம் சரிசெய்யக்கூடியது.
  • தரவு பரிமாற்ற வீதத்தைத் தேர்ந்தெடுக்கவும். SPI.setClockDivider() செயல்பாட்டால் தீர்மானிக்கப்படுகிறது.

தகவல் எந்த முறையில் மாற்றப்படும் என்பதைத் தீர்மானிப்பது அடுத்த படியாகும். கடிகாரத் துடிப்பின் துருவமுனைப்பு மற்றும் கட்டம் போன்ற குறிகாட்டிகளால் பயன்முறையின் தேர்வு தீர்மானிக்கப்படுகிறது. நிலை குறைவாக இருந்தால், 0 பதிவு செய்யப்படும், உயர் - 1. மொத்தம் 4 முறைகள் உள்ளன:

  • பயன்முறை 0 – SPI_MODE0: துருவமுனைப்பு (CPOL) 0, கட்டம் (CPHA) 0.
  • முறை 1: துருவமுனைப்பு 0, கட்டம் 1.
  • முறை 2: துருவமுனைப்பு 1, கட்டம் 0.
  • முறை 3: துருவமுனைப்பு 1, கட்டம் 1.

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

SPI இடைமுகத்தில் இரண்டு வகையான இணைப்புகள் சாத்தியம்: சுயாதீனமான மற்றும் அடுக்கு. முதல் வழக்கில், இணைக்கும் போது, ​​மாஸ்டர் ஒவ்வொரு அடிமையையும் தனித்தனியாக உரையாற்றுகிறார், இரண்டாவது வழக்கில், இணைப்பு ஒவ்வொன்றாக நிகழ்கிறது, அதாவது. அருவி.

SPI ஐ Arduino உடன் இணைக்கிறது

ஒவ்வொரு Arduino மாதிரிக்கும் அதன் சொந்த SPI ஊசிகள் உள்ளன. இந்த முடிவுகள்:

  • யூனோ: MOSI பின் 11 அல்லது ICSP-4, MISO - 12 அல்லது ICSP-1, SCK - 13 அல்லது ICSP-3, SS (slave) - 10 உடன் ஒத்துள்ளது.
  • Mega1280 அல்லது Mega2560: MOSI – 51 அல்லது ICSP-4, MISO – 50 அல்லது ICSP-1, SCK – 52 அல்லது ICSP-3, SS (slave) – 53.
  • லியோனார்டோ: MOSI - ICSP-4, MISO - ICSP-1, SCK - ICSP-3.
  • காரணமாக: MOSI – ICSP-4, MISO –ICSP-1, SCK –ICSP-3, SS (master) – 4, 10, 52.

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

Arduino SPI நூலகம்

Arduino இல் வேலை செய்ய, SPI ஐ செயல்படுத்தும் ஒரு தனி நூலகம் உருவாக்கப்பட்டது. குறியீட்டைத் தொடங்குவதற்கு முன், #include ஐச் சேர்க்க வேண்டும் நூலகத்தை செயல்படுத்த.

முக்கிய செயல்பாடுகள்:

  • ஆரம்பம்() மற்றும் முடிவு() - வேலையை ஆன் மற்றும் ஆஃப் செய்யவும். துவக்கத்தின் போது, ​​SCLK, MOSI மற்றும் SS கோடுகள் வெளியீட்டில் கட்டமைக்கப்படுகின்றன, இது SCLK, MOSI க்கு குறைந்த அளவையும், SS க்கு உயர் மட்டத்தையும் அனுப்புகிறது. முடிவு() செயல்பாடு வரி நிலைகளை மாற்றாது; Arduino போர்டில் உள்ள இடைமுகத்துடன் தொடர்புடைய தொகுதியை அணைக்க இது தேவைப்படுகிறது.
  • setBitOrder(order) - தகவல் பிட்களை அனுப்பும் வரிசையை அமைத்தல் (MSBFIRST - மிக முக்கியமான பிட்டின் முன்னுரிமை, LSBFIRST - குறைந்த முக்கியத்துவம் வாய்ந்த பிட்டின் முன்னுரிமை).
  • setClockDivider(டிவைடர்) - முக்கிய அதிர்வெண் கடிகார வகுப்பிகளை அமைத்தல். நீங்கள் 2, 4, 8, 16, 32, 64 மற்றும் 128 இன் வகுப்பிகளை அமைக்கலாம். இது பின்வருமாறு எழுதப்பட்டுள்ளது - SPI_CLOCK_DIVn, இங்கு n என்பது தேர்ந்தெடுக்கப்பட்ட வகுப்பியாகும்.
  • setDataMode(mode) - நான்கு இயக்க முறைகளில் ஒன்றைத் தேர்ந்தெடுக்கவும்.
  • பரிமாற்றம் (மதிப்பு) - முதன்மை சாதனத்திலிருந்து ஒரு பைட்டை மாற்றுகிறது மற்றும் ஸ்லேவ் சாதனத்திலிருந்து பெறப்பட்ட பைட்டை வழங்குகிறது.
  • shiftIn(miso_pin, sclk_pin, bit_order) மற்றும் shiftOut(mosi_pin, sclk_pin, order, value) - தரவை ஏற்று அனுப்புதல், எந்த டிஜிட்டல் பின்களுடனும் இணைக்கப்படலாம், ஆனால் அதற்கு முன் அவற்றை நீங்களே கட்டமைக்க வேண்டும்.

SPI இன் நன்மைகள் மற்றும் தீமைகள்

SPI இடைமுகத்தின் நன்மைகள்:

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

குறைபாடுகள்:

  • I2C உடன் ஒப்பிடும்போது அதிக எண்ணிக்கையிலான பின்கள்.
  • தகவல் ஓட்டத்தை அடிமையால் கட்டுப்படுத்த முடியாது.
  • நிலையான பிழை கண்டறிதல் நெறிமுறை இல்லாதது.
  • இடைமுகத்தை செயல்படுத்த ஏராளமான வழிகள்.
  • தகவலின் ரசீது உறுதிப்படுத்தல் இல்லாமை.

அழுத்தம் சென்சார் கொண்ட திட்டத்தில் Arduino SPI ஐப் பயன்படுத்துவதற்கான எடுத்துக்காட்டு

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

SCP1000 சென்சார் பயன்படுத்தி, அழுத்தம் மற்றும் வெப்பநிலை போன்ற அளவுருக்களை அடையாளம் கண்டு இந்த மதிப்புகளை SPI வழியாக அனுப்ப முடியும்.

நிரல் ஓவியத்தின் அடிப்படை கூறுகள்

முதலில், சென்சார் பதிவேடுகள் அமைப்பு () ஐப் பயன்படுத்தி குறியீட்டில் பதிவு செய்யப்படுகின்றன. சாதனத்திலிருந்து பல மதிப்புகள் திரும்பப் பெறப்படுகின்றன - பெறப்பட்ட அழுத்தத்திற்கு 19 பிட்களில் ஒன்று, வெப்பநிலைக்கு 16 பிட்கள். இதற்குப் பிறகு, இரண்டு வெப்பநிலை பைட்டுகள் படிக்கப்படுகின்றன மற்றும் அழுத்தம் இரண்டு நிலைகளில் படிக்கப்படுகிறது. முதலில், நிரல் மூன்று மிக முக்கியமான பிட்களை எடுக்கும், பின்னர் அடுத்த 16 பிட்கள், அதன் பிறகு, ஒரு பிட் ஷிப்டைப் பயன்படுத்தி, இந்த இரண்டு மதிப்புகளும் ஒன்றாக இணைக்கப்படுகின்றன. உண்மையான அழுத்தம் என்பது 19-இலக்க மதிப்பை 4 ஆல் வகுத்தல்.

const int PRESSURE = 0x1F; // அழுத்தம் நிர்ணயத்தின் முதல் நிலை (மூன்று மிக முக்கியமான பிட்கள் கண்டறியப்பட்டன)

const int PRESSURE_LSB = 0x20; // இரண்டாவது நிலை, இது அழுத்தத்திற்கு 16 பிட்களை வரையறுக்கிறது

const int TEMPERATURE = 0x21; //வெப்பநிலைக்கு 16 பிட்கள்

வெப்பநிலை தரவைப் படித்து அதை செல்சியஸாக மாற்ற, பின்வரும் குறியீடு உறுப்பு பயன்படுத்தப்படுகிறது:

int tempData = readRegister(0x21, 2);

ஃப்ளோட் realTemp = (float)tempData / 20.0; // செல்சியஸில் உண்மையான வெப்பநிலை மதிப்பை தீர்மானிக்க, நீங்கள் விளைந்த எண்ணை 20 ஆல் வகுக்க வேண்டும்.

Serial.print(“Temp

Serial.print(realTemp);

அழுத்த பிட்களைப் படித்து அவற்றை இணைத்தல்:

byte pressure_data_high = readRegister(0x1F, 1);

அழுத்தம்_தரவு_உயர் &= 0b00000111;

கையொப்பமிடப்படாத int pressure_data_low = readRegister(0x20, 2);

நீண்ட அழுத்தம் = ((pressure_data_high<< 16) | pressure_data_low) / 4; //определение давления в Паскалях.

SPI பற்றிய சுருக்கமான முடிவுகள்

SPI ஷீல்டுகள் மற்றும் சென்சார்கள் பெரும்பாலும் Arduino திட்டங்களில் காணப்படுகின்றன, எனவே இந்த நெறிமுறை எவ்வாறு செயல்படுகிறது என்பதை நீங்கள் அறிந்து கொள்ள வேண்டும். கொள்கையளவில், SPI சாதனங்களை இணைப்பதில் சிக்கலான எதுவும் இல்லை. முக்கிய விஷயம் என்னவென்றால், கம்பிகளை சரியாக இணைப்பது மற்றும் சரியான வரிசையில் நிலையான நூலக முறைகளைப் பயன்படுத்துவது. சில சாதனங்களுக்கு, எடுத்துக்காட்டாக, SD கார்டுகள் அல்லது OLED திரைகள், கொள்கையளவில், மாற்று வழிகள் இல்லை.

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

தொடங்குவதற்கு, வரையறை. எஸ்பிஐ(தொடர் புற இடைமுகம் - தொடர் புற இடைமுகம்) என்பது ஒரு தொடர் ஒத்திசைவான தரவு பரிமாற்ற தரநிலையாகும், இது பல்வேறு சாதனங்களுடன் கட்டுப்படுத்தியை தொடர்பு கொள்ள வடிவமைக்கப்பட்டுள்ளது. இந்த இடைமுகம் எளிமையானது மற்றும் வசதியானது. SPI உடன் பணிபுரிவதற்கான ஒரு சிறப்பு நூலகம் Arduino க்காக எழுதப்பட்டது.

தொடர்பு "எஜமான-அடிமை" கொள்கையை அடிப்படையாகக் கொண்டது. கட்டுப்படுத்தி பொதுவாக முதன்மை சாதனம் ஆகும். கணினியுடன் இணைக்கப்பட்ட மற்ற எல்லா சாதனங்களும் அடிமைகள். முதன்மை சாதனத்திலிருந்து தரவு, தேர்ந்தெடுக்கப்பட்ட அடிமைகளில் ஒருவருக்கு டேட்டா பஸ் வழியாக அனுப்பப்படுகிறது அல்லது ஸ்லேவ் சாதனத்திலிருந்து மாஸ்டருக்கு ஒத்திசைவாக, முதன்மை கடிகார சமிக்ஞையைப் பயன்படுத்தி அனுப்பப்படுகிறது.

SPI தரவு பஸ் பின்அவுட் 4 வரிகளைக் கொண்டுள்ளது: MOSI, MISO, CS மற்றும் SCLK:

  • மோசி(மாஸ்டர் அவுட் ஸ்லேவ் இன் - மாஸ்டர்-அவுட்புட், ஸ்லேவ்-இன்புட்) அல்லது வெறுமனே எஸ்.ஐ.- முதன்மை சாதனத்திலிருந்து அடிமை சாதனத்திற்கு தரவு பரிமாற்றம் ஏற்படுகிறது.
  • MISO(மாஸ்டர் இன் ஸ்லேவ் அவுட் - மாஸ்டர்-இன்புட், ஸ்லேவ்-அவுட்புட்) அல்லது வெறுமனே அதனால்- அடிமை சாதனத்திலிருந்து முதன்மை சாதனத்திற்கு தரவு பரிமாற்றம் ஏற்படுகிறது.
  • சி.எஸ்.(சிப் தேர்வு - சிப் தேர்வு) அல்லது எஸ்.எஸ்(Slave Select — அடிமைத் தேர்வு) - அடிமை சாதனத்தின் தேர்வு.
  • எஸ்சிஎல்கே(தொடர் கடிகாரம்) அல்லது வெறுமனே எஸ்சிகே- எஜமானரிடமிருந்து அடிமைக்கு கடிகார சமிக்ஞையை அனுப்புதல்.

ஒரு எஜமானரிடமிருந்து ஒரு அடிமைக்கு தரவை மாற்ற, எஜமானர் தகவல்தொடர்புகளை ஏற்படுத்தப் போகும் அடிமையின் சிஎஸ் வரியில் சிக்னல் அளவைக் குறைவாக அமைக்க வேண்டியது அவசியம். பிட்கள் பின்னர் MOSI வரியில் மாற்றப்படும். தரவு பரிமாற்றத்தை நிறுத்த, தலைவர் சிஎஸ் வரியை "வெளியிடுகிறார்", அது போலவே, அதில் உயர் சமிக்ஞை அளவை அமைக்கிறது.

SPI டேட்டா பஸ்ஸுடன் பல அடிமை சாதனங்களை இணைக்க, அவை ஒவ்வொன்றும் அதன் சொந்த CS வரியைக் கொண்டிருக்க வேண்டும். இது முடிந்ததும், முதன்மை சாதனம் மாறி மாறி வரிகளை "இழுக்க" முடியும், அடிமை சாதனங்களுக்கு இடையில் மாறுகிறது. பல அடிமைகளை வெவ்வேறு வழிகளில் இணைக்கலாம்: இணையாக அல்லது தொடரில்.

SPI தரவு பஸ் வழியாக அடிமை சாதனங்களின் இணையான இணைப்பு

பல அடிமை சாதனங்களின் இணையான இணைப்பின் தனித்தன்மை என்னவென்றால், பொதுவான வரிகளான SCLK, MOSI மற்றும் MISO ஆகியவை தகவல்தொடர்புகளை உருவாக்கப் பயன்படுத்தப்படுகின்றன. இந்த வழக்கில், ஒவ்வொரு அடிமை சாதனத்திற்கும் அதன் சொந்த SS(CS) வரி உள்ளது. தொடர்புடைய SSn வரியில் (n – 1,2...) குறைந்த சமிக்ஞை அளவை உருவாக்குவதன் மூலம் எந்த "தற்போதைய அடிமை" தரவு பரிமாற்றத்தை நிறுவ வேண்டும் என்பதை முதன்மை சாதனம் தீர்மானிக்கிறது.

SPI இடைமுகம் வழியாக ஸ்லேவ் சாதனங்களின் n-எண்களை கட்டுப்படுத்தியுடன் இணைக்க, நீங்கள் அவற்றை இந்த நோக்கத்திற்காக ஒதுக்க வேண்டும் n+3மைக்ரோகண்ட்ரோலர் ஊசிகள்.

SPI பஸ்ஸுடன் அடிமை சாதனங்களின் தொடர் இணைப்பு

அடிமை சாதனங்களின் தொடர் இணைப்பைப் பொறுத்தவரை, அவை பொதுவான வரிகளான SCLK மற்றும் SS ஐப் பயன்படுத்துகின்றன, மேலும் ஒன்றின் வெளியீடு மற்றொன்றின் உள்ளீட்டுடன் இணைக்கப்பட்டுள்ளது. மாஸ்டரின் MOSI கோடு முதல் அடிமையுடன் இணைக்கப்பட்டுள்ளது, மேலும் MISO வரி கடைசியாக இணைக்கப்பட்டுள்ளது. முதன்மை சாதனத்தின் பார்வையில் இருந்து இந்த இணைப்பை நீங்கள் பார்த்தால், ஒரு அடிமை சாதனம் SPI தரவு பஸ் வழியாக இணைக்கப்பட்டுள்ளது.

இந்த வகை இணைப்பின் நன்மையை கவனத்தில் கொள்ள வேண்டும்: இந்த நோக்கத்திற்காக மைக்ரோகண்ட்ரோலரின் 4 பின்களை மட்டுமே பயன்படுத்தி சாதனங்களின் n வது எண்ணை இணைக்க முடியும்.

இப்போதைக்கு அவ்வளவுதான், தொடரும்...

இன்று நாம் டயருடன் எங்கள் அறிமுகத்தைத் தொடங்குகிறோம் SPI (தொடர் புற இடைமுகம்).

இந்த பஸ் எலக்ட்ரானிக்ஸில் மிகவும் பரவலாக பயன்படுத்தப்படுகிறது. இது மிகவும் வசதியானது, ஒத்திசைவான மற்றும் முழு டூப்ளெக்ஸ் ஆகும், எனவே, இது பல்வேறு டிஜிட்டல் சாதனங்களுக்கு இடையேயான தொடர்புக்கு பல சுற்றுகளில் பயன்படுத்தப்படுகிறது - சென்சார்கள், கட்டுப்படுத்திகள், இயக்கிகள் மற்றும் பிற சாதனங்கள்.

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

மேலும், நாம் விரும்பினாலும் விரும்பாவிட்டாலும், SPI இடைமுகத்துடன் நாங்கள் நீண்ட காலமாக தொடர்பு கொள்கிறோம், நாங்கள் எங்கள் கட்டுப்படுத்தியை முதல் முறையாக ஒளிரத் தொடங்கியவுடன், இந்த இடைமுகத்தின் மூலம் ஒளிரும்.

எனவே, இந்த டயரை நன்கு தெரிந்துகொள்ள விரும்புகிறேன்.

Atmega8 கன்ட்ரோலருக்கான தொழில்நுட்ப ஆவணங்களைத் திறந்து, இந்த கன்ட்ரோலரின் பின்அவுட் காட்டப்பட்டுள்ள பக்கத்தைத் திறந்து, SPI பஸ் பின்கள் அமைந்துள்ள பின்கள் 16 முதல் 19 வரை இருப்பதைப் பார்க்கலாம்.

இப்போது இந்த கண்டுபிடிப்புகள் பற்றி இன்னும் கொஞ்சம்

SS (சிப் தேர்வு)- இது சாதனம் தேர்வு கால். இந்த பின்னில் உள்ள ஸ்லேவ் சாதனம் குறைந்த அளவில் அமைக்கப்பட்டால், இந்தச் சாதனம் எஸ்பிஐ பஸ் மூலம் பதிலளித்து தகவல்களைப் பரிமாறும்; அது அதிகமாக இருந்தால், அது இருக்காது.

MOSI (மாஸ்டர் அவுட்புட் ஸ்லேவ் உள்ளீடு)- இது முதன்மை சாதனத்தின் வெளியீட்டு முள் மற்றும் அடிமை சாதனத்தின் உள்ளீடு.

MISO (முதன்மை உள்ளீடு அடிமை வெளியீடு)- மாறாக, அடிமையின் வெளியீடு, எஜமானரின் உள்ளீடு.

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

Atmega8 கட்டுப்படுத்தியில் SPI பஸ் செயல்படுத்தப்படுவதற்கான வரைபடம் இங்கே உள்ளது

எந்த பஸ்ஸைப் போலவே, குறிப்பிட்ட தகவலைச் சேமிக்கும் பல பதிவுகள் உள்ளன.

நாங்கள் SHIFT REGISTER இல் ஆர்வமாக உள்ளோம், அதன் மூலம் தகவல் பரிமாற்றம் செய்யப்படுகிறது. ஒத்திசைவு முள் மீது ஒரு குறிப்பிட்ட விளிம்பு இருந்தால், அமைப்புகளைப் பொறுத்து, இறங்கு அல்லது ஏறுவரிசையில், இந்த அடிமை மற்றும் முதன்மை சாதனங்களின் பதிவேடுகள் தகவல்களைப் பரிமாறிக் கொள்ளும், எல்லா தகவல்களும் அல்ல, ஆனால் ஒரு பிட் மட்டுமே. இந்தப் பதிவேடுகள் இடதுபுறமாக மாறும், மேலும் ஒவ்வொரு பதிவேட்டில் இருந்தும் மிக முக்கியமான பிட்கள் தொடர்புடைய சாதனத்தின் அதே பதிவேட்டின் குறைந்த குறிப்பிடத்தக்க பிட்களுக்குச் செல்லும். அதாவது, அடிமை தனது மிக முக்கியமான பிட்டை MOSI பின் மூலம் தலைவருக்கு அனுப்புவார், அவர் அதை இடது ஷிப்ட் காரணமாக காலியான லோ-ஆர்டர் பிட்டில் எழுதுவார், மேலும் அடிமை அதன் இடம்பெயர்ந்த உயர்-வரிசை பிட்டை MISO மூலம் மாற்றுவார். தலைவரின் லோ-ஆர்டர் பிட்டிற்கு பின். பரிமாற்றம் இப்படித்தான் செல்கிறது, அதாவது 8 முழு கடிகார சுழற்சிகளில் அவை பைட்டுகளை முழுமையாக மாற்றும்

ஒரு பைட் தகவலின் அனைத்து 8 பிட்களும் அனுப்பப்பட்டவுடன், இந்த செயல்முறை முடிந்தது என்று ஒரு குறிப்பிட்ட பதிவு நமக்கு சமிக்ஞை செய்யும். அல்லது மாறாக, ஒரு குறிப்பிட்ட பதிவு ஒரு குறிப்பிட்ட பிட்.

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

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

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

முதல் முறை ரேடியல் (படத்தை பெரிதாக்க படத்தின் மீது கிளிக் செய்யவும்)

இங்கே மாஸ்டர் ஒரு குறிப்பிட்ட சாதனத்திற்கு தரவை இயக்குகிறார், SS பின்னில் தருக்க 0 ஐ இயக்குகிறார். இந்த முறையில், ஒரே ஒரு சாதனத்தைத் தேர்ந்தெடுக்க முடியும்; உங்களுக்கு பல இலவச கன்ட்ரோலர் போர்ட்கள் தேவைப்படும்.

மற்றொரு சுவாரஸ்யமான முறை உள்ளது - மோதிரம் அல்லது அடுக்கை (படத்தை பெரிதாக்க படத்தின் மீது கிளிக் செய்யவும்)

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

எங்கள் திட்டங்களில் சில சாதனங்களைப் பயன்படுத்தும் போது, ​​அடுத்த பாடங்களில் இதையெல்லாம் இன்னும் விரிவாகப் படிப்போம்.

சரி, இது பஸ் வழியாக தரவு பரிமாற்றத்தின் சுற்றுடன் தெரிகிறது எஸ்பிஐநாங்கள் அதை கண்டுபிடித்தோம்.

AVR கட்டுப்படுத்தியின் வன்பொருள் பதிவேடுகளின் மட்டத்தில் இந்த செயல்முறையை எவ்வாறு கட்டுப்படுத்துவது என்பதை இப்போது கண்டுபிடிப்போம்.

இந்தப் பதிவேடுகளைப் பக்கத்தில் மேலே உள்ள தொகுதி வரைபடத்தில் பார்க்கிறோம்.

Atmega8 SPI பேருந்தைச் சேவை செய்வதற்கான பின்வரும் பதிவேடுகளைக் கொண்டுள்ளது.

SPDR (SPI தரவுப் பதிவு)- தரவு பதிவு, தொகுதி வரைபடத்தில் இது தரவு இடையகமாகும். அடிமை சாதனத்திற்கு அதன் அடுத்தடுத்த பரிமாற்றத்திற்காக இந்த பதிவேட்டில் ஒரு பைட்டை உள்ளிடுவோம், மேலும் அதிலிருந்து அடிமை சாதனத்திலிருந்து வந்த தகவலைப் படிப்போம். எங்கள் கட்டுப்படுத்தி முதன்மை சாதனமாக இருக்க வேண்டிய அவசியமில்லை. பின்னர், நாங்கள் இரண்டு கட்டுப்படுத்திகளின் சுற்று ஒன்றை ஒன்று சேர்ப்போம், அதில் ஒன்று அடிமையாக இருக்கும். எனவே இந்த பதிவேட்டில் தான் அனுப்புதல் மற்றும் பெறுதல் ஆகிய இரண்டிற்கும் பைட் இருக்கும்.

SPCR (SPI கட்டுப்பாட்டுப் பதிவு)- கட்டுப்பாட்டு பதிவு

இந்த பதிவேட்டில் பின்வரும் பிட்கள் உள்ளன:

SPIE (SPI குறுக்கீடு இயக்கு)- குறுக்கீடுகளை செயல்படுத்தும் ஒரு பிட்.

SPE (SPI இயக்கு)- SPI பஸ்ஸை இயக்கும் ஒரு பிட்.

DORD (தரவு ஒழுங்கு)— பிட்கள் அனுப்பப்படும் வரிசையை அமைக்கும் பிட், 1 என அமைக்கப்பட்டால், குறைந்த முக்கியத்துவம் வாய்ந்த பிட் முதலில் அனுப்பப்படும், 0 என அமைக்கப்பட்டால், மிக முக்கியமான பிட் அனுப்பப்படும்.

MSTR (மாஸ்டர்/ஸ்லேவ் தேர்வு)— ஒரு சாதனத்தை மாஸ்டர் அல்லது அடிமையாகக் குறிக்கும் பிட். இந்த பிட் 1 ஆக அமைக்கப்பட்டால், சாதனம் முதன்மையாக இருக்கும்.

CPOL (கடிகார துருவமுனைப்பு)- ஒத்திசைவு துருவமுனைப்பு, ஒத்திசைவு துடிப்பின் எந்த விளிம்பில் காத்திருப்பு பயன்முறை தொடங்கப்படும் என்பதை தீர்மானிக்கிறது

இந்த பிட் 1 ஆக இருந்தால், ஏறுவரிசையுடன் கூடிய காத்திருப்பு பயன்முறையும், அது 0 ஆக இருந்தால், இறங்கு விளிம்புடன் இருக்கும்.

CPHA (கடிகார கட்டம்)- கடிகார கட்டத்திற்கு ஒரு பிட் பொறுப்பு, அதாவது, எந்த விளிம்பில் பிட் கடத்தப்படும்.

CPOL மற்றும் CPHA இன் நிறுவலின் அடிப்படையில் தரவு பரிமாற்ற வரைபடங்களைப் பார்ப்போம்

இது ஒரு சுவாரஸ்யமான சார்பு. சில நேரங்களில் நாம் சில நேரங்களில் ஒரு சாதனத்தின் தொழில்நுட்ப பண்புகளில் பார்க்கிறோம், எடுத்துக்காட்டாக, SPI 0:0 மற்றும் SPI 1:1 பயன்முறையில் செயல்பட முடியும், மேலும் இந்த பிட்களை அமைப்பதில் இதுவே சரியாகும்.

SPR1, SPR0 (SPI கடிகார வீதம் தேர்வு)- இவை ஒத்திசைவு அதிர்வெண் வகுப்பியின் மதிப்பிற்குப் பொறுப்பான பிட்கள்; அவை பிட்டுடன் இணைந்து செயல்படுகின்றன. SPI2Xநிலை பதிவேட்டில் அமைந்துள்ளது. கட்டுப்பாட்டுப் பதிவேட்டில் உள்ள எட்டு பிட்கள் எல்லா அமைப்புகளுக்கும் போதுமானதாக இல்லை, மேலும் நிலைப் பதிவேட்டில் பல இலவசங்கள் இருப்பதால், இது ஒரு கட்டுப்பாடும் ஆகும்.

SPSR (SPI நிலைப் பதிவு)- நிலை பதிவு

SPI2X (டபுள் SPI ஸ்பீட் பிட்)- வேகத்தை இரட்டிப்பாக்கும் பிட், கட்டுப்பாட்டுப் பதிவேட்டின் SPR1 மற்றும் SPR0 பிட்களுடன் இணைந்து செயல்படுகிறது.

இந்த மூன்று பிட்களில் அலைவரிசையின் சார்புநிலையைப் பார்ப்போம்

SPIF (SPI குறுக்கீடு கொடி)- குறுக்கீடு கொடி. இந்த பிட் ஒன்றை அமைக்க நாங்கள் காத்திருக்கிறோம். நாம் ஒரு பைட் பெறும் போது. மற்றொரு சாதனத்தின் பைட் எங்கள் இடையகத்தில் முழுமையாகத் தோன்றியவுடன், இந்தக் கொடி அமைக்கப்படும். குறுக்கீடுகளை இயக்கும் பிட் அமைக்கப்பட்டு, உலகளாவிய குறுக்கீடுகள் இயக்கப்பட்டிருந்தால் மட்டுமே இந்தக் கொடி செயல்படும்.

WCOL (கோலிஷன் கொடியை எழுது)— தரவு பரிமாற்றத்தின் போது சிறிது முரண்பாடு இருந்தால், தரவு பரிமாற்றத்தின் போது தரவு பதிவேட்டில் எழுத முயற்சித்தால் மோதல் அல்லது மோதல் கொடி அமைக்கப்படும்.

சரி, இப்போது நாம் SPI இடைமுகத்துடன் கொஞ்சம் பரிச்சயமாகிவிட்டோம் என்று சொல்லலாம்.

வீடியோ டுடோரியலைப் பார்க்கவும்(படத்தின் மீது சொடுக்கவும்)

இடுகை பார்வைகள்: 6,294

10 Ohm முதல் 1 MOhm வரையிலான மதிப்பீடுகளுடன்);

  • இணைக்கும் கம்பிகள் (உதாரணமாக, இது ஒரு நல்ல தொகுப்பு);
  • Arduino IDE மேம்பாட்டு சூழலுடன் தனிப்பட்ட கணினி.
  • 1 தொடர் விளக்கம் SPI இடைமுகம்

    SPI - தொடர் புற இடைமுகம் அல்லது “தொடர் புற இடைமுகம்”இணைப்பதற்கான ஒத்திசைவான தரவு பரிமாற்ற நெறிமுறை ஆகும் முதன்மை சாதனம்உடன் புற சாதனங்கள் (அடிமை). முதன்மை சாதனம் பெரும்பாலும் மைக்ரோகண்ட்ரோலர் ஆகும். சாதனங்களுக்கிடையேயான தகவல்தொடர்பு நான்கு கம்பிகளில் நிகழ்கிறது, அதனால்தான் SPI சில நேரங்களில் "நான்கு கம்பி இடைமுகம்" என்று அழைக்கப்படுகிறது. இவை டயர்கள்:

    நான்கு தரவு பரிமாற்ற முறைகள் உள்ளன ( SPI_MODE0, SPI_MODE1, SPI_MODE2, SPI_MODE3), கடிகார பருப்புகளின் துருவமுனைப்பின் கலவையால் ஏற்படுகிறது (நாங்கள் உயர் அல்லது குறைந்த மட்டத்தில் வேலை செய்கிறோம்), கடிகார துருவமுனைப்பு, CPOL, மற்றும் கடிகார துடிப்புகளின் கட்டம் (கடிகாரத் துடிப்பின் உயரும் அல்லது வீழ்ச்சியுறும் விளிம்பில் ஒத்திசைவு), கடிகார கட்டம், CPHA.

    படம் இந்த அட்டவணையை விளக்குகிறது.

    SPI இடைமுகம் அடிமை சாதனங்களை இணைக்க பல விருப்பங்களை வழங்குகிறது: சுதந்திரமானமற்றும் அருவி. SPI பஸ்ஸுடன் சுயாதீனமாக இணைக்கப்படும்போது, ​​முதன்மை சாதனம் ஒவ்வொரு அடிமை சாதனத்தையும் தனித்தனியாக அணுகும். கேஸ்கேட் இணைப்புடன், அடிமை சாதனங்கள் அடுக்கில் இருப்பது போல் ஒவ்வொன்றாக இயங்கும்.


    SPI இடைமுகம் வழியாக செயல்படுவதற்கான சாதன இணைப்பு வகைகள்: சுயாதீனமான மற்றும் அடுக்கு

    2 SPI இடைமுகத்தை செயல்படுத்துதல் Arduino குடும்ப பலகைகளில்

    Arduino இல், SPI இடைமுக பேருந்துகள் குறிப்பிட்ட துறைமுகங்களில் அமைந்துள்ளன. ஒவ்வொரு போர்டுக்கும் அதன் சொந்த முள் ஒதுக்கீடு உள்ளது. வசதிக்காக, முடிவுகள் நகலெடுக்கப்பட்டு தனித்தனியாக வைக்கப்படுகின்றன ICSP இணைப்பான்(சர்க்யூட் சீரியல் புரோகிராமிங்கில், ஒரு வரிசை நெறிமுறையைப் பயன்படுத்தி ஒரு சர்க்யூட்டில் சேர்க்கப்பட்ட சாதனத்தை நிரலாக்கம்). ICSP இணைப்பியில் ஸ்லேவ் தேர்வு முள் இல்லை என்பதை நினைவில் கொள்ளவும் - SS, ஏனெனில் Arduino நெட்வொர்க்கில் முதன்மை சாதனமாக பயன்படுத்தப்படும் என்று கருதப்படுகிறது. ஆனால் தேவைப்பட்டால், நீங்கள் Arduino இன் எந்த டிஜிட்டல் பின்னையும் SS ஆக ஒதுக்கலாம்.

    Arduino UNO மற்றும் Nano க்கான SPI பேருந்துகளுக்கான ஊசிகளின் நிலையான கடிதப் பரிமாற்றத்தை படம் காட்டுகிறது.


    3 வேலைக்கான நூலகம் SPI இடைமுகத்துடன்

    SPI நெறிமுறையை செயல்படுத்தும் Arduino க்காக ஒரு சிறப்பு நூலகம் எழுதப்பட்டுள்ளது. இது இப்படி இணைக்கிறது: நிரலின் தொடக்கத்தில் நாம் சேர்க்கிறோம் #SPI.h அடங்கும்.

    SPI நெறிமுறையைப் பயன்படுத்தத் தொடங்க, நீங்கள் அமைப்புகளை அமைத்து, செயல்முறையைப் பயன்படுத்தி நெறிமுறையைத் தொடங்க வேண்டும் SPI.beginTransaction(). ஒரு அறிவுறுத்தலின் மூலம் இதைச் செய்யலாம்: SPI.beginTransaction(SPISஅமைப்புகள்(14000000, MSBFIRST, SPI_MODE0))

    இதன் பொருள், SPI நெறிமுறையை 14 MHz அதிர்வெண்ணில் துவக்குகிறோம், SPI_MODE0 பயன்முறையில் MSB (மிக முக்கியமான பிட்) இலிருந்து தரவு பரிமாற்றம் நிகழ்கிறது.

    துவக்கத்திற்குப் பிறகு, தொடர்புடைய SS பின்னை மாநிலத்திற்கு நகர்த்துவதன் மூலம் அடிமை சாதனத்தைத் தேர்ந்தெடுக்கவும் குறைந்த.

    பின்னர் கட்டளையுடன் ஸ்லேவ் சாதனத்திற்கு தரவை மாற்றுகிறோம் SPI.transfer().

    இடமாற்றத்திற்குப் பிறகு நாங்கள் SS ஐ மாநிலத்திற்குத் திரும்புகிறோம் உயர்.


    நெறிமுறையுடன் வேலை கட்டளையுடன் முடிக்கப்படுகிறது SPI.endTransaction().

    வேறொரு சாதனம் வெவ்வேறு அமைப்புகளைப் பயன்படுத்தி தரவு பரிமாற்றத்தைத் தொடங்க முயற்சித்தால், சிக்கல்களைத் தவிர்ப்பதற்காக SPI.beginTransaction() மற்றும் SPI.endTransaction() வழிமுறைகளுக்கு இடையிலான பரிமாற்ற நேரத்தைக் குறைப்பது நல்லது.

    4 ஷிப்ட் பதிவேட்டை இணைக்கிறது Arduino க்கு

    SPI இடைமுகத்தின் நடைமுறை பயன்பாட்டைக் கருத்தில் கொள்வோம். SPI பஸ் மூலம் 8-பிட் ஷிப்ட் பதிவேட்டைக் கட்டுப்படுத்துவதன் மூலம் எல்இடிகளை ஒளிரச் செய்வோம். Arduino உடன் இணைப்போம் ஷிப்ட் பதிவு 74HC595. 220 ஓம்ஸ் என்ற பெயரளவு மதிப்பைக் கொண்ட எல்.ஈ.டியை 8 பதிவு வெளியீடுகளில் ஒரு கட்டுப்படுத்தும் மின்தடை மூலம் இணைப்போம். வரைபடம் படத்தில் காட்டப்பட்டுள்ளது.


    5 ஷிப்ட் பதிவேட்டைக் கட்டுப்படுத்துவதற்கான ஸ்கெட்ச் SPI இடைமுகம் வழியாக

    இப்படி ஒரு ஸ்கெட்ச் எழுதலாம்.

    #சேர்க்கிறது const int pinSelect = 8; // பதிவு பின் தேர்ந்தெடுக்கவும் வெற்றிட அமைப்பு() ( SPI.begin(); // SPI இடைமுகம் pinMode ஐ துவக்குகிறது (pinSelect, OUTPUT); // டிஜிட்டல் ரைட் (pinSelect, LOW); // அடிமை சாதனங்களைத் தேர்ந்தெடுக்கவும் (பதிவு) SPI.transfer(0); // பதிவு டிஜிட்டல் ரைட்டின் உள்ளடக்கங்களை அழிக்கவும் (pinSelect, HIGH); // டிரான்ஸ்மிஷன் முடிவு Serial.begin(9600); } வெற்றிட சுழற்சி () (க்கு (int i=0; i)

    முதலில், SPI நூலகத்தை இணைத்து SPI இடைமுகத்தை துவக்குவோம். பின் 8 ஐ SS ஸ்லேவ் தேர்வு முள் என வரையறுப்போம். ஷிப்ட் பதிவேட்டில் "0" மதிப்பை அனுப்புவதன் மூலம் அதை அழிக்கலாம். தொடர் போர்ட்டை துவக்கவும்.

    ஷிப்ட் பதிவேட்டைப் பயன்படுத்தி குறிப்பிட்ட எல்இடியை ஒளிரச் செய்ய, அதன் உள்ளீட்டில் 8-பிட் எண்ணைப் பயன்படுத்த வேண்டும். எடுத்துக்காட்டாக, முதல் எல்.ஈ.டி ஒளிர, நாங்கள் பைனரி எண் 00000001 ஐ வழங்குகிறோம், இரண்டாவது - 00000010, மூன்றாவது - 00000100, முதலியன. இந்த பைனரி எண்கள், தசம எண் அமைப்புக்கு மாற்றப்படும் போது, ​​பின்வரும் வரிசையை உருவாக்குகின்றன: 1, 2, 4, 8, 16, 32, 64, 128 மற்றும் 0 முதல் 7 வரையிலான இரண்டு சக்திகள்.

    அதன்படி, சுழற்சியில் வளைய () LED களின் எண்ணிக்கையின் அடிப்படையில், நாங்கள் 0 முதல் 7 வரை மீண்டும் கணக்கிடுகிறோம். செயல்பாடு பவ் (அடிப்படை, பட்டம்)லூப் கவுண்டரின் சக்திக்கு 2 ஐ உயர்த்துகிறது. "இரட்டை" வகை எண்களுடன் மைக்ரோகண்ட்ரோலர்கள் மிகவும் துல்லியமாக வேலை செய்யாது, எனவே முடிவை முழு எண்ணாக மாற்ற ரவுண்டிங் செயல்பாட்டைப் பயன்படுத்துகிறோம். சுற்று (). இதன் விளைவாக வரும் எண்ணை ஷிப்ட் பதிவேட்டில் மாற்றுகிறோம். தெளிவுக்காக, தொடர் போர்ட் மானிட்டர் இந்த செயல்பாட்டின் போது பெறப்பட்ட மதிப்புகளைக் காட்டுகிறது: அலகு வெளியேற்றங்கள் மூலம் "இயங்குகிறது" - LED கள் ஒரு அலையில் ஒளிரும்.

    6 "ஓடும் அலை" LED களில் இருந்து

    LED கள் ஒவ்வொன்றாக ஒளிரும், மேலும் விளக்குகளின் இயங்கும் "அலையை" நாங்கள் கவனிக்கிறோம். எல்.ஈ.டி ஷிப்ட் பதிவேட்டைப் பயன்படுத்தி கட்டுப்படுத்தப்படுகிறது, நாங்கள் SPI இடைமுகம் வழியாக இணைக்கப்பட்டுள்ளோம். இதன் விளைவாக, 8 LED களைக் கட்டுப்படுத்த 3 Arduino பின்கள் மட்டுமே பயன்படுத்தப்படுகின்றன.எல்இடிகளை நேரடியாக அர்டுயினோவின் டிஜிட்டல் போர்ட்களுடன் இணைத்தால், ஒவ்வொரு எல்இடிக்கும் தனித்தனி போர்ட்டைப் பயன்படுத்த வேண்டும்.

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