Перейти к содержанию

_Alex90_

Members
  • Постов

    4
  • Зарегистрирован

  • Посещение

Информация

  • Город
    Омск

Электроника

  • Стаж в электронике
    1-2 года
  • Сфера радиоэлектроники
    радиосвязь

Достижения _Alex90_

Новичок

Новичок (1/14)

  • Неделя на форуме
  • Месяц на форуме
  • Год на форуме

Последние значки

0

Репутация

  1. В исходном варианте (процессор - ведущий) I2S запустился в следующих конфигурациях: 8 кГц, 8 бит на отсчёт, 2 канала; 8 кГц, 16 бит на отсчёт, 2 канала; 8 кГц, 32 бит на отсчёт, 1 канал. Видимо, дело в соотношении длины отсчёта, количества каналов и разрядности интерфейса. Второй вариант мне подходит. Остался вопрос - данные левого и правого каналов идут отдельными отсчётами (2 по 16 бит) или одним длинным (32 бит), а кодек сам их разбирает?
  2. Приветствую участников форума! Хочу отправлять данные с процессора на кодек по I2S. Взял за основу basic-at73c213-ssc-i2s-project для отладочной платы at91sam9260-ek. С исходными параметрами интерфейса (частота дискретизации 48 кГц, 16 бит на отсчёт, 2 канала) проект на моей плате запустился. Мне нужна частота дискретизации 8 кГц, 16 бит на отсчёт, 1 канал. Попробовал следующие комбинации: 24 кГц, 16 бит на отсчёт, 2 канала - интерфейс запустился; 24 кГц, 32 бит на отсчёт, 1 канал - интерфейс запустился; 12 кГц, 16 бит на отсчёт, 2 канала - интерфейс запустился; 12 кГц, 32 бит на отсчёт, 1 канал - интерфейс запустился; 12 кГц, 8 бит на отсчёт, 2 канала - интерфейс запустился; 12 кГц, 16 бит на отсчёт, 1 канал - интерфейс не запустился. 8 кГц, 16 бит на отсчёт, 1 канал - интерфейс не запустился. То есть я в два раза уменьшал битрейт (произведение частоты дискретизации, числа бит на отсчёт и количества каналов): сначала за счёт уменьшения частоты дискретизации, потом за счёт сокращения длины отсчёта или количества каналов. Остальные параметры не менял. При неудачных попытках в регистре SSC0_SR бит TXSYN=0, то есть передатчик I2S не синхронизировался. Попробовал в качестве исходной частоты для интерфейса использовать частоту на выводе TK. Для этого сделал кодек ведущим и сформировал у него на выходе TK нужную частоту ( 8000 * 16 * 1 = 128 кГц). Интерфейс тоже не запустился. Использую кодек tlv320aic3100. В связи с этим три вопроса: 1) Что я делаю не так в исходном варианте (процессор - ведущий)? Исходная частота делится в нужное количество раз, интерфейс конфигурируется правильно, иначе бы вообще не запускался. 2) Когда ведущий - кодек, нужно ли мне кроме TK настраивать TF как выход? 3) Нужно ли мне в PIO настраивать TK (и, возможно, TF) как входы? В настройках интерфейса указал, что чаастоту передатчика беру с вывода TK. У кого-нибудь был опыт работы с I2S? Помогите разобраться, пожалуйста.
×
×
  • Создать...