Буфер памяти «очередь» (FIFО)



 

Рассмотрим передачу информации от источника к приёмнику (рисунок 4.18). Передача одного слова по ШД сопровождается синхроимпульсом (который часто называют «стробом»).                        

                

 

                                   

 

 

 

 

Рисунок 4.18 - Схема передачи данных

 

Источником синхроимпульсов С может быть источник, приёмник или другое устройство, синхронизирующее работу системы.

В данном случае говорят, что приёмник производит обработку в реальном масштабе времени.

Однако во многих случаях целесообразно, чтобы источник и приёмник работали асинхронно. Например, приёмнику выгодно принять сразу блок данных, а затем их обрабатывать, вместо того чтобы регулярно прерываться на запись входных данных.

В таком случае применяют буферную память, организованную, в виде «очереди», в которой последовательность поступающих данных сохраняется. В зарубежной литературе такой буфер памяти нахывают FIFO (First Input – First Output, или «кто первый зашёл, тот первый вышел»).                      

 

       Рисунок 4.19 - Передача данных через буфер FIFO.

 

Рассмотрим работу такого типа буферной памяти (рисунок 4.19). Источник и приёмник работают асинхронно: источник записывает данные синхронно с импульсом записи WR, а приёмник считывает их своим импульсом RD. Перемещение данных в очереди происходит автоматически.

Ясно, что, в любом случае, объём памяти в очереди ограничен. Если вся память заполнена, то записывать данные больше нельзя, т.е. буфер обмена полон. В этом случае схема FIFO формирует сигнал EWR = «0», сигнализирующий, что записывать данные больше нельзя (Enable Write – запись разрешена). Если все данные приёмником считаны, а в очередь ничего не записано, то FIFO выводит сигнал ERD = «0», говорящий, что чтение не разрешено, т. е. считанные данные не будут корректными (Enable Read – чтение разрешено).

Наиболее удобным способом реализации буфера обмена FIFO является СОЗУ, организованное, например, аналогично работе ИМС 556ИР26.

Рассмотрим схему на рисунке 4.20.

                              

 

 

 

 

   

 

                             

Рисунок 4.20 - Схема буфера FIFO.

 

Адреса ячеек памяти, при записи определяется счётчиком записи. Каждый раз новые данные записываются в следующую по порядку ячейку. Так же – при чтении. Оба счётчика должны иметь одинаковые направление счёта. Очередь в этом случае имеет вид кольца, в котором «голова» очереди и «хвост», как бы «гоняются друг за другом».

Рассмотрим формирование сигналов, разрешения записи и чтения ERD, EWR.

Критическая ситуация наступает при равенстве адресов записи и чтения. При этом компаратор кодов (схема сравнения) формирует на выходе сигнал «1». Если сигнал равенства равен «0», то запись и чтение разрешены, т.е. ERD = EWR = "1".

Если при равенстве адресов, последним был импульс записи С1, т.е. «буфер заполнился», то триггер установится в «0» и EWR = «0», т.е. запись запрещена. Если последним было чтение, то триггер установится в «1» и ERD = «0» т.е. чтение запрещено.

В данной схеме импульсы RD и W R не должны появляться одновременно.

 

Существуют микросхемы реализующие буфер FIFO, например 1002ИР1 (32х8) ( рисунок 4.21).

 

R = «1» – сброс – стирание информации.

 

Характерное применение буфера FIFO – очередь команд в микропроцессорах.

 

Рисунок 4.21 - Буфер FIFO 1002ИР1.

 

Буфер памяти «магазин»(LIFO)

    

Магазинная память (другое название – «стек» - Stack) во многом аналогична по названию буферу «очередь», но использует принцип «первый вошедший выходит последним» (LIFOLast Input, First Output). Стековая память широко используется в микропроцессорных системах.

Назовём сигналы управления по имени команд в микропроцессорах: PUSH («загрузить в стек») и POP («извлечь из стека»). Сигналом PUSH источник загружает данные в стек, сигналом РОР приёмник считывает данные.

Буфер LIFO можно построить, используя СОЗУ (см. рисунок 4.22).

 

                                          

 

                     Рисунок 4.22 - Схема буфера LIFO

 

Здесь используется реверсивный счётчик Ст, на который подаются импульсы PUSH и POP.

Запись в стек производится сигналом PUSH: записываются входные данные DI в текущую ячейку памяти, затем по окончании импульса PUSH (т.е. по переднему фронту), адрес ячейки увеличивается на единицу.

При чтении сигналом РОР данные текущей ячейки считываются по шине DO, затем адрес уменьшается на единицу.

Если внимательно проанализировать работу схемы, то ясно, что адрес ЯП при записи должен быть на единицу больше, чем при чтении: ведь после записи в i-ю ячейку, код адреса становится равным (i + 1), а считывать данные в следующий раз нужно из i–й ячейки. Для этой цели на шине адреса записи AW стоит инкрементор INC.

 

Для реализации буфера LIFO можно также использовать сдвиговые регистры, способные производить сдвиг в обе стороны.

 

Построение блоков памяти

 

В большинстве случаев для реализации памяти заданной ёмкости недостаточно одной микросхемы и приходится использовать несколько корпусов.

Рассмотрим пример 1. Пусть интерфейс вычислительной системы (МП) имеет те же сигналы управления, что и микросхемы памяти: CS, R/W. Ёмкость микросхемы памяти ОЗУ 1Кх4 (541РУ2). Шина данных – общая для ввода и вывода данных.

Необходимо построить блок памяти ОЗУ ёмкостью 4Кх8.

Т. к. необходима шина данных в два раза большей разрядности, то необходимо использовать два корпуса ОЗУ. При этом все сигналы: ША, R/W, CS подаются на обе микросхемы параллельно (рисунок 4.23).

 

 

                        Рисунок 4.23 - Блок памяти 1Кх8

 

 

Для увеличения разрядности адреса используется несколько микросхем памяти, управляемых через дешифратор DC (рисунок 4.24). При этом обычно младшие разряды адреса подаются на все ИМС параллельно, а старшие разряды управляют дешифратором, который подключает одну из ИМС, т.е. «страницу памяти». При памяти 4Кх8 разрядность адреса составляет 12 разрядов, что на 2 больше, чем у ИМС, значит необходимо использовать дешифратор 2х4.

 

Рисунок 4.24 - Блок памяти 4Кх8

 

Пример 2.

 

Необходимо построить блок памяти 8Кх4. Шина данных – общая для ввода и вывода. Сигналы управления: RD, WR. Используются микросхемы ёмкостью 4Кх1 со входами управления CE, WE, OE.

Одноразрядные микросхемы имеют раздельные вход данных DI и выход данных DO. Поскольку в режиме записи выход DO находится в третьем состоянии, контакты DI и можно объединить (см. рисунок 4.25).

 

 

 

Рисунок 4.25 - Построение блока памяти ОЗУ ёмкостью 8Кх4.

 

Пример 3. Импульсное питание ПЗУ (динамическое питание). Как известно, ПЗУ сохраняет данные при отключения питания. Т.к. ПЗУ потребляяет значительную мощность (Iпотр.= 100 – 200 мА на одну микросхему), то рационально подавать питание, только на одну микросхему из группы. В этом случае используют дешифраторы DC, управляющие транзисторными ключами, подключающими питание к выбранной микросхеме (рисунок 4.26).

 

    Рисунок 4.26 - Пример динамического питания ПЗУ

Несмотря на очевидные преимущества, данный способ имеет свои недостатки:

а) снижение напряжения питания на входах ПЗУ из-за падения напряжения на транзисторе.

б) снижение быстродействия из за инерционности транзисторов.

 

4.7 Постоянное запоминающее устройство (ПЗУ)

ПЗУ - постоянное запоминающее устройство (по-англ. - ROM - Read Only Memory - память только для чтения). Первые, наиболее старые представители энергонезависимой памяти, действительно использовались в аппаратуре только в режиме чтения, а их запись (программирование) осуществлялась либо в процессе изготовления кристалла, либо перед установкой в аппаратуру с помощью довольно сложного прибора - программатора. В дальнейшем, по мере совершенствования технологии производства и упрощения методов и алгоритмов записи, их современные модификации все чаще стали использовать в приборах и устройствах в режимах записи, стирания и перезаписи. Например, в модулях фискальной памяти кассовых аппаратов, в них заносится итоговая информация о дневной выручке и количестве покупок. В телевизорах ПЗУ используют для хранения различных настроек, а в телефонных аппаратах - для хранения и быстрого набора часто используемых телефонных номеров (записная книжка). Все эти применения противоречат самому смыслу понятия «память только для чтения». Попытки устранить это противоречие привели к обрастанию аббревиатуры «ПЗУ» уточняющими приставками: ППЗУ - программируемые ПЗУ, СППЗУ - стираемые ППЗУ, РПЗУ - репрограммируемые ПЗУ (PROM - Programmable ROM, EPROM - Erasable PROM, EEPROM - Electrically Erasable PROM) и т.д. Однако, наиболее точным обобщающим названием этого класса приборов является «энергонезависимая память».

Типичное условное изображение микросхемы ПЗУ показано на рисунке 4.27.

 

В принципе, микросхемы ПЗУ любого типа имеют одинаковые группы сигналов.

1) входные сигналы шины адреса (ША),

2) один или несколько входов «выбор кристалла» CS ( Chip Select ),   

3) выходные сигналы шины данных (ШД).

Если число разрядов адреса равно 15, то число ячеек памяти равно 215 = 32768. Разрядность ШД равна 8. Таким образом, ёмкость изображённой микросхемы равна 32768х8 или, как обычно говорят 32Кх8 – 32 килобайта.

При включении выходов (обычно CS=«0») при подаче кода адреса на входы – на выходе ШД появится соответствующий код данных.

При CS=«1» – выходы микросхемы в третьем состоянии.

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

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

 

 

Масочные ПЗУ (МПЗУ)

 

Во многих видах ПЗУ элементом памяти является проводник – перемычка. Соеди-нением её с лог. «0» или лог. «1», можно подавать на выход разряда ШД соответствующее значение сигнала. Перемычки могут быть изготовлены в кристалле полупроводника в виде резисторов, диодов или транзисторов.

Программирование ПЗУ заключается в формировании перемычек в соответст-вующих элементах памяти.

Программирование масочных ПЗУ (МПЗУ) производится на заводе-изготовителе путём изготовления трафарета («маски»). Для каждого типа микросхем изготавливается своя маска, отсюда и название данного типа ПЗУ. 

Программирование МПЗУ производится однократно и перепрограммирование её невозможно. Микросхемы масочных ПЗУ обозначаются буквами РЕ, например – 155РЕ21.

Микросхемы МПЗУ в принципе не позволяют каким-либо образом изменить хранящуюся в них информацию. Это является и достоинством, так как делает хранение информации более надёжным, и недостатком – так как потребитель не может внести в память свою информацию.

 

Обычно МПЗУ используют в качестве источника стандартных функций, например: кодов русского, латинского алфавита, арифметических знаков и цифр, других символов, некоторых функций (например, тригонометрических) и даже простых операционных систем. То есть. Другими словами, - информации, которая не является уникальной и может быть использована многими пользователями.

Возможно изготовление маски по заказу потребителя, но в этом случае цена её будет существенно выше.

Существуют модификации некоторых типов микросхем МПЗУ. В этом случае, они называются, например:

К568РЕ1-0001, К568РЕ1-0002 и т. д.

Программируемые ПЗУ (ППЗУ)

 

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

Функциональный состав серии включает микросхемы емкостью до 64 Кбит со словарной 4- и 8-разрядной организацией с временем выборки 45-85 нс, и уровнем потребляемой мощности 0.6 - 1 Вт.

Небольшая часть микросхем ППЗУ выполнена по другим технологиям ИИЛ (KS41), n-МДП (К565), ЭСЛ (К500 К1500), КМДП (К1623).Микросхемы серии К1623 отличаются самым низким уровнем энергопотребления, но по быстродействию они существенно уступают микросхемам К556 серии. Для микросхем ППЗУ всех серий, кроме К500, К1500, К565, характерны такие свойства, как единое напряжение питания + 5 В, наличие входных и выходных ТТЛ уровней напряжения лог. нуля (0.4 В) и лог. единицы (2.4 В).

Пример микросхемы ППЗУ 556РТ16 ёмкостью 8Кх8 показан на рисунке. 4.28.

 

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

 - титан – вольфрам

- силиций платаны

- нихром

- поликристаллический кремний.

 

 

 

На рисунке 4.29 показан пример элемента памяти. В данном случае наличие перемычки означает лог. «0», т.к. она соединена с общим проводом, а отсутствие перемычки соответственно означает лог. «1».

 

Программирование ПЗУ

 

В исходном состоянии в ППЗУ имеется все перемычки, т.е. записаны все нули.

Операция программирования заключается в разрушении (пережигании) части плавких перемычек на поверхности кристалла импульсами тока амплитудой 30 - 50 мА в ячейках, в которых нужно изменить исходное состояние.

Пережигание происходит в соответствии с таблицей истинности, путём подачи более высокого напряжения U=10–12 В. Это в чём-то сходно с перегоранием предохранителей при возрастании тока выше допустимого значения.

Часто ППЗУ называют однократно программируемыми. Из принципа действия их понятно, что программировать их можно сколько угодно раз, но каждый раз пережигая новые перемычки, в то время, как восстановить их уже нельзя.

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

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

Для программирования ПЗУ используются специальные устройства, называемые программаторами. В настоящее время существует много промышленных и радиолюби-тельских устройств для программирования ПЗУ.

После программирования нужно проверить информацию в ПЗУ, так как не все нужные перемычки могут быть разрушены. Для различных типов ППЗУ вероятность правильного программирования (коэффициент программирования) составляет примерно: Кпр. = 0,65 – 0,9.

При необходимости – производят повторное программирование. Возможно использование форсированного режима с использованием импульсов большей длительности (но не амплитуды!)

Часто для повышения надёжности запрограммированное ППЗУ подвергают термотренировке – выдерживанию в термостате в течение определённого времени при высокой температуре (например – 168 час. при температуре +125 градусов). Если после термотренировки обнаружены ошибки – производят повторное программирование.

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


Дата добавления: 2019-03-09; просмотров: 398; Мы поможем в написании вашей работы!

Поделиться с друзьями:






Мы поможем в написании ваших работ!