Mündəricat:
- Addım 1: SERİ VS. Paralel Əlaqə
- Addım 2:
- Addım 3:
- Addım 4: SPI ƏLAQƏSİNƏ GİRİŞ
- Addım 5:
- Addım 6:
- Addım 7:
- Adım 8: SPI NECƏ İŞLƏYİR
- Addım 9:
- Addım 10:
- Addım 11:
- Addım 12:
- Addım 13: SPI -nin üstünlükləri və dezavantajları
Video: SPI ƏLAQƏ PROTOKOLUNUN ƏSASLARI: 13 Addım
2024 Müəllif: John Day | [email protected]. Son dəyişdirildi: 2024-01-30 07:47
Bir mikrokontrolörü bir sensora, ekrana və ya başqa bir modula bağladığınız zaman, iki cihazın bir -biri ilə necə danışdığını heç düşünürsünüzmü? Tam olaraq nə deyirlər? Bir -birlərini necə başa düşə bilərlər?
Elektron cihazlar arasındakı ünsiyyət insanlar arasındakı ünsiyyət kimidir. Hər iki tərəfin eyni dildə danışması lazımdır. Elektronikada bu dillərə ünsiyyət protokolları deyilir. Xoşbəxtlikdən, DIY elektronika layihələrinin çoxunu qurarkən bilməli olduğumuz bir neçə ünsiyyət protokolu var. Bu məqalə seriyasında, ən çox yayılmış üç protokolun əsaslarını müzakirə edəcəyik: Serial Periferik İnterfeys (SPI), İnteqrasiya edilmiş Dövrə (I2C) və Universal Asenkron Alıcı/Verici (UART) idarə olunan ünsiyyət. Əvvəlcə elektron ünsiyyət haqqında bəzi əsas anlayışlarla başlayacağıq, sonra SPI -nin necə işlədiyini ətraflı izah edəcəyik. Növbəti məqalədə, UART idarəedici ünsiyyətdən bəhs edəcəyik və üçüncü məqalədə I2C -yə girəcəyik. SPI, I2C və UART USB, ethernet, Bluetooth və WiFi kimi protokollardan bir qədər yavaşdır, lakin daha sadədir və daha az aparat və sistem resurslarından istifadə edir. SPI, I2C və UART mikrokontrollerlər arasında və böyük miqdarda yüksək sürətli məlumatların ötürülməsinə ehtiyac duyulmayan mikro nəzarətçilər və sensorlar arasında ünsiyyət üçün idealdır.
Addım 1: SERİ VS. Paralel Əlaqə
Elektron qurğular, qurğular arasında fiziki olaraq bağlı olan tellər vasitəsilə bit məlumat göndərməklə bir -biri ilə danışır. Bit, sözdəki hərf kimidir, 26 hərfin əvəzinə (İngilis əlifbasında) bit ikili və yalnız 1 və ya 0 ola bilər. Bitlər bir cihazdan digərinə gərginliyin sürətli dəyişməsi ilə ötürülür. 5 V -də işləyən bir sistemdə 0 bit, 0 V qısa bir nəbz, 1 bit isə 5 V -lik qısa bir nəbz ilə ötürülür.
Məlumatların bitləri paralel və ya ardıcıl olaraq ötürülə bilər. Paralel ünsiyyətdə, məlumatların bitləri eyni anda, hər biri ayrı bir tel vasitəsilə göndərilir. Aşağıdakı diaqram ikili (01000011) "C" hərfinin paralel ötürülməsini göstərir:
Addım 2:
Serial ünsiyyətdə bitlər tək bir tel vasitəsilə bir -bir göndərilir. Aşağıdakı diaqram, "C" hərfinin ikili olaraq (01000011) serial ötürülməsini göstərir:
Addım 3:
Addım 4: SPI ƏLAQƏSİNƏ GİRİŞ
SPI, bir çox fərqli cihaz tərəfindən istifadə edilən ümumi bir əlaqə protokoludur. Məsələn, SD kart modulları, RFID kart oxuyan modulları və 2.4 GHz simsiz ötürücü/alıcıların hamısı mikro nəzarətçilərlə ünsiyyət qurmaq üçün SPI istifadə edir.
SPI -nin bənzərsiz bir üstünlüyü, məlumatların fasiləsiz ötürülməsidir. İstənilən sayda bit davamlı axında göndərilə və ya qəbul edilə bilər. I2C və UART ilə məlumatlar müəyyən sayda bitlərlə məhdudlaşaraq paket şəklində göndərilir. Başlama və dayandırma şərtləri hər paketin başlanğıcını və sonunu təyin edir, buna görə də ötürülmə zamanı məlumatlar kəsilir. SPI vasitəsilə ünsiyyət qurğuları usta-qul münasibətindədir. Usta idarəetmə qurğusudur (ümumiyyətlə mikrokontrolör), qul (adətən sensor, ekran və ya yaddaş çipi) ustadan təlimat alır. SPI -nin ən sadə konfiqurasiyası tək bir master, tək qul sistemidir, lakin bir master birdən çox qulu idarə edə bilər (aşağıda bu barədə daha çox).
Addım 5:
Addım 6:
MOSI (Master Çıxış/Slave Giriş) - Masterin kölə məlumat göndərməsi üçün xətt.
MISO (Master Input/Slave Output) - Qulun məlumatı ustaya göndərməsi üçün xətt.
SCLK (Clock) - Saat siqnalı üçün xətt.
SS/CS (Slave Select/Chip Select) - Məlumatın hansı qula göndəriləcəyini seçmək üçün ustanın xətti
Addım 7:
*Praktikada qulların sayı sistemin yük tutumu ilə məhdudlaşır ki, bu da ustanın gərginlik səviyyələri arasında dəqiq keçmə qabiliyyətini azaldır.
Adım 8: SPI NECƏ İŞLƏYİR
SAAT
Saat siqnalı, məlumat bitlərinin masterdan qul tərəfindən bitlərin seçilməsinə qədər sinxronlaşdırılır. Hər saat dövrəsində bir bit məlumat ötürülür, buna görə də məlumat ötürmə sürəti saat siqnalının tezliyi ilə müəyyən edilir. Master saat siqnalını konfiqurasiya etdiyindən SPI ünsiyyəti həmişə usta tərəfindən başlanır.
Cihazların bir saat siqnalını paylaşdığı hər hansı bir əlaqə protokolu sinxron olaraq tanınır. SPI, sinxron bir əlaqə protokoludur. Saat siqnalından istifadə etməyən asinxron üsullar da var. Məsələn, UART ünsiyyətində hər iki tərəf məlumat ötürmə sürətini və vaxtını diktə edən əvvəlcədən konfiqurasiya edilmiş baud sürətinə qurulmuşdur.
SPI -də saat siqnalı saat polaritesinin və saat fazasının xüsusiyyətlərindən istifadə edərək dəyişdirilə bilər. Bu iki xüsusiyyət, bitlərin nə vaxt çıxarıldığını və nümunə götürüldüklərini təyin etmək üçün birlikdə işləyir. Saat qütblülüyü, bit saatlarının yüksələn və ya düşən kənarında bitlərin çıxmasına və nümunələnməsinə icazə vermək üçün usta tərəfindən təyin edilə bilər. Saat fazası, yüksəlmə və ya düşmədən asılı olmayaraq saat dövrünün ya birinci kənarında, ya da ikinci kənarında baş verməsi və seçilməsi üçün təyin edilə bilər.
QUL SEÇMƏ
Usta, qulun CS/SS xəttini aşağı gərginlik səviyyəsinə qoyaraq hansı qulla danışmaq istədiyini seçə bilər. Boş, ötürməyən vəziyyətdə, qul seçmək xətti yüksək gərginlik səviyyəsində saxlanılır. Masterda birdən çox qulun paralel bağlanmasına imkan verən birdən çox CS/SS pinləri ola bilər. Yalnız bir CS/SS pin varsa, birdən çox qul papatya zənciri ilə ustaya bağlana bilər.
ÇOX QUL SPI
tək bir usta və tək bir qulla işləmək üçün qurula bilər və tək bir master tərəfindən idarə olunan birdən çox qulla qurula bilər. Ustaya birdən çox qul bağlamağın iki yolu var. Ustada birdən çox qul seçmək pimi varsa, qullar paralel olaraq belə bağlana bilər:
Addım 9:
Addım 10:
MOSI və MISO
Usta, məlumatları MOSI xətti ilə ardıcıl olaraq tədricən kölə göndərir. Qul ustadan göndərilən məlumatları MOSI pinində alır. Ağadan qula göndərilən məlumatlar ümumiyyətlə əvvəlcə ən əhəmiyyətli bitlə göndərilir. Qul, eyni zamanda serialdakı MISO xətti ilə məlumatları ustaya geri göndərə bilər. Qulun ustaya geri göndərdiyi məlumatlar ümumiyyətlə əvvəlcə ən az əhəmiyyətli bit ilə göndərilir. SPI DATA TRANSMISSION ADIMLARI 1. Usta saat siqnalını çıxarır:
Addım 11:
Yalnız bir qul seçmə pimi varsa, qullar belə papatya ilə bağlana bilər:
Addım 12:
MOSI və MISO
Usta, məlumatları MOSI xətti ilə ardıcıl olaraq tədricən kölə göndərir. Qul ustadan göndərilən məlumatları MOSI pinində alır. Ağadan qula göndərilən məlumatlar ümumiyyətlə əvvəlcə ən əhəmiyyətli bitlə göndərilir.
Qul eyni zamanda serialdakı MISO xətti vasitəsilə məlumatları ustaya geri göndərə bilər. Qulun ustaya geri göndərdiyi məlumatlar ümumiyyətlə əvvəlcə ən az əhəmiyyətli hissə ilə göndərilir.
SPI VERİLƏRİNİN ADIMLARI
*Qeyd Şəkilləri asanlıqla ayırd edə biləcəyiniz Oboe siyahısına salınmışdır
1. Usta saat siqnalını verir:
2. Usta, SS/CS pinini qulu aktivləşdirən aşağı gərginlik vəziyyətinə keçir:
3. Usta birdən -birə məlumatları MOSI xətti boyunca qula göndərir. Qul bitləri aldıqları kimi oxuyur:
4. Cavab lazımdırsa, qul MISO xətti boyunca məlumatları bir -bir ustaya qaytarır. Usta bitləri aldıqları kimi oxuyur:
Addım 13: SPI -nin üstünlükləri və dezavantajları
SPI istifadə etməyin bəzi üstünlükləri və dezavantajları var və fərqli ünsiyyət protokolları arasında seçim verilsə, layihənizin tələblərinə uyğun olaraq SPI -dən nə vaxt istifadə edəcəyinizi bilməlisiniz:
AVANTAJLAR
Başlanğıc və dayandırma bitləri yoxdur, buna görə də məlumatlar fasiləsiz olaraq axın edilə bilər I2C kimi mürəkkəb bir kölə ünvanlama sistemi yoxdur I2C -dən daha yüksək məlumat ötürmə sürəti (demək olar ki, iki dəfə sürətli) Ayrı MISO və MOSI xətləri, beləliklə məlumatlar eyni zamanda göndərilə və qəbul edilə bilər. vaxt
Dezavantajlar
Dörd teldən istifadə edir (I2C və UART -dan ikisi istifadə olunur) Məlumatların uğurla alındığını təsdiq etmirlər (I2C -də belə var) UART -da paritet bit kimi yoxlanılan heç bir xəta forması yalnız bir ustaya imkan vermir İnşallah bu məqalə sizə daha yaxşı başa düşməyinizə imkan verir SPI -dən. UART idarə olunan ünsiyyət haqqında məlumat əldə etmək üçün bu seriyanın ikinci hissəsinə və ya I2C protokolunu müzakirə etdiyimiz üçüncü hissəyə davam edin.
Hər hansı bir sualınız varsa, şərh bölməsində soruşmaqdan çekinmeyin, kömək etmək üçün buradayıq. Və mütləq izləyin
Hörmətlə: M. Cunaid
Tövsiyə:
Arduino, Esp8266 və ya Esp32 üçün aşağı qiymətli E32 (sx1278/sx1276) cihazı ilə LoRa 3Km -dən 8Km -ə qədər Simsiz Əlaqə: 15 Addım
Arduino, Esp8266 və ya Esp32 üçün E32 (sx1278/sx1276) Cihazı ilə LoRa 3Km -dən 8Km -ə qədər Simsiz Əlaqə: Çox güclü, sadə və ucuz bir cihaz olan LoRa cihazının Semtech seriyasına əsaslanan EBYTE E32 -ni idarə etmək üçün bir kitabxana yaradıram. Buradakı 3Km versiyası, Buradakı 8Km versiyası 3000m -dən 8000m -ə qədər məsafədə işləyə bilərlər və bir çox xüsusiyyətlərə malikdirlər
Veb Server olaraq Esp8266 istifadə edərək Əlaqə ilə Qaraj Qapı Açacağı .: 6 Addım
Esp8266 Veb Server olaraq İstifadə Edilən Əlaqə ilə Qaraj Qapı Açacağı. Salam, sizə qaraj qapısı açmağın sadə bir yolunu göstərəcəyəm. Əlaqə, biləcəksiniz ki, qapı real vaxtda açıq və ya yaxındır-Sadə, bunu etmək üçün yalnız bir qısa yol
Raspberry Pi və Relay istifadə edərək bir cihazı necə idarə etmək olar - ƏSASLARI: 6 addım
Raspberry Pi və Röleyi istifadə edərək bir cihazı necə idarə etmək olar - ƏSASLARI: Bu, IoT Layihələri hazırlamaq üçün faydalı olan Raspberry Pi və Relay istifadə edərək cihazı idarə etmək üçün əsas və düz bir dərsdir. Bu dərs yeni başlayanlar üçündür, Moruqdan istifadə haqqında sıfır biliyiniz olsa belə davam edin
UART ÜSTÜNÜN ƏSASLARI: 16 Addım
UART ÜZERİNDƏN ƏSASLARI: Yazıcıların, siçanların və modemlərin o böyük yapışqan konnektorlar ilə qalın kabellərə malik olduğunu xatırlayırsınızmı? Kompüterinizə girmək məcburiyyətində qalanlar? Bu cihazlar, ehtimal ki, kompüterinizlə ünsiyyət qurmaq üçün UART -lərdən istifadə edirdi. USB -də almos olsa da
Pi üzərində İlkin* SPI: Bir Moruq Pi istifadə edərək bir SPI 3 oxlu Accelerometer ilə əlaqə: 10 addım
Pi üzərində İlkin* SPI: Raspberry Pi istifadə edərək bir SPI 3 eksenli Accelerometer ilə əlaqə qurmaq: Raspbian qurmaq və bcm2835 SPI kitabxanasından istifadə edərək bir SPI cihazı ilə ünsiyyət qurmaq üçün addım-addım bələdçi (bit vurmadı!) Bu hələ də çox ilkin … Fiziki bağlanmanın daha yaxşı şəkillərini əlavə etməli və bəzi yöndəmsiz kodlardan keçməliyəm