Mundarija:
- 1 -qadam: SERIAL VS. Parallel aloqa
- 2 -qadam:
- 3 -qadam:
- 4 -qadam: SPI MA'LUMOTINI KIRISH
- 5 -qadam:
- 6 -qadam:
- 7 -qadam:
- 8 -qadam: SPI qanday ishlaydi
- 9 -qadam:
- 10 -qadam:
- 11 -qadam:
- 12 -qadam:
- 13 -qadam: SPI ning afzalliklari va kamchiliklari
Video: SPI Aloqa protokoli asoslari: 13 qadam
2024 Muallif: John Day | [email protected]. Oxirgi o'zgartirilgan: 2024-01-30 13:26
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
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:
4 -qadam: SPI MA'LUMOTINI 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:
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:
*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:
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:
Agar bittagina qul tanlash pimi mavjud bo'lsa, qullarni romashka bilan bog'lab qo'yish mumkin:
12 -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 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:
Professional protsessor protokoli DSLR: 6 qadam
Professional protsessorli DSLR protsessorlari: Haqiqatan ham, mashinalar va avtoulovlar uchun maxsus protsessorlar. Alyuminiy va PLA konstruktsiyalari, 3 ta mashina, algunos botonlari va joystik kartalari PCB va boshqa dasturlar yordamida amalga oshiriladi. Yana
Kutubxonasiz RC5 masofadan boshqarish protokoli dekoderi: 4 qadam
Kutubxonasiz RC5 masofadan boshqarish protokoli dekoderi: rc5 -ni dekodlashdan oldin biz avval rc5 buyrug'i nima va uning tuzilishi nima ekanligini muhokama qilamiz. asosan rc5 buyrug'i televizorlar, cd pleerlar, d2h, uy teatri tizimlarida va boshqalarda ishlatiladigan masofadan boshqarish pultlarida ishlatiladi, u 13 yoki 14 bitli
Internet soati: NTP protokoli bilan ESP8266 NodeMCU yordamida OLED yordamida sana va vaqtni ko'rsatish: 6 qadam
Internet soati: NTP protokoli bilan ESP8266 NodeMCU yordamida OLED yordamida sana va vaqtni ko'rsatish: Salom bolalar, biz Internetdan vaqt oladigan Internet soatini quramiz, shuning uchun bu loyihani ishga tushirish uchun hech qanday RTC kerak emas, unga faqat ishlaydigan Internet aloqasi Va bu loyiha uchun sizga esp8266 kerak bo'ladi, u
UART ALOQA ASOSLARI: 16 qadam
UART Aloqa Asoslari: Yodingizda bo'lsin, ulkan ulagichlar ulangan printerlar, sichqonlar va modemlarda qalin kabellar bo'lganmi? To'g'ridan -to'g'ri kompyuteringizga o'rnatilishi kerak bo'lganlar? Ehtimol, bu qurilmalar kompyuteringiz bilan aloqa qilish uchun UART -dan foydalangan. USB -da almos mavjud bo'lganda
Pi bo'yicha dastlabki* SPI: Raspberry Pi yordamida SPI 3 o'qli akselerometr bilan aloqa: 10 qadam
Pi bo'yicha dastlabki* SPI: Raspberry Pi yordamida SPI 3 o'qli akselerometr bilan aloqa: Raspbianni sozlash va bcm2835 SPI kutubxonasi yordamida SPI qurilmasi bilan muloqot qilish bo'yicha bosqichma-bosqich ko'rsatma (bit urilmagan!) Bu hali juda oldindan … Men jismoniy bog'lanishning yaxshiroq rasmlarini qo'shishim va ba'zi noqulay kodlar ustida ishlashim kerak