|
Проектирование систем цифровой обработки сигналов на устройствах программируемой логики
Цели и задачи образовательного комплекса:
Цель образовательного комплекса «Проектирование систем цифровой обработки сигналов на устройствах программируемой логики» состоит в изучении основных методов и алгоритмов цифровой обработки сигналов (ЦОС), а также базовых принципов, конструктивных и технологических основ создания цифровой электронной аппаратуры с использованием программируемых логических интегральных схем (ПЛИС), реализующей алгоритмы ЦОС. В структуре курса уделяется внимание вопросам совместной разработки программного и аппаратного обеспечения, а также проблемной специализации системы команд микропроцессоров.
См.: Обоснование необходимости разработки образовательного комплекса
Сфера применения образовательного модуля:
Предназначается для студентов, получающих образование по университетским специальностям прикладная математика, теоретическая и прикладная информатика, информационные технологии, физика и радиофизика. Может быть использован при подготовке специалистов по инженерным специальностям: инженер-программист, системный программист и т. д. Предполагается использование на средних и старших курсах.
Авторский коллектив:
Руководитель |
Кривошеев В.И., к.т.н., доцент Нижегородского государственного университета им. Н.И.Лобачевского |
Зам. руководителя, ответственный исполнитель |
Тарасов И.Е., к.т.н., доцент Ковровской государственной технологической академии |
Разработчик |
Потехин Д.С., к.т.н., доцент Ковровской государственной технологической академии |
Разработчик |
Молков Н.П., магистрант радиофизического факультета Нижегородского государственного университета им. Н.И.Лобачевского |
Состав образовательного комплекса:
В комплект поставки образовательного комплекса войдут:
- учебник;
- описание лабораторных работ для проведения лабораторного практикума;
- макетные платы на базе ПЛИС для проведения лабораторного практикума;
- презентация образовательного комплекса.
Краткое содержание учебника:
- Обзор микросхем программируемой логики
- Методы представления чисел в цифровых системах и математические операции над ними
- Аналоговый интерфейс ввода-вывода для систем ЦОС
- Дискретные сигналы и системы
- Z – преобразование
- Дискретное преобразование Фурье
- Цифровые фильтры
- Цифровой спектральный анализ
- Проектирование микропроцессоров и устройств ЦОС на базе ПЛИС
- Программная поддержка микропроцессорных систем и систем на кристалле
См.: Аннотация содержания учебника
План лабораторного практикума:
Лабораторный практикум по алгоритмам ЦОС в системе MATLAB
- Дискретные сигналы и их описание во временной области(pdf)
- Дискретные линейные системы с постоянными параметрами и их описание во временной области(pdf)
- Представление дискретных сигналов и линейных систем с постоянными параметрами в частотной области(pdf)
- Дискретное преобразование Фурье(pdf)
- Цифровая фильтрация. Анализ и проектирование КИХ - фильтров(pdf)
- Цифровая фильтрация. Анализ и проектирование БИХ - фильтров(pdf)
- Цифровой спектральный анализ: периодограммный и коррелограммный методы(pdf)
Лабораторный практикум по аппаратной реализации цифровых систем обработки данных:
Освоение маршрута проектирования цифровых устройств на базе ПЛИС
- Создание синхронного проекта на базе ПЛИС(pdf)
- Основные синтаксические конструкции языка VHDL(pdf)
- Разработка конечного автомата для управления периферийным устройством(pdf)
- Разработка конечного автомата для обмена данными с АЦП и ЦАП с интерфейсом SPI(pdf)
- Система сбора данных и спектрального анализа(pdf)
- Получение навыков работы с двоичной арифметикой(pdf)
- Создание простейшего цифрового фильтра(pdf)
- Разработка управляющего процессора для системы цифровой обработки сигналов(pdf)
Обоснование необходимости разработки образовательного комплекса:
Характеристика состояния предметной области
Научная дисциплина «Цифровая обработка сигналов» оформилась примерно к 1975 году, именно к этому времени относятся первые зарубежные книги, обобщившие опыт преподавания этой дисциплины в ведущем инженерном вузе США Массачусетском технологическом институте «пионеров» этой науки А.Оппенгейма, Р.Шафера, Л.Рабинера, Б.Гоулда. Позднее (1978, 1979 г.) эти книги были переведены на русский язык, но более не переиздавались, и в настоящее время недоступны для использования в учебном процессе. Заметим, что книга А.Оппенгейма и Р.Шафера дважды (1989, 1999 гг.) переиздавалась в США, последнее ее издание: A Oppenheim, R Shafer, J.Buck Discrete-Time Signal Processing, 2/e, 1999 / 0-13-754920-2, NJ: Prentice Hall. Методически дополняет эту книгу компьютерный практикум по ЦОС в системе MATLAB: J.MacClellan, C.Burrus, A.Oppenheim, T.Parks, Shafer/Schuessler Computer-Based Exercises for Signal Processing Using MATLAB Ver. 5, 1/e, 1998 / 0-13-789009-5, NJ: Prentice Hall. Отличная книга С.Л.Марпла – мл. «Цифровой спектральный анализ им его приложения», переведенная на русский язык, содержит материал по достижениям в области цифрового спектрального анализа (ЦСА), включая классические методы ЦСА и современные методы ЦСА высокого частотно-временного разрешения.
Поскольку появление ПЛИС FPGA относится к 1985 году, а проникновение данной технологии на российский рынок произошло в 90-х гг., специальная литература по данному направлению представлена отдельными изданиями, не охватывающими весь спектр методик и направлений проектирования. Можно отметить издания Грушвицкий Р.И., Мурсаев А.Х., Угрюмов Е.П. Проектирование систем на микросхемах программируемой логики. – СПб.: БХВ-Петербург, 2002. – 608 с.: ил.; Бродин В.Б., Калинин А.В. Системы на микроконтроллерах и БИС программируемой логики – М.: Издательство ЭКОМ, 2002. – 400 с.: илл, обобщающие опыт авторов в области использования ПЛИС Altera и создания на их базе цифровых устройств класса «МК-ПЛИС».
Работы по проекту EUROPRACTICE, координируемые проф. Ланцовым (ВлГУ), привели к использованию в научной и учебно-методической работе ПЛИС как более известной российским разработчикам фирмы Altera, так и Xilinx. Основные сведения о проектировании ПЛИС изложены в: Ланцов В.Н. Проектирование ПЛИС на VHDL: Учеб. пособие / Владим. Гос. Ун-т. Владимир, 2000. 120 с.
При содействии представительства Xilinx в России издано учебное пособие: Дж. Ф. Уэйкерли. Проектирование цифровых устройств, в 2-х т. Москва: Постмаркет, 2002., которое содержит сведения о программируемых логических интегральных схемах и может быть рекомендовано в качестве учебника. Кроме того, рекомендуется для ознакомления серия книг «ПЛИС фирмы Xilinx. Описание структуры основных семейств», выпускаемая российским представительством Xilinx.
Практические приемы проектирования хорошо изложены, например, в: Сергиенко А.М. VHDL для проектирования вычислительных устройств. – К.: ЧП «Корнейчук», ООО «ТИД «ДС», 2003. – 208 с.
Имеющийся задел коллектива
Материал курса, посвященный методам и алгоритмам ЦОС, основан читаемом в ННГУ курсе «Цифровая обработка сигналов», а также на материалах лекций, прочитанных Кривошеевым В.И. для сотрудников Нижегородского филиала фирмы Intel, для студентов, обучающихся в учебно-исследовательских лабораториях «Физических основ и технологий беспроводной связи» и «Информационные технологии» ННГУ.
Накопленный научный и методический опыт в рассматриваемой и смежных с ней предметных областях, а также определенный задел в плане организации интеллектуальных обучающих систем как систем, основанных на знаниях, позволяет комплексно подойти к проблеме создания эффективного, оперативно сопровождаемого образовательного комплекса «Проектирование систем цифровой обработки сигналов на устройствах программируемой логики».
Новизна предлагаемого комплекса
Лекционный материал включает базовые методы и алгоритмы ЦОС, которые оказали и продолжают оказывать непосредственное влияние как на всю элементную базу ЦОС, так, в частности, и на архитектуру процессоров ЦОС.
Лекционный материал обобщает опыт практического проектирования процессорных систем в ПЛИС и предусматривает подготовку специалистов, способных выполнять как разработку алгоритмов ЦОС, так и сквозное проектирование микропроцессоров, реализующих алгоритмы, с использованием современных САПР ПЛИС.
Практический курс сочетает в себе как общие принципы построения вычислительных и периферийных устройств, так и примеры реализации широко распространенных цифровых интерфейсов.
Лекционный и практический материал дополнен сведениями о языках ассемблера и методах совместного проектирования программного и аппаратного обеспечения.
Материал лекций подобран на стыке дисциплин «Цифровая обработка сигналов», «Цифровая схемотехника», «Языки описания аппаратуры» и «Системное программное обеспечение». Объединение их в один курс способствует более глубокому усвоению материала, связанного с проектированием микропроцессорных систем, и дает возможность использования полученных знаний в смежных областях.
Программная лаборатория образовательного комплекса базируется на реализации алгоритмов ЦОС в системе MATLAB и на промышленных САПР ПЛИС, допускающих как моделирование, так и практическое проектирование цифровых устройств с их отладкой непосредственно на макетном устройстве.
Лабораторный практикум дополняется высокоуровневыми средствами разработки HDL-описаний и языков управления микропроцессорными устройствами, которые могут быть созданы в рамках процесса обучения.
Аннотация содержания учебника «Проектирование систем цифровой обработки сигналов на устройствах программируемой логики»:
Настоящий учебник содержит теоретические сведения по методам и алгоритмам цифровой обработки сигналов (ЦОС), а также способам практической реализации систем ЦОС на программируемых логических интегральных схемах (ПЛИС). Предполагается предварительное изучение студентами вузовского курса математики, включая введение в теорию функций комплексной переменной, преобразования Лапласа и Фурье, и ее применение к теории сигналов и систем непрерывного времени. Другие необходимые математические сведения, связанные с представлениями дискретных сигналов и дискретных линейных систем, излагаются в самом учебнике. Учебник предназначен для освоения технологии проектирования на базе ПЛИС цифровых устройств с начального уровня до микропроцессоров, реализующих алгоритмы цифровой фильтрации и спектрального анализа. Рассматриваются практически все аспекты работы с ПЛИС, начиная от выбора семейства и основ работы с языком описания аппаратуры VHDL и заканчивая описанием программатора и вопросами разработки печатной платы.
Глава 1 посвящена обзору микросхем программируемой логики. В ней приведены основные сведения о ПЛИС Xilinx, особенности проектирования на языке VHDL в среде ISE. Рассмотрены принципы работы ПЛИС, структура логической ячейки и ее возможности, особенности современных серий ПЛИС, выделенные ресурсы на кристалле. Рассмотрены САПР ISE, маршрут проектирования, структура проекта в ПЛИС. Приведены основные сведения о языке VHDL, рассмотрены вопросы создания модулей и задание топологических и временных ограничений.
Рассмотрены устройства с архитектурой CPLD и устройства с архитектурой FPGA, а также реализация на VHDL основных узлов микропроцессорного устройства. В частности, обсуждаются синхронные и асинхронные схемы, временные диаграммы работы основных цифровых узлов, приведены примеры создания асинхронных устройств, регистров, простейшего АЛУ.
В главе 2 рассмотрены методы представления чисел в цифровых системах и математические операции над ними. В том числе рассмотрены системы счисления, запись отрицательного числа, двоичная арифметика (сложение, вычитание, умножение, деление, извлечение квадратного корня). Обсуждены способы представления вещественных чисел и арифметические операции, вычисление трансцендентных функций, применение алгоритмов CORDIC для вычисления некоторых функций и операции над комплексными числами.
Выполненный обзор основных математических понятий необходим для понимания и качественной реализации цифровых устройств.
В главе 3 рассмотрен аналоговый интерфейс ввода-вывода для систем цифровой обработки сигналов. В частности, рассмотрена процедура аналого-цифрового преобразования и связанные с ней ошибки квантования, эффекты усечения и округления, однородное и неоднородное квантование (компандирование). Обсуждена необходимость использования фильтров защиты от эффекта наложения и выбор частоты дискретизации. Рассмотрена также процедура цифро-аналогового преобразования.
В главе 4 вводятся определения понятий дискретных сигналов и дискретных линейных систем, инвариантных к сдвигу (с постоянными во времени параметрами). Рассматривается их описание во временной области на основе дискретной свертки и линейных разностных уравнений, а также в частотной области на основе дискретно-временного преобразования Фурье. Рассмотрены дискретизация во времени аналоговых сигналов и теорема отсчетов, а также частотно-временные деформации дискретного сигнала, включающие прореживание и интерполяцию.
В главе 5 вводится описание дискретных сигналов и систем в области комплексной переменной с использованием z-преобразования. Рассмотрены свойства z-преобразования и его применение к решению разностных уравнений и определению передаточной функции дискретной линейной системы.
В главе 6 вводятся дискретный ряд Фурье для представления периодических дискретных сигналов и дискретное преобразование Фурье для представления дискретных сигналов конечной длительности. Рассмотрены свойства дискретного преобразования Фурье и его применение для реализации линейной дискретной свертки. Отдельно рассмотрены вопросы эффективного вычисления дискретного преобразования Фурье. Рассмотрены алгоритмы быстрого преобразования Фурье по основанию два с прореживанием по времени и прореживанием по частоте, а также реализации дискретного преобразования Фурье с использованием цифровых фильтров. Обсуждена реализация ДПФ и свертки в ПЛИС.
Таким образом, в главах 4 - 6 приводятся все необходимые математические сведения для описания дискретных сигналов и систем.
В главе 7 рассмотрены частотные и временные характеристики цифровых фильтров, в том числе идеальных частотно-избирательных фильтров, преобразователя Гильберта и дифференциатора. Рассмотрены примеры цифровых фильтров с конечной и бесконечной длительностью импульсной характеристики (КИХ- и БИХ-системы соответственно) 1-го и 2-го порядков и их применения.
Рассмотрены вопросы реализации цифровых фильтров и их представление структурными схемами, отображающими последовательность выполняемых в них основных вычислительных операций суммирования, задержки и умножения. Приведены наиболее важные с практической точки зрения структуры БИХ- и КИХ-систем.
Рассмотрены методы расчета цифровых БИХ-фильтров, включающих метод инвариантности импульсной характеристики, метод билинейного преобразования. В отдельных разделах рассмотрены свойства КИХ-фильтров с линейной фазо-частотной характеристикой и методы их расчета, включающие методы взвешивания, частотной выборки и чебышевской оптимизации.
Обсуждены вопросы реализации цифровых фильтров на ПЛИС.
В главе 8 рассмотрена важная область применения цифровой обработки, а именно, спектральный анализ случайных сигналов. В частности, рассмотрены классические методы оценивания спектральной плотности мощности стационарных случайных процессов дискретного времени, включающие коррелограммный и периодограммный методы, и их качественные характеристики.
Глава 9 посвящена проектированию микропроцессоров и устройств ЦОС на базе ПЛИС.
В первом разделе рассмотрена архитектура микропроцессоров и их основные узлы. В том числе рассмотрены: элементы микропроцессора, переменные состояния, регистры, арифметико-логическое устройство, интерфейсы памяти, декодирование команд, классическая и Гарвардская архитектуры, преимущества разделения адресных пространств кода и данных.
Во втором разделе рассмотрен простейший микропроцессор – программируемый конечный автомат. В том числе рассмотрены следующие вопросы. Процессор как конечный автомат. Выбор регистровой модели. Основные переменные состояния. Оценка требуемых ресурсов ПЛИС на основе анализа выбранных переменных состояния. Цикл работы процессора с асинхронной памятью команд.
В третьем разделе рассмотрены проектирование микропроцессора на основе синхронных ресурсов ПЛИС, многотактное выполнение команд, конвейеризация. В том числе рассмотрены следующие вопросы. Использование синхронной памяти для хранения кода. Разделение команды на такты: выборка, декодирование, исполнение. Основные задачи, решаемые при создании конвейеризованного процессора. Управляющий автомат. Логика переходов и стек возвратов. Сильное и слабое кодирование.
В четвертом разделе рассмотрены системы на кристалле, специализация процессора и использование специализированных ресурсов ПЛИС. В том числе рассмотрены следующие вопросы. Понятие систем на кристалле (SoC – System-On-Chip). Преимущества SoC-подхода. Использование выделенных ресурсов ПЛИС для реализации узлов системы на кристалле. Адресация устройств на кристалле, выбор карты памяти и УВВ. Аппаратная реализация вспомогательных устройств. Комбинирование технических решений с целью наиболее полного использования ресурсов ПЛИС. Масштабирование систем.
В пятом разделе рассмотрены основы совместной разработки аппаратного и программного обеспечения микропроцессорных систем. В том числе рассмотрены следующие вопросы.
Языки высокого уровня в описании аппаратуры (Handel-C). Принципы совместного проектирования аппаратуры и программного обеспечения. Основные принципы разработки ассемблера. Особенности разработки ассемблера для программируемых процессоров. Рекомендации по применению программируемых процессоров.
В шестом разделе рассмотрено проектирование цифровых интерфейсов.
В частности рассмотрены следующие вопросы. Синхронные и асинхронные интерфейсы внешней памяти. Стандартные интерфейсы и шины ПК: ISA, PCI, LPT, UART. Интерфейсы измерительных и управляющих систем: параллельные и последовательные интерфейсы ЦАП и АЦП, I2C, SPI.
Глава 10 посвящена программной поддержке микропроцессорных систем и систем на кристалле. В том числе рассмотрены следующие вопросы. Классификация языков программирования. Модели вычислений. Проблемно-ориентированные языки программирования. Структура компиляторов. Фазы компиляции. Кросс-компиляция. Виртуальный ассемблер. Регистровые структуры и основные машинные операции. Проблемное ориентирование языка и совместная разработка аппаратного и программного обеспечения
В приложение вынесен обзор методов расчета аналоговых фильтров нижних частот с использованием аппроксимации Баттерворта, Чебышева и эллиптической аппроксимации. Рассмотрено также цифровое детектирование АМ и ФМ сигналов как примеры реализации алгоритмов цифровой обработки сигналов.
|
|