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

Тут можно читать онлайн Олег Вальпа - Разработка устройств на основе цифровых сигнальных процессоров фирмы Analog Devices с использованием Visual DSP++ - бесплатно полную версию книги (целиком) без сокращений. Жанр: Справочники, издательство Горячая линия — Телеком, год 2007. Здесь Вы можете читать полную версию (весь текст) онлайн без регистрации и SMS на сайте лучшей интернет библиотеки ЛибКинг или прочесть краткое содержание (суть), предисловие и аннотацию. Так же сможете купить и скачать торрент в электронном формате fb2, найти и слушать аудиокнигу на русском языке или узнать сколько частей в серии и всего страниц в публикации. Читателям доступно смотреть обложку, картинки, описание и отзывы (комментарии) о произведении.
  • Название:
    Разработка устройств на основе цифровых сигнальных процессоров фирмы Analog Devices с использованием Visual DSP++
  • Автор:
  • Жанр:
  • Издательство:
    Горячая линия — Телеком
  • Год:
    2007
  • Город:
    Москва
  • ISBN:
    5-93517-342-5
  • Рейтинг:
    3.67/5. Голосов: 91
  • Избранное:
    Добавить в избранное
  • Отзывы:
  • Ваша оценка:
    • 80
    • 1
    • 2
    • 3
    • 4
    • 5

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

Разработка устройств на основе цифровых сигнальных процессоров фирмы Analog Devices с использованием Visual DSP++ - описание и краткое содержание, автор Олег Вальпа, читайте бесплатно онлайн на сайте электронной библиотеки LibKing.Ru

Книга предназначена для самостоятельного изучения и применения на практике цифровых сигнальных процессоров DSP (Digital Signal Processor). На примере популярной микросхемы ADSP2181 фирмы Analog Devices рассмотрены устройство, архитектура и технические характеристики цифрового сигнального процессора. Приведено описание вычислительных блоков процессора, средств разработки программного обеспечения, языка программирования и системы команд процессора. Разработанные автором книги практические схемы с применением сигнального процессора, исходные тексты программ и схемы вспомогательных устройств, полезных при отладке программ для процессора помогут получить необходимые практические навыки, с помощью которых читатель легко освоит другие типы сигнальных процессоров. На прилагаемом к книге диске находятся исходные тексты и исполняемые файлы программ, а так же некоторые полезные утилиты и средства разработки программного обеспечения для сигнальных процессоров.

Для специалистов в области разработки цифровой электронной аппаратуры, будет полезна студентам и аспирантам.

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

Разработка устройств на основе цифровых сигнальных процессоров фирмы Analog Devices с использованием Visual DSP++ - читать книгу онлайн бесплатно, автор Олег Вальпа
Тёмная тема
Сбросить

Интервал:

Закладка:

Сделать

Процессор ADSP-2181 имеет четыре вывода для поддержки внешних прерываний: IRQ2, IRQL0, IRQL1 и IRQE. Кроме того, благодаря возможности SPORT1 быть переконфигурированным на выводы флагов FLAG_IN, FLAG_OUT и прерываний IRQ0, IRQ1, процессор может иметь еще два входа внешних прерываний вместо внутренних прерываний SPORT1. В результате, в общей сложности процессор может иметь шесть внешних прерываний.

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

Все прерывания, кроме немаскируемого и сброса, можно запретить с помощью регистра IMASK (см. табл.1). Кроме того, можно программно сгенерировать или сбросить некоторые прерывания с помощью регистра IFC.

Процессор реагирует на уровень сигналов на выводах прерываний IRQL0 и IRQL1. Прерывание IRQE возникает по фронту изменения сигнала на этом выводе. Чувствительность процессора к сигналам IRQ0, IRQ1 и IRQ2 определяется программно, с помощью регистра ICNTL.

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

Часть II. Программирование

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

Глава 6. Первая программа

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

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

Введите текст этой программы в компьютер с помощью любого текстового редактора и сохраните в файле с именем mem_clr.dsp или скопируйте с компакт-диска, прилагаемого к данной книге.

/***********************************************************/

/* Программа mem_clr загружается в память программ и после */

/* запуска заполняет память данных сигнального процессора */

/* с адреса 0x0000 по адрес 0x3fdf числовыми значениями */

/* */

/* Версия: 1.0 */

/* Автор: О.Д.Вальпа */

/***********************************************************/

.module/RAM/ABS=0 mem_clr; { Модуль памяти mem_clr с адреса 0 }

.include ; { Включить файл определений }

.var/dm/ram/circ buf_dm[0x3fdf]; { Циклический буфер в памяти данных }

