Kako Povezati Registar Smjene S Arduinom

Sadržaj:

Kako Povezati Registar Smjene S Arduinom
Kako Povezati Registar Smjene S Arduinom

Video: Kako Povezati Registar Smjene S Arduinom

Video: Kako Povezati Registar Smjene S Arduinom
Video: Как подключить Arduino NANO / Установка драйвера / Загрузка скетча 2024, Travanj
Anonim

U jednom od prethodnih članaka već smo se ukratko dotaknuli upotrebe registra smjena, posebice 74HC595. Pogledajmo pobliže mogućnosti i postupak za rad s ovom mikrovezom.

Mjenjački registar 74HC595
Mjenjački registar 74HC595

Potrebno

  • - Arduino;
  • - registar smjene 74HC595;
  • - spojne žice.

Upute

Korak 1

Shift registar 74HC595 i slično koriste se kao uređaji za pretvaranje serijskih podataka u paralelne, a mogu se koristiti i kao "zasun" za podatke koji drže preneseno stanje.

Pinout (pinout) prikazan je na slici lijevo. Njihova je svrha kako slijedi.

Q0 … Q7 - paralelni izlazi podataka;

GND - tlo (0 V);

Q7 '- serijski izlaz podataka;

^ MR - reset master (aktivno nisko);

SHcp - unos takta registra pomicanja;

STcp - impulsni ulaz takta "zasun";

^ OE - omogućavanje izlaza (aktivno nisko);

Ds - serijski unos podataka;

Vcc - napajanje +5 V.

Strukturno, mikrovezje se izrađuje u nekoliko vrsta slučajeva; Koristit ću onaj prikazan na slici desno - izlaz - jer lakše ga je koristiti s pločom za ploču.

Izgled i pinout registara pomaka
Izgled i pinout registara pomaka

Korak 2

Dopustite mi da se ukratko prisjetim serijskog sučelja SPI, koje ćemo koristiti za prijenos podataka u registar smjene.

SPI je dvosmjerno dvosmjerno serijsko sučelje u kojem sudjeluju master i slave. Glavni u našem slučaju bit će Arduino, slave će biti registriran 74HC595.

Razvojno okruženje za Arduino ima ugrađenu knjižnicu za rad na SPI sučelju. Kada se primjenjuje, koriste se zaključci koji su označeni na slici:

SCLK - SPI izlaz sata;

MOSI - podaci od gospodara do slave;

MISO - podaci od podređenog prema glavnom;

SS - odabir slave.

Standardne SPI igle za ploču Arduino
Standardne SPI igle za ploču Arduino

3. korak

Sastavimo sklop kao na slici.

Također ću spojiti logički analizator na sve iglice mikrosklopa registra pomicanja. Pomoću nje vidjet ćemo što se događa na fizičkoj razini, koji signali kamo idu i shvatit ćemo što oni znače. Trebao bi izgledati otprilike poput fotografije.

Shema povezivanja registra smjene 74HC595 na Arduino
Shema povezivanja registra smjene 74HC595 na Arduino

4. korak

Napišimo ovakvu skicu i učitajmo je u Arduino memoriju.

Varijabla PIN_SPI_SS interna je standardna konstanta koja odgovara pinu "10" Arduina kada se koristi kao master SPI sučelja koje ovdje koristimo. U principu bismo mogli jednako dobro koristiti bilo koji drugi digitalni pin na Arduinu; tada bismo ga morali deklarirati i postaviti način rada.

Hranjenjem ovog pina LOW, aktiviramo naš registar smjene za prijenos / primanje. Nakon prijenosa ponovo podižemo napon na VISOK i izmjena završava.

Skica koja prikazuje rad registra smjene
Skica koja prikazuje rad registra smjene

Korak 5

Pretvorimo svoj krug u posao i vidjet ćemo što nam pokazuje logički analizator. Općeniti prikaz vremenskog dijagrama prikazan je na slici.

Plava isprekidana linija prikazuje 4 SPI linije, crvena isprekidana linija prikazuje 8 kanala paralelnih podataka registra pomicanja.

Točka A na vremenskoj skali je trenutak kada se broj "210" prenosi u registar smjene, B je trenutak kada se upisuje broj "0", C je ciklus koji se ponavlja od početka.

Kao što vidite, od A do B - 10,03 milisekundi, a od B do C - 90,12 milisekundi, gotovo kao što smo tražili na skici. Mali dodatak u 0, 03 i 0, 12 ms vrijeme je za prijenos serijskih podataka s Arduina, tako da ovdje nemamo točno 10 i 90 ms.

Vremenski dijagram Arduino registra razmjene i pomaka 74HC595
Vremenski dijagram Arduino registra razmjene i pomaka 74HC595

Korak 6

Pogledajmo bliže odjeljak A.

Na samom vrhu je dugi impuls kojim Arduino pokreće prijenos na SPI-ENABLE liniji - odabir slave. U to vrijeme počinju se generirati impulsi sata SPI-CLOCK (drugi redak od vrha), 8 komada (za prijenos 1 bajta).

Sljedeći redak s vrha je SPI-MOSI - podaci koje prenosimo s Arduina u registar smjena. Ovo je naš broj "210" u binarnom obliku - "11010010".

Nakon završetka prijenosa, na kraju impulsa SPI-ENABLE, vidimo da je registar pomaka postavio istu vrijednost na svojih 8 nogu. To sam istaknuo plavom isprekidanom crtom i označio vrijednosti za jasnoću.

Postavljanje broja 210 na paralelnoj sabirnici putem SPI-a
Postavljanje broja 210 na paralelnoj sabirnici putem SPI-a

Korak 7

Sada ćemo skrenuti pozornost na odjeljak B.

Opet, sve započinje odabirom slave-a i generiranjem 8 taktova.

Podaci na liniji SPI-MOSI sada su "0". Odnosno, u ovom trenutku upisujemo broj "0" u registar.

Ali dok prijenos nije završen, registar pohranjuje vrijednost "11010010". Izlazi na paralelne pinove Q0.. Q7, a izlazi kad su u liniji taktovi sa paralelnog izlaza Q7 'na SPI-MISO liniju, što ovdje vidimo.

Postavljanje broja 0 na paralelnoj sabirnici putem SPI-a
Postavljanje broja 0 na paralelnoj sabirnici putem SPI-a

Korak 8

Stoga smo detaljno proučili pitanje razmjene podataka između glavnog uređaja, koji je bio Arduino, i registra smjene 74HC595. Naučili smo kako povezati registar smjena, upisati podatke u njega i čitati podatke iz njega.

Preporučeni: