Читаем Искусство схемотехники. Том 3 (Изд.4-е) полностью

Динамические ОЗУ. По сравнению со статическими ОЗУ динамические ОЗУ — это сплошная мигрень. На рис. 11.31 показан нормальный цикл. Адрес (содержащий, например, для ОЗУ объемом 1 Мбайт 20 бит) расщепляется на две группы и мультиплексируется на вдвое меньшее число выводов, сначала «адрес строки», стробируемый сигналом RAS' (Row Address Strobe — строб адреса строки), а затем «адрес колонки», стробируемый сигналом CAS

' (Column Address Strobe — строб адреса колонки).



Рис. 11.31.Циклы чтения и записи динамического ОЗУ (Motorola, 120 нc).


Данные записываются (или читаются в соответствии с состоянием входа направления R/W') вслед за установкой CAS'. Перед началом следующего цикла памяти должно пройти некоторое время «выдержки RAS», поэтому длительность цикла больше времени доступа; например, динамическое ОЗУ может иметь время доступа 100 нc и длительность цикла 200 нc. Цикл регенерации выглядит так же, но без сигнала СAS'

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

Динамические ОЗУ, как и статические, выпускаются с шириной данных 1, 4 и 8 бит, емкостью от 64 Кбит до 4 Мбит и с быстродействием приблизительно от 70 до 150 нc. Наиболее популярны большие 1-битовые микросхемы, что вполне объяснимо: если вам нужна большая матрица памяти, скажем объемом 4 Мбайт и шириной 16 бит, и имеются в наличии ОЗУ емкостью 1 Мбит с организацией 1Мx1 и 128Кx8, имеет смысл использовать 1-битовые микросхемы, потому что (а) каждая линия данных будет подключена только к двум микросхемам (а не к 16), что существенно уменьшит емкостную нагрузку, и (б) эти микросхемы занимают меньше места, потому что меньшее число выводов данных более чем компенсирует дополнительные адресные выводы. Кроме того, 1-битовые микросхемы, как правило, дешевле. Приведенные рассуждения справедливы, если вы строите большую память, и не относятся, например, к нашему простому микропроцессору с памятью 32Кx8. Заметьте, однако, что улучшенная технология упаковки микросхем с высокой плотностью ("ZIP" и "SIMM") уменьшает важность минимизации числа выводов.

Существует ряд способов генерации последовательности мультиплексированных адресов и сигналов RAS, CAS и R/W', требуемой для управления динамическим ОЗУ. Поскольку это ОЗУ всегда подключается к микропроцессорной магистрали, вы начинаете работу с ним, обнаружив сигнал AS' (или эквивалентный ему), говорящий о том, что установлен правильный адрес из пространства динамического ОЗУ (о чем свидетельствуют старшие адресные линии). Традиционный метод заключается в использовании дискретных компонент средней степени интеграции для мультиплексирования адреса (несколько 2-канальных 2-входовых мультиплексоров `257) и генерации сигналов RAS, CAS, а также сигналов управления мультиплексором. Требуемая последовательность создается с помощью сдвигового регистра, тактируемого с частотой, кратной тактовой частоте микропроцессора или, что лучше, с помощью линии задержки с отводами. Для организации периодических циклов регенерации (только RAS) вам потребуется еще несколько логических схем и счетчик, отсчитывающий последовательные адреса строк. На все это уйдет около 10 корпусов.

Привлекательным способом, альтернативным «дискретным» схемам управления динамическим ОЗУ, является использование ПЛМ, причем для генерации всех необходимых сигналов достаточно одной-двух микросхем. Еще проще взять специальную микросхему «поддержки динамического ОЗУ», например, АМ2968. Такого рода микросхемы берут на себя не только мультиплексирование адресов и образование сигналов RAS/CAS, но также и арбитрацию регенерации вместе с образованием адресов строк; более того, они даже включают мощные драйверы и демпфирующие резисторы, которые нужны для подключения больших матриц микросхем памяти, как это будет объяснено ниже. К таким контроллерам динамических ОЗУ обычно прилагаются дополнительные микросхемы для синхронизации, а также обнаружения и коррекции ошибок; в результате небольшой набор микросхем полностью решает проблему включения динамического ОЗУ в вашу разработку.

Перейти на страницу:
Нет соединения с сервером, попробуйте зайти чуть позже