Tri-State ausgänge (XC95144XL)

Gast #2878284
Lesenswert?
• ▲
▼
Hi Leute,
hab vor kurzem mit Vhdl angefangen und hab jetzt ein Problem mit 
Tri-state Ausgängen.

Ich hab mehrere Zähler die zum Inkrementieren auf Masse gezogen werden 
müssen.
Dazu verwende ich den XC95144XL. Schalte also ein Ausgang des XC95144XL 
zwischen Z und 0(so alle 240ms soll er für 30ms auf 0 schalten).
1
.... 
2
o_Ausgefallenes_Signal_1 : out  STD_LOGIC ;
3
....
4
o_Ausgefallenes_Signal_1 <= '0';
5
...
6
o_Ausgefallenes_Signal_1 <= 'Z'; 
7
...
In der Simulation klappt alles wie gewollt.

Jeder Zähler hat eine Ausgangsspannung von 2,5V.
Wenn ich einen Zähler an den FPGA anschließe fällt die Ausgangsspannung 
auf 200mV ab. Mit dem Oszi sehe ich, dass der FPGA im richtigen Moment 
schaltet. Aber wenn er den Ausgang auf Hochohmig 'Z' schaltet, bleibt 
die Spannung auf 200mV, nimmt also nicht den Spannungswert des Zählers 
an.

Ich finde einfach nicht den Fehler.
Habt ihr irgendeine Anregung oder Idee?

Ich benutze ISE Project Navigator mit der web Licens.

Danke.
Angehängte Dateien:
Moderator (Firma: Titel) Persönliche Seite #2878334
Lesenswert?
• ▲
▼
Alex schrieb:
> Dazu verwende ich den XC95144XL.
Ein CPLD also.
> Wenn ich einen Zähler an den FPGA anschließe
Welches FPGA?
(Am Rande: es heißt: das Feldprogrammierbare Gatearray)

> Aber wenn er den Ausgang auf Hochohmig 'Z' schaltet, bleibt die Spannung
> auf 200mV, nimmt also nicht den Spannungswert des Zählers an.
Du stocherst da irgendwie im Trüben. Ich würde kurz mal ein ganz 
einfaches Projekt aufsetzen, das mit einem Taster den Ausgang zwischen 0 
und Z hin- und herschaltet. Dann siehst du, ob die Tristate-Sache 
überhaupt funktioniert.

> Jeder Zähler hat eine Ausgangsspannung von 2,5V.
Hast du mal ein Datenblatt zu den Zählern? Evtl. fehlt da ein Pullup...

> Code.txt
Poste deinen Code bitte als *.vhdl Datei. Du wirst ein buntes Wunder 
erleben: Syntaxhighlighting...
Gast #2878412
Lesenswert?
• ▲
▼
@Alex:

also ich sehe da schonmal ein mögl. Problem: zwei Takte...
>process (i_clk)
>    begin
>      if rising_edge(i_clk) then
>        vorteiler <= vorteiler + 1 ;
(...)
>  end process;

>  --Ausgefallene Signale
>process (vorteiler_clk)
>  if rising_edge(vorteiler_clk) then
>      --Counter
>        if int_start = '1' then

nimm doch mal lieber nur einen Takt für den Anfang:

So wie hier beschrieben mit enables(ganz unten)
http://www.mikrocontroller.net/articles/Taktung_FPGA/CPLD
Gast #2878431
Lesenswert?
• ▲
▼
Alex schrieb:
> Wenn ich einen Zähler an den FPGA anschließe fällt die Ausgangsspannung
> auf 200mV ab. Mit dem Oszi sehe ich, dass der FPGA im richtigen Moment
> schaltet. Aber wenn er den Ausgang auf Hochohmig 'Z' schaltet, bleibt
> die Spannung auf 200mV, nimmt also nicht den Spannungswert des Zählers
> an.

Sagmal, nen pull-up hast du aussen aber schon dran?
Sonst kann der wenn du Z anlegst beliebig hi oder low sein, weils kein 
Ausgang ist, sondern ein hochohmiger Eingang.
Gast #2878440
Lesenswert?
• ▲
▼
Interessant auch, dass man auf einen mit out definierten Ausgang 
überhaupt ein Z zuweisen kann. Macht ja nur für inout Sinn, weil der 
output-Buffer abgeschaltet werden muss, was für einen Ausgang nicht so 
Sinn macht.
Gast #2879046
Lesenswert?
• ▲
▼
Danke Leute!

Durch die Bedienungsanleitung des Zählers ging ich davon aus, dass der 
Zähler ein Pull-Up hat. Deswegen hab ich es gar nicht in betracht 
gezogen das zu überprüfen.
Na ja man lernt ja aus Fehlern :)

Die Zwei Takte sind beabsichtigt auch wenn es keine schöne Lösung ist.
Ich kann den nicht an eine globale Taktleitung rausführen, wird auch so 
gehen müssen.

Gruß
Alex

Antwort schreiben

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.

Formatierung
  • [c]C-Code[/c]
  • [vhdl]VHDL-Code[/vhdl]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.