- •Глава 1. Описание отладочной платы………....5
- •Глава 2. Процессор tms320g5535…..…….....………….6
- •Глава 3. Аудио кодек aic3204………………………...29
- •Глава 4. Программирование цсп 5535…………....31
- •Глава 5. Примеры выполнения заданий……....36
- •2.1. Блок-схема и описание процессора tms320c5535
- •Глава 1. Описание отладочной платы
- •Описание tms320c5535 eZdsp usb Stick
- •Технические характеристики платы
- •Глава 2. Процессор tms320g5535
- •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.9. Интерфейс i2c (Inter-Integrated Circuit)
Это последовательный интерфейс образующий адресную шину. Каждое устройство на шине имеет свой уникальный адрес. Обмен данными производится по выводу SDA синхронно, т.е. на шине есть специальный сигнал SCL, который синхронизирует передачу каждого бита адреса и данных. Сигналы SDA и SCL двунаправленные. Инициатором обмена данными по шине может быть любое устройство, такие шины относятся к классу multi-master. Это касается как передачи, так и приёма данных.
Можно выделить следующие особенности:
-поддержка байтового обмена данными
-поддержка 7-ми и 10-ти битной адресации устройств на шине
-скорость передачи данных от 10 кбит/сек, до 400 кбит/сек
-поддержка режима DMA (только контроллер DMA2)
-наличие вектора прерывания
В момент обмена на шине должен присутствовать одно управляющее устройство (“master”) инициирующее обмен данными и одно подчинённое устройство (“slave”). “Master” является инициатором выработки синхросигналов SCL.
Для передачи и приёма используются четыре регистра. Процессор или канал DMA записывают данные при передаче в регистр ICDXR и при чтении читают данные из ICDRR. Когда запускается процесс передачи данные из ICDXR, копируются в регистр ICXSR и последовательно сдвигаются через вывод SDA процессора. При приёме данные вдвигаются в регистр ICRSR и копируются в регистр ICDRR для последующей обработки.
Тактирование блока I2C осуществляется аналогично тактированию самого процессора. Необходимая частота сигнала SCL достигается использованием предделителя (prescaler) и делителя (dividers). После предделителя, частота должна быть в диапазоне 6,7-13,3 мГц.
Когда шина свободна сигналы SDA и SCL поддерживаются на высоком логическом уровне. “Master” генерирует один импульс при передаче одного бита данных. Уровень сигнала SDA должен быть стабильным во время высокого уровня SCL. Изменение уровня на SDA должно происходить только когда SCL имеет низкий уровень.
Начало и окончание передачи данных “master” инициируется комбинацией сигналов SDA и SCL. Условие старта, переход сигнала SDA из высокого в низкий при высоком SCL. Условие останова, переход сигнала SDA из низкого уровня в высокий при высоком SCL. Шина считается занятой от момента старта до момента останова. Занятость шины определяется по биту BB (bus busy) в регистре ICSTR. Для старта передачи должны быть установлены биты MST и STT в регистре ICMDR. Для останова должен быть установлен бит STP.
Данные передаются, начиная со старшего MSB (most-significant) бита. Данные могут передаваться посылками от 2-х до 8-ми бит, что определяется полем бит BC в регистре ICMDR. Посылки перемежаются сигналом подтверждения ACK (acknowledgment) от приёмника. В процессоре возможен выбор 7-ми или 10-ти битной адресации устройств на шине I2C. После адреса следует бит указатель R/W того, что “master” передаёт данные в “slave” или читает из “slave”.
Может быть осуществлён программный сброс (reset) интерфейса I2C обнулением бита IRS (ICMDR) или через установку бита I2C_RST (PRCR).
Перед конфигурированием шины бит I2C-RST=0. Настройка I2C должна производиться до начала передачи данных при этом интерфейс должен находиться в режиме сброса по биту IRS=0. После всех настроек шина выводится из режима сброса IRS=1.
В процессоре реализован алгоритм т.н. арбитража шины. При этом отслеживаются конфликтные ситуации, когда на шине происходят одновременно две передачи данных. Для реагирования на эту ситуацию введено отдельное прерывание AL (Arbitration-lost interrupt).
Источниками прерывания могут выступать следующие события:
-отсутствие сигнала подтверждения от приёмника (No-acknowledge interrupt (NACK))
-условие STOP обнаружено (Stop-Condition-Detection interrupt (SCD))
-процессор распознал собственный адрес (Address-as-Slave interrupt (AAS))
-регистры I2C доступны после изменения настроек (Registers-ready-for-access interrupt (ARDY))
-данные приняты (Receive interrupt/status)
-данные переданы (Transmit interrupt/status)
Каждое из этих событий вызывает одно и то же прерывание. Которое событие произошло, определяется в регистре Interrupt Vector Register (ICIVR) в поле INTCODE.
Можно выделить четыре режима:
1)Slave-receiver mode – интерфейс настраивается в подчинённый режим и принимает данные от “master”.
2)Slave-transmitter mode - интерфейс настраивается в подчинённый режим и передаёт данные в “master”.
3)Master-receiver mode - интерфейс настраивается в управляющий режим и принимает данные от “slave”.
4)Master-transmitter mode - интерфейс настраивается в управляющий режим и передаёт данные в “slave”.
