Рефераты. Цифровой сглаживающий фильтр

Однако за малое время tпр сигнал на входе АЦП может меняться, и в результате приближений выходная информация не будет соответствовать действительности. Необходимо, чтобы во время аналогово-цифрового преобразования уровень входного сигнала был постоянен, или хотя бы не изменялся более чем на 0.5h , где h – шаг квантования

Максимальное изменение будет происходить на верхней частоте, равной согласно теореме Котельникова

fв = 0.5 FД = 2.5 кГц. Скорость этого изменения можно рассчитать, взяв производную от испытательного колебания с частотой fв и размахом Uвх max = 3 B.


          S(t) = 3 sin (2p * 2500 t ); S’(t) = 3*2p *2500 cos (2p *2500 t );


Максимальная скорость изменения равна 3*2p*2500 » 47124 В/с.

Du = 47124 * 3.7*10-7 = 17.4 мВ > 5.86 = 0.5h.

Чтобы поддерживать сигнал на входе АЦП постоянным на время преобразования, требуется устройство выборки и хранения (УВХ), которое фиксирует уровень с момента прихода на управляющий вход тактирующего строба и удерживает этот уровень в течении всей его длительности. В простейшем случае УВХ представляет собой аналоговый ключ и емкость хранения:


В настоящее время производятся готовые УВХ в виде микросхем, например, серия К1100. Микросхема К1100СК2 представляет собой УВХ аналогового сигнала, изменяющегося в пределах ±5 В. При подключаемой емкости хранения 1 нФ время выборки не превышает: tвыборки<10 мкс. Скорость изменения выходного напряжения при хранении не более 5 мВ/мс, то есть при использовании УВХ Dumax = 1.85 мВ < 5.86 мВ.

Другая проблема состоит в том, что входной сигнал является биполярным и изменяется в пределах ±2 В, а заданный АЦП требует униполярный сигнал на входе в пределах 0…3 В. То есть необходимо перед подачей входного сигнала на АЦП промасштабировать его на ¾ и поднять постоянную составляющую на 1.5 В. С этой задачей справится аналоговый сумматор на операционном усилителе:

Коэффициент передачи такого сумматора определяется выражением:


Возможен вариант короткого замыкания цепи ОС,

R3 = 0, ROC = ¥. Тогда, если положить, что U1 = UBX , a U2 = Uпит , то очевидно, что коэффициент масштабирования U1 , равный ¾ , можно обеспечить, взяв R1 = 1 кОм, R2 = 3 кОм. Тогда коэффициент при U2 составляет ¼ . Учитывая, что требуемое UСМ = 1.5 В, получаем Uпит = 6 В = ½ Епит = +12 В. То есть, требуемое Uпит можно получить с шины питания с помощью симметричного резистивного делителя, при этом надо исключить влияние делителя на сумматор, поставив между ними повторитель напряжения на операционном усилителе.

Как уже отмечалось, при проникновении на вход АЦП составляющих с частотами, не отвечающими условию теоремы Котельникова, f1 + m FД , m = 1; 2; 3; … , может возникать стробоскопический эффект, выражающийся в перенесении этих составляющих в частотную область, отвечающую данной теореме, f 1 < FД .


Поэтому частота входного сигнала должна отвечать теореме Котельникова. Поскольку в техническом задании не оговариваются частотные свойства входного сигнала, то на входе необходимо поставить аналоговый фильтр с частотой среза, равной ½ FД = 2500 Гц, который подавлял бы высокочастотные составляющие и в какой-то мере устранял бы подобные проявления. В простейшем случае это ФНЧ 1-го порядка – RC-цепь и операционный усилитель.


R<<RBX oy , R = 1 кОм ; С = 1 / (pRFД ) = 63.66 нФ .


Таким образом, аналоговая входная часть проектируемого устройства представляет собой ФНЧ, грубо ограничивающий спектр сигнала, схему сдвига и масштабирования, устройство выборки и хранения и, наконец, АЦП.

Синхронизацию выборки с частотой FД целесообразно осуществить аппаратным способом, с помощью таймера-счетчика, встроенного в микросхеме РУ-55, настроив его период счета на ТД. Таймер может работать в двух периодических режимах: импульс низкого уровня длится половину периода счета (режим 1) или же один такт общей синхронизации ТТ микропроцессорной системы независимо от периода счета (режим 3). Если тактовая частота составляет fT = 5 МГц, то ТТ = 0.2 мкс. На выборку УВХ необходимо 10 мкс, то есть, в этом плане выгодней режим 1. Однако, для запуска АЦП со строгой периодичностью ТД необходимо, чтобы импульс ST длился не более tпр=0.37 мкс, то есть, для работы АЦП как нельзя лучше подходит режим 3 ( ровный меандр ). Кроме того, короткого импульса может не хватить на сброс УВХ.

Из положения можно выйти, настроив таймер на режим 1. На УВХ меандр подавать через схему задержки, состоящую из интегрирующей цепи и инвертора, на АЦП – через схему формирования короткого отрицательного импульса, состоящую из дифференцирующей цепи и инвертора. В результате импульс ST запустит АЦП, когда уровень сигнала на выходе УВХ уже стабилизировался и поддерживается постоянным.

При этом должны выполняться следующие временные соотношения:


                             t1 > tпр = 0.37 мкс;

                             ½ TД – t1 > tвыборки Þ t1 < 90 мс;


                             t2 > tmin = 37 нс;

                             t2 < tпр = 0.37 мкс.

Выберем t1 = 10 мкс. Учитывая, что порог срабатывания инвертора составляет 2.5 В, можно рассчитать постоянную времени RC-цепи:


