Tässä artikkelissa tarkastellaan, kuinka kirjoittaa flash-muistiin ja lukea siitä flash-muistiin käyttämällä Arduinoa käyttämällä esimerkkinä 25L8005-mikropiiriä.
Tarpeellinen
- - flash-muistisiru SPI-tuella;
- - sovitin muistia tai paneeli, jolla ei ole vahvistusta (ZIF-paneeli);
- - Arduino;
- - tietokone;
- - liitäntäjohdot.
Ohjeet
Vaihe 1
Ensinnäkin meidän on tehtävä se niin, että voimme helposti muodostaa yhteyden mikropiiriin. Voit tehdä tämän käyttämällä joko erityistä sovitinta, jolle sinun on juotettava mikropiiri, tai (mikä on suositeltavaa) käyttää nollavahvistuspaneelia (ns. ZIF-paneeli).
Vaihe 2
Laaditaan nyt sähkökaavio flash-muistisirun liittämiseksi Arduinoon. Käytämme SPI-liitäntää muistin ohjelmointiin, joten muodostamme yhteyden vakiomuotoisiin nastoihin:
- CS - digitaalinen nasta 10, - MOSI - digitaalinen nasta 11, - MISO - digitaalinen nasta 12, - SCK - digitaalinen nasta 13.
Vaihe 3
Ennen tietojen kirjoittamista muistiin on välttämätöntä poistaa sektori tai sivu, jolle aiomme kirjoittaa. Jos kirjoitettavaa dataa ei ole paljon (opetusesimerkissä se on vain 16 tavua), riittää, että yksi sektori poistetaan. Mikropiirin dokumentaatiosta näemme, että pyyhintäsekvenssi on seuraava: aseta kirjoitusoikeus (1 tavu), lähetä poistokomento (1 tavu) ja osoite (3 tavua), aseta kirjoituskielto (1 tavu). Juuri näin yllä oleva luonnos tekee. Ladataan se Arduinoon. Kun luonnos on valmis, flash-asema on valmis tallennettavaksi.
Vaihe 4
Kirjoitetaan nyt tiedot. Otetaan esimerkkinä pieni 16 tavun taulukko. Kuten dokumentaatiosta näet, sinun on ensin asetettava kirjoitusoikeus (1 tavu) ja lähetettävä sitten kirjoituskäsky (1 tavu), aloitusosoite (3 tavua) ja tiedot (esimerkissämme 16 tavua) osoitteessa loppu asettaa kirjoituskiellon (1 tavu).
Lataa luonnos Arduinoon. Tämän luonnoksen suorittamisen jälkeen testiryhmämme olisi pitänyt kirjoittaa flash-muistiin. Tarkistetaan, onko näin.
Vaihe 5
Kirjoitetaan luonnos lukemaan 16 tavua flash-muistista. Ladataan se Arduinoon ja avataan sarjaporttimonitori. Näytössä odotetusti näytetään Arduinoa käyttämällä muistista luettu taulukko kerran sekunnissa.