www.mikrocontroller.net

Forum: FPGA, VHDL & Co. Verhalten von CPLD ausgang im high-z modus


Autor: Christian H. (cavorca)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

Ich bin jetzt dabei mein erstes größeres Projekt umzusetzen. An einer
Stelle habe ich einen Tristate Ausgang.
Das Projekt ist als FSM geschrieben, im sequentiellen Logik-Teil ist der
Tristate-Port so umgesetzt:

aus<=(state==1) ? next_aus : 8'bZ;

Die zugehörigen Deklarationen sind:

output [7:0] aus;
reg [7:0] aus;
reg [7:0] next_aus;

reg [2:0]state;

Das Programm läuft nach viel Hilfe aus diesem Forum, allerdings zeigt
der CPLD ein Verhalten, dass ich nicht verstehe. Nachdem eine 1 am
Tristate Ausgang ausgegeben wurde und anschließend auf Z geschaltet
wurde ist die 1 weiterhin am Ausgang vorhanden. Zuerst dachte ich das
hätte etwas mit einer parasitären Kapazutät zu tun, da aber auch nach
einigen Sekunden entladen über einen 200K Widerstand immer noch die 1
anliegt müsste diese Kapazität ja riesig sein. Gehe ich aber mal kurz
mit Masse an den pin ist die 1 dauerhaft weg.
Der Ausgang verhält sich also ein wenig wie ein Schmitt-Trigger.

Kennt das jemand? Ist das ein erwünschtes Phänomen? Ich kann es mir
nicht vorstellen... Stört das nicht die anderen Signale die auf der
Leitung sein sollen, wenn man auf Z geschaltet hat? Wie Schalte ich das
ab?

Viele Grüße,
Christian

Autor: Gugu (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Das ist die Bushaltefunktion. Ist im Datenblatt beschrieben.

Autor: Christian H. (cavorca)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ah ok. Danke!

Habe ich es richtig Verstanden:
-Die Bushaltefunktion ist permanent im high-z modus aktiviert (also 
nicht nur bis das erste mal ein anderes gerät auf dem Bus Daten gesendet 
hat)

-die Funktion ist nützlich und sollte nicht deaktiviert werden (falls 
das überhaupt geht), da sie die elektrischen Eigenschaften des Systems 
verbessert.

Bitte beschweren wenn das nicht stimmt!

Viele Grüße
Christian

Autor: Feadi F. (feadi)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Im Anhang ist ein Beispiel wie man sich die Bushaltefunktion vorstellen 
kann.

Diese Funktion verhindert dass die Eingänge 'floaten'.

Gruß, Feadi

Autor: Christian H. (cavorca)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
ok, so in etwa hatte ich mir es auch aus den informationen aus dem 
datenblatt vorgestellt.
Mir ist aber noch nicht ganz klar ob es unter bestimmten Umständen 
sinvoll wäre die funktion zu deaktivieren. Kann es vielleicht sein, dass 
es Probleme gibt oder geben kann, wenn man am Bus 2 Geräte hat die diese 
Funktion haben?

viele grüße,
Christian

Autor: Falk (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@ Christian Honisch

>sinvoll wäre die funktion zu deaktivieren. Kann es vielleicht sein, dass
>es Probleme gibt oder geben kann, wenn man am Bus 2 Geräte hat die diese
>Funktion haben?

Ich denke nicht. Der Bus wird durch einen aktiven Ausgang auf LOW oder 
HIGH getrieben. Wenn dann der aktive Ausgang auf Tristate geht, halten 
beide Buskeeper den Bus auf dem alten Potential.

Was Probleme machen könnte ist eine Mischung aus Pull-up/downs und 
Buskeepern. Die könnten gegeneinander arbeiten und undefinierte 
Buszustände erzeugen (Bus ist low, Pull-up zihet nac HIGH, Keeper nach 
LOW, Busspannung ergibt sich aus dem Spannungsteiler von Pull-up und 
Busskeeper).

MfG
Falk

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [vhdl]VHDL-Code[/vhdl]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.