Рис. 7.23. Назначение выводов микросхем EEPROM с интерфейсом I²C: а — 24Схх, б — 24F016, в — 24F128, г — X76F041
Рис. 7.24. Назначение выводов микросхем FRAM: а — FM24C256, б — FM25640
Таблица 7.29. Популярные микросхемы памяти с последовательным интерфейсом
Микросхема |
Организация |
Рисунок |
Примечание |
24С001, 24С01 |
16×8, 128×8 |
7.23, а |
I²C. Выводы 1, 2, 3, 7 = NC |
24С02, 24С164 |
256×8, 2 К×8 |
7.23, а |
I²C |
24F016 |
2 К×8 |
7.23, б |
I²C |
24F128 |
16 К×8 |
7.23, в |
I²C |
X76F041 |
512×8 |
7.23, г |
I²C |
FM24C04, FM24C16, FM24C64, FM24C256 |
512×8, 2 К×8, 8 К×8, 32 К×8 |
7.24, а |
I²C |
FM25040, FM25160, FM25256 |
512×8, 2 К×8, 64 К×8 |
7.24, б |
SPI |
Микросхемы EEPROM 24C02 с интерфейсом I²C объемом 256 байт применяются для последовательной идентификации модулей DIMM-168 второго поколения, DIMM-184 и SODIMM-144.
Кроме обычных устройств энергонезависимой памяти с интерфейсом I²C выпускают и специализированные устройства защиты (Security Devices). Например, микросхема X76F041, представляющая собой 4 блока памяти по 128 байт, имеет 64-битный регистр пароля, доступный только по записи. Обращение к микросхеме возможно только при предъявлении правильного пароля (который считать невозможно в принципе). Программируемый управляющий регистр (тоже энергонезависимый) позволяет для каждого блока установить свой режим доступа (полный доступ, только чтение, возможность только обнуления бит при записи, доступ только по предъявлении пароля конфигурации). Кроме того, есть возможность включения режима саморазрушения после превышения количества попыток доступа с неверным паролем. Такие устройства могут применяться в аппаратных ключах, защищающих программные средства от несанкционированного исполнения и пиратского копирования.
Последовательные интерфейсы памяти имеются на специальных устройствах- программаторах и копировщиках; их имеют многие модели микроконтроллеров, а там, где нет специальных аппаратных средств, они могут быть легко реализованы программно, занимая несколько бит портов общего назначения. В IBM PC может присутствовать внутренний интерфейс I²C для считывания последовательных идентификаторов модулей памяти (в виде шины SMBus, см. п. 11.1.3). Последовательный интерфейс памяти используется во многих микросхемах программируемой логики (например, в популярных устройствах FPGA фирмы Altera), применяемых в различных устройствах, включая карты расширения PC. Эти микросхемы при инициализации (по включению питания, сбросу) сами «засасывают» описание своей конфигурации (или программное обеспечение) с рядом стоящей микросхемы энергонезависимой памяти. Внешние последовательные интерфейсы, в которых нуждаются разработчики и изготовители электронной аппаратуры с последовательной памятью, могут быть реализованы программно, с использованием несложных адаптеров для LPT-порта.
Для микросхем памяти часто применяют интерфейсы I²C, SPI (Microwire) и иные «безымянные», называемые просто 2-, 3- и 4-проводными (считаются только сигнальные линии, общий провод подразумевается). Некоторые из этих интерфейсов являются собственными изобретениями разработчиков микросхем памяти (необходимые сведения обычно имеются в информационных листках), здесь же остановимся на наиболее популярных.
Память с интерфейсом I²C
Широко распространенный двухпроводный интерфейс I²C (см. п. 11.1.1) обеспечивает невысокую скорость передачи (до 100 или 400 Мбит/с).
Диаграмма обмена данными с памятью по интерфейсу I²C приведена на рис. 7.25. Выполнив условие Start , ведущее устройство передает байт, содержащий адрес устройства, и признак операции RW
и ожидает подтверждения. При операции записи следующей посылкой от ведущего устройства будет 8-битный адрес записываемой ячейки, а за ней — байт данных (для микросхем объемом памяти более 256 байт адрес ячейки посылается двумя байтами). Получив подтверждения, ведущее устройство завершает цикл условием Stop , а адресованное устройство может начать свой внутренний цикл записи, во время которого не реагирует на сигналы интерфейса. Ведущее устройство может проверять готовность устройства к следующей операции посылкой команды записи (байт адреса устройства) и анализом бита подтверждения, формируя затем условие Stop . Если устройство откликнулось битом подтверждения, значит, оно завершило внутренний цикл и готово к следующей операции.
Читать дальше