реклама на сайте
подробности

 
 
 
Reply to this topicStart new topic
> SAI (Serial Audio Interface) коммутация на CPLD/FPGA
agregat
сообщение Oct 14 2016, 13:22
Сообщение #1


Знающий
****

Группа: Свой
Сообщений: 790
Регистрация: 6-02-14
Из: Омск
Пользователь №: 80 379



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

Go to the top of the page
 
+Quote Post
yuravg
сообщение Oct 14 2016, 13:59
Сообщение #2


Участник
*

Группа: Свой
Сообщений: 63
Регистрация: 12-08-15
Из: Санкт-Петербург
Пользователь №: 87 968



Цитата(agregat @ Oct 14 2016, 16:22) *
Есть несколько SAI и I2S интерфейсов от разных кодеков и MCU/DSP, хочется коммутировать каналы подключаемые к MCU/DSP через CPLD или FPGA

можно взять к примеру Altera MaxV (это cpld, fpga для такой задачи не нужен)
в данном семействе есть 100 выводные микросхемы, размером 16х16мм, цена около 5 у.е.
Время распространения со входа на выход - нано секунды, никакого влияния на качество не будет.

Сообщение отредактировал yuravg - Oct 14 2016, 14:02
Go to the top of the page
 
+Quote Post
agregat
сообщение Oct 14 2016, 16:16
Сообщение #3


Знающий
****

Группа: Свой
Сообщений: 790
Регистрация: 6-02-14
Из: Омск
Пользователь №: 80 379



Это размышления или практический опыт. Так то я тоже полагаю что задержки вроде укладываются. Надо проверять.
Но спасибо.
Go to the top of the page
 
+Quote Post
_4afc_
сообщение Oct 14 2016, 16:55
Сообщение #4


Профессионал
*****

Группа: Свой
Сообщений: 1 262
Регистрация: 13-10-05
Из: Санкт-Петербург
Пользователь №: 9 565



Цитата(agregat @ Oct 14 2016, 16:22) *
Теоретически должно сработать, практически ссылок на готовые работы или хотя бы описания не нашел.


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

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


Цитата(agregat @ Oct 14 2016, 19:16) *
Так то я тоже полагаю что задержки вроде укладываются.


Задержки? Вам критично распространение сигнала? Если сигналы синхронны - задержки на целостность не влияют.
Go to the top of the page
 
+Quote Post
agregat
сообщение Oct 14 2016, 17:50
Сообщение #5


Знающий
****

Группа: Свой
Сообщений: 790
Регистрация: 6-02-14
Из: Омск
Пользователь №: 80 379



Цитата(_4afc_ @ Oct 14 2016, 19:55) *
Задержки? Вам критично распространение сигнала? Если сигналы синхронны - задержки на целостность не влияют.

Задержки некритичны, главное чтоб надежно работало.
Go to the top of the page
 
+Quote Post
Genadi Zawidowsk...
сообщение Oct 14 2016, 19:36
Сообщение #6


Профессионал
*****

Группа: Участник
Сообщений: 1 620
Регистрация: 22-06-07
Из: Санкт-Петербург, Россия
Пользователь №: 28 634



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

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

Сообщение отредактировал Genadi Zawidowski - Oct 14 2016, 19:36
Go to the top of the page
 
+Quote Post
agregat
сообщение Oct 15 2016, 03:50
Сообщение #7


Знающий
****

Группа: Свой
Сообщений: 790
Регистрация: 6-02-14
Из: Омск
Пользователь №: 80 379



Цитата(Genadi Zawidowski @ Oct 14 2016, 22:36) *
Всех сделать slave, BCLK и WS раздавать с одного источника, переключение данных в произвольтный момент не нарушит синхронизацию.
ФОрмат одинаковый?

Прошу прощения за мутное представления задачи в первом посте.
Значит есть три разных MCU и три разных кодека. Каналы независимые. Надо коммутировать один MCU на один кодек. Комбинаций будет 9, чтобы в результате можно было попробовать каждый MCU с каждым кодеком.Формат может быть разный, так как MCU разные и режимы разные.
Думаю это неважно, так как каналы изолированы друг от друга. Как уже написал, задача сэкономить на перемычках.
Go to the top of the page
 
+Quote Post
_4afc_
сообщение Oct 15 2016, 08:47
Сообщение #8


Профессионал
*****

Группа: Свой
Сообщений: 1 262
Регистрация: 13-10-05
Из: Санкт-Петербург
Пользователь №: 9 565



Цитата(agregat @ Oct 15 2016, 06:50) *
Комбинаций будет 9, чтобы в результате можно было попробовать каждый MCU с каждым кодеком.

Для попробовать - мешать не будет. Чтобы сильно не заморачиваться - после перекомутации - переинициализируйте исследуемый приёмник и передатчик.
Go to the top of the page
 
+Quote Post
Genadi Zawidowsk...
сообщение Oct 15 2016, 09:31
Сообщение #9


Профессионал
*****

Группа: Участник
Сообщений: 1 620
Регистрация: 22-06-07
Из: Санкт-Петербург, Россия
Пользователь №: 28 634



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

Сообщение отредактировал Genadi Zawidowski - Oct 15 2016, 09:32
Go to the top of the page
 
+Quote Post
agregat
сообщение Oct 15 2016, 11:14
Сообщение #10


Знающий
****

Группа: Свой
Сообщений: 790
Регистрация: 6-02-14
Из: Омск
Пользователь №: 80 379



Цитата(Genadi Zawidowski @ Oct 15 2016, 12:31) *
А сделать всех slave кроме одного master?
На вопрос про одинаковый или нет формат не ответили.

Я ответил выше, но внутри текста незаметно. Повторю.
Формат может быть разный, так как MCU разные и режимы разные.

Есть три мастера (MCU) и три слейва(кодеки), кодеки разные, MCU от разных производителей, у каждого свои нюансы.
Надо наладить работы каждого MCU с каждым кодеком. Собственно для этого и потребовался коммутатор.
Одновременно работают три MCU, поэтому вариант один мастер остальные слейвы не понимаю как это будет работать.
Я полагал так. Каждый MCU работает в паре со своим выбранным кодеком, MCU мастер, кодек слейв.
Go to the top of the page
 
+Quote Post
Genadi Zawidowsk...
сообщение Oct 15 2016, 11:35
Сообщение #11


Профессионал
*****

Группа: Участник
Сообщений: 1 620
Регистрация: 22-06-07
Из: Санкт-Петербург, Россия
Пользователь №: 28 634



Все что я видел контроллеры и колеки позволяют работу или мастером или слейвом. У кого нет своего герератора - те только слэйв.
Нюансы всё равно придётся в программе копать.
Go to the top of the page
 
+Quote Post

Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 18th July 2025 - 18:09
Рейтинг@Mail.ru


Страница сгенерированна за 0.01425 секунд с 7
ELECTRONIX ©2004-2016