Hallöchen Ich baue ein Shield für den Arduino, welcher mit Uno und Due funktionieren sollte. Der Shield sollte kompatibel sein mit 5V und 3.3 Volt, wählbar via Jumper oder automatischer Schaltung. Ein Sound IC gibt es leider nur mit 5 Volt. Da ich kein Profi bin frage ich zur Sicherheit lieber einmal nach... - Sind die BSS138 mit 2x 10k R ok für I2C und anderen Ein/Ausgängen? - Gibt es Level Schifter Chips (keine gefunden der BI arbeitet und I2C komp. sind) mit 8 Bit oder 4 Bit welche auch gerade die Wiederstände beinhalten? - Wenn ich den Sound IC (5Vol, 8 Bits Daten + 3 Steuerung) mit einem MCP23017 betreibe und die I2C via BSS 138 mit einem Level Schifter versehen sind (MCP 23017 + LCD) , erübrigt sich die Datenleitungen auch zu konvertieren, da der MCP23017 auch mit 5 Volt betrieben wird. Sollte so ok sein? - Da ich ein ULN2004 benutze, nehme ich an, dass dort CD (Pullup 10k) mit der Spannung des 5V versorgt werden muss? Ansteuerung mit 3.3V funktioniert und der Aushang liefert dann den GND zu 5Volt. - Eingange die mit Masse geschaltet werden haben intern einen Pullup, also benötige ich hier kein Level Schifter, ich denke das ist richtig? Danke für die Hilfe.
> Sind die BSS138 mit 2x 10k R ok Du meinst hoffentlich den berühmten Levelshifter-Schaltungsvorschlag von Philips (heute NXP). Die Schaltung funktioniert mit den meisten Chips. > Gibt es Level Schifter Chips Sicher, aber die Pull-Ups werden da nicht drin ein, weil es keine festen Werte gibt die in allen Umgebungen optimal sind. Manche Schaltungen (z.B. Lego Mindstorms) erfordern viel größere Widerstände. Andere wiederum laufen besser mit kleineren Widerständen - vor allem bei hoher Taktfrequenz. > Wenn ich den Sound IC Welcher ist das? > Da ich ein ULN2004 benutze, nehme ich an, dass dort CD (Pullup 10k) > mit der Spannung des 5V versorgt werden muss? Das ist der Anschluss für die Freilaufdioden. Den brauchst du nur bei kapazitiven Lasten (z.B. Relais) und er muss dann an die + Versorgungsspannung der Lasten angeschlossen werden. > Eingange die mit Masse geschaltet werden haben intern einen Pullup, Dann wohl auf 5V. Wie reagieren sie wohl, wenn der High Pegel nur 3,3V ist?
Mr D. schrieb: > Ein Sound IC gibt > es leider nur mit 5 Volt. Was soll der machen? Je nach Anwendung kann man sich auch einfach überlegen, ob das Ganze sinnvoll ist und man nicht einfach einen ESP8266/ESP32 einsetzen sollte, die können z.B. die Aufgabe des Sound IC genauso übernehmen (wenn meine Annahme richtig ist dass du etwas wiedergeben möchtest). Die kann man auch schön mit der Arduino IDE programmieren. Am besten wäre natürlich ein Schaltplan, den musst du so oder so zeichnen und dann kann man sicherlich den einen oder anderen Fallstrick sofort erkennen, ist nur in deinem Interesse. ;)
Wie gibst du denn mit einem ESP8266 Sound aus? IMO hat dieser Chip nicht einmal Hardware-PWM.
Stefan U. schrieb: > Wie gibst du denn mit einem ESP8266 Sound aus? IMO hat dieser Chip > nicht > einmal Hardware-PWM. https://github.com/espressif/ESP8266_MP3_DECODER https://github.com/MrBuddyCa sino/ESP32_MP3_Decoder
Ui, die haben einen ganz schön hohen Aufwand getrieben. Sogar die I2S Schnittstelle belebt, das war im Arduino Core noch gar nicht drin.
Der Sound Chip ist ein SN76489 (old style, Dil 16) 4 Mhz Clock Data 0-7, NCE, NRD, NLE NRD und NLE sind zusammen und werden als !Ready gelesen. NCE is Chip Enable. Soweit funktioniert das bereits jedoch mit 5 Volt.
Dieser Chip hat keine bidirektionalen Leitungen, daher würde ich nicht so eine bidirektionale Levelshifter Schaltung einsetzen. Die hat nämlich auch eine Menge Nachteile. Nimm lieber 74LVC Gatter als Levelshifter.
Stefan U. schrieb: > Dieser Chip hat keine bidirektionalen Leitungen, daher würde ich nicht > so eine bidirektionale Levelshifter Schaltung einsetzen. Die hat nämlich > auch eine Menge Nachteile. > > Nimm lieber 74LVC Gatter als Levelshifter. Ne brauche die LS ja für I2C und der MCP23017 ist direkt an 5 Volt genau wie das LCD. Somit erübrigt es ja ein LS für die Datenleitungen... Neopixel funktioniert nun auch mit dieser Schaltung. Habe das getestet mit Breadboard Aufbau. Brauche nur noch einen für eine TX Leitung die reinkommt mit 5 Volt. Aber sollte auch gehen mit dieser Schaltung, da nur 19200 Baud. Danke für den Tip mit dem Gatter wird es mal anschauen.
Ich glaube nicht, dass du für I²C Levelshifter brauchst. Denn wenn da alles mit rechten Dingen abläuft, haben alle Busteilnehmer Open-Collector Ausgänge. Der High Pegel wird ausschließlich durch die Pull-Up Widerstände definiert. Die hängst du einfach an 3,3V und gut ist. Damit sollten auch 5V IC's klar kommen. Serielle UART Leitungen bringst du mit einem Spannungsteiler (1k Ohm + 2,2k Ohm) von 5V runter auf 3,3V.
Beitrag #5192040 wurde von einem Moderator gelöscht.
Stefan U. schrieb: > Ich glaube nicht, dass du für I²C Levelshifter brauchst. Denn wenn da > alles mit rechten Dingen abläuft, haben alle Busteilnehmer > Open-Collector Ausgänge. Gilt oC auch für den AT-328? Ich hatte mir neulich einen TXS0108E gegönnt, um eine 3,3V-Platine am 5V-Nano zu betreiben.
> Gilt oC auch für den AT-328?
Ja, aber nur an den I²C Pins. Bei einer Software Emulation muss man
genauer hinschauen.
- Danke für den Tipp mit dem Spannungsteiler, spart ein Transistor. :) - mit dem I2C bin ich mir da nicht ganz sicher, zumal ja der 5V chip dann mit 5 Volt sendet, clock und Daten... oder sehe ich das falsch?
> zumal ja der 5V chip dann mit 5 Volt sendet Nein tut er nicht. Die High Pegel kommen ausschließlich von den Pull-Up Widerständen und deren Spannung hast du selbst im Griff. Schau Dir diese Bilder an: http://ece353.engr.wisc.edu/wp-uploads/2014/11/Open-Collector.jpg http://www.mosaic-industries.com/embedded-systems/_media/sbc-single-board-computers/freescale-hcs12-9s12-c-language/instrument-control/iic-i2c-bus-pull-up.png
Stefan U. schrieb: >> zumal ja der 5V chip dann mit 5 Volt sendet > > Nein tut er nicht. Die High Pegel kommen ausschließlich von den Pull-Up > Widerständen und deren Spannung hast du selbst im Griff. > > Schau Dir diese Bilder an: > > http://ece353.engr.wisc.edu/wp-uploads/2014/11/Open-Collector.jpg > > http://www.mosaic-industries.com/embedded-systems/_media/sbc-single-board-computers/freescale-hcs12-9s12-c-language/instrument-control/iic-i2c-bus-pull-up.png Hi Ach so, ja verstehe, weil das alles nur auf Masse gezogen wird... Verstehe dann aber nicht warum mir jemand gesagt hat ich müsse für das LCD 5V mit I2C einen LS benutzen sonst sei es hin. Und einige I2C Chips haben intern ja auch Pullups, was ist den damit? Diese sind dann ja bei 5V angeschlossen...
> Verstehe dann aber nicht warum mir jemand gesagt hat ich müsse für das > LCD 5V mit I2C einen LS benutzen sonst sei es hin. Keine Ahnung was er damit meint. Die allermeisten LCDs kann man auch mit 3,3V betreiben, wenn man an den Kontrast-Eingang eine negative Spannung von 1-2V anlegt. Sonst sieht man nichts. > Und einige I2C Chips haben intern ja auch Pullups, was ist den damit? Ja die gibt es. Wenn es wirklich nur Widerstände oder Konstantstromquellen sind, erledigen die ESD Schutzdioden der 3,3V Chips das Problem für dich. Die begrenzen dann die Spannung auf ca 3,6V. Wenn die die Leitungen aber hart auf 5V ziehen, dann brauchst du Pegelwandler. Dann sind das aber genau genommen keine richtigen I²C Anschlüsse. Solange im Datenblatt kein eindeutiger Hinweis darauf steht, würde ich hier erstmal davon ausgehen, dass du keine Pegelwandler brauchst. Hast du ein Oszilloskop? Du könntest 100 Ohm Widerstände in Reihe schalten und dann am Oszilloskop-Bild sehr deutlich erkennen, ob der Chip die Leitungen auf 5V zieht, oder nicht.
Stefan U. schrieb: > Hast du ein Oszilloskop? > Du könntest 100 Ohm Widerstände in Reihe schalten und dann am > Oszilloskop-Bild sehr deutlich erkennen, ob der Chip die Leitungen auf > 5V zieht, oder nicht. Nein, leider habe ich das nicht, ansonsten ich das ja selber ausknobeln könnte. Bin aber am überlegen, es fehlen mir halt ein paar 100 Teuronen... Ich werde das mal ausprobieren mit meinem billigen LCD aus China (2€). Danke.
Bei Aliexpress gibt es derzeit Spielzeug-Oszilloskope mit TFT Display für 15 Euro incl. Versand. https://www.aliexpress.com/item/Assembled-DSO138-2-4-TFT-Handheld-Pocket-size-Digital-Oscilloscope-Kit-DIY-Parts-Electronic-Learning-Set/32803186608.html Wenn du die Takfrequenz deiner I²C Kommunikation niedrig genug einstellst, kannst du damit schon ganz gut was sehen. Das Ding ist jetzt kein Profi Equipment aber immer noch viel besser, als gar keins zu haben. Ich wäre als Teenager sehr glücklich gewesen, wenn es das damals schon gegeben hätte. Stattdessen arbeitete ich 5 Wochenenden hart in der Montage, um ein altes analoges als Lohn zu bekommen. Ich sehe gerade: Der Fotograf hätte wenigstens das Display gerade rücken können, bevor er es ablichtet. Denen ist auch nix peinlich. Tsss
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.