Смекни!
smekni.com

Задание.

Создать МПсистему управлениянастройкойприемника.Упрощеннаясхема приемникаизображенана рис. 1.

Рис1

Контур приемникасостоит изиндуктивностиLк и емкостиварикапа VD1. Этаемкость зависитот подаваемогона варикаппостоянногонапряженияUупр (зависимостьобратнопропорциональная).Выделенноеконтуром ВЧнапряжениеUк детектируетсяамплитуднымдетектором(АД) и при настройкена станцию навыходе АД получаетсясигнал Uвых.НеобходимоподключитьМПС к приемникутак, чтобы МПизмеряя величинуUвых могвоздействоватьна варикап сцелью настройкивходного контура.МПС должнаобеспечить:

— точную настройкуна заданнуюстанцию (величинарассогласованияпо частоте недолжна превышать3% от ширины полосыконтура 2f,

— поиск станцийв диапазонечастот Fmin...Fmax.

1. Описаниеалгоритма.

Напряжениена контуредетектируетсяамплитуднымдетектором(АД), преобразуетсяв АЦП в двоичныйкод и поступаетна МП. МП оцениваетсигнал и выдаетуправляющеенапряжениеUупр, котороепосле ЦАП поступаетна варикап дляизменениячастоты настройкиконтура. Задача,решаемая МП,состоит в поискеэкстремумафункции Uупр(F).Из всех известныхалгоритмовпоиска вследствиемалой разрядностиМП выбираетсяметод нулевогопорядка - методслучайногопошаговогопоиска экстремумас запоминаниемверного шага.

Суть алгоритмасостоят в следующем.Так как напряжениена контуреявляется функциейрасстройки{Fk-Fo}, то пряизменении Fизменяетсяи Uk. МП формируетприращениеUупр (можетбыть и положительными отрицательным).ПроисходитсравнениеUkn=f(Uy) и Ukn+1=f(Uy+Uy).ЕслиUkn+1>Ukn, то делаетсяшаг в ту же сторону,в противномслучае - в противоположную.Одноэкстремальныйвид функциинастройкипозволяетодновременноосуществитьоперациюавтоматическогопоиска частотыFo. АЦП и ЦАПподсоединяютсяк МПС черезпорты ввода/вывода.Для построенияпортов ввода/выводаиспользуютсяпорты Р1 и Р2 ОЭВМ.Это позволяетиспользоватьдля ввода/выводакоманды ОЭВМработы портами.Предположим,что для АЦПосуществляетсяпрограммнаязадержка навремя, большеевремени преобразования,чтобы избежатьввода еще одногорегистра дляопроса сигналаготовностиАЦП. Сигнал наЦАП подаетсясразу из ОЭВМчерез порт.Однако прирегулированиинеобходимоорганизоватьпрограммнуюзадержку навремя установленияпереходныхпроцессов вконтуре. Крометого, для исключениявлияния шумана процессрегулированиянужно установитьнижний пределизменения Uk.

2. Структурнаясхема алгоритма.


3. Математическоеописание.

3.1 Исходные данные:

Диапазончастот поиска

Fmin=1мГц

Fmax=1,5мГц

Полосачастот

f=3кГц

Параметрыварикапа:


Начальноезначение частотыконтура

Fk0=1мГц

Управляющеенапряжение

Uупр0=2В

Крутизнахарактеристикипреобразования

S=25 кГц/В

ПараметрыЦАП (БИС ЦАПК572ПА1):


Опорноенапряжение

UЦАП=10,24В

Количестворазрядов

n=10

ПараметрыАЦП (AD7575):


Опорноенапряжение

UАЦП=2,56В

Количестворазрядов

n=8

3.2 Расчёт.

Частотанастройкиконтура зависитот управляющегонапряженияследующимобразом:

Fk=Fk0+S(Uупр-Uупр0) (1)

где Fk0— начальноезначение частотыконтура приUупр=Uупр0

S — крутизнахарактеристикипреобразования.

Uупр=Uупр2-Uупр1 (2)

Из (1) следует,что

Т.к f=3кГц,то при

F1=Fmin+f=1000+3=1003(кГц),

(В)

F2=Fmin+2f=1006(кГц)

(В)

Uупр=Uупр2-Uупр1=1,24-1,12=0,12(В)

(В) — минимальноезначение напряженияна входе, котороедаёт 1 в младшемразряде кода.

Uупр>UЦАП десятиразрядныйЦАП подходитдля выполненияданной задачи.UЦАП=0,01В навход надо подаватьпо 12k импульсов(как бы проскакиваяпо 12 импульсовсразу), где k— номер шага

.1210 = 00000011002, 2 первых разрядавсегда равны0, их можнозаземлить, к порту подключается8 разрядов (старших)и вместо 12 наЦАП подается3 (112=310). можно охватитьвесь диапазонбез использованиядополнительныхразрядов.

— количествошагов для тогочтобы пройтивсю областьнастройки.

12∙Kn=2004— нужно 10 разрядов

8∙Kn=501— нужно 8 разрядов.

(В)

Если Ukвозрастаетна постояннона всей областинастройки, то

(В)

Uk>UАЦП 8-миразрядный ЦАПподходит длярешения даннойзадачи.

4. Распределениересурсов МПсистемы

Регистр ОЭВМR2 будетхранить значенияUупр, вR3 помещаютсязначения предыдущегошага Uk-1,а в A (аккумулятор)— значенияпоследующегошага Uk.В R4 в процессеработы программыбудем помещатьтолько N— параметрпрограммнойзадержки. В Bбудет хранитьсяколичествошагов для прогонавсей областинастройки.Выбираем N=135,т.к время программнойзадержки равно400 мкс, а вся процедурареализуетсяв 3 цикла,

.

5. Подробнаяструктурнаясхема алгоритма.


6. Программаработы МК.

Кол-воциклов

Метка

Мнемоники

Комментарий

NAMEP78

имя модуляпрограммы


CSEG AT 0H

абсолютныйкодовый сегмент

ORG0H

псевдокомандазадания адресапамяти

1

MOVR2,#3

в R2 помещаетсяUупр

1

MOVB,#167

в B помещаетсяколичествошагов

1

MOV A P1

в A помещаетсясодержимоеUkиз порта P1

1

MOV R3, A

в R3 помещаетсязначение Ukиз A

1

M1:

MOV R4, #135

инициализациясчетчикапрограммнойзадержки

1

MOV A, R2

вAпомещаетсязначение Uуприз R2

1

MOV P2, A

в порт P2помещаетсязначение Uуприз A

1

SETB3.7

формированиеотрицательногоимпульса длявключенияАЦП

1

CLR 3.7

1

SETB 3.7

1

M2:

NOP

операторзадержки

2

DJNZ R4, M2

значение R4(счетчик программнойзадержки)уменьшаетсяна 1 и при R4

0осуществляетсяпереход наметку M2

1

MOV A, P1

в A записываетсяUk+1из порта P1

1

SUBB A, R3

из A вычитаетсяR3 (Uk+1сравниваетсяс Uk)

2

JCM3

если флаг C=0(Uk+1>Uk),то осуществляетсяпереход наметку M3

1

MOV A, P1

в A помещаетсязначение Uk+1из порта P1

1

MOV R3, A

в R3 помещаетсязначение Uk+1из A

1

INCR2

значение R2(Uупр)увеличиваетсяна 1

1

INCR2

значение R2(Uупр)увеличиваетсяна 1

1

INCR2

значение R2(Uупр)увеличиваетсяна 1

2

DJNZ B, M1

значение B(счетчик шагов)уменьшаетсяна 1 и при B

0осуществляетсяпереход наметку M1

2

AJMPM5

осуществляетсябезусловныйпереход наметку M5

1

M3:

MOV R4, #135

инициализациясчетчикапрограммнойзадержки

1

CLRC

флаг С устанавливаетсяв 0

1

DECR2

значение R2(Uупр)уменьшаетсяна 1

1

MOV A, R2

в A помещаетсязначение Uуприз R2

1

MOV P2, A

в порт P2помещаетсязначение Uуприз A

1

SETB3.7

формированиеотрицательногоимпульса длявключенияАЦП.

1

CLR 3.7

1

SETB 3.7

1

M4:

NOP

операторзадержки

2

DJNZ R4, M4

значение R4(счетчик программнойзадержки)уменьшаетсяна 1 и при R4

0осуществляетсяпереход наметку M4

1

MOV A, P1

в A помещаетсясодержимоеUk+1из порта P1

1


SUBB A, R3

изAвычитаетсяR3(Ukсравниваетсяс Uk+1)

1

MOV A, P1

в A записываетсяUk+1из порта P1

1

MOV R3, A

в R3 помещаетсязначение Ukиз A

2

JCM3

если флаг C=0(Uk>Uk+1),то осуществляетсяпереход наметку M3

1

M5:

NOP

оператор задержки

END

конец модуляпрограммы

7. Контрольныйпример.

Для просмотрарезультатоввместо портаP1 будемзначения Uk,будут помещатьсяво внутреннююпамять, начинаяс адреса 20Hи заканчиваяадресом 27H, в R0будет размещатьсяадрес внутреннейпамяти и “MOVA, P1”заменяетсяна “MOV A,@R0”. Так жеуменьшим количествошагов и времяпрограммнойзадержки.

NAME 78


CSEG AT 0H



ORG 0H


MOV 21H, #1

задаются значенияUk

MOV 22H, #3

MOV 23H, #6

MOV 24H, #9

MOV 25H, #6

MOV 26H, #7

MOV 27H, #9

MOV R0, #20H

в R0 помещаетсяадрес 20H

MOVR2,#3

в R2 помещаетсяначальноезначение Uупр

MOVB,#10

в B помещаетсяколичествошагов

MOV A @R0

в A помещаетсясодержимоеячейки с адресомR0

MOV R3, A

в R3 помещаетсясодержимоеА (ячейки садресом 20H)

M1:

INC R0

значение R0(адрес внутреннейпамяти) увеличиваетсяна 1

MOVR4,#3

инициализациясчетчикапрограммнойзадержки

MOV A, R2


MOV P2, A


M2:

NOP


DJNZ R4, M2

значение R4(счетчик программнойзадержки)уменьшаетсяна 1 и при R4

0осуществляетсяпереход наметку M2

MOV A, @R0

в A помещаетсясодержимоеячейки с адресомR0 (Uk+1)

SUBB A, R3

из A вычитаетсяR3 (Uk+1сравниваетсяс Uk)

JCM3

если флаг C=0(Uk>Uk+1),то осуществляетсяпереход наметку M3

MOV A, @R0

в A помещаетсясодержимоеячейки с адресомR0

MOV R3, A

в R3 помещаетсязначение Uk+1из A

INCR2

значение R2(Uупр)увеличиваетсяна 1

INCR2

значение R2(Uупр)увеличиваетсяна 1

INCR2

значение R2(Uупр)увеличиваетсяна 1

DJNZ B M1

значение B(счетчик шагов)уменьшаетсяна 1 и при B

0осуществляетсяпереход наметку M1

AJMPM5

осуществляетсябезусловныйпереход наметку M5

M3:

INC R0

значение R0(адрес внутреннейпамяти) увеличиваетсяна 1

DECR2

значение R2(Uупр)уменьшаетсяна 1

MOVR4,#3

инициализациясчетчикапрограммнойзадержки

CLRC

флаг С устанавливаетсяв 0

MOV A, R2


MOV P2, A


M4:

NOP


MOV A, @R0

в A помещаетсясодержимоеячейки с адресомR0 (Uk+1)

SUBB A, R3

из A вычитаетсяR3 (Uk+1сравниваетсяс Uk)

MOV A, @R0

в A помещаетсясодержимоеячейки с адресомR0 (Uk+1)

MOV R3, A

в R3 помещаетсязначение Uk+1из A

JCM3

если флаг C=0(Uk>Uk+1),то осуществляетсяпереход наметку M3

M5

NOP


END



8. Определениебыстродействияпрограммы.

Найдём,сколько временипотребуетсядля поискастанции, котораянаходится всередине диапазона.F0=1,25 мГц ипри условиичто придётсяделать одиншаг назад.

T=Nц1tц1+Nц2tц2+tпер+tд

Nц1=250— количествошагов в первомцикле

Nц2=1— количествошагов во второмцикле

tц1=417мкс

tц2=414мкс

tпер=424— время переходаиз одного циклав другой

tд=4мкс — времяввода начальныхданных

T=250417+1414+424+4=104717мкс

9. Листинготлаженнойпрограммы.

A51 MACRO ASSEMBLER78 24/12/01 13:46:28 PAGE 1

DOS MACRO ASSEMBLERA51 V5.10

OBJECT MODULE PLACEDIN 78.OBJ

ASSEMBLER INVOKED BY:M:\KEILTEST\BIN\A51.EXE 78.A51 DB EP


LOC OBJ LINE SOURCE







1
NAME P78
----
2
CSEG AT 0H
0000
3
ORG 0H
0000 7A03 4
MOV R2, #3
0002 75F0A7 5
MOV B, #167
0005 E590 6
MOV A, P1
0007 FB 7
MOV R3, A
0008 7C87 8 M1: MOV R4, #135
000A EA 9
MOV A, R2
000B F5A0 10
MOV P2, A


11

000D 00 12 M2: NOP
000E DCFD 13
DJNZ R4, M2
0010 E590 14
MOV A, P1
0012 9B 15
SUBB A, R3
0013 400B 16
JC M3
0015 E590 17
MOV A, P1
0017 FB 18
MOV R3, A
0018 0A 19
INC R2
0019 0A 20
INC R2
001A 0A 21
INC R2
001B D5F0EA 22
DJNZ B, M1
001E 0132 23
AJMP M5
0020 7C87 24 M3: MOV R4, #135
0022 C3 25
CLR C
0023 1A 26
DEC R2
0024 EA 27
MOV A, R2
0025 F5A0 28
MOV P2, A


29

0027 00 30 M4: NOP
0028 DCFD 31
DJNZ R4, M4
002A E590 32
MOV A, P1
002C 9B 33
SUBB A, R3
002D E590 34
MOV A, P1
002F FB 35
MOV R3, A
0030 40EE 36
JC M3
0032 00 37 M5: NOP


38
END

A51 MACRO ASSEMBLER 78 24/12/0113:46:28 PAGE 2

SYMBOL TABLE LISTING
------------ ------------- ------------

NAME T Y P E VALUE ATTRIBUTES




B. . . . . . . . . . . D ADDR 00F0H A
M1 . . . . . . . . . C ADDR 0008H A
M2 . . . . . . . . . C ADDR 000DH A
M3 . . . . . . . . . C ADDR 0020H A
M4 . . . . . . . . . C ADDR 0027H A
M5 . . . . . . . . . C ADDR 0032H A
P1 . . . . . . . . . . D ADDR 0090H A
P2 . . . . . . . . . . D ADDR 00A0H A
P78. . . . . . . . . N NUMB -----

REGISTER BANK(S)USED: 0

ASSEMBLY COMPLETE. 0WARNING(S), 0 ERROR(S)

15



P2

P1

CP

ALE

PSEN

RD

Приложение1

Амплитудныйдетектор

Uупр

VD1

L1

К572ПА1

AD 7575

8 р

8 р

~

D B0

D B1

D B2

D B3

D B4

D B5

D B6

D B7


BUSY

W

CS

RD

C1

Uk

Uk+1

Структурнаясхема управлениянастройкойприёмника.

16



МГАПИ

Курсовой проект

Группа ПР-7

Специальность 2008

Студент РозенфельдА.

2001г.