Назад
81
&G723DEC_IG723DEC,
&g723decParams );
UTL_assert( thrDecode.algG723DEC != NULL );
UTL_showAlgMem( thrDecode.algG723DEC );
5. Извлечение буфера кодера из хранилища и его декодирование, ко-
гда декодер активирован, а, следовательно, находится в режиме
воспроизведения.
Для этого, добавьте следующий код в функцию thrDecodeRun( ). Ис-
пользуйте комментарии в коде, которые написаны чтобы помочь в ре-
шении, где производить вызов каждой функции.
STORAGE_retrieve( &thrDecode.storage.thrDecode.bufIntermediate,
sizeInWords( COMPRESSED_FRAMELEN ) );
G723DEC_apply( thrDecode.algG723DEC,
(XDAS_Int8 *)thrDecode.bufIntermediate,
(XDAS_Int16 *)dst );
Обратите
внимание, как thrDecodeRun( ) возвращает заполненный ну-
лями буфер, используя memset( ), когда декодер запрещен.
6. Сохраните и закройте исходный файл thrDecode.c.
Связывание и соединение алгоритма декодера
1. Откройте командный файл линковщика link.cmd. путем двойного
щелчка мышью на файле в Окне Просмотра Проекта.
2. Назначьте G723DEC_TI_IG723DEC Æ G723DEC_IG723DEC.
G723DEC_IG723DEC объявлен в файле thrDecode.h.
3. Сохраните и закройте командный файл линковщика link.cmd.
Построение и запуск проекта
Теперь Вы почти готовы дать проекту завертеться. Следующий шагэто
сборка проекта.
1. Выберите пункт меню Project Æ Rebuild All.
2. Выберите пункт меню File Æ Load Program и загрузите исполняе-
мый файл \Debug\app.out.
3. Настройте аудио вход путем запуска воспроизведения аудио на ва-
шем компьютере.
4. Выберите пункт меню Debug Æ Run из меню отладчика.
Если все работает правильно, Вы должны услышать аудио. Если звука
нет, проверьте правильность установок описанных в секцииПодго-
товка аппаратных средствв главе 6.
5. Откройте инструмент «Диаграмма работы» (щелкните DSP/BIOS
Æ Execution Graph).
82
6. Откройте «Диаграмму загрузки CPU» (щелкните DSP/BIOS Æ CPU
Load Graph).
Запись и воспроизведение аудио
Далее Вы наконец-то сможете увидеть, как ваша работа оживает, как живет
и дышит аудио плеер/рекордер.
1. Откройте файл исходного кода thrEncode.c.
2. Добавьте символ структуры данных thrEncode в окно просмотра.
Для этого, на символе структуры данных thrEncode кликните правой
кнопкой мыши и в выпадающем списке меню выберите
пункт меню
Add to Watch Window
3. В запущенной системе, в режиме аудио воспроизведения начните
запись путем установки в окне просмотра thrEncode:enabled равным
1.
Обратите внимание на увеличение доли потока кодера среди запущен-
ных процессов на диаграмме выполнения. Вы можете увидеть что-то
подобное на рисунке 7-8, где подсчитывается продолжительность вре-
мени обработки для алгоритма
кодера. Продолжительность времени
обработки также, отражена в диаграмме загрузки CPU в виде первого
горба, изображенного на рисунке 7-10.
Рисунок 7-8. Диаграмма работы с работающим модулем кодера.
4. Подождите в течение 30 секунд, после чего сбросьте thrEn-
code:Enabled в 0.
Вы только что записали ваш сжатый аудио сигнал во внешнюю память.
5. Для воспроизведения записанного аудио откройте файл исходного
кода thrDecode.c и добавьте символ структуры данных thrDecode в
окно просмотра.
6. В работающей системе, запустите воспроизведение путем установ-
ки
в окне просмотра thrDecode:enabled равным 1.
83
Вы услышите микшированный звук записанного аудио и линейного
входа.
Если Вы слышите щелчки, то возможно микширование двух сигналов
становится причиной урезания сигнала (из-за слишком большого коэф-
фициента усиления). Вы можете попытаться уменьшить щелчки путем
убавления громкости на выходе ПК.
Вы можете слушать воспроизведение аудио только при установленном
коэффициенте усиления
линейного входа равным 0. Для этого, загрузите
файл GEL .\app.gel (щелкните File Æ Load GEL…). Затем выберите In-
put_Volume из меню GEL: Application Control CCS и установите ползу-
нок в 0. Все ползунки изначально установлены в ноль, даже если теку-
щее значение не ноль, как в случае коэффициентов усиления по умолча-
нию для линейного входа и выхода.
Обратите внимание на
увеличение доли потока декодера среди запу-
щенных процессов на диаграмме выполнения. Вы можете увидеть, что-
то подобное на рисунке 7-9, где подсчитывается продолжительность
времени обработки для алгоритма декодера. Продолжительность време-
ни обработки также отражена в диаграмме загрузки CPU в виде второго
горба, изображенного на рисунке 7-10.
Рисунок 7-9. Диаграмма работы с работающим модулем декодера.
84
Рисунок 7-10. Диаграмма загрузки CPU при работе модулей XDAIS.
На рисунке 7-10 показана диаграмма загрузки CPU после разрешения и за-
прещения кодера (первый холм) и после разрешения и запрещения декодера (вто-
рой холм).
После того как вы сравнили все эти возможности, убедитесь, что DSP оста-
новлен и система сброшена:
1. Щелкните Debug Æ Halt для останова CPU.
2. Щелкните Debug Æ Reset CPU для сброса процессора.
3.
Закройте проект.
85
Пятая волна
А у вас есть такой же, но с антенной подлинее?”
Часть III
Великолепная десятка
86
В этой части
Мы включили в книгу Для Чайников два раздела, по-
священные Великолепной Десятке. Первый раздел рас-
скажет Вам, остающемуся в одиночестве, о загрузке по-
лезных ресурсов для дальнейшей помощи в разработке
приложений, основанных на eXpressDSP, включая по-
лезную техническую документацию и существующие
классные Web сайты. Второй раздел открывает несколь-
ко очень интересных небольших
фактов о eXpressDSP
от его происхождения до возможностейнаслаждай-
тесь!
87
Глава 8
Десять ресурсов eXpressDSP
В этой главе
Поиск ресурсов на Web сайтах
Построение набора важных DSP инструментов
Связь с другими пользователями DSP
Получение персонального обучения
Следующие десять ресурсов eXpressDSP для Вас, если Вы хотите идти
дальше в программировании TMS320 DSP. Вы сможете найти все - от простой
подсказки собрата по программированию DSP до курсов индивидуальной подго-
товки. Ресурсы, помещенные в данном разделе, также указывают Вам на аппарат-
ные средства, программное обеспечение и код, которые помогут воплотить ваши
приложения в жизнь
.
www.dspvillage.com
Если Вы способны запомнить только один Web адрес, запомните этот. Дан-
ный Web сайт - это городская площадь для программирования DSP TMS320. Все,
что Вам когда-то может понадобиться, может быть найдено по этому адресу. На
сайте есть разделы, посвященные программному обеспечению, где Вы можете
найти тонны полезной информации обо всех вещах обсуждаемых в данной книге
.
Посетите сайт
www.dspvillage.com для получения дополнительной информации.
www.dspestore.com
Это второй сайт, который Вам необходимо знать. Это магазин инструмен-
тов разработчиков DSP. Здесь Вы можете купить инструменты разработки DSP,
платы для разработки DSP, эмуляторы, программные алгоритмы и многое другое.
Посетите
www.dspestore.com для ведения любых дел.
88
Code Composer Studio
Если Вам необходимо написать, разработать и отладить программное обес-
печение для DSP TMS320, то необходимо выбрать среду разработки Code Com-
poser Studio (CCS). Она доступна в различных вариантах. Первоначально, сущест-
вует Free Evaluation Tools (Бесплатные оценочные инструменты) (см. выше
www.dspvillage.com), которые обеспечивают 90-то дневной оценочный период.
Полная версия инструментов доступна за 3595$ (включая поддержку). Для более
детальной информации посетите сайт
www.dspestore.com. Code Composer Studio
также включает в себя дешевые DSP Starter Kits (Стартовые наборы DSP) (см.
следующую секцию).
Стартовый набор DSP
Необходимо быстро и с малыми затратами начать работать с DSP TMS320?
Купите стартовый набор DSP, или как его называют – DSK. Этот стартовый набор
стоит 395$ и включает в себя специальную версию Code Composer Studio для раз-
работок на макетной плате. Вторая часть данной книги использует эту популяр-
ную макетную плату для демонстрации мощности и гибкости DSP.
Каталог третьих сторон
Более чем 600 сторонних производителей поддерживают платформу
TMS320. Диапазон их услуг начинается от алгоритмов производителей, постав-
щиков эмуляторов и заканчивается производством аппаратных плат. Если Вы
планируете покупать какой-либо код алгоритма для запуска на платформе DSP
TMS320, мы настоятельно рекомендуем Вам покупать только алгоритмы, совмес-
тимые с eXpressDSP (см. рисунок 8-1). Для большей информации об этих
произ-
водителях и их продуктах зайдите на сайт
www.dspvillage.com и выберите TI
Third Party Program (Программы сторонних производителей для TI). Многие про-
дукты сторонних производителей также доступны в разделе TI estore на
www.dspestore.com.
Рисунок 8-1. Логотип совместимости с eXpress DSP.
89
Библиотеки для обработки сигналов
Иногда, для вашего приложения требуются только основные функции обра-
ботки сигнала. Эти функции обычно являются куском кода, подобно фильтру ко-
нечной импульсной характеристики (Finite Impulse Response - FIR). Оптимизиро-
ванные версии частей кода подобных функций обеспечены библиотеками. Они
бесплатно распространяются TI. Посетите
www.dspvillage.com, выберите Software
(программное обеспечение), и затем выберите Signal Processing Libraries (Библио-
теки обработки сигналов).
Указания по применению
Буквально сотни руководств доступны для помощи Вам для начала или за-
вершения проекта с DSP TMS320. Некоторые примечания общие и перекрывают
общие темы, применимые ко всем проектам, другие более специфичны. Все они
доступны на сайте TI и совершенно бесплатны. Они также содержат фрагменты
кода, которые можно копировать в ваше приложение. Посетите сайт
www.dspvillage.com и под Technical Documentation (техническая документация)
выберите Application Notes (указания по применению).
Обучение
Иногда обучение на каких-либо курсах является лучшим путем для быстрой
разработки продукта. Сейчас доступны все виды подготовки, от 30 минутных on-
line обзоров до четырехдневных персональных занятий. Большинство on-line кур-
сов бесплатны, в то время как большинство персональных занятий требуют опла-
ты. Для деталей посетите
www.dspvillage.com и под темой DSP Support (DSP под-
держка), выберите пункт Training&Webcasts.
Форумы
Участие в форуме - это хороший способ задать вопросы и поделиться опы-
том с сообществом DSP TMS320. Форумы различаются по семействам DSP, а
также по разрабатываемым приложениям. Участие в них требует регистрации, но
это бесплатно. Посетите
www.dspvillage.com и под темой DSP Support (DSP под-
держка) выберите Discussion Groups (форум).
База знаний
Если у вас есть вопрос по приложениям обработки сигнала или по плат-
форме TMS320, простой ли, или чрезвычайно запутанный, попробуйте посетить
сервер KnowledgeBase. Введите запрос на английском языке (наподобие, «How do
I compile my code?») и смотрите что вернется. Сервер имеет большую базу данных
и может обеспечивать достаточно полезной информацией и ссылками. Посетите
сайт
www.dspvillage.com и под DSP Support (DSP поддержка) выберите Know-
ledgeBase (База знаний).
90
Глава 9
Десять фактов о eXpressDSP
В этой главе
Поиск нового аппаратного обеспечения
Плагины в новых возможностях для Code Composer Studio
Тестирование ваших алгоритмов на соответствие XDIAS
Идем дальше в разработке вашего приложения
Все любят мелочи, поэтому мы включили десять примеров своих собствен-
ных в этот раздел. Однако, эти мелочи, фактически, не являются пустякамика-
ждая из этих особенностей имеет большое значение для успешности вашего DSP
приложения
Действительно Real Time
В любой системе действительно реального времени, аппаратная задержка
прерывания должна быть как можно меньше. С DSP/BIOS, запущенном на
TMS320C6201 на 200 МГц, задержка прерывания составляет всего 220 наносе-
кунд. Этого вполне достаточно практически для каждого приложения на данном
DSP. Для деталей обратитесь к указаниям по применению SPRA778.
Видимость системы
В то время как системы становятся все более интегрированными, все слож-
нее узнать, что же происходит внутри работающей системы. Эмуляторыэто здо-
рово, но часто требуется остановить целевой процессор для опроса различных ре-
гистров и блоков памяти.
Для разработок на TMS320 используйте высокоскоростной обмен данными
в реальном времени (High Speed Real Time Data Exchange - RTDX) и эмулятор
XDS560. Использование
данных продуктов позволяет передавать данные через
кабель эмулятора на скорости более 2 Мбайт/сек, в то время как DSP будет рабо-
тать на полной скорости. Этой скорости достаточно для передачи видео сигнала в