Hallo Forum,
ich bastle hier an einem FPGA-Projekt, bei dem ich einige bidirektionale
5V-Signale brauchen werde. Geschwindigkeit spielt keine große Rolle; ich
brauche im allerschlimmsten Fall ca. 1MHz.
Als FPGA würde ich gerne einen MachXO2 von Lattice nehmen (braucht kein
Config-PROM, eingebauter Oszillator und Flash). Nun beschreibt der
"MachXO sysIO Usage Guide" (für die ältere Serie) einen Weg manche Pins
5V-tolerant zu kriegen, indem man die PCI Clamp Dioden
benutzt/mißbraucht. Im "MachXO2 sysIO Usage Guide" wird davon nichts
erwähnt.
Weiß jemand ob man das mit den neueren MachXO2s noch machen kann, bzw.
gibt es irgendwelche Gründe warum es nicht funktionieren sollte?
J. R. schrieb:> Hallo Forum,> ich bastle hier an einem FPGA-Projekt, bei dem ich einige bidirektionale> 5V-Signale brauchen werde. Geschwindigkeit spielt keine große Rolle; ich> brauche im allerschlimmsten Fall ca. 1MHz.> Als FPGA würde ich gerne einen MachXO2 von Lattice nehmen (braucht kein> Config-PROM, eingebauter Oszillator und Flash). Nun beschreibt der> "MachXO sysIO Usage Guide" (für die ältere Serie) einen Weg manche Pins> 5V-tolerant zu kriegen, indem man die PCI Clamp Dioden> benutzt/mißbraucht. Im "MachXO2 sysIO Usage Guide" wird davon nichts> erwähnt.> Weiß jemand ob man das mit den neueren MachXO2s noch machen kann, bzw.> gibt es irgendwelche Gründe warum es nicht funktionieren sollte?
Nein sollte man nicht.
Der MachXO2 ist mit einem neueren Prozess gefertigt als der XO und
deswegen weniger tolerant. Sieht man z.B. an den Absolute Maximum
Ratings:
Dedicated Input Voltage Applied;
XO : 4.25 V
XO2: 3.75 V
Hallo J.R.
ich habe öfter mit Leuten zu tun, die 5V-tolerante Ein- oder Ausgänge
brauchen und deswegen teure Lösungen auf das Board bauen. Manchmal haben
die aber nur nicht genug nachgedacht, ob es auch eine einfache Lösung
gibt. Je nach Anwendungsfall ist das Begrenzen der Spannung am Pin
mittels Clamp-Diode ausreichend. Wenn auf der Leitung echte
5V-CMOS-Pegel gelten (Vih > 3.5 V), dann geht das natürlich nicht, aber
sonst kann das klappen. Und wenn die Clamp-Diode des Pins nicht taugt,
dann kann man ja eine extene Clamp-Diode verwenden.
Viel Erfolg,
Harald
Harald Flügel schrieb:> 5V-CMOS-Pegel gelten (Vih > 3.5 V), dann geht das natürlich nicht, aber> sonst kann das klappen. Und wenn die Clamp-Diode des Pins nicht taugt,> dann kann man ja eine extene Clamp-Diode verwenden.>
Beim MachXO2 verletzt man damit die Absolute Maximum Ratings, es sei
denn man verwendet eine externe Schottky Diode.
Ausserdem muss man natürlich darauf achten, dass da nicht zu viel Strom
in die Vcc injiziert wird. Wenn das mehr ist als der 3.3V Teil der
Schaltung verbraucht wird es lustig.
Strombegrezung mit Widerstand (bei vielen Pins muss das schon in der
Gegend von kOhm sein) geht nur für langsame Signale. Dabei muss man
natürlich auch auf die maximal erlaubte Ansteigzeiten der Inputs achten.
FET basierende Lösungen sind auch nicht so viel teurer und haben diese
Probleme nicht. Gibt es auch als IC wenn man viele braucht (z.B.
SN74CBTD3861).
Es ist erstaunlich, dass niemand einen trivialen Spannungsteiler
benutzen will. Einfach, preiswert und zuverlässig. Bei nicht allzu
hochohmiger Auslegung desselben kann man damit Signale bis um die 200
Mbit/s verwursten.
Hallo, ich verwende Spannungsteiler, sehr einfach mit 1k und 680 Ohm und
funktioniert problemlos für TTL nach CMOS. Also wenn das nur Eingänge
sind würde ich das machen, bei Ausgängen wird es komplizierter.
Willkommen im Club - wenigstens noch jemand außer mir, der das
praktiziert.
> bei Ausgängen wird es komplizierter.
Weshalb? Wenn der Ausgang als 3,3-V-CMOS konfiguriert wird, dann reicht
das locker zur TTL-Ansteuerung. Das ist bei mir gängige Praxis und
funktioniert anstandslos.
Etwas komplizierter wird es lediglich, wenn man die IO bidirektional an
5 V betreiben will, dann muß man den Transceiver nach außen verlagern.
Ja, stimmt, aber bei den Kabellängen die ich hier habe hat das nicht
immer funktioniert. Normalerweise auf kurze Distanzen sollte das
natürlich funktionieren.
Bei Sparkfun und Anderen gibt es natürlich auch Pegelwandler zu kaufen
die braucht man nur dazwischen löten und fertig. Aber Spannungsteiler
ist oft einfacher.
> Ja, stimmt, aber bei den Kabellängen die ich hier habe hat das nicht> immer funktioniert.
Das ist aber pfui, Kabel direkt und dann noch einpolig direkt vom FPGA
zu treiben!