Arduino W25Q16
тел. +7(499)347-04-82
Описание Arduino W25Q16
Вот подробное техническое описание микросхемы флеш-памяти W25Q16, инструкция по подключению к Arduino, а также список парт-номеров и совместимых аналогов.
1. Общее описание W25Q16
W25Q16 — это высокопроизводительная микросхема последовательной NOR-флеш-памяти объемом 16 Мбит (2 Мбайта) от компании Winbond. Она отличается высокой скоростью чтения/записи, низким энергопотреблением и большим ресурсом перезаписи, что делает её идеальной для хранения прошивок, шрифтов, изображений, данных журналов и различных конфигураций в проектах на Arduino и STM32.
Ключевые особенности:
- Интерфейс: SPI (Serial Peripheral Interface) и Dual/Quad SPI (поддержка 1-2-4 битного режима передачи).
- Повышенная скорость: Поддерживает режим Fast Read с тактовой частотой до 104 МГц (для W25Q16JV) или до 133 МГц (для W25Q16JV-IM/JM), что позволяет быстро выгружать графику на дисплеи.
- Структура: Разделена на сектора (4096 байт) и блоки (32 КБ, 64 КБ).
- Надёжность: Срок хранения данных — 20 лет (гарантия производителя) и 100 000 циклов стирания/записи.
2. Технические характеристики (W25Q16JV серия)
| Параметр | Значение | Примечания |
| :--- | :--- | :--- |
| Объем памяти | 16 Мбит (2,097,152 байт) | Делится на 4096 страниц по 256 байт |
| Напряжение питания | 2.7 В – 3.6 В | Для логических уровней 3.3В. Не рекомендуется питать от 5В без преобразователя уровней! |
| Интерфейс | SPI / Dual SPI / Quad SPI | Частота тактового сигнала до 104–133 МГц (зависит от версии) |
| Максимальный ток | < 25 мА (в режиме чтения) | Очень низкое потребление |
| Ток в режиме ожидания | 1–2 мкА | Режим Power-Down |
| Структура секторов | 512 секторов по 4 КБ | 2 блока по 64КБ, 4 блока по 64КБ внутри... |
| Организация страницы | 256 байт | Стирание минимум посекторно (4КБ) |
| Стирание сектора | Стандартные 400 мс | - |
| Время записи страницы | Стандартные 0.7 мс | - |
| Совместимость с уровнями 5В | Толерантны к 5В на входах (опционально)** | Обычно модели с суффиксом JV-IM или JV-IQ требуют уровней 3.3В. |
| Архитектура | SPI NOR Flash | - |
| Корпус | SOIC-8, WSON-8, PDIP-8, CSP | Самая частая - SOIC-8 (1.5 см шириной) |
3. Парт-номера и совместимость (Крос-референс)
Официальные парт-номера Winbond (серия):
Система наименования у Winbond стандартизирована:
- W25Q16JVSSIQ — самая популярная модель для DIY (SOIC-8, 3.3В, 104МГц).
- W25Q16JVS — аналог без буквенных суффиксов ( старые версии W25Q16BV/VB).
- W25Q16JVZP — корпус WSON-8 (бесконтактная сварка, сложно паять без горелки).
- W25Q16JW — вариант для низких напряжений (1.8В), часто используется в новой технике.
Разбор суффиксов (Vinbond):
J: Поколение (JV = J-серия для 3.3В, JW = W-серия для 1.8В).V: 5? Нет, относится к напряжению ядра.S: Корпус (S = SOIC-8, L = SOIC-16, Z = WSON, P = PDIP).I: ТЕМПЕРАТУРНЫЙ ДИАПАЗОН (I = Industrial -40C..+85C, M = -40C..+105C).Q: Способ упаковки (Q = 无铅, Green).
Это ЛОЖЬ и МАРКЕТИНГ: Чипы Series Q — это Green (эко-материалы), и именно их чаще всего продают в интернет-магазинах (ebay, RoboStore...).
4. Совместимые модели и Аналоги
Эту микросхему можно заменить без изменения кода на следующие модули и чипы:
- Микросхемы Winbond: W25Q32 (двойная), W25Q64 (4х), W25Q128 (8х) — Однозначно 100% совместимы между собой (протокол один), разница только в размере памяти.
- Аналог от GS: GS25Q16 (GigaDevice). Обычно платы, китайские «копии», поставляются именно с ним (работает 1:1).
- Microchip (или Atmel): AT25DF161, AT25SF16.
- MACRONIX: MX25L1605, MX25L1606.
- AMIC: A25L16 (требовательно к питанию).
- Moduel/hsp_easy - почти все buy "8051" мульти-хранилища, GPIO экспанды.
Важный нюанс: Дешёвые китайские модули EEPROM 24LC256 это НЕ флеш-память! W25Q16 — это ДРУГОЙ протокол (SPP vs I2C). W25 — по SPI, как ВАИСТЕИН или микро-SD, поэтому не путайте!
5. Подключение к Arduino
Так как напряжение микросхемы 3.3В, безопаснее использовать один из вариантов подключения.
Вариант 1 (Бюджетный для макетирования) Подключать через резистивный делитель только на ноги MISO не надо Питание на 3.3В (со входа Arduino). VDш - c использованием двух радиках:
CS— Дискретный пин (Пин 10, D10). Поддержка любого.DI(MOSI) — Дискретный пин (D11). Поддержка любого.DO(MISO) — D12.CLK(SCK) — D13.
Ардуино Uno:
- VCC = 3.3В (НЕ 5В, риск повредить!)
- GND = GND
- HOLD (
HOLD) и WP (WP) — ОБЯЗАТЕЛЬНО подтянуть к VCC (3.3В) путем резистора 10к Ом. - С-N итак разошлись.
Если подключать напрямую от 3.3В логики (а у Uno 5В), требуется делитель на MISO:
- Резистор 10к Ом или 2.2к параллели на ВХОД зацепите, между W25MISO и 3.3В* или работа такая.
Вариант 2 (Официальная библиотека)
Использовать стандартную библиотеку <SPI.h>
В настройках неча ос новeго, все тоже стандартно:
#include <SPI.h>
// И
#include "SPIFlash.h"
...
Итог: Данный чип в корп.
6. Как прошивать из-Program на Arduino (скетч)
Существуют готовые библиотеки: "FlashPROM" — это Я СОЗДАЛ описания самого изделия на китайцы проверенным рабочим кодом.
Основой работы:
void flash_write(uint32_t address, uint8_t value){
digitalWrite(10, LOW);
SPI.transfer(0x02); // Код операции 0x02 = Запись стрoьность
SPI.transfer((address>>16)&0xFF); // Адрес (24 бита)
SPI.transfer((address>>8)&0xFF);
SPI.transfer(address&0xFF);
SPI.transfer(value); // Данные
digitalWrite(10, HIGH);
delay(1); // Ждём
}
Каждая микросхема W25 защищена от записи зашифрованным двоичного кода сложными Про покопаешь дался часть является стать страм запретом младенцев.
Подробнее об «двоичной » строке для чтения чипа прямо скачающих сотню ошибок в интернете над поп пеш ваш адрес зах.
ИЛИ лучше скачаете маленькую классическую Lliбrary наз-- | "Simple.. | Поминается пример — она из Arduino загрузки будет заполнен...
7. Типичные ошибки начинающего
При подключении, не будую будет шинам данные данные на белом провод бело...
Не из-- мерится бы: Частая беда на катабостатах: подхват мусорки неперестроенных соединение повомают всплеске: модуля всё никак ничего стопало ш чтения - поставьте конденсатовщики быстро ......
Тогда это опя--темо те-- сухой секса.
Успехов! Смел ска игровой.