Помощничек
Главная | Обратная связь


Археология
Архитектура
Астрономия
Аудит
Биология
Ботаника
Бухгалтерский учёт
Войное дело
Генетика
География
Геология
Дизайн
Искусство
История
Кино
Кулинария
Культура
Литература
Математика
Медицина
Металлургия
Мифология
Музыка
Психология
Религия
Спорт
Строительство
Техника
Транспорт
Туризм
Усадьба
Физика
Фотография
Химия
Экология
Электричество
Электроника
Энергетика

Микропрограммные автоматы на ПЗУ



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

В отличие от рассматривавшихся ранее устройств на "жесткой" логике, принцип работы которых однозначно определяется используемыми элементами и способом их соединения, микропрограммные автоматы с помощью одной и той же схемы могут выполнять самые разные функции. То есть они гораздо более гибкие, чем схемы на "жесткой" логике. К тому же проектировать микропрограммные автоматы с точки зрения схемотехники довольно просто. Недостатком любого микропрограммного автомата по сравнению со схемами на "жесткой" логике является меньшее предельное быстродействие и необходимость составления карты прошивки ПЗУ с микропрограммами, часто довольно сложными.

Наиболее распространенная структура микропрограммного автомата (рис. 11.15) включает в себя всего лишь три элемента: ПЗУ, регистр, срабатывающий по фронту, и тактовый генератор.


Рис. 11.15. Структура микропрограммного автомата

ПЗУ имеет (L+M) адресных разрядов и N разрядов данных. Регистр применяется с количеством разрядов (N + L). Разряды данных ПЗУ записываются в регистр по положительному фронту тактового сигнала с генератора. Часть этих разрядов (М) используется для образования адреса ПЗУ, другая часть (N-M) служит для формирования выходных сигналов. Входные сигналы (L) поступают на входы регистра и используются совместно с частью выходных разрядов ПЗУ для получения адреса ПЗУ.

Схема работает следующим образом. В каждом такте ПЗУ выдает код данных, тем самым определяя не только состояние выходных сигналов схемы, но и адрес ПЗУ, который установится в следующем такте (после следующего положительного фронта тактового сигнала). На этот следующий адрес влияют также и входные сигналы. То есть в отличие от формирователя последовательности сигналов, рассмотренного в предыдущем разделе, в данном случае адреса могут перебираться не только последовательно (с помощью счетчика), но и в произвольном порядке, который определяется прошивкой ПЗУ, называемой микропрограммой.

Условием правильной работы схемы будет следующее. За один период тактового сигнала должны успеть сработать регистр и ПЗУ. Иначе говоря, сумма задержки регистра и задержки выборки адреса ПЗУ не должна превышать периода тактового сигнала. Отметим также, что входные сигналы микропрограммного автомата нельзя подавать непосредственно на адресные входы ПЗУ (без регистра), так как их асинхронное (по отношению к тактовому сигналу) изменение может вызвать переходный процесс на выходах данных ПЗУ именно в тот момент, когда выходные сигналы ПЗУ записываются в регистр. В результате в регистр может записаться неверная информация, что нарушит работу всей схемы. Регистр же синхронизирует изменения входных сигналов с тактовым сигналом, в результате чего все разряды кода адреса ПЗУ меняется одновременно — по положительному фронту тактового сигнала. Регистр должен обязательно срабатывать по фронту, использование регистра-защелки не допускается, так как он может вызвать лавинообразный переходный процесс.

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

Сформулируем несколько элементарных функций, из которых могут складываться алгоритмы работы микропрограммного автомата (рис. 11.16):


Рис. 11.16. Элементарные функции микропрограммного автомата: последовательный перебор (а), циклическое повторение (б) и остановка (в)

  1. Последовательный перебор адресов ПЗУ (например, для выдачи последовательности выходных сигналов).
  2. Периодическое повторение последовательности адресов ПЗУ (например, для повторения последовательности выходных сигналов).
  3. Остановка в каком-то адресе ПЗУ (например, для ожидания изменения входного сигнала).
  4. Временное отключение реакции на входные сигналы (например, для того, чтобы закончить отработку реакции на предыдущее изменение входных сигналов). Эта функция на рисунке не показана.

