Hallo zusammen, Folgendes hätte ich vor, bereitet mir aber etwas Sorgen :-) Über I2C spreche ich mit einem Atmega2560 (Master) und einem TCA9546A (I2C-Mux IC). Das schöne an dem I2C-MUX ist, dass er mit verschiedenen Spannungen umgehen kann z.B. 1.8V, 5V-Logik etc. Der Atmega arbeitet mit Vcc=5V, also mit 5V-I2C-Pegeln. Der TCA soll auf 1.8V betrieben werden bzw. muss es. Mit VIH kann dieser umgehen, also die 5V-Pegel die er bekommt als High vom Atmega. Allerdings: VOL ist beim TCA max. 0.54V und beim Atmega der gibt VOL_max=0.9V (je nach Strom). Wird also gefährlich dass er in den verbotenen Bereich kommt. Kann ich mit einfachen Mitteln den VOL-Pegel versuchen etwas zu drücken, z.B. über Serien-Widerstand? Allerdings weiß ich nicht welchen Strom der TCA auf dem Bus zieht. Leitungsimpedanz ist dann auch noch so ein Thema, allerdings sind Controller und TCA vielleicht max. 5-10cm auseinander. Ich möchte jetzt deswegen keinen extra I2C-Pegelwandler noch mit rein designen :-( Gruß, M
Aber wieviel Strom willst du denn da rausziehen? Solange du z.B. nur 10mA ziehst, bleibt der Ausgang unter 0,25V und ist damit locker im gewünschten Vol Bereich. Grafik dazu findet sich im Datenblatt unter Punkt 32-23.
Pete K. schrieb: > https://www.mikrocontroller.net/articles/Spannungsteiler Analog ok, aber wir sprechen hier ja von einem Digitalsignal und Flanken etc. Das war ja meine Frage ob das so einfach geht mit einen Widerstand/Spannungsteiler...
Matthias S. schrieb: > Aber wieviel Strom willst du denn da rausziehen? Solange du z.B. nur > 10mA ziehst, bleibt der Ausgang unter 0,25V und ist damit locker im > gewünschten Vol Bereich. > Grafik dazu findet sich im Datenblatt unter Punkt 32-23. Kann ich das so einfach raus lesen aus dem TCA-Datenblatt? https://www.ti.com/product/TCA9548A#tech-docs Da war doch auch was mit Leitungskapazität etc. wieviel Strom der kurzzeitig brauch oder?! 10mA klingt für mich jetzt nach zu viel auf so kurze Strecken um diese Leitung treiben zu können... (Ahja, LEDs sind keine drauf oder parallel-Caps). Bei Ii steht im Datenblatt nur was von -1...+1uA bei SDA/SCL.
:
Bearbeitet durch User
Marten M. schrieb: > (Ahja, LEDs sind > keine drauf oder parallel-Caps). Das ist auf einem I²C Bus auch keine gute Idee. Der Löwenanteil des Stromes aus dem MC Pin geht in die Pullups des Busses. Wenn die also so dimensioniert werden, das du unter etwa 10-15mA bleibst, sollte das alles klappen und auch Low sauber erkannt werden. Marten M. schrieb: > Da war doch auch was mit Leitungskapazität etc. wieviel Strom der > kurzzeitig brauch oder?! Leitungs-C kannste bei 5-10cm erstmal völlig vergessen, denn du bist da ja unter 1MHz unterwegs. Und die Aufladung des empfangenden MOSFet im TCA ist so gering, das dafür das gleiche gilt. Die Dinger sind ja für den Busbetrieb und darauf bedacht, diesen möglichst wenig zu belasten.
Marten M. schrieb: > Allerdings: VOL ist beim TCA max. 0.54V und beim Atmega der gibt > VOL_max=0.9V (je nach Strom). Ob die beiden VOL Werte zueinander passen, ist egal. Entscheidend ist, dass der VOL-Wert des Treibers zum VIL-Wert des Empfängers passt. Marten M. schrieb: > Analog ok, aber wir sprechen hier ja von einem Digitalsignal und Flanken > etc. Das war ja meine Frage ob das so einfach geht mit einen > Widerstand/Spannungsteiler... Spannungsteiler funktionieren bei Analog- und bei Digitalsignalen. Aber bei I2C funktionieren sie nicht, weil dort mit open Drain Treibern und externem Pullup gearbeitet wird und die Signale bidirektional sind. Die Variante mit Spannungsteiler kannst du also vergessen. Aber Matthias hat dir ja die Lösung schon genannt: du wirst sicher eine Kombination von Pullup-Stärke und Übertragungsgeschwindigkeit finden, die funktioniert. Und natürlich wird es auch Kombinationen geben, die nicht funktionieren. Aber das ist immer so bei I2C, das ist kein spezifisches Problem deiner beiden Bausteine.
Marten M. schrieb: > Allerdings: VOL ist beim TCA max. 0.54V und beim Atmega der gibt > VOL_max=0.9V (je nach Strom). > Wird also gefährlich dass er in den verbotenen Bereich kommt. Nein. > Kann ich mit einfachen Mitteln den VOL-Pegel versuchen etwas zu drücken Zieh einfach nicht unmäßig viel Strom aus dem Ausgang. Bei I²C kommt der Strom praktisch nur aus dem Pullup. Weniger als 1K wirst du nicht brauchen, das macht bei 5V dann 5mA. Damit liegt der Low-Pegel des AVR typisch bei 120mV. Da ist noch massig Luft.
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.