Программа обработки построена по конвейерному принципу. Конвейерный принцип предполагает выполнение последовательных команд. После выполнения последней команды программа возвращается в начало.
На рис. 5.1. изображен рекурсивный ЦФ 2-го порядка:

Рисунок 5.1. Структурная схема рекурсивного ЦФ 2-го порядка.
Запишем разностное уравнение для данного фильтра:

Исходя из разностного уравнения, можно получить все требуемые характеристики выходного сигнала в заданный момент времени.
Для рекурсивного фильтра коэффициенты умножения А0, А1, А2 могут либо равняться нулю, либо каким-то конкретным значениям. Порядок рекурсивного фильтра определяется количеством линий задержки в выходном сигнале. В случае, если В0 и В1 равны нулю, фильтр превращается в нерекурсивный (трансверсальный фильтр).
Преимущество рекурсивного ЦФ:
Для реализации требуемой крутизны фильтра требуется небольшое (малое) количество операций.
Недостатки рекурсивного ЦФ:
-
- Больший уровень шумов по сравнению с нерекурсивным фильтром.
- Требуется использовать масштабирование, чтобы система не самовозбудилась.
Для реализации коэффициентов умножения используют знакоразрядную форму представления. Для этого выполним следующие шаги:
-
- Возьмем двоичное 15-разрядное число. Два старших разряда отделим от остальных точкой.
- Разряды, находящиеся слева от точки (два разряда) имеют следующий вес: младший – 20, следующий – 21.
- Разряды, находящиеся правее точки, имеют веса:1-й –
;2-й –
;...13-й –
; - Для уменьшения количества операций умножения некоторые разряды инвертируются. Инверсия разряда обозначается знаком “-” над заданным разрядом, - это означает, что данный ес нужно взять со знаком “-”.
Пример:

