МЕНЮ


Фестивали и конкурсы
Семинары
Издания
О МОДНТ
Приглашения
Поздравляем

НАУЧНЫЕ РАБОТЫ


  • Инновационный менеджмент
  • Инвестиции
  • ИГП
  • Земельное право
  • Журналистика
  • Жилищное право
  • Радиоэлектроника
  • Психология
  • Программирование и комп-ры
  • Предпринимательство
  • Право
  • Политология
  • Полиграфия
  • Педагогика
  • Оккультизм и уфология
  • Начертательная геометрия
  • Бухучет управленчучет
  • Биология
  • Бизнес-план
  • Безопасность жизнедеятельности
  • Банковское дело
  • АХД экпред финансы предприятий
  • Аудит
  • Ветеринария
  • Валютные отношения
  • Бухгалтерский учет и аудит
  • Ботаника и сельское хозяйство
  • Биржевое дело
  • Банковское дело
  • Астрономия
  • Архитектура
  • Арбитражный процесс
  • Безопасность жизнедеятельности
  • Административное право
  • Авиация и космонавтика
  • Кулинария
  • Наука и техника
  • Криминология
  • Криминалистика
  • Косметология
  • Коммуникации и связь
  • Кибернетика
  • Исторические личности
  • Информатика
  • Инвестиции
  • по Зоология
  • Журналистика
  • Карта сайта
  • Разработка микропроцессорного устройства цифрового фильтра

    процессоры для обработки чисел с плавающей точкой. Первый класс представлен

    тремя семействами процессоров, базовыми моделями которых являются

    соответственно 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 ( W

    YK=А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 TRISA |Порт А – Вход |1 |

    |0011h| |CLRF TRISB |Порт В – Выход |1 |

    |0012h| |MOVLW 0x18 |Организация счетчика |1 |

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


    Приглашения

    09.12.2013 - 16.12.2013

    Международный конкурс хореографического искусства в рамках Международного фестиваля искусств «РОЖДЕСТВЕНСКАЯ АНДОРРА»

    09.12.2013 - 16.12.2013

    Международный конкурс хорового искусства в АНДОРРЕ «РОЖДЕСТВЕНСКАЯ АНДОРРА»




    Copyright © 2012 г.
    При использовании материалов - ссылка на сайт обязательна.