Каталог статей

Главная » Статьи » Мои статьи

AT45DB081B - 8-мегабитная микросхема памяти DataFlash с питанием от 2.5 или 2.7 В

Описание

AT45DB081B - это питаемая от 2.5 или 2.7 В флэш-память с последовательным интерфейсом, идеально подходящая для широкого разнообразия приложений хранения оцифрованных голоса, изображений, программного кода и данных. Её 8 650 752 битов памяти организованы в виде 4096 страниц по 264 байта каждая. В дополнение к основной памяти AT45DB081B также имеет два буфера данных SRAM (СОЗУ) по 264 байта каждый. Буферы позволяют принимать данные, в то время как страница в основной памяти перезаписывается, что подобно записи непрерывного потока данных.

Эмуляция EEPROM (возможность изменения бита или байта) легко обрабатывается самодостаточной трёхшаговой операцией Чтения-Модификации-Записи. В отличие от обычной флэш-памяти, доступ к которой осуществляется случайным образом с помощью многочисленных адресных линий и параллельного интерфейса, DataFlash использует последовательный интерфейс SPI для последовательного доступа к данным. DataFlash поддерживает режимы SPI 0 и 3. Простой последовательный интерфейс облегчает размещение аппаратных средств на печатной плате, увеличивает надёжность системы, минимизирует помехи переключения и уменьшает размер корпуса и количество активных выводов. Устройство оптимизировано для использования во многих коммерческих и промышленных приложениях, в которых существенны высокая плотность монтажа, небольшое число выводов, низкое напряжение и низкое энергопотребление. Устройство работает на тактовых частотах до 20 МГц при типичном потреблении тока при активном чтении 4 мА.

Для упрощения внутрисхемной перезаписи, AT45DB081B не требуется высоких входных напряжений для записи. Устройство работает от одного источника питания с напряжением 2.5 - 3.6 В или 2.7 - 3.6 В и для операций записи, и для операций чтения. AT45DB081В включается с помощью вывода выбора микросхемы (), а доступ к ней осуществляется через трёхпроводной интерфейс, состоящий из линий последовательного входа (Serial Input - SI), последовательного выхода (Serial Output - SO) и последовательной синхронизации (Serial Clock - SCK).

Все циклы записи самотактирующиеся, и перед записью не требуется отдельный цикл стирания.

Кода устройство отправляется из Atmel, самая старшая страница массива памяти может быть не стёртой. Другими словами, содержимое последней страницы может быть не заполнено FFh.

Расположение выводов

НазваниеНазначение
Выбор микросхемы
SCKПоследовательная синхронизация
SIПоследовательный вход
SOПоследовательный выход
Вывод аппаратной защиты от записи
Сброс микросхемы
Готов/Занят


   


Блок-схема

Массив памяти

Чтобы обеспечить наилучшую гибкость, массив памяти AT45DB081В делится на три уровня детализации, состоящие из секторов, блоков и страниц. "Схема организации памяти" показывает схему организации каждого уровня и детализирует количество страниц на сектор и блок. Все операции записи в DataFlash выполняются постранично, однако дополнительная операция стирания может выполняться на блочном или на постраничном уровне.

Схема организации памяти

Работа устройства

Работа устройства управляется командами, поступающими от главного процессора. Список команд и их соответствующие коды операций приведены в Таблицах 1 - 4. Правильная команда начинается по заднему фронту сигнала , за которым следует соответствующий 8-битный код операции и адресная ячейка требуемого буфера или основной памяти. Пока на выводе низкий уровень, переключение вывода SCK управляет загрузкой кода операции и адресной ячейки нужного буфера или основной памяти через вывод SI (последовательный вход). Все команды, адреса и данные передаются, начиная со старшего бита.

В данном техническом описании адресация буфера приводится с использованием терминологии BFA8 - BFA0 для обозначения, что требуется девять адресных битов для указания адреса байта внутри буфера. Адресация основной памяти приводится с использованием терминологии PA11 - РА0 и BA8 - BA0, где PA11 - РА0 обозначает 12 адресных битов, требующихся для указания адреса страницы, а BA8 - BA0 обозначает девять адресных битов, требующихся для указания адреса байта внутри страницы.

Команды чтения

