Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
DSP-A5-new.DOC
Скачиваний:
0
Добавлен:
01.04.2025
Размер:
298.5 Кб
Скачать

Сдача задания 2.5: Задание – задать заметную на глаз частоту прерываний таймера

и мигать диодом на каждое прерывание таймера.

Вопрос: почему невозможно остановить программу командой «Halt»?

Задание 2.6 Использование таймера и прерывания от кнопки

После старта программы светодиод должен моргать, при нажатии кнопки останов переключения светодиода, повторное нажатие – светодиод опять начинает моргать.

Для работы необходима декларация переменной:

.section/data seg_data;

.VAR ButtonFlag = 0; // декларация переменной

Использование переменной:

АR=DM(ButtonFlag); // занесение в регистр

NONE = PASS AR; // проверка (уставка флагов)

IF NE JUMP not0; // NE - не 0

AR=0;

DM(ButtonFlag)=AR; // занесение значения переменной

В программе должно быть следующее:

1.Таблица прерываний с вызовом процедур обработки прерываний таймера

и прерывания IRQE.

2.Задание регистров таймера, частота прерываний порядка 0.1 - 10 герц.

3. Бесконечный цикл.

4. Процедура обработки прерываний таймера - мигание или нет

светодиодом в зависимости от значения переменной.

5. Процедура обработки прерываний IRQE - смена значения переменной.

Процедуры обработки прерываний не должны портить основной банк

регистров.

Сдача задания 2.6: Задание – при нажатии на кнопку светодиод должен прекращать мигать, при повторном нажатии опять начинать мигать.

Вопрос: как переключить банки регистров и зачем это надо делать?

Работа номер 3.

Аудио кодек, основы ацп/цап.

Введение.

Aналого-цифровые преобразователи (АЦП) - одна из важнейших составляющих аппаратуры обработки данных. АЦП преобразует аналоговый сигнал в цифровые данные, которые затем могут обрабатываться процессором. Цифро-аналоговые преобразователи (ЦАП) делают обратную операцию и преобразуют цифровые данные в аналоговый сигнал, который подается на оконечное устройство.

Кодек в составе 2189EZ-KIT - это микросхема AD73322, подключенная к ДСП через SPORT0. Микросхема представляет из себя два 16-битных АЦП с максимальной скоростью 64000 отсчетов в секунду и два 16-битных ЦАП. Микросхема предназначена в основном для работы в системах телефонии и обработки речи, но может использоваться и для других целей.

Основной особенностью микросхемы, важной для данной работы, является сдвоенность АЦП/ЦАП и синхронизация работы ЦАП с работой АЦП. Это означает, что мы всегда получаем сигнал с двух АЦП, сначала с первого, затем со второго, и выдавать данные в ЦАП можно только после получения отсчета АЦП, причем выдача данных будет тоже в оба ЦАПа по очереди.

Более подробная информация о микросхеме AD73322 находится в файле AD733222_b.pdf.

Задание 3.1

Программа пересылки данных из АЦП в ЦАП.

Имеющиеся компоненты для выполнения работы:

Файл codec.asm - файл с процедурами для работы с кодеком:

CodecStop

CodecInit

File 2189ezkit.ldf - файл для линкера - включить в Linker files.

Файл codec.asm надо включить в папку Sourse Files.

Необходимый вид секции обслуживания прерываний кодека (порта0):

.section/pm seg_rth;

…….

JUMP SPORT0_tx; NOP; NOP; NOP; /*SPORT0_TX*/

JUMP SPORT0_rx; NOP; NOP; NOP; /*SPORT0_RX*/

…….

Процедура SPORT0_tx определена в файле codec.asm и используется для инициализации кодека. Микросхема AD73322 имеет режим программирования, в котором она находится после сигнала RESET. В этом режиме данные, записываемые в выходной регистр порта, попадают в конфигурационные регистры микросхемы. Далее микросхема переводится в рабочий режим, в котором данные из выходного регистра TX0 направляются в ЦАПы.

В рабочем режиме микросхема считывает данные из АЦП и пересылает их в порт. Порт генерирует прерывание SPORT0_RX и данные из АЦП можно забрать из RX0. В этот же момент времени и соответствующий ЦАП готов к принятию данных. Их можно сразу же переслать в регистр TX0 и тем самым передать в ЦAП.

Процедура SPORT0_rx используется для пересылки данных из АЦП в ЦАП и пишется студентом. В процедуре обработки прерывания используйте второй набор регистров.

Программа должна включать в себя следующее:

1.Инициализация кодека: CodecInit.

2.Бесконечный цикл.

3.Процедура обработки прерывания Sport0_RX, принимающая данные из

RX0 и пересылающая их в TX0.

Правильно написанная программа должна пересылать данные со входа

кодека на выход.

Сигнал с генератора НЧ должен быть подан на вход АЦП (ближний к краю

платы раз`ем).

Выходной сигнал со второго разъема наблюдается при помощи

осциллографа.