Hallo, wie verteile ich am besten einen Bus (7:0) auf drei (15:0). Quasi die Daten die nacheinander auf den 8 Datenleitungen ankommen verteilen auf 3 mal (15:0). Und das ganze in Blöcken verstehe leider nich immer kein VHDL.
Erklär mal, was du genau vorhast. Eingehende 8-Bit-Daten sollen sechsmal bis 48 Bit gespeichert und dann gesplittet benutzt werden?
ne ist etwas anders es kommen 8Bit parallel an (mit jedem Byte auch ein Puls für die Schaltlogik). Diese sind kurz auf dem Bus und dann werden die nächsten Daten aufgeschaltet. Diese Seriellen 8Bit parallel Daten sollen auf 3 mal 15 Bit parallel verteilt werden.
Du schreibst: "kommen 8Bit parallel an" <=> "Diese Seriellen 8Bit " Das ist ein Gegensatz und daher missverstänldich. Wie kommt man denn von "n x 8" auf "3 mal 15 Bit "? Da fehlen noch ein paar Variablen für die Zeit "Diese sind kurz auf dem Bus " was ist denn z.B. "kurz" ---------- Wer Probleme nicht bescheiben kann, kann sie auch nicht lösen
Also vresuche es jetzt mal Verständlich zu erklären: Ankommend sind 8 Adern (Bus) also 8Bit auf denen hinereinander Daten gesendet werden also z.B. 1111.1111 und danach 1000.1110 und danach 1110.0000 ... diese sollen in drei Busse mit 16 Bit verteilt werden. Dazu steht nur ein Puls zur Verfügung der einmal pro 8 Bit auftritt. So hoffe jetzt ist besser erklärt.
Also parallele Schnittstelle, nehme ich mal an. Dann brauchst Du einen Zähler 0-5 für die 6 Datenbytes und 8 Register, in die Du die Bits vom Datenbus dann schreiben willst. Allerdings gibt es ein Problem mit der Zuordnung, wenn auf irgendeine Weise Pulse "verloren gehen", z.B. wenn das Kabel erst während der Kommunikation angesteckt wird. Eine Lösung wäre z.B. ein Bit zur Kennzeichnung des ersten Datenbytes zu verwenden, aber dann bleiben nur noch 7 Nutzbits übrig. Gruß Jörg
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.