Задав соответствующий код операции, можно считать данные из основной памяти или из одного из двух буферов данных. DataFlash поддерживает две категории режимов чтения по отношению к сигналу SCK. Различия между режимами заключаются в отношении к неактивному состоянию сигнала SCK , а также в том, по какому тактовому циклу начинают выдаваться данные. Две категории, состоящие в целом из четырёх режимов, определяются как низкий уровень полярности неактивного состояния тактового импульса (Inactive Clock Polarity Low) или высокий уровень полярности неактивного состояния тактового импульса (Inactive Clock Polarity High) и режим SPI 0 или режим SPI 3. Отдельный код операции (полный список команд чтения см. в Таблице 1) используется для выбора категории, которая будет использована для чтения. Для более подробной информация о последовательностях тактовых циклов для каждого режима см. временные диаграммы в разделе "Детальная побитовая синхронизация чтения" в этом техническом описании.

Непрерывное чтение массива (68h или E8h)

(Continuous Array Read)

Задав начальный стартовый адрес массива основной памяти, можно использовать команду непрерывного чтения массива, чтобы последовательно считать непрерывный поток данных из устройства, просто подавая тактовый сигнал; никакой дополнительной адресной информации или управляющих сигналов не требуется. DataFlash имеет внутренний счётчик адреса, который будет автоматически инкрементироваться в каждом тактовом цикле, позволяя использовать одну непрерывную операцию чтения без необходимости передачи дополнительных адресных последовательностей. Чтобы выполнить непрерывное чтение, необходимо передать в устройство код операции 68h или E8h, сопровождаемый 24 адресными битами и 32 незначащими битами. Первые три бита 24-битной адресной последовательности зарезервированы для совместимости снизу вверх и сверху вниз с устройствами с большей или меньшей плотностью (см. примечания под схемой "Командная последовательность для операций чтения/записи"). Следующие 12 адресных битов (PA11 - РА0) определяют, которую страницу массива основной памяти нужно прочитать, а последние девять битов (BA8 - BA0) 24-битной адресной последовательности задают стартовый адрес байта внутри страницы. 32 незначащих бита, следующие за 24 адресными битами, необходимы для инициирования операции чтения. Следующие за 32 незначащими битами дополнительные тактовые импульсы на выводе SCK повлекут выдачу последовательных данных на вывод SO (последовательный выход).

В течение загрузки кода операции, адресных битов и незначащих битов, а также чтения данных, на выводе должен сохраняться низкий уровень. Если во время непрерывного чтения массива достигается конец страницы основной памяти, устройство продолжит чтение с начала следующей страницы без возникновения задержек при пересечении границы страницы (переход с конца одной страницы на начало следующей). Когда считан последний бит массива основной памяти, устройство продолжит чтение с начала первой страницы памяти. Как и в случае пересечения границ страницы, при переходе с конца массива памяти на его начало задержек не возникает.

Переход с низкого уровня на высокий на выводе прервёт операцию чтения и переведёт вывод SO в высокоимпедансное состояние. Максимальная частота SCK, допустимая для непрерывного чтения массива, определяется характеристикой . Непрерывное чтение массива не затрагивает буферы данных, оставляя их содержимое без изменений.

Чтение страницы основной памяти (52h или D2h)

(Main Memory Page Read)

Чтение страницы основной памяти позволяет пользователю считывать данные напрямую из одной из 4096 страниц основной памяти в обход обоих буферов данных, оставляя их содержимое без изменений. Чтобы начать чтение страницы, нужно передать в устройство код операции 52h или D2h, сопровождаемый 24 адресными битами и 32 незначащими битами. Первые три бита 24-битной адресной последовательности являются зарезервированными, следующие 12 адресных битов (PA11 - РА0) задают адрес страницы, а следующие за ними девять адресных битов (BA8 - BA0) задают начальный адрес байта внутри страницы. Следующие за 24-битной адресной последовательностью 32 незначащих бита передаются для инициации операции чтения. Следующие за 32 незначащими битами дополнительные тактовые импульсы на SCK повлекут выдачу последовательных данных на вывод SO. В течение загрузки кода операции, адресных битов и незначащих битов, а также чтения данных, на выводе должен сохраняться низкий уровень. Если во время чтения страницы основной памяти достигается конец страницы, устройство продолжит чтение с начала этой же страницы. Переход с низкого уровня на высокий на выводе прервёт операцию чтения и переведёт вывод SO в высокоимпедансное состояние.

Чтение буфера (54h или D4h, 56h или D6h)

(Buffer Read)

