Hi, ich möchte an einen ATmega256 mehrere Dataflash-Bausteine von Atmel anschließen. Da die Flash-Tierchen ja 3.3 Volt haben und der AVR 5 benötige ich einen Levelshifter. Welchen muß ich nehmen und wie ist die Beschaltung? Ich erinnere mich dunkel einmal was von einem LVX244 gelesen zu haben. Da die Lösung absolut zuverlässig sein muß, bin ich mir nicht sicher ob ich das auch diskret lösen kann oder ob vorgefertigte Lösungen "on Chip" nicht besser sind. Das weitere Problem ist die geschwindigkeit, die Daten aus dem Flash werden mit der größten Geschwindigkeit ausgelesen die der AVR bei vollem Takt (16MHz) zu bieten hat. Weiterhin ist die Frage wie ich diese Flashbausteine kaskadieren kann. Kann mir jemand helfen? MfG Rolle
Die Datenflash sollen 5V tolerant sein, dh mit Seriewiderstaenden sollte man durchkommen. Sonst Teiler. Kaskadieren... die CS passend ansteuern.
Hi, gibt es konkrete Pläne oder unterlagen dafür oder hat jemand das schon mal gemacht? Der direkte Anschluß an den uC soll ja wie ich hier im forum gelesen habe möglich sein, nur habe ich in den schaltschwellen dann sehr wenig "Luft" nach oben. Levelshifter wäre glaube ich sicherer. Gibt es dafür Beispiele wie man den Anschluß ausführt? MFG Rolle Zilp wrote: > Die Datenflash sollen 5V tolerant sein, dh mit Seriewiderstaenden sollte > man durchkommen. Sonst Teiler. Kaskadieren... die CS passend ansteuern.
ok, bin grade heimgekommen und habe gesehen daß sich mein posting von heute morgen bevor ich zur Arbeit gefahren bin mit der gesuchten Antwort von Falk Brunner überschnitten hat. (Man sollte halt nach dem Posten auf Reload drücken bevor man die Kiste abstellt und abzischt, Sorry mein Fehler;) MfG Rolle
Ich schon wieder ;-) Ich habe mittlerweile, nachdem wegen chronischer Arbeitsüberlastung im Betrieb meine Projekte eine weile ruhen mußten mich nochmals mit der Levelshifter-Geschichte beschäftigt. Da so ein Dataflash ja immerhin mit mehreren MHz als SPI-Clock angesteuert werden kann fallen Transistor-Shifter mit Pull-Up usw. ja schon mal raus. Ich habe bei Farnell was nettes kleines gefunden vielleicht kann mir jemand sagen ob ich das Teil so wie ich mir gedacht habe verwenden kann. Es handelt sich um ein einzelnes (!) Gatter in SMD-Bauweise (zugegeben ich bin SMD-Freak) Bezeichnung: SN74AHCT1G125DBVR Farnell-Nr.: 1105927 Ich dachte daß ich das Gatter an der 3,3V Versorgung betreibe und ihm die MOSI Leitung des Masters (=ATmega) an den eingang lege. Nur bin ich mir nicht sicher ob die Spannung am Eingang die Speisespannung des ICs überschreiten darf. In die andere Richtung ist das ja kein Problem, da der AHCT1 ja alles über 2V als logisch High erkennt, wenn ich diesen dann noch mit 5 Volt Speise müßte das gut gehen (für die Daten die vom Flash auf die MISO Leitung des Megas wollen) Falls das jedoch so geht, Klasse die dinger sind recht billig da bestell ich mir doch mal nen paar 10 Stück. Oder ist der SN74LVC1G07DCKRG4 doch besser dafür? Der Grund dafür ist daß ich ein paar Dataflash-SMD-Bausteine bestellt habe und jetzt gemerkt habe das der AT45DB011B NICHT 5V tolerant ist. Es steht nix im Datenblatt! Der AT45DB011D (man beachte das "D") dieser ist laut Datasheet 5V tolerant, die B Variante jedoch nicht. Somit muß ich gezwungenermaßen Levelshifter verwenden. Der AT45DB011B ist jedoch für ein anderes Projekt bestimmt, ich schreibs hier nur rein weils halt Thematisch passt. ;-) EDIT: Mist, der SN74AHCT1G125DBVR hat einen erlaubten Versorgungsspannungsbereich von 4,5 - 5 Volt :( somit fällt der für die Wandlung von der 5V zur 3,3V Eben flach :( MfG Roland
Beim AT45DB011B steht unter "Absolute Maximum Ratings" eine Eingangsspannung bis 6.25V ohne Bezug auf Vcc drin. Das ist zwar keine wasserdichte Aussage, aber ein sehr deutliches Indiz, denn sonst stünde da wie bei den Output das übliche Vcc+0,xV drin. In Atmels Application Note "Interfacing the 3-volt DataFlash with a 5-volt System" steht ohne Einschränkung auf bestimmte Typen der Satz "The DataFlash input pins are tolerant to 5-volt input levels ...". Gleiches steht in Atmels FAQ.
@Andreas Kaiser, da hast du recht aber bei den Datenblättern der anderen (D-Serie) Dataflash Bausteine steht auf der ersten Seite gleich im fett gedruckten Text dabei das diese 5V tolerant sind. Bei der B-Serie steht zwar unter absolute maximum Ratings daß der Baustein das verträgt aber eine definitive Aussage finde ich das nicht. Komisch ist daß es bei der B-Serie, zumindest bei den 1Mbit Bausteinen nicht erwähnt wird. Die Datenblätter der ICs sind auch fast gleich, lediglich das Timing ist beim B-Typ etwas schneller, ist aber nur interessant wenn man den Chip an seinen Grenzen betreiben will. Der B-Typ ist auch komischerweise etwas billiger wie der D-Typ. Nachtrag: Die Levelshifter wie oben beschrieben gehen anscheinend doch. Ich habe mir bei Farnell jetzt mal ein paar bestellt (kosten ja nicht die Welt...), die kommen am Montag im Laufe des Tages bei mir an. Platine ist schon gemacht, dann werden wir mal sehen ob das ordentlich funktioniert. Bei Interesse kann ich das ganze hier veröffentlichen oder nach Absprache mit Andreas Schwarz das vielleich auch ans Pegelwandler-Wiki ankleben. Wenn sich die sache bewährt werde ich mir mal ein paar der Levelshifter auf Halde legen, ich bin dann auch bereit welche abzugeben, da ja nicht jeder die möglichkeit hat bei Farnell zu bestellen. MfG Roland
Im Datasheet vom AT45DB041B steht es zwar auf der ersten Seite drin, im Datenteil jedoch auch nicht. In Verbindung mit der unmissverständlichen Aussage von Atmel sowohl in der AN als auch im FAQ reicht mir das aus. Und daher habe ich den AT45DB011B schon in 5V-Kontext verwendet, mit Pegelwandler (HCT125) nur am Ausgang. An den Eingängen liegt nachweislich 5V, an Vcc 3,3V. Eventuelle Schutzdioden gegen Vcc würden das so nicht zulassen.
Hi Andreas Kaiser, das klingt plausibel, wenn da schutzdioden nach VCC wären würdne die dir ja die 3,3V quasi hochziehen. Ich werde mir das Datasheet noch mal in ruhe komplett durchlesen vielleicht finde ich noch etas an Infos die ich beim ersten mal überlesen habe. MfG Roland
Die genannten ATMEL-Dataflashs sind beide definitiv 5V-tolerant. Die Eingänge können direkt mit dem AVR verbunden werden. SDO als Ausgang liefert als High-Pegel an einer 3.3V-Spannungsquelle zwar nur knapp 3.3V High-Pegel, was aber beim AVR reicht, als High erkannt zu werden. Zusätzlich kann man im Eingang des AVR, der SDO empfängt, noch den internen PullUp aktivieren. Das bringt zusätzliche Störsicherheit, geht auf kurze Distanz aber auch ohne. Wir haben auf Arbeit mehrere Schaltungen auf diese Weise problemlos am Laufen.
Hi Travel Rec., du schriebst daß ich auf der Arbeit so eine Schaltung in betrieb habt. Darf man Fragen was für Schaltungen das sind, bzw. die Funktion/Zweck dieser? Da ich die Dataflash-ICs wegen der leichten verfügbarkeit, der einfachen Schnittstelle und nicht zuletzt wegen des günstiges Preises in mehreren Projekten verwenden möchte wäre die "direkte" Schaltung ohne Levelshifter wenn der Störabstand stimmt natürlich Ideal. Allerdings werden diese Geräte dann an Industriemaschinen eingesetzt an denen ein recht großer Störpegel herrscht (Stichwort Frequenzumformer usw). Wenn ich da anschließend Probleme habe wäre das net so gut. Vielleicht kannst du mir sagen in welchem Bereich und in welchem Umfang die Schaltungen bei euch im Betrieb Laufen. Mit welchem SPI-Takt läßt du die teile rennen? Da die Levelshifter schon bestellt sind, werde ich in jedem Fall eine Testschaltung aufbauen, da diese nicht so teuer sind und außerdem in einer Appnote von Atmel diese schaltung auch empfohlen wird. Besser wäre natürlich ohne, aber ich habe da so meine Bedenken wegen dem Einsatzort. MfG Roland
Hallo Roland, die Schaltungen arbeiten als Steuereinheit für eine busgesteuerte Datenerfassung und die Dataflashs enthalten Firmware für die Busslaves. Die Anbindung der Flashs an den Mastercontroller geschehen über 2cm "lange" Leiterzüge, wodurch induktive Einkopplungen so gut wie unmöglich sind. Die Platine ist mit großzügem Massepolygon gefüllt. Der SPI-Takt ist ca. 3.5Mhz. Wenn Du Levelshifter einsetzen möchtest, brauchst Du nur einen am SDO des DataFlashs in Richtung des µControllers. >Weiterhin ist die Frage wie ich diese Flashbausteine kaskadieren kann. Jedem eine eigene /CS_leitung am Controller spendieren. Der SPI-Bus geht parallel an alle, auch hier ist nur ein LevelShifter nötig, da die Ausgänge der nichtselektierten Bausteine Tristate sind. Dataflash gibt es inzwischen schon mit 64 MBit, reicht das nicht? http://www.atmel.com/dyn/products/product_card.asp?part_id=3777
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.