Hardware Reference
In-Depth Information
Bearbeitungsstand: Das Anschlussverhalten und die Zielfunktion sind
grob umrissen.
Schritt 2: Sender - Algorithmus, Zeitablauf und Steuersignale
Der Sender soll sich wie folgt verhalten. Er soll auf ein zu versendendes Byte
warten, dieses in das 11-Bit-Datenpaket verpacken, das gesamte Datenpaket
bitweise versenden und anschließend auf das nächste zu versendende Byte
warten. Während der Übertragung ist ein Busy-Signal zu aktivieren, das der
Schaltung, die die Sendedaten liefert, mitteilt, dass die zu versendenden Da-
ten nicht verändert werden dürfen. Dieses verbal formulierte Verhalten ist in
Abb. 3.29a als Struktogramm beschrieben. Der Ablaufrahmen ist eine Endlos-
schleife, in der zu Beginn das Stoppbit versendet, das Busy-Signal deaktiviert
und auf das Startsignal gewartet wird. Nach Aktivierung des Startsignals wer-
den das Busy-Signal aktiviert und nacheinander genau für je eine Bitzeit das
Startbit, die acht Datenbits und das Paritätsbit versendet. Das Versenden
der acht Datenbits und die Berechnung der Parität erfolgt in einer Schlei-
fe. Das Stoppbit und die Deaktivierung des Busy-Signals folgen zum Beginn
des nächsten Schleifendurchlaufs. In diesem Struktogramm steckt der kreati-
ve Teil des Entwurfs. Feinheiten wie, dass das Stoppbit als erstes und nicht
als letztes versendet werden muss, sind in der Regel das Ergebnis mehrerer
Nachbesserungsiterationen.
procedure Sender( signal Start:std_logic; signal x: tByte;
signal TxD, busy: out std_logic; tbit:delay_length) is
variable P:std_logic;
begin
loop
TxD <= '1' ; busy <= '0' ;
wait for tbit;
wait until Start= '1' ;
TxD <= '0' ; busy <= '1' ; P := '0' ;
wait for tbit;
for idx in x'reverse_range loop
TxD <= x(idx);
P := P xor x(idx);
wait for tbit;
end loop ;
TxD <= P;
wait for tbit;
end loop ;
end procedure ;
Wiederholeimmer
TxD<=1;busy<=0;
warteeineBitzeitundbisStart=1
TxD<=0;busy<=1;P:=0;
warteeineBitzeit
wiederholef¨uridx=0bis7
TxD<=x(idx);P:=Pxorx(idx);
warteeineBitzeit
TxD<=P;
warteeineBitzeit
a)
Schnittstellenverhalten
Start
0 1
x 10001011
busy
0 1
x 0 x 1 x 2 x 3 x 4 x 5 x 6 x 7
TxD
0 1
Startflanke Daten Parit¨at
b)
c)
Web-Projekt:P3.4/UART1pack.vhdl
Abb. 3.29. Sendermodell a) Struktogramm b) VHDL-Prozedur c) Signalverlauf
Search WWH ::




Custom Search