Forum: FPGA, VHDL & Co. Allgemein Messen von 'Z'


von Steffen B. (waxology)


Lesenswert?

Hallo,
Gibt es eine Möglichkeit mit einem FPGA, am Ausgang ein 'Z' erfassen zu 
können?

von berndl (Gast)


Lesenswert?

du moechtest wissen, ob ein FPGA eine '0', eine '1' oder ein 'Z' treibt?

Ganz einfach: Du legst eine '0' und eine '1' an die Leitung an und 
pruefst, ob du auch eine '0' oder '1' zurueck lesen kannst! Im 
schlimmsten Fall gibt es einen Kurzschluss ueber den High-side des 
externen und ueber den Low-side deines Chips...

von berndl (Gast)


Lesenswert?

...oder umgekehrt...

von Lothar M. (Firma: Titel) (lkmiller) (Moderator) Benutzerseite


Lesenswert?

> Gibt es eine Möglichkeit mit einem FPGA, am Ausgang ein 'Z' erfassen zu
> können?
Nein. Es gibt keinen definierten Zustand von 'Z', und damit auch keine 
Möglichkeit das Vorhandensein von 'Z' abzufragen.

Warum stellst du die Frage? Was willst du machen?

von Falk B. (falk)


Lesenswert?

@  Lothar Miller (lkmiller)

>> Gibt es eine Möglichkeit mit einem FPGA, am Ausgang ein 'Z' erfassen zu
>> können?
>Nein. Es gibt keinen definierten Zustand von 'Z', und damit auch keine
>Möglichkeit das Vorhandensein von 'Z' abzufragen.

Geht nicht, gibts nicht!

Kann man einfach mit einem Spannungsteiler aus zwei gleichen 
Widerständen, z.B. 2x100k gegen GND und VCC. Per Fensterkomparator kann 
man messen, ob die Spannung bei ~0,5Vcc liegt, dann ist der Ausgang auf 
Tristate.

MFG
Falk

von Lothar M. (Firma: Titel) (lkmiller) (Moderator) Benutzerseite


Lesenswert?

Falk Brunner schrieb:
> Per Fensterkomparator kann man messen, ob die Spannung bei ~0,5Vcc liegt,
> dann ist der Ausgang auf Tristate.
Das war mir schon auch im Sinn...
Aber die ursprüngliche Frage war, ob es
>>> eine Möglichkeit mit einem FPGA
gebe, und da fallen mir nur die Actel-Chips ein, die so ein wenig 
Analog-Geraffel mit drauf haben.

Unbeantwortet ist bis dato:
>> Warum stellst du die Frage? Was willst du machen?

von Steffen B. (waxology)


Lesenswert?

Ok sorry hab erstmal nen Schnipsel in den Raum geschmissen ohne genauere 
Erläuterungen:-)
geht zunächst mal um das Testen von ICs im allgemeinen (kein spezieller) 
mit Scan-Pfad.
Jetzt gibt es hier auch bidirektionale Pins die überprüft werden mussen 
ob sie den Wert 1, 0 und Z annehmen wenn die Schaltung geeignet 
stimuliert wird.
Bei 0 und 1 ist ja alles klar, aber auf Z zu prüfen ist mir nicht klar.
Also ne externe Beschaltung ist auch völlig in Ordnung?
Wollte erstmal allgemein Wissen wie man irgendwie erkennen/prüfen kann 
ob der Treiber deaktiviert wurde?

von Michael (Gast)


Lesenswert?

Wenn die Lecktröme sehr gering sind, hält so eine Leitung in der Regel 
den letzten Spannungswert.
D.h. Schreibe eine eins, deaktiviere den Treiber, lies schnell zurück - 
die Leitung könnte längere Zeit auf high bleiben.

Jedenfalls war das in unserem Multi-DSP System mit SRAM/SDRAM/FPGA 
damals der Fall.

von Christian R. (supachris)


Lesenswert?

Naja, sowas in der Art macht das Boundary Scan System von Göpel. Da wird 
der Treiber deaktiviert und nach einer Zeit gemessen ob der Pegel durch 
den externe Pull-Up oder Pull-Down entsprechend gezogen wurde. Damit 
lassen sich aber nur externe Pull-Widerstände erkennen.

von Lothar M. (Firma: Titel) (lkmiller) (Moderator) Benutzerseite


Lesenswert?

> D.h. Schreibe eine eins, deaktiviere den Treiber,
Und dann weißt du mit einer Wahrscheinlichkeit von 50% ob das Ding Z 
ist...

Nein, die richtige Mehtode ist doch von Falk schon genannt worden:
Einen definierten Spannungspegel von Vio/2 anlegen und hochohmig 
schalten. Dann kontrollieren, ob 0V, Vio, oder Vio/2 an der Leitung 
anliegt.

von Ottmar (Gast)


Lesenswert?

Einfach den messpunkt über einen 100kOhm widerstand an einen weiteren 
FPGA ausgangspin legen. Damit hast du einen umschaltbaren 
Pull-Up/Pull-Down.

Wenn du nun den ausgangspin einmal mit 0 und einmal mit 1 treibst und 
den messpunkt zurückliest, dann kann tristate angenommen werden wenn der 
messpunkt dem schwachen Pull-Up/Pull-Down folgt.

Benötigt natürlich einen weitern cycle in der auswerte logik.

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
Noch kein Account? Hier anmelden.