Лаборатория физических основ
и технологий беспроводной связи
Материалы -> Курсы и учебные пособия -> Проектирование систем цифровой обработки сигналов на устройствах программируемой логики

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

Цели и задачи образовательного комплекса:

Цель образовательного комплекса «Проектирование систем цифровой обработки сигналов на устройствах программируемой логики» состоит в изучении основных методов и алгоритмов цифровой обработки сигналов (ЦОС), а также базовых принципов, конструктивных и технологических основ создания цифровой электронной аппаратуры с использованием программируемых логических интегральных схем (ПЛИС), реализующей алгоритмы ЦОС. В структуре курса уделяется внимание вопросам совместной разработки программного и аппаратного обеспечения, а также проблемной специализации системы команд микропроцессоров.

См.: Обоснование необходимости разработки образовательного комплекса

Сфера применения образовательного модуля:

Предназначается для студентов, получающих образование по университетским специальностям прикладная математика, теоретическая и прикладная информатика, информационные технологии, физика и радиофизика. Может быть использован при подготовке специалистов по инженерным специальностям: инженер-программист, системный программист и т. д. Предполагается использование на средних и старших курсах.

Авторский коллектив:

Руководитель Кривошеев В.И., к.т.н., доцент Нижегородского государственного университета им. Н.И.Лобачевского
Зам. руководителя, ответственный исполнитель Тарасов И.Е., к.т.н., доцент Ковровской государственной технологической академии
Разработчик Потехин Д.С., к.т.н., доцент Ковровской государственной технологической академии
Разработчик Молков Н.П., магистрант радиофизического факультета Нижегородского государственного университета им. Н.И.Лобачевского

Состав образовательного комплекса:

В комплект поставки образовательного комплекса войдут:

  • учебник;
  • описание лабораторных работ для проведения лабораторного практикума;
  • макетные платы на базе ПЛИС для проведения лабораторного практикума;
  • презентация образовательного комплекса.

Краткое содержание учебника:

  1. Обзор микросхем программируемой логики
  2. Методы представления чисел в цифровых системах и математические операции над ними
  3. Аналоговый интерфейс ввода-вывода для систем ЦОС
  4. Дискретные сигналы и системы
  5. Z – преобразование
  6. Дискретное преобразование Фурье
  7. Цифровые фильтры
  8. Цифровой спектральный анализ
  9. Проектирование микропроцессоров и устройств ЦОС на базе ПЛИС
  10. Программная поддержка микропроцессорных систем и систем на кристалле

См.: Аннотация содержания учебника

План лабораторного практикума:

Лабораторный практикум по алгоритмам ЦОС в системе MATLAB

  1. Дискретные сигналы и их описание во временной области(pdf)
  2. Дискретные линейные системы с постоянными параметрами и их описание во временной области(pdf)
  3. Представление дискретных сигналов и линейных систем с постоянными параметрами в частотной области(pdf)
  4. Дискретное преобразование Фурье(pdf)
  5. Цифровая фильтрация. Анализ и проектирование КИХ - фильтров(pdf)
  6. Цифровая фильтрация. Анализ и проектирование БИХ - фильтров(pdf)
  7. Цифровой спектральный анализ: периодограммный и коррелограммный методы(pdf)

Лабораторный практикум по аппаратной реализации цифровых систем обработки данных:

Освоение маршрута проектирования цифровых устройств на базе ПЛИС

  1. Создание синхронного проекта на базе ПЛИС(pdf)
  2. Основные синтаксические конструкции языка VHDL(pdf)
  3. Разработка конечного автомата для управления периферийным устройством(pdf)
  4. Разработка конечного автомата для обмена данными с АЦП и ЦАП с интерфейсом SPI(pdf)
  5. Система сбора данных и спектрального анализа(pdf)
  6. Получение навыков работы с двоичной арифметикой(pdf)
  7. Создание простейшего цифрового фильтра(pdf)
  8. Разработка управляющего процессора для системы цифровой обработки сигналов(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 посвящена программной поддержке микропроцессорных систем и систем на кристалле. В том числе рассмотрены следующие вопросы. Классификация языков программирования. Модели вычислений. Проблемно-ориентированные языки программирования. Структура компиляторов. Фазы компиляции. Кросс-компиляция. Виртуальный ассемблер. Регистровые структуры и основные машинные операции. Проблемное ориентирование языка и совместная разработка аппаратного и программного обеспечения
В приложение вынесен обзор методов расчета аналоговых фильтров нижних частот с использованием аппроксимации Баттерворта, Чебышева и эллиптической аппроксимации. Рассмотрено также цифровое детектирование АМ и ФМ сигналов как примеры реализации алгоритмов цифровой обработки сигналов.