- •Содержание пояснительной записки
- •1. Постановка задачи (введение)
- •7) Расчёт быстродействия фильтра.
- •2. Формализация задачи (определение функций аппаратной части и программы и способов их реализации)
- •2.1. Функциональная схема цифрового фильтра.
- •2.2. Исходное состояние фильтра после включения питания.
- •2.3. Формализация настроек для инициализации фильтра
- •2.4. Формализация определений для рабочего цикла фильтра.
- •3. Разработка и описание общего алгоритма функционирования фильтра
- •4. Обоснование построения аппаратной части фильтра
- •5. Разработка и отладка программы на языке команд мк
- •Содержание файла программы «1010-sme.Asm».
- •Исходные определения и ручной расчет результатов работы программы: «Цифровой фильтр (вычислитель)»
- •Зададим состояние памяти для входных и выходных отсчётов максимальной амплитуды:
- •6. Составление электрической принципиальной схемы и описание функционирования фильтра
- •7. Расчет быстродействия фильтра
- •Длительность команд программы.
- •9. Заключение (оценка результатов проектирования)
- •10. Список использованных источников
2.2. Исходное состояние фильтра после включения питания.
При включении питания в схеме МП-системы рис.1. вырабатывается импульс сброса RST для МК. По сигналу RST = 1 выполняются следующие действия:
1) программный счётчик и все управляющие регистры МК, кроме PCON, IE, IP - устанавливаются в нулевое состояние;
2) в управляющих регистрах PCON, IE, IP – резервные биты принимают случайные значения, все остальные биты сбрасываются в 0;
3) в указателе стека устанавливается адрес SP = 70 (вершина стека);
4) запрещаются прерывания от всех источников, запрещается работа таймеров/счётчиков, запрещается работа последовательного порта;
5) выбирается банк 0 РОН (текущий банк регистров),
6) порты P0, P1, P2, P3 настраиваются на ввод для приёма данных;
7) в обоих регистрах SBUF последовательного порта устанавливаются случайные значения.
В БИС РФ55 и РУ55 исходное состояние после включения питания произвольное, так как импульс RST на их входы сброса не поступает.
Из этого следует, что переходу фильтра в рабочий режим должна предшествовать его настройка (инициализация) на обеспечение принятого принципа функционирования, выбранных режимов работы узлов, заданных рабочих характеристик.
Рис. 1 МП-система на базе заданного комплекта БИС
Рис. 2 Функциональная схема цифрового фильтра
2.3. Формализация настроек для инициализации фильтра
Частота синхронизации МК.
Примем
частоту задающего кварцевого генератора
.
Длительность машинного цикла при этом
равна
.
Настройка таймера-счётчика Т/С0.
Режим
работы. По сформулированному выше
определению Т/С0 должен работать в
непрерывном режиме таймера (без
блокирования сигналом INT1)
для формирования импульсов с частотой
дискретизации FД.
Выбираем поэтому режим 2. с перезагрузкой
после каждого цикла счёта. Управляющие
биты GATE0 = 0,
и код режима 10 записываются в состав
управляющего слова (константа #02h)
для регистра TMOD при инициализации
фильтра – команда MOV 89, #02h.
Задание
частоты дискретизации
кГц. Длительность интервала дискретизации
равна
мкс. Количество машинных циклов
,
укладывающихся на интервале дискретизации:
,
т.е. T/С0 должен иметь в режиме с перезагрузкой
коэффициент счёта
.
Максимальный
коэффициент пересчёта 8-разрядного
счётчика (без перезагрузки) равен
.
Чтобы в режиме суммирования Т/С0 имел
требуемый коэффициент пересчёта
при перезагрузке в него должно записываться
число
,
в данном случае
.
Константа #А1h, обеспечивающая требуемую частоту дискретизации, при инициализации фильтра должна быть записана для хранения в регистр TH0 (прямой адрес 8C) – команда MOV 8C, #А1h.
Пуск Т/С0 осуществляется путём установки в регистре TCON управляющего бита TR0 =1 при инициализации фильтра – команда SETB 8Ch.
Вывод импульса переполнения Т/С0 для запроса данных с внешнего устройства выполняется по прерыванию от флага TF0, устанавливающегося при переполнении Т/С0. Подпрограмма обработки прерывания от флага TF0 имеет стартовый адрес 000B и содержит команды: CLR 93; SETB 93 – сброс и установка линии P1.3 (порт P1), так как исходное состояние линии - 1 (во все защёлки портов при сбросе МК записаны 1 – порты настроены на ввод).
Настройка прерываний.
В результате сброса МК при включении питания всем источникам прерываний назначается одинаковый, нулевой приоритет. Поскольку обработка прерываний от таймера Т/С0 и по входу INT1 не могут совпадать по времени, переопределять приоритеты прерываний не требуется.
После сброса МК все прерывания запрещены, поэтому при инициализации требуется разрешить прерывания вообще (установить бит EA = 1), и, в частности, разрешить прерывания от Т/С0 (ET0 = 1),по входу INT1 (EX1 = 1). Команда записи управляющего слова (константы #86h) в регистр IE: MOV A8, #86h.
Настройка портов БИС КР1821РУ55.
По сделанному выше определению порт PА РУ55 настраивается на ввод без квитирования, а порт РВ РУ55 – на вывод без квитирования. Для этого соответствующие биты PА = 0, PВ = 1 записываются в состав управляющего слова (константа #01h) для регистра управляющего слова РУ55. При инициализации фильтра – команды MOV A, #01h; MOV DPTR, #7000h; MOVX @DPTR, A.
Организация стека.
При сбросе МК в указатель стека загружается адрес SP = 70, - во внутренней памяти данных назначается стек (16 ячеек ОЗУ) с начальным адресом 70. Глубина стека достаточна для решаемой задачи, поэтому переопределение стека не требуется.
