Parallel naar serieel omzetting behoort bij open leertaak OT 8.4.2 © friesland college 2000
Parallel naar serieel omzetting Voer eerst het programma serieel naar parallel uit. In dit programma gaan we zien hoe parallelle informatie omgezet kan worden tot een serieel signaal. Dit gebeurt b.v. in de PC waar een parallelle waarde verzonden wordt via de seriële poort en eventueel via een MODEM naar een andere PC, het Internet, of iets dergelijks
Parallel naar serieel omzetting J J J J K K K K klok ingang Om een parallelle informatie om te zetten gebruiken we weer een schuifregister. Voor het gemak zijn hier 4 flipflops gebruikt. Het kunnen er ook 8 of meer zijn. We herkennen het schuifregister: J en K zijn aangesloten op Q en /Q
Parallel naar serieel omzetting Parallelle ingang SET INGANGEN /S /S /S /S J J J J K K K K /R /R /R /R klok ingang RESET INGANGEN De flipflops hebben nu direct werkende SET en RESET ingangen
Parallel naar serieel omzetting J J J J K K K K /R /R /R /R klok ingang De /SET en /RESET ingangen worden actief bij een logische 0
Parallel naar serieel omzetting FF wordt geset /S /S /S /S J J J J K K K K /R /R /R /R klok ingang Een 0 op een /SET ingang SET de flipflop direct. Dit is onafhankelijk van de toestand van de klokingang. We noemen dit een a-synchrone ingang
Parallel naar serieel omzetting FF wordt gereset /S /S /S /S J J J J K K K K /R /R /R /R klok ingang Een 0 op een /RESET ingang RESET de flipflop direct. Dit is ook onafhankelijk van de toestand van de klokingang. Ook dit is een a-synchrone ingang
Parallel naar serieel omzetting J J J J K K K K klok ingang reset We voorzien de schakeling van een centrale reset. Hier voorgesteld als een drukknop, maar in werkelijkheid een digitaal signaal
Parallel naar serieel omzetting J J J J K K K K klok ingang reset Sluiten we de drukknop, dan worden alle registers gereset.
Parallel naar serieel omzetting J J J J K K K K klok ingang reset Openen we de reset schakelaar, dan blijven de flipflops gereset.
Parallel naar serieel omzetting J J J J Vcc K K K K klok ingang reset De J en K ingang van de eerste flipflop spelen geen belangrijke rol. We maken J=0 en K=1
Parallel naar serieel omzetting Parallelle ingang D C B A load puls & & & & J J J J Vcc K K K K klok ingang reset Om het register parallel te laden sluiten we de bovenstaande schakeling aan.
Parallel naar serieel omzetting Parallelle ingang D C B A load puls & & & & & J J J J Vcc K K K K & klok ingang reset Bovendien moeten we ervoor zorgen dat tijdens een loadpuls het kloksignaal wordt tegengehouden. Hiervoor zorgt de INVERTER en de EN poort.
Parallel naar serieel omzetting Parallelle ingang D C B A load puls seriële uitgang & & & & & J J J J Vcc K K K K & klok ingang reset Het schema is bijna klaar. De Q uitgang van de rechter flipflop (LS-bit) vormt de seriële uitgang.
& & & & & & Parallelle ingang D C B A load puls seriële uitgang J J J Vcc K K K K klok ingang & reset load puls reset klok ingang seriële uitgang We gaan nu stap voor stap zien hoe de schakeling werkt aan de hand van een timingdiagram.
& & & & & & ? Parallelle ingang D=1 C=0 B=1 A=0 load puls seriële uitgang & & & & & J J J J Vcc K K K K klok ingang & reset load puls reset klok ingang seriële uitgang ? De parallelle waarde die serieel verzonden moet worden is 1010B. D is de MSB en A de LSB.
& & & & & & ? Parallelle ingang D=1 C=0 B=1 A=0 load puls seriële uitgang & & & & & J J J J Vcc K K K K klok ingang & reset load puls reset klok ingang seriële uitgang ? De gele balk in het timingdiagram geeft steeds het moment aan waarover de uitleg gaat.
& & & & & & ? Parallelle ingang D=1 C=0 B=1 A=0 load puls seriële uitgang & & & & & J J J J Vcc K K K K klok ingang & reset load puls reset klok ingang seriële uitgang ? Er wordt een resetpuls gegeven. Alle flipflops worden gereset
& & & & & & ? Parallelle ingang D=1 C=0 B=1 A=0 load puls seriële uitgang & & & & & J J J J Vcc K K K K klok ingang & reset load puls reset klok ingang seriële uitgang ? De resetpuls is voorbij.
& & & & & & ? Parallelle ingang D=1 C=0 B=1 A=0 load puls seriële uitgang & & & & & J J J J Vcc K K K K klok ingang & reset load puls reset klok ingang seriële uitgang ? Nu wordt er een parallel-load puls gegeven. De setingangen van 2 flipflops worden laag (en dus actief)
& & & & & & ? Parallelle ingang D=1 C=0 B=1 A=0 load puls seriële uitgang & & & & & (1) (0) (1) (0) J J J J Vcc K K K K klok ingang & reset load puls reset klok ingang seriële uitgang ? De parallelle waarde wordt overgenomen door de flipflops. We noemen dit “parallel load”
& & & & & & ? Parallelle ingang D=1 C=0 B=1 A=0 load puls seriële uitgang & & & & & (1) (0) (1) (0) J J J J Vcc K K K K klok ingang & reset load puls reset klok ingang seriële uitgang ? A De load puls is voorbij. De geheugens blijven geset. Op de seriële uitgang staat een 0, deze komt van ingang A. Let goed op de ingangen J en K van elke flipflop voordat de eerste klokpuls komt.
& & & & & & ? Parallelle ingang D=1 C=0 B=1 A=0 load puls seriële uitgang & & & & & (0) (1) (0) (1) J J J J Vcc K K K K klok ingang & reset load puls reset klok ingang seriële uitgang ? A B De eerste klokpuls wordt gegeven. De informatie schuift op de opgaande flank van de klok naar rechts. Op de seriële uitgang komt de waarde van ingang B te staan (1).
& & & & & & ? Parallelle ingang D=1 C=0 B=1 A=0 load puls seriële uitgang & & & & & (0) (1) (0) (1) J J J J Vcc K K K K klok ingang & reset load puls reset klok ingang seriële uitgang ? A B Als de klokpuls voorbij is, verandert de seriële uitgang niet
& & & & & & ? Parallelle ingang D=1 C=0 B=1 A=0 load puls seriële uitgang & & & & & (0) (0) (1) (0) J J J J Vcc K K K K klok ingang & reset load puls reset klok ingang seriële uitgang ? A B C De tweede klokpuls wordt gegeven. De informatie schuift op de opgaande flank van de klok weer naar rechts. Op de seriële uitgang verschijnt de oorspronkelijke waarde van ingang C (0).
& & & & & & ? Parallelle ingang D=1 C=0 B=1 A=0 load puls seriële uitgang & & & & & (0) (0) (1) (0) J J J J Vcc K K K K klok ingang & reset load puls reset klok ingang seriële uitgang ? A B C Als de klokpuls voorbij is, verandert de seriële uitgang niet
& & & & & & ? Parallelle ingang D=1 C=0 B=1 A=0 load puls seriële uitgang & & & & & (0) (0) (0) (1) J J J J Vcc K K K K klok ingang & reset load puls reset klok ingang seriële uitgang ? A B C D De derde klokpuls wordt gegeven. De informatie schuift op de opgaande flank van de klok weer naar rechts. Op de seriële uitgang verschijnt de oorspronkelijke waarde van ingang D (1).
& & & & & & ? Parallelle ingang D=1 C=0 B=1 A=0 load puls seriële uitgang & & & & & (0) (0) (0) (1) J J J J Vcc K K K K klok ingang & reset load puls reset klok ingang seriële uitgang ? A B C D Als de klokpuls voorbij is, verandert de seriële uitgang niet
& & & & & & ? Parallelle ingang D=1 C=0 B=1 A=0 load puls seriële uitgang & & & & & (0) (0) (0) (0) J J J J Vcc K K K K klok ingang & reset load puls reset klok ingang seriële uitgang ? A B C D Na de vierde klokpuls is het schuifregister volledig leeg geschoven en is ook de seriële uitgang laag.
& & & & & & ? Parallelle ingang D=1 C=0 B=1 A=0 load puls seriële uitgang & & & & & (0) (0) (0) (0) J J J J Vcc K K K K klok ingang & reset load puls reset klok ingang seriële uitgang ? A B C D Het signaal op de seriële uitgang geeft de waarde 1010 weer. Let op: de LSB wordt altijd eerst verzonden!
Dit is het laatste scherm van dit instructieprogramma tijddiagram nogmaals stoppen