Arduino IDE ஐப் பயன்படுத்தி ESP32 இல் SPI (தொடர் புற இடைமுகம்).

Arduino Ide Aip Payanpatutti Esp32 Il Spi Totar Pura Itaimukam



ESP32 பலகைகள் பல தொடர்பு நெறிமுறைகளுக்கான ஆதரவைக் கொண்டுள்ளன. இந்த நெறிமுறைகளில் தொடர் USART, I2C (IIC) மற்றும் SPI ஆகியவை அடங்கும். இந்த ESP32 போர்டுகளுடன் WiFi, dual Bluetooth, ESP-Now, LoRa மற்றும் பல போன்ற வயர்லெஸ் தகவல் தொடர்பு நெறிமுறைகளும் உள்ளன. இன்று நாம் ESP32 SPI (Serial Peripheral interface) நெறிமுறையில் கவனம் செலுத்துவோம்.

ESP32 இல் SPI (தொடர் புற இடைமுகம்).

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







SPI தகவல்தொடர்பு மாஸ்டர் ஸ்லேவ் உள்ளமைவை எப்போதும் ஆதரிக்கிறது ஒன்று குரு அது பல அடிமைகளை கட்டுப்படுத்துகிறது. அது ஒரு முழு இரட்டை தகவல்தொடர்பு, எனவே எஜமானரிடமிருந்து அடிமை மற்றும் அடிமைக்கு எஜமானர் வரை தரவுகளை ஒரே நேரத்தில் பரிமாறிக்கொள்ள முடியும்.




ESP32 இல் SPI தொடர்பு தேவை நான்கு சாதனங்களுக்கு தரவை அனுப்பவும் பெறவும் வெவ்வேறு பின்கள். அந்த நான்கு ஊசிகள் பின்வருமாறு:



  1. எஸ்சிகே: கடிகார கோடு பரிமாற்ற வேகத்தை தீர்மானிக்கிறது
  2. MISO: மாஸ்டர் இன் ஸ்லேவ் அவுட் என்பது ஸ்லேவிலிருந்து மாஸ்டருக்கு டிரான்ஸ்மிஷன் முள் ஆகும்
  3. புகை: மாஸ்டர் அவுட் ஸ்லேவ் இன் என்பது மாஸ்டர் டேட்டாவை ஸ்லேவிற்கான டிரான்ஸ்மிஷன் லைன் ஆகும்
  4. SS: ஸ்லேவ் செலக்ட் லைன் ESP32க்கு ஒரு குறிப்பிட்ட அடிமையைத் தேர்ந்தெடுத்து அந்த அடிமையிடமிருந்து தரவை அனுப்ப அல்லது பெற உதவுகிறது

குறிப்பு: அடிமையாக மட்டுமே இருக்கும் சில சாதனங்கள், அவற்றின் முள் பெயரிடல் வேறுபட்டது:





    • MISO உடன் மாற்றப்படுகிறது SDO (தொடர் தரவு அவுட்)
    • புகை உடன் மாற்றப்படுகிறது SDI (தொடர் தரவு உள்ள)

ESP32 இல் SPI பின்கள்

ESP32 போர்டு வருகிறது 4 பல்வேறு SPI சாதனங்கள் அதன் மைக்ரோகண்ட்ரோலருடன் ஒருங்கிணைக்கப்பட்டுள்ளன.

    • SPI0: உள் நினைவக தகவல்தொடர்புக்கு மட்டுமே- வெளிப்புற SPI சாதனங்களுடன் பயன்படுத்த முடியாது
    • SPI1: உள் நினைவக தகவல்தொடர்புக்கு மட்டுமே- வெளிப்புற SPI சாதனங்களுடன் பயன்படுத்த முடியாது
    • SPI2: (HSPI) சுயாதீன பஸ் சிக்னல்களைக் கொண்டுள்ளது. ஒவ்வொரு பேருந்தும் பெறலாம் 3 அடிமை சாதனங்கள்
    • SPI3: (VSPI) பஸ் சிக்னல் சுயாதீனமானது. ஒவ்வொரு பேருந்தும் பெறலாம் 3 அடிமை சாதனங்கள்

