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. Особенности использования в программе кольцевых буферов.
Ознакомление с одним из приложений процессоров цифровой обработки сигналов - формированием сигналов заданной формы и частоты; программирование и использование таймера и прерываний от него. Разработка и отладка программ для реального времени.
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.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 и построить график.
Уважаемый посетитель!
Чтобы распечатать файл, скачайте его (в формате Word).
Ссылка на скачивание - внизу страницы.