Данные можно считать из одного из двух буферов, используя разные коды операций для указания, из которого буфера будет выполняться чтение. Код операции 54h или D4h используется для чтения данных из буфера 1, а код операции 56h или D6h - для чтения из буфера 2. Чтобы выполнить чтение буфера, нужно передать в устройство 8 битов кода операции, за которыми следуют 15 незначащих битов, девять адресных битов и восемь незначащих битов. Поскольку размер буфера составляет 264 байта, то для указания адреса первого байта считываемых из буфера данных требуются девять адресных битов (BFA8 - BFA0). В течение загрузки кода операции, адресных битов и незначащих битов, а также чтения данных, на выводе должен сохраняться низкий уровень. Когда достигается конец буфера, устройство продолжает чтение с начала буфера. Переход с низкого уровня на высокий на выводе прервёт операцию чтения и переведёт вывод SO в высокоимпедансное состояние.

Чтение регистра состояния (57h или D7h)

(Status Register Read)

Регистр состояния можно использовать для определения состояния устройства "Готов/Занят" (Ready/Busy), результата операции сравнения страницы основной памяти с буфером или плотности устройства. Чтобы считать регистр состояния, нужно загрузить в устройство код операции 57h или D7h. После того как код операции загружен, восемь битов регистра состояния, начиная со старшего бита (бит 7) будут выданы на вывод SO со следующими восемью тактовыми циклами. Шесть старших битов регистра состояния будут содержать информацию об устройстве, в то время как оставшиеся два младших бита зарезервированы для будущего использования и будут иметь неопределённые значения. После выдачи бита 0 регистра состояния, последовательность будет повторяться, снова начинаясь с бита 7, до тех пор, пока на выводе сохраняется низкий уровень, а на SCK подаются синхроимпульсы. Данные в регистре состояния постоянно обновляются, так что каждая повторенная последовательность будет выдавать новые данные.

Формат регистра состояния
Бит 7Бит 6Бит 5Бит 4Бит 3Бит 2Бит 1Бит 0
COMP1001XX

Состояние "Готов/Занят" индицируется битом 7 регистра состояния. Если бит 7 равен "1", значит, устройство не занято и готово принять следующую команду. Если бит 7 равен "0", значит, устройство находится в занятом состоянии. Пользователь может непрерывно опрашивать бит 7 регистра состояния, остановив сигнал SCK на низком уровне сразу после выдачи бита 7. Состояние бита 7 будет продолжать выдаваться на вывод SO, и как только устройство освободится, состояние SO поменяется с 0 на 1. Восемь операций могут заставить устройство пребывать в занятом состоянии: передача страницы основной памяти в буфер, сравнение страницы основной памяти с буфером, запись буфера в страницу основной памяти со встроенным стиранием, запись буфера в страницу основной памяти без встроенного стирания, стирание страницы, стирание блока, запись страницы основной памяти и автоматическая перезапись страницы.

Результат новой операции сравнения страницы основной памяти с буфером индицируется с помощью бита 6 регистра состояния. Если бит 6 равен "0", значит, данные страницы основной памяти совпадают с данными в буфере. Если бит 6 равен "1", значит, хотя бы один бит данных страницы основной памяти отличается от данных в буфере.

Плотность устройства указывается битами 5, 4, 3 и 2 регистра состояния. Для AT45DB081B эти четыре бита имеют значения 1, 0, 0 и 1 соответственно. Десятичное значение этих четырёх двоичных битов не равняется плотности устройства; они представляют собой логический код, относящийся к отличающимся плотностям устройств Serial DataFlash, позволяя в целом 16 различных конфигураций плотности.

Команды записи и стирания

Запись буфера (84h, 87h)

(Buffer Write)

Данные могут быть переданы с вывода SI в буфер 1 или буфер 2. Чтобы загрузить данные в любой буфер, необходимо передать 8-битный код операции, 84h для буфера 1 или 87h для буфера 2, сопровождаемый 15 незначащими битами и девятью адресными битами (BFA8 - BFA0). Девять адресных битов задают первый записываемый байт в буфере. Данные поступают следом за адресными битами. Если достигается конец буфера данных, устройство переходит на начало буфера. Данные продолжаю загружаться в буфер пока на выводе не будет обнаружен переход с низкого уровня на высокий.

Запись буфера в страницу основной памяти со встроенным стиранием (83h, 86h)

(Buffer to Main Memory Page Program with Built-in Erase)

Данные, записанные в буфер 1 или буфер 2, можно записать в основную память. Чтобы начать операцию, необходимо передать 8-битный код операции, 83h для буфера 1 или 86h для буфера 2, за которым следуют три зарезервированных бита, 12 адресных битов (PA11 - РА0), которые задают записываемую страницу в основной памяти, и девять дополнительных незначащих битов. Когда на выводе произойдёт переход с низкого уровня на высокий, микросхема сначала полностью сотрёт указанную страницу основной памяти, а затем запишет в неё данные, хранящиеся в буфере. И стирание, и запись страницы внутренне самотактиуются и должны происходить не дольше максимального времени . В течение этого времени регистр состояния будет показывать, что микросхема занята.

