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

Здесь есть возможность читать онлайн «Олег Вальпа - Разработка устройств на основе цифровых сигнальных процессоров фирмы Analog Devices с использованием Visual DSP++» весь текст электронной книги совершенно бесплатно (целиком полную версию без сокращений). В некоторых случаях можно слушать аудио, скачать через торрент в формате fb2 и присутствует краткое содержание. Город: Москва, Год выпуска: 2007, ISBN: 2007, Издательство: Горячая линия — Телеком, Жанр: Компьютерное железо, Справочники, на русском языке. Описание произведения, (предисловие) а так же отзывы посетителей доступны на портале библиотеки ЛибКат.

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

Предлагаем к чтению аннотацию, описание, краткое содержание или предисловие (зависит от того, что написал сам автор книги «Разработка устройств на основе цифровых сигнальных процессоров фирмы Analog Devices с использованием Visual DSP++»). Если вы не нашли необходимую информацию о книге — напишите в комментариях, мы постараемся отыскать её.

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

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

Ниже представлен текст книги, разбитый по страницам. Система сохранения места последней прочитанной страницы, позволяет с удобством читать онлайн бесплатно книгу «Разработка устройств на основе цифровых сигнальных процессоров фирмы Analog Devices с использованием Visual DSP++», без необходимости каждый раз заново искать на чём Вы остановились. Поставьте закладку, и сможете в любой момент перейти на страницу, на которой закончили чтение.

Тёмная тема
Сбросить

Интервал:

Закладка:

Сделать

.VAR/CIRC abuf[6];

Поскольку ближайшим числом больше шести и кратным двум является число 8, то базовый (стартовый) адрес буфера должен быть кратен 8. Три младших значимых разряда (МЗР) этого адреса будут равны нулю. В табл. 11.1 показано размещение этого буфера в памяти.

Таблица 11.1 Размещение одного циклического буфера в памяти сигнального процессора

Имя буфера Элемент буфера Двоичный адрес
abuf abuf[0] XXXXXXXXXX0000
abuf[1] XXXXXXXXXX0001
abuf[2] XXXXXXXXXX0010
abuf[3] XXXXXXXXXX0011
abuf[4] XXXXXXXXXX0100
abuf[5] XXXXXXXXXX0101
XXXXXXXXXX0110

Если в одной строке объявлены несколько буферов с параметром CIRC, то будет создан один кольцевой буфер, вмещающий в себя все буферы. Первый из этих буферов будет кольцевым, а отдельные буферы будут простыми линейными буферами. Например, следующая директива создает один кольцевой буфер abuf и два линейных буфера с именами bbuf и cbuf.

.VAR/CIRC abuf[6], bbuf[3], cbuf[5];

Для размещения всех этих буферов в памяти процессора потребуется 6+3+5=14 ячеек памяти. Поскольку первым в директиве объявлен буфер abuf, то он будет кольцевым. Ближайшим числом больше 14 и кратным двум является число 16. Поэтому базовый адрес буфера abuf должен быть кратен 16 (четыре младших значащих разряда будут равны нулю). Базовый адрес буфера bbuf будет следовать сразу за адресом последнего элемента буфера abuf. Аналогично будет размещен и буфер cbuf. Размещение всех этих буферов в памяти процессора показано в табл. 11.2.

Таблица 11.2 Размещение трех буферов в памяти процессора

Имя буфера Элемент буфера Двоичный адрес
abuf abuf[0] XXXXXXXXXX0000
abuf[1] XXXXXXXXXX0001
abuf[2] XXXXXXXXXX0010
abuf[3] XXXXXXXXXX0011
abuf[4] XXXXXXXXXX0100
abuf[5] XXXXXXXXXX0101
bbuf bbuf[0] XXXXXXXXXX0110
bbuf[1] XXXXXXXXXX0111
bbuf[2] XXXXXXXXXX1000
cbuf cbuf[0] XXXXXXXXXX1001
cbuf[1] XXXXXXXXXX1010
cbuf[2] XXXXXXXXXX1011
cbuf[3] XXXXXXXXXX1100
XXXXXXXXXX1101

Следующий пример показывает использование трех директив для объявления трех различных кольцевых буферов:

.VAR/CIRC abuf[6];

.VAR/CIRC bbuf[3];

.VAR/CIRC cbuf[5];

Поскольку буферы объявлены отдельно, все они будут кольцевыми и не будут объединены. Правила размещения для каждого из этих буферов такие же, как в рассмотренном выше примере для одиночного буфера abuf. Размещение этих буферов в памяти процессора показано в табл. 11.3.

Таблица 11.3 Размещение трех кольцевых буферов в памяти процессора

Имя буфера Элемент буфера Двоичный адрес
abuf abuf[0] XXXXXXXXX00000
abuf[1] XXXXXXXXX00001
abuf[2] XXXXXXXXX00010
abuf[3] XXXXXXXXX00011
abuf[4] XXXXXXXXX00100
abuf[5] XXXXXXXXX00101
bbuf bbuf[0] XXXXXXXXX01000
bbuf[1] XXXXXXXXX01001
bbuf[2] XXXXXXXXX01010
cbuf cbuf[0] XXXXXXXXX10000
cbuf[1] XXXXXXXXX10001
cbuf[2] XXXXXXXXX10010
cbuf[3] XXXXXXXXX10011

Чтобы получить доступ к буферу abuf из программы, необходимо инициализировать индексные регистры DAG и регистры длины буфера следующими инструкциями:

I0 = ^abuf; {Присвоить индексному регистру I0 базовый адрес буфера abuf}

L0 = %abuf; {Присвоить L0 длину буфера abuf}

M0 = 1; {Присвоить модификатору M0 значение наращивания

указателя адреса буфера abuf}

Далее в программе можно читать данные из буфера с помощью инструкции AR=DM(I0, L0) или записывать данные в буфер инструкцией DM(I0, L0)=AR. Естественно, вместо регистра AR могут применяться и некоторые другие регистры процессора. При размещении этих инструкций в цикле каждое обращение к буферу будет автоматически увеличивать индексный регистр адреса I0 на величину M0. При достижении регистром I0 величины, равной L0, индексный регистр I0 вновь загрузится базовым адресом буфера. Таким образом, обращения к буферу будут кольцевыми. Для линейных буферов регистр длины буфера должен быть установлен в ноль.

Директивы PMSEG и DMSEG

Данные директивы предназначены для размещения программ и данных в сегментах памяти. Директива PMSEG указывает редактору связей на необходимость разместить все программы и данные модуля в определенном сегменте памяти программ. Директива DMSEG указывает редактору связей на необходимость разместить все структуры данных модуля в определенном сегменте памяти данных. Сегменты должны быть предварительно определены в файле описания архитектуры системного конфигуратора. Директивы PMSEG и DMSEG подобно параметру SEG директив MODULE и VAR имеют следующий формат:

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

Интервал:

Закладка:

Сделать

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

Представляем Вашему вниманию похожие книги на «Разработка устройств на основе цифровых сигнальных процессоров фирмы Analog Devices с использованием Visual DSP++» списком для выбора. Мы отобрали схожую по названию и смыслу литературу в надежде предоставить читателям больше вариантов отыскать новые, интересные, ещё непрочитанные произведения.


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

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

x