Hallo, ich will Daten zwischen zwei (asynchronen) FPGAs austauschen. Dazu habe ich RS232 nachgebaut; das braucht nur ein Bit und ist (war) relativ schnell implementiert. Das Signal ist elektrisch per LVTTL kodiert, und RS232 hat als Ruhezustand die '1'. Ist es da nicht besser, das Signal zu invertieren, so dass im Ruhezustand (fast) kein Strom fließt? Oder brauche ich mir darum keine Sorgen zu machen? Das ist hier alles ein bisschen verzwickt. Ich habe es vorher nicht geschafft, per Handshake Daten korrekt zu übertragen. Das einzige, was da eigentlich schief gehen kann, ist eine fehlerhafte Abtastung der Handshake-Signale. Aber selbst, als ich den Takt phasenverschoben habe, hat es nicht geklappt. Kann man da sonst noch was falsch machen? Anmerkungen bezüglich der "Bus"wahl? Ich werde innerhalb des Datenstromes zwar schon irgendwie "Addressen" haben, aber ich addressiere damit keine Teilnehmer im Sinne eines Busses. Wobei, man kann es natürlich so hinbiegen ;-) -- stefan
Gast
#551833
>Ist es da nicht besser, das Signal zu invertieren, >so dass im Ruhezustand (fast) kein Strom fließt? Oder brauche ich mir >darum keine Sorgen zu machen? ich glaube da brauchst du dir keine sorgen drum machen, denn "richtig" (sprich nennenswert) strom fließt ja eh nur beim wechsel von 0 nach 1 bzw. umgekehrt. hast du genügend ff (3-4) zum einsynchronisieren deiner handshake leitungen ?! hast du das als statemachine aufgebaut ? poste vielleicht mal deinen code. gruß rene
TheMason wrote: > ich glaube da brauchst du dir keine sorgen drum machen, denn "richtig" > (sprich nennenswert) strom fließt ja eh nur beim wechsel von 0 nach 1 > bzw. umgekehrt. OK. > hast du genügend ff (3-4) zum einsynchronisieren deiner handshake > leitungen ?! Öhm, ich habe ein einsames FF... > hast du das als statemachine aufgebaut ? poste vielleicht mal deinen > code. Es gibt ein FIFO mit 16 bit Breite. Die ersten zwei Zustände brauche ich, um Daten aus dem FIFO zu holen. Die nächsten drei Zustände wiederholen sich viermal. st_write und st_write_again schreiben das Datum zweimal raus, bevor im st_wait_for_ack VALID auf '1' gesetzt wird.
1 | |
2 | |
3 | |
4 | |
5 | |
6 | |
7 | |
8 | |
9 | |
10 | |
11 | |
12 | |
13 | |
14 | |
15 | |
16 | |
17 | |
18 | |
19 | |
20 | |
21 | |
22 | |
23 | |
24 | |
25 | |
26 | |
27 | |
Antwort schreiben
Bitte melde dich an, um einen Beitrag zu schreiben.