Чтение онлайн

на главную - закладки

Жанры

Разработка устройств на основе цифровых сигнальных процессоров фирмы Analog Devices с использованием Visual DSP++

Вальпа Олег Дмитриевич

Шрифт:

При выполнении программы в непрерывном режиме допускается устанавливать точки останова в тех местах программы, где необходимо проконтролировать значение каких-либо данных в регистрах или памяти процессора. Для этих целей используются кнопки панели инструментов в виде кисти руки или синих флажков. Для установки точки останова необходимо выделить какую-либо строку программы и нажать кнопку с именем «Toggle Bookmark». Снятие любой точки останова производится повторным нажатием этой же кнопки. Для снятия всех точек останова в программе используется кнопка с именем «All Clear Bookmark». Переход между точками останова вверх или вниз производится с помощью кнопок «Next Bookmark» и «Prevision Bookmark» соответственно.

В исследуемом примере программы, инициализация SPORT1 задает формирование внутреннего

кадрового сигнала порта. Программный пакет Visual DSP++ позволяет симулировать внешний кадровый сигнал для порта, с заданными временными параметрами. Для того чтобы задействовать данный механизм, произведите небольшую корректировку программы, изменив настройку кадровой синхронизации для порта SPORT1. Затем установите параметры внешнего прерывания кадровым сигналом с помощью команды главного меню «Setting→Interrupts». В открывшемся окне (рис. 24.4) выберите в качестве источника внешнего прерывания (External Interrupts) кадровый сигнал приемника RFS1 и задайте число циклов Min cycles=0 a Max cycles=10. Нажмите кнопку «Add», а затем «OK». Теперь на панели инструментов найдите и нажмите кнопку «Restart» и выполните программу по шагам, нажимая клавишу F11.

Рис. 24.4

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

В программном пакете Visual DSP++ можно создавать новые проекты. Для этого необходимо закрыть открытый ранее проект с помощью команды Project→Close и выполнить команду Project→New. При этом откроется окно «Save New Project As» для создания нового проекта (рис. 24.5).

Рис. 24.5

Нажмите в этом окне кнопку создания нового каталога и задайте ему новое имя. Теперь откройте вновь созданный каталог и задайте имя нового проекта. После чего нажмите кнопку «Save» (сохранить). При этом откроется окно свойств проекта «Project Options» (рис. 24.6). Выберите в этом окне в списке «Processor» тип ADSP-2181 и закройте окно с помощью кнопки «OK».

Рис. 24.6

Далее создайте новый файл программы с помощью команды «File→New» и введите в него текст программы, подобный тому, что приведен ниже:

.section/pm interrupts;

__reset: JUMP start; NOP; NOP; NOP; /*reset vector*/

RTI; NOP; NOP; NOP; /*IRQ2*/

RTI; NOP; NOP; NOP; /*IRQL1*/

RTI; NOP; NOP; NOP; /*IRQL2*/

RTI; NOP; NOP; NOP; /*SPORT0 transmit*/

RTI; NOP; NOP; NOP; /*SPORT0 receive*/

RTI; NOP; NOP; NOP; /*IRQE*/

RTI; NOP; NOP; NOP; /*BDMA*/

RTI; NOP; NOP; NOP; /*SPORT1 transmit*/

RTI; NOP; NOP; NOP; /*SPORT1 receive*/

RTI; NOP; NOP; NOP; /*Timer*/

RTI; NOP; NOP; NOP; /*Power down*/

.section/pm program;

start: nop;

jump start;

Этот текст в дальнейшем можно использовать в качестве шаблона (заготовки) новой программы для сигнального процессора. Сохраните созданный файл с каким-либо допустимым именем и расширением «asm» и выполните команду Project→Add to Project→File(s). Выберите сохраненный файл с программой и нажмите кнопку «Add». Теперь необходимо добавить в каталог с проектом файл Adsp-2189.ldf, который можно взять из рассмотренных ранее каталогов с примерами проектов. Данный файл необходим для определения типа процессора

и трансляции программы. После этого программу можно транслировать и запускать на выполнение. При успешной компиляции проекта, в подкаталоге «Debug» проекта должен появиться исполняемый файл с расширением «dxe», который автоматически загружается в отладчик-симулятор при запуске программы.

Для получения файла в рассмотренном нами ранее формате «lda» можно воспользоваться специальной утилитой elf2aexe.exe, входящей в состав Visual DSP++. С целью автоматизации этого процесса предлагаю использовать командный файл, имеющий следующее содержание:

cls

elf2aexe.exe %1.dxe %1

del %1.lda

del %1.sym

ren %1.exe %1.lda

Здесь вначале производится очистка дисплея, затем вызывается утилита elf2aexe.exe с именем преобразовываемого файла в качестве входного параметра. После чего выполняются операции удаления вспомогательных файлов и переименования полученного файла. Данный командный файл можно назвать именем dxe_lda.bat и использовать для его вызова команду: dxe_lda.bat имя_файла.

Полученный таким образом файл с расширением «lda» можно использовать для загрузки в аппаратный эмулятор или тестовую плату через интерфейс IDMA.

Глава 25. Спектральный анализ сигнала в среде Visual DSP++

