1. Постановка задачи (введение)
2. Формализация задачи
3. Разработка и описание общего алгоритма функционирования устройства
4. Обоснование аппаратной части устройства
5. Разработка и отладка программы на языке команд микропроцессора
6. Составление и описание электрической принципиальной схемы устройства
7. Расчёт быстродействия устройства
8. Расчёт АЧХ и ФЧХ устройства для заданных и реальных значений коэффициентов. Оценка устойчивости устройства
9. Заключение
10. Список использованных источников
1. Постановка задачи (введение):
В электронных системах одинаково широко используется обработка информации, представленной в аналоговой и цифровой формах. Это обусловлено тем, что первичная информация о различных физических величинах и процессах носит, как правило, аналоговый характер. Обработку же этой информации удобнее вести в цифровой форме в силу ниже описываемых достоинств цифровых устройств:
1. В цифровых устройствах импульсная и средняя мощности связаны соотношением , где - скважность импульса, - период следования импульсов, - длительность импульсов. Как видно при большой скважности можно получить существенное превышение мощности в импульсе над средним её значением. Этим обусловлены лучшие массогабаритные показатели цифровых устройств по сравнению с аналоговыми.
2. В цифровых устройствах усилительные приборы ( транзисторы ) используются в режиме ключа ( включено/выключено ), при котором мощность рассеиваемая в них минимальна, что приводит к увеличению КПД.
3. Свойства цифровых устройств в меньшей степени зависят от нестабильности параметров используемых элементов. Это объясняется меньшим тепловыделением, т.к. транзисторы работают в режиме ключа.
4. У цифровых устройств выше помехоустойчивость, чем у аналоговых электронных устройств. Это связано с тем, что при передаче импульсов сокращается время, в течении которого помеха может оказывать воздействие на передаваемый сигнал.
5. В цифровых устройствах используются однотипные элементы в каналах обработки, передачи и хранения информации. В связи с этим обстоятельством облегчается изготовление таких устройств средствами микроэлектроники, что в свою очередь обеспечивает надёжность, меньшие габариты, меньшую стоимость и т.п., по сравнению с аналоговыми электронными устройствами. Кроме того, цифровые устройства открывают большие возможности по реализации сложных алгоритмов математической обработки сигнала, что в аналоговых устройствах не всегда возможно.
Когда возникает потребность в цифровой обработке информации, возникает проблема преобразования аналогового сигнала в цифровой и обратно, цифрового в аналоговый. Эту задачу решают специальные устройства, которые носят название АЦП( аналого-цифровой преобразователь ) и ЦАП( цифро-аналоговый преобразователь). После того как сигнал представлен в цифровой форме, он подвергается обработке, в соответствии с некоторым алгоритмом, в программно управляемом устройстве - Микропроцессоре
( МП ).
Таким образом, использование микропроцессорных систем позволяет строить множество радиоэлектронных устройств, самой различной специализации, таких как: различные фильтры, навигационные устройства, измерительные устройства, устройства кодирования и декодирования, вычислительные системы и т.п.
В данном курсовом проекте построен цифровой режекторный фильтр, на основе набора К1821.
2.Анализ и формализация задачи
Согласно заданию на курсовой проект входные данные поступают на МП с периферийного устройства в виде дополнительного двоичного кода. В состав проектируемого цифрового фильтра входят МП-система, на основе набора К1821(К1821ВМ85, К1821РФ55, К1821РУ55), и ЦАП К572ПА1, которые вместе техническими требованиями по обеспечению их работы определяют функциональную схему фильтра приведенную на рис. 2.
Частота дискретизации FД
= 4,25 кГц формируется аппаратным таймером РУ55, в котором частота переполнения FП
в режиме 3 равна FД
. При использовании в качестве входных импульсов таймера тактовых импульсов CLK МП-системы (FCLK
МП
= 1,5 МГц) исходное состояние таймера равно NТАЙМЕРА
= FCLK
МП
/FД
= 353(10)
= 00 0001 0110 0001 (2) .
При дополнении 14-разрядного двоичного кода NТАЙМЕРА
двумя битами 11, задающими режим 3, получаем байты NСТ
= 1100 0001(2)
= C1(16)
, NМЛ
=0110 0001(2)
= 61(16)
, которые загружаются в таймер при инициализации фильтра.
Форма представления чисел (числовых значений отсчетов входного сигнала) – правильная дробь с фиксированной запятой: старший разряд – знаковый, запятая, остальные двоичные разряды – числовые. Таким образом, числовые значения входного сигнала изменяются в диапазоне от – 1 до + 1.
Ввод данных в МП целесообразно осуществлять по сигналу готовности АЦП, используя для этого прерывание МП оповещающим сигналом /BUSY. Согласно заданию на курсовой проект выбирается программноепрерывание- RST 7. Для ввода данных определим порт РВ (РУ55) в режиме простого ввода без квитирования.
Необходимость хранения данных вытекает из вида заданного разностного уравнения. Уравнение использует входную выборку отсчетов (xn
,xn
-2
) и выходную (yn
, yn
-2
). Все выборки должны быть доступны для вычислений, следовательно, должны храниться в памяти МП-системы. Требуется также вычислять три текущих произведения: p1
n
= 0,117 xn
-2
; p2
n
= 1 xn
-2
; p3
n
= 0,0144 yn
-2
, которые также должны храниться в памяти. Следовательно, 12 ячеек ОЗУ (РУ55) при составлении программы необходимо определить для хранения данных в текущем цикле обработки входного сигнала (в текущем интервале дискретизации). После вычисления выходного отсчета yn
, и записи его в ОЗУ, перед приемом нового входного отсчета необходимо сдвинуть отсчеты всех выборок в памяти: n-1-й отсчет на место n-2-го, n-й отсчет на место n-1-го. Это требуется для подготовки следующего цикла вычислений.
Переполнение разрядной сетки имеет место, если при вычислении разностного уравнения получен числовой результат, выходящий за пределы - 1, + 1 при принятом 8-разрядном формате представления данных. Для исключения переполнения разрядной сетки введем масштабирование (ослабление) входных отсчетов путем их умножения на коэффициент масштабирования kМ
< 1, при котором вычисление разностного уравнения никогда не дает недопустимого результата.
Коэффициент kМ
получим, предположив, что отсчеты в разностном уравнении принимают максимальные значения (- 1, + 1) и такие знаки, при которых слагаемые разностного уравнения складываются по модулю, то есть складываются по модулю коэффициенты.
Просуммировав по модулю коэффициенты в уравнении для вычисления yn
, получим yn
мах
= 2,1314, что является недопустимым результатом. Отсюда заданный коэффициент масштабирования
kМ
= 1/ yn
мах
=1/ 2,1314 = 0,469.
Реальные значения коэффициентов разностного уравнения и коэффициента kМ
отличаются от заданных вследствие ограничения длины разрядной сетки: А2
= 1,117(10)
» 1,00011101(2)
= 1,113(10)
;
В2
= 0,0144(10)
» 0,00000011(2)
= 0,012(10)
;
kМ
= 0,469(10)
» 0,01111000 (2)
= 0,4687(10)
.
По этой причине форма и параметры реальных частотных характеристик фильтра (АЧХ, ФЧХ) отличаются от расчетных. Могут также нарушаться условия устойчивости фильтра.
Алгоритм умножения на коэффициент (на константу без знака) целесообразно реализовать программным способом на основе алгоритма умножения вручную: арифметические сдвиги множимого вправо, соответствующие позициям единиц множителя, и накопление суммы частичных произведений. Разряды множимого, выходящие в результате сдвига за границу разрядной сетки, теряются.
Если затраты времени на вычисление произведений программным способом не допускают обработку сигнала в реальном времени, для вычисления произведений следует использовать БИС аппаратных перемножителей, которые вычисляют произведение за один машинный такт.
Согласование кода МП и кода ЦАП необходимо, так как АЦП преобразует в ток смещенный входной код (положительные числа). Для согласования вычисленный отсчет yn
перед выводом на ЦАП суммируется с константой 1000 0000(2)
.
Вывод данных на ЦАП целесообразно осуществлять через порт РА (РФ55), так как этот порт имеет выходной буферный регистр, в котором отсчет yn
хранится в течение всего интервала дискретизации (ЦАП не имеет входного буфера). Напряжение на выходе ЦАП на интервале дискретизации остается постоянным.
Опорное напряжение для ЦАП UОП
в схеме четырехквадрантного умножения определяет диапазон изменения напряжения на выходе фильтра UВЫХ
. Задание на КП требует обеспечить изменение выходного напряжения в диапазоне – 1… + 1 В. Поэтому примем UОП
= - 1 В.
Исходное состояние аппаратной части и программы фильтра устанавливается при включении питания по сигналу аппаратного узла сброса (схемы сброса). При этом:
·программный счетчик (ВМ85) принимает нулевое значение;
·сбрасывается флаг разрешения прерываний (ВМ85);
·все линии портов РА и РВ (РФ55) настраиваются на ввод;
·порты РА, РВ, РС (РУ55) настраиваются на ввод в режиме простого обмена данными;
·таймер (РУ55) останавливается;
·содержимое ячеек ОЗУ и буферных регистров портов (РУ55) сохраняется.
Из этого следует, что переходу фильтра в рабочий режим должна предшествовать его настройка (инициализация) на обеспечение принятого принципа функционирования, выбранных режимов работы узлов, заданных рабочих характеристик.
3.
Разработка общего алгоритма функционирования фильтра:
Общий алгоритм функционирования фильтра строится на основе выводов и определений, сделанных при анализе задачи, и включает в себя все функции устройства, реализуемые аппаратно и реализуемые программно. Он содержит также все сигналы и сообщения, необходимые для взаимосвязи аппаратно-реализуемых и программно-реализуемых операций.
Работа фильтра начинается с подачи питания на схему сброса. Импульс, сформированный схемой сброса (аппаратный узел), обнуляет счетчик команд МП и инициирует формирование импульса сброса RESET для установки МП-системы в исходное состояние.
Таким образом запускается программа инициализации МП-системы, которая должна начинаться с нулевого адреса. В указатель стека SP записывается начальный адрес, с которого начинается стек; порт РВ (РУ55) настраивается на ввод; порт РА (РУ55) – на вывод в режиме обмена с квитированием; таймер настраивается на период переполнения, равный ТД
в режиме 3; таймер запускается для формирования непрерывной последо–вательности импульсов с частотой дискретизации FД
, которые используются далее для взятия отсчетов входного сигнала . Программа инициализации завершается операцией останова МП.
Последующие операции (ввод, вывод, преобразование кодов, оперативные обращения к памяти, арифметические преобразования) в каждом цикле работы фильтра выполняются под управлением рабочей программы фильтра.
Каждый рабочий цикл МП есть реакция на прерывание (выполнение подпрограммы обслуживания прерывания), поэтому после обслуживания прерывания по команде возврата из подпрограммы в каждом рабочем цикле МП возвращается в состояние останова (в состояние ожидания очередного прерывания).
4.Обоснование аппаратной части устройства:
Минимальная конфигурация МП–системы, на которой реализуется устройство, полностью определяется заданным набором К1821, в состав которого входят следующие микросхемы: К1821ВМ85 - микропроцессор; КР1821РФ55 - ПЗУ ёмкостью 2К x 8 бит и два 8 – разрядных порта ввода–вывода; КР1821РУ55 - ОЗУ ёмкостью 258 x 8 (2048) бит, два 8 – разрядных и один 6 – разрядный порты ввода–вывода и 14–разрядный программируемый счётчик – таймер.
Полная схема фильтра получается при объединении минимальной конфигурации МП–системы и дополнительных аппаратных узлов. Такими дополнительными аппаратными узлами в данном случае являются- АЦП и преобразователь ток/напряжение
АЦП используется для преобразования выходного двоичного кода микропроцессора в аналоговый сигнал, в виде тока. Для преобразования токового сигнала в сигнал в виде напряжения используется преобразователь ток/напряжение, который реализован на двух ОУ К157УД3 и дополнительных стабилизирующих элементах. Опорное напряжение на ЦАП подается от внешнего источника.
5.Разработка и отладка программы на языке команд микропроцессора:
Рабочая программа разработана на основе спроектированного алгоритма функционирования устройства и резул
Распределение памяти ПЗУ:
0000h....003Bh-программа инициализации;
003Ch....07FFh-программа реакции на прерывание RST 7
Распределение памяти
O
ЗУ:
5000h,5001h,5002h-хранение отсчетов ,,
5003h,5004h,5005h-хранение отсчетов ,,
5006h,5007h,5008h-хранение отсчетов ,,
50FFh-начальный адрес стека.
;Программа «Цифровой режекторный фильтр»
;Автор:Прусс Александр Владимирович ст.гр.111
;Дата:10 апреля 2004г.
;Разностное уравнение
;Определение символических переменных
PARF.EQU0800hпорт РА(РФ55)
RGARF.EQU0802hрегистр направления передачи
порта РА(РФ55)
PARU.EQU7001h порт РА(РУ55)
RGRU.EQU7000hрегистр управляющего слова (РУ55)
TL.EQU7004hмладший байт таймера
TH.EQU7005hстарший байт таймера
STL.EQU61hмладшее слово для загрузки в таймер
STH.EQU0C1hстаршее слово для загрузки в таймер
SRF.EQU0FFhуправляющее слово для настройки порта
РА(РФ55)
SRU.EQU0C0hуправляющее слово для настройки
портов и пуска таймера (РУ55)
SPR.EQU1Bhуправляющее слово для настройки
прерываний
AX.EQU5000hадрес отсчета
AX1 .EQU5001hадрес отсчета
AX2 .EQU5002hадрес отсчета
AY.EQU5003hадрес отсчета
AY1 .EQU5004hадрес отсчета
AY2 .EQU5005hадрес отсчета
AP1 .EQU5006hадрес отсчета
AP2 .EQU5007hадрес отсчета
AP2 .EQU5007hадрес отсчета
AP3 .EQU5008hадрес отсчета
;Инициализация по сигналу «Сброс»
.ORG0 начальный адрес программного модуля инициализации
DIзапрет прерываний
LXISP,50FFhорганизация стека
MVIA,SRFнастройка таймера на частоту
переполнения Т=Тд в режиме 3
MVIA,STH
STATH
MVIA,SRUнастройка порта РА(РУ55) на ввод
STARGRUи пуск таймера
MVIA,SPRнастройка режима прерываний
SIM
EIразрешение прерываний
M1: HLTостанов, ожидание прерывания
JMPM1 переход на команду останова
процессора по окончании подпрограммы обслуживания прерывания
.ORG3Сhначальный адрес программной реакции на прерывание типа RST 7
LDAPARUввод текущего кода АЦП в аккумулятор
ADI80hполучение дополнительного кода для текущего отсчета
программный модуль масштабирования вычисления произведения
входной отсчет хранится в аккумуляторе
масштабированный отсчет записать в ячейку
ОЗУ с адресом AX
MOVH,A
ARHLарифметические сдвиги в право
ARHLотсчета и накопление суммы
MOVA,H частичных произведений
ARHL в аккумуляторе
ADD H
ARHL
ADD H
ARHL
ADDH
STAAX запоминание в памяти
программный модуль вычисления
произведения
хранится в ячейке ОЗУ с адресом X2
записать в ячейку ОЗУ с адресом P1
LDAX2
MOVH,A
ARHLарифметические сдвиги в право
ARHLотсчета и накопление суммы
ARHLчастичных произведений
MOVA,Hв аккумуляторе
ARHL
ADD H
ARHL
ADD H
ARHL
ARHL
ADDH
STAAP1 запоминание в памяти
программный модуль вычисления произведения
хранится в ячейке ОЗУ с адресом Y2
записать в ячейку ОЗУ с адресом P2
LDAX2
STAAP2 запоминание в памяти
программный модуль вычисления произведения
хранится в ячейке ОЗУ с адресом Y2
записать в ячейку ОЗУ с адресом P3
LDAY2
MOVH,A
ARHLарифметические сдвиги в право
ARHLотсчета и накопление суммы
ARHLчастичных произведений
ARHLв аккумуляторе
ARHL
ARHL
MOVA,H
ARHL
ADDH
STAAP3 запоминание в памяти
программный модуль вычисления выходного
отсчета
слагаемые хранятся в ячейке ОЗУ, результат
вычисления записать в ячейки ОЗУ
LDAAX
LXIH,P2 загрузка адреса в регистр H
ADD М
LXI H,AP1
ADD М
LXI H,AP3
SUB М
STAAYзапоминание в памяти
ADI80hполучение смещенного входного
кода ЦАП
STAPА RFвывод кода на ЦАП через
порт РА(РФ55)
программный модуль сдвига отсчетов
в памяти
LHLDAX
SHLDAX1
LHLDAY
SHLDAY1
RETвозврат из подпрограммы
обслуживания прерывания
Листинг программного модуля вычисления выходного отсчета
Sat Apr 15 2004 23:36 Page 1
2500 A.D. 8085 Macro Assembler - Version 4.02a
------------------------------------------------
Input Filename : sh.asm
Output Filename : sh.obj
1 0800 PARF .EQU 0800h;
2 5006 AP1 .EQU 5006h;
3 5007 AP2 .EQU 5007h;
4 5008 AP3 .EQU 5008h;
5 5000 AX .EQU 5000h;
6 5003 AY .EQU 5003h;
7 0000 3A 00 50 LDA AX
8 0003 21 07 50 LXI H,AP2
9 0006 86 ADD M
10 0007 21 06 50 LXI H,AP1
11 000A 86 ADD M
12 000B 21 08 50 LXI H,AP3
13 000E 96 SUB M
14 000F 32 03 50 STA AY
15 0012 32 00 08 STA PARF
16
Sat Apr 15 2004 23:36 Page 2
Defined Symbol Name Value References
2 AP1 = 5006 10
3 AP2 = 5007 8
4 AP3 = 5008 12
5 AX = 5000 7
6 AY = 5003 14
Pre CODE 0000
Pre DATA 0000
1 PARF = 0800 15
LinesAssembled : 16 AssemblyErrors : 0
Для проверки на переполнение можно осуществить ручной просчет и машинный просчет программы. Приведенный ниже просчет сделан, для случая когда все отсчеты имеют максимально возможное значение:
выходной отсчет будет иметь максимальное значение, если:
Таким образом, при ручном просчете программы, для крайнего случая, переполнения не произошло. Машинный расчет дает такое же значение выходного отсчета. Отсюда можно сделать вывод, что в процессе выполнения программы переполнения не происходит.
6.Составление и описание электрической принципиальной схемы устройства:
Принципиальная электрическая схема цифрового режекторного фильтра содержит следующие элементы:
1) Микросхемы:
DD1 – МП К1821ВМ85
DD2 – ПЗУ К1821РФ55
DD3 – ОЗУ К1821РУ55
DA1 – ЦАП К572ПА1
DA2 - ОУ К157УД3
DA3 – ОУ К157УД3
2) Диоды:
VD1 – КД520
VD2-VD5 – КД514А
3) Конденсаторы
C1,C4,C5 – КМ-56-П33
С2,С3 - К50-24
4) Резисторы
R1,R2,R3,R4
5) Кварцевый резонатор
ZQ1 – 3МГц
Микросхемы DD1 – МП К1821ВМ85;DD2 – ПЗУ К1821РФ55;
DD3 – ОЗУ К1821РУ55 образуют микропроцессорную систему,
DA1 – ЦАП К572ПА1 преобразует выходной двоичный код процессора в аналоговый сигнал в виде тока, VD2-VD5; C2,C3,С4,С5; R3,R4; DA2, DA3 образует схему преобразования ток/напряжение, VD1;R1,R2; C1 образуют схему сброса, кварцевый резонатор задает тактовую частоту процессора.
На выходе схемы преобразователя ток/напряжения формируется напряжение от -1 до +1 В, это обеспечивается подачей опорного напряжения на ЦАП Uref=-1В.
Устройство использует питающие напряжения +5, -15 и +15 В, а также напряжение, для подачи опорного напряжения -1В.
7.Расчёт быстродействия устройства:
Быстродействие фильтра в рабочем режиме оценим как время, необходимое для обработки каждого прерывания процессора. Рабочая программа фильтра линейная (не содержит разветвлений), поэтому общее число машинных тактов, требуемых для выполнения программы, получим как сумму машинных тактов всех последовательно выполняемых команд, составляющих рабочий цикл процессора.
Сумма машинных тактов для рабочего цикла приведенной выше программы равна 445
. Из этого следует вывод, что процессор не успеет выполнить подпрограмму обслуживания прерывания за интервал дискретизации TД
. При частоте FCLK
МП
= 1,5 МГц TД
= 353ТCLK
МП
(353 машинных тактов процессора). Поэтому тактовая частота процессора должна быть увеличена. Примем FCLK
МП
= 3 МГц, что для заданной БИС МП допустимо,тогда TД
= 706ТCLK
МП
.
8.
Расчет АЧХ и ФЧХ устройства для заданных и реальных значений коэффициентов. Оценка устойчивости устройства:
Исходя из разностного уравнения фильтра, можно записать выражения для передаточной функции устройства.
- разностное уравнение, отсюда выражение для передаточной функции будет иметь вид:
, где. Подставляя значение и заменяя получим выражение для комплексного коэффициента передачи фильтра:
, модуль от этого выражения даст АЧХ, а аргумент- ФЧХ:
- АЧХ; - ФЧХ, в обоих этих
выражениях - период дискретизации. Полученные формулы для АЧХ и ФЧХ справедливы для заданных значений коэффициентов, в реальной ситуации, из-за погрешности в представлении коэффициентов в форме двоичного кода, в виду конечности размерности разрядной сетки МП, значения коэффициентов в выражениях для АЧХ и ФЧХ будут другими.
, перевод этих чисел обратно в десятичную систему счисления даст следующий результат:
,, подставив эти значения коэффициентов в разностное уравнение, можно получить выражения для реальных АЧХ и ФЧХ фильтра
; . Графики нормированной
АЧХ и ФЧХ для заданных и реальных коэффициентов изображены на рис.2 и рис.3 соответственно (пунктиром показаны реальные зависимости). По графикам видно, что реальные и заданные характеристики практически не отличаются.
рис.2
рис.3
Для того чтобы было видно различие между заданными и реальными зависимостями можно рассмотреть небольшие участки графиков АЧХ и ФЧХ
(рис.4 и рис.5)
рис.4
рис.5
Для того чтобы оценить устойчивость фильтра, нужно найти полюс передаточной функции
, , .
Полюс передаточной функции фильтра расположен внутри единичной окружности на комплексной z плоскости, следовательно фильтр устойчив.
9.Заключение:
В данном курсовом проекте спроектирован цифровой режекторный фильтр на основе МП-системы. Разработана программа на языке команд микропроцессора, которая обеспечивает выполнение МП-системой заданного алгоритма фильтрации. МП-система построена, согласно заданию на курсовой проект, на основе набора К1821 с минимальной конфигурацией. Аппаратная часть фильтра также включает в себя ЦАП и аналоговое устройство – преобразователь ток/напряжение.
10.Список использованных источников:
1. Рафикузаман М. Микропроцессоры и машинное проектирование микропроцессорных систем: В 2-х кн. Пер. С англ.-М.: Мир, 1988.
2. Токхайм Р. Микропроцессоры: Курс и упражнения / Пер. с англ., под ред. В. Н. Герасевича. М.: Энергоатомиздат, 1998.
3. Щелкунов Н. Н., Дианов А. П. Микропроцессорные средства и системы.- М.: Радио и связь, 1989.
4. Федорков Б.Г., Телец В.А. Микросхемы ЦАП и АЦП:
функционирование, параметры, применение.- М.: Энергоатомиздат,1990.
5.Перельман Б. Л. Шевалов В. В. Отечественные микросхемы и их зарубежные аналоги: справочник. М: НТЦ: Микротех 1998.
6.Микропроцессорный комплект К1810: Структура, программирование, применение: Справочная книга. Под ред. Ю.М.Казаринова.- М.: Высш. шк., 1990.
7. Шило В. Л. Популярные цифровые микросхемы: Справочник.–М.: Радио и связь, 1989.
8.
Методические указания к курсовому проекту по дисциплине “Цифровые устройства и микропроцессоры” / Рязан. гос. радиотехн. акад.; Сост. Н.И.Сальников. Рязань, 2002.