Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
КР Коньков.doc
Скачиваний:
0
Добавлен:
01.07.2025
Размер:
1.42 Mб
Скачать

2.4. Формализация определений для рабочего цикла фильтра.

Реализация прерываний по входу INT1

Прерывание по внешнему входу INT1 выполняет сигнал оповещения с выхода АЦП о готовности кода текущего отсчёта . По прерыванию INT1 запускается подпрограмма вычисления выходного отсчёта (запускается рабочий цикл) цифрового фильтра.

Вектор прерывания по входу INT1 равен 0013. С этого адреса в ПЗУ загружается подпрограмма обслуживания прерывания данного типа.

Согласование кодов ЦАП и МК.

Согласование кода МК и кода ЦАП необходимо, так как ЦАП преобразует в ток смещенный входной код (положительные числа), а арифметический код МК – дополнительный. Для согласования вычисленный отсчет yn перед выводом на ЦАП суммируется с константой 1000 0000(2).

Форма представления чисел.

Представляем числовые значения отсчетов входного сигнала в виде правильной дроби с фиксированной запятой: знаковый разряд, запятая, остальные двоичные разряды – числовые. Таким образом, числовые значения входного сигнала изменяются в диапазоне от -1 до +0,9921875.

Коэффициент разностного уравнения определяем как 8-разрядное число без знака:

Хранение текущих данных.

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

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

Масштабирование входных отсчётов.

Если при вычислении разностного уравнения при принятом 8-разрядном формате представления данных получен числовой результат, выходящий за пределы +1 или -1 имеет место переполнение разрядной сетки.

Для исключения переполнения введем масштабирование (ослабление) входных отсчетов путем их умножения на коэффициент масштабирования .

Коэффициент получим, предположив, что отсчеты в разностном уравнении принимают максимальные значение (+1) и (-1). При вычислении получаем результат , что является недопустимым результатом. Коэффициент масштабирования определяем как 8-разрядное число без знака:

.

Согласование кодов ЦАП и МК.

Согласование кода МК и кода ЦАП необходимо, так как ЦАП преобразует в ток смещенный входной код (положительные числа), а арифметический код МК – дополнительный. Для согласования вычисленный отсчет yn перед выводом на ЦАП суммируется с константой 1000 0000(2).

Напряжение на выходе ЦАП

Для расчёта напряжения на выходе БИС AD9708 используются следующие соотношения:

UMOUT = IOUTFS ·RН; IOUTFS = 32 IREF ; IREFUREFIO / RSET ,

где UMOUT – амплитуда напряжения на выходе ЦАП, IOUTFS – ток полной шкалы (максимальный ток) выхода, RН – сопротивление резистора нагрузки для выхода, IREF – опорный ток, UREFIO – опорное напряжение, RSET – сопротивление внешнего резистора на выводе FS ADJ для задания опорного тока.

Для обеспечения линейного режима внутренних транзисторных источников тока принимаем UMOUT = 0,5 В << ЕП = 5 В и RН = 50 Ом. Из этого следует: IOUTFS = 10 мА, IREF = 0,31 мА, RSET = 3,9 кОм.

При выбранных параметрах на каждом выходе ЦАП - униполярное напряжение.