Mundarija:

SPI Aloqa protokoli asoslari: 13 qadam
SPI Aloqa protokoli asoslari: 13 qadam

Video: SPI Aloqa protokoli asoslari: 13 qadam

Video: SPI Aloqa protokoli asoslari: 13 qadam
Video: Лекция 307. Интерфейс SPI 2024, Iyul
Anonim
SPI Aloqa protokoli asoslari
SPI Aloqa protokoli asoslari

Sensor, displey yoki boshqa modulga mikrokontrollerni ulaganingizda, bu ikkita qurilma bir -biri bilan qanday gaplashishi haqida o'ylaysizmi? Ular aniq nima deyishadi? Qanday qilib ular bir -birini tushunishga qodir?

Elektron qurilmalar orasidagi aloqa odamlar o'rtasidagi muloqotga o'xshaydi. Ikkala tomon ham bir xil tilda gaplashishi kerak. Elektronikada bu tillar aloqa protokoli deb ataladi. Yaxshiyamki, biz DIY elektronika loyihalarini qurishda bilishimiz kerak bo'lgan bir nechta aloqa protokollari bor. Maqolalar turkumida biz eng keng tarqalgan uchta protokolning asoslarini muhokama qilamiz: ketma-ket periferik interfeys (SPI), interegral sxemasi (I2C) va universal asenkron qabul qilgich/uzatuvchi (UART) boshqariladigan aloqa. Birinchidan, biz elektron aloqa haqidagi ba'zi asosiy tushunchalardan boshlaymiz, keyin SPI qanday ishlashini batafsil tushuntiramiz. Keyingi maqolada biz UARTga asoslangan aloqani muhokama qilamiz, uchinchi maqolada esa I2C ga o'tamiz. SPI, I2C va UART USB, Ethernet, Bluetooth va WiFi kabi protokollarga qaraganda ancha sekin, lekin ular ancha sodda va apparat va tizim resurslaridan kam foydalanadi. SPI, I2C va UART mikrokontrolderlar va mikrokontrollerlar va sensorlar o'rtasida katta hajmli yuqori tezlikdagi ma'lumotlarni uzatish shart bo'lmagan aloqa uchun juda mos keladi.

1 -qadam: SERIAL VS. Parallel aloqa

SERIAL VS. Parallel aloqa
SERIAL VS. Parallel aloqa

Elektron qurilmalar bir -biri bilan qurilmalar orasidagi jismoniy ulangan simlar orqali bit ma'lumotlarini yuborish orqali gaplashadi. Bit so'zdagi harfga o'xshaydi, faqat 26 harf o'rniga (ingliz alifbosida), bit ikkilik va faqat 1 yoki 0 bo'lishi mumkin. Bittadan kuchlanish tez o'zgarishi bilan bir qurilmadan boshqasiga o'tkaziladi. 5 V da ishlaydigan tizimda 0 bit qisqa puls 0 V, 1 bit esa 5 V qisqa puls orqali uzatiladi.

Ma'lumotlarning bitlari parallel yoki ketma -ket uzatilishi mumkin. Parallel aloqada, ma'lumotlar bitlari bir vaqtning o'zida, har biri alohida sim orqali yuboriladi. Quyidagi diagrammada "C" harfi ikkilikda (01000011) parallel uzatilishi ko'rsatilgan:

2 -qadam:

Ketma -ket muloqotda bitlar bitta sim orqali birma -bir yuboriladi. Quyidagi diagrammada "C" harfi ikkilik (01000011) ketma -ket uzatilishi ko'rsatilgan:

3 -qadam:

Rasm
Rasm

4 -qadam: SPI MA'LUMOTINI KIRISH

SPI MA'LUMOTLARIGA KIRISH
SPI MA'LUMOTLARIGA KIRISH

SPI - bu turli xil qurilmalarda ishlatiladigan umumiy aloqa protokoli. Masalan, SD -karta modullari, RFID -kartani o'quvchi modullari va 2,4 gigagertsli simsiz uzatuvchi/qabul qilgichlarning barchasi mikrokontrollerlar bilan aloqa qilish uchun SPIdan foydalanadi.

