Hallo, für ein Projekt möchte ich einen 1x16-Zeichen-Punktmatrix-Display (HD44100-Controller) über ein FPGA (Spartan 3E) ansteuern. Dafür möchte ich nach jeder Anweisung an das Display dessen Busy-Flag abfragen. Daher habe ich die 8 Daten-Signale als "inout" definiert. Diese 8 Pins werden über einen Pegelwandler (SN74LVC4245A) mit dem Display verbunden. Nun muss ja, denke ich mal, der Ausgang am FPGA hochohmig geschaltet werden, bevor das Display seine Daten auf den Bus legt. Aber wie funktioniert das? Wenn ich data <= "ZZZZZZZZ" setze, kann ich die Daten doch nicht mehr abfragen, oder? Was würde überhaupt passieren, wenn auf einer Leitung noch ein High-Signal vom FPGA anliegt, zugleich aber der Ausgang vom Pegelwandler auf Low geht, kann dabei das FPGA Schaden nehmen? Sorry, wenn diese Fragen vielleicht etwas trivial sind, ich habe aber nach 3 Stunden googlen keine wirkliche Lösung gefunden - die Display-Ansteuerungen, die ich gefunden habe, schreiben immer nur aufs Display. Gruß Tobias
Schau dir mal an wie z.B. SRAM angesteuert wird. Wenn du HI/LO an Ausgängen hast gibt das einen Kurzschluss und zumindest der IOB dürfte defekt sein.
> Wenn ich data <= "ZZZZZZZZ" setze, kann ich die Daten > doch nicht mehr abfragen, oder? Doch das kannst du. > Was würde überhaupt passieren, wenn auf einer Leitung noch ein High-Signal > vom FPGA anliegt, zugleich aber der Ausgang vom Pegelwandler auf Low geht, > kann dabei das FPGA Schaden nehmen? Ja, er kann, wahrscheinlich hast du aber Glück und es passiert nichts(der Strom vom FPGA ist begrenzt). Also keine allzugrosse Angst. Mit einem Testbench (das Beste an VHDL!) kannst du alles gut im Simulator durchtesten damit es dann ohne Probleme im FPGA läuft.
Ok, also ich mache eine nebenläufige Anweisung: disp_d <= data when rw = '0' else "ZZZZZZZZ"; und es kann nichts passieren?
Dem FPGA passiert bei tristate Z ohnehin nichts mehr. Die Frage ist nur, wie verhält sich dein Pegelwandler? ist der auch bidirektional?
Der Pegelwandler ist bidirektional (Datenblatt: http://www.farnell.com/datasheets/62872.pdf). Der Eingang "DIR" des Wandlers ist ebenfalls folgendermaßen an das Signal "rw" gekoppelt: pw_dir <= rw; Außerdem hätte ich noch die Möglichkeit, den Pegelwandler hochohmig zu schalten, was aber eigentlich nicht nötig ist, oder?
@ Tobias W. (eagle2010) >Display-Ansteuerungen, die ich gefunden habe, schreiben immer nur aufs >Display. Und? Das reicht doch. Machen 99% aller Anwender so und das sehr erfolgreich. MFG Falk
Falk Brunner wrote: > @ Tobias W. (eagle2010) > >>Display-Ansteuerungen, die ich gefunden habe, schreiben immer nur aufs >>Display. > > Und? Das reicht doch. Machen 99% aller Anwender so und das sehr > erfolgreich. Ok, möglicherweise kann ich mir das Abfragen des Busy-Flags sparen, aber es wäre trotzdem interessant zu wissen, wie es funktioniert.
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.