Hallo, kurze Frage... (Bin noch recht unerfahren in Prog. Logik.) Was für einen elektrischen Zustand nehmen I/Os von einen CPLD (XILINX 95xxXL) ein wenn dieser "innen" sozusagen unbeschaltet ist. Z. B. ein Datenbuss D0..8 liegt am CPLD und ich verschalte nicht im inneren. Hochohmig, undef. ? Möchte die erst später verwenden und will das diese nicht stören. Kann man die I/O passive schalten. (Am Rande: Verwende AltiumDesigner6.9) Danke für Antworten. mfg Roland
> Kann man die I/O passive schalten.
Warum nicht einfach als Ausgang deklarieren und 'Z' ausgeben?
Normalerweise sind die nicht benutzten Pins hochohmig. Es gibt aber eine Fitter Option "Create programmable GNDs on unused I/Os", welche aus den unbenutzten Pins GND Pin macht. Diese Option ist bei schnellen Design und Bussen sehr empfehlenswert, indem man zwischen die benutzten Pins immer ein unbenutztes legt, das als GND Pin wirkt. Wenn man diese Option verwendet, muß man dem Fitter mitteilen, welche zusätzlichen Pins davon ausgenommen werden sollen. Dies macht man über das UCF File, indem man das Pin mit Prohibit kennzeichnet. Klaus
Danke für die Antworten. Also unbeschaltet hochohmig. Das mit dem Ausgang und TriState ist auch eine gute Idee. mfg Roland
> Normalerweise sind die nicht benutzten Pins hochohmig.
Wie deckt sich das mit der Aussage vom Datenblatt:
1 | Each IOB also provides for bus-hold circuitry (also called a |
2 | “keeper”) that is active during valid user operation. The |
3 | bus-hold feature eliminates the need to tie unused pins |
4 | either high or low by holding the last known state of the input |
5 | until the next input signal is present. .... |
6 | When the device is not in valid user operation, the bus-hold |
7 | circuit defaults to an equivalent 50k ohm pull-up resistor in |
8 | order to provide a known repeatable device state. This |
9 | occurs when the device is in the erased state, in program- |
10 | ming mode, in JTAG INTEST mode, or during initial |
11 | power-up. |
Und nach der Skizze vom DB sollte dieser Keeper sogar bei Ausgängen beteiligt sein. Allerdings steht da auch:
1 | - Bus-hold circuitry on all user pin inputs |
Stimmt, den Bus-Hold habe ich vergessen, aber der kann über den Fitter deaktiviert werden. Dass er beim Power On aktiv ist, kann sein. Der "Keeper" ist nur für Bus-Ausgänge relevant und verhindert dass ein Bus, der von keinem angeschlossenen Busstein niederohmig getrieben wird, undefiniert herum-"floatet". Wenn man vergisst ihn auszuschalten, dann wundert man sich beim Messen warum das Signal nicht richtig hochohmig wird, aber im beschriebenen Anwendungsfall mit dem nichtverwendeten Pins würde er vielleicht gar nicht stören.
Hallo, bin jetzt etwas verwirrt. Trifft das auch für die XILINX 95xxxXL Familie zu? Was muss ich nun tun? Also Datenbus der aktiv ist liegt am CLPD der erstmal aber nix mit den Datenbus tut. mfg Roland
Such's Dir aus : a) Nix tun. Dann werden unbenutzten Pins hochohmig. b) Alle unbenutzten Pins auf GND legen. Dabei gibts wieder 2 Möglichkeiten um deine Bus-Pins auszunehmen. - Die Pins im UCF File mit PROHIBIT markieren. - In VHDL die Pins als out deklarieren und 'Z' zuweisen. Das hat den Vorteil, dass Du die Pins für eine spätere Verwendung schon vorbereitet hast, aber man muss kontrollieren, ob die Signale nicht wegoptimiert wurden, weil sie nicht verwendet werden. Das ist mir bei älteren ISE Versionen schon passiert, ich glaube die neuesten machen das nicht mehr. In beiden Fällen sollte aber der Bus-Hold (Keeper) zum Zug kommen, das heisst der Pin ist nicht komplett hochohmig, sondern versucht den letzten Zustand '1' oder '0', der am Pin angelegt war (von innen oder außen ist egal) zu halten. Diese Schaltung ist nur schwach. Wenn man das nicht will, muss man die Option in den Fitter Options deaktivieren.
> In beiden Fällen sollte aber der Bus-Hold (Keeper) zum Zug kommen, > das heisst der Pin ist nicht komplett hochohmig... FULL ACK Ich hatte an so einem CPLD schon mal offene Eingänge ohne Keeper. Und was passiert dann? Es stellt sich am Pin eine Spannung von ca. Vcc/2 ein --> beide Eingangstreiber-Transistoren leiten (P und N) --> es fliesst ein deutlich wahrnehmbarer Strom, der bis zur Geruchsbelästigung führen kann... ;-)
Diese Erfahrung habe ich zwar nicht gemacht, aber ich habe eigentlich immer alle unbenutzten Ausgänge möglichst auf Programmable GND gelegt. Wenn man den Fitter Report anschaut, sieht man bei den unbenutzten Pins sonst immer "TIE", was ich immer als Aufforderung verstanden habe, den Pin auf ein bekanntes Potential zu legen. Was wir in unserer Firma auch immer machen, das ist die I/Os, welche an einen Stecker gehen, mit ESD Schutz zu versehen.
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.