SPIning o'ziga xos afzalliklaridan biri shundaki, ma'lumotlarni uzilishsiz uzatish mumkin. Har qanday bitlar uzluksiz oqimda yuborilishi yoki qabul qilinishi mumkin. I2C va UART yordamida ma'lumotlar ma'lum miqdordagi bitlar bilan cheklangan paketlarda yuboriladi. Boshlash va to'xtatish shartlari har bir paketning boshi va oxirini belgilaydi, shuning uchun ma'lumotlar uzatish paytida uziladi. SPI orqali aloqa qiladigan qurilmalar xo'jayin-qul munosabatlarida. Magistr - bu boshqaruvchi qurilma (odatda mikrokontroller), qul (odatda sensor, displey yoki xotira chipi) ustadan ko'rsatma oladi. SPIning eng oddiy konfiguratsiyasi - bu bitta master, bitta qul tizimi, lekin bitta master bir nechta qulni boshqarishi mumkin (bu haqda quyida batafsilroq).

5 -qadam:

Rasm
Rasm

6 -qadam:

MOSI (Master Output/Slave Input) - Masterga ma'lumotlarni qulga yuborish uchun chiziq.

MISO (Master Input/Slave Chiqish) - magistrga ma'lumotlarni yuborish uchun qul.

SCLK (Clock) - soat signalining chizig'i.

SS/CS (Slave Select/Chip Select) - Ma'lumotni qaysi qulga yuborishni tanlash uchun master uchun chiziq

7 -qadam:

Rasm
Rasm

*Amalda, qullar soni tizimning yuk sig'imi bilan chegaralanadi, bu esa usta kuchlanish darajalari o'rtasida aniq o'tish qobiliyatini pasaytiradi.

8 -qadam: SPI qanday ishlaydi

SAAT

Soat signali masterdan ma'lumotlar bitlarining chiqishini qul tomonidan bitlarni tanlashga sinxronlashtiradi. Har bir tsiklda bitta bit ma'lumot uzatiladi, shuning uchun ma'lumotlarni uzatish tezligi soat signalining chastotasi bilan belgilanadi. SPI aloqasi har doim usta tomonidan boshlanadi, chunki usta soat signalini sozlaydi va ishlab chiqaradi.

Qurilmalar soat signalini almashadigan har qanday aloqa protokoli sinxron deb nomlanadi. SPI - bu sinxron aloqa protokoli. Soat signalini ishlatmaydigan asenkron usullar ham mavjud. Masalan, UART aloqasida har ikki tomon ham ma'lumotni uzatish tezligi va vaqtini belgilab beradigan oldindan tuzilgan byud tezligiga o'rnatiladi.

SPI -dagi soat signalini soat polarligi va soat fazasi xususiyatlaridan foydalanib o'zgartirish mumkin. Bu ikkita xususiyat bitlarning qachon chiqarilishini va namuna olishini aniqlash uchun birgalikda ishlaydi. Bitta soat tsiklining ko'tarilgan yoki tushgan chetida bitlarni chiqarishga ruxsat berish uchun soat polaritesini usta belgilashi mumkin. Chiqish va namuna olish soat tsiklining birinchi chekkasida yoki ikkinchi chetida, u ko'tarilish yoki tushishidan qat'i nazar, soat fazasini o'rnatishi mumkin.

QULNI TANLASH

Xo'jayin qulning CS/SS chizig'ini past kuchlanish darajasiga o'rnatish orqali qaysi qul bilan gaplashmoqchi ekanligini tanlashi mumkin. Ishlamaydigan, uzatilmaydigan holatda qul tanlash liniyasi yuqori kuchlanish darajasida saqlanadi. Magistrda bir nechta CS/SS pinlari bo'lishi mumkin, bu esa bir nechta qullarni parallel ulash imkonini beradi. Agar faqat bitta CS/SS pin mavjud bo'lsa, bir nechta qulni xo'jayinga romashka bilan ulash mumkin.

KO'P QULLAR SPI

bitta xo'jayin va bitta qul bilan ishlashni sozlash mumkin va uni bitta xo'jayin boshqaradigan bir nechta qullar bilan sozlash mumkin. Bir nechta qulni xo'jayinga ulashning ikki yo'li mavjud. Agar xo'jayinda bir nechta qul tanlash pinlari bo'lsa, qullarni parallel ravishda quyidagicha ulash mumkin:

