Სარჩევი:
- ნაბიჯი 1: სერიალი VS. პარალელური კომუნიკაცია
- ნაბიჯი 2:
- ნაბიჯი 3:
- ნაბიჯი 4: შესავალი SPI კომუნიკაციაში
- ნაბიჯი 5:
- ნაბიჯი 6:
- ნაბიჯი 7:
- ნაბიჯი 8: როგორ მუშაობს SPI
- ნაბიჯი 9:
- ნაბიჯი 10:
- ნაბიჯი 11:
- ნაბიჯი 12:
- ნაბიჯი 13: SPI- ს უპირატესობები და უარყოფითი მხარეები
ვიდეო: SPI– ის კომუნიკაციის პროტოკოლის საფუძვლები: 13 ნაბიჯი
2024 ავტორი: John Day | [email protected]. ბოლოს შეცვლილი: 2024-01-30 10:19
როდესაც მიკროკონტროლერს აერთებთ სენსორზე, ეკრანზე ან სხვა მოდულზე, გიფიქრიათ ოდესმე იმაზე, თუ როგორ ესაუბრებიან ორი მოწყობილობა ერთმანეთს? კონკრეტულად რას ამბობენ? როგორ ახერხებენ მათ ერთმანეთის გაგება?
ელექტრონულ მოწყობილობებს შორის ურთიერთობა ადამიანებს შორის კომუნიკაციის მსგავსია. ორივე მხარე ერთსა და იმავე ენაზე უნდა ლაპარაკობდეს. ელექტრონიკაში ამ ენებს საკომუნიკაციო პროტოკოლები ეწოდება. საბედნიეროდ ჩვენთვის, არსებობს მხოლოდ რამდენიმე საკომუნიკაციო პროტოკოლი, რომელიც უნდა ვიცოდეთ ელექტრონული ტექნიკის უმეტეს პროექტების შექმნისას. ამ სტატიების სერიაში ჩვენ განვიხილავთ სამი ყველაზე გავრცელებული პროტოკოლის საფუძვლებს: სერიული პერიფერიული ინტერფეისი (SPI), ინტეგრირებული წრე (I2C) და უნივერსალური ასინქრონული მიმღები/გადამცემი (UART) კომუნიკაცია. პირველ რიგში, ჩვენ დავიწყებთ რამდენიმე ძირითად კონცეფციას ელექტრონული კომუნიკაციის შესახებ, შემდეგ კი დეტალურად ავხსნით როგორ მუშაობს SPI. მომდევნო სტატიაში ჩვენ განვიხილავთ UART- ის დამყარებულ კომუნიკაციას, ხოლო მესამე სტატიაში ჩვენ ჩავუღრმავდებით I2C- ს. SPI, I2C და UART საკმაოდ ნელია ვიდრე პროტოკოლები, როგორიცაა USB, ethernet, Bluetooth და WiFi, მაგრამ ისინი ბევრად უფრო მარტივია და იყენებენ ნაკლებ აპარატურასა და სისტემის რესურსებს. SPI, I2C და UART იდეალურია მიკროკონტროლებსა და მიკროკონტროლერებსა და სენსორებს შორის კომუნიკაციისთვის, სადაც დიდი სიჩქარის მონაცემების გადაცემა არ არის საჭირო.
ნაბიჯი 1: სერიალი VS. პარალელური კომუნიკაცია
ელექტრონული მოწყობილობები ესაუბრებიან ერთმანეთს მონაცემების ნაწილის გაგზავნით მოწყობილობებს შორის ფიზიკურად დაკავშირებული მავთულის საშუალებით. ბიტი ჰგავს წერილს სიტყვაში, გარდა 26 ასოს ნაცვლად (ინგლისურ ანბანში), ბიტი არის ორობითი და შეიძლება იყოს მხოლოდ 1 ან 0. ბიტი გადადის ერთი მოწყობილობიდან მეორეზე ძაბვის სწრაფი ცვლილებით. 5 ვ -ზე მომუშავე სისტემაში 0 ბიტი გადაეცემა 0 ვ -ის მოკლე პულსად, ხოლო 1 ბიტი 5 ვ -ის მოკლე იმპულსით.
მონაცემთა ნაწილები შეიძლება გადაეცეს პარალელურად ან სერიულ ფორმას. პარალელური კომუნიკაციისას, მონაცემთა ნაწილები იგზავნება ყველა ერთდროულად, თითოეული ცალკე მავთულის მეშვეობით. შემდეგი დიაგრამა გვიჩვენებს ასო "C" - ს პარალელურ გადაცემას ორობითი ფორმით (01000011):
ნაბიჯი 2:
სერიულ კომუნიკაციაში, ბიტები იგზავნება სათითაოდ ერთი მავთულის საშუალებით. შემდეგი დიაგრამა გვიჩვენებს ასო "C" - ს სერიულ გადაცემას ორობითი ფორმით (01000011):
ნაბიჯი 3:
ნაბიჯი 4: შესავალი SPI კომუნიკაციაში
SPI არის საერთო საკომუნიკაციო პროტოკოლი, რომელსაც იყენებენ მრავალი განსხვავებული მოწყობილობა. მაგალითად, SD ბარათის მოდულები, RFID ბარათების წამკითხველი მოდულები და 2.4 გიგაჰერცი უკაბელო გადამცემი/მიმღები - SPI– ს იყენებენ მიკროკონტროლებთან კომუნიკაციისთვის.
SPI– ს ერთი უნიკალური უპირატესობა არის ის ფაქტი, რომ მონაცემების გადაცემა შესაძლებელია შეუფერხებლად. ნებისმიერი რაოდენობის ბიტი შეიძლება გაიგზავნოს ან მიიღოთ უწყვეტი ნაკადით. I2C და UART– ით, მონაცემები იგზავნება პაკეტებში, შეზღუდული ბიტების კონკრეტული რაოდენობით. დაწყების და გაჩერების პირობები განსაზღვრავს თითოეული პაკეტის დასაწყისსა და დასასრულს, ამიტომ მონაცემები გადაწყდება გადაცემის დროს. მოწყობილობები, რომლებიც SPI– ს საშუალებით ურთიერთობენ, ბატონ – მონა ურთიერთობაშია. სამაგისტრო არის მაკონტროლებელი მოწყობილობა (ჩვეულებრივ მიკროკონტროლერი), ხოლო მონა (ჩვეულებრივ სენსორი, ეკრანი ან მეხსიერების ჩიპი) იღებს ინსტრუქციას სამაგისტროდან. SPI– ს უმარტივესი კონფიგურაცია არის ერთი სამაგისტრო, ერთი მონა სისტემის, მაგრამ ერთ ბატონს შეუძლია გააკონტროლოს ერთზე მეტი მონა (მეტი ამის შესახებ ქვემოთ).
ნაბიჯი 5:
ნაბიჯი 6:
MOSI (Master Output/Slave Input) - ხაზი ოსტატისთვის მონაზე მონაცემების გასაგზავნად.
MISO (Master Input/Slave Output) - ხაზი მონას გაგზავნის მონაცემები ოსტატს.
SCLK (საათი) - ხაზი საათის სიგნალისთვის.
SS/CS (მონათა შერჩევა/ჩიპის არჩევა) - ხაზი სამაგისტროში, რომ აირჩიოს რომელ მონაზე გაგზავნოს მონაცემები
ნაბიჯი 7:
*პრაქტიკაში, მონების რაოდენობა შეზღუდულია სისტემის დატვირთვის ტევადობით, რაც ამცირებს ოსტატის შესაძლებლობას ზუსტად გადართოს ძაბვის დონეს შორის.
ნაბიჯი 8: როგორ მუშაობს SPI
ᲡᲐᲐᲗᲘ
საათის სიგნალი სინქრონიზაციას უკეთებს მონაცემთა ბიტების გამოშვებას სამაგისტროდან მონას მიერ ბიტების სინჯის აღებამდე. თითოეული საათის ციკლში გადადის ერთი ბიტი მონაცემები, ამიტომ მონაცემთა გადაცემის სიჩქარე განისაზღვრება საათის სიგნალის სიხშირით. SPI კომუნიკაცია ყოველთვის იწყებს მასტერს, ვინაიდან სამაგისტრო ახდენს საათის სიგნალის კონფიგურაციას და გენერირებას.
ნებისმიერი საკომუნიკაციო პროტოკოლი, სადაც მოწყობილობები იზიარებენ საათის სიგნალს, ცნობილია როგორც სინქრონული. SPI არის სინქრონული საკომუნიკაციო პროტოკოლი. ასევე არსებობს ასინქრონული მეთოდები, რომლებიც არ იყენებენ საათის სიგნალს. მაგალითად, UART კომუნიკაციაში, ორივე მხარე არის წინასწარ კონფიგურირებული baud სიჩქარით, რომელიც კარნახობს მონაცემთა გადაცემის სიჩქარესა და დროს.
საათის სიგნალი SPI– ში შეიძლება შეიცვალოს საათის პოლარობისა და საათის ფაზის თვისებების გამოყენებით. ეს ორი თვისება ერთად მუშაობს იმის დასადგენად, როდის გამოდის ბიტები და როდის ხდება მათი შერჩევა. საათის პოლარობა შეიძლება დადგინდეს ოსტატის მიერ ბიტების გამოშვებისა და საათის ციკლის აღმავალი ან დაცემული ნიმუშის ნიმუშის აღების მიზნით. საათის ფაზა შეიძლება დადგინდეს, რომ გამომავალი და შერჩევა მოხდეს საათის ციკლის პირველ ან მეორე კიდეზე, განურჩევლად იმისა, იზრდება თუ დაეცემა.
SLAVE SELECT
ოსტატს შეუძლია აირჩიოს რომელ მონასთან სურს საუბარი მონას CS/SS ხაზის დაბალი ძაბვის დონეზე დაყენებით. მოჩვენებითი, არაგადამცემი მდგომარეობისას, მონათა შერჩეული ხაზი ინახება მაღალი ძაბვის დონეზე. მრავალჯერადი CS/SS ქინძისთავები შეიძლება იყოს ხელმისაწვდომი სამაგისტროზე, რაც საშუალებას აძლევს მრავალ მონაწილეს პარალელურად შეუერთდეს. თუ მხოლოდ ერთი CS/SS პინია წარმოდგენილი, მრავალი მონა შეიძლება მიერთდეს სამაგისტროს Daisy-chaining– ით.
MULTIPLE SLAVES SPI
შეიძლება შეიქმნას ერთი ბატონისა და ერთი მონასთან მუშაობისთვის და ის შეიძლება შეიქმნას მრავალი მონის მიერ, რომელსაც აკონტროლებს ერთი ბატონი. ორი გზა ბატონთან დაკავშირების ორი გზა არსებობს. თუ სამაგისტრო აქვს რამდენიმე მონა აირჩიე ქინძისთავები, მონა შეიძლება იყოს სადენიანი პარალელურად შემდეგნაირად:
ნაბიჯი 9:
ნაბიჯი 10:
მოსი და მისო
სამაგისტრო მონაცემებს უგზავნის მონას ცოტ -ცოტას, სერიულად MOSI ხაზის საშუალებით. მონა იღებს მასტერისგან გამოგზავნილ მონაცემებს MOSI პინზე. ბატონისგან მონაზე გაგზავნილი მონაცემები, როგორც წესი, უპირველეს ყოვლისა იგზავნება ყველაზე მნიშვნელოვანი ბიტით. მონას ასევე შეუძლია მონაცემების დაბრუნება სამაგისტროზე MISO ხაზის მეშვეობით სერიულად. მონადან ბატონთან დაბრუნებული მონაცემები, როგორც წესი, პირველ რიგში უმცირესი მნიშვნელობით იგზავნება. SPI მონაცემთა გადაცემის ნაბიჯები 1. სამაგისტრო აჩვენებს საათის სიგნალს:
ნაბიჯი 11:
თუ მხოლოდ ერთი მონა მონაკვეთის არჩევაა შესაძლებელი, მონები შეიძლება მიჯაჭვული იყოს ასე:
ნაბიჯი 12:
მოსი და მისო
სამაგისტრო მონაცემებს უგზავნის მონას ცოტ -ცოტას, სერიულად MOSI ხაზის საშუალებით. მონა იღებს მასტერისგან გამოგზავნილ მონაცემებს MOSI პინზე. ბატონისგან მონაზე გაგზავნილი მონაცემები, როგორც წესი, უპირველეს ყოვლისა იგზავნება ყველაზე მნიშვნელოვანი ბიტით.
მონას ასევე შეუძლია მონაცემების დაბრუნება სამაგისტროზე MISO ხაზის მეშვეობით სერიულად. მონადან ბატონთან დაბრუნებული მონაცემები, როგორც წესი, პირველ რიგში უმცირესი მნიშვნელობით იგზავნება.
SPI მონაცემთა გადაცემის ნაბიჯები
*შენიშვნა სურათები ჩამოთვლილია Oboe თქვენ ადვილად გამოირჩევა
1. სამაგისტრო აჩვენებს საათის სიგნალს:
2. სამაგისტრო ცვლის SS/CS პინს დაბალი ძაბვის მდგომარეობაში, რაც ააქტიურებს მონას:
3. სამაგისტრო აგზავნის მონაცემებს ერთდროულად მონაზე MOSI ხაზის გასწვრივ. მონა კითხულობს ბიტებს მათი მიღებისას:
4. თუ საჭიროა პასუხი, მონა მონაცემებს უბრუნებს სამაგისტროს MISO ხაზის გასწვრივ. ოსტატი კითხულობს ბიტებს მათი მიღებისას:
ნაბიჯი 13: SPI- ს უპირატესობები და უარყოფითი მხარეები
SPI– ს გამოყენებას აქვს გარკვეული დადებითი და უარყოფითი მხარეები და თუ არჩევანის გაკეთების საშუალება გაქვთ სხვადასხვა საკომუნიკაციო პროტოკოლებს შორის, თქვენ უნდა იცოდეთ როდის გამოიყენოთ SPI თქვენი პროექტის მოთხოვნების შესაბამისად:
უპირატესობები
არ არის დაწყებული და შეწყვეტილი ბიტი, ასე რომ მონაცემების გადაცემა შესაძლებელია უწყვეტად, არ არის რთული მონათა მიმართვის სისტემა, როგორიცაა I2C მონაცემთა გადაცემის უფრო მაღალი მაჩვენებელი ვიდრე I2C (თითქმის ორჯერ სწრაფად) ცალკე MISO და MOSI ხაზები, ასე რომ მონაცემების გაგზავნა და მიღება ერთდროულად დრო
უარყოფითი მხარეები
იყენებს ოთხ მავთულს (I2C და UART– ები ორს) არავითარი აღიარება იმისა, რომ მონაცემები წარმატებით იქნა მიღებული (I2C– ს აქვს ეს) შეცდომების შემოწმების ფორმა, როგორც UART– ში პარიტეტული ბიტი, მხოლოდ ერთ ოსტატს აძლევს საშუალებას ვიმედოვნოთ, რომ ამ სტატიამ უკეთესი გაგება მოგანიჭათ SPI– ს. განაგრძეთ ამ სერიის მეორე ნაწილი, რომ გაეცნოთ UART– ის კომუნიკაციას, ან მესამე ნაწილს, სადაც განვიხილავთ I2C პროტოკოლს.
თუ თქვენ გაქვთ რაიმე შეკითხვები, მოგერიდებათ დასვით იგი კომენტარების განყოფილებაში, ჩვენ აქ ვართ დასახმარებლად. და აუცილებლად დაიცავით
პატივისცემით: M. Junaid
გირჩევთ:
RC5 დისტანციური მართვის პროტოკოლის დეკოდირება ბიბლიოთეკის გარეშე: 4 ნაბიჯი
RC5 დისტანციური მართვის პროტოკოლის დეკოდირება ბიბლიოთეკის გარეშე: rc5- ის დეკოდირებამდე ჯერ განვიხილავთ რა არის rc5 ბრძანება და როგორია მისი სტრუქტურა. ასე რომ, ძირითადად rc5 ბრძანება გამოიყენება დისტანციურ კონტროლში, რომლებიც გამოიყენება ტელევიზიებში, cd პლეერებში, d2h, სახლის კინოთეატრის სისტემებში და ა.შ. მას აქვს 13 ან 14 ბიტი მოწყობილი
ციფრული შეტყობინებების დაფა Raspberry Pi და MQTT პროტოკოლის გამოყენებით: 8 ნაბიჯი
ციფრული შეტყობინებების დაფა ჟოლოს Pi და MQTT პროტოკოლის გამოყენებით: შეტყობინებების დაფები თითქმის ყველგან გამოიყენება, როგორიცაა ოფისი, სკოლები, საავადმყოფოები და სასტუმროები. ისინი შეიძლება გამოყენებულ იქნას არაერთხელ მნიშვნელოვანი შეტყობინებების ჩვენების ან მომავალი ღონისძიებების ან შეხვედრების რეკლამირების მიზნით. მაგრამ განცხადება ან რეკლამა უნდა იყოს პრინციპული
კონდიციონერის დისტანციური მართვის IR პროტოკოლის გაგება: 9 ნაბიჯი (სურათებით)
კონდიციონერის დისტანციური მართვის IR პროტოკოლის გაგება: მე საკმაოდ დიდი ხანია ვსწავლობ IR პროტოკოლების შესახებ. როგორ გავაგზავნოთ და მიიღოთ IR სიგნალები. ამ ეტაპზე ერთადერთი რაც რჩება არის AC დისტანციური მართვის პროტოკოლი. ტრადიციული დისტანციური დისტანციებისაგან განსხვავებით თითქმის ყველა ელექტრონული მოწყობილობისა (ვთქვათ ტელევიზია) სადაც
UART კომუნიკაციის საფუძვლები: 16 ნაბიჯი
UART კომუნიკაციის საფუძვლები: გახსოვთ, როდესაც პრინტერებს, თაგვებს და მოდემებს ჰქონდათ სქელი კაბელები იმ უზარმაზარი ჩახლართული კონექტორებით? ის, რაც ფაქტიურად უნდა ჩაეფლო თქვენს კომპიუტერში? ეს მოწყობილობები ალბათ იყენებდნენ UART– ებს თქვენს კომპიუტერთან კომუნიკაციისთვის. სანამ USB- ს აქვს ალმო
ინფრაწითელი NEC პროტოკოლის კოდირება და დეკოდირების დაფა: 5 ნაბიჯი
ინფრაწითელი NEC პროტოკოლის კოდირება და დეკოდირების დაფა: იღებს ნედლი მოდულირებული ან დემოდულირებული NEC IR სიგნალს და გარდაქმნის მას ბაიტებად, რომლებიც იგზავნება სერიული პორტიდან. სერიული ბაუდის სიჩქარე შეირჩევა ორი ნაგულისხმევი სიჩქარით. ნაგულისხმევი გამოყენების რეჟიმი გადასცემს ბრძანების თანმიმდევრობას ჩარჩო ბაიტით