Hallo, Ich benötige für einen Atmel ATTiny84 einen externen Speicherbaustein. Das ganze soll so aussehen, dass der ATTiny84 gelegentlich Daten zum Speicherbaustein schickt und die dann gespeichert werden soll. Dabei kann es auch vorkommen dass der ATTiny84 auch mehrmals hintereinander Daten schickt, dabei sollen die alten aber nicht verloren gehen. Und der Speicherbaustein soll auch von einem anderen Atmel Chip zur Verfügung gestellt werden, damit der die Daten lesen kann.D.h dass der ATTiny84 nur schreibt und der andere nur ließt. Das ganze sollte innerhalb von ein paar ms passieren, also entweder ein lesezyklus oder schreib zyklus. Sobald der andere Atmel Chip die Daten hat soll er die Daten auf dem Speicherbaustein löschen (oder auch nur Überschreiben, damit der Speicherbaustein länger funktioniert), damit keine Komplikationen entstehen. Der Speicherbaustein sollte eine Kapazität von 54 kb haben. Ich weiß das die alle mithilfe von Adressen über die SDA und SCL Leitung kommunizieren können. Doch ich habe keine Ahnung welcher Speicherbaustein sich am besten eignet und wie das ganze Funktioniert, also wie man auf den Speicherbaustein zugreift und dem die Daten aufspielt. Vielen Dank
T800w schrieb: > Doch ich habe keine Ahnung welcher > Speicherbaustein sich am besten eignet Der, den du am billigsten kaufen kannst. Ein mögliches 64k SPI RAM wäre z.B. http://ww1.microchip.com/downloads/en/devicedoc/22126c.pdf Falls der Inhalt auch bei Stromausfall erhalten bleiben soll, könnte man FRAM einsetzen: http://de.farnell.com/cypress-semiconductor/fm25cl64b-g/fram-64k-spi-8soic/dp/2077755 Denn Flash-Baustein sind meist grösser, haben blöde Betriebsspanugnen und wird bei Millisekunden eventuell knapp AT25DF256-XMHNGU-B (niedrige Spannung) oder S25FL128SAGMFI003
Also möchtest du 2x Master (ATtiny & anderer Ateml Chip) 1x Slave (Speicher) aufbauen? Wenn der eine nur schreibt und der andere nur liest... warum sendet dann der ATtiny die Daten nicht direkt an den anderen Chip. Wenn es blöd läuft, dann versuchen beide gleichzeitig auf den Speicher zuzugreifen und dann funktioniert weder schreiben noch lesen. Ich würde da anders herangehen.
Adam P. schrieb: > Wenn es blöd läuft, dann versuchen beide gleichzeitig auf den Speicher > zuzugreifen und dann funktioniert weder schreiben noch lesen. Na ja, das kann man ja über eine Leitung oder Sowfatre synchronisieren.
T800w schrieb: > Ich weiß das die alle mithilfe von Adressen über die SDA und SCL Leitung > kommunizieren können Da hast du etwas falsch verstanden. SDA und SCL gehören zum I2C-Bus. Und bei weitem nicht alle Speicherbausteine nutzen diesen Bus. Über die von dir angesprochenen Adressen werden die einzelnen Bausteine an sich angesprochen. Das ist wie in einem Raum, in den dich jeder hören kann. Da musst du auch eine Person konkret ansprechen und ihr sagen "Werner, merk dir mal die Zahl 42 an Position 1!". Folglich wird sich nur Werner diese Zahl an dieser Position merken, auch wenn jeder mithören konnte. T800w schrieb: > (oder auch nur Überschreiben, damit der > Speicherbaustein länger funktioniert), Jede Schreib-Operation (Löschen gehört auch dazu) verringer die Lebenszeit deines Chips. Typischerweise liegen die Zyklen bei so 100.000, können aber auch deutlich mehr sein. Das hängt auch von der Art des Speichers (Flash, E(E)PROM, etc.) ab und lässt sich im Datenblatt finden. Ein ATTINY84 klingt so, dass du grundsätzlich wenig Pins verwenden möchtest, da bietet sich in der Tat ein Speicher mit I2C an. Wie es mit I2C-Flash-Speichern aussieht weiß ich nicht genau, aber die Ergebnisse bei Google sind recht mager - spontan habe ich nur EEPROMS gesehen, die haben aber Schreibzeiten im Bereich weniger ms. Ob das reicht musst du wissen. Alternativ bieten sich natürlich SPI-Flashs an. Die lassen sich einfach ansprechen und sind sehr schnell im Schreiben. Die brauchen aber vier Leitungen zum Lesen bzw. drei zum Schreiben. Ob das auch noch Okay für dich ist musst du wissen.
Michael B. schrieb: > Na ja, das kann man ja über eine Leitung oder Sowfatre synchronisieren. Ja da hast schon recht.
Weiss eigentlich jemand, ob noch an den statischen Magnetspeichern gearbeitet wird, die man statt der Disketten und Platten mal ja als EEPROM-Ersatz einführen wollen?
@Magneto: Der FRAM, der da oben verlinkt wurde, klingt doch in etwa nach dem, was Du dir vorstellst, oder?
Magneto schrieb: > Weiss eigentlich jemand, ob noch an den statischen Magnetspeichern > gearbeitet wird, "Bubble Memory"? Dürfte mehr als tot sein. MRAM bzw. FRAM: Gibt es, sogar direkt in Microcontrollern anstelle des Flash-ROMs.
Naja, das sind ja eigentlich schon die modernen Weiterentwicklungen ... aber egal. Andere Frage: Wie stabil sind die eigentlich gegen äussere Felder?
@ T800w (Gast) >Ich benötige für einen Atmel ATTiny84 einen externen Speicherbaustein. >Das ganze soll so aussehen, dass der ATTiny84 gelegentlich Daten zum >Speicherbaustein schickt und die dann gespeichert werden soll. Dabei >kann es auch vorkommen dass der ATTiny84 auch mehrmals hintereinander >Daten schickt, dabei sollen die alten aber nicht verloren gehen. Und der >Speicherbaustein soll auch von einem anderen Atmel Chip zur Verfügung >gestellt werden, damit der die Daten lesen kann.D.h dass der ATTiny84 >nur schreibt und der andere nur ließt. Wenn möglich, erledigt man das mit EINEM Controller und nicht zwei.
Falk B. schrieb: > Wenn möglich, erledigt man das mit EINEM Controller und nicht zwei. Was einen dann zur nächst naheliegenden Frage führt: Wenn es schon zwei sein müssen, wie weit sind die voneinander entfernt? Oliver
Keine Ahnung, ob die I²C Schnittstelle des ...84 Multimasterfähig ist. Wenn nicht, solltest Du - nach Murphy - davon ausgehen, dass beide Prozessoren gleichzeitig am Speicher rumfummeln wollen. Das aber lässt sich nur sinnvoll verhindern, wenn Du eine "Sicherungsleitung" ins System einfügst, die den Verkehr regelt. Z.B. über eine pulled up connection. Oder Du bestimmst einen der Beiden zum Massa und der "sagt" (Output) was Sache ist und der Andere darf Fragen (input). Ist aber eine Krücke. Die Datenorganisation geschient am einfachsten in einem Ringpuffer. Wer schreibt, fummelt am "Ende-Zeiger" rum, wer liest, am Anfangszeiger. So kann jederzeit festgestellt werden ob und wie viele Daten im Topf sind oder wieviel freier Platz noch da ist. Wichtig ist dabei nur, dass immer ein "bisschen" Platz im Puffer ist. Denn mehr wie voll ist meist problematisch.
Ich weiß das kommt jetz blöd, aber dieser Baustein https://www.reichelt.de/DRAM-FRAM-SRAM/FM-25040B-G/3/index.html?ACTION=3&LA=2&ARTICLE=146571&GROUPID=2954&artnr=FM+25040B-G&SEARCH=%252A Hat welche Speicherkapazität?
T800w schrieb: > Hat welche Speicherkapazität? Steht in der Überschrift zum IC Was willst du eigentlich bauen, wenn dir 4kBIT (512 x 8) nichts sagen?
:
Bearbeitet durch User
Route 6. schrieb: > Was willst du eigentlich bauen Wenn ich raten darf - bestimmt ein Datenspeicher für sein "20.000 I²C Sensoren Projekt) 4Kbit = 4096Bit = 512Byte
:
Bearbeitet durch User
32 Bit Kernspeicher... hat nicht jeder... http://www.wolfgangrobel.de/museum/corearduino.htm ;-) Magnetblasenspeicher ist tatsächlich out... http://www.wolfgangrobel.de/museum/bubble.htm http://www.wolfgangrobel.de/museum/bubble3.htm http://www.wolfgangrobel.de/museum/bubble4.htm http://www.wolfgangrobel.de/museum/bubble5.htm
Da gab's doch auch ein Foto von einem riesigen Array aus Ringkernspeichern. Da bekommt der Begriff "Massenspeicher" gleich eine andere Bedeutung ;)
http://www.wolfgangrobel.de/museum/core2.htm ... Oder besser einen Laufzeitspeicher? http://www.wolfgangrobel.de/museum/iskra.htm Und für's ROM einen Fädelspeicher: http://www.wolfgangrobel.de/museum/faedel2.htm
Die Beschreibung bei Reichelt ist ja echt lustig! "It provides reliable data retention for 151 years" Also nicht nur 150 Jahre, sondern volle 151 Jahre.
Ich suche so etwas auch, der so funktioniert wie der EEPROM M24C64, nur eben als SRAM.
@ Günter Lenz (Gast) >Ich suche so etwas auch, der so funktioniert wie der >EEPROM M24C64, nur eben als SRAM. Hab ich dir nicht vor kurzem erst dazu einen Link gezeigt? Beitrag "Re: benutzt ihr noch sram"
Sebastian S. schrieb: > Die Beschreibung bei Reichelt ist ja echt lustig! > > "It provides reliable data retention for 151 years" > > Also nicht nur 150 Jahre, sondern volle 151 Jahre. 150 hören sich eben nach Marketing geschreibsel an. Aber 151, das wirkt wie tatsächlich und wissenschaftlich korrekt ermittelt. Mr. Spock hat ja auch nie gesagt "3 Stunden", da waren es "3 Stunden, 2 Minuten und 12 Sekunden". :-D
:
Bearbeitet durch User
@ Bernd T. (bastelmensch) >Mr. Spock hat ja auch nie gesagt "3 Stunden", da waren es "3 Stunden, 2 >Minuten und 12 Sekunden". Das war eher Data.
T800w schrieb: > D.h dass der ATTiny84 > nur schreibt und der andere nur ließt. Das ist ein typischer Anfängerfehler, daß sie meinen, es wird einfacher, je mehr CPUs man benutzt. Das Gegenteil ist der Fall. Vernetzung ist die hohe Schule der Programmierung, davor sollte man also erstmal lernen, eine CPU zu programmieren. Wenn Du nen AVR mit 64KB SRAM brauchst, nimm z.B. einen ATmega162 und pappe 64kB SRAM dran. Der Schaltplan dazu steht im Datenblatt: "Figure 12. External SRAM Connected to the AVR"
Mal eine Zwischenfrage an der Stelle: Wie schnell ist dann eigentlich der Zugriff auf den externen Speicher? Genau so viele Taktzyklen wie intern?
@André R. (andr_r619) >Mal eine Zwischenfrage an der Stelle: Wie schnell ist dann eigentlich >der Zugriff auf den externen Speicher? Welcher Prozessor und welcher Speicher? Wenn du externen SRAM am AVR meinst, so ist der pro Zugriff um 1-3 Takte langsamer. > Genau so viele Taktzyklen wie intern? Nein. Interner RAM ist fast immer am schnellsten.
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.