பெரும்பாலான ESP32 பலகைகள் SPI2 மற்றும் SPI3 இரண்டிற்கும் முன்பே ஒதுக்கப்பட்ட SPI பின்களுடன் வருகின்றன. இருப்பினும், ஒதுக்கப்படவில்லை என்றால், குறியீட்டில் SPI பின்களை எப்போதும் ஒதுக்கலாம். முன்னரே ஒதுக்கப்பட்ட பெரும்பாலான ESP32 போர்டில் காணப்படும் SPI பின்கள் பின்வருமாறு:



SPI இடைமுகம் புகை MISO எஸ்சிஎல்கே சிஎஸ்
VSPI ஜிபிஐஓ 23 ஜிபிஐஓ 19 ஜிபிஐஓ 18 ஜிபிஐஓ 5
எச்எஸ்பிஐ GPIO 13 GPIO 12 GPIO 14 GPIO 15



மேலே குறிப்பிட்டுள்ள SPI பின்கள் பலகை வகையைப் பொறுத்து மாறுபடும். இப்போது Arduino IDE ஐப் பயன்படுத்தி ESP32 SPI பின்களை சரிபார்க்க ஒரு குறியீட்டை எழுதுவோம்.

ESP32 இயல்புநிலை SPI பின்களை எவ்வாறு கண்டறிவது

கீழே எழுதப்பட்ட குறியீடு ESP32 போர்டில் இயல்புநிலை SPI பின்களைக் கண்டறிய உதவும். Arduino IDE ஐ PC உடன் இணைக்க ESP32 ஐ திறந்து, சரியான போர்ட்டைத் தேர்ந்தெடுத்து குறியீட்டைப் பதிவேற்றவும். பின்னர் வெளியீடு காத்திருக்கவும். அவ்வளவுதான்! அது எவ்வளவு எளிமையானது

ESP32 இயல்புநிலை SPI பின்களைக் கண்டறிய குறியீடு

கீழே கொடுக்கப்பட்டுள்ள குறியீடு சீரியல் மானிட்டரில் ESP32 இயல்புநிலை SPI பின்களை அச்சிடும்.

வெற்றிட அமைப்பு ( ) {
தொடர்.தொடங்கு ( 115200 ) ;
தொடர்.அச்சு ( 'MOSI GPIO பின்:' ) ;
Serial.println ( புகை ) ;
தொடர்.அச்சு ( 'MISO GPIO பின்:' ) ;
Serial.println ( MISO ) ;
தொடர்.அச்சு ( 'SCK GPIO பின்:' ) ;
Serial.println ( எஸ்சிகே ) ;
தொடர்.அச்சு ( 'SS GPIO பின்:' ) ;
Serial.println ( எஸ்.எஸ் ) ;
}
வெற்றிட வளையம் ( ) {
}


குறியீடு பாட் வீதத்தை வரையறுப்பதன் மூலம் தொடங்குகிறது மற்றும் ESP32 SPI தொடர்பு நெறிமுறைக்கான இயல்புநிலை GPIO பின்னை அழைப்பதன் மூலம் தொடர்கிறது.

வெளியீடு

இங்கே எங்கள் விஷயத்தில் சீரியல் மானிட்டர் முறையே MOSI, MISO, SCK மற்றும் SSக்கான பின் 23, 19, 18 மற்றும் 5 ஐக் காட்டுகிறது.

ESP32 இல் தனிப்பயன் SPI பின்களை எவ்வாறு பயன்படுத்துவது

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

Arduino IDE எடிட்டரில் கீழே கொடுக்கப்பட்டுள்ள குறியீட்டை உள்ளிடவும்.

