Mahlzeit, ich hab u.a. vor einen AVR, mittels Avrdude auf dem Raspi, zu flashen. Dazu habe ich als Levelshifter diesen hier. http://www.amazon.de/Adafruit-Bi-Direktionaler-Pegelwandler-TXB0104-Bausatz/dp/B010LTHB2E/ref=sr_1_1?ie=UTF8&qid=1457696282&sr=8-1&keywords=txb0104 Für I²C verwende ich diesen. http://www.amazon.de/Adafruit-bi-direktionaler-Pegelwandler-Kanal-I2C-sicher/dp/B00MUJ2B2E/ref=sr_1_1?ie=UTF8&qid=1457696302&sr=8-1&keywords=levelshifter Wenn ich mit dem erstgenannten das ganze Versuche, funktioniert es sporadisch. Und wenn es funktioniert, liesst es aber die falsche ID aus. Nehme ich den für I²C klappt es wunderbar, ich ich kann schreiben und lesen. Und die ID stimmt auch. Bei dem erstegannten mit dem TXB0104 drauf, hab ich auch extra OE auf einen Pin gelegt um es zu steuern. Auf der PI-Seite sind 3,3V und auf der AVR-Seite sind 5V. Woran kann das liegen?
:
Bearbeitet durch User
Hab es nun mal mit einem TXB0108 probiert. Das ist es dasselbe. Kennt jemand einen anderen Levelshifter, wo man auch die Aus-/Eingänge hochohmig schalten kann?
Wozu überhaupt einen Levelshifter? AVR laufen auch mit 3,3V, also 5V-Versorgung abziehen und direkt mit Pi flashen - ohne fehleranfällige Zusatzkomponenten. Damit sollten doch alle Probleme behoben sein. :)
Der Raspberry hat doch USB. Warum nimmst du nicht einen der vielen verschiedenen USB ICSP Adapter? Oder einen Arduino als Programmieradapter...
Dirk K. schrieb: > Wozu überhaupt einen Levelshifter? ... Als wenn auf der Platine nur ein AVR drauf wäre :D. Die Schaltung ist jetzt nunmal ausgelegt auf 5V. Als die entwickelt wurde, war der RPi noch garnicht im Gespräch. Weitere Entwicklungskosten wollte ich jetzt nicht noch reinstecken. U. F. schrieb: > Der Raspberry hat doch USB. Die Idee kam mir auch schon. Nutze ja sonst auch immer einen USBasp (bei Windows). Hab ja auch noch einen USB port frei am RPi. Mal schauen. Wollte es jetzt aber erstmal so probieren. Knut B. schrieb: > Stell mal die ISP-Frequenz auf 125kHz oder weniger. Hab ich schon. Sogar auf 10kHz. Geht aber auch nicht.
Mathias O. schrieb: > Als wenn auf der Platine nur ein AVR drauf wäre :D. > Die Schaltung ist jetzt nunmal ausgelegt auf 5V. Und die muß einwandfrei funktionieren, während der AVR geflascht wird? Oder geht da was kaputt, wenn es zuwenig Spannung bekommt? MfG Klaus
Klaus schrieb: > Mathias O. schrieb: >> Als wenn auf der Platine nur ein AVR drauf wäre :D. >> Die Schaltung ist jetzt nunmal ausgelegt auf 5V. > > Und die muß einwandfrei funktionieren, während der AVR geflascht wird? > Oder geht da was kaputt, wenn es zuwenig Spannung bekommt? > > MfG Klaus Das ganze wird in einer Vorrichtung geflasht und automatisch getestet. Dazu wird auch geprüft ob der Buck Converter aus den 24V auch 5V macht. Dies dient dann auch zur Versorgung des Pegelwandlers. Dazu sollte der Pegelwandler auch hochohmig schaltbar sein. Da nach dem Flash-Vorgang die Pins vom AVR als UART auf der Platine genutzt werden für RS485.
Mathias O. schrieb: > Hab es nun mal mit einem TXB0108 probiert. Das ist es dasselbe. > > Kennt jemand einen anderen Levelshifter, wo man auch die Aus-/Eingänge > hochohmig schalten kann? Nimm 74HCT125 (VCC=5V) für die 3.3->5V Richtung und 74LVC125 (VCC=3.3V) für die 5V->3.3V Richtung. Oder einen Haufen 74LVC1T45. Die gehen von 1.8V bis 5.5V auf jeder Seite und sind richtungsmäßig umschaltbar. fchk
Mathias O. schrieb: ... > Woran kann das liegen? Texas schreibt dazu im DB vom TXBxxx: "For the same reason, the TXB0108 should not be used in applications such as I2C or 1-Wire where an opendrain driver is connected on the bidirectional data I/O. For these applications, use a device from the TI TXS01xx series of level translators." Gruß Holger...
Dirk K. schrieb: > Wozu überhaupt einen Levelshifter? AVR laufen auch mit 3,3V, also > 5V-Versorgung abziehen und direkt mit Pi flashen - ohne fehleranfällige > Zusatzkomponenten. Damit sollten doch alle Probleme behoben sein. :) ach? nur wenn der AVR im Auslieferzustand auf 8MHz steht dann ginge 3,3V Versorgung, typische Arduino kommen mit 16MHz und laufen nicht mit 3,3V, Ausnahme Arduino mini328p in der 8MHz Version, die werden per Bootloader vom FTDI oder CH340/341 (auf 3,3V) USB Adapter oder seriell Rx Tx DTR programmiert.
Das hast du sicher in der Praxis schon verifiziert? Ich habe das - offenbar anders als du - getan, und bei Zimmertemperatur ist mir noch kein 16-MHz-AVR untergekommen, der an 3,3V gezickt oder ein Programm nicht angenommen hätte. Laufen einwandfrei. Arduino Pro Mini 16MHz 5V einfach mit 3,3V betrieben. Dazu den OnBoard-LDO runtergelötet und extern einen genügsameren verwendet, der im Dauerbetrieb die LiIon-Spannung auf 3,3V regelt. Und beim Flashen den USB-zu-Seriell-Wandler ebenfalls auf 3,3V eingestellt.
:
Bearbeitet durch User
Dirk K. schrieb: > Das hast du sicher in der Praxis schon verifiziert? ich halte mich an Datenblätter, ich bin einfach aus dem Alter raus wo ich Datenblätter ignoriere, klar als Jungspund hatte ich sogar 8MHz Chips erfogreich (aus der Not) mit 16MHz betrieben, aber das glückte nur weil sie das Design auf kleinere Strukturen umgestellt hatten WD1772-2 (Atari ST von 720k Disketten auf 1,44MB Disk umgestellt). Normalerweise wird bei overclocking recht schnell instabil, das es in einigen Fällen trotzdem klappen kann nenne ich Glück und kein sicheres Design.
:
Bearbeitet durch User
Nach meiner Erfahrung erkennt ein mit 5V betriebener AVR die 3,3V-Signale vom Raspi problemlos. Bleibt nur MISO, das vom AVR zum Raspi geht. Da schalte ich eine rote LED in Reihe, 5V -1,6V=3,4V. Auf der Raspi-Seite noch einen Widerstand von 3,3k nach GND, dann leuchtet die LED auch. Und falls es physikalisch möglich wäre, dass in einer LED ein kleiner Strom am Kristall "vorbei" fließen könnte, kann auch der die Spannung nicht hochziehen.
Ist nur blöd, wenn im Laufe des Testprozesses, da 5V bei den anderen Signalen rübergehen. Nach dem Flashen werden die einzelen Funktionen der Schaltung getestet. Die ISP-Pins vom AVR haben ja auch noch anderen Aufgaben. Das ganze wird in einer Vorrichtung geflasht und getestet.
Einfache Spannungsteiler genügen. AVR µC werden mit 1Mhz oder 1,2Mhz Taktfrequenz ausgeliefert. 16Mhz laufen in der Praxis auch bei 3,3V. Ich habe das auch mehrmals ausprobiert. Mit 4V habe ich sogar zwei Langzeit-Tests gemacht (Webserver mit ESP8266).
:
Bearbeitet durch User
> Ist nur blöd, wenn im Laufe des Testprozesses, > da 5V bei den anderen Signalen rübergehen. Ein einfacher 1k Ohm Widerstand dazwischen genügt als Schutz.
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.