Kuinka Yhdistää Siirtorekisteri Arduinoon

Sisällysluettelo:

Kuinka Yhdistää Siirtorekisteri Arduinoon
Kuinka Yhdistää Siirtorekisteri Arduinoon

Video: Kuinka Yhdistää Siirtorekisteri Arduinoon

Video: Kuinka Yhdistää Siirtorekisteri Arduinoon
Video: Kuinka tehdä hamsterille kakku🎂 || Helppo ohje, 2 eri vaihtoehtoa || 2024, Saattaa
Anonim

Yhdessä edellisistä artikkeleista käsittelimme jo lyhyesti siirtorekisterin, erityisesti 74HC595, käyttöä. Katsotaanpa tarkemmin tämän mikropiirin kanssa työskentelemisen ominaisuuksia ja menettelytapoja.

Vaihtorekisteri 74HC595
Vaihtorekisteri 74HC595

Tarpeellinen

  • - Arduino;
  • - siirtorekisteri 74HC595;
  • - liitäntäjohdot.

Ohjeet

Vaihe 1

Siirtorekisteriä 74HC595 ja vastaavia käytetään laitteina sarjadatan muuntamiseksi rinnakkain, ja niitä voidaan käyttää myös datan "salvana" pitämällä siirrettyä tilaa.

Pinout (pinout) on esitetty vasemmalla olevassa kuvassa. Niiden tarkoitus on seuraava.

Q0… Q7 - rinnakkaiset datalähdöt;

GND - maa (0 V);

Q7 '- sarjatiedot;

^ MR - nollaa isäntä (aktiivinen matala);

SHcp - siirtorekisterin kellotulo;

STcp - "salpa" -kellopulssin tulo;

^ OE - lähdön aktivointi (aktiivinen matala);

Ds - sarjatietojen syöttö;

Vcc - virtalähde +5 V.

Rakenteellisesti mikropiiri valmistetaan monentyyppisissä tapauksissa; Käytän oikealla olevassa kuvassa näkyvää - lähtöä - koska sitä on helpompi käyttää leivän kanssa.

Vaihtorekisterin ulkonäkö ja pinout
Vaihtorekisterin ulkonäkö ja pinout

Vaihe 2

Sallikaa minun muistuttaa lyhyesti SPI-sarjaliitäntä, jota käytämme siirtämään tietoja siirtorekisteriin.

SPI on nelijohtiminen kaksisuuntainen sarjaliitäntä, johon isäntä ja orja osallistuvat. Isännämme on tapauksessamme Arduino, orja on rekisteri 74HC595.

Arduinon kehitysympäristössä on sisäänrakennettu kirjasto SPI-käyttöliittymän käsittelyyn. Sitä sovellettaessa käytetään johtopäätöksiä, jotka on merkitty kuvaan:

SCLK - SPI-kellon lähtö;

MOSI - tiedot isännältä orjalle;

MISO - tiedot orjalta isännälle;

SS - orjan valinta.

Arduino-levyn tavalliset SPI-nastat
Arduino-levyn tavalliset SPI-nastat

Vaihe 3

Laaditaan yhteen piiri kuten kuvassa.

Yhdistän myös logiikka-analysaattorin kaikkiin siirtorekisteripiirin nastoihin. Sen avulla näemme, mitä tapahtuu fyysisellä tasolla, mitkä signaalit ovat menossa, ja selvitämme, mitä ne tarkoittavat. Sen pitäisi näyttää jotain valokuvalta.

Kytkentäkaavio siirtorekisterille 74HC595 Arduinoon
Kytkentäkaavio siirtorekisterille 74HC595 Arduinoon

Vaihe 4

Kirjoitetaan tällainen luonnos ja ladataan se Arduino-muistiin.