В качестве примера рассмотрим выполнение некоторых элементарных функций микропрограммным автоматом, показанным на рис. 11.17.


Рис. 11.17. Пример практической схемы микропрограммного автомата на ПЗУ

ПЗУ имеет организацию 64х8 (это могут быть две микросхемы РЕ3 или одна микросхема РТ18), количество разрядов регистра равно десяти (это могут быть две микросхемы ИР27). Схема имеет два входных сигнала и четыре выходных сигнала. Такая организация микропрограммного автомата хороша тем, что его микропрограмма (то есть карта прошивки ПЗУ) очень наглядна, легко составляется и читается.

Таблица 11.7. Карта прошивки ПЗУ 64х8 для микропрограммного автомата
Адрес A B C D E F
FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF
FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF FF

Выходные разряды данных ПЗУ делятся на две группы по 4 сигнала: младшие идут на образование следующего адреса ПЗУ, старшие образуют четыре выходных сигнала. Входные сигналы поступают (через регистр) на два старших разряда адреса ПЗУ. Если мы изобразим карту прошивки ПЗУ в привычном для нас виде таблицы из четырех строк и 16 столбцов (табл. 11.7), то в этой таблице будут наглядно видны как состояние каждого из внутренних сигналов, так и реакция схемы на любой входной сигнал, а также состояния всех выходных сигналов в каждом такте.

Прежде всего, легко заметить, что выбор той или иной строки таблицы производится старшими разрядами кода адреса ПЗУ, то есть входными сигналами микропрограммного автомата. Таким образом, любое изменение входных сигналов приводит к переходу в карте прошивки на другую строку. Например, строка 00 будет соответствовать нулевым входным сигналам микропрограммного автомата, а строка 30 — единичным входным сигналам.

Таблица 11.8. Пример микропрограммы для схемы на рис. 11.17
Адрес A B C D E F
AA BB CC DD EE FF
BB CC DD EE FF
A9 BA CB DC ED FE 0F
A0 B0 C0 D0 E0 F0

Теперь посмотрим на структуру 8-разрядного кода данных ПЗУ. Младшие четыре разряда этого кода (правый, младший знак 16-ричного кода в таблице) соответствуют четырем младшим разрядам кода адреса ПЗУ. Старшие четыре разряда кода данных ПЗУ (левый, старший знак 16-ричного кода в таблице) соответствуют четырем выходным сигналам микропрограммного автомата. То есть непосредственно по 16-ричному коду данных из таблицы можно сказать, во-первых, каким будет следующий адрес ПЗУ, и во-вторых, какими будут выходные сигналы автомата в следующем такте.

Рассмотрим пример микропрограммы (табл. 11.8), реализующей некоторые элементарные функции.

Верхняя (нулевая) строка таблицы демонстрирует последовательный перебор адресов памяти при нулевых входных сигналах. Пусть, например, автомат находится в адресе 00. В ячейке с адресом 00 указан следующий адрес 1 (младший знак 16-ричного кода 11), то есть в следующем такте автомат перейдет в адрес 01 (считаем, что входные сигналы остаются нулевыми). Из адреса 01 автомат перейдет в адрес 02, так как в ячейке с адресом 01 указан следующий адрес 2. Точно так же из адреса 02 автомат перейдет в адрес 03 и так далее до адреса 0F, в котором указан следующий адрес 0, то есть в следующем такте автомат снова вернется в адрес 00. Затем цикл последовательного прохождения адресов первой строки повторится (если, конечно, входные сигналы останутся нулевыми). Четыре выходных сигнала автомата в данном случае повторяют код следующего адреса, то есть, подобно 4-разрядному двоичному счетчику, выдают постепенно нарастающий код.

