In dit artikel zullen we bekijken hoe u kunt schrijven naar en lezen van flashgeheugen met behulp van een Arduino met de 25L8005-microschakeling als voorbeeld.
Noodzakelijk
- - flashgeheugenchip met SPI-ondersteuning;
- - een adapter voor geheugen of een paneel met zero gain (ZIF-paneel);
- -Arduino;
- - computer;
- - aansluitdraden.
instructies:
Stap 1
Eerst moeten we het zo maken dat we gemakkelijk verbinding kunnen maken met de microschakeling. Hiervoor kun je ofwel een speciale adapter gebruiken waaraan je de microschakeling moet solderen, ofwel (wat de voorkeur heeft) een zero-gain paneel gebruiken (het zogenaamde ZIF-paneel).
Stap 2
Laten we nu het elektrische schema samenstellen voor het aansluiten van de flash-geheugenchip op de Arduino. We zullen de SPI-interface gebruiken voor geheugenprogrammering, dus we zullen verbinding maken met de standaard pinnen:
- CS - digitale pin 10, - MOSI - digitale pin 11, - MISO - digitale pin 12, - SCK - digitale pin 13.
Stap 3
Voordat u gegevens naar het geheugen schrijft, moet u de sector of pagina wissen waarnaar we gaan schrijven. Als er niet veel gegevens zijn om te schrijven (in ons instructievoorbeeld zal het slechts 16 bytes zijn), dan is het voldoende om 1 sector te wissen. Uit de documentatie voor de microschakeling zien we dat de wisvolgorde als volgt is: stel de schrijftoestemming in (1 byte), stuur de wisopdracht (1 byte) en het adres (3 bytes), stel het schrijfverbod in (1 byte). Dit is precies wat de bovenstaande schets doet. Laten we het in Arduino laden. Nadat de schets is voltooid, is de flashdrive klaar voor opname.
Stap 4
Laten we nu de gegevens schrijven. Laten we als voorbeeld een kleine array van 16 bytes nemen. Zoals u in de documentatie kunt zien, moet u eerst de schrijfmachtiging (1 byte) instellen en vervolgens het schrijfcommando (1 byte), het startadres (3 bytes) en gegevens (in ons voorbeeld 16 bytes) verzenden naar het einde stelt het schrijfverbod in (1 byte).
Upload de schets naar Arduino. Na het uitvoeren van deze schets zou onze testarray naar het flashgeheugen moeten zijn geschreven. Laten we eens kijken of dit zo is.
Stap 5
Laten we een schets schrijven om 16 bytes uit het flashgeheugen te lezen. Laten we het in Arduino laden en de seriële poortmonitor openen. In de monitor wordt, zoals verwacht, onze array, gelezen uit het geheugen met behulp van de Arduino, 1 keer per seconde weergegeven.