jump BEGIN; nop; nop; nop; { Вектор прерывания сброса процессора }

rti; nop; nop; nop; { Вектор прерывания IRQ2 }

rti; nop; nop; nop; { Вектор прерывания IRQL1 }

rti; nop; nop; nop; { Вектор прерывания IRQL0 }

rti; nop; nop; nop; { Вектор прерывания SPORT0 TX }

rti; nop; nop; nop; { Вектор прерывания SPORT0 RX }

rti; nop; nop; nop; { Вектор прерывания IRQE }

rti; nop; nop; nop; { Вектор прерывания BDMA }

rti; nop; nop; nop; { Вектор прерывания SPORT1 TX (IRQ1) }

rti; nop; nop; nop; { Вектор прерывания SPORT1 RX (IRQ0) }

rti; nop; nop; nop; { Вектор прерывания TIMER }

rti; nop; nop, nop; { Вектор прерывания POWER DOWN }

/************** начало программы ************************************/

BEGIN: { Метка начала программы }

ax0 = b#0111111110000000; dm(pftype) = ax0; {Инициализация флагов PF}

{ │└┬┘││││76543210 }

{ │ │ ││││└+++++++ - PF0-PF7: 0-вход 1-выход }

{ │ │ │││└──────── - PM - выход -CMS }

{ │ │ ││└───────── - DM | 0-запрещен }

{ │ │ │└────────── - BM | 1-разрешен }

{ │ │ └─────────── - IOM-- }

{ │ └───────────── - От 0 до 7 циклов задержки BDMA }

{ └ He используется, всегда=0 }

ax0 = b#0000000010000000; dm(PFDATA) = ax0;{Управление светодиодом }

{ 76543210 }

{ │ └──┴ - Вход:Код клавиш }

{ └─────── - Выход:Светодиод }

i0 = ^buf_dm; { Индексный регистр i0=адресу начала буфера }

l0 = %buf_dm; { Регистр длины l0=длине буфера }

m0 = 1; { Регистр модификатора m0=1 }

ar = 0x1234; { Записать данные в рабочий регистр ar }

cntr=10; { Загрузить счетчик циклов }

do CLR_DM until се; { Выполнять до CLR_DM пока счетчик не обнулится }

dm(i0, m0) = ar; { Заполнение очередной ячейки памяти данных }

CLR_DM:nop; { Пустая команда }

toggle fl2; { Инвертировать вывод процессора FL2 }

dm(0) = ar; { Заполнение ячейки памяти данных с адресом 0 }

ar = ar + 1; { увеличивающимися значениями }

ax0 = dm(PFDATA); { Читать код клавиш }

dm(1) = ax0; { и записать в ячейку памяти данных по адресу 1}

jump CLR_DM; { Зациклить программу }

.endmod; { Конец программы }

Имя данного файла можно изменить на любое другое, длиной от одного до восьми символов, разрешенных для имен файлов. Расширение «dsp» выбрано не случайно. При трансляции программы, компилятор будет искать файл программы именно с таким расширением. Если он не найдет такой файл, то выведет сообщение Preprocessor failed to open mem_clr.dsp.

Рассмотрим структуру и состав приведенного выше файла. Как видно из примера, в начале файла программы находится описание назначения программы, ее версии и пр. атрибуты, заключенные между символами /* и */ в качестве комментариев. Далее следуют три строки директив с комментариями, описывающими назначение этих директив и заключенными между фигурными скобками. Фигурные скобки также предназначены для вставки комментариев в программу. Файл def2181.h, включаемый в файл программы с помощью директивы #include, состоит из строк, присваивающих символьным именам регистров значение их адресов в области памяти данных процессора.

Использование символьных имен позволяет записывать в программе не конкретные цифровые значения адресов или данных, а их словесные описания, более понятные и легче запоминающиеся. Это делается для придания программе наглядности, предотвращения машинальных ошибок во время ее создания и облегчения ее понимания. Содержимое файла def2181.h приведено ниже.

.const IDMA= 0x3fe0;

Читать дальше
Тёмная тема
Сбросить

Интервал:

Закладка:

Сделать


Олег Вальпа читать все книги автора по порядку

Олег Вальпа - все книги автора в одном месте читать по порядку полные версии на сайте онлайн библиотеки LibKing.




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


Отзывы читателей о книге Разработка устройств на основе цифровых сигнальных процессоров фирмы Analog Devices с использованием Visual DSP++, автор: Олег Вальпа. Читайте комментарии и мнения людей о произведении.


Понравилась книга? Поделитесь впечатлениями - оставьте Ваш отзыв или расскажите друзьям

Напишите свой комментарий
x