- •Глава 1. Описание отладочной платы………....5
- •Глава 2. Процессор tms320g5535…..…….....………….6
- •Глава 3. Аудио кодек aic3204………………………...29
- •Глава 4. Программирование цсп 5535…………....31
- •Глава 5. Примеры выполнения заданий……....36
- •Глава 1. Описание отладочной платы
- •Описание tms320c5535 eZdsp usb Stick
- •Технические характеристики платы
- •Глава 2. Процессор tms320g5535
- •2.1. Блок-схема и описание процессора tms320c5535
- •2.2. Память процессора и адресное пространство
- •2.3. Тактовый генератор
- •2.4. Прерывания и таблица векторов прерывания
- •2.5. Управление конфигурацией
- •2.6. Контроллер dma
- •2.7. Таймеры
- •2.8. Аналого-цифровой преобразователь (ацп) sar adc
- •2.9. Интерфейс i2c (Inter-Integrated Circuit)
- •2.10. Интерфейс i2s (Inter-ic Sound)
- •2.11. Блок ввода/вывода цифровой информации gpio (general-purpose input/output)
- •2.12. Блок последовательного интерфейса uart
- •2.13. Блок rtc (Real Time Clock)
- •Глава 3. Аудио кодек aic3204
- •Глава 4. Программирование цсп 5535
- •4.1. Программное обеспечение для работы с цсп Texas Instruments
- •4.2. Порядок работы в среде ccs
- •4.3.Особенности создания проекта для eZdsp usb5535 Stick
- •Глава 5. Примеры выполнения заданий
- •5.1. Реализация эффектов эхо и реверберации
- •5.2. Описание функций, используемых в проекте эхо и реверберация
- •5.3.Генератор синусоидального сигнала
- •5.4.Генерация dtmf сигнала
- •5.5.Реализация фильтра с конечной импульсной характеристикой
2.3. Тактовый генератор
Для процессора и всех периферийных узлов необходимо тактировать их работу. С этой целью во всех процессорах имеется устройство, называемое тактовым генератором. Как правило, на вход тактового генератора подключается кварцевый генератор, который обеспечивает необходимую стабильность частоты. В данном процессоре входная частота выбирается равной, 32,768кГц (выбор частоты обосновывается в разделе 2.13.) и определяется кварцевым резонатором, подключённым к генератору блока Real Time Clock. В тактовом генераторе имеются специальные один умножитель и два делителя частоты, которые позволяют из входной частоты на выходе получить частоту до 120мГц с высокой точностью. Конструкция тактового генератора допускает тактирование от внешнего сигнала, что бывает необходимо для синхронной работы нескольких устройств.
Отдельный тактовый генератор предназначен для блока USB.
Выбор тактовой частоты очень важный момент. С одной стороны высокая частота обеспечивает быстродействие, но при этом резко возрастает энергопотребление, что очень важно для мобильных устройств. Тактовая частота также определяет частотные настройки последовательных портов ввода/вывода, таймеров и т.д. Для снижения потребления предусматривается отключение тактовых импульсов от блоков процессора, когда они не используются. Это осуществляется установкой логической единицы в соответствующий бит регистров Peripheral Clock Gating Configuration Register (PCGCR1 и PCGCR2).
2.4. Прерывания и таблица векторов прерывания
Во всех процессорах, для реакции на какие-то события в реальном масштабе времени применяется механизм прерываний. В данном процессоре реализовано 32-а события источников прерывания. Эти прерывания собраны в таблице векторов прерывания (spruh87c.pdf стр.86). Каждому прерыванию в таблице выделен соответствующий номер прерывания, адрес в памяти (вектор), по которому находится программа обработки (interrupt service routine - ISR) этого прерывания и уровень приоритета.
Управление прерываниями производится через регистр флагов прерываний (interrupt flag register IFR0,1) и регистр разрешения прерываний (interrupt enable register IER0,1). Установка флага прерывания происходит автоматически при появлении прерывания и является инициатором перехода к обработчику прерывания.
В качестве примера того, что может служить источником прерываний, можно привести переполнение таймера, окончание передачи данных по последовательным портам, заполнение данными выделенной памяти при DMA и т.д.
Внешние прерывания INT0 и INT1 вызываются переходом сигнала с высокого уровня в низкий, на соответствующих ножках процессора.
Для трёх таймеров процессора выделено одно прерывание. При входе в обработчик прерывания, флаг автоматически сбрасывается. Какой из таймеров вызвал прерывание можно определить во вторичном регистре TIAFR. Каждый флаг в регистре TIAFR должен быть сброшен в ISR путём записи 1-цы.
Тридцать два цифровых входа/выхода процессора (GPIO) могут быть сконфигурированы, как источники прерывания. Они все сконцентрированы в одном векторе и могут быть разрешены одним битом (bit5) регистра IER1. Разрешение каждого в отдельности прерывания, устанавливается во вторичных регистрах IOINTEN1 и IOINTEN2 (GPIO Interrupt Enable Registers). В обработчике прерывания необходимо организовать проверку вторичных регистров IOINTFLG1 и IOINTFLG2 для выявление того номера GPIO, который стал причиной прерывания. Бит в IFR1 сбрасывается автоматически, а в IOINTFLG1,2 должен быть сброшен программой в ISR.
Аналогично для DMA выделен один вектор прерывания, которое разрешает одним битом (bit8) регистра IER0 шестнадцать источников прерываний всего блока DMA. Вторичный регистр флагов DMAIFR определяет эти источники.