# அடங்கும்
வெற்றிட அமைப்பு ( ) {
தொடர்.தொடங்கு ( 115200 ) ;
தொடர்.அச்சு ( 'இயல்புநிலை MOSI GPIO பின்:' ) ;
Serial.println ( புகை ) ;
தொடர்.அச்சு ( 'இயல்புநிலை MISO GPIO பின்:' ) ;
Serial.println ( MISO ) ;
தொடர்.அச்சு ( 'இயல்புநிலை SCK GPIO பின்:' ) ;
Serial.println ( எஸ்சிகே ) ;
தொடர்.அச்சு ( 'இயல்புநிலை SS GPIO பின்:' ) ;
Serial.println ( எஸ்.எஸ் ) ;
#SCK 25 ஐ வரையறுக்கவும்
#MISO 32 ஐ வரையறுக்கவும்
MOSI 26 ஐ வரையறுக்கவும்
#CS 33 ஐ வரையறுக்கவும்
/* லைப்ரரி_பெயர் சென்சார்_பெயர் ( CS, MOSI, MISO, SCK ) ; // புதிய SPI பின்களை அழைக்கவும் */
தொடர்.அச்சு ( 'MOSI NEW GPIO பின்:' ) ;
Serial.println ( புகை ) ;
தொடர்.அச்சு ( 'MISO NEW GPIO பின்:' ) ;
Serial.println ( MISO ) ;
தொடர்.அச்சு ( 'SCK புதிய GPIO பின்:' ) ;
Serial.println ( எஸ்சிகே ) ;
தொடர்.அச்சு ( 'SS NEW GPIO பின்:' ) ;
Serial.println ( எஸ்.எஸ் ) ;
}
வெற்றிட வளையம் ( ) {
}


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

வெளியீடு

தொடர் மானிட்டரில் காட்டப்படும் வெளியீடு ESP32 போர்டுக்கான அனைத்து புதிய SPI பின்களையும் அச்சிடுகிறது.

பல SPI சாதனங்களுடன் ESP32

ESP32 இரண்டு SPI பேருந்துகளைக் கொண்டுள்ளது, மேலும் ஒவ்வொரு பேருந்தும் கட்டுப்படுத்த முடியும் 3 ESP32 இன் SPI ஐப் பயன்படுத்தி மொத்தம் 6 சாதனங்களைக் கட்டுப்படுத்த முடியும். மேலும் சாதனங்களைக் கட்டுப்படுத்த, நாம் வெவ்வேறு மல்டிபிளெக்சிங் நுட்பங்களைப் பயன்படுத்தலாம்.

பல அடிமை சாதனங்களை ESP32 கட்டுப்படுத்தும் போது, ​​MISO ஆகிய மூன்று வரிகளும் அவர்களுக்கு முதன்மையாக செயல்படும், MOSI SCLK அவர்களுக்கு ஒரே வித்தியாசம் CS கடிகார சமிக்ஞை வரி மட்டுமே. ஸ்லேவ் சாதனத்திற்கு தரவை அனுப்ப, அந்த ஸ்லேவ் சாதனத்தின் சிஎஸ் பின் குறைவாக அமைக்கப்பட வேண்டும்.


CS ஐ குறைந்ததாக அமைக்க விரும்பினால் பின்வரும் தொடரியல் பின்பற்றப்படும்.

டிஜிட்டல் ரைட் ( சிஎஸ், குறைந்த ) ;


வேறு எந்த சாதனத்திலிருந்தும் தரவைப் படிக்க விரும்புகிறோம் என்று வைத்துக்கொள்வோம், எனவே அதை முடக்க முதல் அடிமை சாதனத்தின் CS பின்னை HIGH ஆக அமைக்க வேண்டும்.

டிஜிட்டல் ரைட் ( CS_1, உயர் ) ; // SLAVE இன் CS பின்னை முடக்கு 1
டிஜிட்டல் ரைட் ( CS_2, குறைந்த ) ; // SLAVE இன் CS பின்னை இயக்கவும் இரண்டு

முடிவுரை

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