Вторая сверху (первая) строка таблицы демонстрирует циклическое повторение группы тактов. Если, например, работа начинается с адреса 10, то микропрограммный автомат последовательно будет перебирать адреса 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, а затем вернется в адрес 15 и будет постоянно повторять группу адресов 15, 16, 17, 18, 19. В данном случае мы считаем, что входной сигнал "Вх. 1" постоянно равен единице, а входной сигнал "Вх. 2" постоянно равен нулю, что и соответствует второй сверху строке таблицы.

Посмотрим теперь, что будет делать автомат, если входной сигнал "Вх. 2" постоянно равен нулю, а входной сигнал "Вх.1" меняет свое состояние с нуля на единицу и обратно. Такое переключение входных сигналов приводит к переходу между нулевой и первой строками таблицы с микропрограммой. Допустим, автомат начинает работу с адреса 00 (сигнал "Вх. 1" равен нулю). Идет последовательный перебор адресов нулевой строки. Даже если в течение первых девяти тактов сигнал "Вх. 1" будет меняться, на выходных сигналах автомата это никак не отразится, так как коды первых девяти адресов в нулевой и первой строках полностью совпадают. Поэтому можно сказать, что в этих первых девяти тактах мы отключили реакцию нашего автомата на входной сигнал "Вх. 1" за счет дублирования кодов.

Допустим теперь, что изначально нулевой входной сигнал "Вх. 1" стал равен единице в адресе 0А и далее не меняется. Это приведет к тому, что вместо адреса 0В автомат перейдет в адрес 1В. Затем он пройдет адреса 1С...1F, перейдет в адрес 10, дойдет до адреса 19 и начнет повторять цикл 15...19. Если же, например, в адресе 18 сигнал "Вх. 1" снова станет равен нулю, то вместо адреса 19 автомат попадет в адрес 09 и далее будет выполнять микропрограмму нулевой строки.

Третья сверху (вторая) строка таблицы, которая соответствует входным сигналам Вх. 1 = 0, Вх.2 = 1, показывает пример остановки автомата в каждом адресе и ожидание прихода входного сигнала. Например, автомат находится в адресе 23. Следующим адресом в коде данной ячейки указан 3. Значит, если входные сигналы остаются неизменными, то автомат перейдет опять же в адрес 23 и будет оставаться в нем постоянно. Но если входной сигнал "Вх.2" станет равным нулю, автомат перейдет в адрес 03 и начнет выполнять микропрограмму нулевой строки. То есть переключение входного сигнала "Вх.2" из нуля в единицу при нулевом уровне "Вх.1" останавливает выполнение микропрограммы нулевой строки до обратного перехода входного сигнала "Вх.2" в нуль.

Наконец нижняя (третья) строка таблицы демонстрирует переход из любого адреса строки в нулевой адрес этой же строки. Пусть, например, выполняется микропрограмма нулевой строки ("Вх. 1" и "Вх. 2" — нулевые) и в адресе 06 оба входных сигнала переходят в единицу. Автомат попадает в адрес 37, а из него — в адрес 30, где и остается постоянно до изменения входных сигналов. Если затем оба входных сигнала снова станут нулевыми, то автомат перейдет в адрес 00 и начнет снова выполнять микропрограмму нулевой строки таблицы.

Иногда бывает необходимо перевести автомат в какой-то определенный адрес. Ведь при включении питания в регистре может оказаться произвольный код. Для такой инициализации автомата можно, например, использовать регистр, имеющий вход сброса R, на который подается внешний сигнал, и тогда по этому сигналу автомат попадет в нулевой адрес. Но можно пойти и другим путем: составить микропрограмму таким образом, что автомат при включении питания сам перейдет за несколько тактов в нужный адрес независимо от того, в какой адрес он попал при включении питания.

Рассмотрим теперь пример проектирования простейшего микропрограммного автомата.

Пусть нам необходимо формировать с помощью микропрограммного автомата последовательность из трех выходных сигналов в ответ на положительный фронт одного входного сигнала (рис. 11.18).


Рис. 11.18. Диаграмма работы проектируемого микропрограммного автомата

Второй выходной сигнал "вложен" в первый, а третий "вложен" во второй. Причем до тех пор, пока данная последовательность не закончится, входной сигнал может произвольно менять свое состояние, на работе схемы это никак не должно сказываться. А после окончания данной последовательности микропрограммный автомат снова должен ждать положительного фронта входного сигнала и начинать по нему выработку новой последовательности.

Все временные сдвиги в выходной последовательности (t) примем для простоты одинаковыми и равными 1 мкс. Это значительно облегчает выбор тактовой частоты микропрограммного автомата, она должна быть равной 1 МГц (период 1 мкс). В этом случае полная длина генерируемой последовательности составит всего 6 тактов (один такт соответствует переходу всех выходных сигналов в единицу).

Для формирования 6-тактовой последовательности необходимо не менее 3 адресных разрядов ПЗУ (так как 22 = 4, а 23 = 8). Еще один разряд адреса ПЗУ потребуется для входного сигнала схемы. Итого необходимо 4 адресных разряда ПЗУ.

Для формирования трех выходных сигналов требуется три разряда данных ПЗУ. Еще три разряда данных ПЗУ нужно для задания следующего адреса при отработке выходной последовательности. Итого необходимо шесть разрядов данных ПЗУ.


Рис. 11.19. Спроектированный микропрограммный автомат

Посчитаем требуемую разрядность выходного регистра. ПЗУ выдает шесть разрядов данных. Имеется один входной сигнал. Итого регистр должен фиксировать 7 сигналов, значит, он должен быть 7-разрядным.

Итак, все расчеты закончены. Полученная схема микропрограммного автомата приведена на рис. 11.19. Она включает в себя тактовый генератор с частотой 1 МГц, микросхему ПЗУ типа РЕ3, у которой не используется один разряд адреса и два разряда данных, а также 8-разрядный регистр ИР27, у которого не используется один разряд. Для простоты на рисунке не показаны резисторы на выходах данных типа ОК микросхемы ПЗУ.

Теперь необходимо составить микропрограмму для спроектированной схемы. Она должна включать в себя ожидание положительного фронта входного сигнала, отработку последовательности выходных сигналов с временным отключением входного сигнала, ожидание нулевого уровня входного сигнала и переход на новое ожидание положительного фронта входного сигнала. Полученная микропрограмма с необходимыми комментариями представлена в табл. 11.9.

Таблица 11.9. Микропрограмма для спроектированного автомата
Адрес ПЗУ Данные ПЗУ Комментарий
Код Вход Данные Вых.1 Вых.2 Вых.3 Сл. адрес Код
Ожидание полож. фронта Вх.
Пришел положительный фронт входного сигнала. Отработка последовательности. Входной сигнал равен единице.
0A
A
B 0C
C 1D
D 3D Ожидание Вх.=0
                         
0A Вх. стал равен нулю до окончания последовательности
Переход на ожидание фронта
Переход на ожидание фронта
                         
Не используемые ячейки
E
F

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

Все неиспользуемые микропрограммным автоматом ячейки заполнены командами перехода в начальное состояние схемы с пассивными (единичными) выходными сигналами. Таким решением обеспечивается правильное начало работы микропрограммного автомата при любом начальном адресе (при любом начальном коде в регистре). Начальный сброс автомата не используется.

Последний микропрограммный автомат, который мы рассмотрим в данном разделе, предназначен для дешифрации (декодирования) последовательного кода Манчестер-II, применяющегося для последовательной передачи данных на большие расстояния, в частности, в локальных сетях. Этот код уже упоминался в лекции 7 (см. рис. 7.16 и 7.17). Там был рассмотрен кодировщик кода Манчестер-II.

Дешифрация (декодирование) этого кода гораздо сложнее кодирования (рис. 11.20). Она требует выделения "правильных", информационных фронтов в середине битовых интервалов (помечены на рисунке кружками) и отсечение "неправильных" фронтов между битовыми интервалами (помечены на рисунке крестиками). Для этого нужно после первого (информационного) фронта в течение временного интервала 0,75Т не реагировать на приходящие фронты входного сигнала, а затем снова обрабатывать любой приходящий фронт, снова выдерживать интервал 0,75Т и т.д. При приходе "правильных", информационных фронтов (в середине битовых интервалов) необходимо формировать выходные синхросигналы, по которым фиксируется (в регистре) информация из сигнала в коде Манчестер-II.


