Jag håller på och leker lite med data EEPROM-skrivning (för första gången) och har lagt märke till vilken tid det tar. 5ms typ för en write-cykel! Det är ju så man hinner ta en tupplur innan det är klart. =)
Nej men skämt å sido så undrar jag hur det står till med dessa skivhastigheter egentligen. Har inte hittat någon jättebra förteckning över skrivhastigheter. Det står i manualen till MPLAB att simulatorn beräknar 5ms typ för en write-cykel. Hur väl stämmer detta över ens med verkligheten? Antar att det inte är styrt av klockhastigheten eftersom det står angivet i tidsenheter och inte klockcykler. Hur är det med drivspänningen? kan den påverka hastigheten? Eftersom tiden det tar att initera en write till data EEPROM, i sammanhanget, är försvinnande liten så kan man löst räkna på att detta ger en skrivhastighet på 200 byte per sekund vilket jag tycker låter ganska långsamt.
Vidare har jag studerat externa EEPROM som till exempel Microchips 24FC512. Den har stöd för 128-bytes "pagewrite". Man behöver alltså bara sända "initierings-sekvensen" en gång och sedan kan man skicka upp till 128 bytes i följd. Detta ser ju smidigt ut och som jag tolkar databladet så tar det ingen längre tid att lagra dessa 128 byte än vad det tar att lagra en byte. ca 5ms. Detta ger en skrivhastighet (om vi räknar bort initiering och sändning) på 25.600 byte/s vilket låter betydligt trevligare om vi jobbar med långa datasträngar.
Lite funderingar kring detta:
Det jag undrar över är om det finns något sätt att genomföra något liknande "pagewrite" på det interna data EEPROMet eller är man låst vid den något slöa skrivhastigheten?
Annars; hur tycker ni som jobbat med externa minnen att de är att ha och göra med? Hur funkar det att mjukvaruimplementera tex en I2C-kompatibel krets? Lättare eller svårare än SPI? Om man har PIC med stöd för både SPI och I2C, vilken typ av minne är lättast att arbeta med?
Det var väl det om det.
Ha en bra dag!
MVH
/Tottish
Skrivhastighet till EEPROM
Det interna EEPROM:et är ju förhållandevis litet och används väl oftast till att lagra inställningar och liknande. Om du "ofta" ska lagra "mycket" data låter det lite som du vill använda minnet till fel sak. Berätta lite mer, hur ofta ska du lagra hur mycket data?
Själv har jag enbart goda erfarenheter av externa EEPROM med SPI-interface.
Själv har jag enbart goda erfarenheter av externa EEPROM med SPI-interface.
Väldigt mycket frågor här.
Efter en snabb genomläsning (det var rörigt skrivet och inte speciellt
roligt att läsa) så undrar jag om inte det mesta besvaras av databladet ?
Behöver du snabbare lagring så kan du titta på FRAM minnena från
www.ramtron.com . Skriver i full I2C/SPI hastighet utan fördröjningar.
SPI är gennerellt lite enklare att jobba med, till priset av minst en extra pinne.
Efter en snabb genomläsning (det var rörigt skrivet och inte speciellt
roligt att läsa) så undrar jag om inte det mesta besvaras av databladet ?
Behöver du snabbare lagring så kan du titta på FRAM minnena från
www.ramtron.com . Skriver i full I2C/SPI hastighet utan fördröjningar.
SPI är gennerellt lite enklare att jobba med, till priset av minst en extra pinne.