Industriële fabricage
Industrieel internet der dingen | Industriële materialen | Onderhoud en reparatie van apparatuur | Industriële programmering |
home  MfgRobots >> Industriële fabricage >  >> Manufacturing Technology >> Industriële technologie

Shift Registers:Serial-in, Parallel-out (SIPO) conversie

Een serieel-in, parallel-uit schuifregister is vergelijkbaar met het serieel-in, serieel-uit schuifregister doordat het gegevens naar interne opslagelementen verschuift en gegevens naar de seriële-uit, data-uit, pin verschuift.

Het is anders omdat het alle interne trappen beschikbaar maakt als uitgangen. Daarom converteert een serieel-in, parallel-uit schuifregister gegevens van serieel formaat naar parallel formaat.

Een voorbeeld van het gebruik van Serial-in, Parallel-out Shift Register

Als vier databits worden verschoven met vier klokpulsen via een enkele draad bij data-in, hieronder, komen de gegevens tegelijkertijd beschikbaar op de vier uitgangen QA naar QD na de vierde klokpuls.

De praktische toepassing van het serieel-in, parallel-uit schuifregister is het converteren van gegevens van serieel formaat op een enkele draad naar parallel formaat op meerdere draden.

Laten we vier LED's (light emitting diodes) verlichten met de vier uitgangen (QA QB QC QD ).

De bovenstaande details van het serieel-in, parallel-uit schuifregister zijn vrij eenvoudig. Het ziet eruit als een serieel-in, serieel-uit schuifregister met tikken toegevoegd aan elke trapuitgang.

Seriële gegevens komen binnen bij SI (Seriële ingang). Na een aantal klokken gelijk aan het aantal trappen, verschijnt de eerste databit in bij SO (QD ) in de bovenstaande afbeelding.

Over het algemeen is er geen SO-pin. De laatste fase (QD hierboven) dient als SO en wordt gecascadeerd naar het volgende pakket als het bestaat.

Serial-in, parallel-out vs. Serial-in, Serial-out schuifregister

Als een serieel-in, parallel-uit schuifregister zo lijkt op een serieel-in, serieel-uit schuifregister, waarom nemen fabrikanten dan de moeite om beide typen aan te bieden?

Waarom niet gewoon het serieel-in, parallel-uit schuifregister aanbieden?

Het antwoord is dat ze eigenlijk alleen het serieel-in, parallel-uit schuifregister aanbieden, zolang het niet meer dan 8-bits heeft.

Merk op dat serieel-in, serieel-uit schuifregisters groter zijn dan 8-bits lengtes van 18 tot 64-bits.

Het is niet praktisch om een ​​64-bit serieel-in, parallel-uit schuifregister aan te bieden waarvoor zoveel uitgangspinnen nodig zijn. Zie golfvormen hieronder voor het bovenstaande schuifregister.

Het schuifregister is voorafgaand aan gegevens gewist door CLR' , een actief laag signaal, dat alle type D flip-flops in het schuifregister wist.

Let op de seriële gegevens 1011 patroon gepresenteerd op de SI invoer. Deze gegevens worden gesynchroniseerd met de klok CLK .

Dit zou het geval zijn als het wordt ingeschoven vanuit zoiets als een ander schuifregister, bijvoorbeeld een parallel-in, serieel-uit schuifregister (hier niet getoond).

Op de eerste klok om t1 , de gegevens 1 bij SI is verschoven van D naar Q van de eerste schuifregistertrap. Na t2 deze eerste databit bevindt zich op QB .

Na t3 het is op QC . Na t4 het is op QD . Vier klokpulsen hebben de eerste databit helemaal naar de laatste fase verschoven QD .

De tweede databit een 0 is op QC na de 4e klok. De derde databit een 1 is op QB . De vierde data bit nog een 1 is op QA .

Dus het seriële gegevensinvoerpatroon 1011 is opgenomen in (QD QC QB QA ). Het is nu beschikbaar op de vier uitgangen.

Het zal beschikbaar zijn op de vier uitgangen van net na klok t4 tot net voor t5 .

Deze parallelle gegevens moeten tussen deze twee tijden worden gebruikt of opgeslagen, anders gaan ze verloren door het verschuiven van de QD podium op volgende klokken t5 tot t8 zoals hierboven weergegeven.

Seriële ingang, parallelle uitgangen

Laten we eens nader kijken naar serie-in, parallel-uit schuifregisters die beschikbaar zijn als geïntegreerde schakelingen, met dank aan Texas Instruments.

