Bidirektionale Signale Pull - Down Widerstand notwendig?

#2291869
Lesenswert?

Hallo,

ich habe für einen XC2C64A einen VHDL - Code erzeugt mit dem es möglich 
sein soll einen 8 - Bit Port zu lesen bzw. zu beschreiben.
Das Ansprechen des CPLD erfolgt über einen parallelen Bus. Nun ist es so 
angedacht, dass beim Ansprechen einer bestimmten Adresse die Daten des 
Parallelbusses an den Port ausgegeben werden und beim Senden einer 
anderen Adresse das anliegende Signal am Port ausgelesen wird.
Den Treiber der Schnittstelle habe ich wie folgt deklariert:
1
PA <= PORTA when DIRA = '1' else (others => 'Z');

Im Gesamtsystem soll dann dieser Port entweder nur als Eingang bzw. nur 
als Ausgang genutzt werden. Eine Umschaltung im laufenden System soll 
nicht erfolgen.
Jetzt meine Frage an euch:
Bei Nutzung des Ports als Eingang wird dieser in den Tri - State Zustand 
geschaltet, ist es nun notwendig einen externen Pull - Down Widerstand 
an jeden Pin des Ports anzubinden? Da das System universell genutzt 
werden soll, kann es vorkommen, dass dieser Port auch als Ausgang bei 
einer anderen Anwendung genutzt wird. Würde dieser z.B. 10k Pull - Down 
am Pin diesen Betrieb als Ausgang trotzdem ermöglichen?

Viele Grüße

Stephan
Gast #2291880
Lesenswert?

Ich bin da kein großer Experte aber es müsste so sein: Solange bei 
Nutzung als Eingang die andere Seite immer einen definierten Pegel 
erzeugt braucht es keinen Widerstand. Wenn das nicht immer garantiert 
ist (bsp-weise wenn der Baustein auf der anderen Seite auch mal einige 
Zeit auf hochohmig schalten könnten, zb während einer FPGA 
Konfiguration), empfiehlt es sich. In die Gegenrichtung gilt das 
gleiche.
Gast #2307472
Lesenswert?

Wenn man einen Port als Eingang benutz liegt das dran was du dran 
machst, daß muß nicht unbedingt definiert sein. Falls du ein Open 
Collector dran machst mußt du auch nen Pullup ran machen. Wenn du 
Tristate Komponenten dran hast wäre interessant was dran ist wenn alle 
auf Z sind (oder Verhindern über Decoder, so das immer einer aktiv ist). 
Sonst hast du irgendwas drauf (nen Radiosender oder sowas) oder der 
eingangsverstärker arbeitet im Analogbereich. Ist schlecht für 
energieverbrauch bzw. Verlußtleißtung über den Eingangtransistoren. Es 
kommt aber immer auf die Beschaltung drauf an.
Gast #2308057
Lesenswert?

Stephan M. schrieb:
> Würde dieser z.B. 10k Pull - Down
> am Pin diesen Betrieb als Ausgang trotzdem ermöglichen?

Wenn du aus oben genannten Gründen doch einen Widerstand einbaust - 
übrigens egal ob Pull-Down oder Pull-Up - dann ist der Betrieb als 
Ausgang trotzdem problemlos möglich. Auch Werte mit 1k sind i.A. kein 
Problem.
Moderator (Firma: Titel) Persönliche Seite #2308288
Lesenswert?

Stephan M. schrieb:
> Würde dieser z.B. 10k Pull - Down
> am Pin diesen Betrieb als Ausgang trotzdem ermöglichen?
Kannst du da nicht einfach einen PullUp/Down im UCF-File konfigurieren?
Im DB steht: "input configurations include ... pull-up"
Und das Beste daran: wenn du den Pin auf Ausgang umschaltest, entfällt 
dieser Pullup dann automatisch und verbraucht nicht unnötig Strom...

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren