Guten Abend, ich hab folgendes Problem in meinem VHDL-code: Hab mir einen Generator gebaut, welcher eine Sequenz von Bits aussendet. Die Bitsequenz hat folgende Form: 1Startbit Wartezeit(1 Takt) 24Datenbits Wartezeit(1 Takt) 1Stopbit Das Problem sind die beiden Wartetakte. In denen soll nämlich weder 0 noch 1 anliegen. Zumindest nichts, was den Empfänger beeinflusst. Wie kann man das realisieren? Vielen Dank schonmal.... Grüße, Tim
Wenn es weder Null noch Eins sein soll, musst du nen Datentyp verwenden, der mehr als zwei Zustände kennt. Allerdings stellt sich mir die Frage, ob das hier wirklich sinnvoll, nötig und synthesefähig wäre...
Hallo Tim, an deiner Stelle würde ich eine Startsequenz mit der halben Bitbreite erstellen. z.B. "101" und Danach das Datenwort. Für den Empfang baust du dir eine State-Machine zum Erkennen der Startsequenz (101 Übergang) und Eintakten der Daten. Gruss Stanko
Hi Stanko, schwierig, da der Empfänger eine I2C Chipkarte ist und diese genormt ist, wie die Daten ankommen sollen. Diese verlangt (laut Datenblatt) Wartetakte zwischen Start- Daten- und Stopbit. Jedoch steht da nichts konkretes über das Signal, wie dies aussehen soll, wenn gewartet wird. Da nehme ich an, dass es nicht definiert sein sollte ... also X, - oder U Aber was macht diese Signalzusweisung genau bei der Karte? Grüße,Tim
Das ist doch Unsinn. Außerhalb des FPGA existieren nicht so viele logische Zustände wie VHDL erlaubt. Gib mal das Datenblatt der Karte. Bei I2C ist der Ruhepegel durch PullUps eh immer definiert, was bei VHDL dann mit einem 'Z' ausgegeben werden müsste.
>schwierig, da der Empfänger eine I2C Chipkarte ist und diese genormt >ist, wie die Daten ankommen sollen. Die Norm. Genau, deshalb gibt es auch i2c-start und i2c-stop. Die Ruhezustände sind, die Zustände, bei denen nach einem i2c-stop beide Leitungen (SDA und SCL) auf high bleiben. Das kannst du wie der Vorredner schon sagte, mit einem hochohmigen Eingang realisieren.
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.