Запись буфера в страницу основной памяти без встроенного стирания (88h, 89h)

(Buffer to Main Memory Page Program without Built-in Erase)

В ранее стёртую страницу внутри основной памяти можно записать содержимое буфера 1 или буфера 2. Чтобы начать операцию, необходимо передать 8-битный код операции, 88h для буфера 1 или 89h для буфера 2, за которым следуют три зарезервированных бита, 12 адресных битов (PA11 - РА0), которые задают записываемую страницу в основной памяти, и девять дополнительных незначащих битов. Когда на выводе произойдёт переход с низкого уровня на высокий, микросхема запишет данные, хранящиеся в буфере, в указанную страницу. Необходимо, чтобы записываемая страница была предварительно стёрта. Запись страницы внутренне самотактируется и должна выполняться не дольше максимального времени . В течение этого времени регистр состояния будет показывать, что микросхема занята.

Последовательные операции записи страницы без предварительного стирания не рекомендуются. Другими словами, не рекомендуется изменение байтов внутри страницы с "1" на "0" во время многократных операций записи без стирания этой страницы.

Стирание страницы (81h)

(Page Erase)

Дополнительную команду стирания страницы можно использовать для отдельного стирания любой страницы в массиве основной памяти, позволяя последующее использование команды записи буфера в страницу основной памяти без встроенного стирания. Чтобы выполнить стирание страницы, в устройство необходимо загрузить код операции 81h, за которым следуют три зарезервированных бита, 12 адресных битов (PA11 - РА0) и девять незначащих битов. 12 адресных битов используются для задания стираемой страницы массива памяти. Когда на выводе произойдёт переход с низкого уровня на высокий, микросхема полностью сотрёт выбранную страницу. Операция стирания внутренне самотактируется и должна занимать не более максимума времени . В течение этого времени регистр состояния будет показывать, что микросхема занята.

Стирание блока (50h)

(Block Erase)

За один раз можно стереть блок из восьми страниц, позволяя использовать команду записи буфера в страницу основной памяти без встроенного стирания, чтобы уменьшить время записи при записи в устройство больших объёмов данных. Чтобы выполнить стирание блока, в устройство нужно передать код операции 50h, за которым следуют три зарезервированных бита, девять адресных битов (PA11 - РА3) и 12 незначащих битов. Девять адресных битов используются для задания стираемого блока из восьми страниц. Когда на выводе произойдёт переход с низкого уровня на высокий, микросхема полностью сотрёт выбранный блок из восьми страниц. Операция стирания внутренне самотактируется и должна происходить не дольше максимального времени . В течение этого времени регистр состояния будет показывать, что микросхема занята.

Адресация стирания блоков
PA11РА10PA9PA8PA7PA6PA5PA4РА3PA2PA1РА0Блок
000000000XXX0
000000001XXX1
000000010XXX2
000000011XXX3
·············
·············
·············
111111100XXX508
111111101XXX509
111111110XXX510
111111111XXX511

Запись страницы основной памяти через буфер (82h, 85h)

(Main Memory Page Program Through Buffer)

Эта операция является комбинацией операций записи буфера и записи буфера в страницу основной памяти со встроенным стиранием. Сначала данные с вывода SI передаются в буфер 1 или буфер 2, а затем записываются в указанную страницу в основной памяти. Чтобы инициировать операцию, нужно передать 8-битный код операции, 82h для буфера 1 или 85h для буфера 2, за которым следуют три зарезервированных бита и 21 адресный бит. 12 старших адресных битов (PA11 - РА0) задают страницу в основной памяти, в которую будут записываться данные, а следующие девять адресных битов (BFA8 - BFA0) выбирают первый записываемый байт в буфере. После того, как все адресные биты получены, микросхема примет данные с вывода SI и сохранит в указанный буфер данных. Если достигается конец буфера, устройство переходит на начало буфера. Когда на выводе произойдёт переход с низкого уровня на высокий, микросхема сначала полностью сотрёт выбранную страницу основной памяти, а затем запишет в неё данные, хранящиеся в буфере. И стирание, и запись страницы внутренне самотактируются в должны происходить не дольше максимального времени . В течение этого времени регистр состояния будет показывать, что микросхема занята.

Дополнительные команды

Передача страницы основной памяти в буфер (53h, 55h)

(Main Memory Page То Buffer Transfer)

