Sisällysluettelo:
- Vaihe 1: SERIAL VS. Rinnakkaisviestintä
- Vaihe 2:
- Vaihe 3:
- Vaihe 4: JOHDANTO SPI -Viestintään
- Vaihe 5:
- Vaihe 6:
- Vaihe 7:
- Vaihe 8: MITEN SPI TOIMII
- Vaihe 9:
- Vaihe 10:
- Vaihe 11:
- Vaihe 12:
- Vaihe 13: SPI: n EDUT JA HAITAT
Video: SPI -Viestintäpöytäkirjan perusteet: 13 vaihetta
2024 Kirjoittaja: John Day | [email protected]. Viimeksi muokattu: 2024-01-30 09:02
Kun liität mikro -ohjaimen anturiin, näyttöön tai muuhun moduuliin, mietitkö koskaan, miten kaksi laitetta puhuvat keskenään? Mitä ne oikein sanovat? Miten he kykenevät ymmärtämään toisiaan?
Viestintä elektronisten laitteiden välillä on kuin ihmisten välistä viestintää. Molempien osapuolten on puhuttava samaa kieltä. Elektroniikassa näitä kieliä kutsutaan viestintäprotokolliksi. Onneksi meillä on vain muutamia viestintäprotokollia, jotka meidän on tiedettävä, kun rakennamme useimpia DIY -elektroniikkahankkeita. Tässä artikkelisarjassa keskustelemme kolmen yleisimmän protokollan perusasioista: SPI (Serial Peripheral Interface), Inter-Integrated Circuit (I2C) ja Universal Asynchronous Receiver/Transmitter (UART) -viestintä. Ensinnäkin aloitamme joistakin sähköisen viestinnän peruskäsitteistä ja selitämme sitten yksityiskohtaisesti, miten SPI toimii. Seuraavassa artikkelissa keskustelemme UART -pohjaisesta viestinnästä, ja kolmannessa artikkelissa sukellamme I2C: hen. SPI, I2C ja UART ovat melko hitaampia kuin protokollat, kuten USB, ethernet, Bluetooth ja WiFi, mutta ne ovat paljon yksinkertaisempia ja käyttävät vähemmän laitteisto- ja järjestelmäresursseja. SPI, I2C ja UART ovat ihanteellisia tiedonsiirtoon mikro -ohjaimien välillä sekä mikro -ohjaimien ja antureiden välillä, joissa suuria määriä nopeita tietoja ei tarvitse siirtää.
Vaihe 1: SERIAL VS. Rinnakkaisviestintä
Elektroniset laitteet puhuvat keskenään lähettämällä databittejä fyysisesti laitteiden välille kytkettyjen johtojen kautta. Bitti on kuin kirjain sanassa, paitsi että 26 kirjaimen sijasta (englanninkielisessä aakkosessa) bitti on binaarinen ja voi olla vain 1 tai 0. Bittejä siirretään laitteesta toiseen nopeilla jännitteen muutoksilla. Järjestelmässä, joka toimii 5 V jännitteellä, 0 bittiä kommunikoidaan lyhyenä 0 V pulssina ja 1 bitti 5 V lyhyellä pulssilla.
Databittejä voidaan lähettää joko rinnakkain tai sarjamuodossa. Rinnakkaisviestinnässä databitit lähetetään kaikki samanaikaisesti, jokainen erillisen langan kautta. Seuraava kaavio esittää kirjaimen “C” rinnakkaislähetyksen binäärimuodossa (01000011):
Vaihe 2:
Sarjaliikenteessä bitit lähetetään yksi kerrallaan yhden langan kautta. Seuraavassa kaaviossa näkyy C -kirjaimen sarjavälitys binäärimuodossa (01000011):
Vaihe 3:
Vaihe 4: JOHDANTO SPI -Viestintään
SPI on yleinen viestintäprotokolla, jota käyttävät monet eri laitteet. Esimerkiksi SD -korttimoduulit, RFID -kortinlukijamoduulit ja 2,4 GHz: n langaton lähetin/vastaanotin käyttävät SPI: tä kommunikoidakseen mikro -ohjaimien kanssa.
SPI: n ainutlaatuinen etu on se, että tietoja voidaan siirtää keskeytyksettä. Mikä tahansa määrä bittejä voidaan lähettää tai vastaanottaa jatkuvana virtana. I2C: n ja UART: n avulla tiedot lähetetään paketeina, rajoittuen tiettyyn määrään bittejä. Aloitus- ja lopetusolosuhteet määrittävät kunkin paketin alun ja lopun, joten tiedot keskeytyvät lähetyksen aikana. SPI: n kautta kommunikoivat laitteet ovat isäntä-orja-suhteessa. Isäntä on ohjauslaite (yleensä mikro -ohjain), kun taas orja (yleensä anturi, näyttö tai muistisiru) ottaa vastaan ohjeita isännältä. Yksinkertaisin SPI -kokoonpano on yksi isäntä, yksi orjajärjestelmä, mutta yksi isäntä voi ohjata useampaa kuin yhtä orjaa (lisää tästä alla).
Vaihe 5:
Vaihe 6:
MOSI (Master Output/Slave Input) - Linja, jolla isäntä lähettää tietoja orjalle.
MISO (Master Input/Slave Output) - linja, jolla orja lähettää dataa isännälle.
SCLK (Kello) - Kellosignaalin linja.
SS/CS (Slave Select/Chip Select) - Rivi, jolla isäntä voi valita orjan, jolle data lähetetään
Vaihe 7:
*Käytännössä orjien määrää rajoittaa järjestelmän kuormituskapasitanssi, mikä vähentää isännän kykyä vaihtaa tarkasti jännitetasojen välillä.
Vaihe 8: MITEN SPI TOIMII
KELLO
Kellosignaali synkronoi databittien ulostulon isäntälaitteesta orjan näytteenottoon. Yksi bitti dataa siirretään jokaisessa kellosyklissä, joten tiedonsiirtonopeus määräytyy kellosignaalin taajuuden mukaan. SPI -tiedonsiirto aloitetaan aina päällikön toimesta, koska isäntä konfiguroi ja luo kellosignaalin.
Kaikki viestintäprotokollat, joissa laitteet jakavat kellosignaalin, tunnetaan synkronisina. SPI on synkroninen viestintäprotokolla. On myös asynkronisia menetelmiä, jotka eivät käytä kellosignaalia. Esimerkiksi UART-viestinnässä molemmat puolet on asetettu ennalta määritettyyn siirtonopeuteen, joka määrää tiedonsiirron nopeuden ja ajoituksen.
SPI: n kellosignaalia voidaan muuttaa käyttämällä kellon napaisuuden ja kellovaiheen ominaisuuksia. Nämä kaksi ominaisuutta määrittävät yhdessä, milloin bitit tulostetaan ja milloin niistä otetaan näytteitä. Isäntä voi asettaa kellon napaisuuden sallimaan bittien lähettämisen ja näytteenoton kellosyklin nousevalle tai laskevalle reunalle. Kellovaihe voidaan asettaa niin, että lähtö ja näytteenotto tapahtuvat kellosyklin ensimmäisellä tai toisella reunalla riippumatta siitä, nouseeko vai laskeeko.
SLAVE SELECT
Isäntä voi valita orjan, jolle hän haluaa puhua asettamalla orjan CS/SS -linjan matalalle jännitetasolle. Valmiustilassa, joka ei lähetä, orjavalintalinja pidetään korkealla jännitetasolla. Päälaitteessa voi olla useita CS/SS -nastoja, mikä mahdollistaa useiden orjien kytkemisen rinnakkain. Jos läsnä on vain yksi CS/SS-nasta, useita orjia voidaan kytkeä isäntään ketjutuksella.
Useita orjia SPI
voidaan asettaa toimimaan yhden isännän ja yhden orjan kanssa, ja se voidaan määrittää useiden orjien kanssa, joita yksi isäntä ohjaa. On olemassa kaksi tapaa yhdistää useita orjia isäntään. Jos isäntälaitteessa on useita orjanvalintatappeja, orjat voidaan kytkeä rinnakkain seuraavasti:
Vaihe 9:
Vaihe 10:
MOSI JA MISO
Isäntä lähettää tiedot orjalle bitti kerrallaan sarjassa MOSI -linjan kautta. Slave vastaanottaa isännältä lähetetyt tiedot MOSI -nastassa. Isännältä orjalle lähetetty data lähetetään yleensä ensin merkittävimmällä bitillä. Slave voi myös lähettää dataa takaisin isännälle sarjaportin kautta MISO -linjan kautta. Tiedot, jotka orja lähettää takaisin isännälle, lähetetään yleensä ensin vähiten merkitsevällä bitillä. SPI -DATALÄHETYKSEN VAIHEET 1. Master lähettää kellosignaalin:
Vaihe 11:
Jos käytettävissä on vain yksi orjan valintatappi, orjat voidaan ketjuttaa seuraavasti:
Vaihe 12:
MOSI JA MISO
Isäntä lähettää tiedot orjalle bitti kerrallaan sarjassa MOSI -linjan kautta. Slave vastaanottaa isännältä lähetetyt tiedot MOSI -nastassa. Isännältä orjalle lähetetty data lähetetään yleensä ensin merkittävimmällä bitillä.
Slave voi myös lähettää dataa takaisin isännälle sarjaportin kautta MISO -linjan kautta. Tiedot, jotka orja lähettää takaisin isännälle, lähetetään yleensä ensin vähiten merkitsevällä bitillä.
SPI -TIETOJEN LÄHETTÄMISEN VAIHEET
*Huomautus Kuvat ovat lueteltuja oboja, jotka voit helposti erottaa
1. Isäntä antaa kellosignaalin:
2. Isäntä kytkee SS/CS -nastan matalajännitteiseen tilaan, joka aktivoi orjan:
3. Isäntä lähettää tiedot bitti kerrallaan orjalle MOSI -linjaa pitkin. Orja lukee bitit, kun ne vastaanotetaan:
4. Jos vastausta tarvitaan, orja palauttaa tiedot bitti kerrallaan isännälle MISO -linjaa pitkin. Päällikkö lukee bitit, kun ne vastaanotetaan:
Vaihe 13: SPI: n EDUT JA HAITAT
SPI: n käytössä on joitain etuja ja haittoja, ja jos sinulla on mahdollisuus valita eri viestintäprotokollien välillä, sinun pitäisi tietää, milloin SPI: tä käytetään projektisi vaatimusten mukaisesti:
EDUT
Ei aloitus- ja pysäytysbittejä, joten dataa voidaan suoratoistaa jatkuvasti keskeytyksettä Ei monimutkaista orjaosoitejärjestelmää, kuten I2C Suurempi tiedonsiirtonopeus kuin I2C (lähes kaksi kertaa nopeampi) aika
EHDOT
Käyttää neljää johtoa (I2C ja UART -laitteet käyttävät kahta) Ei kuittausta siitä, että tiedot on vastaanotettu onnistuneesti (I2C: llä on tämä) SPI: stä. Jatka tämän sarjan toiseen osaan oppiaksesi UART -pohjaisesta viestinnästä tai kolmanteen osaan, jossa keskustelemme I2C -protokollasta.
Jos sinulla on kysyttävää, kysy sitä kommenttikentässä, olemme täällä auttamassa. Ja muista seurata
Terveisin: M. Junaid
Suositeltava:
Juotospinta -asennuskomponentit - Juottamisen perusteet: 9 vaihetta (kuvilla)
Juotospinta -asennuskomponentit | Juotosmenetelmän perusteet: Tähän asti juottamisen perusteet -sarjassa olen keskustellut riittävästi juottamisen perusteista, jotta voit aloittaa harjoittelun. Tässä opetusohjelmassa keskustelen hieman kehittyneemmästä, mutta se on joitakin Surface Mount Compon juottamisen perusasioita
Juotosreikien osien läpi - Juotosmenetelmän perusteet: 8 vaihetta (kuvilla)
Juotosreikien osien läpi | Juotosmenetelmän perusteet: Tässä opetusohjelmassa keskustelen joistakin perusasioista reiän läpi olevien komponenttien juottamisesta piirilevyihin. Oletan, että olet jo tutustunut ensimmäisiin 2 Instructables -sovellukseen Soldering Basics -sarjassani. Jos et ole tutustunut In
Johtimien juottaminen johtoihin - Juottamisen perusteet: 11 vaihetta
Johtimet johtimiin | Juottamisen perusteet: Tässä ohjeessa keskustelen tavallisista tavoista juottaa johdot muihin johtoihin. Oletan, että olet jo tutustunut ensimmäisiin 2 Instructables -sovellukseen Soldering Basics -sarjassani. Jos et ole tutustunut käyttöohjeisiini
Pienet H-sillan ohjaimet - Perusteet: 6 vaihetta (kuvilla)
Pienet H-sillan ohjaimet | Perusteet: Hei ja tervetuloa takaisin toiseen Instructableen! Edellisessä näytin sinulle, kuinka loin kelat KiCadissa python -komentosarjan avulla. Sitten loin ja testasin muutaman kelan muunnelman nähdäkseni, mikä toimii parhaiten. Tavoitteeni on korvata valtava
Python Johdanto - Katsuhiko Matsuda & Edwin Cijo - Perusteet: 7 vaihetta
Python Johdanto - Katsuhiko Matsuda & Edwin Cijo - Perusteet: Hei, olemme 2 opiskelijaa MYP 2: ssa. Haluamme opettaa sinulle Python -koodin perusteet. Sen on luonut Guido van Rossum Alankomaissa 1980 -luvun lopulla. Se tehtiin ABC -kielen seuraajana. Sen nimi on " Python " koska kun