Ebben a cikkben megvizsgáljuk, hogyan lehet flash memóriába írni és olvasni Arduino segítségével, példaként a 25L8005 mikrokapcsolót használva.
Szükséges
- - flash memória chip SPI támogatással;
- - adapter memóriához vagy nulla erősítésű panel (ZIF-panel);
- - Arduino;
- - számítógép;
- - összekötő vezetékek.
Utasítás
1. lépés
Először úgy kell elkészítenünk, hogy könnyen csatlakozzunk a mikrokapcsolathoz. Ehhez használhat egy speciális adaptert, amelyhez meg kell forrasztania a mikrokapcsolást, vagy (ami előnyösebb) használhatja a nulla erősítésű panelt (az úgynevezett ZIF panelt).
2. lépés
Most állítsuk össze az elektromos diagramot a flash memóriachip csatlakoztatásához az Arduino-hoz. Az SPI interfészt fogjuk használni a memória programozásához, ezért csatlakozni fogunk a szabványos csapokhoz:
- CS - 10. digitális tű, - MOSI - 11. digitális tű, - MISO - 12. digitális érintkező, - SCK - 13. digitális tű.
3. lépés
Az adatok memóriába írása előtt törölni kell azt a szektort vagy oldalt, amelyre írni fogunk. Ha nincs sok írandó adat (oktató példánkban ez csak 16 bájt lesz), akkor elegendő 1 szektort törölni. A mikrokapcsolat dokumentációjából kiderül, hogy a törlési sorrend a következő: állítsa be az írási engedélyt (1 bájt), küldje el az erase parancsot (1 bájt) és a címet (3 bájt), állítsa be az írási tilalmat (1 bájt). A fenti vázlat pontosan ezt teszi. Töltsük be az Arduino-ba. A vázlat elkészülte után a flash meghajtó készen áll a felvételre.
4. lépés
Most írjuk meg az adatokat. Vegyünk példaként egy kis 16 bájtos tömböt. Amint a dokumentációból látható, először be kell állítania az írási engedélyt (1 bájt), majd el kell küldenie az írási parancsot (1 bájt), a kezdő címet (3 bájt) és az adatokat (példánkban 16 bájt), a a vég megadta az írási tilalmat (1 bájt).
Töltse fel a vázlatot az Arduino-ra. A vázlat végrehajtása után a teszttömböt a flash memóriába kellett volna írni. Ellenőrizzük, hogy így van-e.
5. lépés
Írjunk egy vázlatot, hogy 16 bájtot olvashassunk flash memóriából. Töltsük be az Arduino-ba, és nyissuk meg a soros port monitort. A monitorban a várakozásoknak megfelelően az Arduino használatával a memóriából olvasott tömbünk másodpercenként 1 alkalommal jelenik meg.