Олег Вальпа - Разработка устройств на основе цифровых сигнальных процессоров фирмы Analog Devices с использованием Visual DSP++
- Название:Разработка устройств на основе цифровых сигнальных процессоров фирмы Analog Devices с использованием Visual DSP++
- Автор:
- Жанр:
- Издательство:Горячая линия — Телеком
- Год:2007
- Город:Москва
- ISBN:5-93517-342-5
- Рейтинг:
- Избранное:Добавить в избранное
-
Отзывы:
-
Ваша оценка:
Олег Вальпа - Разработка устройств на основе цифровых сигнальных процессоров фирмы Analog Devices с использованием Visual DSP++ краткое содержание
Книга предназначена для самостоятельного изучения и применения на практике цифровых сигнальных процессоров DSP (Digital Signal Processor). На примере популярной микросхемы ADSP2181 фирмы Analog Devices рассмотрены устройство, архитектура и технические характеристики цифрового сигнального процессора. Приведено описание вычислительных блоков процессора, средств разработки программного обеспечения, языка программирования и системы команд процессора. Разработанные автором книги практические схемы с применением сигнального процессора, исходные тексты программ и схемы вспомогательных устройств, полезных при отладке программ для процессора помогут получить необходимые практические навыки, с помощью которых читатель легко освоит другие типы сигнальных процессоров. На прилагаемом к книге диске находятся исходные тексты и исполняемые файлы программ, а так же некоторые полезные утилиты и средства разработки программного обеспечения для сигнальных процессоров.
Для специалистов в области разработки цифровой электронной аппаратуры, будет полезна студентам и аспирантам.
Разработка устройств на основе цифровых сигнальных процессоров фирмы Analog Devices с использованием Visual DSP++ - читать онлайн бесплатно полную версию (весь текст целиком)
Интервал:
Закладка:
В табл. 12.2 приведены все возможные варианты форматов для 16-разрядного числа. Эта таблица дает наглядное представление о том, как изменяется, в зависимости от формата, диапазон представляемых чисел и их точность.
Таблица 12.2 Возможные варианты форматов для 16-разрядного числа
Формат | Количество целых разрядов | Количество дробных разрядов | Максимальное положительное значение | Максимальное отрицательное значение | Вес младшего разряда |
---|---|---|---|---|---|
1.15 | 1 | 15 | 0,999969482421875 | -1,0 | 0.000030517578125 |
2.14 | 2 | 14 | 1,999938964843750 | -2,0 | 0.000061035156250 |
3.13 | 3 | 13 | 3,999877929687500 | -4,0 | 0.000122070312500 |
4.12 | 4 | 12 | 7,999755859375000 | -8,0 | 0.000244140625000 |
5.11 | 5 | 11 | 15,999511718750000 | -16,0 | 0.000488281250000 |
6.10 | 6 | 10 | 31,999023437500000 | -32,0 | 0.000976562500000 |
7.9 | 7 | 9 | 63,998046875000000 | -64,0 | 0.001953125000000 |
8.8 | 8 | 8 | 127,996093750000000 | -128,0 | 0.003906250000000 |
9.7 | 9 | 7 | 255,992187500000000 | -256,0 | 0.007812500000000 |
10.6 | 10 | 6 | 511,984375000000000 | -512,0 | 0.015625000000000 |
11.5 | 11 | 5 | 1023,968750000000000 | -1024,0 | 0.031250000000000 |
12.4 | 12 | 4 | 2047,937500000000000 | -2048 | 0.062500000000000 |
13.3 | 13 | 3 | 4095,875000000000000 | -4096,0 | 0.125000000000000 |
14.2 | 14 | 2 | 8191,750000000000000 | -8192,0 | 0.250000000000000 |
15.1 | 15 | 1 | 16383,500000000000000 | -16384,0 | 0.500000000000000 |
16.0 | 16 | 0 | 32767,000000000000000 | -32768,0 | 1.000000000000000 |
Из таблицы видно, что чем больше двоичных разрядов отводится под целую часть числа, тем больший диапазон чисел можно охватить с помощью такого формата. Однако при этом снижается точность представления числа, т.е. его дробная часть сводится к нулю. И наоборот, чем больше двоичных разрядов отводится под дробную часть числа, тем меньший диапазон чисел можно охватить с помощью такого формата. Но при этом увеличивается точность представления числа, т.е. его дробная часть может быть очень малой величиной, составляющей менее одной миллиардной доли единицы.
В зависимости от типа решаемой задачи программист сам определяет, какой именно формат лучше использовать.
Глава 13. Система команд
В этой главе начинается изложение системы команд сигнального процессора.
Сигнальные процессоры семейства ADSP-21XX используют единую систему команд для совместимости с устройствами с более высокой интеграцией. Процессоры ADSP-2181 имеют ряд дополнительных команд. Каждая команда может быть выполнена в процессоре за один такт. Кроме того, система команд процессора позволяет выполнять за один такт многофункциональные команды. Как было сказано ранее, язык ассемблер семейства ADSP-21XX использует высокоуровневый алгебраический синтаксис записи команд, что облегчает их понимание и запоминание. Операнды источника и приемника команды явно присутствуют в ее записи в виде мнемоники. Мнемоника основных регистров процессора с описанием их назначения приводится в табл. 13.1.
Таблица 13.1 Мнемоника основных регистров процессора с описанием их назначения
Мнемоника | Определение |
---|---|
AX0, AX1, AY0, AY1 | Входные регистры АЛУ |
AR | Регистр результата АЛУ |
AF | Регистр обратной связи АЛУ |
MX0, MX1, MY0, MY1 | Входные регистры умножителя MAC |
MR0, MR1, MR2 | Регистры результата умножителя |
MF | Регистр обратной связи умножителя |
SI | Входной регистр устройства сдвига Shifter |
SE | Регистр экспоненты устройства сдвига |
SR0, SR1 | Регистры результата устройства сдвига |
SB | Регистр блочного сдвига (используется в блочных операциях с плавающей точкой) |
PX | Регистр шинного обмена памяти программ PM с памятью данных DM |
I0–I7 | Индексные регистры генераторов адреса DAG |
M0–M7 | Регистры модификации DAG |
L0–L7 | Регистры длины DAG (для циклических буферов) |
PC | Программный счетчик |
CNTR | Счетчик циклов |
ASTAT | Регистр арифметического статуса |
MSTAT | Регистр статуса режима |
SSTAT | Регистр статуса стека |
IMASK | Регистр маски прерываний |
ICNTL | Регистр режимов управления прерываниями |
RX0, RX1 | Регистры приема данных последовательных портов SPORT |
TX0, TX1 | Регистры передачи данных последовательных портов SPORT |
Набор команд ADSP-2181 совместим вверх с набором команд ADSP-21XX, поэтому, программы, написанные для ADSP-21XX, могут выполняться на ADSP-2181 с минимальными изменениями. Процессор ADSP-2181 имеет ряд дополнительных команд. Каждая команда может быть выполнена отдельно в своем такте. Кроме того, система команд позволяет выполнять за один такт процессора многофункциональные команды.
Язык ассемблера позволяет использовать в командах арифметические или логические выражения. Список этих выражений и выполняемых с их помощью действий приведен в табл. 13.2.
Таблица 13.2 Список арифметических или логических выражений и выполняемых с их помощью действий
Выражение | Действие |
---|---|
= | Присвоение |
+ | Сложение |
- | Вычитание |
* | Умножение |
AND | Логическое «И» |
OR | Логическое «ИЛИ» |
NOT | Логическое отрицание |
XOR | Исключающее «ИЛИ» |
PASS | Пересылка |
ABS | Абсолютное значение |
Ниже приведены примеры записи некоторых команд языка ассемблера ADSP-21XX с объяснением их назначения.
DM(var1) = AX0;
Эта команда, знакомая читателям из предыдущих примеров программ, присваивает (записывает) значение регистра AX0 переменной var1, хранящейся в памяти данных.
MR = MR + MX1*MY1;
Данная команда выполняет операцию умножения и сложения. Он умножает входные значения из регистров MX1 и MY1, складывает результат умножения с текущим содержимым регистра MR (результат предыдущего умножения), а затем записывает результат в регистр MR.
При рассмотрении системы команд мы будем пользоваться условными обозначениями, приведенными в табл. 13.3. Эти обозначения позволяют сделать описание команд компактным.
Таблица 13.3 Условные обозначения системы команд
Обозначение | Описание |
---|---|
I0–I7 | Индексные регистры DAG для косвенной адресации |
M0–M7 | Регистры модификации DAG для косвенной адресации |
L0–L7 | Регистры длины DAG для циклических буферов |
Непосредственное значение данных | |
Непосредственное значение адреса (абсолютный адрес или программная метка) | |
Порядок (значение сдвига) в командах непосредственного сдвига (8-разрядное знаковое число) | |
cond | Код условия в условных командах |
term | Код условия выхода из цикла DO UNTIL |
dreg | Регистры данных (АЛУ, умножителя-накопителя или устройства сдвига) |
reg | Любой регистр (включая регистры данных «dreg») |
; | Точка с запятой, разделитель команд |
, | Запятая, разделитель нескольких операций в одной команде |
[] | Квадратные скобки, содержащие дополнительные, необязательные части команд |
[, …] | Запись нескольких операций или команд в любом порядке, разделенных запятыми |
|опция1| |опция2| |опция3| | Список опций (в команде выбирается одна из опций) |
xop | Операнд «x» |
yop | Операнд «y» |
constant | Операнд-константа |
В табл. 13.4 приведен список регистров, допустимых к использованию в командах пересылки и многофункциональных командах.
Читать дальшеИнтервал:
Закладка: