Используя данные теоремы, любую логическую функцию можно реализовать посредством блоков “И” и “НЕ” или “ИЛИ” и “НЕ”(это доказал Шеффер в 1913г.).
Пример: Функция “ИСКЛЮЧАЮЩЕЕ ИЛИ”.
Схематическое изображение функции
Обычно при постановке задачи логическую функцию представляют в виде таблицы истинности. Для получения уравнения логической функции и его минимизации используют метод “карт Карно”.
В соответствии с этим методом для получения уравнения логической функции необходимо:
1. Составить таблицу истинности функции в которой должны быть представлены все возможные сочетания входных сигналов и соответствующие им состояния выхода. В случае, когда состояние входа не оказывает влияния на выход, ставится X (любое значение).
2. Разбить все входные переменные на две группы произвольным образом.
3. Составить прямоугольную таблицу. Вдоль осей таблицы отложить последовательные состояния выделенных групп переменных в коде Грея.
4. Заполнить ячейки, расположенные на пересечении строк и столбцов таблицы значениями функции, соответствующими текущей комбинации состояний входных переменных.
5. Выделить в таблице все группы, содержащие 1 (либо 0).
6. Записать уравнение функции по выделенным группам.
Пример: Функция задана таблицей истинности.
A
B
C
Q
Составим карту Карно для данной функции.
AB
C
Выделяем группы, содержащие “1”.
Согласно выделенным группам записываем уравнение логической функции.
Схематическое изображение функции:
Рассмотрим основные виды комбинационных логических устройств.
Полным дешифраторомназывается устройство, имеющее n входов и выходов, причем каждой комбинации значений входных сигналов соответствует сигнал, равный 1, только на одном выходе. В качестве примера рассмотрим дешифратор на 2 входа. Его таблица истинности имеет вид.
X1
X2
Q0
Q1
Q2
Q3
Т.о., логические уравнения для соответствующих выходных разрядов дешифратора имеют вид:
; ; ; .
Схема, реализующая подобное устройство имеет вид.
Полный дешифратор, дополненный общим разрешающим входом называется дешифратором-демультиплексором. Если добавить в рассмотренный дешифратор общий разрешающий вход E, то его уравнения примут вид:
; ; ; .
Примером подобного дешифратора может служить микросхема 1533 ИД7 (74ALS138), представляющая собой дешифратор 3*8 с тремя входами общего разрешения: единичным G1, нулевыми G2AN и G2BN. Работа микросхемы разрешена если G1=1 & G2AN=0 & G2BN=0.
Т.о., дешифраторы осуществляют преобразование двоичного кода в унитарный код, т.е. код, только один из разрядов которого равен 1.
Шифраторы выполняют функцию обратную дешифраторам, т.е. преобразуют унитарный код в двоичный.
Таблица истинности шифратора на 4 входа имеет вид:
X1
X2
X3
X4
Q0
Q1
Уравнения для соответствующих выходов шифратора имеют вид:
;
.
Схема, реализующая указанные уравнения имеет вид.
Мультиплексоромназывается комбинационная схема, имеющая m адресных и информационных входов, а также один выход, на который подается сигнал с того информационного входа, чей адрес в данный момент присутствует на адресных входах. Рассмотрим мультиплексор на 2 входа X и Y с адресным входом S. Таблица истинности такого устройства имеет вид:
X
Y
S
Q
Этой таблице истинности соответствует следующее уравнение выхода
Этому уравнению соответствует схема.
При добавлении общего разрешающего входа E получим устройство, называемое селектор-мультиплексор. При этом его уравнение примет вид
.
Примером подобного устройства может служить микросхема 1533КП7 (74ALS151), представляющая собой селектор-мультиплексор на 8 каналов с общим входом разрешения G.
Демультиплексоры выполняют функцию, обратную мультиплексорам, т.е. производят коммутацию одного информационного входного сигнала на выходов, где m - число адресных входов. Рассмотрим демультиплексор на 2 выхода. Его таблица истинности имеет вид:
X
S
Q0
Q1
Этой таблице истинности соответствуют уравнения выходов:
; .
Этим уравнениям соответствует схема.
Создадим устройство для суммирования двух двоичных чисел и . Опишем закон формирования младшего разряда суммы и переноса в следующий разряд с помощью таблицы истинности.
Т.о. получим уравнения для младшего разряда суммы и переноса:
По полученным уравнениям получаем схему т.н. полусумматора.
Обозначим разработанное устройство блоком S0.
Закон формирования любого следующего разряда суммы и разряда переноса в следующий разряд описывается таблицей истинности.
Т.о. получаем уравнения для произвольного разряда суммы и переноса:
Т.о. получаем схему суммирования чисел произвольной разрядности.
Включая параллельно несколько подобных схем можно получить устройство для суммирования произвольного числа разрядов.
Создадим схему, реализующую преобразование прямого кода числа в его дополнительный код. Как известно для этого необходимо найти обратный код числа и прибавить к нему 1.
Схема, вычисляющая обратный код числа описывается уравнением
Эта схема называется “инвертор”.
Обозначим это устройство как
Подав на один вход сумматора код с выхода инвертора, а на другой код числа “1”, на выходе сумматора получим дополнительный код числа.
Обозначим это устройство
Включив параллельно несколько схем вышеописанного мультиплексора получим мультиплексор на требуемое число разрядов.
Создадим устройство, способное складывать или вычитать два числа, в зависимости от состояния управляющего сигнала c.Для этого необходимо подать на один вход сумматора код одного из чисел, а на другой его вход подать либо прямой либо дополнительный код второго из чисел, в зависимости от состояния управляющего входа c. Такую коммутацию сигналов можно осуществить с помощью мультиплексора.
Разработанное устройство представляет собой примитивный прообраз арифметическо-логического устройства процессора.
Лекция № 4
“Последовательностные логические устройства.”
Все ранее рассмотренные схемы являются схемами мгновенного действия. Информация на их выходах меняется мгновенно с изменением информации на входах. Поэтому, они называются комбинационными. Однако, зачастую бывает необходим элемент, способный запоминать информацию о том, что какое-то событие имело место. Назовем егозапоминающим устройством (ЗУ).
Элементарной запоминающей ячейкой является триггер. Простейший, т.н. “R-S” триггер может быть построен с помощью двух логических элементов путем введения обратных связей.
При подаче активного уровня на вход R на выходе Q устанавливается низкий уровень, а на выходе - высокий уровень сигнала, и не меняется при дальнейших изменениях уровня сигнала на входе R. Аналогично, при подаче активного уровня на вход S, на выходе Q устанавливается высокий уровень, а на выходе - низкий. Одновременная подача активных уровней на оба входа запрещена. Простейший R-S триггер фиксирует информацию, поступившую на его входы в любой момент времени.
Как можно заметить, состояние выходных сигналов подобных схем зависит не только от входных, но и от выходных сигналов, запоминаемых устройством до прихода новой совокупности входных сигналов. Такие устройства называются последоватеностными схемами или конечными автоматами.
Работу триггерных схем можно описать с помощью таблиц, аналогичным ранее применявшимся таблицам истинности. Однако, в данном случае они называются таблицами переключений. Для простейшего RS-триггера Таблица переключений имеет вид:
Sn
Rn
Qn
Qn+1
X
X
Представленной таблице переключений соответствует следующая карта Карно:
Qn SnRn
X
X
Если позиции, соответствующие неопределенным состояниям заполнить единицами, то получим функцию RS-триггера с инверсными входами:
;
Если неопределенные позиции заполнить нулями, то получим уравнение RS-триггера с прямыми входами:
;
Оба приведенных типа триггеров имеют запрещенное состояние входных сигналов 11, приводящее к несанкционированному переключению выхода в 0 или 1.
Если заполнить неопределенные позиции комбинацией 01, то получим уравнение т.н. E-триггера:
;
Этот триггер не имеет запрещенных комбинаций. Комбинация входных сигналов 11 не меняет состояние выходных сигналов.
Если заполнить неопределенные позиции комбинацией 10, то получим уравнение т.н. JK-триггера:
;
JK-триггер является часто используемым, поэтому для отличия от RS-триггера его входы не S и R, а J и K соответственно. Поэтому уравнение JK-триггера можно переписать так:
;
Этот триггер характерен тем, что комбинация входных сигналов 11 приводит к инвертированию выходных сигналов. Данное свойство этого триггера позволяет ему работать в т.н. “счетном” режиме. Для этого необходимо объединить входы J и K. При этом каждый входной импульс будет приводить к инвертированию выходного сигнала. Триггер, работающий в счетном режиме называют Т-триггером.
Уравнение Т-триггера получим произведя замену J=K=T в последнем уравнении:
;
Объединив последовательно несколько Т-триггеров можно получить простейший двоичный счетчик или делитель частоты.
Подобные счетчики обладают пониженным быстродействием т.к. каждый триггер вносит некоторую задержку при прохождении счетных импульсов.
Из-за конечного времени переключения логических элементов и задержки срабатывания в логических схемах возможны т.н. “гонки сигналов” - переходные режимы, вызванные тем, что из-за задержек поступления информации выходной сигнал на некоторое время принимает ложные значения. Рассмотрим эти режимы на примере схемы, реализующей функцию .
Теоретически выходной сигнал такой схемы Y должен быть всегда равен 1 и не изменяться при изменении входного сигнала X. Однако в реальной схеме инвертор имеет конечное время распространения сигнала, из-за чего сигнал на второй вход элемента “И-НЕ” приходит несколько позже чем на первый. Т.о. существует короткий интервал времени, в течение которого комбинация входных сигналов логического элемента соответствует нулевому уровню выходного сигнала.
Подобные ситуации могут приводить к ложным срабатываниям триггеров и нарушению алгоритма работы устройства. Устранить ошибки, возникающие за счет “гонок сигналов” в логических цепях можно за счет временного стробирования. Вырабатываемый логическим устройством сигнал в этом случае передается на последующие устройства не непрерывно и не в произвольные моменты времени, а только в такие моменты времени, когда искажение правильных значений выходного сигнала за счет “гонок” заведомо исключено.
Временное стробирование обеспечивается с помощью схем совпадения (схем “И” или “И-НЕ”). В течение времени стробирования на один вход схемы “И” действует стробирующий импульс, а на второй - сигнал логического устройства. Обычно стробирующие сигналы действуют периодически. Их называют тактовымиилисинхронизирующими. Период следования тактовых импульсов называюттактом логического устройства. Триггеры, работающие с использованием синхронизирующих сигналов, называютсинхронными. Схема синхронного RS-триггера имеет вид:
Основой схемы служит асинхронный RS-триггер с инверсными входами. Сигнал на каждый вход триггера подается через схему “И-НЕ”. При активном единичном уровне синхросигнала C сигналы со входов S и R передаются на соответствующие входы триггера, а при нулевом уровне синхросигнала на обоих входах триггера устанавливается неактивный единичный уровень сигналов. Т.о., синхронный R-S триггер, в отличие от него, обеспечивает фиксацию информации только при активном состоянии на входе синхронизации. Логическая функция синхронного RS-триггера имеет вид:
;
Состояние в синхронных триггерах может измениться только во время действия синхроимпульса. В промежутках между синхроимпульсами выходные напряжения постоянны. Это свойство позволяет создать на основе синхронных RS-триггеров триггеры задержки - D-триггеры (Delay Trigger). D-триггер фиксирует информацию, приходящую на один вход данных. У D-триггера значение выходного сигнала в (n+1) такте равно значению входного сигнала в n такте. Т.о., D-триггер запоминает состояние входного сигнала на период одного такта квантования. Схема D-триггера имеет вид:
Он выполняет логическую функцию:
;
Из D-триггера можно получить счетный T-триггер, подав на вход D сигнал с инверсного выхода.
Описанные типы триггеров пропускают входной сигнал на выход в течение всего активного периода сигнала синхронизации.
Двухступенчатый триггер никогда непосредственно не пропускает входной сигнал на выход.
Синхронные триггеры выпускаются в виде отдельных микросхем, примерами которых могут служить КР1533ТВ9 (74ALS112) - двойной JK-триггер, КР1533ТМ2 (74ALS74) - двойной D-триггер и др.
Объединив несколько D-триггеров с единым входом синхронизации можно получить регистр, способный фиксировать многоразрядную информацию. В соответствии со структурой внутренних триггеров существуют регистры-защелки и регистры с синхронным стробированием. Регистры-защелки пропускают входную информацию на выход при одном уровне сигнала синхронизации и фиксируют ее при переходе сигнала синхронизации в другое состояние. Регистры с синхронным стробированием фиксируют информацию по фронту сигнала синхронизации. Примерами таких регистров могут служить микросхемы КР1533ИР22 (74ALS373) - 8-разрядный регистр-защелка и КР1533ИР23 (74ALS374) - 8-разрядный регистр, фиксирующий информацию по переднему фронту сигнала синхронизации.
Функции переходов рассмотренных типов триггеров можно получить из уравнений этих триггеров если в них положить С=1. Они имеют вид:
- для D-триггера;
- для JK-триггера;
- для Т-триггера.
Отсюда можно вывести функции возбуждения каждого из перечисленных типов триггеров, которые определяют какие значения должны быть установлены на управляющих входах в предыдущем такте квантования для того, чтобы в следующем такте на выходе триггера установился сигнал заданного значения. Эти функции имеют вид:
- для D-триггера;
- для JK-триггера;
- для Е-триггера.
Представленные функции используются для синтеза конечных автоматов. Продемонстрируем процесс синтеза на примере создания двоичного счетчика. Составим таблицу переключений счетчика в которой представим последовательные комбинации выходов счетчика и комбинации, следующие за текущей.
После этого можно составить карты Карно и определить уравнения зависимостей последующих состояний разрядов счетчика от предыдущих.
;
;
;
Подставляя теперь эти уравнения в выражения для функций возбуждения получим уравнения для цепей, формирующих управляющие сигналы триггеров соответствующих разрядов счетчика. В случае реализации счетчика на Т-триггерах получим:
;
;
.
Эти уравнения соответствуют следующей схеме.
В случае реализации счетчика на D-триггерах получим уравнения:
;
;
.
Эти уравнения соответствуют следующей схеме.
Аналогичным образом можно осуществить синтез двоично-десятичных, вычитающих, реверсивных и других типов счетчиков. Подобные счетчики называются синхронными, т.к. сигнал синхронизации подается одновременно на все триггеры. Такие устройства выпускаются серийно в виде отдельных микросхем, примерами которых могут служить КР1533ИЕ9 (74ALS160) - 4-разрядный двоично-десятичный синхронный счетчик, КР1533ИЕ10 (74ALS161) - 4 разрядный двоичный синхронный счетчик и др.
Данные устройства имеют параллельную предзагрузку данных через входы A, B, C, D и строб загрузки LOAD, а также сброс в нулевое состояние по сигналу CLR. Выход переноса в следующий разряд RCO устанавливается в нулевое состояние если текущее состояние счетчика является последним (1111 - для двоичных и 1001 - для двоично десятичных). Включая последовательно несколько таких устройств можно создавать многоразрядные синхронные счетчики.
Если объединить несколько D-триггеров по цепочке, соответствующей уравнению , то получим т.н. регистр сдвига.
Они используются как устройства с последовательным вводом данных (для ввода N-разрядного двоичного слова необходимо n тактов квантования), а также для выполнения операций умножения или деления на путем сдвига двоичного слова на n разрядов в лево или вправо соответственно.
Лекция № 4
Основными операциями в памяти, в общем случае, являются:
-запись - занесение информации в память;
-считывание - выборка информации из памяти.
Основными характеристиками систем памяти являются:
- информационная емкость - максимально возможное количество байтов хранимой информации;
- ширина выборки (разрядность) - количество разрядов информации, записываемых в ЗУ или извлекаемых из него за одно обращение;
- время обращения (быстродействие) - характеризуется временем цикла обращения к ЗУ, т.е. интервалом времени от момента поступления кода адреса до установления информации на выходе.
- способность сохранения информации при отключения питания.
По способу организации доступа к памяти различают ЗУ с произвольным доступом (адресные) и ЗУ с последовательным доступом (безадресные).
По способу хранения информации различают статические и динамические ЗУ.
СОЗУ представляют собой набор регистров, содержание которых непосредственно используется при обработке информации в микропроцессоре. СОЗУ встроено в БИС микропроцессора и предназначено для хранения команд, операндов и результатов промежуточных вычислений. Разрядность СОЗУ соответствует разрядности микропроцессора.
ОЗУ предназначено для хранения оперативной (переменной) информации, требующейся в процессе обработки. ОЗУ разделяют на динамические и статические. Элементарная ячейка динамического ОЗУ базируется на конденсаторе.
Подобные запоминающие ячейки расположены в виде матрицы на пересечении линий связи, называемых соответственно столбцами и строками. Во время цикла записи конденсатор заряжается до “0” или “1” от шины выбора столбца при активном состоянии сигнала выбора ряда. Во время цикла чтения заряд конденсатора передается через открытый транзистор и шину выбора столбца на выходные усилители, и дальше, на выход. Утечки емкости, а также ее разряд во время цикла чтения обуславливают необходимость регенерации информации, которая заключается в последовательном переборе адресов строк. Примером динамического ОЗУ может служить микросхема К565РУ7.
Ее основные характеристики:
Емкость - 256 Кбит.
Разрядность - 1 бит.
Время цикла “запись/чтение” - около 300 нс.
Диаграмма цикла записи данных имеет вид.
Сначала на адресные входы подается код адреса необходимой строки, который фиксируется внутри микросхемы по отрицательному фронту сигнала RAS. Затем, аналогичным образом, по отрицательному фронту сигнала CAS фиксируется код адреса необходимого столбца. После этого, по отрицательному фронту сигнала WR данные, находящиеся на входе DI, записываются в выбранную запоминающую ячейку.
Диаграмма цикла чтения имеет вид:
Адрес требуемой запоминающей ячейки фиксируется аналогично циклу записи. При нулевом уровне сигнала на входе CAS и единичном на входе WR выход DO выходит из высокоимпедансного состояния и на нем появляются данные из требуемой запоминающей ячейки.
Регенерация информации осуществляется обращением к каждой из 512 строк не реже, чем один раз каждые 8 мс. При этом регенерируется сразу вся строка.
Элементарной запоминающей ячейкой статического ОЗУ является триггер. Триггер, как схема с двумя устойчивыми состояниями не требует регенерации информации. Он способен хранить информацию как угодно долго при включенном питании. Примером статического ОЗУ может служить микросхема КР537РУ10.
Ее основные характеристики:
- Емкость - 16384 бита;
- Разрядность - 8 бит (2048*8);
- Время цикла записи/чтения - 200 нс.
Диаграммы циклов чтения и записи имеют вид:
На адресные входы подается код полного адреса требуемой запоминающей ячейки (а не отдельные адреса строки и столбца как в предыдущем случае) и удерживается на протяжении всего цикла. Вход CS является входом выбора кристалла. Микросхема осуществляет цикл записи или чтения только при нулевом уровне сигнала на этом входе. Вход OE является входом разрешения выхода. При подаче на этот вход сигнала нулевого уровня выходы данных микросхемы выходят из высокоимпедансного состояния и на них появляются данные из запоминающей ячейки, адрес которой в данный момент присутствует на адресных входах. Запись данных в микросхему осуществляется по положительному перепаду сигнала на входе WR/RD при единичном уровне сигнала на входе OE и нулевом - на входе CS.
Статические ОЗУ, как правило, быстрее чем динамические и не требуют, как последние регенерации информации в процессе работы. Однако, они сложнее динамических ОЗУ по своей организации. Поэтому статические ОЗУ как правило имеют меньший объем и большую стоимость чем динамические ОЗУ.
ПЗУ - запоминающее устройство, содержимое которого не может быть изменено микропроцессором в процессе работы и сохраняется при выключении питания. Эти запоминающие устройства в составе системы работают только в режиме чтения.
По способу программирования ПЗУ делятся на масочные и электрически программируемые.
Масочные ПЗУ реализуются на базе диодных или транзисторных матриц.
Выбор необходимой информации осуществляется подачей нуля на соответствующую адресную шину. Если диод есть, то на разрядной шине окажется ноль, если нет - то единица. Запись информации осуществляется путем выжигания ненужных диодов лазерным или электронным лучом на заводе в процессе изготовления микросхемы. В дальнейшем записанная информация изменена быть не может.
Более быстрое ПЗУ реализуется на биполярных и МОП - транзисторах. Информация записывается путем нанесения или отсутствия металлизации стока затвора.
Примером масочного ПЗУ может служить микросхема К555РЕ4.
Ее основные характеристики:
- емкость - 16 Кбит;
- организация - 2К*8;
- время цикла чтения - 110 нс.
Микросхема представляет собой генератор символов КОИ -8.
Перепрограммируемые ПЗУ бывают двух типов: электрически стираемые и с ультрафиолетовым стиранием. Электрически стираемые изготавливаются по МОП - технологии. При подаче на затвор транзистора большого управляющего импульса на транзисторе фиксируется уровень заряда, который сохраняется при снятии программирующего импульса. Амплитуда программирующего импульса в несколько раз превышает амплитуду обычных логических уровней сигналов. При подаче на затвор транзистора импульса обратной полярности его заряд стекает и транзистор вновь переходит в непроводящее состояние. Таким образом осуществляется перепрограммирование.
ППЗУ с ультрафиолетовым стиранием строятся на МОП ячейках с плавающим затвором. Режим программирования осуществляется аналогично электрически стираемым ППЗУ, однако перепрограммирование нельзя осуществить подачей импульса обратной полярности. Для стирания информации матрица облучается ультрафиолетовым излучением определенного спектра, которое переводит все транзисторы обратно в непроводящее состояние.
Примером ППЗУ с УФ стиранием может служить микросхема К573РФ2.
Ее основные характеристики:
- емкость - 16384 Бит;
- разрядность - 8 Бит;
- время цикла чтения - 200 нс.
Диаграмма цикла чтения имеет вид.
Данные из запоминающей ячейки, адрес которой присутствует на адресных входах в течение всего цикла, считываются при подаче сигналов нулевого уровня на вход выбора кристалла CS и вход разрешения выхода CEO. На входах PR и UPR при этом должны быть единичные уровни сигналов.
Диаграмма цикла программирования имеет вид.
Программирование запоминающей ячейки осуществляется при единичном уровне сигнала на входе CEО и нулевом уровне сигнала на входе CS путем подачи напряжения программирования 20 В на вход UPR и нулевого импульса программирования длительностью 50 мс на вход PR . Как видно из приведенных диаграмм, режим программирования существенно отличается от режима чтения и в общем случае не может быть реализован в работающей системе. Программирование подобных микросхем осуществляется в специальных устройствах, называемых программаторами ППЗУ.
“Flash-память”.
Flash-память - электрически перепрограммируемое интеллектуальное ПЗУ, которое может быть перепрограммировано непосредственно в работающей системе.
Flash-технология была анонсирована фирмой Intel в 1989 году. Flash-память имеет внутри себя встроенный управляющий микроконтроллер. В обычном режиме чтения, в который Flash-память переходит сразу после включения питания, она ничем не отличается от обычного ПЗУ. Для того, чтобы очистить блок памяти или записать байт необходимо сначала задать последовательность команд внутреннему контроллеру. Процедуры очистки и записи внутренний контроллер осуществляет самостоятельно.
Примером микросхемы Flash-памяти может служить микросхема 28F200BV-T/B из семейства Boot Block Flash Memory фирмы Intel.
Характеристики микросхемы:
Емкость - 2 Мбита;
Разрядность - 8/16 бит (128К*16 или 256К*8);
Время цикла чтения - 60 - 120 нс;
Количество циклов перезаписи - 100000;
Потребление в активном режиме - 60 мА;
Потребление в режиме Power Down - 0.2 мкА.
Выводы микросхемы имеют следующее функциональное назначение:
A0 - A16 - шина адреса;
D0 - D15 - шина данных;
- вход выбора кристалла;
- вход разрешения выхода;
- вход разрешения записи (строб записи);
- сигнал сброса микросхемы и ввода ее в режим пониженного энергопотребления;
- вход выбора разрядности (8 или 16 бит).
Микросхема может работать в режимах с разрядностью 8 или 16 бит в зависимости от уровня сигнала на входе . Если на этом выводе единичный уровень сигнала, то микросхема работает с разрядностью 16 бит. Данные, в этом случае, передаются и принимаются через выводы DQ0 - DQ15. Если на выводе нулевой уровень сигнала, то микросхема работает с разрядностью 8 бит. В этом случае данные передаются и принимаются через вывода DQ0 - DQ7, выводы DQ8 - DQ14 находятся в высокоимпедансном состоянии, а вывод DQ15/A-1 используется как вход дополнительного младшего адресного разряда (т.к. при разрядности 8 бит объем адресуемых ячеек микросхемы возрастает в два раза).
Организационно весь объем памяти микросхемы разбит на пять блоков:
блок загрузки (Boot Block), объемом 16 Кбайт;
два блока параметров (Parameter Block), объемом по 8 Кбайт каждый;
два основных блока (Main Block), объемом 96 и 128 Кбайт.
Адресное пространство распределено среди указанных блоков следующим образом.
28F200BV-T
Блок
28F200BV-B
1FFFFH (3FFFFH)
...
1E000H (3C000H)
Boot Block
16 KB
00000H
...
01FFFH (03FFFH)
1DFFFH (3BFFFH)
...
1D000H (3A000H)
Parameter Block
8 KB
02000H (04000H)
...
02FFFH (05FFFH)
1CFFFH (39FFFH)
...
1C000H (38000H)
Parameter Block
8 KB
03000H (06000H)
...
03FFFH (07FFFH)
1BFFFH (37FFFH)
...
10000H (20000H)
Main Block
96 KB
04000H (08000H)
...
0FFFFH (1FFFFH)
0FFFFH (1FFFFH)
...
00000H
Main Block
128 KB
10000H (20000H)
...
1FFFFH (3FFFFH)
Микросхема может работать в режимах с разрядностью 8 и 16 бит. В скобках указаны адреса для режима с разрядностью 8 бит. У микросхем с индексом B Boot Block расположен в области младших адресов, а у микросхем с индексом T - в области старших адресов. Это позволяет использовать микросхемы в системах с микропроцессорами, начинающими работу в области старших и младших адресов.
Интерфейс между процессором и внутренним контроллером Flash-памяти называется Command User Interface (CUI). Взаимодействие между процессором и внутренним контроллером осуществляется путем записи в CUI определенного набора команд и чтения регистра состояния микросхемы. Текущий режим работы микросхемы определяется записью соответствующей команды в CUI. Возможны следующие команды:
Чтение массива/Сброс программирования и стирания. Код команды - 0FFH.
Предустановка программирования. Код команды - 40H или 10H.
Предустановка очистки. Код команды - 20H.
Подтверждение очистки/Возобновление очистки. Код команда - 0D0H.
Приостановка очистки. Код команды - 0B0H.
Чтение регистра состояния. Код Команды - 70H.
Очистка регистра состояния. Код команды - 50H.
Чтение идентификатора. Код команды - 90H.
Возможные режимы работы микросхемы представлены в следующей таблице.
Режим
1-й цикл шины
2-й цикл шины
Цикл
Адрес
Данные
Цикл
Адрес
Данные
Чтение массива
Запись
x
0FFH
Чтение регистра состояния
Запись
x
70H
Чтение
x
SRD
Очистка регистра состояния
Запись
x
50H
Запись байта или слова
Запись
WA
40H
Запись
WA
WD
Очистка блока
Запись
BA
20H
Запись
BA
0D0H
Приостановка/Возобновление очистки
Запись
x
0B0H
Запись
x
0D0H
где:
SRD - содержимое регистра состояния;
WA - адрес записываемой ячейки;
WD - записываемые данные;
BA - любой адрес внутри стираемого блока.
Регистр состояния это внутренний регистр микросхемы, биты которого определяют текущее состояние микросхемы. Регистр состояния микросхемы имеет следующую структуру.
D7
D6
D5
D4
D3
D2
D1
D0
WSMS
ESS
ES
PS
VPPS
R
R
R
Отдельные биты регистра состояния имеют следующее значение:
- WSMS (Write State Machine Status) - статус операции:
1 - готово;
0 - занято;
- ESS (Erase Suspend Status) - статус приостановки очистки:
1 - очистка приостановлена;
0 - очистка продолжается/завершена;
- ES (Erase Status) - статус очистки:
1 - очистка при очистки блока;
0 - блок очищен успешно;
- PS (Program Status) - статус программирования:
1 - ошибка при записи слова/байта;
0 - байт/слово записан успешно;
- VPPS - статус напряжения программирования:
1 - пониженное напряжение программирования, операция прервана;
0 - напряжение программирования в норме;
- R - зарезервировано.
Рассмотрим отдельные режимы работы микросхемы.
Режим чтения массива.
Микросхема переходит в этот режим после включения питания и выхода из состояния сброса (положительный перепад сигнала на входе ) без дополнительных команд. В этом режиме микросхема подобна обычному ПЗУ.
Если микросхема не находится в режиме чтения массива, то перейти в него можно записав в CUI команду “Чтение массива” (0FFH) по любому адресу.
Режим чтения регистра состояния.
Для того, чтобы прочитать регистр состояния необходимо записать команду “Чтение регистра состояния” (70H) в CUI по любому адресу. После этого цикл чтения по любому адресу приведет к считыванию содержимого регистра состояния. Содержимое регистра состояния выдается всегда на выводы Q0 - Q7. В 16-разрядном режиме выводы Q8 - Q14 при этом находятся в высокоимпедансном состоянии, а вывод Q15/A-1 используется как дополнительный адресный вход. Для возврата в режим чтения массива после чтения регистра состояния необходимо записать команду “Чтение массива” (0FFH) в CUI по любому адресу.
Режим очистки регистра состояния.
Для очистки регистра состояния необходимо записать команду “Очистка регистра Состояния” (50H) в CUI по любому адресу. После этого все биты регистра состояния устанавливаются в 0. Для перехода в режим чтения массива после этого необходимо записать команду “Чтение массива” (0FFH) в CUI по любому адресу.
Режим очистки блока.
Для того, чтобы очистить любой из блоков, входящих в состав микросхемы необходимо последовательно записать команду “Предустановка очистки” (20H) и “Подтверждение очистки” (0D0H) в CUI по любому адресу, входящему в очищаемый блок. При очистке блока все биты во всех байтах, входящих в очищаемый блок устанавливаются в 1. В течение выполнения операции очистки бит D7 регистра состояния микросхемы равен 0, что свидетельствует о продолжении операции. После окончания операции очистки D7 становится равным 1. Бит D5 регистра состояния индицирует результат выполнения операции. Во время операции очистки уровень напряжения программирования на выводе VPP должен быть на уровне 5В. Если уровень напряжения VPP понижен, то операция выполняться не будет и бит D3 регистра состояния будет установлен в 1. После завершения операции необходимо очистить регистр состояния. Т.о. алгоритм операции очистки блока имеет следующий вид.
Для перехода в режим чтения массива после этого необходимо записать команду “Чтение массива” (0FFH) в CUI по любому адресу. Одновременно можно очистить только один блок. Очистить можно только весь блок целиком. Время очистки Boot Block - 0.3с, Parameter Block и Main Block - 0.6с.
Режим приостановки - возобновления очистки.
Т.к. операция очистки блока требует большого количества времени, ее можно приостановить с целью считать информацию из другого блока микросхемы. Если операция очистки блока была запущена, то запись команды “Приостановка очистки” (0B0H) в CUI по любому адресу приостанавливает ее. При этом текущее состояние микросхемы запоминается. Бит D6 регистра состояния индицирует приостановку процесса очистки. После этого в CUI может быть записана команда “Чтение массива” для чтения информации из любого другого блока микросхемы. Можно, также записать команду “Чтение регистра состояния” для считывания информации о состоянии микросхемы. Для продолжения процесса очистки блока с того места, где он был прерван необходимо записать команду “Возобновление очистки” (0D0H) в CUI по любому адресу.
Режим программирования байта/слова.
Для записи информации по определенному адресу в предварительно очищенную ячейку необходимо сначала записать в CUI по этому адресу команду “Предустановка программирования” (40H), а затем записать по этому адресу требуемую информацию. В процессе выполнения операции бит D7 регистра состояния равен 0. Во время процесса программирования можно задавать лишь команду “Чтение регистра состояния”. После окончания процесса программирования бит D4 регистра состояния показывает успешно ли она была завершена. В процессе программирования любой бит можно лишь изменить из 1 в 0. Т.о. алгоритм программирования байта/слова имеет следующий вид.
При попытке записать 1 в ячейку, в которой до этого был записан 0, информация в ячейке не изменится и ошибка не будет зафиксирована. Если во время процесса программирования напряжения программирования на выводе VPP будет ниже нормы (5В), то операция не будет произведена и бит D3 регистра состояния будет установлен в 1. Время записи байта/слова - 6мкс. Для перехода в режим чтения массива после операции программирования необходимо записать команду “Чтение массива” (0FFH) в CUI по любому адресу.
Защита блоков от стирания информации.
Блоки могут быть защищены от стирания и записи новой информации во избежание случайной потери информации. Существуют несколько режимов защиты блоков, которые отражены в следующей таблице.
VPP
Статус защиты
“0”
x
x
Все блоки открыты.
>“0”
“0”
x
Все блоки защищены (“Сброс”).
>“0”
12В
x
Все блоки открыты.
>“0”
“1”
“0”
Boot Block защищен, остальные открыты.
>“0”
“1”
“1”
Все блоки открыты.
Т.о. в активном состоянии для защиты всех блоков необходимо выполнение условия VPP=0. Если напряжение на выводе VPP>0, а на выводе - меньше 12В, то может быть защищен только Boot Block если напряжение на выводе равно 0. Если напряжение на выводе равно 12В, то эта защита не действует. Если блок защищен, то при попытке очистить его или записать в него информацию эти операции выполняться не будут и будет индицироваться соответствующая ошибка в регистре состояния.
Режим пониженного энергопотребления Deep Power Down Mode.
Для уменьшения потребления энергии предусмотрен режим пониженного энергопотребления, в который микросхема входит при =0. При этом все выходы микросхемы переходят в высокоимпедансное состояние. Микросхема потребляет в этом режиме ток от источника питания около 0.2 мкА. Для выхода из этого состояния необходимо установить единичный уровень сигнала на выводе . после этого микросхема возвращается в активное состояние в режим “Чтение Массива”, но только через 0.5 мкс.