Hallo zusammen
Ich brauche einen I2C-Levelshifter von 1,8V auf 3,3V.
Deswegen habe ich mir die AN10441 von NXP angeschaut und wollte das auch
in meiner Schaltung verwenden.
Die Simulation funktioniert.
Wenn ich manuell die Signale wackel gehts auch. Nur wenn ich das mit
Aardvark versuche (Geschwindigkeit 400kBit/s) funktionierts nicht.
Ich bekomme ganz schön heftige Delays.
Simulation ist angehängt:
Pullup 1,8V = 1k
Pullup 3,3V = 1,2k
Zur Auswahl des FET: V_GS_threshold << 1,8V damit er sauber
durchschaltet
Wer kann mir Tipps geben an was es liegt?
Viele Grüße
Entwickler
Hallo
Könnte es an der Diodenspannung von Source nach Drain liegen?
Im DB stehen dazu: typ. 0,8V max. 1,2V.
Das würde ja in dem Fall bedeuten, dass wenn das EEPROM den SDA auf Low
zieht noch 0,8 bis 1,2V auf der 1,8V-Seite stehen bleiben. Oder irre ich
mich da?
Gruß
Entwickler
Für eine Richtung ist die Body-Diode erforderlich, um Source so weit
runter zu ziehen, dass der FET aufgeht.
Ergibt 0,4V low vom I2C (per Def) plus 0,7V von der Diode plus Ugs vom
FET. Reicht nicht.
Schottky-Diode parallel zur Body-Diode versuchen. Wird trotzdem eng.
Besser: Levelshifter-IC für 1,8V I2C verwenden.
Entwickler schrieb:> pic.gif>> 2,69 MB
Die Bildgröße ist jetzt nicht dein Ernst, oder?
Und wieso kannst du nicht, wie viele andere auch, das Ding als
verlustlos komprimiertes PNG oder GIF hochladen, statt jedem Nutzer hier
ein unkomprimiertes Bitmap mit 2,7MB zuzumuten ;-(
Guten Abend
@Bildermacher:
Es ist ein gif. Ich habe nicht nach der Dateigröße geschaut. Mea Culpa.
Danke dass Du für die anderen User noch ein kleines Bild zum Download
bereitstellst.
@oeletronika:
Danke für den Hinweis. Der PCA9306 kostet nur ca. 0,30$ (@10k bei
octopart).
Ein NX3008NBKV allerdings nur 0,10$.
Zum Platzbedarf der Pins ohne Footprints:
FET: 1,7mm * 1,7mm = 2,89mm² (100%)
PCA9306: 3,2mm * 2,1mm = 6,72mm² (235%) <-- Es müsste zwingend die
Q1-Variante (Temperaturbereich) sein.
Ich schaue mir mal diese Chips nochmal an.
Kennt vielleicht jemand einen passenden FET?
Zusätzliche Schottky-Dioden möchte ich nicht spendieren müssen.
Gruß
Martin
Bülent C. schrieb:> V(th) Min 0.9 Max 1.5 Typ 1.2
Seiner: min 0,65V, max 1,5V, typ 0,85V.
> Wo ist das Problem?
Beim TO, siehe oben. Es funktioniert bei 400kHz nicht mehr. Und wenn
sein FET nicht geht, wieso dann der BSS138?
> Der ist flotter als der FDG6301.
Inwiefern? Der BSS hat mehr ns, mehr pF, mehr nC und leitet bei 1,5V
fast nicht (bzgl. I2C Strom).
Hi
>Ich brauche einen I2C-Levelshifter von 1,8V auf 3,3V.
Dann nimm einen PCA9517A
- Port A operating supply voltage range of 0.9 V to 5.5 V
- Port B operating supply voltage range of 2.7 V to 5.5 V
MfG Spess
A. K. schrieb:>> Der ist flotter als der FDG6301.>> Inwiefern? Der BSS hat mehr ns, mehr pF, mehr nC und leitet bei 1,5V> fast nicht (bzgl. I2C Strom).
FDG6301
T(on) typ 5ns max 10ns
T(off) typ 4ns max 8ns
BSS138
T(on) typ 2ns max 6ns
T(off) typ 9ns max 20ns
Gut, ok, beim turn-off delay ist er langsamer
Aber warum würde dieser bei 400khz nicht mitgehen können? Wobei das
FDG6301 das eigentlich auch können müsste.
Das ist jetzt keine Rhetorische Frage!
Hallo zusammen
Sorry. Komme erst jetzt wieder online:
Frank K. schrieb:> Entwickler schrieb:>>> PCA9306: 3,2mm * 2,1mm = 6,72mm² (235%) <-- Es müsste zwingend die>> Q1-Variante (Temperaturbereich) sein.>> Das DQE Package ist nur 1.45mm * 1.05mm groß.>> fchk
--> Das DQE-Package gibt es nur für die nicht Q1-Variante. Somit
ungeeignet. Das Package würde auch ausscheiden weil es keine benetzbaren
Flanken hat.
Abdul K. schrieb:> Was ist technisch "Aardvark"?
--> Das ist ein I2C/SPI-Adapter für den PC. Einfach mal googlen. Ich
glaube, dass "Werbe-Links" verboten sind.
Bez. BSS138
--> Der BSS138BK (von NXP) hat eine max. V_GS_threshold von 1,6V. -->
ungeeignet. Wichtig ist auch die max. Diodenspannung zwischen Source und
Drain. Die wäre hier 1,2V (maximal). Somit bleibt noch 0,6V für V_GS.
--> ungeeignet.
Abdul K. schrieb:> mit BJT: http://www.hagtech.com/pdf/translator.pdf
und http://www.hagtech.com/pdf/iic.pdf
--> Interresanter Ansatz. Ich würde dann aber zwei SOT-666 + 8
Widerstände benötigen. Ich schaue mir das mal genauer an. Aber im Moment
verfolge ich den Weg die Diodenspannung von Source nach Drain mittels
Schottkydioden zu verringern und so das sichere Einschalten
sicherzustellen.
spess53 schrieb:> Dann nimm einen PCA9517A
--> Haben bereits einen PCA9306 (gleiche Funktion) im System. Der kann
das auch. Ist mir aber zu teuer.
Viele Grüße und vielen Dank für die Beiträge
Entwickler
Bülent C. schrieb:> Aber warum würde dieser bei 400khz nicht mitgehen können?
Habs doch schon skizziert. Lese-Situation: EEPROM zieht SDA runter. Dann
hat dessen Ausgang per I2C Definition <= 0,4V. Der FET ist zunächst aus.
Auf der 1,8V Seite kommt die Flussspannung der Body-Diode drauf, beim
FDG 0,6V. Ergibt 1,0V auf der µC-Seite. Bleiben für Ugs nur 0,8V übrig.
Der FET selbst spielt bei dieser Gatespannung also kaum eine Rolle,
weshalb der Pegel auf der µC-Seite bei ca. 1V bleibt. Und das ist für
den µC unbrauchbar.
Das geht also auch bei 100kHz überhaupt nur deshalb, weil das EEPROM die
0,4V nicht ausreizt. Wird vielleicht etwas besser, wenn man die
Schaltung in kochendem Wasser betreibt. ;-)
Hi
>--> Haben bereits einen PCA9306 (gleiche Funktion) im System. Der kann>das auch. Ist mir aber zu teuer.
Um welche Stückzahlen geht es hier?
MfG Spess
Was meinst Du mit halbseidene Lösung?
Die Idee mit dem FET hat ja NXP mal veröffentlicht. Ich brauche "nur"
einen FET, der die entsprechenden Parameter hat oder?
Morgen versuche ich das mit den Schottky-Dioden.
Hallo Abdul K
Ich habe die Schaltung mal simuliert. Allerdings bleibt auf der
3V3-Seite knapp 0,9V stehen wenn die 3,3V-Seite Signale treibt. In der
Simulation habe ich ideale NPN verwendet.
Wenn ich einen BC817 oder einen 2N2222 einsetze bekomme ich recht
komische Spannungsverläufe auf der 3,3V-Seite.
Hast Du das schon mal erfolgreich simuliert oder aufgebaut?
Gruß
Entwickler
Entwickler schrieb:> Die Idee mit dem FET hat ja NXP mal veröffentlicht.
Ja, aber nur von 3,3V auf 5,0V.
Bei 1,8V geht das nicht mehr.
Nochmal, warum nimmst Du keinen 1,8V EEPROM?
Hallo zusammen
Peter Dannegger schrieb:> Nochmal, warum nimmst Du keinen 1,8V EEPROM?
Weil ich keinen EEPROM finde der nicht in einem SOIC-Package ist,
automotive-qualifiziert ist und bei 1,8V auch noch 400kHz unterstützt.
Package sollte winzig sein. Und Vorgabe: Wenn DFN dann mit benetzbaren
Flanken.
Viele Grüße
Entwickler
Ja, man kann eben nicht alles haben, entweder 1,8V oder automotive.
Und ein Levelshifter erzeugt zusätzliche Verzögerung, ob damit
3,3V/400kHz gehen, halte ich für fraglich.
Bipolartransistoren kann man (mit verringerter Verstärkung) auch mit
vertauschtem Emitter und Kollektor betreiben. Die Schaltung im Anhang
funktioniert laut Simulation auch bei 1MHz gut.
Q1 und Q2 stellen die Open-Collector-Ausgänge der Chips dar. Q3, R3, R4
und R5 sind der Level-Shifter. Die Werte der Widerstände kann man sicher
noch optimieren.
Viele Grüße
Jonathan
Leo B. schrieb:> Ich frag mich, wo das Problem ist, das Gate des N-FET einfach an 3,3V zu> hängen?
Weil die Spannung auf der 1,8V Seite dann über 1,8V liegen kann?
A. K. schrieb:> Leo B. schrieb:>> Ich frag mich, wo das Problem ist, das Gate des N-FET einfach an 3,3V zu>> hängen?>> Weil die Spannung auf der 1,8V Seite dann über 1,8V liegen kann?
Wenn Ugs > 1.5V ist klappt das.
Lattice User schrieb:> A. K. schrieb:>> Leo B. schrieb:>>> Ich frag mich, wo das Problem ist, das Gate des N-FET einfach an 3,3V zu>>> hängen?>>>> Weil die Spannung auf der 1,8V Seite dann über 1,8V liegen kann?>> Wenn Ugs > 1.5V ist klappt das.
Genau so seh ich das auch. Einfach das Problem zum Nutzen machen...
Wobei der Bipolare rein theoretisch, und offenbar in der Simulation
auch, ebenfalls klappen müsste. Zur not halt 2 Bipolare "antiparallel".
Hallo
Lattice User schrieb:> A. K. schrieb:>> Leo B. schrieb:>>> Ich frag mich, wo das Problem ist, das Gate des N-FET einfach an 3,3V zu>>> hängen?>>>> Weil die Spannung auf der 1,8V Seite dann über 1,8V liegen kann?>> Wenn Ugs > 1.5V ist klappt das.
Das klappt nicht wenn die höhere Seite auf GND zieht, weil dann noch die
Diodenflussspannung (zwischen Drain und Source) noch auf der niedrigeren
Seite stehen bleibt. Die liegt bei max. 1,2V.
Habe mittlerweile Schottkydioden eingelötet.
Funktion erst mal gegeben. Ich bekomme aber ab und zu Spikes auf der
Datenleitung. Aber immer nur zu Zeitpunkten bei denen das ACK kommen
sollte.
Gruß
Entwickler
Entwickler schrieb:> Hallo Abdul K>> Ich habe die Schaltung mal simuliert. Allerdings bleibt auf der> 3V3-Seite knapp 0,9V stehen wenn die 3,3V-Seite Signale treibt. In der> Simulation habe ich ideale NPN verwendet.> Wenn ich einen BC817 oder einen 2N2222 einsetze bekomme ich recht> komische Spannungsverläufe auf der 3,3V-Seite.>> Hast Du das schon mal erfolgreich simuliert oder aufgebaut?>
Leider noch nicht. Ich habe bestimmt 20 unterschiedliche Designs für
dieses Problem auf der Platte. Aber bislang nicht die Zeit... und da ich
von deiner 1e6 Produktion keinen Pfennig sehen werde, tja.
Hi
Abdul K. schrieb:> Leider noch nicht. Ich habe bestimmt 20 unterschiedliche Designs für> dieses Problem auf der Platte. Aber bislang nicht die Zeit... und da ich> von deiner 1e6 Produktion keinen Pfennig sehen werde, tja.
Suchst Du einen Job?
Entwickler schrieb:> Hallo>>> Wenn Ugs > 1.5V ist klappt das.>> Das klappt nicht wenn die höhere Seite auf GND zieht, weil dann noch die> Diodenflussspannung (zwischen Drain und Source) noch auf der niedrigeren> Seite stehen bleibt. Die liegt bei max. 1,2V.>
Ein durchgeschalteter N Kanal FET kann Strom in beide Richtungen
durchlassen.
Entwickler schrieb:> Hi>> Abdul K. schrieb:>> Leider noch nicht. Ich habe bestimmt 20 unterschiedliche Designs für>> dieses Problem auf der Platte. Aber bislang nicht die Zeit... und da ich>> von deiner 1e6 Produktion keinen Pfennig sehen werde, tja.>> Suchst Du einen Job?
Wenn du was gutes zu bieten hast, schicke ne PM an leapfrogs@arcor.de .
Du hast in deinem ursprünglichen Entwurf D und S vertauscht! Nur ein
Zeichenfehler?
So, noch einiges rumgespielt. Jetzt gibts auch ne simple MHz-Lösung.
Diese dritte Lösung will ich nicht verraten. Daher nur die Kurven.
Was mir auffiel bei LTspice: Die mitgelieferten Modelle für BC547 und
dessen SMD-Version BC847 haben ne Macke! Sie unterscheiden sich deutlich
in der Schaltgeschwindigkeit.
Abdul K. schrieb:> So, noch einiges rumgespielt. Jetzt gibts auch ne simple MHz-Lösung.
Deine 3. Lösung sieht wirklich gut aus, scheint das Problem zu lösen.
> Diese dritte Lösung will ich nicht verraten. Daher nur die Kurven.
Du machst es spannend.
Ist diese Lösung rein mit diskreten Komponenten aufgebaut oder
verwendest Du ICs, wie z.B. 74er-Gatter?
Wieviele aktive Bauteile brauchst Du pro Leitung?
Abdul K. schrieb:> Diese dritte Lösung will ich nicht verraten.
Alle sollen dir helfen, aber wenn du zu einem Ergebnis kommst willst du
es niemals herzeigen, auch wenn du damit wahrscheinlich keine
Weltbewegende Entdeckung gemacht hast, aber es muss geheim bleiben!
Nicht das am Ende jemand anderes vielleicht von deiner Arbeit
profitiert, das wäre nicht OK.
Sowas erinnert mich immer an Gollum aus Herr der Ringe: Mein Schaaaatz!
Irgendwie finde ich das lächerlich bis traurig.
Leo B. schrieb:> Abdul K. schrieb:>> Diese dritte Lösung will ich nicht verraten.>> Alle sollen dir helfen, aber wenn du zu einem Ergebnis kommst willst du> es niemals herzeigen, auch wenn du damit wahrscheinlich keine
Du solltest dir dringend den Thread noch mal durchlesen, Abdul war nicht
derjenige der um Hilfe gebeten hat!
Bülent C. schrieb:> Nimm doch den BSS138. Der ist flotter als der FDG6301.
Kommt in etwa das Gleiche raus (Hab die Modelle von Zetex und Fairchild
probiert). Zumindest im Bereich 100KHz bis vielleicht 400KHz.
Gerd E. schrieb:> Abdul K. schrieb:>> So, noch einiges rumgespielt. Jetzt gibts auch ne simple MHz-Lösung.>> Deine 3. Lösung sieht wirklich gut aus, scheint das Problem zu lösen.>>> Diese dritte Lösung will ich nicht verraten. Daher nur die Kurven.>> Du machst es spannend.>
Die 3.Lösung ist im Rahmen der Kostenvorstellung des Threaderstellers.
Da ist es recht eng - ansonsten könnte man ja einen der Standard-Chips
die für diesen Zweck gedacht sind, verwenden. Aber wie so immer: Die
wollen die vergolden mit jenseits 1 Euro. Da scheint 80% des Erlöses in
den Vertrieb und Werbung zu gehen. Zumindest LTC und Maxim, die anderen
habe ich mir erstmal nicht angesehen. Deren Preise werden dann ähnlich
sein.
Außer jemand hat noch einen Geheimtipp in Fernost.
Ich denke schon oft euch zu helfen und werde geholfen. Hier aber nur
gegen Bares. Ihr könnt es ja mit PayPal leapfrogs@arcor.de versuchen.
Man müßte es eh real testen. Auf SPICE-Modelle kann man nur beschränkt
vertrauen.
Hallo zusammen
War die letzten Tage schwer beschäftigt. Schaue, dass ich heute abend
nochmal was dazu schreibe.
Drain und Source habe ich nicht vertauscht. Source muss an der kleineren
Spannungsebene liegen.
Gruß
Entwickler
Hast recht, liegt an der später geposteten Zeichnung wo die
Spannungsquellen zu deinem Originalplan genau getauscht sind.
Dann versteh ich nicht die Probleme in deiner realen Hardware.
Hallo
Das Problem in der Schaltung besteht darin, dass wenn die höhere Seite
auf GND zieht die Diode zwischen Drain(Kathode) und Source (Anode)
leitend wird. Der Strom wird begrenzt durch den Pullup auf der
niedrigeren Spannungsseite. Es können laut DB bis zu 1,2V stehen bleiben
(http://www.nxp.com/documents/data_sheet/NX3008NBKV.pdf Seite 7). Dazu
kommt noch der Spannungsabfall über den Open-Drain (nur einige 10mV).
Nun sind nur noch 0,6V zwischen Gate und Source. Das reicht nicht zum
sauberen Einschalten.
Wenn Du nun argumentierst, dass der Kanal auch leitend wird wenn das
Gate eine höhere Spannung hat als Drain stimmt das nur bedingt. Ein
MOSFET ist meines Wissens nach nicht symmetrisch aufgebaut. Zumindest
kein Ottonormal-FET. Ich denke die Symmetrischen FETs heißen JFET.
Ist auch egal. Habe nun Schottky-Dioden (1PS79SB70) parallel zu den
FETs.
Gruß
Entwickler
Ja, im DB steht aber bei 350mA. Die erreicht kein normaler i2c-Bus.
siehe Fig. 16.
Naja, ist ja nun durch das Thema. Ich hatte noch mit Baker-Clamp
gebastelt, aber das beißt sich mit der Bidirektionalität und dafür fand
ich keine einfache Lösung.
Tach zusammen!
Ich geb´ jetzt auch noch meinen Senf dazu. Für viele meiner Anwendungen
reicht es aus, die Logiklevel ein wenig mit Offset zu versehen: der
Ausgangshub von 3,3V Logik deckt den nötigen Eingangshub von 5V CMOS ab.
Ebenso 1,8V in 3,3V. Die statischen Verhältnisse sind meist unkritisch,
bleibt das Problem die Flanken zu übertragen. Das geht aber einfach mit
´nem passendem Kondensator. Den Offset kann man sich mit einer Diode
hinzimmern, die mit kleinem Strom gebiased wird. Im Beispiel oben sind
das mit der low leakage Diode BAV199 ca 640mV, mit ´ner Standard BAV99
ca. 480mV. Das getriebene Gatter wird eine leicht erhöhte Stromabnahme
haben, weil der Eingang nicht an die rails geht. Bei der NC7SZ Serie
z.B. habe ich so 50 bis 100µA gemessen. Ohne den Diodenoffset nimmt der
Strom deutlich zu.
Von höheren Pegeln runter ist noch einfacher. Ein Spannungsteiler, den
man hochohmig machen kann idem man einen Kondensator für die
Flankenübertragung an die Last anpasst (--> Tastkopf). Die 15pF habe ich
in einer Anwendung, die einen einzelnen Atmel Pin füttert experimentell
ermittelt.
@ Bernd K. (bmk)
>Ich habe das ganze mal überflogen. AON hat MOSFETs für Vgs=1,2V:
Ein einfacher, überall verfügbarer BSS138 hat 0,5V U_GS_THR.
Und einen 8A Leistungsmosfet als Pegelwandler für I2C zu nutzen, ist
reichlich sinnfrei.
Entwickler schrieb:> Guten Abend> @Bildermacher:> Es ist ein gif. Ich habe nicht nach der Dateigröße geschaut. Mea Culpa.> Danke dass Du für die anderen User noch ein kleines Bild zum Download> bereitstellst.>> @oeletronika:> Danke für den Hinweis. Der PCA9306 kostet nur ca. 0,30$ (@10k bei> octopart).http://www.onsemi.com/PowerSolutions/product.do?id=PCA9306
ON Semi würde die auch für $0.18 bei 3k verkaufen...
AEC-Q100 für $0.288 bei 3k allerdings dann in im US8
Die hätten auch noch NLSX4373/NLVSX4373 mit integrierten 10k Pullups
http://www.onsemi.com/PowerSolutions/product.do?id=NLSX4373> Ein NX3008NBKV allerdings nur 0,10$.
Über den SCL und SDA laufen? scnr
Abdul K. schrieb:> So, noch einiges rumgespielt. Jetzt gibts auch ne simple MHz-Lösung.> Diese dritte Lösung will ich nicht verraten. Daher nur die Kurven.
Hab ich sie erraten? Die Kurven sehen jedenfalls sehr ähnlich aus! :P
Korrektur: Mit 10p Streukapazität auf beiden Seiten sind die Kurven
identisch mit deinen.
Viele Grüße
Jonathan