Рис. 11.20. Декодирование кода Манчестер-II

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

Схема такого микропрограммного автомата (рис. 11.21) очень проста, она включает в себя ПЗУ типа РЕ3, регистр ИР27 и тактовый генератор с частотой, в 8 раз превышающей частоту прихода битов в коде Манчестер-II. Например, при длительности битового интервала 1 мкс (скорость передачи информации 1 Мбит/с) частота генератора должна быть равной 8 МГц. Схема практически не отличается от схемы, рассмотренной в предыдущем примере, хотя выполняемая ею функция гораздо сложнее.

Помимо синхросигнала (его обычно обозначают RxC или С), микропрограммный автомат выдает также сигнал огибающей информационного пакета (Р), то есть сигнал, активный при наличии передачи информации в коде Манчестер-II и пассивный при отсутствии передачи информации (см. рис. 11.20). Сигнал С (RxC) стробирует запись сигнала данных RxD, представляющего собой просто входной сигнал в коде Манчестер-II, пропущенный через регистр.


Рис. 11.21. Микропрограммный автомат для декодирования кода Манчестер-II

Мы не будем подробно рассматривать составление микропрограммы для декодирования кода Манчестер-II, так как это заняло бы слишком много места. Достаточно только внимательно изучить табл. 11.10, содержащую микропрограмму с комментариями, чтобы понять, что в ней присутствуют и отключение реакции на входной сигнал, и выдержка временных интервалов (задержка), и переходы в заданные адреса, и остановки для ожидания положительного и отрицательного фронтов входного сигнала.

Таблица 11.10. Микропрограмма декодирования кода Манчестер-II (сигнал RxC обозначен в таблице С)
Адрес ПЗУ Данные ПЗУ Комментарий
Вход Адрес С P Сл. адрес
Задержка и ожидание положительного фронта входного сигнала
Снятие Р и ожидание входного сигнала
Выставление R*C и переход на обработку положительного фронта входного сигнала
Снятие R*C и задержка с отключением входа
Переход на ожидание положительного фронта
Снятие R*C и задержка с отключением входа
Переход на ожидание положительного фронта
Задержка и ожидание отрицательного фронта входного сигнала
Снятие Р и ожидание входного сигнала
Выставление R*C и переход на обработку отрицательного фронта входного сигнала
Переход на ожидание положительного фронта

 

 

 