2.5 = 5 (1 - е – ( t1 / t1 ) ); t1 = - t1 / ln 0.5 = 14 мкс.


При R = 1 кОм     С = t / R » 14 нФ.


Аналогично, положим t2 = 0.1 мкс. Постоянная времени дифференцирующей RC-цепи находится из выражения:


          2.5 = 5 е – ( t2 / t2 ) ; t2 = - t2 ln 0.5 = 0.144 мкс.

При R = 1 кОм     С = t / R » 144 пФ.


2. Определение общего алгоритма функционирования устройства


Работу цифрового фильтра определяет программа, состоящая из инструкций, предназначенных для микропроцессора, и хранящаяся в ПЗУ независимо от наличия питающего напряжения. Поскольку ПЗУ – единственное устройство, способное хранить информацию при отсутствии питания, то в нем должны быть также заложены данные о конфигурации и синхронизации устройства. При включении питания фильтр в первую очередь должен быть сконфигурирован на правильную, то есть соответствующую требуемой работу. Это осуществляется с помощью программы инициализации. При включении питания микропроцессор обнуляет счетчик команд, и выполнение инструкций тогда происходит с нулевого адреса ПЗУ, находящегося в области векторов прерываний. Туда следует в качестве инструкции поместить ссылку на адрес ПЗУ, с которого начинается программа инициализации. Когда управление будет передано ей, она должна настроить порты на ввод и вывод данных, таймер-счетчик на частоту синхронизации выборки, а также обнулить рабочие ячейки ОЗУ, исключив тем самым быстроменяющиеся переходные процессы. Программа инициализации не должна прерываться, поэтому на время ее выполнения прерывания следует запретить.

Чтобы настроить таймер на частоту дискретизации и режим работы 1, необходимо 16-разрядное управляющее слово:

          0100001111001000(2) = 83С4(16)

Дав старших бита 01 определяют режим 1, а остальное представляет собой 14-разрядное число N = ТД / ТТ = 1000(10) .

Старший байт этого слова записывается по адресу 7004(16), а младший – по адресу 7005(16).

Для ввода и вывода данных могут использоваться соответственно порты А и В микросхемы РУ55, а 6-разрядный порт С можно использовать как линии готовности и квитирования портов А и В. Для установки используется управляющее слово, имеющее вид:


1        1        1        1        1        1        1        0 (2)


Попарно разряды этого слова, начиная с младшего, означают следующее:

Порт А работает на ввод, порт В – на вывод;

порт С работает как порт служебных сигналов;

разрешить прерывания по портам А и В;

запуск таймера.

Линии порта С передают следующие сигналы:

PC0 – INTRA – запрос прерывания по порту А;

PC1 – BFA – состояние буфера порта А;

PC2 – STBA – строб записи в порт А;

PC3 – INTRB – запрос прерывания по порту В;

PC4 – BFB – состояние буфера порта В;

PC5 – STBB – сигнал квитирования с периферии.

4-й и 5-й биты управляющего слова разрешают вывод сигналов INTRA и INTRB.

Управляющее слово необходимо для инициализации записать по адресу 7000(16).

Конечный шаг инициализации - устанавливается маска прерываний и с них снимается запрет. В случае, если используется аппаратное прерывание RST7.5, маска имеет вид:


          0        0        0        0        1        0        1        1 (2)


0-й и 1-й разряды содержат единицы, маскирующие прерывания 5.5 и 6.5, нуль во 2-м оставляет доступным прерывание 7.5; единица в 3-м разряде разрешает прерывания.

Для установки этой маски используется специальная команда SIM микропроцессора ВМ85.

Программа инициализации заканчивается стандартно – командой HLT – останов. После этого процессор будет запускаться только аппаратным прерыванием RST 7.5 – при положительном перепаде напряжения на соответствующем входе. Сигналом запуска для микропроцессора должен служить сигнал наличия данных в буфере порта А BFA. Данный сигнал переходит на высокий уровень по положительному (заднему) фронту сигнала готовности данных АЦП RAD, представляющего собой импульс низкого уровня длительностью чуть больше такта АЦП tmin, то есть когда оцифрованный отсчет загружается в буфер порта А. Сигнал BFA обнуляется, когда происходит программное обращение к порту А с целью считать данные во внутренний регистр микропроцессора (аккумулятор).

При перепаде на высокий уровень, если прерывание не замаскировано и разрешено, произойдет сохранение счетчика команд в стеке, и микропроцессор начнет работу с ячейки 003С(16). В эту ячейку следует записать инструкцию перехода на начальный адрес основной программы, которая будет считывать входной отсчет из порта А, обрабатывать его согласно алгоритму фильтрации и выводить в порт В. Основная программа должна отработать до прихода в порт А очередных данных, а до этого не прерываться. Первое обеспечивается эффективностью алгоритма и быстродействием программы. Второе – хранением высокого уровня на входе RST 7.5 триггером, поэтому ложная импульсная помеха, попавшая на этот вход во время выполнения программы, не прервет и не перезапустит ее. Но чтобы обеспечить возможность нового запуска программы при приходе очередных данных, необходимо сбросить триггер, что осуществляется переустановкой маски, описанной выше. Кроме того, необходимо записать исходное число 50FF в указатель стека, так как при каждом прерывании в стек записывается счетчик команд, а указатель стека дважды декрементируется, что в конечном итоге приведет к достижению им рабочей области и засорению ее неверной информацией. Завершается основная программа командой HLT, и процессор ожидает поступления на вход RST 7.5 очередного положительного перепада.

Страницы: 1, 2, 3



2012 © Все права защищены
При использовании материалов активная ссылка на источник обязательна.