Как да пишете и четете флаш памет с помощта на Arduino

Съдържание:

Как да пишете и четете флаш памет с помощта на Arduino
Как да пишете и четете флаш памет с помощта на Arduino

Видео: Как да пишете и четете флаш памет с помощта на Arduino

Видео: Как да пишете и четете флаш памет с помощта на Arduino
Видео: Программирование МК STM32 Урок 218 HAL STM32F4 FLASH память W25Q Стираем информацию 2024, Ноември
Anonim

В тази статия ще разгледаме как да пишем и четем от флаш памет, като използваме Arduino, като използваме микросхемата 25L8005 като пример.

Как да пишете и четете флаш памет с помощта на Arduino
Как да пишете и четете флаш памет с помощта на Arduino

Необходимо

  • - чип за флаш памет с поддръжка на SPI;
  • - адаптер за памет или панел с нулево усилване (ZIF-панел);
  • - Arduino;
  • - компютър;
  • - свързващи проводници.

Инструкции

Етап 1

Първо, трябва да го направим, за да можем лесно да се свържем с микросхемата. За да направите това, можете да използвате или специален адаптер, към който трябва да запоите микросхемата, или (което е за предпочитане) да използвате панел с нулева печалба (така нареченият ZIF панел).

Чип за флаш памет на ZIF панел
Чип за флаш памет на ZIF панел

Стъпка 2

Сега нека съставим електрическата схема за свързване на чипа с флаш памет към Arduino. Ще използваме интерфейса SPI за програмиране на паметта, така че ще се свържем със стандартните щифтове:

- CS - цифров щифт 10, - MOSI - цифров щифт 11, - MISO - цифров щифт 12, - SCK - цифров щифт 13.

Диаграма на свързване на флаш памет към Arduino
Диаграма на свързване на флаш памет към Arduino

Стъпка 3

Преди да запишете данни в паметта, е необходимо да изтриете сектора или страницата, на които ще пишем. Ако няма много данни за записване (в нашия урок пример ще бъде само 16 байта), тогава е достатъчно да изтриете 1 сектор. От документацията за микросхемата виждаме, че последователността на изтриване е следната: задайте разрешение за запис (1 байт), изпратете командата за изтриване (1 байт) и адреса (3 байта), задайте забраната за запис (1 байт). Точно това прави горната скица. Нека го заредим в Arduino. След завършване на скицата флаш устройството е готово за запис.

Скица за изтриване на Flash сектор
Скица за изтриване на Flash сектор

Стъпка 4

Сега нека запишем данните. Да вземем за пример малък масив от 16 байта. Както можете да видите от документацията, първо трябва да зададете разрешение за запис (1 байт), след това да изпратите командата за запис (1 байт), началния адрес (3 байта) и данни (в нашия пример 16 байта) на в края задайте забраната за запис (1 байт).

Качете скицата в Arduino. След изпълнението на тази скица, нашият тестов масив трябваше да бъде записан във флаш памет. Нека проверим дали това е така.

Скица за писане на масив от байтове във флаш памет
Скица за писане на масив от байтове във флаш памет

Стъпка 5

Нека напишем скица, за да прочетем 16 байта от флаш паметта. Нека го заредим в Arduino и отворим монитора на серийния порт. В монитора, както се очакваше, нашият масив, прочетен от паметта с помощта на Arduino, ще се показва 1 път в секунда.

Препоръчано: