Определение общего алгоритма функционирования устройства

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

Чтобы настроить таймер на частоту дискретизации и режим работы 1, необходимо 16-разрядное управляющее слово:

0100001111001000(2) = 83С4(16)

Дав старших бита 01 определяют режим 1, а остальное представляет собой 14-разрядное число N = ТД / ТТ = 1000(10) .

Старший байт этого слова записывается по адресу 7004(16), а младший – по адресу 7005(16).

Для ввода и вывода данных могут использоваться соответственно порты А и В микросхемы РУ55, а 6-разрядный порт С можно использовать как линии готовности и квитирования портов А и В. Для установки используется управляющее слово, имеющее вид:

1 1 1 1 1 1 1 0 (2)

Попарно разряды этого слова, начиная с младшего, означают следующее:

Порт А работает на ввод, порт В – на вывод;

порт С работает как порт служебных сигналов;

разрешить прерывания по портам А и В;

запуск таймера.

Линии порта С передают следующие сигналы:

PC0 – INTRA – запрос прерывания по порту А;

PC1 – BFA – состояние буфера порта А;

PC2 – STBA – строб записи в порт А;

PC3 – INTRB – запрос прерывания по порту В;

PC4 – BFB – состояние буфера порта В;

PC5 – STBB – сигнал квитирования с периферии.

4-й и 5-й биты управляющего слова разрешают вывод сигналов INTRA и INTRB.

Управляющее слово необходимо для инициализации записать по адресу 7000(16).

Конечный шаг инициализации - устанавливается маска прерываний и с них снимается запрет. В случае, если используется аппаратное прерывание RST7.5, маска имеет вид:

0 0 0 0 1 0 1 1 (2)

0-й и 1-й разряды содержат единицы, маскирующие прерывания 5.5 и 6.5, нуль во 2-м оставляет доступным прерывание 7.5; единица в 3-м разряде разрешает прерывания.

Для установки этой маски используется специальная команда SIM микропроцессора ВМ85.

Программа инициализации заканчивается стандартно – командой HLT – останов. После этого процессор будет запускаться только аппаратным прерыванием RST 7.5 – при положительном перепаде напряжения на соответствующем входе. Сигналом запуска для микропроцессора должен служить сигнал наличия данных в буфере порта А BFA. Данный сигнал переходит на высокий уровень по положительному (заднему) фронту сигнала готовности данных АЦП RAD, представляющего собой импульс низкого уровня длительностью чуть больше такта АЦП tmin, то есть когда оцифрованный отсчет загружается в буфер порта А. Сигнал BFA обнуляется, когда происходит программное обращение к порту А с целью считать данные во внутренний регистр микропроцессора (аккумулятор).

При перепаде на высокий уровень, если прерывание не замаскировано и разрешено, произойдет сохранение счетчика команд в стеке, и микропроцессор начнет работу с ячейки 003С(16). В эту ячейку следует записать инструкцию перехода на начальный адрес основной программы, которая будет считывать входной отсчет из порта А, обрабатывать его согласно алгоритму фильтрации и выводить в порт В. Основная программа должна отработать до прихода в порт А очередных данных, а до этого не прерываться. Первое обеспечивается эффективностью алгоритма и быстродействием программы. Второе – хранением высокого уровня на входе RST 7.5 триггером, поэтому ложная импульсная помеха, попавшая на этот вход во время выполнения программы, не прервет и не перезапустит ее. Но чтобы обеспечить возможность нового запуска программы при приходе очередных данных, необходимо сбросить триггер, что осуществляется переустановкой маски, описанной выше. Кроме того, необходимо записать исходное число 50FF в указатель стека, так как при каждом прерывании в стек записывается счетчик команд, а указатель стека дважды декрементируется, что в конечном итоге приведет к достижению им рабочей области и засорению ее неверной информацией. Завершается основная программа командой HLT, и процессор ожидает поступления на вход RST 7.5 очередного положительного перепада.

Прочтите также:

Разработка и проектирование спирального антенного устройства
Неотъемлемыми составными частями современных радиотехнических средств являются антенные системы и обслуживающие их тракты СВЧ. Основной целью изучения дисциплины “Антенны и у ...

Моделирование интегрирующего гироскопа
Цель данной работы - математическое моделирование (с применением ЭВМ) свойств интегрирующего гироскопа (ИГ), а также краткое теоретическое описание его устройства, назначения, принци ...

Технологии цифровой связи
Развитие телекоммуникационных сетей привело к необходимости в более подробном изучении цифровых систем передачи данных. Этому посвящена дисциплина «Технологии цифровой связи», которая из ...

Основные разделы

Copyright © 2008 - 2020 www.techmatch.ru