Рефераты. Проектирование цифрового сглаживающего фильтра

А7

А6

А5

А4

А3

А2

А1

А0

SOD

SDEN

--

R 7.5

MSEN

M 7.5

M 6.5

M 5.5

M 7.5, M 6.5, M 5.5 – маски соответствующего прерывания

MSEN – разрешение установки маски прерываний

R 7.5 – бит, сбрасывающий триггер, где фиксируются запрос внешнего прерывания по входу RST 7.5

SDEN – Разрешение вывода данных, которые находятся в разряде A7

SOD – данные предназначенные для вывода через линию SOD


Установленная маска запрещает соответствующее прерывание. Смена маски в соответствии с А0-А2 выполняется только при разрешении её установки: MSEN=1. В противном случае функция установки маски подавляется.

Текущее состояние масок прерываний может быть прочитано по команде RIM.

При включении источника питания или пуске МП все индивидуальные маски устанавливаются, а флаг разрешения прерывания IEN сбрасывается, что приводит к запрету прерываний. Приём какого – либо запроса на прерывание тоже вызывает общее запрещение всех маскируемых прерываний, но при сохранении состояния индивидуальных масок. Кроме этого запрос TRAP сохраняет и состояние флага общего разрешения, которое может быть прочитано только после первой команды RIM. Вторая команда даёт результат текущего состояния маски, показывающего общий запрет прерываний.

В нашем случае маскирование с помощью режимного слова имеет вид:



Установка маски осуществляется по команде SIM. При этом режимное слово находится в аккумуляторе.

Настройка портов ввода-вывода

В качестве порта ввода и порта вывода в данной конфигурации используются соответственно порты А и В микросхемы РУ55. Порты А и В одинаковы, и каждый из них содержит 8-битовый регистр для буферного запоминания пересылаемого байта данных. Все разряды портов А и В используются для ввода и вывода параллельно, т.е. невозможна установка направления передачи для каждого разряда.

В зависимости от содержания РУС каждый порт (А и В) может работать в двух режимах: простого ввода – вывода ( без обмена управляющими сигналами) или ввода – вывода с квитированием сообщения ( с обменом управляющими сигналами). В режиме 0-го программируемого параллельного интерфейса (ППИ) порт С может осуществлять ввод- вывод параллельно по шести линиям.

Режим с квитированием сообщений соответствует режиму 1 ППИ. В этом случае линии порта С разбиваются на две группы , одна из которых обеспечивает обмен управляющими сигналами для порта А, а другая для порта В.Варианты использования линий порта С и соответственно организация работы всех портов представлены в следующей таблице:



Линии порта С

Варианты использования линии

ALT 3

ALT4

РС 0

INTR A

INTR A

РС1

BF A

BF A

РС2

STB A

STB A

РС3

Порт вывода

INTR B

РС4

То же

BF B

РС5

>> 

STB B

Примечание: Вариант ALT1 соответствует использованию всех линий порта С в качестве портов ввода, а вариант ALT2 – в качестве портов вывода.


где INTR A/INTR B (Interrupt Request)- запрос прерывания по порту A/B;

BF A/BF B (Buffer Full) – буфер порта А/В полон/заняты

STA A/STA B (Strobe)- строб записи, соответствующий порту А/В

Временные диаграммы , поясняющие обмен управляющими сигналами при работе портов А и В в режиме с квитированием сообщений, представлены на рисунке:


Временная диаграмма работы порта А(В) со стробированием в режиме ввода


По переднему фронту импульса на линии STB A, который формируется таймером, формируется сигнал BF (PC1) "буфер полон" который используется в качестве сигнала квитирования. По заднему фронту импульса STB A формируется сигнал INTR (PC0) который является сигналом прерывания.

С приходом сигнала запроса прерывания RST 7,5 процессор переходит в режим обслуживания прерываний. Соответственно программе обслуживания прерываний 7,5 производится считывание данных из порта ввода А.Затем процессор начинает обрабатывать данные в соответствии с заданным алгоритмом. По окончанию вычислений процессор выдаёт данные в порт В. И процесс повторяется вновь.

Сигналы BF и INTR остаются активными до выполнения микропроцессором команды IN PORT, по которой содержимое буферного регистра порта А вводится МП по сигналу RD. С началом импульса RD сбрасывается сигнал INTR , а с его окончанием – сигнал BF. Таким образом , сигнал BF =1 сохраняется в течении всего времени обращения к буферному регистру и хранению данных в нём. Сигнал INTR=1 сохраняется, пока записанный в регистр байт данных ожидает ввода в МП.

Если в МПС используется система прерываний, то выход INTR соединяется с соответствующим входом прерывания. Если она не используется, то МП может получить информацию о наличии сигнала прерывания и о состоянии других управляющих сигналов путём чтения слова состояния из РСС и анализа его содержимого.

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

Режим работы портов, а также управление таймером состоит в том, что в регистр управляющего слова записывается байт формат которого имеет следующий вид:



Биты D0, D1 управляющего слова задают направление передачи данных через порты А и В;

Биты D2,D3 определяют вариант использования порта С;

Биты D4,D5 разрешают или запрещают выработку сигналов прерывания INTR;

Биты D6,D7 содержат код TM2,TM1 команды управления таймером.

В нашем случае этот байт будет равен:

Запись в управляющий регистр производится записью режимного слова в порт с адресом 08H.

Пространство ввода-вывода я распределил следующим образом:

08Н – РУС (Регистр управляющего слова) и РСС (Регистр словосостояния) ;

09Н – Порт А (Порт ввода)

0АН –Порт В (Порт вывода)

0ВН – Порт С (Порт обработки сигнала квитирования)

0СН – Регистр хранения таймера (младший байт)

0DH - Регистр хранения таймера (старший байт)

Адресное пространство памяти, исходя из её объёма, распределено следующим образом:


Настройка таймера

Таймер используется для формирования последовательности импульсов следующих с частотой дискретизации. В качестве входного сигнала счётчика используется выход тактовых импульсов микропроцессора.

Для обеспечения частоты дискретизации 1.2 КГц коэффициент счёта таймера должен равняться:



Запись управляющего слова осуществляется в два регистра таймера старший и младший, микросхемы РУ55.

Загрузка управляющего слова производится в порты

C9H Порт ОD- старший байт

C4H Порт ОС- младший байт

Функционирование таймера. Блок таймера содержит 14-битовый вычитающий счетчик, 16-битовый регистр хранения, схему формирования выходного сигнала и схему управления таймером. Счетчик выполняет основную функцию данного блока, заключающуюся в подсчете импульсов, поступающих извне на вход TIMER IN. Регистр хранения в 14 младших битах содержит коэффициент счета N, который загружается в него при подготовке таймера к работе и задает начальное состояние счетчика. Число N может иметь любое значение от 2Н до 3FFFN. Два старших бита этого регистра составляют регистр режима (RR), в котором хранится код ТМ2ТМ1 заданного режима работы таймера. Схема формирования обеспечивает форму сигнала TIMER OUT в соответствии с режимом работы таймера. Этот сигнал обязательно изменяет свое значение в момент окончания счета. Схема управления реализует заданный режим работы таймера и, в частности, осуществляет перезагрузку числа N из регистра в счетчик при организации циклической (непрерывной) работы таймера. Программирование таймера состоит в загрузке двухбайтового слова в регистр хранения, после чего осуществляется запуск счетчика с помощью специальной команды (предусмотрен только программный запуск таймера). Во время работы счетчик уменьшает свое содержимое по фронту каждого импульса, поступающего на вход TIMER IN. Когда требуется производить отсчет реального времени, этот вход обычно соединяется с выходом PCLK генератора. При обращении к таймеру используются два адреса: младший байт N загружается по адресу А2А1АО = 101, старший — по адресу А2А1АО=101. Это позволяет загружать указанные байты в любом порядке.

Формат двухбайтового слова, загружаемого в таймер, представлен на рисунке.


Рис. 1 Формат команды управления таймером


Два старших бита М2М1 задают один из четырех режимов работы таймера, при которых вырабатываются соответствующие сигналы на выходе TIMER OUT (рис. 6.56), В режиме 0 поддерживается выходной сигнал TIMER OUT = 1 в течение первой половины счета и TIMER OUT —0 в течение второй. При нечетном N первый полупериод счета, соответствующий высокому уровню выходного сигнала, оказывается на единицу больше второго. Режим 1 аналогичен режиму 0 с той разницей, что каждый раз по окончании счета производится автоматическая перезагрузка N из регистра хранения в счетчик и повторный запуск счетчика. Таким образом, таймер работает в непрерывном режиме деления на N частоты повторения входных импульсов и генерирует выходной сигнал симметричной формы (скважность равна двум). В режиме 2 после окончания счета формируется одиночный импульс напряжения низкого уровня, длительность которого равна одному периоду входных (счетных) импульсов. Режим 3 отличается от режима 2 автоматической перезагрузкой и перезапуском счетчика, что обеспечивает непрерывность работы таймера. Это режим деления частоты с выработкой выходного сигнала несимметричной формы (скважность зависит от значения N).

Страницы: 1, 2, 3



2012 © Все права защищены
При использовании материалов активная ссылка на источник обязательна.