Олег Вальпа - Разработка устройств на основе цифровых сигнальных процессоров фирмы 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++ - читать онлайн бесплатно полную версию (весь текст целиком)
Интервал:
Закладка:
Положительные значения кода управления указывают на сдвиг данных влево, а отрицательные на сдвиг вправо. Код управления может быть взят из регистра экспоненты SE или непосредственно из инструкции команды. Сигнал ссылки HI/LO определяет начальную точку сдвига. В состоянии HI все сдвиги производятся относительно регистра SR1 (старшей половины выходных данных), а в состоянии LO все сдвиги производятся относительно регистра SR0 (младшей половины выходных данных). В табл. 16.2 показаны все возможные комбинации сдвигов данных для сигналов ссылки LO и HI.
Таблица 16.2 Возможные комбинации сдвигов данных для сигналов ссылки L0 и HI
Управляющий код для сигнала сдвига | Выходное значение массива сдвига | ||||
---|---|---|---|---|---|
HI | LO | ||||
+16…+127 | +32…+127 | 00000000 | 00000000 | 00000000 | 00000000 |
+15 | +31 | R0000000 | 00000000 | 00000000 | 00000000 |
+14 | +30 | PR000000 | 00000000 | 00000000 | 00000000 |
+13 | +29 | NPR00000 | 00000000 | 00000000 | 00000000 |
+12 | +28 | MNPR0000 | 00000000 | 00000000 | 00000000 |
+11 | +27 | LMNPR000 | 00000000 | 00000000 | 00000000 |
+10 | +26 | KLMNPR00 | 00000000 | 00000000 | 00000000 |
+9 | +25 | JKLMNPR0 | 00000000 | 00000000 | 00000000 |
+8 | +24 | IJKLMNPR | 00000000 | 00000000 | 00000000 |
+7 | +23 | HIJKLMNP | R0000000 | 00000000 | 00000000 |
+6 | +22 | GHIJKLMN | PR000000 | 00000000 | 00000000 |
+5 | +21 | FGHIJKLM | NPR00000 | 00000000 | 00000000 |
+4 | +20 | EFGHIJKL | MNPR0000 | 00000000 | 00000000 |
+3 | +19 | DEFGHIJK | LMNPR000 | 00000000 | 00000000 |
+2 | +18 | CDEFGHIJ | KLMNPR00 | 00000000 | 00000000 |
+1 | +17 | BCDEFGHI | GKLMNPR0 | 00000000 | 00000000 |
0 | +16 | ABCDEFGH | IJKLMNPR | 00000000 | 00000000 |
-1 | +15 | XABCDEFG | HIJKLMNP | R0000000 | 00000000 |
-2 | +14 | XXABCDEF | GHIJKLMN | PR000000 | 00000000 |
-3 | +13 | XXXABCDE | FGHIJKLM | NPR00000 | 00000000 |
-4 | +12 | XXXXABCD | EFGHIJKL | MNPR0000 | 00000000 |
-5 | +11 | ХХХХХАВС | DEFGHIJK | LMNPR000 | 00000000 |
-6 | +10 | ХХХХХХАВ | CDEFGHIJ | KLMNPR00 | 00000000 |
-7 | +9 | XXXXXXXA | BCDEFGHI | JKLMNPR0 | 00000000 |
-8 | +8 | XXXXXXXX | ABCDEFGH | IJKLMNPR | 00000000 |
-9 | +7 | XXXXXXXX | XABCDEFG | HIJKLMNP | R0000000 |
-10 | +6 | XXXXXXXX | XXABCDEF | GHIJKLMN | PR000000 |
-11 | +5 | XXXXXXXX | XXXABCDE | FGHIJKLM | NPR00000 |
-12 | +4 | XXXXXXXX | XXXXABCD | EFGHIJKL | MNPR0000 |
-13 | +3 | XXXXXXXX | ХХХХХАВС | DEFGHIJK | LMNPR000 |
-14 | +2 | XXXXXXXX | ХХХХХХАВ | CDEFGHIJ | KLMNPR00 |
-15 | +1 | XXXXXXXX | ХХХХХХХА | BCDEFGHI | JKLMNPR0 |
-16 | 0 | XXXXXXXX | ХХХХХХХХ | ABCDEFGH | IJKLMNPR |
-17 | -1 | XXXXXXXX | ХХХХХХХХ | XABCDEFG | HIJKLMNP |
-18 | -2 | XXXXXXXX | ХХХХХХХХ | XXABCDEF | GHIJKLMN |
-19 | -3 | XXXXXXXX | ХХХХХХХХ | XXXABCDE | FGHIJKLM |
-20 | -4 | XXXXXXXX | ХХХХХХХХ | XXXXABCD | EFGHIJKL |
-21 | -5 | XXXXXXXX | ХХХХХХХХ | ХХХХХАВС | DEFGHIJK |
-22 | -6 | XXXXXXXX | ХХХХХХХХ | ХХХХХХАВ | CDEFGHIJ |
-23 | -7 | XXXXXXXX | ХХХХХХХХ | XXXXXXXA | BCDEFGHI |
-24 | -8 | XXXXXXXX | ХХХХХХХХ | XXXXXXXX | ABCDEFGH |
-25 | -9 | XXXXXXXX | ХХХХХХХХ | XXXXXXXX | XABCDEFG |
-26 | -10 | XXXXXXXX | ХХХХХХХХ | XXXXXXXX | XXABCDEF |
-27 | -11 | XXXXXXXX | ХХХХХХХХ | XXXXXXXX | XXXABCDE |
-28 | -12 | XXXXXXXX | ХХХХХХХХ | XXXXXXXX | XXXXABCD |
-29 | -13 | XXXXXXXX | ХХХХХХХХ | XXXXXXXX | ХХХХХАВС |
-30 | -14 | XXXXXXXX | ХХХХХХХХ | XXXXXXXX | ХХХХХХАВ |
-31 | -15 | XXXXXXXX | ХХХХХХХХ | XXXXXXXX | ХХХХХХХА |
-32…-128 | -16…-128 | XXXXXXXX | ХХХХХХХХ | XXXXXXXX | ХХХХХХХХ |
Массив сдвига и связанная с ним логика OR/PASS находятся в окружении набора регистров. Входной регистр SI (Shifter Input) содержит данные для массива сдвига и детектора порядка. Разрядность регистра SI составляет 16 бит.
Этот регистр записывается с DMD-шины. В качестве входных регистров для массива сдвига и детектора порядка могут служить регистры AR, SR или MR, подключенные через R-шину. Выходной 32-разрядный регистр SR (Shifter Result) разделен на два 16- разрядных регистра SR0 и SR1. Загрузка данных в эти регистры может производиться с DMD-шины, а результат выводится на R-шину или DMD-шину. Регистр SR подключен к блоку OR/PASS логики для проведения сдвигов двойной точности.
Регистр SE (Shifter Exponent) состоит из 8 разрядов и содержит порядок во время нормализации и денормализации данных. Он доступен через 8 младших разрядов DMD-шины. Его формат 8.0 в дополнительном коде.
Регистр SB (Shifter Block) используется в блочных операциях для чисел с плавающей точкой. Его значение определяет сдвиг для нормализации чисел в блоке данных, т.е. значение, на которое должен произойти сдвиг для нормализации самого большого числа в блоке данных. Разрядность регистра SB составляет 5 бит. Он доступен через 5 младших разрядов DMD-шины. Его формат 5.0 в дополнительном коде.
При чтении регистров SE и SB на DMD-шину числа автоматически дополняются знаковыми битами до 16-разрядного значения. Любой из регистров SI, SE, SR может быть прочитан или записан в одном и том же цикле.
Shifter также имеет банк теневых регистров SI, SE, SR и SB. Выбор банка регистров производится установкой нулевого бита регистра режима MSTAT процессора.
Устройство сдвига заполняет все биты 32-разрядного результата правее сдвига нулями, а левее сдвига битом расширения. Бит расширения может принимать значение знакового бита, бита флага АС из регистра ASTAT или нулевое значение, в зависимости от выполняемой инструкции.
Логика OR/PASS позволяет правильно комбинировать сдвинутые секции числа с двойной точностью. При выборе инструкции PASS результат массива сдвигов загружается в регистр SR без изменения. При выборе инструкции OR результат массива сдвигов подвергается операции «ЛОГИЧЕСКОЕ ИЛИ» с предыдущим значением регистра SR и после этого вновь помещается в SR.
Детектор порядка вычисляет степень из входного операнда устройства сдвига. Входное значение для него интерпретируется в зависимости от одного из трех режимов, в котором он работает.
В режиме HI входной операнд воспринимается как число с одинарной точностью или как старшая половина числа с двойной точностью. Детектор степени определяет количество знаковых разрядов и формирует код, который будет служить для сдвига данных влево так, чтобы оставить в данных только один знаковый разряд.
В режиме HIX входной операнд воспринимается как результат сложения или вычитания, выполненного в ALU, когда могло произойти переполнение. Поэтому детектор степени берет в учет значение флага AV регистра ASTAT. Если он установлен, формируется дополнительный бит для нормирования данных. Если флаг сброшен, отличий между режимами HI и HIX нет. В режимах HI и HIX детектор степени формирует бит знака SS (Shifter Sing), который помещается в регистр ASTAT устройства ALU. Он соответствует старшему разряду входного операнда, за исключением тех случаев, когда установлен флаг AV в режиме HIX. В этом случае формируется отрицание старшего разряда входного операнда, для сохранения знака переполненного значения.
Читать дальшеИнтервал:
Закладка: