Was braucht man, um zwei Ausgänge eines 3,3V-IC (SPI-UART-Wandler SC16IS760), die 2,4V als Hi-Pegel liefern liefern, so aufzupeppen, dass ein mit 5V betriebener AVR das versteht (was tun, um von 2.4V auf 3V zu kommen) - wenn man nur auf die 3,3V-Schiene zurückgreifen kann (5V und AVR nicht in der Nähe, da Tochterplatine) und 2 MBit erreichen will? Reicht ein AVR-interner Pull-Up auf 5V plus ein von jenem 2,4V-Ausgang angesteuerter Mosfet, der die Leitung auf GND zieht oder ist das zu langsam? Lieber ein stärkerer disketer Pull-Up (müsste dann aber nach 3,3V sein, da 5V nicht in der Nähe)?
Schau dir mal das Thema open drain an wäre vermutlich am einfachsten nur ob du dann mit dem riesigen internen pullup hin kommst ist fraglich kommt sicher auf die Kapazität vom drain zum io pin an
Transistor Open Collector/Drain pur ist bei UART etwas doof, weil invertierend. Braucht dann 2 Transistoren. Was funktionieren würde: Die im Artikel gezeigte Basisschaltung "Pegelwandler mit Transistor, nicht invertierend" mit Basis-Spannungsteiler auf 2,5V und R7 am Eingang vom AVR. Eine Alternative zum Bipolartransistor in dieser Schaltung wäre ein kleiner MOSFET wie etwa BSS123 oder BSS138 und Gate an 3,3V.
:
Bearbeitet durch User
Anfänger schrieb: > Was braucht man, um zwei Ausgänge eines 3,3V-IC (SPI-UART-Wandler > SC16IS760), die 2,4V als Hi-Pegel liefern liefern, Es sind mindestens 2,4V bei der angegebenen Belastung. Ohne Last ist es praktisch die 3,3V Versorgungsspannung. Das liegt unterhalb von Mindestpegel des AVR, wird aber bei nicht zu hoher Bitrate und nicht zu langer Leitung wahrscheinlich trotzdem direkt funktionieren. Nichts für professionellen Einsatz oder bei hohen Anforderungen, natürlich.
:
Bearbeitet durch User
> Open Collector/Drain pur ist bei UART etwas doof, weil invertierend Invertierung ist egal, zur MCU ist es nur (Software-)SPI. UART findet zwischen SC16IS760 und Bluetooth-Chip statt. Da die AVR-Platine gegeben ist (Erweiterungs-Buchsenleiste mit: 3,3V, GND und 4 IO direkt vom AVR) muss das Erzeugen eines ausreichenden Pegels auf der zu entwickelnden 3,3V-Tochterplatine gelöst werden - optional mit Aktivierung von Pull-Ups im AVR. Pegelwandler-Schaltungen im Wiki, die auf die höhere Spannung (5V) angewiesen sind, gehen also nicht. Ich würde mir einen 2 Channel-Line-Buffer heraussuchen, versorgt mit 3,3V, der aus den beiden Ausgängen des SC16IS760 (High leider nur ">= 2,4V") einen Open-Drain-Ausgang macht und einen starken Pull-Up (1K2?) auf 3,3V dazu. Damit komme ich über die Schwelle des AVR (3V bei 5V VCC) - richtig? > Nichts für professionellen Einsatz Ist zwar nicht profesionell, aber es muss doch zuverlässig sein. Der BLE-Chip (RN4871) ist berüchtigt dafür, bei falschen Kommandos zu "bricken".
Anfänger schrieb: > Invertierung ist egal, zur MCU ist es nur (Software-)SPI. Anfänger schrieb: > und 2 MBit erreichen will? 2MBit Software-SPI läuft schon? Als Treiber 3.3->5V würde ein 74HCTxxx funktionieren, z.B. 74HCT1G04 o.ä.
Anfänger schrieb: > Ich würde mir einen 2 Channel-Line-Buffer heraussuchen, versorgt mit > 3,3V, der aus den beiden Ausgängen des SC16IS760 (High leider nur ">= > 2,4V") einen Open-Drain-Ausgang macht und einen starken Pull-Up (1K2?) > auf 3,3V dazu. Damit komme ich über die Schwelle des AVR (3V bei 5V VCC) > - richtig? Falsch. A.K. hat Dich doch schon aufgeklärt. Ein Blick ins Datenblatt verrät, daß min. 2,4 Volt schon bei VDD = 2,5 V ausgegeben werden. Bei VDD = 3,3 V gibt es dann noch einen extra Nachschlag. Der Mindestpegel für einen AVR8 liegt übrigens bei rund VCC/2, was ebenfalls im Datenblatt zu finden ist. Schliess das Teil direkt an und gut is.
Fred Sabber schrieb: > Der Mindestpegel für einen AVR8 liegt übrigens bei rund VCC/2, Leider unterscheiden sich da die Modelle teils erheblich. Für den ATmega328 sind mindestens 3V als HIGH Pegel nötig.
Stefanus F. schrieb: > Für den ATmega328 sind mindestens 3V als HIGH Pegel nötig. Nein. >= 2,7 V reichen, was sich aus der Eingangshysterese von ca. 0,55 V ergibt. Für die genannte Verwendung somit alles kein Problem.
Fred Sabber schrieb: > Nein. >= 2,7 V reichen, was sich aus der Eingangshysterese von ca. 0,55 > V ergibt. Deine 0,55V stehen nirgends im Datenblatt. Laut Datenblatt sind 3V nötig. Siehe angehängter Screenshot. Die Fussnote 2) kautet: “Min” means the lowest value where the pin is guaranteed to be read as high
Stefanus F. schrieb: > Deine 0,55V stehen nirgends im Datenblatt. Bei Dir Seite 326 ff. Beim aktuellen Datenblatt ist es Abschnitt 35.
> was sich aus der Eingangshysterese von ca. 0,55 V ergibt. Für die gewählte MCU (ATMega 1284) muss der High-Pegel min. 3V sein. Es steht "VCC = 2.4V - 5.5V: Min 0.6 VCC" im Datenblatt. > [output High-Pegel] 2,4 Volt schon bei VDD = 2,5 V .. bei VDD = 3,3 V gibt es dann noch einen extra Nachschlag Wenn der Nachschlag im Datenblatt stehen würde, würde ich mich natürlich darauf verlassen, aber da das nicht der Fall ist, lieber nicht - am Ende funktioniert die Platine nicht. Sehe ich es richtig, dass die einzige verlässliche Lösung wäre, doch irgendwie 5V auf die 3,3V-Tochter-Platine zu leiten und dort einen regulären Pegelwandler zu bauen? Es gibt nichts (z.B. einen Buffer in SOT23), was mir aus den garantierten 2,4V des UART-Wandlers und der an der Stelle verfügbaren VCC=3,3V garantiert 3V macht? Und die Idee, den 20K-50K-Pullup im AVR für den High-Pegel zu nutzen und die Leitung vom UART-Wandler nur auf Low ziehen zu lassen scheitert, weil der Pull-Up zu schwach ist, um die gewünschte Datenrate zu erreichen? Was für ein Pull-Up müsste es für 2MBit SPI sein, 1,2K, 2,2K, 4,4K, 10K... ?
Fred Sabber schrieb: > Bei Dir Seite 326 ff. Da stehen die "typical characteristcs", auf die kannst du dich genau so wenig verlassen, wie dass die Bahn typischerweise pünktlich kommt.
> Da stehen die "typical characteristcs", auf die kannst du dich genau so wenig verlassen, wie dass die Bahn typischerweise pünktlich kommt. Würde das Zuschalten des Pull-Ups (20K-50K) im AVR dem 3,3V-Chip helfen, sicher über den High-Pegel zu kommen? Wenn man die "typical characteristcs" sieht, ist es sehr knapp: - Der AVR hat laut Diagramm "Pin Threshold and Hysteresis" bei 5V einen Bedarf von 2,6V als High-Pegel und der Strom ist unbedeutend (1uA Leakage Current). - Der UART-Wandler liefert laut Datenblatt als High-Pegel min. 2,4V bei VDD = 3.0-3.6V und 4mA. Ich habe 3,3V und brauche nur 1uA.
Anfänger schrieb: > Würde das Zuschalten des Pull-Ups (20K-50K) im AVR dem 3,3V-Chip helfen, > sicher über den High-Pegel zu kommen? Der Versuch liegt nahe, aber nicht bei 2Mbit
Stefanus F. schrieb: > Fred Sabber schrieb: >> Bei Dir Seite 326 ff. > > Da stehen die "typical characteristcs", auf die kannst du dich genau so > wenig verlassen, wie dass die Bahn typischerweise pünktlich kommt. Das wird mir jetzt doch zu blöd! Anfänger schrieb: > Wenn der Nachschlag im Datenblatt stehen würde, würde ich mich natürlich > darauf verlassen, aber da das nicht der Fall ist, lieber nicht - am Ende > funktioniert die Platine nicht. Bloß nicht den Kopf einschalten, es könnte ja einen Kurzschluß geben. Bei Penny gibt es gerade Klopapier im Angebot.
Fred Sabber schrieb: > DU sagst es! Du solltest lernen, Datenblätter richtig zu lesen. Stefan hat recht. Typical characteristic ist typisch, aber nicht garantiert. Man legt Schaltungen auf die garantierten DB Angaben aus.
Anfänger schrieb: > Was braucht man, um zwei Ausgänge eines 3,3V-IC (SPI-UART-Wandler > SC16IS760), die 2,4V als Hi-Pegel liefern liefern, so aufzupeppen, dass > ein mit 5V betriebener AVR das versteht (was tun, um von 2.4V auf 3V zu > kommen) - wenn man nur auf die 3,3V-Schiene zurückgreifen kann (5V und > AVR nicht in der Nähe, da Tochterplatine) und 2 MBit erreichen will? Hallo, ich verwende bei so einem Problem fast immer HCT-Serie. HCT14 kann man bequem als 3 nichtinvertierende Pegelwandler nutzen: 1-2+13-12, 3-4+11-10, 5-6+9-8. Auch HCT132 paßt gut: 1,2-3+4,5-6; 13,12-11+10,9-8. Sehr einfach zu trassieren. Wenn hochohmigen Ausgang gebraucht wird, dann paßt HCT125 gut. Hysteresis ist meistens eher gut. Wenn nicht notwendig, dann kann man statt HCT14 HCT04 nehmen und statt HCT132 HCT00. Es gibt noch HCT08, als 4 nichtinvertierende Treiber zu nutzen, oder auch HCT573 als 8 Treiber.
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.