|
Задание.
Создать МП систему управления настройкой приемника. Упрощенная схема приемника изображена на рис. 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=83.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. Программа работы МК.
Кол-во цикловМеткаМнемоникиКомментарийNAME P78имя модуля программыCSEG AT 0Hабсолютный кодовый сегментORG 0Hпсевдокоманда задания адреса памяти1MOV R2, #3в R2 помещается Uупр1MOV B, #167в B помещается количество шагов1MOV A P1в A помещается содержимое Uk из порта P11MOV R3, Aв R3 помещается значение Uk из A1M1:MOV R4, #135инициализация счетчика программной задержки1MOV A, R2в A помещается значение Uупр из R21MOV P2, Aв порт P2 помещается значение Uупр из A1SETB 3.7формирование отрицательного импульса для включения АЦП1CLR 3.71SETB 3.71M2:NOPоператор задержки2DJNZ R4, M2значение R4 (счетчик программной задержки) уменьшается на 1 и при R40 осуществляется переход на метку M21MOV A, P1в A записывается Uk+1 из порта P11SUBB A, R3из A вычитается R3 (Uk+1 сравнивается с Uk)2JC M3если флаг C=0 (Uk+1>Uk), то осуществляется переход на метку M31MOV A, P1в A помещается значение Uk+1 из порта P11MOV R3, Aв R3 помещается значение Uk+1 из A1INC R2значение R2 (Uупр) увеличивается на 11INC R2значение R2 (Uупр) увеличивается на 11INC R2значение R2 (Uупр) увеличивается на 12DJNZ B, M1значение B (счетчик шагов) уменьшается на 1 и при B0 осуществляется переход на метку M12AJMP M5осуществляется безусловный переход на метку M51M3:MOV R4, #135инициализация счетчика программной задержки1CLR Cфлаг С устанавливается в 01DEC R2значение R2 (Uупр) уменьшается на 11MOV A, R2в A помещается значение Uупр из R21MOV P2, Aв порт P2 помещается значение Uупр из A1SETB 3.7формирование отрицательного импульса для включения АЦП.1CLR 3.71SETB 3.71M4:NOPоператор задержки
2DJNZ R4, M4значение R4 (счетчик программной задержки) уменьшается на 1 и при R40 осуществляется переход на метку M41MOV A, P1в A помещается содержимое Uk+1 из порта P11SUBB A, R3из A вычитается R3 (Uk сравнивается с Uk+1)1MOV A, P1в A записывается Uk+1 из порта P11MOV R3, Aв R3 помещается значение Uk из A2JC M3если флаг C=0 (Uk>Uk+1), то осуществляется переход на метку M31M5:NOPоператор задержкиENDконец модуля программы
7. Контрольный пример.
Для просмотра результатов вместо порта P1 будем значения Uk, будут помещаться во внутреннюю память, начиная с адреса 20H и заканчивая адресом 27H , в R0 будет размещаться адрес внутренней памяти и “MOV A, P1” заменяется на “MOV A, @R0”. Так же уменьшим количество шагов и время программной задержки.
NAME 78CSEG AT 0HORG 0HMOV 21H, #1задаются значения UkMOV 22H, #3MOV 23H, #6MOV 24H, #9MOV 25H, #6MOV 26H, #7MOV 27H, #9MOV
1 2
|
|
|
|
На сайте: |
, ,
|