Forum: FPGA, VHDL & Co. CPLD xc9572xl-10PC44 TTL-Unkompatibel?


von JH (Gast)


Lesenswert?

Hallo alle zuammen..

Ich habe ein riesiges Problem.. Ich sitze hier vor meinem CPLD von 
Xilinx und weiß nicht mehr weiter. Ich habe zwei Pins als Ausgänge 
definiert. An einem habe ich dann ein "High-" und an dem anderen ein 
"Low-Pegel" per VHDL definiert. Dies ist nntürlich lediglich ein 
exemplarisches Programm zur Fehlersuche..

Wenn ich jetzt mit dem Multimeter an den Pins messe, messe ich an dem 
"High-Pin" ca 3.6 V und an dem "Low-Pin" exakt 0 V. Das sieht im ersten 
Moment erstmal TTL-Kompatibel aus! Verwende ich diese Signale jedoch in 
einer TTL-Schaltung weiter oder messe sie mit dem Logik-Tester durch 
werden beide als "High-Pegel" interpretiert. Ich frage mich ernsthaft ob 
ich zu blöd bin und verzweifle langsam.. Wie können 0 V als "High-Pegel" 
erkannt werden??

Ich würde mich über eine schnelle Antwort freuen,

Mit freundlichen Grüßen,

JH

von Benedikt H. (hunz)


Lesenswert?

Sicher, dass der 0V-Ausgang nicht hochohmig ist?

von JH (Gast)


Lesenswert?

Wie kann ich das herrausfinden? Habe außer mit TTL noch keine 
großartigen Digitaltechnik-Erfahrung..

von Benedikt H. (hunz)


Lesenswert?

1k gegen Vcc, was sagts Multimeter, 1k gegen GND, was sagts Multimeter 
nun?

Oder mitm Oszilloskop wenn du eines hast - da sieht man die Leitung 
schön hüpfen und Finger dran reicht um sie auf low zu ziehn.

Wie sieht dein VHDL Code aus? Hängt der Output (tristate?) von 
irgendwelchen möglicherweise floatenden Eingängen ab?

von JH (Gast)


Lesenswert?

"1k gegen Vcc, was sagts Multimeter, 1k gegen GND, was sagts Multimeter
nun?" Ich verstehe die Aussage so irgendwie nicht.. Welchen 
Spannungsabfall soll ich nun messen.. Zwischen Vcc und ?

Der Code sieht so aus:
1
entity test is
2
    Port ( GCK : in  STD_LOGIC;
3
         A : out STD_LOGIC;
4
         B : out STD_LOGIC);
5
end test;
6
7
architecture Behavioral of test is
8
begin
9
  A <= '1';
10
11
  B <= '0';
12
13
end Behavioral

Ich habe ein Digitalspeicheroszi. hier stehen.. Wie kann ich denn damit 
den Wdst. ermitteln??

Ich bin verdammt aufgeschmissen wenn ich das nicht hinbekomme.. Danke 
für das Verständis für mein Unwissen  ;)

von Benedikt H. (hunz)


Lesenswert?

Lassen wir das Oszi mal...

Den Widerstand jeweils einmal (nicht zur selben Zeit) zwischen "Ausgang" 
und Vcc und zwischen "Ausgang" und GND. Dabei am "Ausgang" messen.

Wenn der "Ausgang" hochohmig ist misst du bei 1k gegen Vcc am "Ausgang" 
ca. 3.6V und 0V bei 1k gegen GND.

Der VHDL code ist soweit ok.

Wenn mit der 1k-Methode rauskommt dass er hochohmig ist:
* Sicher, dass der CPLD richtig programmiert ist?
* Sicher, dass die PIN-Assignments stimmen?
* Sicher, dass deine Leitung physikalisch Kontakt zum richtigen CPLD pin 
hat? (Wenn du sonen sockel benutz kanns z.B. sein dass der PIN nicht 
ordentlich drandrückt)

von JH (Gast)


Lesenswert?

Also wenn ich gegen Vcc messe ergibt das 4,14 V, gegen GND 0 V..

Das PIN-Assignment ist def. korrekt, tausendmal überprüft.

Nehme direkt am SOckel das signal mit Messpitzen ab..

Auf dem Board sind an einigen Pins LEDs angebracht. Wenn ich diese als 
Ausgang def., läufts.. Daraus folge ich, das alles korrekt programmiert 
wird..

Habe das Ding schon x-mal neu programmiert..

Hast du sonst noch eine Lösungsidee??

von JH (Gast)


Lesenswert?

^^ sorry, es waren gegen Vcc  5,14 V   ;)

von die ??? (Gast)


Lesenswert?

Und was schließt du daraus? Überleg mal, ob es sein kann, dass du dort 
~5V misst wenn der Pin eigentlich 0V als Quelle bringen sollte.

.
..
...

Nö. Die vermeindliche 0V-Quelle ist hochohmig, also falsch konfiguriert. 
Guck dir deine Constrains an, entweder ist der Pin als Input definiert 
oder dein Design ist vermurkst...

von Benedikt H. (hunz)


Lesenswert?

Deine Messung ergibt dass der pin hochohmig ist.

Kann der cpld bzw. der ausgangstreiber kaputt sein... also anderen cpld 
probieren - wenn das nicht hilft liegts problem irgendwo auf der 
softwareseite.

von JH (Gast)


Lesenswert?

An einen anderen CPLD komme ich nciht dran, ist ein Schulprojekt, Lehrer 
auf Klassenfahrt, muss bis Freitag fertig sein..

Wo können den Probleme auf der Softwareseite liegen??

von die ??? (Gast)


Lesenswert?

In den Constraints. Is'n Xilinx, ne? Guckst du in der .ucf-Datei. Inhalt 
hier posten und sagen um welchen Pin es sich handelt.

von Jörn K. (joern)


Lesenswert?

JH wrote:
> ^^ sorry, es waren gegen Vcc  5,14 V   ;)

Mal eine andere Frage: Mit was für einer Versorgungsspannung wird dein 
CPLD betrieben? Die XL Typen von Xilinx brauchen 3V3.

Gruß Jörn

von JH (Gast)


Lesenswert?

1
#PACE: Start of Constraints generated by PACE
2
3
#PACE: Start of PACE I/O Pin Assignments
4
NET "A"  LOC = "P1"  ; 
5
NET "B"  LOC = "P2"  ;
6
NET "GCK"  LOC = "P5"  ; 
7
8
#PACE: Start of PACE Area Constraints
9
10
#PACE: Start of PACE Prohibit Constraints
11
12
#PACE: End of Constraints generated by PAC

A ist High, B ist Low..

Danke nochmal für die Hilfe  ;)

von die ??? (Gast)


Lesenswert?

Und nu noch die Definitionen im Topmodul.

von JH (Gast)


Lesenswert?

Mit 5V wir der betrieben..

von die ??? (Gast)


Angehängte Dateien:

Lesenswert?

JH wrote:
> Mit 5V wir der betrieben..

Das sollte aber nicht so sein. Was ist mit dem Topmodul (siehe oben)?

von JH (Gast)


Lesenswert?

Was meinst du mit Topmodul?

von die ??? (Gast)


Lesenswert?

Öööööh, schieb mal alle .vhd/.vhdl-Dateien hier rein.

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.