Работа с таймером и обработка прерываний. Регистры и инструкции управления таймером и прерываниями, страница 2

7.3. Как экспериментально проверить период прерываний от таймера при выполнении программы в имитаторе, если выражать его в циклах процессора?

7.4. Опишите принцип работы таймера и роль таймера в работе программы gener.asm.

7.5. Каковы особенности проверки программы в пошаговом режиме, если в ней используются прерывания?

7.6. Какие инструкции и директивы программы и как влияют на частоту генерируемой синусоиды?

7.7. Опишите последовательность выполнения инструкций в программе, использующей прерывания.

7.8. Каковы роль и особенности выполнения и использования инструкции IDLE?

7.9. Изобразите графический алгоритм программы, использующей прерывание.  Расскажите о её работе.

7.10. Как обеспечить генерацию в ЦСП колебания с частотой 8 кГц? Укажите конкретные параметры программы.

7.11. Какие числа и для чего содержатся в файле sine.dat? Как обеспечить формирование программным путем этих 16-и чисел, чтобы обойтись без файла?

7.12. Особенности  использования в программе кольцевых буферов.

Лабораторная работа № 6             

РАБОТА С ТАЙМЕРОМ  И  ОБРАБОТКА ПРЕРЫВАНИЙ

1. Цель работы

Ознакомление с одним из приложений процессоров цифровой обработки сигналов - формированием сигналов заданной формы и частоты; программирование и использование таймера и прерываний от него. Разработка и отладка программ для реального времени.

2. Подготовка к работе

2.1. Изучить следующие вопросы:

Назначение и структура таймера.

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

Программирование таймера и прерываний.

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

Назначение и работа инструкции IDLE.

Использование кольцевых буферов в программе.

Построение графика в VisualDSP++.

Материалы для освоения указаны в разделе 3.

Контрольные вопросы см. в разделе 7.

2.2. Домашнее задание:

Проанализировать программу генерации синусоидального сигнала gener.asm. Составить графический алгоритм.  Изменить параметры таймера для получения частоты сигнала f, указанной для бригады в таблице 6.1. В чётных вариантах время цикла процессора составляет 100 нс, в нечётных – 80 нс.

Таблица 6.1 – Исходные данные для бригад

№ бригады

1

2

3

4

5

6

f (кгц)

1.25

5.0

3.1

2.5

6.25

1.0

Задания повышенной сложности:

Преобразуйте алгоритм в gener.asm так, чтобы обеспечить формирование программным путем тех 16-и чисел, которые сейчас берутся из файла sine.dat:

4.  Использовать для этого массив констант array_new[16];

5.  Использовать для этого операции  над содержимым регистра: инкремент и AND  0F;

6.  Использовать для этого счётчик цикла CNTR=16.

3. Материалы к работе

3.1. Материалы к лабораторной работе № 6 (см. файл ЛР6_материалы.doc и Приложениие,  программы к ЛР № 6).

3.2. Инструкции управления ходом исполнения программы, различные инструкции  (Справочные материалы по ADSP-21XX, стр.1).

3.3. Учебное пособие “Работа с VisualDSP++”, разделы  13.2, 12, 14.2.

3.4. Материал лекций по указанным вопросам.

4. Задание к работе в лаборатории

4.1. Cоздать исполняемый файл gener.dxe, используя файлы gener.asm и  sine.asm и загрузить его.

4.2. Проверить работу программы с прерываниями в пошаговом режиме, используя IREQ - регистр запросов прерывания. Отобразить последовательность выполнения инструкций в связи с возникновением и обработкой прерываний.

4.3. Измерить период возникновения отсчётов выходного сигнала.

4.4. Выполнить программу, рассмотреть выводимый программой массив отсчётов синусоиды в области памяти с именем  dm_y  и построить график.