- •Содержание
- •Лекционный курс модуль Вводный
- •1. Цели и задачи курса
- •2. Микропроцессор и микропроцессорная система
- •3. Основные понятия и определения
- •4. Характеристики микропроцессоров
- •5. Классификация микропроцессоров
- •6. Эволюция микропроцессоров
- •Модуль I. Организация микропроцессорной системы
- •1. Основные типы архитектур микропроцессорных систем. Фон-неймановская (принстонская) и гарвардская архитектуры. Организация пространств памяти и ввода-вывода.
- •5. Прямой доступ к памяти. Организация прямого доступа к памяти. Контроллер пдп.
- •6. Память микропроцессорной системы. Функции памяти. Архитектура и иерархия памяти. Организация кэш-памяти. Виртуальная память.
- •Увеличение разрядности основной памяти
- •Память с расслоением
- •Использование специфических свойств динамических зупв
- •Страничная организация памяти
- •Сегментация памяти
- •Модуль II. Универсальные микропроцессоры
- •1. Определение понятия «архитектура». Архитектура системы команд. Классификация процессоров cisc и risc. Определение понятия "архитектура"
- •Архитектура системы команд. Классификация процессоров (cisc и risc)
- •2. Методы адресации и типы данных. Типы команд. Команды управления потоком команд. Методы адресации
- •Типы команд
- •Команды управления потоком команд
- •3. Конвейеризация и параллелизм. Конвейерная организация обработки данных. Простейшая организация конвейера и оценка его производительности.
- •Простейшая организация конвейера и оценка его производительности
- •Конфликты по данным, остановы конвейера и реализация механизма обходов
- •Классификация конфликтов по данным
- •Конфликты по данным, приводящие к приостановке конвейера
- •Методика планирования компилятора для устранения конфликтов по данным
- •Сокращение потерь на выполнение команд перехода и минимизация конфликтов по управлению
- •Снижение потерь на выполнение команд условного перехода
- •5. Проблемы реализации точного прерывания в конвейере. Обработка многотактных операций и механизмы обходов в длинных конвейерах Проблемы реализации точного прерывания в конвейере
- •Обработка многотактных операций и механизмы обходов в длинных конвейерах
- •Конфликты и ускоренные пересылки в длинных конвейерах
- •Поддержка точных прерываний в длинных конвейерах
- •Параллелизм уровня команд: зависимости и конфликты по данным
- •Параллелизм уровня цикла: концепции и методы
- •Основы планирования загрузки конвейера и разворачивание циклов
- •7. Зависимости. Классификация зависимостей и их применение. Устранение зависимостей по данным и механизмы динамического планирования. Зависимости. Их классификация и применение.
- •Устранение зависимостей по данным и механизмы динамического планирования Основная идея динамической оптимизации
- •Динамическая оптимизация с централизованной схемой обнаружения конфликтов
- •Другой подход к динамическому планированию - алгоритм Томасуло
- •Дальнейшее уменьшение приостановок по управлению: буфера целевых адресов переходов
- •9. Одновременная выдача нескольких команд для выполнения и динамическое планирование.
- •10. Архитектура машин с длинным командным словом (vliw). Средства поддержки большой степени распараллеливания.
- •Средства поддержки большой степени распараллеливания
- •Обнаружение и устранение зависимостей
- •Программная конвейеризация: символическое разворачивание циклов
- •Трассировочное планирование
- •Аппаратные средства поддержки большой степени распараллеливания
- •Условные команды
- •Выполнение по предположению (speculation)
- •11. Архитектура epic.
- •Модуль III. Микроконтроллеры и специализированные микропроцессоры
- •2. Специализированные микропроцессоры. Цифровые процессоры обработки сигналов.
- •Модуль Заключительный Перспективы развития микропроцессорной техники.
- •Лабораторный курс
- •7 Семестр. Лабораторная работа 1.
- •Лабораторная работа 2.
- •Лабораторная работа 3.
- •Лабораторная работа 4.
- •8 Семестр. Лабораторная работа 1.
- •1. Общие сведения
- •2. Настройка и запуск Code Composer Studio (simulation)
- •3. Особенности проектирования в иср Code Composer Studio
- •4. Реализация проекта в иср Code Composer Studio
- •5. Тестирование проекта в иср Code Composer Studio
- •6. Аппаратная реализация проекта в иср Code Composer Studio
- •Лабораторная работа 2.
- •1. Подключение файлов ввода/вывода с помощью точек зондирования
- •2. Работа с файлами по средствам функций языка с
- •3. Работа с dsp/bios для генерации звукового сигнала платой dsk5510
- •Лабораторная работа 3.
- •1 Цифровая фильтрация
- •2. Реализация ких фильтра на симуляторе dsk5510
- •3. Реализация ких фильтра на dsk5510 для фильтрации звукового сигнала в реальном времени.
- •Лабораторная работа 4.
- •1. Фильтры с бесконечной импульсной характеристикой – бих
- •2. Реализация бих фильтра на симуляторе dsk5510
- •Фильтр низкой частоты с нормальной частотой среза 0.1
- •Фильтр низкой частоты с нормальной частотой среза 0.2
- •Полосовой фильтр с нормальной частотой среза 0.165 – 0.33
- •3. Реализация бих фильтра на dsk5510 для фильтрации звукового сигнала в реальном времени.
- •Фильтр низкой частоты с нормальной частотой среза 0.1
- •Фильтр низкой частоты с нормальной частотой среза 0.2
- •Полосовой фильтр с нормальной частотой среза 0.165 – 0.33
- •Оценка работы студентов. Рейтинговая система.
- •1. Общие положения
- •2. Организация рейтингового контроля успеваемости студентов дневной формы обучения
- •3. Выставление оценок по рейтинговой системе
- •4. Организация рейтингового контроля успеваемости студентов заочной формы обучения
- •Учебно-методические материалы Основная литература
- •Дополнительная литература
3. Реализация ких фильтра на dsk5510 для фильтрации звукового сигнала в реальном времени.
Сконфигурировать ИСР CCS для работы с платой DSK5510.
Создать проект «exp_2» аналогичный проекту «exp_3» из работы №2.
В файл «main.c» внести изменения в соответствии с листингом 3.1.
Листинг 3.1 – Листинг файла «main.c»
#include "bios_filtrcfg.h" #include "filter.h"
#include "dsk5510.h" #include "dsk5510_aic23.h"
/* Codec configuration settings */ DSK5510_AIC23_Config config = { 0x0017, // 0 DSK5510_AIC23_LEFTINVOL Left line input channel volume 0x0017, // 1 DSK5510_AIC23_RIGHTINVOL Right line input channel volume 0x00d8, // 2 DSK5510_AIC23_LEFTHPVOL Left channel headphone volume 0x00d8, // 3 DSK5510_AIC23_RIGHTHPVOL Right channel headphone volume 0x0011, // 4 DSK5510_AIC23_ANAPATH Analog audio path control 0x0000, // 5 DSK5510_AIC23_DIGPATH Digital audio path control 0x0000, // 6 DSK5510_AIC23_POWERDOWN Power down control 0x0043, // 7 DSK5510_AIC23_DIGIF Digital audio interface format 0x0081, // 8 DSK5510_AIC23_SAMPLERATE Sample rate control 0x0001 // 9 DSK5510_AIC23_DIGACT Digital interface activation };
void main() { DSK5510_AIC23_CodecHandle hCodec; Int16 *x;
DSK5510_init(); hCodec = DSK5510_AIC23_openCodec(0, &config);
DSK5510_AIC23_setFreq(hCodec,DSK5510_AIC23_FREQ_44KHZ);
ClearSimpleBuff();
while(1) { while (!DSK5510_AIC23_read16(hCodec, x)); inp_buf[0]=*x;
run_filter();
while (!DSK5510_AIC23_write16(hCodec, inp_buf[0])); //вывод исходного сигнала в левый канал while (!DSK5510_AIC23_write16(hCodec, out_buf[0])); //вывод отфильтрованного сиганала в правый канал } } |
В директорию с проектом скопировать файл «filter.h» из проекта рассмотренного во втором разделе.
В файле «filter.h» изменить значение константы «LENBUF» со 120 на 1. Таким образом, размер входного и выходного буфера станет равным единицы.
Линейный выход звуковой карты соединить с линейным входом платы DSK5510.
В разветвитель, в линейном входе звуковой карты, вставить колонки (наушники).
Свободное гнездо разветвителя соединить с линейным выходом платы DSK5510.
Запустить программу «TES2» и открыть окно спектроанализатора.
Скомпилировать проект в среде ИСР CCS, и загрузить в плату.
Поставить на воспроизведение любой звуковой файл.
Запустить программу на выполнение, после этого в окне спектроанализатора программы «TES2» появится спектр сигнала, рисунок 3.1.
Рисунок 3.1 – Спектр исходного и отфильтрованного сигнала.
Здесь красным цветом обозначен исходный сигнал, а синим отфильтрованный сигнал. Программа «TES2» анализирует левый и правый канал стерео сигнала, разделяя их на канал А и канал В.
Частота среза вычисляется следующим образом: 44000 Гц (частота дискретизации) * 0.0773 ≈ 3400 Гц.
Индивидуальные задания студентам выдаются во время лабораторной работы преподавателем.