Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:

Ris_DSP / TZOS_red4_ch2_C25_Tablet

.pdf
Скачиваний:
38
Добавлен:
18.04.2015
Размер:
868.07 Кб
Скачать

163

внешнее устройство ввода/вывода (I/O). Считывание преобразованных АЦП данных осуществляется инструкцией IN процессора.

Рис.4.25 Входной налоговый интерфейс

В состав схемы входят: сглаживающий ФНЧ на операционном усилителе TL072, УВХ AD585, 12-разрядный АЦП ADC84, два 8- разрядных буферных регистра и дополнительная логика для формирования сигнала READY.

Частота среза ФНЧ должна быть меньше частоты дискретизации. В данном случае она равна:

f=

1

=

 

1

 

 

= 3.5 кГц

2πR3C 2

2π 50 10

3

900

10

12

 

 

 

 

 

164

С выхода ФНЧ сигнал подается на УВХ, управляемое по входу HOLD. Если на вход HOLD подан низкий уровень, УВХ находится в режиме выборки, если высокий уровень – в режиме хранения. Аппертурное время AD585 составляет 35 нс.

Запуск АЦП осуществляется высоким уровнем сигнала на входе С (CONVERT) АЦП, который формируется на выходе XF процессора программно. При переходе сигнала CONVERT в единицу, сигнал на выходе STATUS АЦП также устанавливается в единицу, переводя УВХ AD585 в режим хранения. Время преобразования ADC84 составляет 10 мкс. По окончании преобразования сигнал STATUS устанавливается в ноль и УВХ переходит в режим выборки. TMS320C2X обнаруживает окончание преобразования, опрашивая состояние вывода BIO, объединенного с сигналом STATUS.

Дополнительная логика используется для формирования сигнала READY и чтения через I/O порт результата аналого-цифрового преобразования с выхода буферных регистров 74ALS534.

Данный аналого-цифровой интерфейс располагается по адресу «0» параллельного порта ввода-вывода I/O. Этот адрес устанавливается на выводах A0-A2 шины адреса процессора.

Нулевой уровень сигнала на выходе схемы «ИЛИ» U8B (когда R/W=1 и Y0=0) открывает выходы буферного регистра (выводит их из высокоимпедансного состояния) и результат преобразования поступает на шину данных TMS320C2X.

Управление запуском АЦП процессор осуществляет с помощью внутреннего таймера TIM и регистра периода PRD. Прерывание по таймеру TINT генерируется каждые (PRD+1) циклов частотой CLKOUT1. После этого таймер загружается новым значением из PRD. Таким образом, частота генерации прерывания (частота выборки) определится как fs=CLKOUT1/(PRD+1). Например, чтобы установить частоту выборки 10 КГц, регистр PRD должен быть загружен значением 999.

165

4.3.24. ВЫХОДНОЙ АНАЛОГОВЫЙ ИНТЕРФЕЙС

Схема выходного аналогового интерфейса (рис.4.26) построена на основе 10-разрядного ЦАП DAC100, дешифратора адреса на 74AS138, буферного регистра 74AS822, сглаживающего ФНЧ на операционном усилителе TL072 и дополнительной логики для формирования сигнала

READY.

Интерфейс располагается по адресу «1». Загрузка регистра 74AS822 производится с шины данных D6-D15 процессора активным уровнем сигнала Y1 дешифратора адреса. ФНЧ второго порядка в данном включении настроен на частоту среза 1.7 кГц.

Рис.4.26 Выходной налоговый интерфейс.

166

6. ОСОБЕННОСТИ РАЗРАБОТКИ И ОТЛАДКИ ПРОГРАММНОГО ОБЕСПЕЧЕНИЯ ДЛЯ УСТРОЙСТВ ЦОС НА DSP.

Для любого устройства ЦОС, построенного на DSP, важно наличие полного комплекта средств аппаратной и программной отладки.

Па первом этапе определяется архитектура проектируемой системы: тип процессора и периферийные устройства (внешние ROM, RAM, АЦП, ЦАП, кодеки, каналы связи и т.д.). Далее разрабатывается программа для выбранного DSP. Программа создается на языке высокого уровня (C или C++) или языке ассемблера для DSP. Программа, написанная на языке высокого уровня, компилируется для получения кода на языке ассемблера. Преимуществом использования языка С является простота программирования, однако полученный в результате компиляции код программы чаще всего не оптимален и не так эффективен, как написанный на ассемблере. Поэтому при написании программы часто применяют оба языка, используя ассемблер для написания самых критичных (с точки зрения быстродействия) участков программы. На рис.6.1 показана сравнительная трудоемкость и эффективность программы на С или ассемблере. Необходимо помнить, что с учетом требований к сокращению времени и стоимости разработки фактор трудоемкости является немаловажным.

Процесс создания программы

Эффективность

Трудоемкость

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Компилятор

 

 

(70

– 80) %

Низкая

 

 

С

 

 

 

 

 

 

 

 

Оптимизатор

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Линейный

 

 

 

Ассемблер

 

 

(95

- 100) %

Средняя

 

ассемблер

 

 

 

Оптимизатор

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

ассемблер

 

 

Ручная

 

100 %

Высокая

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Рис.6.1. Сравнительная трудоемкость и эффективность написания программ для DSP

167

Эффективность оптимизирующих компиляторов непрерывно повышается, поэтому в современных условиях написание программ для DSP на С является оптимальным решением по соотношению времени разработки и получаемой эффективности кода. Для своих DSP фирма TI выпускает свободно доступные DSPLib - библиотеки оптимизированных ассемблерных ЦОС-функций с заголовками для вызова их из С-программ, использование которых существенно повышает оптимальность кода.

