|
Как связать аудио интерфейс I2S с DSP |
|
|
|
Dec 19 2009, 11:28
|
Местный
  
Группа: Свой
Сообщений: 310
Регистрация: 11-05-09
Из: г. Москва
Пользователь №: 48 909

|
Цитата(aaarrr @ Dec 19 2009, 14:21)  Последовательные порты большинства DSP "умеют" I2S сами по себе. можно чуть подробней на примере TMS320C672x какие именно порты используются для I\O I2S? McASP?
Сообщение отредактировал Aleksey.z - Dec 19 2009, 11:37
|
|
|
|
|
Dec 20 2009, 17:49
|
Местный
  
Группа: Свой
Сообщений: 310
Регистрация: 11-05-09
Из: г. Москва
Пользователь №: 48 909

|
DSP для обработки аудио потока, CPLD для преобразование форматов, ARM для управления этим всем хозяйством. Теперь вот не понятно как это все соединять во едино и не понятно по каким интерфейсам, например как организовать память SDRAM, соединять ARM и DSP к одной шине памяти или каждый к отдельной. Как вообще принято организовывать взаимодействие ARM и DSP, у ti есть dMAX, стоит ли его использовать или хватит I2C, SPI? Так же не понятно как это все завязать на CPLD, с точки зрения гибкости я бы все что можно на нее завязал но тогда не хватит ножек. Может кто подскажет kit у которого можно взглянуть схему и что бы на борту были и DSP и ARM? На сколько я понимаю I2S, SPI это для управления и для прокачки данных они не подходят, а мне бы хотелось иметь возможность оперативного и не ограниченного доступа к данным DSP от ARM и наоборот, так же необходимо что бы эти данные могли прокачиваться через CPLD дабы изменять их формат. Вот что то типа такого, проблема в том что я за ранее не знаю что мне может понадобится в будущем девайсе поэтому хочу заложить универсальную структуру что бы потом при программировании не чесать репу и вспоминать почему я не проложил "этот"
Сообщение отредактировал Aleksey.z - Dec 20 2009, 18:07
|
|
|
|
|
Dec 20 2009, 19:10
|
Местный
  
Группа: Свой
Сообщений: 310
Регистрация: 11-05-09
Из: г. Москва
Пользователь №: 48 909

|
Цитата(aaarrr @ Dec 20 2009, 21:35)  Уточните сначала: 1. Какой именно DSP. 2. Какой именно ARM. 3. Зачем вообще оказалась нужна CPLD. 4. Роли и задачи каждого компонента в системе. Устройство предназначено для обработки и воспроизведения высококачественного аудио. Также оно предназначено как эволюшен кит для освоения ARM9, DSP, CPLD на плате предполагаются слоты расширения для ADC, DAC. например будет возможность воткнуть в это устройство платы с различными микросхемами и реализацией ADC, DAC для сравнения их характеристик. DSP планирую TMS320C6720 на нем будут висеть задачи по обработке I2S от плат расширения, полосовая фильтрация, усиление, задержка и так далее, во общем различные алгоритмы ЦОС ARM AT91SAM9XE512 для связи с различной периферией, изернет, usb, flash. Для управления по SPI другими микросхемами то как приемник spdif, для управления начинкой на платах расширения. Понимаю что это как из пушки по воробьям но это нужно для обучения ARM9. CPLD для связи плат расширения и всего остального хозяйства. Оно может и не нужно но я хочу получить некую гибкость при связи этого всего хозяйства. также на плате будет дистребютор клока. Нужна максимальная гибкость и расширяемость без переделки всей платы в дальнейшем. Вот на пример я не знаю, понадобится мне внешняя SDRAM в CPLD и ARM9, но так как стоит она копейки, а устройство не серийное то почему бы не добавить и т. д. Сейчас чешу репу как и по каким интерфейсам это все срастить что бы в дальнейшем при программировании и не возникло проблем. Вот пример, на ARM9 я получаю аудио данные через изернет, мне нужно по внешним поступающим в ARM9 тактам БитКлок и ЛевыйПравыйКлок выдавать данные I2S, то есть ARM будет работать слэйв режиме. В каком виде она их будет выдавать? Смогу ли я их преобразовать силами ARM в нужных фармат I2S или для этого потребуются ресурсы CPLD?
Сообщение отредактировал Aleksey.z - Dec 20 2009, 19:28
|
|
|
|
|
Dec 20 2009, 19:45
|
Гуру
     
