Разработка микропроцессорного устройства цифрового фильтра icon

Разработка микропроцессорного устройства цифрового фильтра



НазваниеРазработка микропроцессорного устройства цифрового фильтра
Дата конвертации18.08.2012
Размер230,23 Kb.
ТипРеферат
Разработка микропроцессорного устройства цифрового фильтра


Министерство образования и науки Украины Харьковский национальный университет радиоэлектроники Кафедра ТКС Курсовая работа пояснительная записка “Разработка микропроцессорного устройства цифрового фильтра” по курсу “Цифровые устройства и микропроцессоры ”Выполнил: ст. гр. ИСС – 01 – 3 Егурнов К. В. ______________ (подпись)« »___________2003г.Проверила: Нетикова Л. И._____________ (подпись)« »___________2003г. Харьков 2003 СОДЕРЖАНИЕРеферат…………………………………………………….…………....4 Введение………………………………………………………………...5 1. Обзор аналогичных устройств………………….……...……………72. Выбранный вариант технического решения…….………………...113. Синтез проектируемого устройства………………………………..19 4. Разработка алгоритма программы проектируемого устройства…20 5. Программа на языке ассемблер…………...………………….…….256. Разработка и описание принципиальной схемы…………………..30 Вывод……....…………………………………………………….……..33 Список литературы……………………………………………….……34 Приложение А………………………………………………………….35 Приложение Б………………………………………………………….36 Р Е Ф Е Р А Т Пояснительная записка: 34 с., 12 рис. Цель работы – построение цифрового фильтра с применением современныхмикропроцессорных систем, освоение методов автоматического проектирования исовершенствование навыков программирования на языке Ассемблер. В работе использован микропроцессор фирмы MICROCHIP серии PIC16C711,имеющей возможности аналоговой обработки сигналов. ЦАП не входит в составмикроконтроллера и вынесен отдельно, его входы подключены к порту B. В ходе проектирования были использованы не все ресурсымикропроцессорной системы, поэтому имеется возможность совершенствованияустройства. К примеру, можно построить алгоритм цифровой обработкинескольких аналоговых сигналов, используя для каждого сигнала свой канал ипрограмму вычислений. Программа, написанная на языке Ассемблер, является универсальной длявсех микроконтроллеров фирмы MICROCHIP, имеющих возможность аналоговойобработки сигналов. Необходимо лишь сконфигурировать порты и учестьспецификацию РОН и специальных регистров в соответствии с документацией натребуемую модель. Благодаря современным технологиям разработчик устройств цифровойобработки сигналов может в кратчайшие сроки составлятьвысокопроизводительные системы с дальнейшим доведением их до производства. Наличие большого выбора недорогих высокопроизводительныхмикропроцессорных устройств зарубежного производства на рынке Украиныпозволяет студенту, радиолюбителю реализовывать свои схемы и алгоритмы ввиде технически готового устройства. ВВЕДЕНИЕ Цифровая обработка сигнала – это арифметическая обработка в реальноммасштабе времени последовательности значений амплитуды сигнала,определяемых через равные временные промежутки. Примерами цифровойобработки являются: . фильтрация сигнала; . свертка двух сигналов; . вычисление значений корреляционной функции двух сигналов; . усиление, ограничение или трансформация сигнала; . прямое/обратное преобразование Фурье. Аналоговая обработка сигнала, традиционно используемая во всехрадиотехнических устройствах, является во многих случаях более дешевымспособом достижения требуемого результата. Однако тогда, когда требуетсявысокая точность обработки, миниатюрность устройства, стабильность егохарактеристик в различных температурных условиях функционирования, цифроваяобработка оказывается единственным приемлемым решением. R2 x(t) x(t) C y(t) R1 y(t) t t входной сигнал выходной сигнал Рисунок 1.1 - Аналоговая фильтрация сигнала Пример аналоговой фильтрации приведен на рисунке 1. Используемый вфильтре операционный усилитель позволяет расширить динамический диапазонобрабатываемых сигналов. Форма амплитудно-частотной характеристики фильтраопределяется величинами R2, C. Для аналогового фильтра сложно обеспечитьвысокое значение добротности, характеристики фильтра сильно зависят оттемпературного режима. Компоненты фильтра вносят дополнительный шум врезультирующий сигнал. Аналоговые фильтры трудно перестраивать в широкомдиапазоне частот. Важнейшая особенность цифрового фильтра заключается в том, что подборомопределенных значений коэффициентов разностного уравнения, описывающеговыходной сигнал, можно выполнить преобразование входного сигнала, котороебудет нереализуемо при использовании аналогового фильтра. Само устройство,реализующее цифровую фильтрацию, будет иметь компактные размеры и не будеттребовать особой технической настройки. 1. ОБЗОР АНАЛОГИЧНЫХ УСТРОЙСТВ Фильтры – это частотно-избирательные устройства, которые пропускаютили задерживают сигналы, лежащие в определенных полосах частот. До 60-хгодов для реализации фильтров применялись, в основном, пассивные элементы,т. е. индуктивности, конденсаторы и резисторы. Основной проблемой приреализации таких фильтров оказывается размер катушек индуктивности (нанизких частотах они становятся слишком громоздкими). С разработкой в 60-хгодах интегральных ОУ появилось новое направление проектирования активныхфильтров на базе ОУ. В активных фильтрах применяются резисторы,конденсаторы и усилители (активные компоненты), но в них нет катушекиндуктивности. В дальнейшем активные фильтры почти полностью заменилипассивные. Сейчас пассивные фильтры применяются только на высоких частотах(выше 1МГц), за пределами частотного диапазона большинства ОУ широкогоприменения. Сейчас во многих случаях аналоговые фильтры заменяютсяцифровыми. Работа цифровых фильтров обеспечивается, в основном программнымисредствами, поэтому они оказываются значительно более гибкими в применениипо сравнению с аналоговыми. С помощью цифровых фильтров можно реализоватьтакие передаточные функции, которые очень трудно получить обычнымиметодами. Тем не менее, цифровые фильтры пока не могут заменить аналоговыево всех ситуациях, поэтому сохраняется потребность в наиболее популярныханалоговых фильтрах – активных RC –фильтрах. Фильтры можно классифицировать по их частотным характеристикам. Нарисунке 1.2 изображены характеристики фильтра нижних частот (а), фильтраверхних частот (б), полосового фильтра (в). Основная функция любого фильтразаключается в том, чтобы ослабить сигналы, лежащие в определенных полосахчастот, внести в них различные фазовые сдвиги или ввести временную задержкумежду входным и выходным сигналами.С помощью активных RC – фильтров нельзя получить идеальные формы частотныххарактеристик в виде прямоугольников со строго постоянным коэффициентомпередачи в полосе пропускания, бесконечным ослаблением в полосе подавленияи бесконечной крутизной спада при переходе от полосы пропускания к полосеподавления. Проектирование активного фильтра всегда представляет собойпоиск компромисса между идеальной формой характеристики и сложностью еёреализации. Это называется «проблемой аппроксимации». Во многих случаяхтребования к качеству фильтрации позволяют обойтись простейшими фильтрамипервого или второго порядка. Набор таких схем приведен ниже. Проектированиефильтра в этом случаи сводится к выбору схемы с наиболее подходящейконфигурацией и последующему расчету значений номиналов элементов дляконкретных частот.[pic]Рисунок 1.2 – Типовые характеристики фильтров.Однако бывают ситуации, когда требование к фильтрации сигнала могутоказаться гораздо более жесткими, и могут потребоваться схемы фильтра схарактеристиками более высоких порядков, чем первых или второй.Проектирование фильтра высоких порядков является более сложной задачей. Анализ состояния и тенденций развития теории и практики цифровойфильтрации показывает, что основными используемыми методами являютсячастотная селекция сигналов и оптимальная (адаптивная) фильтрация.Классификация цифровых фильтров (ЦФ) была предложена в докладе Д.А.Губанова и В.Б. Сташенко В ее основу положен функциональный признак (т. е.используемые алгоритмы цифровой фильтрации, а не схемотехнические решения),согласно которому ЦФ подразделяются на 4 группы: фильтры частотнойселекции, оптимальные (квазиоптимальные), адаптивные и эвристические.[pic] Рисунок 1.3 – Классификация цифровых фильтровНаиболее изученными и опробованными на практике являются ЦФ частотнойселекции. Они почти всегда представляют собой реализованные на новойэлементной базе традиционные аналоговые фильтры частотной селекции.Выступления участников конференции показали, что развитие цифровых средствчастотной селекции происходит в следующих направлениях: . создание пакетов прикладных программ для структурного синтеза, анализа качества фильтрации, обеспечения схемотехнической реализации и тестирования устройств; . совершенствование существующих методов оптимального проектирования многоступенчатых структур с целью их полной формализации и включения в состав ПО; . разработка новых подходов к проектированию ЦФ частотной селекции с улучшенными качественными показателями.Новейшие технические реализации как традиционных, так и нетрадиционныхзадач цифровой обработки сигналов чаще всего используют разныесхемотехнические решения. Наибольшее внимание участников секции цифровойфильтрации привлекли алгоритмы многоскоростной обработки сложных сигналов,которые содержат как быстро, так и медленно меняющиеся составляющие. Такойалгоритм должен предусматривать предварительное разделение «быстрых» и«медленных» компонентов с понижением частоты дискретизации «медленных»составляющих и последующей их обработкой. Современные вычислительныесредства позволяют решать в режиме реального времени и задачи многомернойфильтрации, существенно более сложные, чем цифровая фильтрация одномерныхсигналов, выполняемая с помощью сигнальных процессоров илимногопроцессорных систем. 2. ВЫБОР ВАРИАНТА ТЕХНИЧЕСКОГО РЕШЕНИЯ Мир современных технологий наполнен разнообразием микропроцессорныхустройств. Десятки крупнейших фирм производителей конкурируют между собой,предлагая каждый день новую более совершенную продукцию. В курсовом проектеиспользуется цифровая обработка сигналов. Для цифровой обработки сигналовиспользуются так называемые сигнальные микропроцессоры. Рассмотримнекоторые микроконтроллеры, выпускаемые современной промышленностью,наиболее подходящие для реализации курсовой работы. 2.1 МИКРОПРОЦЕССОРЫ КОМПАНИИ ANLOG DEVICES. Микропроцессоры компании Analog Devices образуют два семейства:ADSP21xx и ADSP210xx. Семейство ADSP21xx – набор однокристальных 16-разрядныхмикропроцессоров с общей базовой архитектурой, оптимизированной длявыполнения алгоритмов цифровой обработки сигналов и других приложений,требующих высокоскоростных вычислений с фиксированной точкой. Второе семейство микропроцессоров ADSP210xx объединяет 32-х разрядныемикропроцессоры, ориентированные на сигнальные алгоритмы, требующиевычислений с плавающей точкой. В рамках каждого семейства микропроцессоров обеспечиваетсясовместимость снизу вверх по системе команд. Старшие представителисемейства обладают большими функциональными возможностями и содержат накристалле дополнительные функциональные блоки.Рассмотрим подробнее микропроцессоры первого семейства, так как ихвозможности наиболее подходят для реализации проекта. Микропроцессоры семейства ADSP21xx успешно конкурируют с аналогичнойпродукцией других компаний производителей сигнальных процессоров благодарясравнимой производительности при более низкой цене, а также развитойсистеме технических и программных средств разработки прикладных систем.Основными конкурентами данного семейства являются микропроцессоры DSP56xxx(Motorola) и TMS320C1x, TMS320C2xx, TMS320C5x (Texas Instruments). Высокая производительность процессоров на сигнальных алгоритмахдостигается благодаря многофункциональной и гибкой системе команд,аппаратной реализации большинства типичных для данных приложений операций,высокой степени параллелизма процессов в микропроцессоре, сокращениякомандного такта. Микропроцессоры ADSP21xx имеют модифицированнуюГарвардскую архитектуру, в рамках которой предусматривается возможностьдоступа в память команд, при ее физическом разделении с памятью данных. Каждый микропроцессор семейства содержит три независимыхполнофункциональных устройства: АЛУ, МАС – умножитель с накоплением,устройство барабанного сдвига. Каждое устройство непосредственно оперируетс 16-ти разрядными данными и обеспечивает аппаратную поддержку вычислений сразличной точностью. Микропроцессор содержит генератор адресов команд и два генератораадресов данных, обеспечивающие адресацию к данным и командам, расположеннымкак во внутренней, так и во внешней памяти. Параллельное функционированиегенераторов сокращает длительность выполнения команды, позволяя за одинтакт выбирать из памяти команду и два операнда. Таймер/счетчик микропроцессора обеспечивает периодическую генерациюпрерываний. Последовательные порты (SPORTs) обеспечивают последовательныйинтерфейс с большинством стандартных последовательных устройств, а также саппаратными средствами сжатия-восстановления данных, использующими A- и (-законы компандирования. Порт интерфейса с хост-процессором позволяет без дополнительныхинтерфейсных схем взаимодействовать с главным микропроцессором системы, вкачестве которого может использоваться как процессор данного семейства, таки другой микропроцессор, например Motorola 68000 или Intel 8051. Микропроцессор ADSP – 21msp5x отличается наличием аналоговогоинтерфейса, позволяющего совмещать аналоговую и цифровую обработку. Всостав интерфейсных средств входят АЦП, ЦАП, цифровой и аналоговый фильтры,параллельный интерфейс к процессорному ядру. Система команд микропроцессоров семейства оптимизирована дляалгоритмов цифровой обработки сигналов. По системе команд всемикропроцессоры совместимы снизу вверх. Совершенствование данного семействаидет в направлении повышения тактовой частоты, снижения энергопотребления ирасширения коммуникационных возможностей процессора. 2.2 МИКРОПРОЦЕССОРЫ КОМПАНИИ MOTOROLа Сигнальные микропроцессоры компании Motorola. Подразделяются насемейства 16- и 24-разрядных микропроцессоров с фиксированной точкой – DSP– 560xx, - 561xx, - 563xx, -566xx, 568xx и микропроцессоры с плавающейточкой – DSP – 960xx. Рассмотрим 24-х разрядные микропроцессоры с фиксированной точкойсемейства DSP 560xx. Эти микропроцессоры являются первыми представителямисигнальных микропроцессоров компании Motorola. Архитектура микропроцессоровориентирована на максимизацию пропускной способности в приложениях DSP синтенсивным обменом данными. Это обеспечивается благодаря расширяемойархитектуре со сложной встроенной периферией и универсальной подсистемеввода/вывода. Данные свойства, а также низкое энергопотреблениеминимизируют сложность, стоимость и сроки разработки прикладных систем набазе микропроцессоров DSP56000/DSP56001. Микропроцессоры работают на частоте 33МГц и обеспечиваютпроизводительность около 16 MIPS, что позволяет выполнять быстроепреобразование Фурье по 1024 отсчетам за 3,23мс. Дальнейшее развитие семейства микропроцессоров осуществляется врамках концепции процессорного ядра, общего для всех представителейсемейства, в состав которого входят 24-разрядные микропроцессоры сфиксированной точкой. Процессоры данного семейства характеризуются высокой пропускнойспособностью, расширенной разрядностью, обеспечивающей высокую точностьвычисления и широким динамическим диапазоном обрабатываемых данных,поддержкой энергосберегающего режима работы. Представители семействаотличаются друг от друга конфигурациями памяти и периферийнымиустройствами. 2.3 МИКРОПРОЦЕССОРЫ КОМПАНИИ TEXAS INSTRUMENTS Сигнальные микропроцессоры компании Texas Instruments разделяются надва класса: это процессоры для обработки чисел с фиксированной точкой ипроцессоры для обработки чисел с плавающей точкой. Первый класс представлентремя семействами процессоров, базовыми моделями которых являютсясоответственно TMS320.10, .20, .50. Второй класс включает процессорыTMS320.30, . 40, TMS320С80, которые поддерживают операции с плавающейточкой и представляют собой мультипроцессорную систему, выполненную в одномкристалле, а семейство TMS320C6x включает процессоры как с фиксированной,так и с плавающей точкой. Процессоры старших поколений одного семейства наследует основныеархитектурные особенности и совместимы “снизу вверх” по системе команд(чего нельзя сказать о процессорах, входящих в разные семейства). Перечислим некоторые микропроцессоры, оптимально подходящие для нашейсистемы. 1.Микропроцессоры семейства TMS320C1x Первый процесор семейства – TMS320C10 был выпущен в 1982г. иблагодаря ряду удачных технических решений получил широкуюраспространенность. В основу микропроцессоров данного семейства положена модифицированнаяГарвардская архитектура, отличием которой от традиционной Гарвардскойархитектуры является возможность обмена данными между памятью программ ипамятью данных, что повышает гибкость устройства. TMS320C10 является 16-разрядным процессором. Его адресное пространствосоставляет 4K 16-разрядных слов памяти данных. Длительность тактапроцессора составляет 160-200 нс. Арифметические функции в процессоре реализованы аппаратно. Он имеетаппаратные умножители, устройство сдвига, аппаратную поддержкуавтоинкремента/декремента адресных регистров данных. С внешними устройствами процессор взаимодействует через 8 16-разрядныхпортов ввода/вывода. Предусмотрена возможность внешнего прерывания. Остальные микропроцессоры данного семейства имеют аналогичнуюархитектуру и отличаются длительностью командного такта, конфигурациейпамяти, наличием (или отсутствием) дополнительных периферийных устройств. 2.Микропроцессоры семейства TMS320C2x. Микропроцессоры семейства TMS320C2x имеют анлогичную архитектуру, нообладают повышенной производительностью и более широкими функциональнымивозможностями. Все процессоры семейства поколения могут использовать по 64Kслов памяти программ и данных, имеют 16 16-разрядных портов ввода/вывода ипоследовательный порт. Процессоры семейства TMS320C2x имеют возможность использованиявнешнего контроллера ПДП. Умножитель микропроцессоров, помимо операцийумножения, позволяет выполнять за один такт возведение в квадрат. Впроцессоры включена аппаратная поддержка кратного выполнения команды,реализован режим двоичной инверсно-косвенной адресации, предназначенный дляэффективной реализации быстрого преобразования Фурье. 2.4 ОБОСНОВАНИЕ ВЫБРАННОГО ВАРИАНТА После длительного обзора микропроцесорных устройств, возникла задачавыбора наиболее подходящего микропроцессора. Решение данной задачи былонайдено при рассмотрении микропроцессоров компании Microchip. Дляреализации проекта было принято решение использовать микропроцессоркомпании Microchip PIC16C711. Приведем преимущества использования данногомикропроцессора в курсовой работе, а также общие его характеристики. PIC16C711 это дешевый, высокопроизводительный, изготовленный по КМОПтехнологии 8-битный микроконтроллер. В основу процессора положена RISCархитектура, он имеет улучшенные характеристики ядра, внутренние и внешниепрерывания. Устройство имеет два двунаправленных порта ввода/вывода, одиниз которых может быть использован как вход для аналого-цифровогопреобразования, другой - как выход для ЦАП. Тактовая частота составляет20MHz. На рисунке 2.1 представлена структурная схема PIC16C711. Перечислимосновные элементы схемы: АЛУ (ALU), где выполняются простейшиеарифметические операции, а также логические операции; аккумулятор (W), гдехранятся данные результатов вычислений; регистр состояния, в которомхранятся флаги результатов операций, а также биты выбора банка памяти;регистр косвенной адресации (FSR), через который непрямым образом можнообращаться к ОЗУ; память (RAM), организованная 8-битными специальнымирегистрами и регистрами общего назначения, рабочая область пользователясоставляет 68x8; 13-битный счетчик команд (Program Counter), младшие 8 битприходят из регистра PCL, старшие 5 из регистра PCLATH; ППЗУ (EPROM),составляет 1K 14- битных ячеек памяти; стек 8-ми уровневый, длина слова 13-бит, во время прерывания содержимое счетчика команд сохраняется в стекавтоматически; два двунаправленных 8-битных порта А и В; 4-х канальный 8-битный АЦП (A/D); счетчик Timer0.[pic] Рис. 2.1 – Структурная схема PIC16C711 К сожалению устройство не имеет внутреннего ЦАП. ЦАП будет внешним,его вход будет подсоединен к порту В. Применение внешнего ЦАП не ухудшитработу цифрового фильтра и не усложнит его структуру, так как ЦАП не нужносинхронизировать с временем выполнения программы, в отличие от АЦП. Выбранный вариант технического решения полностью удовлетворяеттехническому заданию. Микроконтроллер + внешний ЦАП позволяют создатьгибкую, высокопроизводительную систему, удовлетворяющую требованияммикроминиатюрности, быстродействия, качества и простоты исполнения.Сравнивая данный микроконтроллер с большинством современныхмикроконтроллеров, можно сказать, что он обладает сравнительно низкойстоимостью и доступностью на рынке Украины. В современных системахобработки сигналов требуется высокая разрядность шины данных и АЦП дляувеличения точности вычислений, также для этих целей необходимо, чтобы АЛУмогло вычислять операции с плавающей точкой. Выбранный микроконтроллер неимеет данных свойств, но он благодаря своему быстродействию и гибкостиможет вполне справиться с целью, поставленной в техническом задании накурсовой проект. Архитектура процессора построена таким образом, что он способенвыполнять команду за один цикл, кроме операций условных и безусловныхпереходов. Это означает, что время выполнения программы будет небольшим, ичастота дискретизации АЦП будет удовлетворять условию обработки сигналовкачественной телефонии. Ассемблер очень простой: пользователю необходимовыучить 35 команд. Последнее достоинство позволяет снизить время наподготовку к выполнению проекта. 3 СИНТЕЗ ПРОЕКТИРУЕМОГО УСТРОЙСТВА Структурная схема типа реализации ЦФ приведена на рис.3.1. Параметрызвеньев ЦФ следующие : параметры звена [pic]: [pic]; параметры звена [pic]: [pic]; параметры звена [pic]: [pic]. [pic] Рис. 3.1 – Структурная схема цифрового фильтра Исходя из этой структуры, а также коэффициентов, для каждого звенасоставим разностные уравнения: 1) первое звено: [pic]; 2) второе звено: [pic]; 3) третье звено: [pic].Результирующее разностное уравнение для цифрового фильтра будет иметь вид: [pic]. 4 РАЗРАБОТКА АЛГОРИТМА ПРОГРАММЫ ПРОЕКТИРУЕМОГО УСТРОЙСТВА Прежде чем приступить к программированию устройства необходимоосновательно изучить его внутреннюю структуру и возможности ресурсов.Простейшая блок-схема проектируемого устройства приведена на рисунке 4.1 Вней учтены конфигурация портов и АЦП, вычисление разностного уравненияфильтра, результат вычислений выдается на порт В. Начало Порт А – вход Порт В – выход Запуск АЦП Вычисление разностного уравнения Выдача Результата На порт В Рисунок 4.1 – блок-схема работы цифрового фильтра Опираясь на данную блок схему, начнем более тщательноерассмотрение вопроса. Конфигурация портов и АЦП задается исходя издокументации предлагаемой производителем. Данная документация содержитпримеры программ для настройки портов и АЦП. Оговорим некоторые аспектыэтих программ применительно к нашему курсовому проекту. Контакты порта Азададим входами установкой битов в регистре TRISA. Данное условиенеобходимо для осуществления аналого-цифровой обработки сигнала. Контактыпорта В зададим как выходные сбросом битов в регистре TRISB. Для АЦПвыберем канал 0, то есть вывод микропроцессора RA0. В PIC16C711 на однопреобразование АЦП необходим минимальный интервал времени 10Тad, где Тad=1,6 мкс выбирается программно. Также одной из важных частей программызапуска АЦП является организация разрешения прерываний. После конфигурации портов и запуска АЦП необходимо приступить квыполнению программы вычисления разностного уравнения, описывающего фильтр. Просчитаем количество переменных, входящих в уравнения. Этоколичество будет определять необходимое число байт памяти. В нашем случаеоно составляет 17. Нетрудно заметить, что коэффициенты разностных уравненийподобраны таким образом, что умножение переменной на них будет делением на2,4,8…, а эта операция выполняется путем сдвига регистра вправо. Дляхранения промежуточных данных сдвиговых операций и операций сложения нампонадобятся дополнительные ячейки памяти в количестве 17. При начальномзапуске программы или при сбросе микропроцессорной системы все ячейкипамяти необходимо сбросить в нуль. На обработку данных АЦП требуется, как указывалось ранее, время.Чтобы повысить эффективность и качество системы, необходимо во времяпросчета АЦП, вместо простоя и ожидания системой результата просчета,произвести вычисления без участия текущего значения отсчета. Вычисления сучастием текущего значения отсчета должны производиться через время, равное10Tad. Результат вычисления АЦП будет обрабатывать программа прерывания. Исходя из всех вышеприведенных соображений, составим окончательныйалгоритм программы: Начало 1 Установка порта А на COUNT-1 ввод Установка да порта В на Z=0 вывод нет 6 0x17(W Сброс ADCON1 W(COUNT 0xC1(W W(ADCON0 0x0C(W Разрешить прерывание W(FSR АЦП Разрешить глобальное Сброс INDF прерывание FSR + 1 Пуск АЦП 1 2 2 3 Вычисление А11UM1с сох- Вычисление ранением зна- A32YN2YK2= чения =A32(YN2+YK2) с сохранением значения Вычисление B11YN1 с сох- ранением зна- Вычисление чения B31YL1 Вычисление В12YN2 ВычислениеYLL = A31YN1YK1+ Вычисление + A32YN2YK2-YNN=А11UM1- - B31YL1 с сох-- B11YN1- ранением зна-- В12YN2 с сох- ченияранением зна-чения Вычисление YK1 ( W A21UM1 с сох-ранением зна-чения Вычисление W ( YK2 B21YK1Вычисление YK ( WYK=А21UM1-- B21YK1 с сох-ранением зна-чения W ( YK1ВычислениеA31YN1YK1 ==A31(YN1+YK1) Вычислениес сохранением A10UMзначения 3 4 4 6 5Вычисление YN =A10UM+ UM ( W +YNN с сохранением значения W ( UM1ВычислениеYL=A30(YN++YK)+YLL с сохранением значения ОСТАНОВПередача знач-чения YL напорт B YN1 ( W W ( YN2 YN ( W W ( YN1 YL ( W 5 Рисунок 4.2 - Алгоритм программы проектируемого устройства 5 РАЗРАБОТКА ПРОГРАММЫ НА ЯЗЫКЕ АССЕМБЛЕР Прежде чем приступить к написанию программы необходимо учестьспецификацию ПЗУ микроконтроллера. Организация ПЗУ изображена на рисунке5.1 [pic] Рисунок 5.1 – Организация ПЗУ PIC16C71 Из рисунка видно, что начало программы пользователя может бытьрасположено ниже адреса 0004h. Адрес 0000h – вектор сброса, 0004h – векторпрерывания. По этим адресам перед началом программирования, как правило,прописывают безусловный переход на программу пользователя и безусловныйпереход на программу обработки прерывания соответственно. Так как в случаенашей системы устройство, осуществляющее запрос прерывания, одно, то поадресу 0004h можно прописывать начало программы обработки прерывания. Также при программировании обязательно нужно учесть спецификациюбанков ОЗУ. Структура ОЗУ изображена нарисунке 5. При обращении к регистрам ОЗУ каждый раз необходимо программнопереключаться между банками ОЗУ, в зависимости от того в каком банкенаходится регистр. Ассемблер, поставляемый производителем, позволяетвначале всем регистрам присвоить вместо адреса определенное имя. Это удобнодля составления программы. [pic] Рисунок 5.2 – Организация ОЗУ PIC16C711 Сначала напишем программу обработки прерывания. Занесем программу втаблицу - 1 с адресами ПЗУ и комментариями. Таблица 5.1|Адрес|Метка|Мнемонический код |Комментарии |Циклы || | |ORG 0x004 |Директива | ||0004h| |MOVWF W_TEMP |Сохранение содержимого W |1 || | | |в W_TEMP | ||0005h| |MOVF STATUS, 0 |Пересылка содержимого |1 || | | |STATUS в W | ||0006h| |MOVWF STATUS_TEMP |Сохранение W в STATUS |1 || | | |_TEMP | ||Продолжение таблицы 5.1 ||0007h| |BCF STATUS, RP0 |Выбор банка 0 |1 ||0008h| |MOVF ADRES, 0 |Пересылка результата АЦП |1 || | | |в W | ||0009h| |MOVWF UM |Пересылка W в UM | ||000Ah| |MOVF STATUS_TEMP, |Пересылка STATUS_TEMP в W|1 || | |0 | | ||000Bh| |MOVWF STATUS |Пересылка W в STATUS |1 ||000Ch| |MOVF W_TEMP, 0 |Пересылка W_TEMP в W |1 ||000Dh| |RETFIE |Возврат прерывания |2 | Программу, реализующую математическую модель фильтра начнем с адреса000Eh и разместим в таблицу 5, 2. Таблица 5.2|Адрес|Метка|Мнемонический код |Комментарии |Циклы || | |ORG 0x00E |Директива | ||000Eh| |MOVLW 0xFF |Пересылка 0xFF в |1 || | | |аккумулятор | ||000Fh| |BSF STATUS, RP0 |Выбор банка 1 |1 ||0010h| |MOVWF TRISа |Порт А – Вход |1 ||0011h| |CLRF TRISB |Порт В – Выход |1 ||0012h| |MOVLW 0x18 |Организация счетчика |1 || | | |СOUNT | || | |BCF STATUS, RP0 |Выбор банка 0 |1 ||0013h| | | | ||0014h| |MOVWF COUNT |Организация счетчика |1 ||0015h| |MOVLW 0x0C |Адрес начальной ячейки в |1 || | | |ОЗУ | ||0016h| |MOVWF FSR |Пересылка адреса |1 || | | |начальной ячейки в FSR | ||0017h|M1: |CLRF INDF |Обнуление текущей ячейки |1 || | | |памяти | ||0018h| |INCF FSR, 1 |Адрес + 1 |1 ||0019h| |DECF COUNT |Счетчик – 1 |1 ||001Ah| |BTFSS STATUS, Z |Условный переход по 1 |1(2) || | | |значению флага нулевого | || | | |результата | ||001Bh| |GOTO M1 | |2 ||001Ch|M2: |BSF STATUS,RP0 |Выбор банка 1 |1 ||001Dh| |CLRF ADCON1 |RA0-RA3 Входы АЦП |1 ||001Eh| |MOVLW 0xC1 | |1 ||001Fh| |BCF STATUS,RP0 |Выбор банка 0 |1 ||0020h| |MOVWF ADCON0 |АЦП включен, работает |1 || | | |канал0 (RA0), частота | || | | |32Tosc. | ||0021h| |BSF INTCON ADIE |Разрешить прерывание АЦП |1 ||0022h| |BSF INTCON GIE |Разрешить глобальное |1 || | | |прерывание | ||0023h| |BSF ADCON0, GO |Запустить АЦП |1 ||0024h| |BCF STATUS, C |Очистка триггера переноса|1 ||0025h| |RRF UM1, 0 |Циклический сдвиг вправо |1 || | | |через триггер переноса | ||0026h| |BCF STATUS, C |Очистка триггера переноса|1 ||0027h| |RRF W, 0 |Циклический сдвиг вправо |1 || | | |через триггер переноса | ||0028h| |MOVWF A11UM1 |W( A11UM1 |1 ||0029h| |BCF STATUS, C |Очистка триггера переноса|1 ||002Ah| |RRF YN1, 0 |Циклический сдвиг вправо |1 || | | |через триггер переноса | ||002Bh| |BCF STATUS, C |Очистка триггера переноса|1 ||002Ch| |RRF W, 0 |Циклический сдвиг вправо |1 || | | |через триггер переноса | ||002Dh| |BCF STATUS, C |Очистка триггера переноса|1 ||002Eh| |RRF W, 0 |Циклический сдвиг вправо |1 || | | |через триггер переноса | ||Продолжение таблицы 5.2 ||002Fh| |BCF STATUS, C | |1 ||0030h| |RRF W, 0 |Циклический сдвиг вправо |1 || | | |через триггер переноса | ||0031h| |MOVWF B11YN1 |W( B11YN1 |1 ||0032h| |BCF STATUS, C |Очистка триггера переноса|1 ||0033h| |RRF YN1, 0 |Циклический сдвиг вправо | || | | |через триггер переноса | ||0034h| |ADDWF W, 0 |W=W+W |1 ||0035h| |ADDWF W, 0 |W=W+W |1 ||0036h| |ADDWF B11YN1 |W=W+ B11YN1 |1 ||0037h| |SUBWF A11UM1, 0 |W= A11UM1- W |1 ||0038h| |MOVWF YNN |W( YNN |1 ||0039h| |BCF STATUS, C |Очистка триггера переноса|1 ||003Ah| |RRF UM1, 0 |Циклический сдвиг вправо |1 || | | |через триггер переноса | ||003Bh| |MOVWF A21UM1 |W( A21UM1 |1 ||003Ch| |BCF STATUS, C |Очистка триггера переноса|1 ||003Dh| |RRF YK1, 0 |Циклический сдвиг вправо |1 || | | |через триггер переноса | ||003Eh| |BCF STATUS, C |Очистка триггера переноса|1 ||003Fh| |RRF W, 0 |Циклический сдвиг вправо |1 || | | |через триггер переноса | ||0040h| |BCF STATUS, C |Очистка триггера переноса|1 ||0041h| |RRF W, 0 |Циклический сдвиг вправо |1 || | | |через триггер переноса | ||0042h| |SUBWF A21UM1, 0 |W= A21UM1- W |1 ||0043h| |MOVWF YK |W( YK |1 ||0044h| |MOVF YN1, 0 |YN1(W |1 ||0045h| |ADDWF YK1 |W=W+ YK1 |1 ||0046h| |BCF STATUS, C |Очистка триггера переноса|1 ||0047h| |RRF W, 0 |Циклический сдвиг вправо |1 || | | |через триггер переноса | ||0048h| |BCF STATUS, C |Очистка триггера переноса|1 ||0049h| |RRF W, 0 |Циклический сдвиг вправо |1 || | | |через триггер переноса | ||004Ah| |BCF STATUS, C |Очистка триггера переноса|1 ||004Bh| |RRF W, 0 |Циклический сдвиг вправо |1 || | | |через триггер переноса | ||004Ch| |BCF STATUS, C |Очистка триггера переноса|1 ||004Dh| |RRF W, 0 |Циклический сдвиг вправо |1 || | | |через триггер переноса | ||004Eh| |MOVWF A31YN1YK1 |W( A31YN1YK1 |1 ||004Fh| |MOVF YN2, 0 |YN2(W |1 ||0050h| |ADDWF YK2 |W=W+ YK2 |1 ||0051h| |BCF STATUS, C |Очистка триггера переноса|1 ||0052h| |RRF W, 0 |Циклический сдвиг вправо |1 || | | |через триггер переноса | ||0053h| |BCF STATUS, C |Очистка триггера переноса|1 ||0054h| |RRF W, 0 |Циклический сдвиг вправо |1 || | | |через триггер переноса | ||0055h| |BCF STATUS, C |Очистка триггера переноса|1 ||0056h| |RRF W, 0 |Циклический сдвиг вправо |1 || | | |через триггер переноса | ||0057h| |MOVWF A32YN2YK2 |W( A32YN2YK2 |1 ||0058h| |BCF STATUS, C |Очистка триггера переноса|1 ||0059h| |RRF YL1, 0 |Циклический сдвиг вправо |1 || | | |через триггер переноса | ||Продолжение таблицы 5.2 ||005Ah| |ADDWF W, 0 |W=W+W |1 ||005Bh| |ADDWF W, 0 |W=W+W |1 ||005Ch| |SUBWF A32YN2YK2, 0|W= A32YN2YK2- W |1 ||005Dh| |ADDWF A31YN1YK1 |W=W+ A31YN1YK1 |1 ||005Eh| |MOVWF YLL |W( YLL |1 ||005Fh| |BCF STATUS, C |Очистка триггера переноса|1 ||0060h| |NOP |Ничего не выполнять |1 ||0061h| |NOP | |1 ||0062h| |NOP | |1 ||0063h| |NOP | |1 ||0064h| |NOP | |1 ||0065h| |NOP | |1 ||0066h| |NOP | |1 ||0067h| |NOP | |1 ||0068h| |NOP | |1 ||0069h| |NOP | |1 ||006Ah| |NOP | |1 ||006Bh| |NOP | |1 ||006Ch| |NOP | |1 ||006Dh| |NOP | |1 ||006Eh| |NOP | |1 ||006Fh| |NOP | |1 ||0070h| |NOP | |1 ||0071h| |NOP | |1 ||0072h| |NOP | |1 ||0073h| |NOP | |1 ||0074h| |MOVF YK1, 0 |YK1(W |1 ||0075h| |MOVWF YK2 |W( YK2 |1 ||0076h| |MOVF YK, 0 |YK (W |1 ||0077h| |MOVWF YK1 |W( YK1 |1 ||0078h| |RRF UM, 0 |Циклический сдвиг вправо |1 || | | |через триггер переноса | ||0079h| |ADDWF YNN |W=W+ YNN |1 ||007Ah| |MOVWF YN |W( YN |1 ||007Bh| |ADDWF YK |W=W+ YK |1 ||007Ch| |BCF STATUS, C |Очистка триггера переноса|1 ||007Dh| |RRF W, 0 |Циклический сдвиг вправо |1 || | | |через триггер переноса | ||007Eh| |ADDWF W, 0 |W=W+W |1 ||007Fh| |ADDWF YLL |W=W+ YLL |1 ||0080h| |MOVWF YL |W( YL |1 ||0081h| |MOVWF PORTB |W( PORTB |1 ||0082h| |MOVF YN1, 0 |YN1(W |1 ||0083h| |MOVWF YN2 |W( YN2 |1 ||0084h| |MOVF YN, 0 |YN (W |1 ||0085h| |MOVWF YN1 |W( YN1 |1 ||0086h| |MOVF YL, 0 |YL (W |1 ||0087h| |MOVWF YL1 |W( YL1 |1 ||0088h| |MOVF UM, 0 |UM (W |1 ||0089h| |MOVWF UM1 |W( UM1 |1 ||008Ah| |GOTO M2 |Безусловный переход на |1 || | | |метку | || |END | | ||Всего вместе с программой обработки прерывания |283 |Время выполнения программы 56 мкс. Операции NOP предназначены для синхронизации работы АЦП с программой.Также для этой цели было добавлено 4 команды перед операциями над текущимзначением отсчета. В составленном алгоритме данные коррекции небылипредусмотрены. Время выполнения программы, реализующей цифровой фильтр,равно 49 мкс. Интервал дискретизации сигнала равен 24,6 мкс, соответственночастота дискретизации равна 41000Гц. В программе используются два перехода:один для обнуления ОЗУ, другой – для возврата программы на место запускаАЦП. При использовании более современных PIC процессоров возможноисключение операций NOP. 6 РАЗРАБОТКА И ОПИСАНИЕ ПРИНЦИПИАЛЬНОЙ СХЕМЫ Для технической реализации ЦФ необходимы следующие элементы: - процессор; - ЦАП; - Блок питания от сети 220 В, 50 Гц. Описание процессора: Основным блоком ЦФ является процессор PIC16C711 (рис.6.1). Приведёмкраткую характеристику интересующих для данной задачи выводов процессора.RA4/RTCC - Вход через триггер Шмита. Ножка порта ввода/вывода с открытымстоком или вход частоты для таймера/счетчика RTCC. RA0/AIN0 -Двунаправленная линия ввода/вывода. Аналоговый вход канала 0. Как цифровойвход имеет уровни ТТЛ.RA1/AIN1 - Двунаправленная линия ввода/вывода. Аналоговый вход канала 1.Как цифровой вход имеет уровни ТТЛ.RA2/AIN2 - Двунаправленная линия ввода/вывода.Аналоговый вход канала 2. Какцифровой вход имеет уровни ТТЛ.RA3/AIN3/Vref - Двунаправленная линия ввода/вывода. Аналоговый вход канала3. Как цифровой вход имеет уровни ТТЛ.RB0/INT - Двунаправленная линия порта вывода или внешний вход прерывания.Уровни ТТЛ.RB1 - RB5 - Двунаправленные линии ввода/ вывода. Уровни ТТЛ.RB6 - Двунаправленные линии ввода/ вывода. Уровни ТТЛ.RB7 - Двунаправленные линии ввода/ вывода. Уровни ТТЛ./MCLR/Vpp - Низкий уровень на этом входе генерирует сигнал сброса дляконтроллера. Активный низкий. Вход через триггер Шмитта.OSC1 - Для подключения кварца, RC или вход внешней тактовой частоты.OSC2 /CLKOUT - Генератор, выход тактовой частоты в режиме RC генератора, востальных случаях - для подключения кварца.Vdd - Напряжение питания.Vss – Общий (земля). RA2/AIN2 1 18 RA1/AIN1 RA3/AIN3/Vref RA0/AIN0 RA4/RTCC OSC1/CLKIN /MCLR/Vpp OSC2/CLKOUT Vss PIC16C711 Vdd RB0/INT RB7 RB1 RB6 RB2 RB5 RB3 9 10 RB4 Рисунок 6.1 – Выводы процессора PIC16C711 Описание ЦАП: В качестве ЦАП используется микросхема фирмы Analog Devices AD7302.Данный ЦАП имеет следующие основные характеристики: AD7302 двойной, 8-битный ЦАП, который работает от однополярногоисточника питания с напряжением +2.7 - +5.5 В. AD7302 имеет интерфейс,совместимый параллельным выходом микропроцессоров и цифровых сигнальныхпроцессоров (DSP). Интерфейс обладает высокоскоростными регистрами идвойной буферизированной логикой. Данные загружаются при повышенном уровнена CS или WR. С помощью пина ~A/B выбирают какой из 2 встроенных ЦАП будетиспользоваться. Приведём краткую характеристику интересующих для данной задачи выводовЦАП. D7-D0 - Параллельные информационные входы. 8-битные данные загружаютьсяво входной регистр AD7302 под управлением CS и WR. CS - Выбор кристалла. Активный низкоуровневый логический ввод. WR - Ввод записи. Активный низкоуровневый логический ввод. Используетьсявместе CS и A/B, чтобы писать данные в регистр выбранного ЦАП. A/B – Выбор ЦАП. PD – Активный низкоуровневый ввод, используемый для перехода в режимпотребления малой мощности. LDAC – Логический ввод загрузки ЦАП. Когда на этот ввод подаеться низкийуровень, оба ЦАП синхронно обновляются со своими регистрами. CLR – Асинхронный вход сброса. Когда на него подаеться низкий уровень,все регистры ЦАП обнуляються и на выход напряжение не поступает. Vdd – Напряжение питания. REFIN – Внешний ввод ссылки. Может использоваться как ссылка для обоихЦАП. Диапазон этого ввода 1 В – Vdd/2. AGND – Земля для аналоговой части микросхемы. VoutB – Аналоговый вывод ЦАП B. Voutа– Аналоговый вывод ЦАП А. DGND – Земля для цифровой части схемы. DB7 1 20 DGND DB6 Voutа DB5 VoutB DB4 AGND DB3 AD7302 REFIN DB2 Vdd DB1 CLR DB0 LDAK CS PD WR 10 11 A/B Рисунок 6.2 – Выводы ЦАП AD7302 Блок питания от сети 220 В, 50 Гц :На рисунке 6.3 приведена простая схема блока питания на 3 В (ток внагрузкеке 200 мА) с автоматической электронной защитой от перегрузки (Iз =250 мА). Уровень пульсации выходного напряжения не превышает 1 мВ.В схеме вкачестве источника опорного напряжения используется светодиод HL1.Трансформатор Т1 можно приобрести из унифицированной серии ТН любой, нолучше использовать самые малогабаритные ТИ1-127/220-50 или ТН2-127/220-50.Подойдут также и многие другие типы трансформаторов со вторичной обмоткойна 5...6 В. Конденсаторы С1...СЗ типа К50-35. Схема использует интегральныйстабилизатор DA1, для нормальной работы микросхемы необходимо, чтобывходное напряжение превышало выходное не менее чем на 3,5 В. Это снижаетКПД стабилизатора за счет тепловыделения на микросхеме — при низкомвыходном напряжении мощность, теряемая в блоке питания, будет превышатьотдаваемую в нагрузку. Необходимое выходное напряжение устанавливаетсяподстроечным резистором R2. Микросхема устанавливается на радиатор. [pic] Рисунок 6.2 – Схема генератора ВЫВОД Спроектированная система является достаточно простой. Схемаэлектрическая принципиальная составлялась на ПК с использованием пакетаACCEL. С помощью утилит, входящих в данный пакет, можно провеститрассировку печатной платы по готовой схеме электрической принципиальной идовести проект до готового изделия. По результатам курсового проекта можно оценить погрешности связанныес оцифровкой сигнала. Основную погрешность будет вносить ограниченнаявосемью разрядами шина АЦП, чем больше уровней квантования - тем лучше.Также, ввиду отсутствия операций с плавающей точкой, деление на дванечетных чисел будет давать неточный результат. Для оцифровки аналоговых сигналов должно выполняться условие [pic].На практике[pic] и выше для улучшения качества передаваемого сигнала.Спектр речевого сигнала качественной телефонии составляет 0,3 – 3,4 кГц всоответствии с установленным международным стандартом. Цифровой фильтр,спроектированный в ходе курсовой работы, удовлетворяет требованиямобработки не только сигналов качественной речи, но и сигналов с верхнейчастотой спектра 15..20кГц (музыка, каналы ШК и т.д.). СПИСОК ЛИТЕРАТУРЫ1. Калабеков Б. А. Микропроцессоры и их применение в системах передачи и обработки сигналов: Учеб. Пособие для вузов. – М.: Радио и связь, 1988. – 368с.: ил.2. Корнеев В. В., Киселев А. В. Современные микропроцессоры. – М.:НОЛИДЖ, 1998. – 240 с.; ил.3. MICROCHIP PIC16/17 MICROCONTROLLER DATаBOOK.4. Документация на CD, поставляемая компанией MICROCHIP.-----------------------Um[pic][pic][pic]




Нажми чтобы узнать.

Похожие:

Разработка микропроцессорного устройства цифрового фильтра iconКурсовой проект по дисциплине: «Микропроцессорные информационно-управляющие системы связи» на тему: «Разработка эквалайзера»
Определение порядка и синтез коэффициентов цифрового фильтра, входящих в состав эквалайзера
Разработка микропроцессорного устройства цифрового фильтра iconПроектирование цифрового фильтра

Разработка микропроцессорного устройства цифрового фильтра iconПрограммирование цифрового фильтра

Разработка микропроцессорного устройства цифрового фильтра iconТехническое задание разработка медицинского цифрового термометра на базе контроллера avr aтmega103
В данной курсовой работе произведена разработка медицинского цифрового термометра на основе avr микроконтроллера atmega103 с характеристиками,...
Разработка микропроцессорного устройства цифрового фильтра iconРазработка компенсационного стабилизатора напряжения на базе операционного усилителя. Разработка цифрового реферат курсовой проект по электронике, 18 стр., 4 приложения
Разработка компенсационного стабилизатора напряжения на базе операционного усилителя. Разработка цифрового
Разработка микропроцессорного устройства цифрового фильтра iconМетодические указания по выполнению лабораторной работы №6 по курсу "Цифровая обработка сигналов"
Проектирование цифрового бих-фильтра методом билинейного преобразования в пакете программ matlab
Разработка микропроцессорного устройства цифрового фильтра icon6 охрана труда и окружающей среды
Анализ условий труда при производстве устройства измерения отношения напряжений на основе микропроцессорного вычислителя
Разработка микропроцессорного устройства цифрового фильтра iconПрограмма профессиональной переподготовки «Менеджмент в сфере электронного бизнеса и интернет-проектов»
Преимущества и ограничения цифрового устройства и человека как партнеров в трудовой деятельности
Разработка микропроцессорного устройства цифрового фильтра iconВведение Общая часть 1 Структурная схема устройства динамической индикации Расчетная часть
Преобразователь Y2 двоично десятичный код преобразует в код семисегментного цифрового индикатора
Разработка микропроцессорного устройства цифрового фильтра iconИсследовательская работа Автор: Джабадари Георгий Валерьевич
Разработка цифрового виртуального прибора для контроля освещенности школьных помещений и индивидуальных рабочих мест учащихся
Разместите кнопку на своём сайте:
Документы


База данных защищена авторским правом ©rushkolnik.ru 2000-2015
При копировании материала обязательно указание активной ссылки открытой для индексации.
обратиться к администрации
Документы