Можно передать страницу данных из основной памяти в буфер 1 или буфер 2. Чтобы начать операцию, нужно передать 8-битный код операции, 53h для буфера 1 или 55h для буфера 2, за которым следуют три зарезервированных бита, 12 адресных битов (PA11 - PA0), которые задают передаваемую страницу в основной памяти, и девять незначащих битов. На выводе должен сохраняться низкий уровень во время переключения вывода SCK для загрузки кода операции, адресных битов и незначащих битов с вывода SI. Передача страницы данных из основной памяти в буфер начнется, как только вывод перейдёт с низкого уровня на высокий. Во время передачи страницы данных ( ), можно считывать регистр состояния, чтобы определить, завершилась передача или нет.

Сравнение страницы основной памяти с буфером (60h, 61h)

(Main Memory Page To Buffer Compare)

Страницу данных в основной памяти можно сравнить с данными в буфере 1 или буфере 2. Чтобы инициировать эту операцию, нужно передать 8-битный код операции, 60h для буфера 1 или 61h для буфера 2, сопровождаемый 24 адресными битами, состоящими из трёх зарезервированных битов, 12 адресных битов (PA11 - PA0), задающих страницу основной памяти, которая будет сравниваться с буфером, и девяти незначащих битов. На выводе должен сохраняться низкий уровень во время переключения вывода SCK для загрузки кода операции, адресных битов и незначащих битов с вывода SI. По переходу с низкого уровня на высокий на выводе , 264 байта в выбранной странице основной памяти будут сравнены с 264 байтами в буфере 1 или буфере 2. В течение этого времени ( ) регистр состояния будет показывать, что микросхема занята. По завершении операции в бит 6 регистра состояния будет загружен результат сравнения.

Автоматическая перезапись страницы (58h, 59h)

(Auto Page Rewrite)

Этот режим нужен, только если множество байтов внутри страницы или множество страниц данных изменяются случайным способом. Этот режим представляет собой комбинацию двух операций: передача страницы основной памяти в буфер и запись буфера в страницу основной памяти со встроенным стиранием. Страница данных сначала передаётся из основной памяти в буфер 1 или буфер 2, а затем те же самые данные (из буфера 1 или буфера 2) записываются обратно в эту же (исходную) страницу. Чтобы начать операцию перезаписи, нужно передать 8-битный код операции, 58h для буфера 1 или 59h для буфера 2, в сопровождении трёх зарезервированных битов, 12 адресных битов (PA11 - PA0), которые задают перезаписываемую страницу основной памяти, и девяти дополнительных незначащих битов. Когда на выводе произойдёт переход с низкого уровня на высокий, микросхема сначала передаст данные из страницы основной памяти в буфер, а затем запишет данные из буфера обратно в ту же самую страницу. Операция внутренне самотактируется и должна происходит не дольше максимума времени . В течение этого времени регистр состояния будет показывать, что микросхема занята.

Если сектор записывается или перезаписывается последовательно постранично, тогда рекомендуется алгоритм записи, показанный на Рис. 1. В ином случае, если множество байтов в странице или несколько страниц в секторе записываются случайным образом, рекомендуется алгоритм записи, показанный на Рис. 2. Каждая страница внутри сектора должна обновляться/перезаписываться по крайней мере 1 раз за каждые 10 000 накопленных операций стирания/программирования страниц в секторе.

Итоги по режиму работы

Описанные режимы можно разделить на две группы - режимы, которые используют массив флэш-памяти (Группа А), и режимы, которые не используют массив флэш-памяти (Группа Б).

Группа А включает следующие режимы:

1) Чтение страницы основной памяти
2) Передача страницы основной памяти в буфер 1 (или 2)
3) Сравнение страницы основной памяти с буфером 1 (или 2)
4) Запись буфера 1 (или 2) в страницу основной памяти со встроенным стиранием
5) Запись буфера 1 (или 2) в страницу основной памяти без встроенного стирания
6) Стирание страницы
7) Стирание блока
8) Запись страницы основной памяти через буфер
9) Автоматическая перезапись страницы

Группа Б включает следующие режимы:

1) Чтение буфера 1 (или 2)
2) Запись буфера 1 (или 2)
3) Чтение регистра состояния

Если режим из группы А выполняется (не завершён полностью), то другой режимы из группы А запустить нельзя. Однако в течение времени, когда выполняется режим из группы А, можно запускать режимы из группы Б. Это даёт последовательной DataFlash возможность обеспечить фактически непрерывный поток данных. Пока данные записываются в основную память из буфера 1, можно загрузить данные в буфер 2 (или наоборот). См. более подробную информацию в примере применения AN-4 - "Using Atmel's Serial DataFlash" ("Использование последовательной DataFlash от Atmel").

Описание выводов

Последовательный вход

(Serial Input - SI)

Вывод SI - это исключительно входной вывод, используется для перемещения данных в устройство. Вывод SI используется для всех входящих данных, включая коды операций и адресные последовательности.

Последовательный выход

(Serial Output - SO)

Вывод SO является только выходным и используется для перемещения данных из устройства.

Последовательная синхронизация

(Serial Clock - SCK)

Вывод SCK является только входным и используется для управления потоком данных в устройство и из него. Данные всегда передаются в устройство по переднему фронту SCK и выдаются из устройства по заднему фронту SCK.

Выбор микросхемы

(Chip Select - )

DataFlash выбрана, когда на выводе низкий уровень. Когда устройство не выбрано, данные не будут приниматься по выводу SI, а вывод SO будет оставаться в высокоимпедансном состоянии. Переход с высокого уровня на низкий на выводе необходим, чтобы начать работу, а переход с низкого на высокий на выводе требуется, чтобы закончить работу.

Защита от записи

(Write Protect - )

Если на выводе сохраняется низкий уровень, первые 256 страниц основной памяти перезаписать нельзя. Единственный способ перезаписать первые 256 страниц - сначала подать на вывод защиты от записи высокий уровень, а затем использовать команды записи, приведённые выше. Если этот вывод и свойство не используются, рекомендуется внешне притянуть вывод к высокому уровню.

Сброс

(Reset - )

Низкий уровень на выводе сброса () прервёт выполняемую операцию и сбросит внутренний конечный автомат в состояние простоя. Устройство будет оставаться в состоянии сброса столько же, сколько на выводе присутствует низкий уровень. Нормальная работа сможет возобновиться, как только на вывод будет возвращён высокий уровень.

Устройство имеет внутреннюю схему сброса по включению питания, поэтому не имеется никаких ограничений на вывод во время последовательностей включения питания. Если этот вывод и свойство не используются, рекомендуется вывод внешне притянуть к высокому уровню.

Готов/Занят

(Ready/Busy - )

Этот выходной вывод с открытым стоком будет устанавливаться в низкий уровень, когда устройство занято выполнением внутренне самотактируемой операции. Этот вывод, обычно находящийся в состоянии высокого уровня (через внешний подтягивающий резистор номиналом 1 КОм), будет притягиваться к низкому уровню во время операций записи, сравнения и передачи станицы в буфер.

Состояние занятости указывает, что массив флэш-памяти и один из буферов недоступны, но, тем не менее, можно выполнять операции чтения и записи над другим буфером.

Состояние по включению питания и при сбросе

Когда питание впервые подаётся на устройство или когда оно возвращается из состояния сброса, устройство по умолчанию устанавливается в режим SPI 3. Кроме того, вывод SO будет в высокоимпедансном состоянии, и потребуется переход с высокого уровня на низкий на выводе , чтобы запустить допустимую команду. Режим SPI будет автоматически выбираться по каждому заднему фронту сигнала выборкой неактивного состояния синхроимпульса. После того как питание подано, и на VСС достигнуто минимальное указанное в техническом описании значение, система должна подождать 20 мс, перед тем как начнётся рабочий режим.

Таблицы команд

Таблица 1. Команды чтения

КомандаРежим SCKКод операции
Непрерывное чтение массиваВысокий или низкий уровень полярности неактивного состояния синхроимпульса68h
Режим SPI 0 или 3E8h
Чтение страницы основной памятиВысокий или низкий уровень полярности неактивного состояния синхроимпульса52h
Режим SPI 0 или 3D2h
Чтение буфера 1Высокий или низкий уровень полярности неактивного состояния синхроимпульса54h
Режим SPI 0 или 3D4h
Чтение буфера 2Высокий или низкий уровень полярности неактивного состояния синхроимпульса56h
Режим SPI 0 или 3D6h
Чтение регистра состоянияВысокий или низкий уровень полярности неактивного состояния синхроимпульса57h
Режим SPI 0 или 3D7h

Таблица 2. Команды записи и стирания

КомандаРежим SCKКод операции
Запись буфера 1Любой84h
Запись буфера 2Любой87h
Запись буфера 1 в страницу основной памяти со встроенным стираниемЛюбой83h
Запись буфера 2 в страницу основной памяти со встроенным стираниемЛюбой86h
Запись буфера 1 в страницу основной памяти без встроенного стиранияЛюбой88h
Запись буфера 2 в страницу основной памяти без встроенного стиранияЛюбой89h
Стирание страницыЛюбой81h
Стирание блокаЛюбой50h
Запись страницы основной памяти через буфер 1Любой82h
Запись страницы основной памяти через буфер 2Любой85h

Таблица 3. Дополнительные команды

КомандаРежим SCKКод операции
Передача страницы основной памяти в буфер 1Любой53h
Передача страницы основной памяти в буфер 2Любой55h
Сравнение страницы основной памяти с буфером 1Любой60h
Сравнение страницы основной памяти с буфером 2Любой61h
Автоматическая перезапись страницы через буфер 1Любой58h
Автоматическая перезапись страницы через буфер 2Любой59h

Примечание: в Таблицах 2 и 3 обозначение режима SCK "Любой" означает любой из четырёх режимов работы (низкий уровень полярности неактивного состояния синхроимпульса, высокий уровень полярности неактивного состояния синхроимпульса, режим SPI 0 или режим SPI 3).

Таблица 4. Побитовая детализация адресной последовательности

Примечание:
r = зарезервированный бит
P = бит адреса страницы
B = бит адреса байта страницы/буфера
x = незначащий бит

Абсолютные максимальные значения*

Рабочая температураот -55 °C до +125 °C
Температура храненияот -65 °C до +150 °C
Все входные напряжения (включая неиспользуемые выводы) по отношению к общему минусуот -0.6 В до +6.25 В
Все выходные напряжения по отношению к общему минусуот -0.6 В до VСС + 0.6 В

*Примечание: нагрузки, превышающие указанные в "Абсолютных максимальных значениях" могут привести к неустранимому повреждению устройства. Это исключительно стрессовые значения, и функциональная работа устройства в этих или любых других условиях, за пределами указанных в рабочих разделах этой спецификации, не подразумевается. Эксплуатация устройства в условиях абсолютных максимальных значений в течение длительного периода может повлиять на надёжность устройства.

Статический и динамический рабочий диапазон

 AT45DB081В
(Версия с питанием от 2.5 В)
AT45DB081В
Рабочая температура (корпус) Коммерческий от 0 °C до 70 °Cот 0 °C до 70 °C
Промышленный -от -40 °C до 85 °C
Питающее напряжение VСС (1) от 2.5 В до 3.6 Вот 2.7 В до 3.6 В

Примечание:
1. После того как подано питание, и VСС достигло минимального указанного в техническом описании значения, система должна подождать 20 мс перед тем как запустится рабочий режим.

Статические характеристики

Примечание:
1. ICC1 во время чтения буфера имеет максимальное значение 20 мА.

Динамические характеристики

Входные тестовые временные диаграммы и уровни измерений



Выходная тестовая нагрузка



Динамические временные диаграммы

Ниже показаны две различные временные диаграммы. Временная диаграмма 1 показывает сигнал SCK, установленный в низкий уровень, когда на происходит переход с высокого уровня на низкий, а временная диаграмма 2 показывает сигнал SCK, установленный в высокий уровень, когда на происходит переход с высокого уровня на низкий. Обе временные диаграммы показывают действительные временные диаграммы. Времена установки и удержания для сигнала SI указаны по отношению к переходу с низкого уровня на высокий сигнала SCK.

Временная диаграмма 1 показывает синхронизацию, также совместимую с режимом SPI 0, а временная диаграмма 2 показывает синхронизацию, также совместимую и с режимом SPI 3.

Временная диаграмма 1. Низкий уровень полярности неактивного состояния синхроимпульса и режим SPI 3.


Временная диаграмма 2. Высокий уровень полярности неактивного состояния синхроимпульса и режим SPI 3.


Синхронизация сброса (показан низкий уровень полярности неактивного состояния синхроимпульса)

Замечание: Сигнал должен быть в состоянии высокого уровня, прежде чем сбрасывать сигнал .

Командная последовательность для операций чтения/записи (кроме операции чтения регистра состояния)

Примечания:
1) биты, обозначенные как "r", зарезервированы для больших плотностей.
2) рекомендуется в качестве "r" использовать логический "0" для плотностей 8М и меньше.
3) для плотностей, больших 8 мегабит, биты "r" становятся старшими битами адреса страницы для соответствующей плотности.

Операции записи

Следующая блок-схема и временные диаграммы показывают различные доступные последовательности записи.

Запись страницы основной памяти через буфер:

Запись буфера:

Запись буфера в страницу основной памяти (данные из буфера записываются в страницу флэш-памяти):


Каждый переход представляет 8 битов и 8 тактовых циклов n = первый читаемый байт
n+1 = второй читаемый байт

Операции чтения

Следующая блок-схема и временные диаграммы показывают различные доступные последовательности чтения.

Чтение страницы основной памяти:

Передача страницы основной памяти в буфер (данные из страницы флэш-памяти считываются в буфер):

Чтение буфера:


Каждый переход представляет 8 битов и 8 тактовых циклов n = первый читаемый байт
n+1 = второй читаемый байт

Детальная побитовая синхронизация чтения

Детальная побитовая синхронизация чтения - низкий уровень полярности неактивного состояния синхроимпульса

Последовательное чтение массива (код операции: 68h):

Чтение страницы основной памяти (код операции: 52h):

Чтение буфера (код операции: 54h или 56h):

Чтение регистра состояния (код операции: 57h):

Детальная побитовая синхронизация чтения - высокий уровень полярности неактивного состояния синхроимпульса

Последовательное чтение массива (код операции: 68h):

Чтение страницы основной памяти (код операции: 52h):

Чтение буфера (код операции: 54h или 56h):

Чтение регистра состояния (код операции: 57h):

Детальная побитовая синхронизация чтения - режим SPI 0

Последовательное чтение массива (код операции: E8h):

Чтение страницы основной памяти (код операции: D2h):

Чтение буфера (код операции: D4h или D6h):

Чтение регистра состояния (код операции: D7h):

Детальная побитовая синхронизация чтения - режим SPI 3

Последовательное чтение массива (код операции: E8h):

Чтение страницы основной памяти (код операции: D2h):

Чтение буфера (код операции: D4h или D6h):

Чтение регистра состояния (код операции: D7h):

Блок-схемы

Рис. 1. Алгоритм для последовательной записи или перезаписи всего массива

Замечания:

1) Этот тип алгоритма используется для приложений, в которых весь массив записывается последовательно, то есть массив заполняется страница за страницей.

2) Страницу можно записать, используя либо операцию записи страницы основной памяти, либо операцию записи буфера, за которой следует операция записи буфера в страницу основной памяти.

3) Алгоритм, приведённый выше, показывает запись одной страницы. Алгоритм нужно повторить последовательно для каждой страницы внутри всего массива.

Рис. 2 Алгоритм изменения данных случайным образом

Замечания:

1) Чтобы сохранить целостность данных, каждую страницу сектора DataFlash нужно обновлять/перезаписывать по крайней мере один раз за каждые 10 000 накопленных операция стирания/записи страницы.

2) Необходимо поддерживать указатель адреса страницы, чтобы указывать, какая страница должна быть перезаписана. Команда автоматической перезаписи страницы должна использовать адрес, заданный указателем адреса страницы.

3) Для перезаписи частей флэш-памяти можно использовать другие алгоритмы. Приложения с низким потреблением могут выбрать ожидание, пока накопятся 10 000 операций стирания/записи, перед перезаписью всех страниц сектора. См. более подробную информацию в примере применения AN-4 ("Использование DataFlash с последовательным интерфейсом от Atmel").

Адресация секторов

PA11PA10PA9PA8PA7PA6PA5PA4PA3PA2 - PA0Сектор
000000000X0
0000XXXXXX1
0001XXXXXX2
001XXXXXXX3
010XXXXXXX4
011XXXXXXX5
100XXXXXXX6
101XXXXXXX7
110XXXXXXX8
111XXXXXXX9



© PIClist-RUS (piclist.ru), 2007 г.

Категория: Мои статьи | Добавил: MAS (25.11.2012)
Просмотров: 611 | Рейтинг: 0.0/0
Всего комментариев: 0
Добавлять комментарии могут только зарегистрированные пользователи.
[ Регистрация | Вход ]
Категории раздела
Мои статьи [51]
Справочные данные [165]
Справочные данные
Наш опрос
Оцените мой сайт
Всего ответов: 30
Статистика

Онлайн всего: 1
Гостей: 1
Пользователей: 0
Форма входа
Баннер
$$
Друзья сайта
  • Спортсменам
  • Огородникам СЮД(А
  • Строим вместе
  • Мир развлечений
  • Кто хочет похудеть
  • Здоровье у нас одно
  • Юмор
  • Кулинарные рецепты
  • Картинки_Заставки_Демотивоторы
  • Семья
  • Кто на мальчишник
  • Металлообработка
  • Кто на девишник
  • Блоки питания
  • Смерть соседям
  • Радиомедведь
  • Кибермедведь
  • Радиосайт
  • Деревообработка
  • Поиск