Volg de links voor volledige apparaatgegevensbladen.

  • SN74ALS164A serieel-in/parallel-uit 8-bit schuifregister
  • SN74AHC594 serieel-in/parallel-uit 8-bit schuifregister met uitvoerregister
  • SN74AHC595 serieel-in/parallel-uit 8-bit schuifregister met uitvoerregister
  • CD4094 serieel-in/parallel-uit 8-bit schuifregister met uitvoerregister

De 74ALS164A is bijna identiek aan ons eerdere diagram, met uitzondering van de twee seriële ingangen A en B .

De ongebruikte ingang moet hoog worden getrokken om de andere ingang mogelijk te maken. We laten niet alle fasen hierboven zien.

Alle uitgangen worden echter weergegeven op het ANSI-symbool hieronder, samen met de pinnummers.

De CLK invoer naar de bedieningssectie van het bovenstaande ANSI-symbool heeft twee interne functies C1 , controle over alles met het voorvoegsel 1 .

Dit zou het inklokken van gegevens zijn op 1D . De tweede functie, de pijl na de schuine streep (/) is het naar rechts (omlaag) verschuiven van gegevens binnen het schuifregister.

De acht uitgangen zijn beschikbaar rechts van de acht registers onder het besturingsgedeelte. De eerste fase is breder dan de andere om plaats te bieden aan de A&B invoer.

Het bovenstaande interne logische diagram is overgenomen van het TI (Texas Instruments) gegevensblad voor de 74AHC594. De type "D" FF's in de bovenste rij bevatten een serieel-in, parallel-uit schuifregister.

Deze sectie werkt zoals de eerder beschreven apparaten. De uitgangen (QA ’ QB tot QH ) van de schuifregisterhelft van het apparaat voedt parallel de type "D" FF's in de onderste helft. QH (pin 9) wordt verschoven naar elk optioneel trapsgewijs apparaatpakket.

Een enkele positieve klokflank bij RCLK zal de gegevens overbrengen van D naar Q van de lagere FF's. Alle 8-bits worden parallel overgedragen naar het uitvoer register (een verzameling opslagelementen).

Het doel van het uitvoerregister is om een ​​constante gegevensuitvoer te behouden terwijl nieuwe gegevens worden verschoven naar de bovenste schuifregistersectie.

Dit is nodig als de uitgangen relais, kleppen, motoren, elektromagneten, hoorns of zoemers aansturen. Deze functie is misschien niet nodig bij het rijden met LED's, zolang flikkeren tijdens het schakelen geen probleem is.

Merk op dat de 74AHC594 aparte klokken heeft voor het schuifregister (SRCLK ) en het uitvoerregister ( RCLK ). De shifter kan ook worden gewist door SRCLR en, het uitvoerregister door RCLR .

Het is wenselijk om de uitgangen in een bekende staat te zetten bij het inschakelen, met name als relais, motoren, enz. worden aangestuurd. De onderstaande golfvormen illustreren het verschuiven en vergrendelen van gegevens.

De bovenstaande golfvormen tonen het verschuiven van 4-bits gegevens naar de eerste vier fasen van 74AHC594, en vervolgens de parallelle overdracht naar het uitvoerregister.

In feite is de 74AHC594 een 8-bits schuifregister, en er zouden 8 klokken nodig zijn om 8-bits gegevens te verschuiven, wat de normale bedrijfsmodus zou zijn.

De 4-bits die we laten zien, besparen echter ruimte en illustreren de bewerking adequaat.

We wissen het schuifregister een halve klok voor t0 met SRCLR'=0 . SRCLR' moet vóór het schakelen hoog worden losgelaten.

Net voor t0 het uitvoerregister wordt gewist door RCLR'=0 . Ook deze is uitgebracht ( RCLR'=1 ).

Seriële gegevens 1011 wordt gepresenteerd op de SI-pin tussen klokken t0 en t4 . Het wordt verschoven door klokken t1 t2 t3 t4 verschijnen tijdens interne ploegendiensten QA ’ QB ’ QC ’ QD .

Deze gegevens zijn aanwezig in deze stadia tussen t4 en t5 . Na t5 de gewenste gegevens (1011 ) zijn niet beschikbaar op deze interne shifter-trappen.

Tussen t4 en t5 we passen een positief gaande RCLK . toe gegevens overdragen 1011 om uitgangen te registreren QA QB QC QD .

Deze gegevens worden hier bevroren als meer gegevens (0 s) verschuift tijdens de daaropvolgende SRCLK s (t5 tot t8 ). De gegevens zullen hier niet veranderen tot een volgende RCLK wordt toegepast.

