Sa artikulong ito, titingnan namin kung paano magsulat at magbasa mula sa memorya ng flash gamit ang isang Arduino gamit ang 25L8005 microcircuit bilang isang halimbawa.
Kailangan
- - flash memory chip na may suporta sa SPI;
- - isang adapter para sa memorya o isang panel na may zero gain (ZIF-panel);
- - Arduino;
- - computer;
- - pagkonekta ng mga wire.
Panuto
Hakbang 1
Una, kailangan nating gawin ito upang madali kaming makakonekta sa microcircuit. Upang magawa ito, maaari mong gamitin ang alinman sa isang espesyal na adapter kung saan kailangan mong maghinang ng microcircuit, o (kung saan mas mabuti) gumamit ng isang zero-gain panel (ang tinaguriang ZIF panel).
Hakbang 2
Ngayon ay pagsamahin natin ang diagram ng elektrikal para sa pagkonekta ng flash memory chip sa Arduino. Gagamitin namin ang interface ng SPI para sa pag-program ng memorya, kaya makakonekta kami sa karaniwang mga pin:
- CS - digital pin 10, - MOSI - digital pin 11, - MISO - digital pin 12, - SCK - digital pin 13.
Hakbang 3
Bago isulat ang memorya sa memorya, kinakailangan na burahin ang sektor o pahina kung saan kami magsusulat. Kung walang maraming data na maisusulat (sa aming halimbawa ng tutorial na ito ay magiging 16 bytes lamang), sapat na upang mabura ang 1 sektor. Mula sa dokumentasyon para sa microcircuit, nakikita namin na ang pagkakasunud-sunod ng burado ay ang mga sumusunod: itakda ang pahintulot sa pagsulat (1 byte), ipadala ang utos na burahin (1 byte) at ang address (3 bytes), itakda ang pagbabawal ng pagsulat (1 byte). Ito mismo ang ginagawa ng sketch sa itaas. I-load natin ito sa Arduino. Matapos makumpleto ang sketch, handa na ang flash drive para sa pagrekord.
Hakbang 4
Ngayon ay isulat natin ang data. Kumuha tayo ng isang maliit na hanay ng 16 bytes bilang isang halimbawa. Tulad ng nakikita mo mula sa dokumentasyon, kailangan mo munang itakda ang pahintulot sa pagsulat (1 byte), pagkatapos ay ipadala ang sulatin ng pagsulat (1 byte), ang panimulang address (3 bytes) at data (sa aming halimbawa, 16 bytes), sa itakda ng pagtatapos ang pagbabawal ng pagsulat (1 byte).
I-upload ang sketch sa Arduino. Matapos maipatupad ang sketch na ito, ang aming pagsubok na array ay dapat na nakasulat sa flash memory. Suriin natin kung ito talaga.
Hakbang 5
Sumulat tayo ng isang sketch upang mabasa ang 16 bytes mula sa flash memory. I-load natin ito sa Arduino at buksan ang serial port monitor. Sa monitor, tulad ng inaasahan, ang aming array, na basahin mula sa memorya gamit ang Arduino, ay ipapakita nang 1 oras bawat segundo.