Hi Liste, vielleicht kann mir ja wer helfen. Ich benötige zum ATMega (darum am besten IIC) einen Speicher- Chip, idealerweise einen EEPROM. Leider brauche ich 256*64*32=524288 Bytes an Speicherplatz. So einen großen EEPROM hab ich nicht gefunden. Auch würde ich gerne byteweise dadrauf zugreifen können und nicht blockweise. Hat da jemand eine Lösung? Danke, Christoph
Nimm nen ATMEL Dataflash. (AT45DB041D) Ok es ist kein EEPROM sondern ein Flash Speicher, und er ist auch nicht über IIC sondern über SPI anzusteuern. aber dafür sind die schön klein, billig, schnell und bis 8MB groß (ja 8 megaBYTE also 64 Mbit) Byteweises Lesen geht ohne Probleme. Byteweises schreiben geht über einen kleinen Umweg. Die Dataflash haben zwei interne RAM Buffer eingebaut (biz zu 1kB). Mit einem SPI Kommando kann eine Flashpage (Block) in einen Buffer kopieren. Im Buffer dann beliebig mit den Bytes rumpfuschen. Und nach Abschluss der Manipulationen den inhalt des Buffers wieder ins Flash zurückschreiben (mit einem einzigen SPI Kommando). Größter Nachteil ist für mich, daß die Dinger eine 2,7-3,6V Versorgung spannung brauchen. (ich mach das immer mit ein paar in Reihe geschalteter Dioden) Die IO-Pins sind jedoch 5V tolerant. bis dann Hauke
AT24C1024, brauchst dann allerdings 4 Stück. Und da nur 1 Adresseingang, kannst du nur 2 Stk an einen Bus hängen, also einen 2.Bus...
@crazy horse Danke, aber es soll eine single chip solution sein. @hauke Also das find ich gut. Aber - Beißt sich das beim Programmieren über SPI nicht? - Hast Du zufällig eine C-lib dafür :D? Danke euch, Christoph
@crazy horse bei SPI Slaves hast du keinen Adress eingang, sondern nur einen Chip Select, sprich du kannst den Bus theortisch unendlich erweitern, brauchst nur pro Slave einen IO Pin, oder baust dir Adress Decoder, die x Slaves ansprechen koennen
@Christoph 2*Nein 1. Nein das beißt sich nicht. SPI geräte werden immer über 4 Leitungen angesprochen. Clock, DataIn, DataOut und CHIPSELECT Da im Resetzustand (ISProgrammierung) alle sonstigen IO-Pins hochomig sind, brauchst du lediglich die CS leitung mit einem kleinen Widerstand auf den gewünschten inaktiven Pegel zu ziehen. Im prinzip ist ja der Reseteingang des AVR die Chipselct Leitung für das ISP Interface. 2. Nein ich habe keine C-lib dafür. Ich stehe mit C auf dem Kriegsfuß. Ich bin reiner ASM Progger (ok. Basic und Fortran kann ich auch noch) Mir ist lieber, daß der µC den Unsinn tut den ich ihm befehle. Und nicht das was irgend ein Compiler meint in meinem Code hinein zu interpretieren. Aber wenn du die SPI Schnittstelle unter C ansteuern kannst (unter ASM ist das schon banal), dann ist der Rest einfach. cu Hauke
@Peter Der AT24C1024 ist ein IIC EEPROM, braucht sehr wohl Adress-Pins, und hat tatsächlich nur einen davon-> maximal 2 an einen Bus.
>>Nimm nen ATMEL Dataflash. (AT45DB041D) >>Ok es ist kein EEPROM sondern ein Flash Speicher, und er ist auch nicht >>über IIC sondern über SPI anzusteuern. aber dafür sind die schön klein, >>billig, schnell und bis 8MB groß (ja 8 megaBYTE also 64 Mbit) IIC oder SPI???? :D
AT45DB041D ungleich AT24C1024, wenn du das meinst :) AT45DB041D = SPI AT24C1024 = IIC kann passieren =)
AT45DB041D SPI Anschluss 2048 Pages (264 Byte/Page) zwei SRAM Buffer (264 Byte) 100,000 Program/Erase Zyklen pro Page Minimum Datenerhalt 20 Jahre gibt es als 8-lead (0.150" Wide Body), Plastic Gull Wing Small Outline (JEDEC SOIC) 8-lead, 0.209" Body, Plastic Small Outline Package (EIAJ) A, 8-pad, 6 x 5 x 1.00 mm Body, Very Thin Dual Flat Package No Lead (MLF) und sogar als Dataflash Karte (mechanisch wie SD/MMC Karten) cu Hauke P.S. Die "Adressaschlüsse" der IIC Bausteine sind keine echten Adressanschlüsse. Es konfigurationspins mit denen dem Baustein mitgeteilt wird, auf welche Adresse im IIC Bus sie reagieren sollen. Die Adressierung im IIC Bus geschieht ausschließlich über den Bus!!! (zumindest wenn man sich an die Spezifikationen hält)
Hauke Sattler Die Adressierung?? Naja, der Baustein benötigt eine eindeutige Adresse im Bus, und bekommt eine fest eingebrannt (die ersten Bits der Adresse), dei letzten Bits (in diesem Fall nur eins) der Adresse kann man über den Adress Pin selektieren High / Low. Der Baustein an sich, da hast du Recht wird über IIC Angesprichen. Bei SPI wird der Baustein über ein CD (Enable) Pin auf aktiv geschaltett . Sagt ja schon der Name Chip Select Gruss
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.