В этой главе рассматривается программный метод спектрального анализа цифрового сигнала на примере программы, выполняемой в среде разработки Visual DSP++.

Наиболее распространенной и актуальной задачей цифровой обработки сигналов является спектральный анализ сигнала. Полученный в результате анализа спектр сигнала позволяет получить такие важные характеристики сигнала как частоту и амплитуду гармоник, из которых состоит сигнал. Имея эти данные, можно проводить анализ сигнала, на содержание в нем той или иной частоты с определенной амплитудой и длительностью.

Одним из наиболее распространенных и известных методов получения спектра является метод дискретного преобразования Фурье (ДПФ). Этот метод активно применяется в анализаторах спектра, устройствах обработки звука и изображений, распознавания образов и т.п.

ДПФ позволяет преобразовать N комплексных отсчетов сигнала во временной области в N комплексных отсчетов спектра в частотной области. Из многих теоретических источников известно, что во временной области входному сигналу с частотой, равной f, в частотной области соответствует спектр сигнала, отображаемый в диапазоне от -f/2 до f/2, где отрицательные значения составляют мнимую, а положительные значения — действительную часть спектра сигнала. Причем действительная часть спектра обладает четной симметрией, а мнимая часть нечетной. С целью сокращения количества операций и ускорения тем самым расчетов спектра сигнала, обычно ограничиваются вычислением модуля спектра сигнала в области частот от 0 до f/2.

Вычисление N отсчетов спектра сигнала с помощью ДПФ производится с помощью уравнения, приведенного на рис. 25.1. Здесь X(k) являются искомыми отсчетами спектра сигнала, а x(n) — исходными отсчетами сигнала во временной области. N представляет собой количество отсчетов при вычислении ДПФ.

Рис. 25.1. Вычисление N отсчетов спектра сигнала с помощью ДПФ

В квадратных скобках уравнения присутствуют коэффициенты для действительной и мнимой частей.

Рассмотрим очередной пример программы, демонстрирующей реализацию метода дискретного преобразования Фурье для получения спектра сигнала в среде Visual DSP++. Откройте в программном пакете Visual DSP++ очередной проект из каталога C:\Program Files\AnalogDevices\VisualDSP\218x\Examples\Example4 и разверните в нем программу, находящуюся в файле с именем «Dft.asm». В этой программе производится расчет спектра сигнала по N отсчетам сигнала, используя алгоритм дискретного преобразования Фурье. Текст этой программы с переведенными автором книги комментариями приведен ниже:

Поделиться:
Популярные книги

Адвокат Империи 3

Карелин Сергей Витальевич
3. Адвокат империи
Фантастика:
городское фэнтези
попаданцы
аниме
фэнтези
фантастика: прочее
5.00
рейтинг книги
Адвокат Империи 3

Кротовский, может, хватит?

Парсиев Дмитрий
3. РОС: Изнанка Империи
Фантастика:
попаданцы
альтернативная история
аниме
7.50
рейтинг книги
Кротовский, может, хватит?

Дурная жена неверного дракона

Ганова Алиса
Любовные романы:
любовно-фантастические романы
5.00
рейтинг книги
Дурная жена неверного дракона

Вонгозеро

Вагнер Яна
1. Вонгозеро
Детективы:
триллеры
9.19
рейтинг книги
Вонгозеро

Ведьма Вильхельма

Шёпот Светлана
Любовные романы:
любовно-фантастические романы
8.67
рейтинг книги
Ведьма Вильхельма

Папина дочка

Рам Янка
4. Самбисты
Любовные романы:
современные любовные романы
5.00
рейтинг книги
Папина дочка

Законы Рода. Том 6

Flow Ascold
6. Граф Берестьев
Фантастика:
юмористическое фэнтези
аниме
5.00
рейтинг книги
Законы Рода. Том 6

Как я строил магическую империю 7

Зубов Константин
7. Как я строил магическую империю
Фантастика:
попаданцы
постапокалипсис
аниме
фантастика: прочее
5.00
рейтинг книги
Как я строил магическую империю 7

Лучший из худший 3

Дашко Дмитрий
3. Лучший из худших
Фантастика:
городское фэнтези
попаданцы
аниме
6.00
рейтинг книги
Лучший из худший 3

Штурмовик из будущего 3

Политов Дмитрий Валерьевич
3. Небо в огне
Фантастика:
попаданцы
альтернативная история
5.00
рейтинг книги
Штурмовик из будущего 3

Последний попаданец 2

Зубов Константин
2. Последний попаданец
Фантастика:
юмористическая фантастика
попаданцы
рпг
7.50
рейтинг книги
Последний попаданец 2

Идеальный мир для Лекаря 14

Сапфир Олег
14. Лекарь
Фантастика:
юмористическое фэнтези
попаданцы
аниме
5.00
рейтинг книги
Идеальный мир для Лекаря 14

Безумный Макс. Поручик Империи

Ланцов Михаил Алексеевич
1. Безумный Макс
Фантастика:
героическая фантастика
альтернативная история
7.64
рейтинг книги
Безумный Макс. Поручик Империи

Вдова на выданье

Шах Ольга
Любовные романы:
любовно-фантастические романы
5.00
рейтинг книги
Вдова на выданье