Группа: Свой
Сообщений: 10 713
Регистрация: 11-12-04
Пользователь №: 1 448

|
Цитата(Aleksey.z @ Dec 20 2009, 22:10)  Вот на пример я не знаю, понадобится мне внешняя SDRAM в CPLD и ARM9, но так как стоит она копейки, а устройство не серийное то почему бы не добавить и т. д. Для процессора понадобится, иначе нет смысла его ставить и осваивать, можно сразу заменить на SAM7X. Вместо CPLD (которой, кстати, SDRAM - как жучке пятая нога) лучше поставить FPGA. Процессор с DSP придется "дружить" по последовательным интерфейсам - SPI/SSC на одной стороне и SPI/McASP на другой. Цитата(Aleksey.z @ Dec 20 2009, 22:10)  Вот пример, на ARM9 я получаю аудио данные через изернет, мне нужно по внешним поступающим в ARM9 тактам БитКлок и ЛевыйПравыйКлок выдавать данные I2S, то есть ARM будет работать слэйв режиме. В каком виде она их будет выдавать? Смогу ли я их преобразовать силами ARM в нужных фармат I2S или для этого потребуются ресурсы CPLD? Может. Хотя атмеловские SSC не слишком хорошо дружат с I2S, есть некоторая недоделанность. Но такие вещи в любом случае надо выяснять в процессе проектирования, а не после него.
|
|
|
|
|
Dec 20 2009, 21:00
|
Местный
  
Группа: Свой
Сообщений: 310
Регистрация: 11-05-09
Из: г. Москва
Пользователь №: 48 909

|
Цитата(zltigo @ Dec 20 2009, 22:47)  Тогда третий лишний. Достаточно двух, например, ARM+FPGA Если FPGA так хороши в качестве сигнальников то почему последние до сих пор выпускают? Низкое энергопотребление? Цитата(aaarrr @ Dec 20 2009, 22:45)  Процессор с DSP придется "дружить" по последовательным интерфейсам - SPI/SSC на одной стороне и SPI/McASP на другой. А DMA? А если потребуется большие потоки перекачивать?
Сообщение отредактировал rezident - Dec 20 2009, 21:00
Причина редактирования: Нарушение п.3.4 Правил форума.
|
|
|
|
|
Dec 20 2009, 21:07
|

Гуру
     
Группа: Свой
Сообщений: 13 372
Регистрация: 27-11-04
Из: Riga, Latvia
Пользователь №: 1 244

|
Цитата(Aleksey.z @ Dec 21 2009, 00:00)  Если FPGA так хороши в качестве сигнальников то почему последние до сих пор выпускают? Низкое энергопотребление? Традиции, привычки, наработки, ниши, миграция DSP в сторону универсальных контроллеров общего применения. Разговоры за pro-contra можете найти на форуме, впрочем, как и многое другое. Можете и ARM выбросить, оставив DSP, например, Blackfinn. Третий лишний.
--------------------
Feci, quod potui, faciant meliora potentes
|
|
|
|
|
Dec 20 2009, 21:35
|
Гуру
     
Группа: Свой
Сообщений: 7 946
Регистрация: 25-02-05
Из: Moscow, Russia
Пользователь №: 2 881

|
тут по ходу и второй и третий лишние, а не только третий. Речь, как я понимаю, о скоростной плавающей точке - так оставьте один TMS320C674x, там периферии - упериферииться, вплоть до SATA. А если уж очень хочется именно ARM по каким-то там религиозным соображениям и возни по двум раздельным софтинам, совместно работающим - возьмите например OMAP-L138 - там уже все решения по связи обоих ядер (674х и АРМа) решены без Вашего участия. Да и кит есть, на котором можно поэкспериментировать. А вообще, по опыту, то, чем занимается лишний АРМ (другой внешний CPU), всякие там рюшечки-управлюшечки, в большинстве случаев жрет не больше 5-8% производительности DSP, если реализовать в нем же. Имеется в виду загрузка ядра, а не память. Память это уж сколько сами воткнете. Плюс не надо тратить производительность обоих сторон на перекачку потока между собой.
|
|
|
|
2 чел. читают эту тему (гостей: 2, скрытых пользователей: 0)
Пользователей: 0
|
|
|