9 -qadam:

Rasm
Rasm

10 -qadam:

MOSI VA MISO

Magistr ma'lumotni qulga ketma -ket MOSI liniyasi orqali yuboradi. Qul xo'jayindan yuborilgan ma'lumotlarni MOSI pinida oladi. Xo'jayindan qulga yuborilgan ma'lumotlar odatda birinchi navbatda eng muhim bit bilan yuboriladi. Qul, shuningdek, ketma -ket MISO liniyasi orqali ma'lumotlarni masterga qaytarishi mumkin. Qul ustadan xo'jayinga yuborilgan ma'lumotlar odatda birinchi navbatda eng kichik bit bilan yuboriladi. SPI DATA OTIRISH QADAMLARI 1. Usta soat signalini chiqaradi:

11 -qadam:

Rasm
Rasm

Agar bittagina qul tanlash pimi mavjud bo'lsa, qullarni romashka bilan bog'lab qo'yish mumkin:

12 -qadam:

Rasm
Rasm
Rasm
Rasm
Rasm
Rasm
Rasm
Rasm

MOSI VA MISO

Magistr ma'lumotni qulga ketma -ket MOSI liniyasi orqali yuboradi. Qul xo'jayindan yuborilgan ma'lumotlarni MOSI pinida oladi. Xo'jayindan qulga yuborilgan ma'lumotlar odatda birinchi navbatda eng muhim bit bilan yuboriladi.

Qul, shuningdek, ketma -ket MISO liniyasi orqali ma'lumotlarni masterga qaytarishi mumkin. Qul ustadan xo'jayinga yuborilgan ma'lumotlar odatda birinchi navbatda eng kichik bit bilan yuboriladi.

SPI ma'lumotlarini uzatish bosqichlari

*Eslatma Rasmlar Oboe ro'yxatida, siz osongina ajrata olasiz

1. Magistr soat signalini chiqaradi:

2. Usta SS/CS pinini past kuchlanish holatiga o'tkazadi, bu esa qulni ishga tushiradi:

3. Magistr ma'lumotlarni birdaniga MOSI chizig'i bo'ylab qulga yuboradi. Qul bitlarni qabul qilib o'qiydi:

4. Agar javob kerak bo'lsa, qul MISO chizig'i bo'ylab ma'lumotlarni birma -bir masterga qaytaradi. Usta bitlarni qabul qilib o'qiydi:

13 -qadam: SPI ning afzalliklari va kamchiliklari

SPI -ni ishlatishning ba'zi afzalliklari va kamchiliklari bor va agar siz turli xil aloqa protokollari o'rtasida tanlov qilsangiz, siz o'zingizning loyihangiz talablariga muvofiq SPIni qachon ishlatishni bilishingiz kerak:

Afzalliklari

Boshlash va to'xtatish bitlari yo'q, shuning uchun ma'lumotlarni uzluksiz uzatish mumkin I2C kabi murakkab xizmat ko'rsatuvchi tizim yo'q I2C -dan yuqori ma'lumotlar uzatish tezligi (deyarli ikki barobar tez) Alohida MISO va MOSI liniyalari, shuning uchun ma'lumotlarni bir vaqtning o'zida yuborish va qabul qilish mumkin. vaqt

Kamchiliklari

To'rtta simni ishlatadi (I2C va UART ikkitasini ishlatadi) Ma'lumotlar muvaffaqiyatli qabul qilinganligini tasdiqlamaydi (I2C -da) UART -dagi parite bit kabi xatolarni tekshirishning yagona shakli faqat bitta ustaga ruxsat beradi Umid qilamanki, bu maqola sizga yaxshiroq tushunishga yordam berdi. SPI bo'yicha. UART boshqariladigan aloqa haqida bilish uchun ushbu seriyaning ikkinchi qismini yoki I2C protokoli muhokama qilinadigan uchinchi qismini davom ettiring.

Agar sizda biron bir savol bo'lsa, sharhlar bo'limida so'rang, biz yordam berishga tayyormiz. Va albatta kuzatib boring

Hurmat bilan: M. Junaid

Tavsiya: