После появления информации в [1] уже через неделю12.06.2007 в [2] среди технологических новинок можно было найти микросхему AT24C1024B Serial EEPROM памяти 1 Мбит производства корпорации Atmel. Следовательно [2] можно с успехом использовать для поиска новых продуктов. Используя этот же источник, удалось также найти еще одного производителя аналогичного продукта - микросхему М24М01 STMicroelectronics (информация датирована 01.05.07). На сайтах указанных производителей пока нет полных технических описаний указанных микросхем, хотя сами микросхемы уже доступны.
Сразу появилось желание проверить достижения в этом направлении одного из флагманов в производстве электронных компонентов - Microchip Technology Inc. [3]. Оказалось, что здесь представлены три микросхемы 24AA1025, 24LC1025 и 24FC1025 (цена 2,96-2,99 дол.), а также доступно их полное техническое описание [4]. Эти микросхемы могут применяться в широком потребительском спектре - автомобильном, телекоммуникационном, медицинском, промышленном, в цифровых камерах и игровых картах. Они значительно расширяют возможности для хранения данных. Могут служить для загрузки персональных данных при конфигурации различных устройств, так как. обладают возможностью страничного чтения. Микросхемы имеют способность произвольного и последовательного чтения. Чтение может быть последовательным в пределах границ адресов от 0000h до FFFFh и от 10000h до 1FFFFh. Функциональная строка адреса допускает вплоть до четырех устройств на той же шине данных. Эти устройства доступны в стандартном 8-выводном PDIP-корпусе и SOIJ. Обозначения выводов показаны на рис. 1. Функциональное назначение выводов приведено в табл. 1. 24XX1025 поддерживает 2-направленную 2-проводную шину и протокол передачи данных I2C. Максимальное потребление в режиме записи составляет 5 мА.
Рис. 1 Табл. 1
Уровни на выводах A0, A1 используются для выбора микросхем (до 4-х). Уровни сравниваются с соответствующими битами в подчиненном адресе. Микросхема выбрана, если сравнение совпадает. Состояние выводов должно иметь лог. "0" или лог. "1" раньше, чем будет выполнена какая-либо операция. Двунаправленный вывод SDA используется для передачи адресов и данных. Шина SDA требует подключения резистора на VCC (10 кОм для 100 кГц, 2 кОм для 400 кГц и 1 МГц). Для нормальной передачи данных SDA может менять состояние только в течение низкого уровня SLC. Если на выводе WP лог. "0", то запись возможна, если лог. "1" - запись приостановлена. В отличие от младшей линейки микросхем, например 93LC46/56/66, отсутствуют привычные операции стирания.
Последовательность передачи данных показана на рис. 2.
Управляющий код передается первыми битами, следующими за состоянием запуска устройства (рис. 3), и состоит из 4-битного двоичного кода 1010 для действий чтения и записи. Следующий бит управляющего байта - бит выбора блока (B0). Этот бит действует как бит адреса A16 для доступа целого массива. Следующие два бита управляющего байта - биты выбора микросхемы (A1, A0). Они допускают использование до четырех устройств 24XX1025, расширяя непрерывное пространство адреса до 4 Мбит. В этом случае, программное обеспечение может использовать A0 управляющий байт как бит адреса A16 и A1, как бит адреса A17. Последний бит управляющего байта определяет действие, которое нужно выполнять. Когда установлена единица, действует выбор чтения, когда установлен ноль - выбрана запись. Следующие два байта определяют адрес первого байта данных (рис. 4). Старшие биты адреса передаются первыми.
Рис. 2 Рис. 3 Рис. 4
Устройство памяти имеет ограничение границы внутренней адресации, которое разделено на два сегмента по 512 кбит. Бит выбора блока B0 управляет доступом к каждому сегменту. Для того чтобы прочитать четыре микросхемы памяти необходимо восемь команд чтения.
После байтовой команды записи (рис. 5) внутренний счетчик адреса окажется на позиции адреса, следующего за тем, который был перед этим записан.
Рис. 5 Рис. 6 Рис. 7
Страничная запись (рис. 6) начинается также как в байтовой записи, но вместо генерации состояния остановки передается вплоть до 127 дополнительных байтов. Для прикладного программного обеспечения необходимо предотвращать страничные операции записи, которые должны пытаться пересекать страничную границу.
Вывод WP допускает защитить запись целого массива (00000-1FFFF) пользователя, если вывод соединен с VСС, а когда соединен с VSS - защита не действует.
Чтение текущего адреса показано на рис. 7. Произвольное чтение позволяет иметь доступ к любой позиции памяти в произвольном порядке (рис.8). После произвольной команды чтения внутренний счетчик адреса окажется на позиции адреса следующего за тем, который только что был прочитан. Последовательное чтение (рис. 9) похоже на произвольное чтение. Для того чтобы обеспечить последовательное чтение, 24XX1025 содержит внутренний указатель адреса, который увеличивается на единицу по завершении каждой операции. Этот указатель адреса допускает чтение половины памяти. Внутренний указатель адреса автоматически возвратится из адреса FFFFh, чтобы адресовать 0000h, если мастер признает байт, полученный из адреса массива 1FFFFh. Внутренний счетчик адреса автоматически возвратится из адреса 1FFFFh, чтобы адресовать 10000h, если мастер признает байт, полученный из адреса массива 1FFFFh. Этим упоминанием фактически подтверждается возможность последовательного циклического чтения памяти в пределах ее любой половины и предполагается вариант ее использования без микроконтроллера [5].