Serial Peripheral Interface



Download 248 Kb.
bet1/3
Sana31.12.2021
Hajmi248 Kb.
#200313
  1   2   3
Bog'liq
Документ Microsoft Word


Serial Peripheral Interface

SPI (inglizcha seriyali periferik interfeys, SPI bus - ketma-ket periferik interfeys, SPI bus) - to'liq dupleks rejimda ma'lumotlarni uzatishning ketma-ket sinxron standarti, mikrokontroller va atrof-muhit birliklarining oddiy va arzon yuqori tezlikda interfeysini ta'minlash uchun mo'ljallangan. Ba'zida SPI to'rt simli deb ham ataladi.

Standart ketma-ket portdan farqli o'laroq, SPI har qanday uzatishni asosiy qurilma (protsessor) tomonidan ishlab chiqarilgan umumiy soat signali bilan sinxronlashtiriladigan sinxron interfeysdir. Qabul qiluvchi (qul) atrof-muhit bit ketma-ketligini qabul qilishni soat signali bilan sinxronizatsiya qiladi. Bir nechta IClar chip masterining bitta ketma-ket periferik interfeysiga ulanishi mumkin. Xo'jayin qul chipidagi chipni tanlash signalini faollashtirish orqali uzatish uchun qulni tanlaydi. Protsessor tomonidan tanlanmagan atrof-muhit birliklari SPI uzatishda qatnashmaydi.

SPI to'rtta raqamli signallardan foydalanadi:

MOSI - Master Out Slave In. Ma'lumotlarni xo'jayindan qulga o'tkazish uchun xizmat qiladi.

MISO - Master In Slave Out. Quldan xo'jayinga ma'lumot uzatish uchun xizmat qiladi.

SCLK yoki SCK - ketma-ket soat. Soat signalini qullarga etkazish uchun xizmat qiladi.

CS yoki SS - Chip Select, Slave Select.

Maxsus SPI port nomlari qo'shimcha qurilmalar ishlab chiqaruvchisiga qarab o'zgarishi mumkin, quyidagi variantlar mavjud:

MISO: SOMI, SDO (qurilmada), DO, DON, SO, MRSR;

MOSI: SIMO, SDI (qurilmada), DI, DIN, SI, MTST;

SCLK: SCK, CLK, SPC (SPI ketma-ket port soati);

SS: nCS, CS, CSB, CSN, NSS, nSS, STE, SYNC.

Ma'lumotlar liniyalaridagi bit tezligi master tomonidan yaratilgan SCK soati bilan belgilanadi, qullar soat tezligidan foydalanib ma'lumotlar uzatish liniyasidagi bitlar qachon o'zgarishini aniqlaydilar. Ham xo'jayin, ham xizmatkor sinxronlash pulsi (bit) hisoblagichiga ega. Qul qurilmasidagi hisoblagich ikkinchisiga paket uzatilishini tugatish momentini aniqlashga imkon beradi. Hisoblagich SPI quyi tizimi o'chirilganda o'chiriladi, u har doim masterda mavjud. Qulda hisoblagich odatda SS interfeysi signalini o'chirish orqali tiklanadi.

Asosiy va qul qurilmalarining harakatlari bir xil signal bilan taqqoslanganligi sababli, ushbu signalning barqarorligiga hech qanday talablar qo'yilmaydi, faqat sekinroq qurilmaning maksimal ish chastotasi bilan belgilanadigan yarim davrlar davomiyligi cheklangan. . Bu SPI-ni barqarorligi past stavkalari bo'lgan tizimlarda ishlatishga imkon beradi, shuningdek magistrning dasturiy ta'minotini taqlid qilishni osonlashtiradi.