Пусть заданы следующие коэффициенты умножения:![]()
![]()
![]()
Для умножения заданного коэффициента на цифровой отсчет поступают следующим образом:
- На первом этапе цифровой отсчет сдвигают влево либо вправо на заданное количество разрядов – это равносильно умножению на 2К.
- На втором этапе используют прежнее значение на предыдущем такте и новое значение на следующем такте.
Пример: y0=A0× x(nT)=(2-8-2-10)× x(nT).
1-й этап: y0:= 2-8 × x(nT).
2-й этап: y0:=y0-2-10× x(nT).
Пример программы для приведенных выше коэффициентов умножения:
|
№ п/п |
КОП Ц |
Адрес операнда “В” |
Адрес операнда “А” |
Код МУ |
КОП А |
Комментарии |
|
1 |
LDA |
Y2 |
Y1 |
L00 |
IN (0) |
Y2= Y1; ввод x0 по “0” каналу. |
|
2 |
LDA |
Y1 |
Y0 |
L00 |
IN (0) |
Y1= Y0; ввод x0 по “0” каналу. |
|
3 |
LDA |
Y0 |
Y1 |
L01 |
IN (0) |
Y0= Y1× 21; ввод x0 по “0” каналу. |
|
4 |
SUB |
Y0 |
Y1 |
R02 |
IN (0) |
Y0= Y0-Y1× 2-2; ввод x0 по “0” каналу. |
|
5 |
ADD |
Y0 |
Y1 |
R06 |
IN (0) |
Y0= Y0+Y1× 2-6; ввод x0 по “0” каналу. |
|
6 |
SUB |
Y0 |
Y2 |
L00 |
IN (0) |
Y0= Y0-Y2× 2-0; ввод x0 по “0” каналу. |
|
7 |
ADD |
Y0 |
Y2 |
R07 |
IN (0) |
Y0= Y0+Y2× 2-7; ввод x0 по “0” каналу. |
|
8 |
SUB |
Y0 |
Y2 |
R09 |
IN (0) |
Y0= Y0-Y2× 2-9; ввод x0 по “0” каналу. |
|
9 |
LDA |
Y0 |
Y0 |
L00 |
CUT S |
Y0=Y0, преобразование знака |
|
10 |
LDA |
Y0 |
Y0 |
L00 |
NOP |
Y0=Y0, преобразование знака |
|
11 |
LDA |
Y0 |
Y0 |
L00 |
NOP |
Y0=Y0, преобразование знака |
|
12 |
LDA |
Y0 |
Y0 |
L00 |
CUT(7) |
Y0= Y0, преобразование 7-го разряда мантиссы |
|
13 |
LDA |
Y0 |
Y0 |
L00 |
NOP |
Y0= Y0, преобразование 7-го разряда мантиссы |
|
14 |
LDA |
Y0 |
Y0 |
L00 |
NOP |
Y0= Y0, преобразование 7-го разряда мантиссы |
|
15 |
LDA |
Y0 |
Y0 |
L00 |
CUT(6) |
Y0= Y0, преобразование 6-го разряда мантиссы |
|
16 |
LDA |
Y0 |
Y0 |
L00 |
NOP |
Y0= Y0, преобразование 6-го разряда мантиссы |
|
17 |
LDA |
Y0 |
Y0 |
L00 |
NOP |
Y0= Y0, преобразование 6-го разряда мантиссы |
|
18 |
LDA |
Y0 |
Y0 |
L00 |
CUT(5) |
Y0= Y0, преобразование 5-го разряда мантиссы |
|
19 |
LDA |
Y0 |
Y0 |
L00 |
NOP |
Y0= Y0, преобразование 5-го разряда мантиссы |
|
20 |
LDA |
Y0 |
Y0 |
L00 |
NOP |
Y0= Y0, преобразование 5-го разряда мантиссы |
|
21 |
LDA |
Y0 |
Y0 |
L00 |
CUT(4) |
Y0= Y0, преобразование 4-го разряда мантиссы |
|
22 |
LDA |
Y0 |
Y0 |
L00 |
NOP |
Y0= Y0, преобразование 4-го разряда мантиссы |
|
23 |
LDA |
Y0 |
Y0 |
L00 |
NOP |
Y0= Y0, преобразование 4-го разряда мантиссы |
|
24 |
LDA |
Y0 |
Y0 |
L00 |
CUT(3) |
Y0= Y0, преобразование 3-го разряда мантиссы |
|
25 |
LDA |
Y0 |
Y0 |
L00 |
NOP |
Y0= Y0, преобразование 3-го разряда мантиссы |
|
26 |
LDA |
Y0 |
Y0 |
L00 |
NOP |
Y0= Y0, преобразование 3-го разряда мантиссы |
|
27 |
LDA |
Y0 |
Y0 |
L00 |
CUT(2) |
Y0= Y0, преобразование 2-го разряда мантиссы |
|
28 |
LDA |
Y0 |
Y0 |
L00 |
NOP |
Y0= Y0, преобразование 2-го разряда мантиссы |
|
29 |
LDA |
Y0 |
Y0 |
L00 |
NOP |
Y0= Y0, преобразование 2-го разряда мантиссы |
|
30 |
LDA |
Y0 |
Y0 |
L00 |
CUT(1) |
Y0= Y0, преобразование 1-го разряда мантиссы |
|
31 |
LDA |
Y0 |
Y0 |
L00 |
NOP |
Y0= Y0, преобразование 1-го разряда мантиссы |
|
32 |
LDA |
Y0 |
Y0 |
L00 |
NOP |
Y0= Y0, преобразование 1-го разряда мантиссы |
|
33 |
LDA |
Y0 |
Y0 |
L00 |
CUT(0) |
Y0= Y0, преобразование 0-го разряда мантиссы |
|
34 |
LDA |
Y0 |
Y0 |
L00 |
NOP |
Y0= Y0, преобразование 0-го разряда мантиссы |
|
35 |
LDA |
Y0 |
Y0 |
L00 |
NOP |
Y0= Y0, преобразование 0-го разряда мантиссы |
|
36 |
LDA |
X0 |
DAR |
L00 |
NOP |
X0=DAR |
|
37 |
ADD |
Y0 |
X0 |
R08 |
NOP |
Y0=Y0+2-8× X0 |
|
38 |
SUB |
Y0 |
X0 |
R10 |
NOP |
Y0=Y0-2-10× X0 |
|
39 |
LDA |
DAR |
Y0 |
L00 |
NOP |
DAR=Y0 |
|
40 |
LDA |
Y0 |
Y0 |
L00 |
OUT(1) |
Вывод Y0 по 1-му каналу. |
|
41 |
LDA |
Y0 |
Y0 |
L00 |
OUT(1) |
Вывод Y0 по 1-му каналу. |
|
42 |
LDA |
Y0 |
Y0 |
L00 |
OUT(1) |
Вывод Y0 по 1-му каналу. |
|
43 |
LDA |
Y0 |
Y0 |
L00 |
OUT(1) |
Вывод Y0 по 1-му каналу. |
|
44 |
LDA |
Y0 |
Y0 |
L00 |
OUT(1) |
Вывод Y0 по 1-му каналу. |
|
45 |
LDA |
Y0 |
Y0 |
L00 |
OUT(1) |
Вывод Y0 по 1-му каналу. |
|
46 |
LDA |
Y0 |
Y0 |
L00 |
OUT(1) |
Вывод Y0 по 1-му каналу. |
|
47 |
LDA |
Y0 |
Y0 |
L00 |
OUT(1) |
Вывод Y0 по 1-му каналу. |
|
48 |
LDA |
Y0 |
Y0 |
L00 |
EOP |
Возврат в начало программы |
Система команд микросхемы К580МК80. Основные обозначения.
|
Обозначение |
Содержание |
|
<Bi> |
Содержимое i-того байта команды. |
|
r |
Обозначение регистра 001 010 011 100 101 110 111 |
|
F |
Обозначение состояния триггера признаков TC (перенос) TZ (нуль) TS (знак) TP (четность) TV (доп. перенос) |
|
(r ) |
Содержимое регистра |
|
[(r)] |
Содержимое ячейки памяти, адрес которой (r ) |
|
|
Логическое “И” |
|
|
“Исключающее ИЛИ” |
|
|
Логическое “ИЛИ” |
|
(rm) |
m-ый бит содержимого регистра |
|
SP |
Указатель стека |
|
PC |
Счетчик команд |
|
|
Пересылка |
Приложение.
|
Структура кода команды |
Байты |
Циклы |
Такты |
Выполняемая операция |
Мнемоника |
Признаки |
||||
|
Z |
S |
C |
V |
P |
||||||
|
1. Команды пересылки |
||||||||||
|
01rirj |
1 |
1/3 |
5/7 |
ri |
MOV ri rj |
- |
- |
- |
- |
- |
|
00ri110 |
2 |
2/3 |
7/ 10 |
2. Непосредственная пересылка ri |
MVI ri, <B2> |
- |
- |
- |
- |
- |
|
00ri001 |
3 |
3 |
10 |
3. Непосредственная загрузка пары регистров ri при ri=110: |
LXI ri |
- |
- |
- |
- |
- |
|
00K1010 |
1 3 3 |
2 4 5 |
7 13 16 |
K1 000 010 001 011 110 111 100 101 |
STAX B STAX D LDAX B LDAX D STA LDA SHLD LHLD |
- - - - - - - - |
- - - - - - - - |
- - - - - - - - |
- - - - - - - - |
- - - - - - - - |
|
11ri101 |
1 |
3 |
11 |
5. Ввод из пар регистров в стек
[SP-1] |
PUCH ri |
- |
- |
- |
- |
- |
|
11110101 |
1 |
3 |
11 |
6. Ввод (А) и (F) в стек [SP-1] |
PUCH PSW
|
- |
- |
- |
- |
- |
|
11ri001 |
1 |
3 |
10 |
7. Вывод из стека в пары регистров: ri+1 |
POP ri |
- |
- |
- |
- |
- |
|
11110001 |
1 |
3 |
10 |
8. Вывод (А) и (F) из стека F |
POP PSW |
+ |
+ |
+ |
+ |
+ |
|
11101011 |
1 |
1 |
4 |
9. Обмен между DE и HL (H) |
XCH D |
- |
- |
- |
- |
- |
|
11100011 |
1 |
5 |
13 |
10. Обмен вершин стека с H. |
XT H L |
- |
- |
- |
- |
- |
|
11111001 |
1 |
1 |
5 |
11. Пересылка (HL) в указатель стека. SP |
SPHL |
- |
- |
- |
- |
- |
|
11101001 |
1 |
1 |
5 |
12. Пересылка (HL) в счетчик команд. |
PC HL |
- |
- |
- |
- |
- |
|
II. Приращение / отрицательное приращение |
||||||||||
|
00ri100 |
1 |
1/3 |
5/ 10 |
1. Приращение регистра ri |
INP ri |
+ |
+ |
- |
+ |
+ |
|
00ri101 |
1 |
1/3 |
5/ 10 |
2. Отрицательное приращение регистра ri |
DCP ri |
+ |
+ |
- |
+ |
+ |
|
00ri011 |
1 |
1 |
5 |
3. Приращение пары регистров ri, ri+1 |
INX ri |
- |
- |
- |
- |
- |
|
00ri011 |
1 |
1 |
5 |
4. Отрицательное приращение пары регистров ri –1, ri При ri=111 – отрицательное приращение SP |
DCX ri –1 |
- |
- |
- |
- |
- |
|
III. Арифметические и логические операции |
||||||||||
|
10К2ri |
1 |
1/2 |
4/7 |
1. Над (А) и (r). A * - операция (К2) К2 000 001 010 011 100 101 110 111 |
ADD ri ADC ri SUB ri ANA ri XRA ri ORA ri |
+ + + + + + + + |
+ + + + + + + + |
+ + + + 0 0 0 + |
+ + + + 0 0 0 + |
+ + + + + + + + |
|
00ri001 |
1 |
3 |
10 |
2. Сложение содержимого пар регистров HL |
DAD ri –1 |
- |
- |
+ |
- |
- |
|
11К2110 |
2
|
2 |
7 |
3. Операции с непосредственной адресацией А * - операция, определяемая К2 К2 000 001 010 011 100 101 110 111
|
ADI ACI SUI SBI ANI XRI ORI CPI |
+ + + + + + + + |
+ + + + + + + + |
+ + + + 0 0 0 + |
+ + + + 0 0 0 + |
+ + + + + + + + |
|
00K3111 |
1 |
1 |
4 |
IV. Операции циклического сдвига К3 000 001 010 011
|
RLC RRC RAL RAR |
- - - - |
- - - - |
+ + + + |
- - - - |
- - - - |
|
V. Операции переходов |
||||||||||
|
11000011 |
3 |
3 |
10 |
1. Безусловный переход PC |
JMP |
- |
- |
- |
- |
- |
|
11K4010 |
3 |
3 |
10 |
2. Условные переходы К4 000 001 010 011 100 101 110 111 |
JNZ JZ JNC JC JPO JPE JP JM |
- - - - - - - - |
- - - - - - - - |
- - - - - - - - |
- - - - - - - - |
- - - - - - - - |
|
11001101 |
3 |
5 |
17 |
3. Вызов безусловный [SP-1][SP-2] |
CALL |
- |
- |
- |
- |
- |
|
11K5100 |
3 |
3/5 |
11/17 |
4. Вызов программы условный К5 000 001 010 011 100 101 110 111 |
CNZ CZ CNC CC CPO CPE CP CM |
- - - - - - - - |
- - - - - - - - |
- - - - - - - - |
- - - - - - - - |
- - - - - - - - |
|
11001001 |
1 |
3 |
10 |
5. Возврат из программы PC |
RET |
- |
- |
- |
- |
- |
|
11K6000 |
1 |
1/3 |
5/11 |
6. Условный возврат из подпрограммы К6 000 001 010 011 100 101 110 111 |
RNZ RZ RNC RC RPO RPE RP RM |
- - - - - - - - |
- - - - - - - - |
- - - - - - - - |
- - - - - - - - |
- - - - - - - - |
|
VI. Операции ввода и вывода |
||||||||||
|
11011011 |
2 |
3 |
10 |
A |
IN |
- |
- |
- |
- |
- |
|
11010011 |
2 |
3 |
10 |
2. Вывод данных Шина данных X |
OUT |
- |
- |
- |
- |
- |
|
VII. Прочие операции |
||||||||||
|
11AAA111 |
2 |
3 |
11 |
1. Рестарт [SP-1][SP-2] |
RST |
- |
- |
- |
- |
- |
|
00101111 |
1 |
1 |
4 |
2. Дополнение (А) A |
SMA |
- |
- |
- |
- |
- |
|
00110111 |
1 |
1 |
4 |
3. Установка переноса TC |
STC |
- |
- |
1 |
- |
- |
|
00111111 |
1 |
1 |
4 |
4. Дополнение переноса TC |
CMC |
- |
- |
+ |
- |
- |
|
1 |
1 |
4 |
5. Разрешение прерываний |
EI |
- |
- |
- |
- |
- |
|
|
11110011 |
1 |
1 |
4 |
6. Блокировка прерываний |
DI |
- |
- |
- |
- |
- |
|
1 |
1 |
4 |
7. Двоично-десятичное представление (А) |
DAA |
+ |
+ |
+ |
+ |
+ |
|
|
1 |
1 |
4 |
8. Отсутствие операции |
NOP |
- |
- |
- |
- |
- |
|
|
1 |
1 |
7 |
9. Останов |
HLT |
- |
- |
- |
- |
- |
|




(D);