Bu yazıda, örnek olarak 25L8005 mikro devresini kullanarak bir Arduino kullanarak flash belleğe nasıl yazıp okuyacağımıza bakacağız.
Gerekli
- - SPI destekli flash bellek yongası;
- - bellek için bir adaptör veya sıfır kazançlı bir panel (ZIF paneli);
- -Arduino;
- - bilgisayar;
- - bağlantı kabloları.
Talimatlar
Aşama 1
İlk olarak, mikro devreye kolayca bağlanabilmemiz için yapmamız gerekiyor. Bunu yapmak için, mikro devreyi lehimlemeniz gereken özel bir adaptör kullanabilir veya (tercihen) sıfır kazançlı bir panel (ZIF paneli olarak adlandırılır) kullanabilirsiniz.
Adım 2
Şimdi flash bellek yongasını Arduino'ya bağlamak için elektrik şemasını bir araya getirelim. Bellek programlama için SPI arayüzünü kullanacağız, bu yüzden standart pinlere bağlanacağız:
- CS - dijital pin 10, - MOSI - dijital pin 11, - MISO - dijital pin 12, - SCK - dijital pin 13.
Aşama 3
Belleğe veri yazmadan önce yazacağımız sektörü veya sayfayı silmemiz gerekiyor. Yazılacak çok fazla veri yoksa (öğretici örneğimizde sadece 16 bayt olacaktır), o zaman 1 sektörü silmek yeterlidir. Mikro devre belgelerinden, silme sırasının aşağıdaki gibi olduğunu görüyoruz: yazma iznini (1 bayt) ayarlayın, silme komutunu (1 bayt) ve adresi (3 bayt) gönderin, yazma yasağını ayarlayın (1 bayt). Yukarıdaki taslağın yaptığı tam olarak budur. Arduino'ya yükleyelim. Çizim tamamlandıktan sonra flash sürücü kayıt için hazırdır.
4. Adım
Şimdi verileri yazalım. Örnek olarak 16 baytlık küçük bir diziyi ele alalım. Belgelerden de görebileceğiniz gibi, önce yazma iznini (1 bayt) ayarlamanız, ardından yazma komutunu (1 bayt), başlangıç adresini (3 bayt) ve verileri (örneğimizde 16 bayt) göndermeniz gerekir. son, yazma yasağını (1 bayt) ayarlayın.
Krokiyi Arduino'ya yükleyin. Bu taslağı çalıştırdıktan sonra test dizimiz flash belleğe yazılmış olmalıydı. Bunun böyle olup olmadığını kontrol edelim.
Adım 5
Flash bellekten 16 bayt okumak için bir kroki yazalım. Arduino'ya yükleyelim ve seri port monitörünü açalım. Monitörde beklendiği gibi Arduino kullanılarak bellekten okunan dizimiz saniyede 1 kez görüntülenecektir.