12. Лекция: Оперативная память: версия для печати и PDA В лекции рассказывается о микросхемах оперативной памяти, алгоритмах их работы, параметрах, типовых схемах включения, а также о способах реализации на их основе некоторых часто встречающихся функций.
Основное отличие оперативной памяти (RAM) от постоянной (ROM) состоит в возможности оперативного изменения содержимого всех ячеек памяти с помощью дополнительного управляющего сигнала записи WR. Каждая ячейка оперативной (статической) памяти представляет собой, по сути, регистр из триггерных ячеек, в который может быть записана информация и из которого можно информацию читать. Выбор того или иного регистра (той или иной ячейки памяти) производится с помощью кода адреса памяти. Поэтому при выключении питания вся информация из оперативной памяти пропадает (стирается), а при включении питания информация в оперативной памяти может быть произвольной. Отметим, что существует также еще одна разновидность оперативной памяти, так называемая динамическая (в отличие от статической), в которой информация хранится не в регистрах (не в триггерных ячейках), а в виде заряда на конденсаторах. Эта память отличается более низкой стоимостью, меньшим быстродействием и необходимостью регулярной регенерации ("Refresh" - "освежение") информации в ней (так как конденсаторы со временем разряжаются). Область применения динамической памяти гораздо уже, чем статической, в основном она используется в качестве системной оперативной памяти компьютеров, где соображения стоимости выходят на первый план. Поэтому здесь мы о ней говорить не будем, хотя многие особенности использования статической памяти относятся и к динамической памяти. Во всех рассмотренных в предыдущем разделе схемах постоянная память в принципе может быть заменена оперативной, только карту прошивки в данном случае придется записывать в память каждый раз заново после включения питания. Аналогично, многое из сказанного в данном разделе про оперативную память справедливо и для постоянной памяти, но только информацию в постоянной памяти менять невозможно. Однако существуют также и специфические области применения оперативной памяти, которым и будет уделено здесь особое внимание. Рис. 12.1. Примеры микросхем статических ОЗУ Как уже отмечалось, оперативная память бывает двух основных видов: с раздельными шинами входных и выходных данных (в основном это одноразрядная память) и с двунаправленной (совмещенной) шиной входных и выходных данных (многоразрядная память). Некоторые простейшие примеры микросхем памяти обоих этих видов приведены на рис. 12.1. Выходы данных микросхем памяти имеют тип ОК (довольно редко) или 3С. Управляющие сигналы - это сигнал выбора микросхемы CS (иногда их несколько), сигнал записи WR (обычно отрицательный) и иногда сигнал разрешения выхода OE. Микросхема оперативной памяти К155РУ7 (аналог - F9342APC) имеет организацию 1Кх1 и раздельные входной и выходной сигналы данных. Выход микросхемы - типа 3С. Управление работой микросхемы производится двумя управляющими сигналами CS и WR. Режимы работы микросхемы приведены в табл. 12.1.
Таблица 12.1. Режимы работы оперативной памяти К155РУ7
Входы и выходы Режим работы
-CS -WR A0…A9 DI DO  
Х Х Х Хранение
Адрес Запись 0
Адрес Запись 1
Адрес Х Данные Чтение

Микросхема КМ132РУ10 отличается от К155РУ7 в основном большим объемом (организация 64К х 1) и несколько меньшим быстродействием. Назначение управляющих сигналов и таблица режимов работы у этих микросхем совпадают.

Таблица 12.2. Режимы работы оперативной памяти КР541РУ2
Входы и выходы Режим работы
-CS -WR A0…A9 DIO0…DIO3  
Х Х Хранение
Адрес Запись 0
Адрес Запись 1
Адрес Данные Чтение

Микросхема КР541РУ2 (аналог - IM7147L-3) относится к другой разновидности микросхем памяти. У нее четыре двунаправленных вывода данных типа 3С. Управляющие сигналы те же самые: –CS и –WR. Таблица режимов работы (табл. 12.2) также похожа на таблицу для одноразрядных микросхем. Главное отличие состоит в том, что в режиме записи на входах/выходах данных присутствует записываемая информация.

Микросхема HM62256 фирмы Hitachi отличается от КР541РУ2 прежде всего организацией (32К х 8) и управляющими сигналами (добавлен сигнал разрешения выхода –OE). Когда этот сигнал пассивен (равен единице), входы/выходы данных микросхемы находятся в состоянии 3С независимо от режима работы. Введение дополнительного сигнала позволяет более гибко управлять работой микросхемы. К тому же обычно в подобных микросхемах при пассивном сигнале –CS (равном единице) значительно уменьшается потребляемая мощность.

В настоящее время имеется огромный выбор микросхем памяти с разным объемом (от нескольких байт до нескольких мегабайт), с разным количеством разрядов (обычно 1, 4, 8, 16 разрядов), с разными методами управления, с разным потреблением и быстродействием. В каждом конкретном случае надо подбирать оптимальную память, в наибольшей степени удовлетворяющую требованиям решаемой задачи.

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

  • время выборки адреса (задержка между изменением адреса и выдачей данных);
  • время выборки микросхемы (задержка выдачи данных по выставлению сигнала -CS);
  • минимальная длительность сигнала записи -WR;
  • минимальная длительность сигнала -CS.

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

Типичные временные диаграммы циклов записи и чтения приведены на рис. 12.2. Конкретные временные диаграммы для каждого типа памяти необходимо смотреть в справочниках.


