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

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

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

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

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

Определение необходимой процедуры

Так как процедуры обработки опорного кадра и ошибки различны , для определения опорного кадра после поступившего прерывания используется аппаратно строб STB A, проверка на наличие которого осуществляется в программе чтением РСС БИС РУ 55. Он имеет следующий вид:

Определение битов регистра слова состояния РУ55

Имя регистра

РСС

Адрес регистра

xxxxx000

Бит

слова состояия

D7

D6

D5

D4

D3

D2

D1

D0

Имя

бита состояния

-

TC

IE B

BF B

INTR B

IE A

BF A

INTR A

При вводе в МК через порт РА внешнее устройство выдает байт данных на линии РА0 – РА7 и вырабатывает строб , по которому этот байт загружается в буферный регистр порта. При этом устанавливается сигнал BF А = 1 (следующий байт в порт записывать нельзя). По окончании строба устанавливается сигнал запроса прерывания INTR A для оповещения МК о необходимости чтения байта из порта. Сигналы BF A и INTRA остаются активными до выполнения МК команды чтения, по которой содержимое буферного регистра порта РА вводится в МК по стробу . С началом импульса сбрасывается сигнал INTR A , а с его окончанием – сигнал BF А.

Сдвигая РСС вправо с переносом и анализируя бит INTR A , реализуется переход к соответствующей процедуре.

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

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

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

0,86(10)Т = 11011101(2) = DD(16) = 0,86328125(10)Р.

0,75(10)Т = 11000000(2) = C0(16) = 0,75(10)Р.

0,31(10)Т = 01001111(2) = 4F (16) = 0,30859375(10)Р.

Отличие реальных значений коэффициентов (Р) от заданных (Т) предопределяет отличие реальных характеристик фильтра от расчётных.

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

Необходимость хранения данных определяется видом заданного

уравнения предсказания. Для каждого цикла вычисления текущих

выходных отсчётов Yn требуется использовать значение предыдущего

отсчёта Yn-1, сохранить поступивший 4разрядный код ошибки для

обращения к ячейкам ОЗУ, в которых записаны 8разрядные коды. Последние

тоже необходимо сохранить для использования в рабочем цикле. Для

хранения вычисленного отсчёта определим ячейку ОЗУ Y, для 4разрядного

кода РОН R0, для счёта кадров РОН R2, для хранения произведения K*Yn-1

аккумулятор А, 8разрядного кода ошибки РОН R3. После вычисления

выходного отсчета yn, и записи его в ОЗУ, перед приемом нового входного

отсчета необходимо сдвинуть отсчеты : n-й отсчет на место n-1-го. Это

требуется для подготовки следующего цикла вычислений.

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

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

Для исключения переполнения введем масштабирование (ослабление) входных отсчетов путем их умножения на коэффициент масштабирования kМ  1, при котором вычисление разностного уравнения не дает недопустимого результата.

Коэффициент kМ получим, предположив, что отсчеты в разностном уравнении принимают максимальные значения (- 1, + 1) и такие знаки, при которых слагаемые разностного уравнения складываются по модулю, то есть складываются по модулю коэффициенты.

Подставив такие значения в уравнение для вычисления yn и просуммировав по модулю коэффициенты, получим

yn мах = 1 + 1 + 0.86 + 0.75+ 0.31 = 3.92

что является недопустимым результатом. Отсюда заданный коэффициент масштабирования (число без знака) равен - kМ = 1/ yn мах = 0,26 = 01000010(2) = = 42(16).

Умножение отсчёта на коэффициент.

При вычислении разностного уравнения и при масштабировании, перемножаются числа со знаком (отсчёты) на числа без знака (коэффициенты). Произведение – число со знаком. Система команд МК содержит команды умножения только для чисел без знака (положительных чисел).

Поэтому перемножение множимого со знаком на множитель без знака в системе команд МК реализуется либо на основе алгоритма умножения вручную (арифметические сдвиги множимого вправо, соответствующие позициям единиц множителя, и накопление суммы частичных произведений), либо на основе смены знака у отрицательного множимого, перемножения беззнаковых сомножителей с соответствующей сменой знака у произведения.

Примем для реализации второй алгоритм, как более эффективный по критериям: объём программы и длительность выполнения программы умножения.

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

Согласование кода МК и кода ЦАП необходимо, так как ЦАП преобразует в ток смещенный входной код (положительные числа), а арифметический код МК – дополнительный. Для согласования - вычисленный отсчет 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 Ком.

При выбранных параметрах на каждом выходе ЦАП - униполярное напряжение. Для получения предусмотренного ТЗ выходного напряжения следует использовать 1 вывод ЦАП, напряжение изменяется в пределах от =0.5 В до -0,5 В. Для получения заданного размаха выходного напряжения используется усилитель на ОУ с униполярным входом с коэффициентом усиления kУ =5