Šiame straipsnyje mes panagrinėsime, kaip rašyti ir skaityti iš „flash“atminties naudojant „Arduino“, kaip pavyzdį naudojant 25L8005 mikroschemą.
Būtinas
- - „flash“atminties mikroschema su SPI palaikymu;
- - atminties adapteris arba skydelis su nuliniu stiprinimu (ZIF skydelis);
- - Arduino;
- - kompiuteris;
- - jungiamieji laidai.
Nurodymai
1 žingsnis
Pirma, mes turime jį pagaminti taip, kad galėtume lengvai prisijungti prie mikroschemos. Norėdami tai padaryti, galite naudoti arba specialų adapterį, prie kurio turite lituoti mikroschemą, arba (pageidautina) naudoti nulio padidinimo skydą (vadinamąjį ZIF skydą).
2 žingsnis
Dabar sudėkime elektros schemą, skirtą prijungti „flash“atminties lustą prie „Arduino“. Atminties programavimui naudosime SPI sąsają, todėl prisijungsime prie standartinių kaiščių:
- CS - skaitmeninis kaištis 10, - MOSI - skaitmeninis kaištis 11, - MISO - skaitmeninis kaištis 12, - SCK - skaitmeninis kaištis 13.
3 žingsnis
Prieš įrašant duomenis į atmintį, būtina ištrinti sektorių ar puslapį, į kurį ketiname rašyti. Jei nėra daug duomenų, kuriuos reikia parašyti (mūsų mokymo pavyzdyje tai bus tik 16 baitų), pakanka ištrinti 1 sektorių. Iš mikroschemos dokumentacijos matome, kad ištrynimo seka yra tokia: nustatykite rašymo leidimą (1 baitas), išsiųskite komandą ištrinti (1 baitas) ir adresą (3 baitai), nustatykite rašymo draudimą (1 baitas). Būtent tai daro aukščiau pateiktas eskizas. Įkelkime jį į „Arduino“. Užbaigus eskizą, „flash“diskas yra paruoštas įrašyti.
4 žingsnis
Dabar parašykime duomenis. Paimkime kaip pavyzdį nedidelį 16 baitų masyvą. Kaip matote iš dokumentacijos, pirmiausia turite nustatyti rašymo leidimą (1 baitas), tada išsiųsti rašymo komandą (1 baitas), pradinį adresą (3 baitai) ir duomenis (mūsų pavyzdyje - 16 baitų), adresu pabaiga nustatė rašymo draudimą (1 baitas).
Įkelkite eskizą į „Arduino“. Atlikus šį eskizą, mūsų bandymų masyvas turėjo būti įrašytas į „flash“atmintį. Patikrinkime, ar taip.
5 žingsnis
Parašykime eskizą, kad galėtumėte perskaityti 16 baitų iš „flash“atminties. Įkelkime jį į „Arduino“ir atidarykite nuoseklaus prievado monitorių. Monitoriuje, kaip tikėtasi, mūsų masyvas, perskaitytas iš atminties naudojant „Arduino“, bus rodomas 1 kartą per sekundę.