De 74AHC595 is identiek aan de '594 behalve dat de RCLR' wordt vervangen door een OE' het inschakelen van een tri-state buffer aan de uitgang van elk van de acht uitgangsregisterbits.

Hoewel het uitgangsregister niet kan worden gewist, kunnen de uitgangen worden losgekoppeld door OE'=1 .

Hierdoor zouden externe pull-up- of pull-down-weerstanden alle relais-, solenoïde- of klepstuurprogramma's naar een bekende status kunnen dwingen tijdens het opstarten van het systeem.

Zodra het systeem is opgestart en, laten we zeggen, een microprocessor gegevens naar de '595 heeft verschoven en vergrendeld, kan de uitvoer worden geactiveerd (OE'=0 ) om de relais, elektromagneten en kleppen aan te drijven met geldige gegevens, maar niet voor die tijd.

Hierboven staan ​​de voorgestelde ANSI-symbolen voor deze apparaten. C3 klokt gegevens naar de seriële ingang (externe SER ) zoals aangegeven door de 3 voorvoegsel van 2,3D .

De pijl na C3/ geeft het verschuiven naar rechts (omlaag) van het schuifregister aan, de 8-trappen links van het '595-symbool onder het bedieningsgedeelte.

De 2 voorvoegsel van 2,3D en 2D geeft aan dat deze fasen kunnen worden gereset door R2 (externe SRCLR' ).

De 1 voorvoegsel van 1,4D op de ‘594 geeft aan dat R1 (externe RCLR' ) kan het uitvoerregister resetten, dat zich rechts van het schuifregistergedeelte bevindt.

De ‘595 , die een EN . heeft bij externe OE' kan het uitgangsregister niet resetten. Maar de EN activeert tristate (omgekeerde driehoek) uitgangsbuffers.

De naar rechts wijzende driehoek van zowel de ‘594 en‘595 geeft interne buffering aan. Zowel de ‘594 en‘595 uitgangsregisters worden geklokt door C4 zoals aangegeven door 4 van 1,4D en 4D respectievelijk.

De CD4094B is een 3 tot 15VDC geschikt vergrendelingsschuifregister als alternatief voor de vorige 74AHC594-apparaten.

KLOK , C 1, verschuift gegevens naar SERIAL IN zoals geïmpliceerd door de 1 voorvoegsel van 1D .

Het is ook de klok van het rechter verschuivende schuifregister (linkerhelft van het symboollichaam) zoals aangegeven door de /(pijl naar rechts) van C1 /(pijl) bij de KLOK invoer.

STROBE , C2 is de klok voor het 8-bits uitvoerregister rechts van het symboollichaam. De 2 van 2D geeft aan dat C2 is de klok voor het uitvoerregister.

De omgekeerde driehoek in de output-latch geeft aan dat de output tristatisch is, ingeschakeld door EN3 .

De 3 voorafgaand aan de omgekeerde driehoek en de 3 van EN3 worden vaak weggelaten, zoals elke inschakelen (EN ) wordt geacht de tristate-uitgangen te besturen. QS en QS zijn niet-vergrendelde uitgangen van de schuifregistertrap.

QS kan worden gecascadeerd naar SERIAL IN van een volgend apparaat.

Praktische toepassingen

Een echte toepassing van het serieel-in, parallel-uit schuifregister is het uitvoeren van gegevens van een microprocessor naar een externe paneelindicator.

Of een ander extern uitvoerapparaat dat gegevens in serieel formaat accepteert.

De afbeelding "Alarm met afstandsbedieningstoetsenbord" wordt hier herhaald vanuit de parallel-in, serieel-uit sectie met de toevoeging van het externe display.

Zo kunnen we bijvoorbeeld de status weergeven van de alarmlussen die zijn aangesloten op de hoofdalarmbox.

Als het alarm een ​​open venster detecteert, kan het seriële gegevens naar het externe display sturen om ons dit te laten weten.

Zowel het toetsenbord als het display zouden zich waarschijnlijk in dezelfde externe behuizing bevinden, los van de hoofdalarmbox. We zullen in dit gedeelte echter alleen naar het weergavepaneel kijken.

Als het display op hetzelfde bord als het alarm zou zitten, zouden we gewoon acht draden naar de acht LED's kunnen leiden, samen met twee draden voor stroom en aarde.

Deze acht draden zijn op lange termijn veel minder wenselijk naar een extern paneel. Met behulp van schuifregisters hoeven we maar vijf draden te gebruiken:klok, seriële gegevens, een stroboscoop, voeding en aarde.

Als het paneel zich slechts enkele centimeters van het moederbord zou bevinden, kan het toch wenselijk zijn om het aantal draden in een verbindingskabel te verminderen om de betrouwbaarheid te verbeteren.

Ook gebruiken we soms de meeste beschikbare pinnen op een microprocessor en moeten we seriële technieken gebruiken om het aantal uitgangen uit te breiden.

Sommige uitvoerapparaten met geïntegreerde schakelingen, zoals digitaal-naar-analoog-converters, bevatten seriële in-, parallel-uit schuifregisters om gegevens van microprocessors te ontvangen.

De hier geïllustreerde technieken zijn van toepassing op die onderdelen.

We hebben gekozen voor het 74AHC594 serieel-in, parallel-uit schuifregister met uitgangsregister; het vereist echter een extra pin, RCLK , om de verschoven gegevens parallel naar de uitgangspinnen te laden.

Deze extra pin voorkomt dat de uitgangen veranderen terwijl de gegevens binnenkomen. Dit is niet zo'n probleem voor LED's. Maar het zou een probleem zijn om relais, kleppen, motoren, enz. aan te sturen.

Code die binnen de microprocessor wordt uitgevoerd, zou beginnen met 8-bits gegevens die moeten worden uitgevoerd. Eén bit zou worden uitgevoerd op de pin "Serial data out", waardoor SER . wordt aangestuurd van de afstandsbediening 74AHC594.

Vervolgens genereert de microprocessor een overgang van laag naar hoog op "Shift-klok", waardoor SRCLK . wordt aangestuurd van het '595 schuifregister.

Deze positieve klok verschuift de databit bij SER van “D” naar “Q” van de eerste schuifregistertrap.

Dit heeft geen effect op de QA LED op dit moment vanwege het interne 8-bits uitgangsregister tussen het schuifregister en de uitgangspinnen (QA tot QH ).

Ten slotte wordt "Shift-klok" door de microprocessor naar beneden getrokken. Dit voltooit de verschuiving van één bit naar de '595.

De bovenstaande procedure wordt nog zeven keer herhaald om het verschuiven van 8-bits gegevens van de microprocessor naar het 74AHC594 serieel-in, parallel-uit schuifregister te voltooien.

Om de 8-bits gegevens binnen het interne '595-schuifregister naar de uitgang over te dragen, moet de microprocessor een overgang van laag naar hoog genereren op RCLK , de uitgangsregisterklok.

Hiermee worden nieuwe gegevens op de LED's toegepast. De RCLK moet worden teruggetrokken in afwachting van de volgende 8-bits gegevensoverdracht.

De gegevens die aan de uitgang van de '595 aanwezig zijn, blijven behouden totdat het proces in de bovenstaande twee paragrafen wordt herhaald voor een nieuwe 8-bits gegevens.

In het bijzonder kunnen nieuwe gegevens worden verschoven naar het interne schuifregister '595 zonder de LED's te beïnvloeden. De LED's worden alleen bijgewerkt met nieuwe gegevens met de toepassing van de RCLK stijgende flank.

Wat als we meer dan acht LED's moeten aansturen? Trap gewoon nog een 74AHC594 SER in cascade vastzetten op de QH van de bestaande shifter.

Parallel aan de SRCLK en RCLK pinnen. De microprocessor zou 16-bits gegevens met 16-klokken moeten overbrengen voordat een RCLK wordt gegenereerd beide apparaten voeden.

De discrete LED-indicatoren, die we laten zien, kunnen 7-segments-LED's zijn. Er zijn echter LSI-apparaten (Large Scale Integration) die meerdere 7-segmentcijfers kunnen aansturen.

Dit apparaat accepteert gegevens van een microprocessor in een serieel formaat, waardoor meer LED-segmenten worden aangestuurd dan dat het pinnen heeft door de LED's te multiplexen.

GERELATEERDE WERKBLAD:

  • Werkblad Ploegregisters

Industriële technologie

  1. Faseverschuiving
  2. Octaal en hexadecimaal naar decimale conversie
  3. Conversie van decimale nummering
  4. Inleiding tot Shift Registers
  5. Shift Registers:Serial-in, Serial-out
  6. C# Type conversie
  7. De pandemie versnelt een verschuiving naar 3D-printen
  8. C# - Typeconversie
  9. Chemische filmconversiecoating voor plaatwerk
  10. Conversie van ster naar delta en van delta naar ster. Y-Δ Transformatie
  11. Wat is Passivering &Conversie Coating | CNCLATHING Oppervlakteafwerkingsdiensten