Transmissiya paketlarda amalga oshiriladi. Paket uzunligi, qoida tariqasida, 1 baytni (8 bit) tashkil etadi, boshqa paket uzunlikdagi SPI dasturlari ma'lum, masalan, 4 bit. Magistr qulni tanlash pimini past darajaga o'rnatib, aloqa tsiklini boshlaydi. (Signal past bo'lganda:

qullar sxemasi faol;

MISO pimi "chiqish" rejimiga o'tkaziladi;

Xodimdan SCLK soat signali qul tomonidan qabul qilinadi va masterdan uzatiladigan qiymatlarning MOSI kiritilishida o'qilishini va qulning registri siljishini keltirib chiqaradi.

O'tkaziladigan asosiy va qul ma'lumotlari smenali registrlarga joylashtiriladi. Shundan so'ng usta SCLK liniyasida sinxronlash impulslarini ishlab chiqarishni boshlaydi, natijada ma'lumotlar o'zaro almashinadi. Ma'lumotlarni uzatish MOSI liniyasidagi masterdan va MISO liniyasidagi quldan birma-bir amalga oshiriladi. Transmissiya, qoida tariqasida, eng muhim bitlardan boshlab amalga oshiriladi, ammo ba'zi ishlab chiqaruvchilar bitlarni dasturiy ta'minot usullari bilan uzatish tartibini o'zgartirishga imkon beradi. Har bir ma'lumotlar to'plami uzatilgandan so'ng, usta SSL satrini yuqori darajaga etkazishi mumkin, chunki u qulni sinxronlashi mumkin.



Ma'lumot signallariga nisbatan SCLK signalining faza (CPHA) va qutblanish (CPOL) to'rtta kombinatsiyasi mavjud. Ishlash rejimlari CPHA va CPOL bitlarining kombinatsiyasi bilan belgilanadi:

CPOL = 0 - sinxronizatsiya signali past darajadan boshlanadi;

CPOL = 1 - sinxronizatsiya signali yuqori darajada boshlanadi;

CPHA = 0 - ma'lumotlar sinxronizatsiya signalining etakchi chetida namuna olinadi;

CPHA = 1 - ma'lumotlar sinxronizatsiya signalining tushgan chetida namuna olinadi.

SPI interfeysining ishlash rejimlarini ko'rsatish uchun quyidagi konventsiya qabul qilingan:

rejim 0 (CPOL = 0, CPHA = 0);

rejim 1 (CPOL = 0, CPHA = 1);

rejim 2 (CPOL = 1, CPHA = 0);

rejim 3 (CPOL = 1, CPHA = 1).

SPI interfeysining vaqt jadvallari:

CPOL = 0 bilan: CPHA = 0 (qizil vertikal chiziq) va CPHA = 1 (ko'k vertikal chiziq)

CPOL = 1 bilan: CPHA = 1 (qizil vertikal chiziq) va CPHA = 0 (ko'k vertikal chiziq)

Oddiy holatda bitta qul xo'jayinga ulanadi va ikki tomonlama aloqa talab qilinadi. Bunday holda, uch simli aloqa ishlatiladi. SPI interfeysi bir nechta qul qurilmalarini bitta masterga ulashga imkon beradi va ulanish bir necha usulda amalga oshirilishi mumkin.

SPI orqali bir nechta qullar bilan radial aloqa tuzilishi.

Birinchi usul radial aloqa tuzilishini ("yulduz" turidagi topologiyani) amalga oshirishga imkon beradi; u bir nechta qul qurilmalarini ulashning asosiy usuli hisoblanadi. Bunday holda, bir nechta qullar bilan aloqa o'rnatish uchun xo'jayin tegishli miqdordagi qul tanlash (SS) signallarini yaratishi kerak. Ma'lumotni qul qurilmasi bilan almashtirganda tegishli SS signal faol (past) holatga o'tkaziladi, qolgan barcha SS signallar esa nofaol (yuqori) holatda bo'ladi. Qullovchi qurilmalarning MISO ma'lumot pinlari parallel ravishda ulanadi, ular harakatsiz holatda bo'ladi va almashinuv boshlanishidan oldin chiqimlardan biri (tanlangan qul qurilmasi) faol rejimga o'tadi.

SPI orqali bir nechta qullar bilan aloqaning uzuk tuzilishi.

Ikkinchi usul qo'ng'iroq tipidagi aloqa tuzilishini amalga oshirishga imkon beradi. Bunday holda, bir vaqtning o'zida bir nechta qullarni faollashtirish uchun bitta SS signal ishlatiladi va barcha qurilmalarning ma'lumotlar pinlari ketma-ket ulanadi va yopiq elektronni hosil qiladi. Paket xo'jayindan uzatilganda, birinchi qul paketni oladi, u o'z navbatida o'z paketini keyingi qulga uzatadi va hokazo. Xo'jayinning to'plami ma'lum bir qulga etib borishi uchun xo'jayin yana bir nechta paketlarni yuborishi kerak.

Foyda:


Sukut bo'yicha ma'lumotlarning to'liq dupleks uzatilishi.

I²C yoki SMBus bilan taqqoslaganda yuqori samaradorlik.

Paket uzunligini o'zboshimchalik bilan tanlash imkoniyati, paket uzunligi sakkiz bit bilan chegaralanmaydi.

Uskunani amalga oshirishning soddaligi:

I²C va SMBus bilan taqqoslaganda kam quvvat talablari;

past barqaror soat chastotasi bo'lgan tizimlarda foydalanish mumkin;

I²C, GPIB yoki SCSI kabi interfeyslardan farqli o'laroq, qullarga noyob manzil kerak emas.

Faqat to'rtta pin ishlatiladi, bu parallel interfeyslarga qaraganda ancha kam.

Signallarning bir yo'naltirilganligi, agar kerak bo'lsa, xo'jayin va qullar o'rtasida oson galvanik izolyatsiyani ta'minlaydi.

Maksimal soat chastotasi faqat ma'lumotlar almashinuvida ishtirok etadigan qurilmalarning tezligi bilan cheklanadi.

Kamchiliklar:

I²C interfeysiga qaraganda ko'proq pin kerak.

Qul ma'lumotlar oqimini boshqarolmaydi.

Qul qurilmasidan ma'lumotlarni qabul qilishni tasdiqlash yo'q (asosiy qurilma ma'lumotlarni "hech qaerga" uzatishi mumkin).

Standartlashtirilgan xatolarni aniqlash protokoli yo'q.

Qurilmalarni sertifikatlashni imkonsiz qiladigan rasmiy standartning etishmasligi.

Ma'lumotlarni uzatish diapazoni bo'yicha SPI interfeysi UART va CAN kabi standartlardan pastdir.

Interfeysni amalga oshirishning ko'plab variantlari mavjudligi.

Issiq ulanadigan qurilmalarni qo'llab-quvvatlashning etishmasligi.

Dasturiy ta'minotni amalga oshirishga misol:

Quyida SPI sehrgarining C tilida dasturiy ta'minotini amalga oshirishga misol keltirilgan. Ma'lumotlar almashinuvi boshlanishidan oldin CS (chip select) liniyasi faollashtirilishi kerak (aksariyat hollarda past darajaga tortiladi) va almashinish tugagandan so'ng o'chiriladi. Aksariyat qurilmalar faol CS liniyasi bilan bir nechta uzatishni talab qiladi. Ushbu funktsiya qator faol bo'lganda bir necha marta chaqirilishi mumkin.

unsigned char SPIBitBang8BitsMode0(unsigned char byte)

{

unsigned char bit;



Download 248 Kb.

Do'stlaringiz bilan baham:
  1   2   3




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©hozir.org 2024
ma'muriyatiga murojaat qiling

kiriting | ro'yxatdan o'tish
    Bosh sahifa
юртда тантана
Боғда битган
Бугун юртда
Эшитганлар жилманглар
Эшитмадим деманглар
битган бодомлар
Yangiariq tumani
qitish marakazi
Raqamli texnologiyalar
ilishida muhokamadan
tasdiqqa tavsiya
tavsiya etilgan
iqtisodiyot kafedrasi
steiermarkischen landesregierung
asarlaringizni yuboring
o'zingizning asarlaringizni
Iltimos faqat
faqat o'zingizning
steierm rkischen
landesregierung fachabteilung
rkischen landesregierung
hamshira loyihasi
loyihasi mavsum
faolyatining oqibatlari
asosiy adabiyotlar
fakulteti ahborot
ahborot havfsizligi
havfsizligi kafedrasi
fanidan bo’yicha
fakulteti iqtisodiyot
boshqaruv fakulteti
chiqarishda boshqaruv
ishlab chiqarishda
iqtisodiyot fakultet
multiservis tarmoqlari
fanidan asosiy
Uzbek fanidan
mavzulari potok
asosidagi multiservis
'aliyyil a'ziym
billahil 'aliyyil
illaa billahil
quvvata illaa
falah' deganida
Kompyuter savodxonligi
bo’yicha mustaqil
'alal falah'
Hayya 'alal
'alas soloh
Hayya 'alas
mavsum boyicha


yuklab olish