В конце этапа компиляции компоновщик генерирует исполняемый файл. Затем программное обеспечение должно быть отлажено с использованием программного симулятора в сочетании с некоторой аппаратной отладочной системой, например:

-внутрисхемный эмулятор, встраиваемый в слот PC (ISA или PCI) или подключаемый к параллельному порту PC;

-стартовый набор DSK, подключаемый к последовательному порту PC. После этого программа тестируется на проектируемой плате c DSP

(проверочный модуль - EVM). Проверочный модуль - это законченное решение для разработки готового устройства ЦОС. Проверочный набор обычно включает в себя не только внешнюю плату с DSP и внутрисхемный эмулятор, но и программное обеспечение: ассемблер, линкер и отладчик.

Полностью законченной интегрированной отладочной средой разработчика, которая объединяет в себе все необходимые средства для проведения полного цикла разработки (от конфигурирования системы, написания и компилирования программы до отладки и анализа поведения алгоритма) является выпускаемая фирмой Texas Instruments программа

Code Composer Studio.

Версии Code Composer Studio используют единый отладочный интерфейс (рис.6.2) и выпускаются для каждого семейства DSP:

-C6000 Code Composer - для DSP семейств С62хх, С67хх;

-С5000 Code Composer - для DSP семейств С54хх и С55хх;

-С2000 Code Composer - для DSP семейств С2хх, С24хх, С5х;

-С3х/C4х Code Composer - для DSP с плавающей точкой семейств С4х,

С3х, VC33.

168

Рис.6.2. Оболочка Code Composer Studio в режиме симулятора

Создать новый или открыть существующий проект (*.mak) в Code Composer Studio можно командой ProjectNew или ProjectOpen,

соответственно. Добавление существующих файлов к проекту прозводится командой ProjectAdd Files to Project, а создание новых файлов – командой FileNew. В среде Code Composer Studio программы могут быть написаны на языке С (*.c) или ассемблере (*.asm). Эти исходные файлы хранятся в папке Source менеджера проекта. Кроме того, проект включает:

-файлы библиотек - *.lib в папке Libraries

-объектные файлы - *.obj в папке Libraries

-командные файлы компановщика - *.cmd и другие файлы.

Рис.6.3. Параметры построения графиков

169

Компиляция программ выполняется командой ProjectCompile File. Объектный файл создается командой ProjectBuild. Полученный объектный файла загружается в симулятор процессора командой

FileLode Program.

При загрузке программы отладчик Code Composer Studio автоматически открывает окно Dis-Assembly, которое отображает дизассемблированные команды с указанием адреса, кода операции, мнемокода команды и операндов, и символьную информацию, необходимую для отладки.

Перед запуском программы на исполнение процессор сбрасывается командой DebugReset DSP. Запуск программы выполняется командой DebugRun, остановка DebugHalt, продолжение работы программы - DebugAnimate. Запуск программы в пошаговом режиме осуществляется командами DebugStepInto, DebugStepOver и DebugStepOut.

Просмотр и редактирование памяти данных осуществляется командами ViewMemory и EditMemoryEdit, регистров процессора - командами

ViewCPU RegistersCPU Register и EditEdit Register, соответственно.

Для контроля и отладки программ можно устанавливать точки останова (командой DebugBreakpoints) и точки пробника (командой DebugProbe Points).

Точка пробника – это аналог щупа осциллографа или логического анализатора, подключенного к схеме. Она представляет собой подключаемый к определенной точке про-граммы канал для пере-дачи и снятия данных. При достижении точки проб-ника выполнение програ-мммы не остонавливается, а данные могут быть прорисованы в окне визу-ализации в виде графика. Параметры построения графиков сигналов во временной или частотной областях определяются в таблице Graph Property Dialog (рис.6.3)

170

после выполнения команды ViewGraphTime/Frequency.

Литература:

1.Рабинер Л., Гоулд Б. Теория и применение цифровой обработки сигналов. -М.: Мир, 1978, 848с.

2.Применение цифровой обработки сигналов. / Под ред. Э.Оппенгейма,

пер. с англ.,-М.: Мир, 1980, 551с.

3.Айфичер Э., Джервис Б. ЦОС: пратический подход. М.: Вильямс, 2004

4.Сергиенко А.Б. ЦОС. СПб.:Питер, 2006

5.Солонина А.И., Улахович Д.А. и др. Алгоритмы и процессоры ЦОС. СПб.:БХВ-Питер, 2002

6.Марпл-мл. С.Л. Цифровой спектральный анализ и его приложения. :Пер. с англ. - М.: Мир, 1990, 548с.

7.Варакин Л.Е. Системы связи с шумоподобными сигналами.-М.: Радио и связь, 1985, 384 с.

8.Куприянов М.С., Матюшкин Б.Д. Цифровая обработка сигналов: процессоры, алгоритмы, средства проектирования.-СПб.:Политехника, 1998, 592 с.

9.Лазарев Ю.Ф. MatLab 5.x / К.: Издательская группа BHV, 2000, 384 с.

10.Тихонов В.И. Статистическая радиотехника.-М.: Сов. Радио, 1966, 678 с.

11.Руководство пользователя по сигнальным процессорам семейства

ADSP2100. СПб.:СПГЭУ, 1997

Соседние файлы в папке Ris_DSP