Muuttuja PIN_SPI_SS on sisäinen standardivakio, joka vastaa Arduinon nastaa "10", kun sitä käytetään tässä käytetyn SPI-liitännän isäntänä. Periaatteessa voisimme yhtä hyvin käyttää mitä tahansa muuta digitaalista nastaa Arduinossa; sitten meidän olisi ilmoitettava se ja asetettava sen toimintatila.

Syöttämällä tätä tapia LOW, aktivoimme siirtorekisterimme lähetystä / vastaanottoa varten. Lähetyksen jälkeen nostamme jännitteen jälleen HIGH: iin, ja vaihto päättyy.

Luonnos siirtorekisterin toiminnan osoittamiseksi
Luonnos siirtorekisterin toiminnan osoittamiseksi

Vaihe 5

Tehdään piiristämme työ ja katsotaan, mitä logiikan analysaattori näyttää meille. Ajoituskaavion yleiskuva on esitetty kuvassa.

Sininen katkoviiva näyttää 4 SPI-viivaa, punainen katkoviiva näyttää 8 kanavaa rinnakkaista siirtorekisteritietoa.

Aika-asteikko on hetki, jolloin luku "210" siirretään siirtorekisteriin, B on hetki, jolloin luku "0" kirjoitetaan, C on alusta toistuva sykli.

Kuten näette, A: sta B: hen - 10,03 millisekuntia ja B: stä C: hen - 90,12 millisekuntia, melkein kuten pyysimme luonnoksessa. Pieni lisäys 0, 03 ja 0, 12 ms: ssa on aika siirtää sarjatietoja Arduinosta, joten täällä ei ole tarkalleen 10 ja 90 ms.

Arduino-vaihdon ja siirtorekisterin 74HC595 ajoituskaavio
Arduino-vaihdon ja siirtorekisterin 74HC595 ajoituskaavio

Vaihe 6

Katsotaanpa tarkemmin osaa A.

Yläosassa on pitkä pulssi, jolla Arduino aloittaa lähetyksen SPI-ENABLE-linjalla - orjavalinta. Tällä hetkellä SPI-CLOCK-kellopulsseja alkaa syntyä (toinen rivi ylhäältä), 8 kappaletta (1 tavun siirtämiseksi).

Seuraava rivi ylhäältä on SPI-MOSI - tiedot, jotka siirrämme Arduinosta siirtorekisteriin. Tämä on numeromme "210" binaarisessa muodossa - "11010010".

Siirron päättymisen jälkeen SPI-ENABLE-pulssin lopussa näemme, että siirtorekisteri on asettanut saman arvon kahdeksalle jalalle. Olen korostanut tämän sinisellä katkoviivalla ja merkinnyt arvot selkeyden vuoksi.

Numeron 210 asettaminen rinnakkaisväylälle SPI: n kautta
Numeron 210 asettaminen rinnakkaisväylälle SPI: n kautta

Vaihe 7

Tarkastellaan nyt osiota B.

Jälleen kaikki alkaa orjan valitsemisesta ja 8 kellopulssin tuottamisesta.

SPI-MOSI-linjan tiedot ovat nyt "0". Eli tällä hetkellä kirjoitamme numeron "0" rekisteriin.

Mutta kunnes siirto on valmis, rekisteri tallentaa arvon "11010010". Se lähetetään rinnakkaisnastoille Q0.. Q7, ja se lähetetään, kun rivillä on kellopulsseja rinnakkaislähdöstä Q7 'SPI-MISO-linjalle, jonka näemme täällä.

Numeron 0 asettaminen rinnakkaisväylälle SPI: n kautta
Numeron 0 asettaminen rinnakkaisväylälle SPI: n kautta

Vaihe 8

Siksi olemme tutkineet yksityiskohtaisesti tiedonvaihtoa päälaitteen, joka oli Arduino, ja 74HC595-siirtorekisterin välillä. Opimme kuinka yhdistää työvuororekisteri, kirjoittaa siihen tietoja ja lukea tietoja siitä.

Suositeltava: