Hallo Leute, für eine bidirektionale PPM-Kommunikation mit 1.4v Pegel (leider ungetaktet, sprich beide Partner könnten gleichzeitig senden wollen. wurde mir extern vorgegeben, klar wären andere Protokolle besser) benötige ich einen bidirektionalen 3.3v<->1.4v Pegelwandler. Der http://datasheets.maxim-ic.com/en/ds/MAX13046E-MAX13047E.pdf sieht recht vielversprechend aus, jedoch habe ich noch ziemliche Verständnissprobleme was die i/o Zustände im bidirektionalen angeht. Was passiert wenn beide Seiten gleichzeitig senden wollen? Kann jemand eine Wahrheitstabelle aufstellen was jeweils bei den Kombinationen aus LOW/HIGH/FLOATING an beiden Seiten passiert? Wäre super wenn mir jemand auf die Sprünge helfen könnte, da ich dabei wirklich auf dem Schlauch stehe. Viele Grüße, Alex
push Brauche immer noch Hilfe. Die Frage an sich ist zwar trivial, ich hab mir nur inzwischen so viele Kommentare durchgelesen dass ich vermutlich den Wald vor lauter Bäumen nicht mehr sehe.
> Was passiert wenn beide Seiten gleichzeitig senden wollen? Schau dir mal das Schaltbild auf Seite 9 im Datenblatt an. Darin siehst du auf jeder Seite eine Pull-Up Widerstand mit 10 kOhm, in der Mitte ein Mosfet und dann noch zwei Funktionsblöcke "One-Shot Rise-Time Accelerator". Im statischen Betrieb sind die beiden P-Kanal Mosfets ausgeschaltet, der Mosfet unten hat einen Widerstand von ca. 80 Ohm. Vermutlich ist dieser Widerstandswert abhängig von der Spannung an den I/O-Pins, das ist im Datenblatt nicht so richtig beschrieben. Bei ähnlichen Bausteinen von anderen Herstellern ist es so, dass dieser Transistor bei Spannungen über einem bestimmten Grenzwert (über die Gate-Spannung einstellbar) hochohmig wird. Wenn der Baustein in der Richtung VCC->VL betrieben wird, dann wird bei einem High-Pegel am Eingang die Ausgangsspannung dadurch begrenzt, dass der Mosfet hochohmig wird. Der Pull-Up am Ausgang sorgt für die richtige Ausgangsspannung. In der anderen Richtung wird der Mosfet ebenfalls bei einem High-Pegel am Eingang hochohmig, die Ausgangsspannung kann durch den Pull-Up am Ausgang größer als die Eingangsspannung werden. Die One-Shot Rise-Time Accelerator-Blöcke haben die Funktion, bei einer steigenden Flanke am Eingang den Ausgang durch einen kurzen Stromimpuls schnell aufzuladen. Mit dem 10kOhm Pull-Up alleine wäre die Flanke am Ausgang wesentlich langsamer. > Kann jemand eine Wahrheitstabelle aufstellen was jeweils bei den > Kombinationen aus LOW/HIGH/FLOATING an beiden Seiten passiert? Der Baustein ist nicht dafür ausgelegt, dass auf der einen Seite ein Low-Pegel und auf der anderen Seite gleichzeitig ein High-Pegel angelegt wird. Da würde auch keinen Sinn ergeben. Man hat also immer auf einer Seite (Eingang) High bzw Low; das wird dann entsprechend am Ausgang ausgegeben.
@johannes: vielen Dank für die Antwort, hat auf jeden Fall Licht ins Dunkle gebracht. Was würde denn passieren wenn ich an beide Seiten ein aktives Signal anlege (in dem Fall würde ich meine Übertragung gerne unterbrechen, dazu müsste ich allerdings erstmal erkennen dass jemand anderes den Bus überschreibt)? Mein Dilemma bleibt allerdings: ich habe eine einzelne Leitung über die ich Daten via PPM senden bzw. empfangen will. Ursprünglich wurden Master und Slave durch die jeweilige Reihenfolge von Gerät einschalten und Signalleitung anstecken festgelegt, dies ist mir jedoch zu unsicher. Hat jemand einen gute Vorschlag wie ich den Bus Hardwareseitig bidirektional anbinden und Softwareseitig den Bus während meinem Senden auf fremde Übertragungen überprüfen kann? Vielen Dank für eure bisherige und zukünftige Hilfe im Voraus, Alex
> Was würde denn passieren wenn ich an beide Seiten ein aktives Signal > anlege (in dem Fall würde ich meine Übertragung gerne unterbrechen, dazu > müsste ich allerdings erstmal erkennen dass jemand anderes den Bus > überschreibt)? Kann ich nicht genau sagen, vermutlich wird der IC dabei etwas warm, aber es ist ein Kurzschluss-Schutz eingebaut, also wird vermutlich nichts kaputt gehen. Am einfachsten wäre es, den Baustein mit Open-Collektor/Open-Drain zu betreiben, dann kann nichts passieren. > Hat > jemand einen gute Vorschlag wie ich den Bus Hardwareseitig bidirektional > anbinden und Softwareseitig den Bus während meinem Senden auf fremde > Übertragungen überprüfen kann? Mit Open-Collector? Wie hoch ist denn die Bitrate?
@johannes: laut db ist eine Abschaltung bei 150°C vorgesehen, als regelmäßigen "Anschlag" will ist die Hitzeabschaltung halt möglichst vermeiden. Das Signal sieht in Etwa folgendermaßen aus: http://www.mftech.de/ppm_en.htm Mit Open-Collector also in etwa so: Pull-Up an's Signal und via uC nach Bedarf zum Senden nach Low ziehen? Zum Empfang müsste ein zweiter Pin genügen der das Signal nach fremden Flanken überwacht. Als Pegelwandler würde in dem Fall ein IC mit 2 unidirektionalen Leitungen ausreichen. Stell ich mir das soweit richtig vor? Stellt sich noch die Frage wie groß der Pull-Up mindestens sein sollte dass eine http://www.spektrumrc.com/Products/Default.aspx?ProdId=SPM2731 die Leitung nach Low ziehen kann. Spezifikationen rückt der Hersteller leider keine raus. Viele Grüße und Danke im Voraus, Alex
> Das Signal sieht in Etwa folgendermaßen aus: > http://www.mftech.de/ppm_en.htm Das ist das Protokoll für eine RC-Fernsteuerung, das ist doch nicht bidirektional? Auf jeden Fall ist das Signal ziemlich langsam (ms-Bereich), da sollte Open-Kollektor-Betrieb kein Problem sein. > Mit Open-Collector also in etwa so: > Pull-Up an's Signal und via uC nach Bedarf zum Senden nach Low ziehen? Ja. Wobei der Pull-Up im MAX13046 schon integriert ist (10 kOhm). > Zum Empfang müsste ein zweiter Pin genügen der das Signal nach fremden > Flanken überwacht. Verstehe nicht, was du damit meinst. > Als Pegelwandler würde in dem Fall ein IC mit 2 > unidirektionalen Leitungen ausreichen. Stell ich mir das soweit richtig > vor? Wenn du eine bidirektionale Kommunikation brauchst, dann solltest du schon einen bidirektionalen Pegelwandler einsetzen. Allerdings ist der MAX13046 für ziemlich schnelle Signale ausgelegt, das brauchst du nicht unbedingt. Vielleicht gibt es so etwas auch ohne "One-Shot Rise-Time Accelerator". > Stellt sich noch die Frage wie groß der Pull-Up mindestens sein sollte > dass eine http://www.spektrumrc.com/Products/Default.aspx?ProdId=SPM2731 > die Leitung nach Low ziehen kann. Spezifikationen rückt der Hersteller > leider keine raus. Mit 10 kOhm liegst du vermutlich nicht so schlecht, das sollte jeder Ausgang auf Low ziehen können.
Johannes E. schrieb: >> Das Signal sieht in Etwa folgendermaßen aus: >> http://www.mftech.de/ppm_en.htm > > Das ist das Protokoll für eine RC-Fernsteuerung, das ist doch nicht > bidirektional? Auf jeden Fall ist das Signal ziemlich langsam > (ms-Bereich), da sollte Open-Kollektor-Betrieb kein Problem sein. > Sobald ausgehandelt wurde welcher Endpunkt Master und welcher Slave ist ist die Verbindung nur noch unidirektional, die Leitung muss mir aber hardwareseitig trotzdem beide Möglichkeiten offen halten. Wäre der hier (http://www.fairchildsemi.com/ds/FD/FDV303N.pdf) schnell genug? >> Mit Open-Collector also in etwa so: >> Pull-Up an's Signal und via uC nach Bedarf zum Senden nach Low ziehen? > Ja. Wobei der Pull-Up im MAX13046 schon integriert ist (10 kOhm). > >> Zum Empfang müsste ein zweiter Pin genügen der das Signal nach fremden >> Flanken überwacht. > > Verstehe nicht, was du damit meinst. > Da Master und Slave leider nur über die Reihenfolge von Einschalten und Signalleitung anstecken festgelegt wird hätte ich gerne die Möglichkeit während ich sende auf der Leitung mitzuhören ob der zweite Endpunkt auch wirklich Empfänger und nicht Sender ist. Wird das Signal nach Low gezogen während mein Output eigentlich nur den Pull-Up arbeiten lässt könnte ich meinen Sendevorgang abbrechen und zum Slavemode wechseln. >> Als Pegelwandler würde in dem Fall ein IC mit 2 >> unidirektionalen Leitungen ausreichen. Stell ich mir das soweit richtig >> vor? > > Wenn du eine bidirektionale Kommunikation brauchst, dann solltest du > schon einen bidirektionalen Pegelwandler einsetzen. Allerdings ist der > MAX13046 für ziemlich schnelle Signale ausgelegt, das brauchst du nicht > unbedingt. > Vielleicht gibt es so etwas auch ohne "One-Shot Rise-Time Accelerator". > Der Maxim-IC liegt noch ein paar mal auf Lager, für den Prototypen sollte es ja keinen Unterschied machen. >> Stellt sich noch die Frage wie groß der Pull-Up mindestens sein sollte >> dass eine http://www.spektrumrc.com/Products/Default.aspx?ProdId=SPM2731 >> die Leitung nach Low ziehen kann. Spezifikationen rückt der Hersteller >> leider keine raus. > > Mit 10 kOhm liegst du vermutlich nicht so schlecht, das sollte jeder > Ausgang auf Low ziehen können. Sehr gut, vielen Dank. Viele Grüße und nochmals Danke, Alex
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.