Leírás
Egy mikrokontrolleres projekt építésénél hamar el lehet jutni oda, hogy maga a program még kényelmesen elfér a chipben, az adatoknak viszont már külön hely kellene. A kijelzőhöz képek és betűkészletek kerülnek a projektbe, egy adatgyűjtő elkezdi halmozni a méréseket, vagy egyszerűen szeretnél olyan tartalmat eltárolni, amely kikapcsolás után is megmarad. A W25Q128 memória modul – 16 MB / 128 Mbit SPI Flash erre ad külön, a vezérlő által kezelhető tárhelyet.
A panelen W25Q128 Flash memória található. A 128 Mbit kapacitás programozói szemmel 16 MB-ot jelent. A vezérlő SPI buszon éri el, így ugyanabba a rendszerbe beilleszthető, ahol például már kijelző vagy más SPI periféria is dolgozik.
A modul tápellátása 3,3 V. ESP32 környezetben ez kézenfekvő. Egy 5 V-os Arduino UNO vagy Nano mellett már a jelillesztésre is figyelni kell, mert a konkrét panel beépített szintillesztése szükséges (nem 5V toleráns a modul!).
Ezt a memóriát elsősorban beépített háttértárként érdemes elképzelni. A panel bent marad a készülékben, a program pedig olvas és ír rajta. Ha az adatot rendszeresen ki szeretnéd venni a készülékből és számítógépen megnyitni, ott a microSD általában a kényelmesebb irány.
Mire való a gyakorlatban?
Tegyük fel, hogy készül egy kisebb műszer grafikus kijelzővel. A vezérlő programja már megvan, viszont kell még néhány ikon, többféle betűméret és esetleg pár kép. Ezeket nem feltétlenül jó ötlet mind a mikrokontroller saját programmemóriájába zsúfolni. A W25Q128 memória modul – 16 MB / 128 Mbit SPI Flash külön helyet biztosíthat nekik.
Adatgyűjtésnél hasonló a helyzet. A szenzor mér, a vezérlő feldolgozza az értéket, majd elteszi későbbre. A Flash tartalma kikapcsolás után is megmarad, ezért az eszköz újraindulása során nem vesznek el a korábban eltárolt adatok. A 16 MB háttértár egy mikrokontroller mellett már jól használható méret, de érdemes rögtön azt is eldönteni, mire akarod felosztani. Másképp érdemes szervezni egy mérési naplót, mint egy képtárat vagy egy ritkán változó konfigurációs területet.
Itt jön elő a Flash memória egyik gyakorlati problematikája. Az írás és a törlés nem ugyanúgy működik, mint amikor egy egyszerű változót felülírsz a RAM-ban. A programnak számolnia kell a Flash lap- és szektorszervezésével, főleg akkor, ha ugyanazokat a területeket sokszor módosítod.
Kapcsolat a kontrollerrel
A W25Q128 memória modul – 16 MB / 128 Mbit SPI Flash az SPI buszra csatlakozik. A mikrokontroller adja az órajelet, kiválasztja a memóriát a chip-select jellel, majd elküldi az olvasási vagy írási művelethez szükséges parancsokat és címeket. Ha már van egy SPI buszos kijelző a rendszerben, attól még a memória is rákerülhet ugyanarra a buszra. Az adat- és órajelvezetékek közösek lehetnek, miközben minden periféria saját chip-select vezetéket kap. Így a vezérlő mindig azt az eszközt szólítja meg, amelyikkel éppen dolga van.
A tápoldal egyszerűbb: 3,3 V-tal kell számolni. A logikai jelek esetén is fennáll a 3.3V-os követelmény. Ezért a klasszikus 5 V-os Arduino mellett a szintillesztést a kapcsolás részeként kell kezelni! A panel pontos lábkiosztása a szitázáson látható.
Hol használható?
A W25Q128 memória modul – 16 MB / 128 Mbit SPI Flash többféle műhelyprojektben használható:
- Szenzoros adatgyűjtőben mérési eredmények átmeneti vagy hosszabb idejű tárolására.
- Grafikus kijelző mellett képek, ikonok és fontok számára.
- Hálózatos eszközben helyi adatpufferként, mielőtt a vezérlő továbbküldi az adatokat.
- Nagyobb konfigurációs táblák és kalibrációs adatok tárolására.
- Rövidebb hangminták vagy más előre elkészített bináris adatok számára.
- Oktatási építésben a külső SPI memória kezelésének gyakorlására.
A felsorolás mögött ugyanaz a gondolat van: olyan adat kerül ide, amelynek meg kell maradnia, de nem feltétlenül a mikrokontroller saját belső memóriájában van a legjobb helye.
Mire kell figyelni beüzemeléskor?
| Mire figyelj? | Mit okoz? |
|---|---|
| 3,3 V-ról kap tápot a modul? | A panel tápellátása ehhez a feszültséghez készült. |
| Van SPI periféria a vezérlőn? | A memória ezen keresztül kommunikál a mikrokontrollerrel. |
| 5 V-os vezérlőt használsz? | A konkrét panel közvetlen 5 V-os jelszint-kompatibilitással nem rendelkezik, ezért jelillesztésre lehet szükség. |
| Több SPI eszköz van ugyanazon a buszon? | Mindegyik perifériának külön chip-select jel kell. |
| Nyers adatot vagy fájlokat szeretnél tárolni? | A két feladat eltérő szoftveres memória-kezelést kívánhat. |
| Gyakran írod ugyanazt a területet? | A Flash törlési és írási felépítését a programban is figyelembe kell venni. |
Amit vásárlás előtt érdemes átgondolni
A 16 MB kapacitás sok mikrokontrolleres feladathoz bőségesebb, mint egy hagyományos kis EEPROM. Képeknél, hosszabb mérési naplónál vagy nagyobb adatállománynál hamar ki lehet használni ezt a plusz helyet. Ha csak néhány beállítási értéket szeretnél elmenteni, akkor ekkora Flash memória könnyen több lehet, mint amire szükség van. Ott egy kisebb EEPROM egyszerűbb felépítést biztosít.
A tápfeszültség 3,3 V, ezért a vezérlő kiválasztásánál ezt is vedd bele a kapcsolásba. ESP32 mellett ez jól illeszkedik a rendszerhez. 5 V-os mikrokontrollernél a kommunikációs jelek szintje során illesztés szükséges. Ha a projektben az olvasási sebesség határozza meg a működést, a maximális SPI-órajelet is külön követelményként kezeld.
Mikor érdemes más memóriát választani felé nézni?
Ha azt szeretnéd, hogy a felhasználó kivehesse az adathordozót, bedughassa egy számítógépbe, majd ott fájlként megnyissa a tartalmát, a microSD praktikusabb választás. Több száz megabájtos vagy gigabájtos adatmennyiségnél szintén hamar kinőhető a 16 MB.
Néhány gyakran módosított beállításhoz egy kisebb EEPROM egyszerűbben kezelhető lehet. A Flash esetén a használat: már számottevő adattömeget kell tárolni.
Műhelytipp
Mielőtt elkészül a végleges program, érdemes egy egyszerű memóriatérképet rajzolni. Nem kell túlkomplikálni: legyen meg, hogy melyik területen vannak a ritkán változó beállítások, hová kerülnek a folyamatosan érkező mérések, és melyik tartományt foglalják el a képek vagy más állandó adatok.
Ez különösen akkor lesz hasznos, amikor a projekt már nem tíz soros próbaprogramból áll. Ha előre megvan, melyik adattípus hol lakik a Flash-ben, később sokkal könnyebb bővíteni és hibát keresni.
Műszaki jellemzők
| Jellemző | Érték |
|---|---|
| Memóriatípus: | Soros Flash memória |
| Memóriachip: | W25Q128 |
| Kapacitás: | 128 Mbit / 16 MB |
| Kommunikáció: | SPI |
| Tápfeszültség: | 3,3 V |
| Adatmegőrzés táp nélkül: | Igen |
Felhasználók kérdezték…
Mennyi adat fér rá valójában?
A 128 Mbit kapacitás 16 MB tárhelynek felel meg. A két érték ugyanazt a memóriaméretet jelenti, csak más mértékegységben.
Megmarad az adat kikapcsolás után?
Igen. A W25Q128 Flash nem felejtő memória, ezért a korábban elmentett tartalom tápfeszültség nélkül is megmarad.
ESP32 mellé használható?
Az ESP32 SPI perifériával és 3,3 V-os logikai rendszerrel dolgozik, így a W25Q128 memória modul – 16 MB / 128 Mbit SPI Flash jól beilleszthető ilyen környezetbe.
Arduino UNO mellé közvetlenül beköthető?
A modul tápja 3,3 V, az Arduino UNO logikai jelei pedig 5 V-osak. A konkrét panel beépített szintillesztése !!!, ezért a jelszintek illesztésével számolni kell.
Ugyanazt tudja, mint egy SD-kártya?
Más feladatra való. Ez a modul fixen beépített 16 MB-os SPI Flash tárhely. Az SD-kártya cserélhető, általában jóval nagyobb, és számítógépen közvetlenül kezelhető adathordozó.
Használható EEPROM helyett?
Bizonyos feladatokra igen, de másképp kell kezelni. A Flash memória írása és törlése nagyobb memóriaegységekhez kötődik, ezért sok apró, gyakran változó adatnál a program felépítésére külön figyelni kell.
Dokumentáció
- AdafruitSPIFlash eljáráskönyvtár (Arduino)
Csomag
- 1 db W25Q128 memória modul – 16 MB / 128 Mbit SPI Flash














Értékelések
Még nincsenek értékelések.