Bei nicht-getakteten Schaltwerken wird die Rückkopplung modelliert durch
Verzögerungen. Das Verhalten solcher Schaltwerke sollte unabhängig von
Verzögerungen sein, da man diese aus technologischen Gründen nicht genau
festlegen kann. Diese Forderung ist nur für sehr einfache Fälle erfüllbar.
Als wichtigste Beispiele besprechen wir die Flipflops im Kapitel 10.
Bei getakteten Schaltwerken werden Speicher als Zeitglieder eingefügt.
Diese Speicher sind aus Flipflops aufgebaut. Sie haben einen Daten-Eingang,
einen Daten-Ausgang und einen Takt-Eingang. Das Takt-Signal bestimmt,
wann der am Daten-Eingang anstehende Wert in den Speicher übernommen
wird und damit dann am Daten-Ausgang erscheint. Es gibt unterschiedliche
Realisierungen, wie auf das Takt-Signal reagiert wird. Wir definieren dazu:
Definition: Es sei z : B → R mit z(0) = 0, z(1) = 1 .
F S = { s | s : T → B} , heisst Vorder(Rück)flanke (leading (trailing) edge)
von x , wo T = R die Zeit bedeutet, wenn
F(t) = 1 falls lim( z(x(t+ε)) - z(x(t)) ) = 1 (-1) ε→+0 F(t) = 0 sonst
Das folgende Bild zeigt ein zufälliges Binärsignal und seine Vorder- und Rückflanken:
drawbinedge
Definition: Es gelte c,x,y S = { s | s : T → B} und F(t) sei Vorder- oder Rückflanke von c . Dann heisst
g { f | f : SS → S}
taktgesteuertes Zeitglied oder genauer Vorder- bzw. Rückflanken-gesteuertes Zeitglied, wenn y = g(x,c) mit y(t) = x((t)) , wo
(t) = MAX{ τ| τ<t, F(τ) = 1} .
c heisst Takt.
(t) ist hier jeweils die Zeit der letzten Flanke vor t . Dies wird anschaulich durch das folgende Bild erläutert:
drawlastedge
Das Verhalten eines Vorderflanken-gesteuerten Zeitgliedes wird in der folgenden interaktiven Graphik gezeigt. Die Zeit läuft angedeutet durch den vertikalen Balken kontinuierlich von links nach rechts.
Mit der linken Maustaste geben Sie das Taktsignal: Taste gedrückt entspricht 1.
taktdemo('+') % Vorderflankengesteuertes Zeitglied
Das selbe für Rückflanken-Steuerung:
taktdemo('-') % Rückflankengesteuertes Zeitglied
Definition: Es gelte c,x,y S = { s | s : T → B} . V(t) und R(t) sei Vorder- bzw. Rückflanke von c . Dann heisst
g { f | f : SS → S}
pegelgesteuertes Zeitglied (auch Zustands-gesteuertes Zeitglied), wenn y = g(x,c) mit y(t) = x(t) für c(t) = 1 und y(t) = x((t)) sonst, wo
(t) = MAX{ τ| τ<t, R(τ) = 1}
und andererseits zweiflankengesteuertes Zeitglied, wenn y = g(x,c) mit y(t) = x((t)) , wo (t) = MAX{ τ | τ<Θ<t, V(τ) = 1, R(Θ) = 1} .
In diesem Fall der Zweiflankensteuerung ist (t) der Zeitpukt der letzten Vorderflanke vor der letzten Rückflanke.
Die oben schon benutzte interaktive Demo arbeitet auch für diese Taktsteuerungsarten:
taktdemo('p') % Pegelgesteuertes Zeitglied
taktdemo('2') % Zweiflankengesteuertes Zeitglied