- •Содержание пояснительной записки
- •1. Постановка задачи (введение)
- •7) Расчёт быстродействия фильтра.
- •2. Формализация задачи (определение функций аппаратной части и программы и способов их реализации)
- •2.1. Функциональная схема цифрового фильтра.
- •2.2. Исходное состояние фильтра после включения питания.
- •2.3. Формализация настроек для инициализации фильтра
- •2.4. Формализация определений для рабочего цикла фильтра.
- •3. Разработка и описание общего алгоритма функционирования фильтра
- •4. Обоснование построения аппаратной части фильтра
- •5. Разработка и отладка программы на языке команд мк
- •Содержание файла программы «1010-sme.Asm».
- •Исходные определения и ручной расчет результатов работы программы: «Цифровой фильтр (вычислитель)»
- •Зададим состояние памяти для входных и выходных отсчётов максимальной амплитуды:
- •6. Составление электрической принципиальной схемы и описание функционирования фильтра
- •7. Расчет быстродействия фильтра
- •Длительность команд программы.
- •9. Заключение (оценка результатов проектирования)
- •10. Список использованных источников
7. Расчет быстродействия фильтра
Быстродействие фильтра в рабочем режиме оценим как время, необходимое для выполнения всех операций, требуемых для получения входного отсчёта, вычисления выходного, выдачи его на внешнее устройство, подготовки следующего цикла. Для проектируемого фильтра это время складывается как сумма затрат времени на получение кода с периферийного устройства, обработку прерывания от Т/С0 и обработку прерывания от входа INT1.
Длительность машинного цикла МК (1 мкс) постоянная, поэтому затраты времени на обработку прерываний можно оценивать количеством требуемых для этого машинных циклов. Число машинных циклов для каждой команды МК приведено в таблице команд.
При расчете суммарного количества циклов для рабочего режима фильтра следует учесть, что разработанная программа содержит разветвления по знаку обрабатываемого отсчета (команды JC). Умножение отрицательного отсчета более длительно по времени. Время выполнения рабочего цикла фильтра максимально в том случае, когда все обрабатываемые пргограммой отсчеты – отрицательны.
Составим таблицу (в левой части мнемоника команд выполняемой программы, а в правой – количество циклов на выполнение каждой команды) и вычислим, сколько машинных циклов занимает рабочий цикл программы (подпрограмма инициализации не входит в рабочий цикл программы):
Таблица 7.1.
Длительность команд программы.
Мнемоника |
Число машинных циклов |
|
LJMP |
START |
2ц |
CLR |
B3 |
1ц |
SETB |
B3 |
1ц |
RETI |
|
2ц |
LJMP |
XYOUT |
2ц |
MOV |
DPTR,#PARU |
2ц |
MOVX |
A,@DPTR |
2ц |
RLC |
A |
1ц |
JC |
M1 |
2ц |
RRC |
A |
1ц |
CPL |
A |
1ц |
INC |
A |
1ц |
MOV |
B,#KM |
2ц |
MUL |
AB |
4ц |
MOV |
A,B |
1ц |
CPL |
A |
1ц |
INC |
A |
1ц |
MOV |
X,A |
1ц |
MOV |
A,Y2 |
1ц |
RLC |
A |
1ц |
JC |
M3 |
2ц |
RRC |
A |
1ц |
CPL |
A |
1ц |
INC |
A |
1ц |
MOV |
B,#KM |
2ц |
MUL |
A,B |
4ц |
MOV |
А,#K |
1ц |
MUL |
AB |
4ц |
MOV |
A,B |
1ц |
CPL |
A |
1ц |
INC |
A |
1ц |
MOV |
P,A |
1ц |
MOV |
A,X |
1ц |
ADD |
A,X2 |
1ц |
CLR |
C |
1ц |
SUBB |
A,P |
1ц |
MOV |
Y,A |
1ц |
ADD |
A,#80h |
1ц |
MOV |
DPTR,#PARU |
2ц |
MOVX |
@DPTR,A |
2ц |
MOV |
X2,X1 |
2ц |
MOV |
X1,X |
2ц |
MOV |
Y2,Y1 |
2ц |
MOV |
Y1,Y |
2ц |
RETI |
|
2ц |
Количество циклов |
70 |
|
Таким
образом, для выполнения одного цикла
работы проектируемого фильтра
(с момента прерывания от Т/С0 до выхода
на метку STOP) требуется время, равное:
Тф=70ТМЦ+ТАЦП=71,3
(мкс) при чем
–
длительность машинного цикла,
- длительность преобразования входного
отсчета.
–
интервал
дискретизации фильтра.
ТФ=71,3мкс <TД=95мкс.
Условие фильтрации аналогового сигнала в реальном времени выполняется.
