În acest articol, vom analiza cum să scrieți și să citiți din memoria flash folosind un Arduino folosind microcircuitul 25L8005 ca exemplu.
Necesar
- - cip de memorie flash cu suport SPI;
- - un adaptor pentru memorie sau un panou cu câștig zero (panoul ZIF);
- - Arduino;
- - calculator;
- - conectarea firelor.
Instrucțiuni
Pasul 1
În primul rând, trebuie să o realizăm astfel încât să ne putem conecta cu ușurință la microcircuit. Pentru a face acest lucru, puteți utiliza fie un adaptor special la care trebuie să lipiți microcircuitul, fie (ceea ce este de preferat) utilizați un panou cu câștig zero (așa-numitul panou ZIF).
Pasul 2
Acum să combinăm schema electrică pentru conectarea cipului de memorie flash la Arduino. Vom folosi interfața SPI pentru programarea memoriei, așa că ne vom conecta la pinii standard:
- CS - pin digital 10, - MOSI - pin digital 11, - MISO - pin digital 12, - SCK - pin digital 13.
Pasul 3
Înainte de a scrie date în memorie, este necesar să ștergeți sectorul sau pagina pe care urmează să scriem. Dacă nu sunt multe date de scris (în exemplul nostru de tutorial vor fi doar 16 octeți), atunci este suficient să ștergeți 1 sector. Din documentația pentru microcircuit, vedem că secvența de ștergere este după cum urmează: setați permisiunea de scriere (1 octet), trimiteți comanda de ștergere (1 octet) și adresa (3 octeți), setați interdicția de scriere (1 octet). Exact asta face schița de mai sus. Să-l încărcăm în Arduino. După finalizarea schiței, unitatea flash este gata pentru înregistrare.
Pasul 4
Acum să scriem datele. Să luăm ca exemplu o mică matrice de 16 octeți. După cum puteți vedea din documentație, mai întâi trebuie să setați permisiunea de scriere (1 octet), apoi să trimiteți comanda de scriere (1 octet), adresa de pornire (3 octeți) și datele (în exemplul nostru, 16 octeți), la sfârșitul a stabilit interdicția de scriere (1 octet).
Încărcați schița pe Arduino. După executarea acestei schițe, matricea noastră de test ar fi trebuit să fie scrisă în memoria flash. Să verificăm dacă este așa.
Pasul 5
Să scriem o schiță pentru a citi 16 octeți din memoria flash. Să-l încărcăm în Arduino și să deschidem monitorul portului serial. Pe monitor, așa cum era de așteptat, matricea noastră, citită din memorie folosind Arduino, va fi afișată de 1 dată pe secundă.