Рис. 12.2. Типичные временные диаграммы записи в память (а) и чтения из памяти (б)

Для записи информации в память надо выставить код адреса на адресных входах, выставить код записываемых в этот адрес данных на входах данных, подать сигнал записи –WR и подать сигнал выбора микросхемы –CS. Порядок выставления сигналов бывает различным, он может быть существенным или несущественным (например, можно выставлять или снимать –CS раньше или позже выставления или снятия –WR). Собственно запись обычно производится сигналом -WR или –CS, причем данные должны удерживаться в течение всего сигнала –WR (или –CS) и заданное время после его окончания.

Сигнал –CS у некоторых микросхем памяти допускается держать активным (нулевым) для всех записываемых адресов и при этом подавать импульсы –WR для каждого адреса. Точно так же у некоторых микросхем допускается держать активным (нулевым) сигнал записи -WR, но при этом подавать импульсы –CS.

В случае микросхем памяти с двунаправленной шиной данных необходимо использовать источник записываемых данных с выходом 3С или ОК, чтобы избежать конфликта данных, записываемых в память, с данными, выдаваемыми из памяти в режиме чтения.

Для чтения информации из памяти надо выставить код адреса читаемой ячейки и подать сигналы –CS и –OE (если он имеется). Сигнал -WR в процессе чтения должен оставаться пассивным (равным единице). В некоторых микросхемах памяти (называемых нетактируемыми, например, К155РУ7, КР541РУ2, HM62256) можно держать активным (нулевым) сигнал –CS для всех читаемых адресов. В других микросхемах (называемых тактируемыми, например, КМ132РУ10, К537РУ8) необходимо подавать свой импульс –CS для каждого читаемого адреса. Понятно, что нетактируемые микросхемы гораздо удобнее в применении, чем тактируемые.


Рис. 12.3. Объединение микросхем памяти для увеличения разрядности шины данных

Микросхемы оперативной памяти довольно часто объединяются для увеличения разрядности данных или разрядности адреса.

На рис. 12.3 показано объединение четырех микросхем К155РУ7 для получения памяти с организацией 1Кх4. Точно так же могут быть объединены и микросхемы с двунаправленной шиной данных. К примеру, из четырех микросхем памяти с организацией 1Кх4 можно получить память с организацией 1Кх112.

Для увеличения количества адресных разрядов используются те же методы, что и в случае ПЗУ (см. рис. 12.3). Если объединяются всего две микросхемы памяти, то можно обойтись без применения дешифраторов, выбирающих одну из объединяемых микросхем.


Рис. 12.4. Объединение микросхем памяти для увеличения разрядности шины адреса

На рис. 12.4 показан вариант схемы объединения двух микросхем HM62256 для получения памяти с организацией 64Кх8. Дополнительный старший адресный разряд управляет прохождением сигнала –CS на одну из микросхем (при нулевом уровне на дополнительном адресном разряде сигнал –CS проходит на левую по рисунку микросхему, при единичном уровне - на правую по рисунку микросхему).

Интересной особенностью микросхем оперативной памяти является возможность произвольного изменения порядка сигналов адресных разрядов без всяких последствий для функционирования памяти. Например, сигнал, поступающий на разряд А0, можно с тем же успехом подавать на А7, сигнал, приходящий на А7, подавать на А3, сигнал, приходящий на А3, подавать на А10 и т.д. Дело в том, что информация в оперативную память записывается по тем же самым адресам, по которым потом и читается, и перестановка адресных разрядов изменяет только номер ячейки, в которую записывается информация и из которой затем читается эта же информация. Такая взаимозаменяемость адресных входов оперативной памяти бывает полезной при проектировании разводки печатных плат. В случае ПЗУ это правило не работает, так как там информация записана раз и навсегда, и читать ее надо по тем же адресам, по которым ее ранее записали.

 




Поиск по сайту:

©2015-2020 studopedya.ru Все права принадлежат авторам размещенных материалов.