Рисунок 2.3 – Структура микросхемы K9K4G08U0M
Адрес K9K4G08U0M мультиплексирован на 8 выводов (таблица 2.1). Такая схема существенно уменьшает число выводов и допускает дальнейшее повышение плотности с сохранением согласованности на системной плате. Команды, адрес и данные записываются через входы/выходы переводом WE в низкий уровень при низком уровне на входе СЕ. Данные сохраняются по фронту сигнала WE. Сигналы разрешение записи команды (CLE) и разрешение записи команды адреса (ALE) используются для мультиплексирования команд и адреса соответственно из приходящих на входы/выходы данных. Некоторые команды требуют одного шинного цикла, например, команда сброса, команда чтения состояния и т.д. Для других команд, таких как чтение страницы, стирание блока и запись страницы, необходимо 2 цикла: один на установку и другой – на исполнение команды. 512 Мбайт физического объема требуют 30-разрядного адреса, таким образом, необходимо 5 циклов записи адреса: 2 цикла для адресации по столбцам (Column) и 3 цикла для адресации по строкам (Row).
Таблица 2.1– Адресация микросхемы K9K4G08U0M
Для операции чтения и записи страницы так же необходимы 5 циклов записи адреса, следующие за нужной командой. Однако для операции стирания блока требуется всего 3 цикла записи адреса (адрес страницы). Операции с устройством выбираются записью специальных команд в командный регистр (таблица 2.2).
Таблица 2.2 – Список команд микросхемы K9K4G08U0M
Функция | 1 цикл | 2 цикл | Внеочередная команда |
Чтение | 00h | 30h | |
Чтение для перезаписи | 00h | 35h | |
Чтение сигнатуры | 90h | - | |
Сброс | FFh | - | V |
Запись на страницу | 80h | 10h | |
Запись в кэш | 80h | 15h | |
Перезапись | 85h | 10h | |
Стирание блока | 60h | D0h | |
Произвольный ввод данных* | 85h | - | |
Произвольный вывод данных* | 05h | E0h | |
Чтение статуса | 70h | - | V |
* Произвольный ввод/вывод данных возможен в пределах 1 страницы.
Ускорить запись данных можно при помощи кэш-регистра объемом 2112 байт. Запись в кэш-регистр может быть произведена во время перезаписи данных из регистра данных в ячейки памяти (во время программирования). После окончания программирования, при наличии данных в кэш регистре, внутренний контроллер микросхемы перепишет данные из кэш-регистра в регистр данных и начнет запись новой страницы.
Устройство реализует функцию автоматического чтения при включении питания, которая обеспечивает последовательный доступ к данным первой страницы после включения питания без ввода команды и адреса.
В дополнение к расширенной архитектуре и интерфейсу устройство включает функцию резервного копирования данных с одной страницы на другую без использования внешней буферной памяти. Т.к. трудоемкие циклы последовательного доступа и ввода данных исключены, то производительность системы для применения в полупроводниковых дисках значительно улучшена.
Устройство может содержать недопустимые блоки при первом использовании. Во время использования микросхемы количество недопустимых блоков может возрасти. Недопустимые блоки – это блоки, которые содержат 1 или более изначально неработоспособных битов, надежность которых не гарантируется компанией Samsung. Устройства с недопустимыми блоками имеют тот же уровень качества и те же динамические и статические характеристики, как и устройства без таких блоков. Недопустимые блоки не влияют на работу нормальных блоков, потому что они изолированы от разрядной шины и общей шины питания транзистором выбора. Система спроектирована таким образом, что у недопустимых блоков блокируются адреса. Соответственно, к некорректным битам попросту нет доступа. Первый блок, помещаемый в 00-й адрес, должен использоваться для хранения загрузочной информации. SAMSUNG уверяет, что он будет гарантированно допустимым, не требующим исправления ошибок в течение 1 Кциклов записи/чтения.
Изначально содержимое всех ячеек микросхемы стерто (FFh), за исключением ячеек, где хранится информация о недопустимых блоках, записанная до этого. Допустимость блока определяется 1-ым байтом запасного пространства. Samsung уверяет, что 1 или 2 страница каждого недопустимого блока по адресу столбца 2048 содержит данные, отличающиеся от FFh. Так как информация о недопустимых блоках является стираемой, то в большинстве случаев стирания ее невозможно восстановить. Поэтому, в системе должен быть заложен алгоритм, способный создать таблицу недопустимых блоков, защищённую от стирания и основанную на первоначальной информации о бракованных блоках. Любое намеренное стирание информации о недопустимых блоках запрещено.
Следовательно есть вероятность выхода из строя блоков микросхемы во время эксплуатации системы, что может привести к потере информации. Для повышения надежности хранения информации следует увеличить объем основного накопитель в два раза до 8 Гб.
3. РАЗРАБОТКА ПРИНЦИПИАЛЬНОЙ ЭЛЕКТРИЧЕСКОЙ СХЕМЫ
В процессе разработки ПЭС необходимо сопоставить узлам функциональной схемы их электрические эквиваленты. Разделим процесс разработки принципиальной схемы системы на пять этапов:
– микросхема ПЛИС со схемой загрузки;
– микроконтроллер AT89C5131 и USB интерфейс;
– микросхема часов реального времени и ее питание;
– накопитель, повышение быстродействия его работы;
– быстрая промежуточная память.
Таблица 3.1 – Перечень необходимых пользовательских контактов микросхемы ПЛИС
Сигнал | Функция | ||
ГРУППА УПРАВЛЯЮЩЕГО КОНТРОЛЛЕРА | |||
AD[7..0] | Двунаправленная шина данных и адреса (младший байт) контроллера | ||
A[15..8] | Шина адреса (старший байт) | ||
RST | Сигнал сброса контроллера | ||
RD | Сигнал чтения данных (от контроллера) | ||
CLK_PR | Тактовая частота контроллера | ||
WR | Сигнал записи данных (от контроллера) | ||
T0 | Вход внешней частоты таймера 0 | ||
T1 | Вход внешней частоты таймера 1 | ||
INT0 | Внешнее прерывание 0 | ||
INT1 | Внешнее прерывание 1 | ||
PSEN | Сигнал для перевода в режим программирования | ||
ALE | Сигнал разрешения записи адреса от контроллера | ||
EA | Сигнал разрешения внешнего доступа | ||
ГРУППА ФЛЕШ | |||
ND[7..0] | Двунаправленная шина адреса, данных, команд. | ||
NCE[15..0] | Сигналы выбора одной из 16 микросхем Flash | ||
RBN[3..0] | Сигналы Свободен/Занят от 4 банков Flash | ||
WP[3..0] | Сигналы разрешения записи в 4 банка Flash | ||
NWE | Сигнал записи во Flash | ||
NRE | Сигнал чтения данных Flash | ||
NALE | Строб адреса Flash | ||
NCLE | Строб команды Flash | ||
ГРУППА СКОРОСТНОЙ БУФЕРНОЙ ПАМЯТИ (КЕШ) | |||
ERA[18..0] | Шина адреса КЕШ | ||
ERD[7..0] | Двунаправленная шина данных КЕШ | ||
ERCS | Сигнал выбора КЕШ | ||
ERWE | Сигнал записи КЕШ | ||
EROE | Сигнал чтения КЕШ | ||
ГРУППА ЧАСОВ | |||
DTM0 | Двунаправленный вывод данных | ||
DTM1 | Сигнал тактирования входных, выходных данных | ||
DTM2 | Сигнал записи данных | ||
DTM3 | Сигнал выборки микросхемы | ||
ГРУППА LINK | |||
LN[7..0] | Шина данных | ||
LN8 | Выходной сигнал «ДАННЫЕ ПРИНЯТЫ» | ||
LN9 | Входной сигнал «ДАННЫЕ ГОТОВЫ» | ||
LN10 | Входной сигнал запроса на захват шины | ||
LN11 | Выходной сигнал разрешения захвата шины | ||
LN12 | Входной сигнал работы управляющего порта | ||
ГРУППА «РАЗНОЕ» | |||
RESERV[9..0] | Резервная шина | ||
LED[2..0] | Индикаторы |
Для обеспечения конфигурирования ПЛИС совместим две стандартные схемы конфигурирования, рекомендованные фирмой производителем (ALTERA). Первая схема конфигурации (JTAG-цепочка) позволяет независимо загружать прошивку в конфигурационную микросхему и ПЛИС. Она используется на этапе настройки, проверки и конфигурирования загрузочной памяти. Вторая цепочка (режим пассивной последовательной конфигурации) используется в штатной работе ячейки. При включении питания при ее помощи информация из конфигурационной микросхемы переписывается в ПЛИС.
Элементы D1, D2 образуют JTAG-цепочку, организованную для загрузки элементов в системе. Кроме того JTAG, являясь стандартом периферийного сканирования, позволяет осуществлять проверку (верификацию) загруженной конфигурации ПЛИС и конфигурационного ПЗУ. Схема включения данных элементов подчиняется схеме функционирования JTAG-цепочки /3/ (рисунок 3.1).