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

SAI (Serial Audio Interface) коммутация на CPLD/FPGA

Есть несколько SAI и I2S интерфейсов от разных кодеков и MCU/DSP, хочется коммутировать каналы подключаемые к MCU/DSP через CPLD или FPGA небольшое.

Делал ли кто нибудь такое? Нужно именно коммутировать все линии SAI/I2S друг на дружку. Перемычками это легко. А насколько влияние CPLD/FPGA может испортить дело.

Теоретически должно сработать, практически ссылок на готовые работы или хотя бы описания не нашел.

 

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Есть несколько SAI и I2S интерфейсов от разных кодеков и MCU/DSP, хочется коммутировать каналы подключаемые к MCU/DSP через CPLD или FPGA

можно взять к примеру Altera MaxV (это cpld, fpga для такой задачи не нужен)

в данном семействе есть 100 выводные микросхемы, размером 16х16мм, цена около 5 у.е.

Время распространения со входа на выход - нано секунды, никакого влияния на качество не будет.

Изменено пользователем yuravg

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Это размышления или практический опыт. Так то я тоже полагаю что задержки вроде укладываются. Надо проверять.

Но спасибо.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Теоретически должно сработать, практически ссылок на готовые работы или хотя бы описания не нашел.

 

Как напишете - так и будет работать. Главное чтоб для приёмника всё было синхронно, без пропусков или лишних клоков.

 

Делал мультиплексор: несколько каналов в многоканальный звук - работало на CPLD.

 

 

Так то я тоже полагаю что задержки вроде укладываются.

 

Задержки? Вам критично распространение сигнала? Если сигналы синхронны - задержки на целостность не влияют.

 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Задержки? Вам критично распространение сигнала? Если сигналы синхронны - задержки на целостность не влияют.

Задержки некритичны, главное чтоб надежно работало.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Есть несколько SAI и I2S интерфейсов от разных кодеков и MCU/DSP

Всех сделать slave, BCLK и WS раздавать с одного источника, переключение данных в произвольтный момент не нарушит синхронизацию.

ФОрмат одинаковый?

Изменено пользователем Genadi Zawidowski

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Всех сделать slave, BCLK и WS раздавать с одного источника, переключение данных в произвольтный момент не нарушит синхронизацию.

ФОрмат одинаковый?

Прошу прощения за мутное представления задачи в первом посте.

Значит есть три разных MCU и три разных кодека. Каналы независимые. Надо коммутировать один MCU на один кодек. Комбинаций будет 9, чтобы в результате можно было попробовать каждый MCU с каждым кодеком.Формат может быть разный, так как MCU разные и режимы разные.

Думаю это неважно, так как каналы изолированы друг от друга. Как уже написал, задача сэкономить на перемычках.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Комбинаций будет 9, чтобы в результате можно было попробовать каждый MCU с каждым кодеком.

Для попробовать - мешать не будет. Чтобы сильно не заморачиваться - после перекомутации - переинициализируйте исследуемый приёмник и передатчик.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

А сделать всех slave кроме одного master?

Использование дянных ни на что не влияет, пускай master формирует синхронизацию всегда.

Тогда сводится к коммутации данных.

На вопрос про одинаковый или нет формат не ответили.

Изменено пользователем Genadi Zawidowski

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

А сделать всех slave кроме одного master?

На вопрос про одинаковый или нет формат не ответили.

Я ответил выше, но внутри текста незаметно. Повторю.

Формат может быть разный, так как MCU разные и режимы разные.

 

Есть три мастера (MCU) и три слейва(кодеки), кодеки разные, MCU от разных производителей, у каждого свои нюансы.

Надо наладить работы каждого MCU с каждым кодеком. Собственно для этого и потребовался коммутатор.

Одновременно работают три MCU, поэтому вариант один мастер остальные слейвы не понимаю как это будет работать.

Я полагал так. Каждый MCU работает в паре со своим выбранным кодеком, MCU мастер, кодек слейв.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Все что я видел контроллеры и колеки позволяют работу или мастером или слейвом. У кого нет своего герератора - те только слэйв.

Нюансы всё равно придётся в программе копать.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...