Hallo, Kann mir jemand die standarte Bezeichnung von so einem Level Shifter nennen? Ich möchte von Atmega (5v) über SPI mit einem IC, der max 3.6v verträgt, kommunizieren. PS: Am besten aktuelleren Baustein und kein Relikt, das man niergendwo findet bzw. haufen Kohle kostet. Danke
Wenn der Atmega der Master ist, reicht ein Spannungsteiler an MOSI, SCK und SS. Bei 3,6V brauchste vermutlich MISO nciht mit einem Transistor hochziehen.
etwas overkill, aber gut, sind die Standard Digital Isolators von Analog Devices (ADUMxxxx) den Link kennst du? http://www.mikrocontroller.net/articles/Pegelwandler#5_V_.E2.87.94_3.2C3_V
... schrieb: > etwas overkill, aber gut, sind die Standard Digital Isolators von Analog > Devices (ADUMxxxx) > > den Link kennst du? > http://www.mikrocontroller.net/articles/Pegelwandler#5_V_.E2.87.94_3.2C3_V Jap, nur halt weiß ich nicht, ob es vielleicht aktuellere Teile gibt. Analog Devices möchte ich vermeiden. Die machen zwar gute Bauteile, aber der Preis ist etwas zu hoch. Deswegen dachte ich, ob es vielleicht Alternativen aus dem Hause TI oder STmicroelectronics gibt. @ Steffan Meinst du, dass paar Widerstände und Diode ausreichen? PS: Ich habe vergessen zu schreiben, dass es sich MAX31855 auf der anderen Seite befinden würde.
:
Bearbeitet durch User
Stefan S. schrieb: > Wenn der Atmega der Master ist, reicht ein Spannungsteiler an MOSI, SCK > und SS. Spannungsteiler, das geht garnicht! Den gabs ja schon, als die Schaltkreise noch die gleiche Versorgung hatten. Wenn ein Levelshifter nicht aufwendiger, größer und teurer ist, als die ICs die er verbindet, kann es kein ernsthafter Levelshifter sein. Das Levelshifting, die Königsdisziplin beim Electronicdesign, kann doch nicht so auf den Hund ä Spannungsteiler gekommen sein. MfG Klaus
Ja, für diesen Fall sollten je ein Spannungsteiler (2 Widerstände) für jeweils MOSI, SCK und SS ausreichen.
Spannungsteiler sind Murks, bei höherer SPI Geschwindigkeit hast du keine brauchbaren Flanken mehr. Wenn überhaupt nimm die Schaltung vom I2C Pegelwandler mit BSS138. Ich habe gute Erfahrung mit diesen hier: SN74LVC1T45 SN74LVC2T45 Für dich evtl. Overkill, aber super schnell und du kannst der Speicherkarte den Strom abdrehen (Akkubetrieb?) ohne irgendwelche seltsamen Effekte zu bekommen.
Für einen bidirektionalen Level shiifter genügen 2 Widerstände und 1 N-Fet (oder NPN) in eiber sehr schlauen Schaltung. http://www.watterott.com/de/Level-Shifter Link auf Github folgen.
0815 schrieb: > Link auf Github folgen. Oder direkt die AN10441 "Level shifting techniques in I2C-bus design" bei NXP (Phillips) http://www.nxp.com/documents/application_note/AN10441.pdf
Ich habe das die Tage in einer Schaltung (RX/TX ESP8266) so gelöst: http://playground.arduino.cc/uploads/Main/i2c-level-shift-mosfet.png Hier der komplette Link: http://playground.arduino.cc/Main/I2CBi-directionalLevelShifter Das funktioniert bei mir einwandfrei.
W.A. schrieb: > Level shifting techniques in I2C-bus design 0815 schrieb: > Für einen bidirektionalen Level shiifter Wozu bidirektionale Level-Schifter, wenn eigentlich ein unidirektionaler SPI gefragt ist? Ich würde das einfach den SN74LV1T34 vorschlagen, dann muss man sich auch um das Timing keine Gedanken machen: http://www.mouser.de/Texas-Instruments/Semiconductors/Logic-ICs/Buffers-Line-Drivers/SN74LV1T34-Series/_/N-50nah?P=1yx5mmkZ1z0zls6 Oder den 74LVC1T45 für 11 Cent ab 100 Stück: http://www.mouser.de/Diodes-Incorporated/Semiconductors/Logic-ICs/Logic-Gates/74LVC1T45-Series/_/N-581zn?P=1ywwmqlZ1yx8ncq Den gibts dann zusätzlich noch von mehreren Herstellern... http://www.diodes.com/catalog/Single_Gate_108/74LVC1T45_11052 http://www.ti.com/product/sn74lvc1t45 http://www.nxp.com/products/discretes-and-logic/logic/dual-supply-translating-transceiver-3-state:74LVC1T45GW
:
Bearbeitet durch Moderator
danke schon mal Gibt es solche Level Shifter (5v->3,3v) für mehrere Kanäle? So wie es aussiecht brauche ich 3 davon und 3 gleiche Teile zu nehmen, ist irgendwie nicht besonders schön. Ich habe zwar paar gefunden, aber die sind alle nur für 1,8v->3,3v ausgelegt.
Black J. schrieb: > Gibt es solche Level Shifter (5v->3,3v) für mehrere Kanäle? Ja. Nach kurzer Suche http://www.ti.com/product/SN74LVC2T45 http://www.ti.com/product/sn74lvc4245a http://www.ti.com/product/sn74lvc8t245 http://www.ti.com/logic/docs/translationresults.tsp?sectionId=458&voltageIn=3.3&voltageOut=5.0&searchDirection=1&sortColumn=HighVcc&sortType=Asc#voltrslt Aber ehrlich: da sind 3 der Single-Gate ICs nicht wesentlich größer und können "geschickt" im Layout platziert werden...
:
Bearbeitet durch Moderator
Black J. schrieb: > Ich habe zwar paar gefunden, aber die sind alle nur für 1,8v->3,3v > ausgelegt. 74LVC4T245, LVC8T245 oder fuer 5 Volt nach 3.3 Volt eine passende 3.3 Volt Logik mit 5-Volt Toleranz, z.B. SN74LVC245 oder fuer 3.3 Volt nach 5 Volt eine TTL-kompatible Logik mit 5 Volt Betriebsspannund, z.B. HCT.
Black J. schrieb: > Kann mir jemand die standarte Bezeichnung von so einem Level Shifter > nennen? > Ich möchte von Atmega (5v) über SPI mit einem IC, der max 3.6v > verträgt, kommunizieren. da gibt es einige Grundvarianten, manche sind angepasste analog switches, mancher bus/line driver, andere dagegen nur mehrfachtransitoren mit beschaltung: http://www.nxp.com/documents/other/analog_switches.pdf https://www.fairchildsemi.com/datasheets/MM/MM74HC4316.pdf http://www.ti.com/lsds/ti/logic/voltage-level-translation-overview.page https://www.adafruit.com/datasheets/txb0108appnote.pdf Grad bei bidirectionalen gibts einige Möglichkeiten. Denn würd ich einer dedizierten SPI-Variante vorziehen um für spätere Anwendungsbereiche gewappnet zu sein.
Das ist vor allem erstmal eine Frage der zu erreichenden Geschwindigkeit. Wie erwähnt kommt man da mit Spannungsteilern nicht weit und am CS ist ein Spannungsteiler auch noch besonderer Murks. Die I2C Level-Shifter mit FET bringen einen aber auch nicht viel weiter. Bei 2 MHz und kurzen Leitungen kann das gerade noch so funktionieren, darüber hinaus sieht das Signal auch sehr abenteuerlich aus wenn man da schon ziemlich nieder-ohmig dran geht. Ich bevorzuge da single-Gate Logik, 74LVC1G125 etwa. Für MISO reicht eventuell ein 100R in Reihe. Beim AVR wird das aber eng, weil die 0,6*VCC als minimal-High haben wollen.
Black Jack (shaman) >Gibt es solche Level Shifter (5v->3,3v) für mehrere Kanäle? Sicher. 74HC4050 ist dein Freund. Für die Rückrichtung 3,3V-> 5V nehm ich meist 74HCT125, gibt es auch in klein im SOT23 Gehäuse. Andere Gatter gehen auch, solange es HCT ist. Siehe Pegelwandler Die tollen "Tipps" mit Spannungsteiler und I2C-Pegelwandler solltest du schnell vergessen, die sind Murks. Ausserdem verbraucht ein 74HC4050 & Co deutlich weniger Strom und ist trotzdem DEUTLICH schneller und sicherer!
Bezüglich 74HC4050: Ich verstehe es nicht ganz. Macht er die Umwandlung von 5v mega per SPI zu 3,3v Max IC automatisch? d. h. Pin 1 (Vcc) ist nur für die Versorgung von Level Shifter gedacht ist und mehr nichts? .., Weil ich dachte, dass man bei so einen Level Shifter verschiedenen Spannungen direkt anschließen sollte und erst dann macht er, was passendes draus.
Hi >Weil ich dachte, dass man bei so einen Level Shifter verschiedenen >Spannungen direkt anschließen sollte und erst dann macht er, was >passendes draus. Der 4050 verträgt einfach Eingangsspannungen oberhalb seiner Betriebsspannung. Natürlich innerhalb der Grenzen des Datenblatts. Ist auch meine 1.Wahl. MfG Spess
Ich habe den MAX3372E im einsatz. Von 1.2V bis 5.5V Bis zu 16Mbps 4 Kanäle bidirektional, gibt aber auch andere/kleinere Ausführungen
Hi
>4 Kanäle bidirektional, gibt aber auch andere/kleinere Ausführungen
Wozu braucht man bei SPI bidirektional?
MfG Spess
Falk B. schrieb: > Die tollen "Tipps" mit Spannungsteiler und I2C-Pegelwandler solltest du > schnell vergessen, die sind Murks. Allein dieses Gegenbeispiel zeigt das diese Aussage falsch ist (NXP, weiter oben bereits verlinkt): http://www.nxp.com/documents/application_note/AN10441.pdf Alles was Falk postet sollte man äußerst kritisch betrachten. Er liegt einfach zu oft daneben.
spess53 schrieb: > Wozu braucht man bei SPI bidirektional? Und (halb-)täglich grüßt das Murmeltier... Denn schon Lothar M. schrieb: > Wozu bidirektionale Level-Schifter, wenn eigentlich ein unidirektionaler > SPI gefragt ist? ;-) Bernd schrieb: > Allein dieses Gegenbeispiel zeigt das diese Aussage falsch ist ... Hast du mal gelesen, was dort steht?
1 | The bidirectional level shifter can be used for both |
2 | Standard-mode (up to100 kbit/s) or in Fast-mode (up to 400 kbit/s) |
3 | I2C-bus systems. |
Mal ganz ehrlich: das kann sogar ein Spannungsteiler...
:
Bearbeitet durch Moderator
Bernd schrieb: > Allein dieses Gegenbeispiel zeigt das diese Aussage falsch ist Hast Du das mal gemessen?
spess53 schrieb: >>MAX3372E >>4 Kanäle bidirektional, gibt aber auch andere/kleinere Ausführungen > > Wozu braucht man bei SPI bidirektional? Man braucht beide Richtungen. Und dann ist ein Pegelwandler-IC praktisch, das von Haus aus bidirektional funktioniert. Die Alternative wären Pegelwandler mit mehreren unidirektionalen Kanälen in die eine oder andere Richtung (wie z.B. RS-232 Pegelwandler). Oder gar separate getrennte IC für jede Richtung. Beides nicht unbedingt besser und auf jeden Fall weniger flexibel. Lothar M. schrieb: > Und (halb-)täglich grüßt das Murmeltier... > Denn schon Lothar M. schrieb: Das klingt ein bißchen wie "wozu brauchst du das Auto? Das hat ein Fünfgang-Getriebe, aber hier im Wohngebiet darfst du doch gar nicht schneller als 30 fahren"
HI Der ATMega ekennt 3,3V-Pegel problemlos als H. Also reichen unidirektionale Levelshifter aus. MfG Spess
Axel S. schrieb: >> Wozu braucht man bei SPI bidirektional? > > Man braucht beide Richtungen. Und dann ist ein Pegelwandler-IC > praktisch, das von Haus aus bidirektional funktioniert. Nö, SPI --> unidirektional I2C --> bidirektional Wenn Du einen universellen Wandler für I2C suchst: TXS0102/TXS0104E/TXS0108E Für SPI reicht die Push/Pull-Variante: TXB0102/TXB0104/TXB0108 Gruß, Thomas
Hallo, ich nehme bei AVR oft einen PullUp 3,3k am 3,3V Eingang und eine Schottkydiode mit Kathode zum AVR-Ausgang. War bisher bis zur maximalen SPI-Geschwindigkeit der AVR und allen Slaves, auch SD-Karten, stabil und schnell genug. Gruß aus Berlin Michael
Axel S. schrieb: > Man braucht beide Richtungen. Und dann ist ein Pegelwandler-IC > praktisch, das von Haus aus bidirektional funktioniert. Oder 3 Einzelchips, die beliebig angeordnet werden können und 100MHz wegschaffen...
@ Bernd (Gast) >> Die tollen "Tipps" mit Spannungsteiler und I2C-Pegelwandler solltest du >> schnell vergessen, die sind Murks. >Allein dieses Gegenbeispiel zeigt das diese Aussage falsch ist (NXP, >weiter oben bereits verlinkt): >http://www.nxp.com/documents/application_note/AN10441.pdf Was tut das zur Sache? I2C hat Open Drain Signale und bidirektionale Leitungen mit typisch bis zu 400kHz. SPI hat unidirektionale Signale mit mehreren MHz. Merkt er was? >Alles was Falk postet sollte man äußerst kritisch betrachten. Er liegt >einfach zu oft daneben. Sagt wer? Ein namen- und reputationsloser Bernd? Bernd das Brot? Verkrümel dich! ;-)
@ spess53 (Gast) >Der ATMega ekennt 3,3V-Pegel problemlos als H. Also reichen >unidirektionale Levelshifter aus. Sag doch nicht sowas, hier lesen auch Kinder mit! ;-) Als Bastlereinzelstück mag das gehen, wir hatten hier aber auch schon echte Leidensgeschichten in genau der Situation! Beitrag "Re: SPI Problem aufgrund von Spannungsversorgung (Arduino Uno & opt. Sensor))" (Was man mit Google nicht alles wiederfindet?!!!)
Thomas T. schrieb: > Axel S. schrieb: >>> Wozu braucht man bei SPI bidirektional? >> >> Man braucht beide Richtungen. Und dann ist ein Pegelwandler-IC >> praktisch, das von Haus aus bidirektional funktioniert. > > Nö, Was heißt hier "Nö"? > SPI --> unidirektional > I2C --> bidirektional Das ist allen hier klar. Trotzdem kann man den bidirektionalen Pegelwandler auch für die unidirektionalen SPI-Signale nehmen. Was den Charme hat, daß man nur ein IC braucht. > Für SPI reicht die Push/Pull-Variante: TXB0102/TXB0104/TXB0108 Und jetzt wird es skurril. Denn das sind genau solche bidirektionen Pegelwandler wie ich (und meine Vorredner) sie vorgeschlagen haben.
Ist die Skizze so richtig (siehe oben)? Zwischen Vcc und Gnd von Maxim kommt noch ein Kerko 0,1 Mikrofarad und zwischen Vcc und GND von 74HC4050 eins mit 100nF Wie sieht es mit anderen Pins aus? Kann (sollte) man die nicht auch mit etwas anderes verbinden (gegen irgendwas schalten), um die Störungen (Schwingungen) in der Schaltung zu vermeiden? PS: Siehe rechtes Bild, links ist falsch
:
Bearbeitet durch User
@ Black Jack (shaman) >Ist die Skizze so richtig (siehe oben)? Nö. DU hast die EIn- und Ausgänge am 74HC4050 verdreht. A ist dort immer Eingang Y Ausgang. ALLE 5V Signale müssen über den Pegelwandler, auch CS! Und dort muss an der 5V Seite ein Pull-Up Widerstand dran, 10K oder so. Der 74HC4050 wird mit 3,3V versorgt, NICHT 5V! Und nimm einen 74HC4050, NICHT den HEF4050, das ist der gaaanz alte 4000er Typ, der ist DEUTLICH langsamer! Unbenutze Eingänge am 74HC4050 müssen auf GND oder VCC! Dein SO Signal vom ADC kannst du NICHT über den 74HC4050 führen! Der kann nur von 5 -> 3,3V wandeln, NICHT umgekehrt! Dafür brauchst du einen anderen IC, z.B. 74HCT125. Zwischen Vcc und Gnd von Maxim >kommt noch ein Kerko 0,1 Mikrofarad und zwischen Vcc und GND von >74HC4050 eins mit 100nF Das ist das Gleiche ;-) >Wie sieht es mit anderen Pins aus? Kann (sollte) man die nicht auch mit >etwas anderes verbinden (gegen irgendwas schalten), um die Störungen >(Schwingungen) in der Schaltung zu vermeiden? Nö.
ok. Ich habe es noch mal überarbeitet. Diese ICs wollte ich nehmen. 74HC4050: https://www.conrad.de/de/logik-ic-puffer-treiber-texas-instruments-cd74hc4050pwr-tssop-16-1015781.html 74HCT125: https://www.conrad.de/de/smd-hct-mos-74hct-ic-smd74hct125-gehaeuseart-so-14-ausfuehrung-4fach-bus-puffer-tri-state-145076.html >Unbenutze Eingänge am 74HC4050 müssen auf GND oder VCC! d.h. 74HC4050: 1A, 2A, 3A und 6A über 100nf nach 3,3v Sollte man bei 74HCT125 gleiches tun? d.h. A1, A2, A3 und A4 über 100nF an 5v
@ Black Jack (shaman) >ok. Ich habe es noch mal überarbeitet. Ja, aber nun mit neuen Fehlern ;-) SCK und MISO brauchen keinen extra Pull-Up, bei MISO kann man den internen einschalten. Dein 125er ist wieder mal falsch rum. (Expertentip: Die Pfeilrichtung von Gattern oder Dioden gibt den Daten- bzw. Stromfluß an!) Ausserdem hast du den falschen Eingang erwischt. Pin 13 is der Enable, sprich, der aktiviert das Gatter. Der muss fest auf GND oder noch besser, direkt an das 5V CS! Der richtige Eingang ist Pin 12. Und der muss an SO vom ADC! >Diese ICs wollte ich nehmen. >74HC4050: >https://www.conrad.de/de/logik-ic-puffer-treiber-t... Soll es wirklich TSSOP-Gehäuse sein? Kannst du das löten? 0,65mm Pitch. >74HCT125: >https://www.conrad.de/de/smd-hct-mos-74hct-ic-smd7... SO14, das hat 1,27mm Pitch, das ist noch human für Bastler bzw. Anfänger. >>Unbenutze Eingänge am 74HC4050 müssen auf GND oder VCC! >d.h. 74HC4050: 1A, 2A, 3A und 6A über 100nf nach 3,3v Wer hat das gesagt? DIREKTVERBINDUNG! >Sollte man bei 74HCT125 gleiches tun? Ja. > d.h. A1, A2, A3 und A4 über 100nF an 5v NEIN! Siehe oben!
:
Bearbeitet durch User
Falk B. schrieb: > Expertentip: Die Pfeilrichtung von ... Dioden gibt den ... Stromfluß an! Dann solltest du auch dazu schreiben, ob du von Elektronflussrichtung oder technischer Stromrichtung sprichst.
ok, dann eben den hier https://www.conrad.de/de/logik-ic-puffer-treiber-texas-instruments-cd74hc4050m-soic-16-n-1075313.html Noch mal editiert >Pin 13 is der Enable, sprich, der aktiviert das Gatter. Der muss fest auf >GND oder noch besser, direkt an das 5V CS! Warum an 5v ~CS? ~CS von Maxim läuft doch mit 3,3V. Oder ist damit ~SS von Mikrocontroller gemeint? >Wer hat das gesagt? DIREKTVERBINDUNG! Wie denn sonnst? Oder einfach diese Ganze Eingänge an Pin1 von IC anschließen? Aber das ist doch dasselbe
:
Bearbeitet durch User
@ Black Jack (shaman) >ok, dann eben den hier >https://www.conrad.de/de/logik-ic-puffer-treiber-t... SOIC. Wegen MIR musst du den nicht nehmen, ich denke eher an dich! ICH kann auch TSSOP und kleiner löten ;-) >>Pin 13 is der Enable, sprich, der aktiviert das Gatter. Der muss fest auf >>GND oder noch besser, direkt an das 5V CS! >Warum an 5v ~CS? ~CS von Maxim läuft doch mit 3,3V. Oder ist damit ~SS >von Mikrocontroller gemeint? Ja. >>Wer hat das gesagt? DIREKTVERBINDUNG! >Wie denn sonnst? Oder einfach diese Ganze Eingänge an Pin1 von IC >anschließen? Aber das ist doch dasselbe Hä? Du sollst ALLE unbenutzten Eingänge auf GND oder VCC klemmen, DIREKT. Ist das so schwer? Pin 13 vom 125er entweder fest auf GND (=Gatter aktiv!) oder an SS! NICHT an 5V!
>SOIC. Wegen MIR musst du den nicht nehmen, ich denke eher an dich! >ICH kann auch TSSOP und kleiner löten ;-) Solange es nicht kleiner als SOT-23-5 ist, würde es gehen. >Hä? Du sollst ALLE unbenutzten Eingänge auf GND oder VCC klemmen, >DIREKT. Ist das so schwer? ok. Ich habe gerade gesehen, dass ich zuerst das falsche Bild geladen habe. Jetzt sollte es passen. Eventuell noch Kerkos zwischen unbenutzten Pins und +5v (oder +3,3v (je nach dem IC))? Wie sieht es bei den unbeschalteten Ausgänge aus? einfach offen lassen oder eventuell gegen Masse schalten?
@ Black Jack (shaman) >ok. Ich habe gerade gesehen, dass ich zuerst das falsche Bild geladen >habe. Jetzt sollte es passen. Ja. >Eventuell noch Kerkos zwischen unbenutzten Pins und +5v (oder +3,3v (je >nach dem IC))? JA!!! https://www.mikrocontroller.net/articles/Kondensator#Entkoppelkondensator > Wie sieht es bei den unbeschalteten Ausgänge aus? >einfach offen lassen Ja. > oder eventuell gegen Masse schalten? NEIN! Da gibt im Zweifelsfall einen satten Kurzschluß, wenn der Ausgang HIGH treiben will!
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.