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

Скачивание начинается... Если скачивание не началось автоматически, пожалуйста нажмите на эту ссылку.
Жалоба
Напишите нам, и мы в срочном порядке примем меры.
Описание книги "Разработка устройств на основе цифровых сигнальных процессоров фирмы Analog Devices с использованием Visual DSP++"
Описание и краткое содержание "Разработка устройств на основе цифровых сигнальных процессоров фирмы Analog Devices с использованием Visual DSP++" читать бесплатно онлайн.
Книга предназначена для самостоятельного изучения и применения на практике цифровых сигнальных процессоров DSP (Digital Signal Processor). На примере популярной микросхемы ADSP2181 фирмы Analog Devices рассмотрены устройство, архитектура и технические характеристики цифрового сигнального процессора. Приведено описание вычислительных блоков процессора, средств разработки программного обеспечения, языка программирования и системы команд процессора. Разработанные автором книги практические схемы с применением сигнального процессора, исходные тексты программ и схемы вспомогательных устройств, полезных при отладке программ для процессора помогут получить необходимые практические навыки, с помощью которых читатель легко освоит другие типы сигнальных процессоров. На прилагаемом к книге диске находятся исходные тексты и исполняемые файлы программ, а так же некоторые полезные утилиты и средства разработки программного обеспечения для сигнальных процессоров.
Для специалистов в области разработки цифровой электронной аппаратуры, будет полезна студентам и аспирантам.
Ниже приведен модуль программы, предназначенной для пересылки 24-разрядных данных из одной области памяти программ в другую при помощи 16-разрядного регистра.
.MODULE copy_pdm;
{
Входные данные:
I4= адрес источника данных
L4 = длина буфера данных
I5= адрес приемника данных
Выходные данные:
Перемещенные данные
Изменяемые регистры:
AR, M4
}
.ENTRY COPY_PMDAT;
COPY_PMDAT:
M4=1;
CNTR = L4;
DO COPY_MEM UNTIL СЕ;
AR=PM(I4, M4);
PM(I5, M4)=AR;
COPY_MEM:
RTS;
.ENDMOD;
Обратите внимание, что в этой программе регистр PX не используется явным образом в командах, тем не менее, пересылка 24-разрядных данных через 16-разрядный регистр AR осуществляется корректно, благодаря автоматическому режиму работы устройства обмена данными с применением регистра PX.
Глава 18. Программный автомат
В этой главе говорится о программном автомате сигнального процессора и выполняемых с его помощью командах.
Программный автомат управляет последовательностью выполнения программы. Он содержит контроллер прерываний и логическое устройство состояний. Программный автомат позволяет осуществлять последовательное выполнение команд, условные и безусловные переходы в программе, обработку прерываний и подпрограмм. Структурная схема этого устройства приведена на рис. 18.1.
Рис. 18.1. Программный автомат сигнального процессора
Основным блоком программного автомата является программный счетчик (PC-program counter). Он представляет собой 14- разрядный регистр, в котором постоянно содержится адрес текущей выполняемой команды. Это значение инкрементируется (увеличивается на 1) каждый раз при выполнении очередной последовательной команды.
Стек программного счетчика служит для временного хранения адреса очередной команды при переходе на обработку подпрограммы, цикловой операции или прерывания. Он позволяет хранить до шестнадцати 14-разрядных слов. Таким образом, уровень вложенности подпрограмм не должен превышать 16.
Контроллер прерываний формирует адрес подпрограммы обработчика прерывания. Он использует данные регистров статуса и влияет на выбор источника следующего адреса.
Блоки счетчика циклов, стека счетчика, компаратора циклов и стека циклов позволяют организовать цикловые операции в программе, не привлекая для этого другие регистры процессора.
Логика выбора формирует сигнал для выбора источника следующего адреса команды.
Команды управления программойНиже приводится полный список команд, выполняемых программным автоматом в соответствии с принятыми ранее условными сокращениями. Назначение команд приводится в тексте описания этих команд и комментариях для некоторых из команд.
Выполнять цикл до определенного условия:
DO <addr> [UNTIL term];
Условный (безусловный) переход:
[IF cond] JUMP |(I4) |;
|(I5) |
|(I6) |
|(I7) |
|<addr>|
Вызов подпрограммы:
[IF cond] CALL |(I4) |;
|(I5) |
|(I6) |
|(I7) |
|<addr>|
Переход (вызов подпрограммы) по состоянию вывода флага Flag In:
[IF] |FLAG_IN | |JUMP| <addr>;
|IF NOT FLAG_IN | |CALL|
Изменение состояния вывода флагов:
[IF cond] |SET | |FLAG_OUT | [,...]; {установка флага}
|RESET | |FL0 | {сброс флага}
|TOGGLE | |FL1 | {инверсия флага}
|FL2 |
Возврат из подпрограммы:
[IF cond] RTS;
Возврат из подпрограммы прерывания:
[IF cond] RTI;
Ожидание прерываний:
IDLE;
Команда переводит процессор в режим пониженного потребления на некоторое неопределенное время. Для того, чтобы перевести процессор в этот режим на продолжительное время, необходимо после этой команды вставить команду перехода на IDLE, зациклив тем самым программу. Выход из этого режима произойдет по любому прерыванию процессора.
Допустимые значения <term> и <cond> приведены в табл. 18.1 и табл. 18.2 соответственно. Запись <addr> может быть меткой или числовым значением от 0 до 0x3FFF. Примеры команд управления программой:
CNTR=100; {Заполнить счетчик циклов}
DO Met1 UNTIL CE; {Выполнить цикл до метки Met1, пока счетчик циклов не пуст}
AX0 = DM(I0,M0); {Переслать данные через регистр AX0}
Met1: DM(I1 ,M1 )=AX0; {в новую область памяти}
JUMP(I4); {Осуществить переход по адресу в индексном регистре I4}
CALL (I6); {Вызвать подпрограмму по адресу в индексном регистре I6}
SET FLAG_OUT; {Установить в 1 вывод FLAG_OUT}
RESET FL2 {Сбросить флаг FL2}
TOGGLE FL0 {Инвертировать флаг FL0}
Met2: IDLE; {Режим ожидания прерывания}
JUMP Met2:
Таблица 18.1 Допустимые значения <term>
Значение <term> Пояснение CE Счетчик циклов пуст EQ Равно нулю NE Не равно нулю LT Меньше нуля GE Больше или равно нулю LE Меньше или равно нулю GT Больше нуля АС Перенос АЛУ NOT AC Нет переноса АЛУ AV Переполнение АЛУ NOT AV Нет переполнения АЛУ MV Переполнение умножителя NOT MV Нет переполнения умножителя NEG Входной операнд «xop» отрицателен POS Входной операнд «xop» положителен FOREVER Бесконечный циклТаблица 18.2 Допустимые значения <cond>
Значение <cond> Пояснение EQ Равно нулю NE He равно нулю LT Меньше нуля GE Больше или равно нулю LE Меньше или равно нулю GT Больше нуля AC Перенос АЛУ NOT AC Нет переноса АЛУ AV Переполнение АЛУ NOT AV Нет переполнения АЛУ MV Переполнение умножителя NOT MV Нет переполнения умножителя NEG Входной операнд «xop» отрицателен POS Входной операнд «xop» положителен NOT CE Счетчик циклов не пуст FLAG_IN* Вывод FI=1 NOT FLAG_IN* Вывод FI=0*Только для команд JUMP, CALL
Глава 19. Генераторы адресов
В этой главе говорится об устройствах генераторов адресов сигнального процессора и выполняемых с его помощью командах.
Ранее мы уже рассматривали назначение генераторов адресов (DAG). На этот раз рассмотрим их структуру и команды, которые они позволяют выполнять.
Подписывайтесь на наши страницы в социальных сетях.
Будьте в курсе последних книжных новинок, комментируйте, обсуждайте. Мы ждём Вас!
Похожие книги на "Разработка устройств на основе цифровых сигнальных процессоров фирмы Analog Devices с использованием Visual DSP++"
Книги похожие на "Разработка устройств на основе цифровых сигнальных процессоров фирмы Analog Devices с использованием Visual DSP++" читать онлайн или скачать бесплатно полные версии.
Мы рекомендуем Вам зарегистрироваться либо войти на сайт под своим именем.
Отзывы о "Олег Вальпа - Разработка устройств на основе цифровых сигнальных процессоров фирмы Analog Devices с использованием Visual DSP++"
Отзывы читателей о книге "Разработка устройств на основе цифровых сигнальных процессоров фирмы Analog Devices с использованием Visual DSP++", комментарии и мнения людей о произведении.