Scroll to Top

SPI Protocol – Sensor checking by reading Chip ID

SPI protocol

SPI (Serial Peripheral Interface) ഒരു ഹൈ-സ്പീഡ് സീരിയൽ കമ്മ്യൂണിക്കേഷൻ പ്രോട്ടോക്കോൾ ആണ്. മൈക്രോ കണ്ട്രോളർ ഒരു സെൻസർ, മെമ്മറി ചിപ്പ്, ADC/DAC അല്ലെങ്കിൽ മറ്റേതെങ്കിലും പെരിഫറൽ ഡിവൈസുമായി ഡാറ്റ കൈമാറ്റം ചെയ്യാനാണ് ഇത് ഉപയോഗിക്കുന്നത്.

🔷 SPI യിലെ പ്രധാന CONNECTIONS ആണ് താഴെ കാണിച്ചിരിക്കുന്നത്

SPI-യ്ക്ക് സാധാരണയായി 4 ലൈനുകളുണ്ട്:

1️⃣ MOSI — Master Out, Slave In

മാസ്റ്റർ അയക്കുന്ന ഡാറ്റ സ്ലേവിലേക്ക് പോകുന്ന ലൈൻ.

2️⃣ MISO — Master In, Slave Out

സ്ലേവ് അയക്കുന്ന ഡാറ്റ മാസ്റ്ററിലേക്ക് പോകുന്ന ലൈൻ.

3️⃣ SCK (Serial Clock)

മാസ്റ്റർ നിര്‍മ്മിക്കുന്ന ക്ലോക്ക് സിഗ്നൽ; ഇതിന്റെ എഡ്ജ്‌ അടിസ്ഥാനമാക്കി ഡാറ്റ റീഡ്/റൈറ്റ് നടക്കുന്നു.

4️⃣ CS / SS (Chip Select / Slave Select)

എന്ത് സ്ലേവുമായി സംസാരിക്കണമെന്ന് മാസ്റ്റർ ഈ ലൈൻ ഉപയോഗിച്ച് തീരുമാനിക്കുന്നു.
Low (0) ആക്കുമ്പോൾ സ്ലേവ് ആക്റ്റീവ് ആവുന്നു.

SPI പ്രോട്ടോകോള്‍ വഴി DATA COMMUNICATION നടക്കുന്ന രീതി താഴെ കാണിച്ചിരിക്കുന്നു

1. മാസ്റ്റർ CS = LOW ആക്കി സ്ലേവിനെ സെലക്റ്റ് ചെയ്യും.

2. മാസ്റ്റർ SCK clock നൽകിത്തുടങ്ങും.

3. മാസ്റ്ററിലെ MOSI ലൈനിൽ ഡാറ്റ ഷിഫ്റ്റ് ഔട്ട് ചെയ്യും.

4. സ്ലേവ് MISO ലൈനിൽ തിരിച്ചുള്ള ഡാറ്റ ഷിഫ്റ്റ് ഔട്ട് ചെയ്യും.

5. ഓരോ ക്ലോക്ക് എഡ്ജിലും (rising/falling) ബിറ്റ് മാറും.

6. ഡാറ്റ ട്രാൻസ്ഫർ പൂർത്തിയാക്കിയ ശേഷം CS = HIGH ആക്കി കമ്മ്യൂണിക്കേഷൻ അവസാനിപ്പിക്കും.

BMP282 SENSOR CHIP ID READING BY ARDUINO – TO CHECK SENSOR OK OR NOT 

നമ്മള്‍ ഇവിടെ ATMOSPHERIC BAROMETRIC SENSOR ആയ BMP282 ആണ് ചെക്ക്‌ ചെയ്യാന്‍ പോവുന്നത്. SCHEMATIC DIAGRAM താഴെ കൊടുത്തിരിക്കുന്നു. 

താഴെ കാണിച്ചിരിക്കുന്ന രീതിയില്‍ CONNECTIONS ചെയുത ശേഷം HEX ഫയല്‍ ARDUINO യില്‍ ഫ്ലാഷ് ചെയ്തു സീരിയല്‍ MONITOR ഉപയോഗിച്ച് CHIP ID റീഡ് ചെയ്യാം

🔷 SPI-ന്റെ പ്രധാന ഗുണങ്ങൾ

✔️ Clock-based communication കൊണ്ട് ഉയർന്ന സ്പീഡ്

✔️ I²C-നെക്കാൾ വേഗം
✔️ Full-duplex communication (ഒരേ സമയം അയക്കാനും സ്വീകരിക്കാനും കഴിയും)
✔️ Simple protocol
✔️ Low latency
✔️ Multiple slaves connect ചെയ്യാം
✔️ Real-time sensors (BMP280, MPU6050 SPI mode മുതലായവ)ക്ക് ഏറ്റവും അനുയോജ്യം

🔷 SPI-യുടെ DEMERITS

❌ കൂടുതൽ വയറുകൾ വേണ്ടിവരും
❌ Large PCB designs-ൽ routing hard
❌ Distance communication-ക്ക് അനുയോജ്യമല്ല
❌ Multi-master support ഇല്ല

SPI (Serial Peripheral Interface) ഒരു ഹൈ-സ്പീഡ് സീരിയൽ കമ്മ്യൂണിക്കേഷൻ ക്ക്പോക്കടോക്കേോൾ ആണ്. ഹൈക്ക്കോ കക്ക്രോളർ ഒരു സസൻസർ, സൈമ്മ്റി ചിപ്പ്, ADC/DAC അസലെങ്കിൽ ൈക്കേസെങ്കിലുും സപരിഫറൽ ഡിഹൈസുൈോയി ഡോേ ഹകൈോേും സചയ്യോനോണ് ഇത് ഉപക്കയോഗിേുന്ധത്.

കൂടുതല്‍ വിവരങ്ങള്‍ക്കായി ഞങ്ങളെ ബന്ധപ്പെടാം, 

download pdf here:

https://www.mediafire.com/file/tzeezhjxb5lk4i4/SPI+protocol.pdf/file

GitHub link for full code and documentation:

https://github.com/gsmanees/Embedded_Systems/tree/main/AVR/bmp280_temp/bmp280_temp

Leave a Comment

Your email address will not be published. Required fields are marked *

Scroll to Top