Страница 12 из 33 Первая ... 2101112131422 ... Последняя
Показано с 221 по 240 из 651

Тема: Дешевый USB transport (для саморазвития)?

  1. #1 Показать/скрыть первое сообщение.
    Старый знакомый
    Автор темы
    Аватар для antonluba
    Регистрация
    12.12.2014
    Адрес
    Сочи, Коломна
    Возраст
    45
    Сообщений
    743

    По умолчанию Дешевый USB transport (для саморазвития)?

    Идея такая: берется STM32F4xx. У него есть USB и I2S. Проц и USB тактируется от HSE - кварц на необходимое кол-во МГц+PLL. Через USB в асинхронном режиме выводится аудио поток.
    Для I2S вариантов тактирования два: от PLL с соответствующим снижением качества или от ЦАПа на специальный вход модуля I2S.
    Модуль I2S поддерживает форматы Philips, RJ, LJ, PCM, 16 или 32 бит до 96 192 кГц. (Вы это всё знаете, конечно).
    Теоретически, можно получить универсальный вывод (ввод тоже) I2S через USB (для многих, думаю, достаточного уровня).

    Лично у меня сложности следующие:
    1. Исходники асинхронного вывода (и ввода) по USB.
    2. Получение от хоста параметров потока и переключение частот.
    3. Аппаратная реализация работы двух генераторов на один вход.
    4. Внутренняя синхронизация между I2S и USB.
    Ну и еще мелочей всяких.

    Набросайте ссылок по теме, пожалуйста.

    P.S. Audio Widget я конечно, скачал, но, честно говоря, разобраться пока не смог.
    Последний раз редактировалось antonluba; 25.10.2015 в 21:47.

  2. #221
    Частый гость Аватар для ntechmen
    Регистрация
    03.03.2012
    Адрес
    Кемерово
    Сообщений
    249

    По умолчанию Re: Дешевый USB transport (для саморазвития)?

    вот что получилось:

    код который мы мучаем на SPL, пока не получается запустить; не могу разобраться как скомпилировать и запустить audio class на ULPI в FS чтобы проверить.

    проект на HAL CDC F205-ULPI-USB3300 в HS и FS - в win 8.1 определяется нормально, драйвер в системе подымается без проблем.
    CubeMX-HAL AUDIO F205-ULPI-USB3300 в FS - в win 8.1 определяется тоже нормально, (звук не выводил только тест USB).
    CubeMX-HAL AUDIO F205-ULPI-USB3300 в HS - в win 8.1 определяется как "Составное аудио устройство" -но драйвер не устанавливает, в свойствах ИД оборудование присутствуют считанные данные с дескриптора, т.е. vid&pid и серийный номер .

    Цитата Сообщение от romanetz Посмотреть сообщение
    У меня без них не работало.
    У меня на HAL работает без сопротивлений, но допаян конденсатор в 47мкф, по питанию платы USB3300, и резистор подтяжки низкоомный в 300ом со стороны МК по линии clk (хотя и без него usb подымается).

    Цитата Сообщение от romanetz Посмотреть сообщение
    Фотку макета/платки можно?
    можно, там бардак - все на скорую руку и из подручного.
    Нажмите на изображение для увеличения. 

Название:	макетка.jpg 
Просмотров:	403 
Размер:	1.52 Мб 
ID:	277592

    как то так...

  3. #222
    Завсегдатай Аватар для l3VGV
    Регистрация
    02.05.2009
    Адрес
    Псков
    Возраст
    42
    Сообщений
    1,016

    По умолчанию Re: Дешевый USB transport (для саморазвития)?

    ntechmen, http://www.ebay.com/itm/MB102-Power-...4AAOSwnDxUkl3S крайне удобно.

  4. #223
    Частый гость Аватар для romanetz
    Регистрация
    28.03.2015
    Сообщений
    153

    По умолчанию Re: Дешевый USB transport (для саморазвития)?

    Тоже сгенерил под 407й, сейчас оживлять буду. Если пакеты на OUT пойдут, останется разбираться, в чем разница.
    Чтобы ускорить реакцию системы на обратную связь, нужно SOF_RATE уменьшить

  5. #224
    Старый знакомый Аватар для tomtit
    Регистрация
    23.06.2009
    Адрес
    пгт.Торонтовка
    Возраст
    65
    Сообщений
    945

    По умолчанию Re: Дешевый USB transport (для саморазвития)?

    Цитата Сообщение от ntechmen Посмотреть сообщение
    все на скорую руку и из подручного. как то так...
    Ваша макетка выглядит для меня, профи, устрашающе.
    Я бы порекомендовал взять кусок фольгированного материала, привинтить к нему жестко обе платки на минимальном расстоянии друг от друга и от фольги ,
    подключить земли к фольге в нескольких местах короткими толстыми проводами. Монтаж лучше всего делать обмоточным медным проводом 0.15-0.2мм диаметром.
    все соединения делать как можно короче. На плате ULPI удалить разьем и паять напрямую короткими проводами от площадок разьема к процессору, никаких длинных проводников.
    Дополнительные компоненты - поверхностный монтаж, приклеивать к плате или к фольге, через изоляционную прокладку, если надо.
    Генераторы приклеить вверх ногами к фольге, поставить развязки прямо к ножкам.
    Если будете следовать этим рекомендациям и здравому смыслу, все будет работать лучше чем на печатке.
    Дополнительные резисторы в данных ~ 100..300ом и клоках~ 33..50ом тоже сильно помогают, быстрые параллельные шины очень капризны при макетировании.
    Эти резисторы уменьшают отражения и уменьшают импульсые возвратные токи по земле при переключении шины. Нужно также обеспечить минимальную индуктивность земли.

    Offтопик:
    В 2004г я написал и отладил с нуля HS USB стек для ISP1583, сейчас уже почти ничего не помню, я не эмбеддер, а аналоговый/FPGA дизайнер.
    Но в то время мне сказали - разбирайся, у тебя не работает железо, но оказалось, что все в порядке, не работал говнокод, который они нагенерили.
    Я реализовал простейший Масс-сторидж, потому, что он поддерживается всеми платформами и не надо писать драйвера для ОС, для отладки очень удобно.
    Потом, когда все заработало, они добавили свои дескрипторы и код, и все пашет до сих пор, как часы.

    P.S.
    Кстати, HAL может быть работает потому что, видимо у STM можно
    программировать скорость выходных драиверов, как у FPGA.
    Если скорость установлена низкая, то по крайней мере в одну сторону STM->ULPI может заработать и без резисторов.
    Последний раз редактировалось tomtit; 30.10.2016 в 19:48.

  6. #225
    Не хочу! Аватар для Alex
    Регистрация
    20.03.2003
    Адрес
    Worldwide
    Возраст
    61
    Сообщений
    35,998

    По умолчанию Re: Дешевый USB transport (для саморазвития)?

    Цитата Сообщение от tomtit Посмотреть сообщение
    видимо у STM можно
    программировать скорость выходных драиверов
    Это можно у очень многих Кортексов.

    Цитата Сообщение от tomtit Посмотреть сообщение
    Если скорость установлена низкая,
    Ну я не думаю, что если установить 2Мгц, то будет работать 60-ти мегагерцовая ULPI шина.

    Цитата Сообщение от tomtit Посмотреть сообщение
    то по крайней мере в одну сторону STM->ULPI может заработать и без резисторов.
    Какие резисторы имеются ввиду, последовательные 50-100ом в ULPI шину между процом и фаем?
    Никогда их не ставил. Да и на еваборде от СМ для Ф7 их нет.
    Правда, расстояния везде не более 5-6см.
    "Замполит, чайку?"(с)"Охота за Красным Октябрем".
    "Ну что, можете меняться обратно."(с)типа анек.
    <-- http://altor1.narod.ru --> Вопросы - в личку, е-мейл, скайп.

  7. #226
    Старый знакомый Аватар для tomtit
    Регистрация
    23.06.2009
    Адрес
    пгт.Торонтовка
    Возраст
    65
    Сообщений
    945

    По умолчанию Re: Дешевый USB transport (для саморазвития)?


    Offтопик:
    Alex,
    Не мне тебя учить, но все зависит от разводки. Да, если все собрано на одной многослойной плате, то можно совсем не заморачиваться.
    Я помню еще в 90-х в Москве занимался ADSP платами на двухслойке (деньги экономили) так там 33МГц параллельная шина
    не работала без 220-330ом посл. резисторов. Причем ДСП неправильно выполнял один-единственный условный переход.
    Эффект повторялся 100% на разных платах.
    АД-шики сказали нам, что никогда такого не видали на многослойке.
    Кстати резисторы в данных еще слегка задерживают сигнал и увеличивают data hold time для клока.

  8. #227
    Не хочу! Аватар для Alex
    Регистрация
    20.03.2003
    Адрес
    Worldwide
    Возраст
    61
    Сообщений
    35,998

    По умолчанию Re: Дешевый USB transport (для саморазвития)?

    У меня большинство на 2-х слойках.
    "Замполит, чайку?"(с)"Охота за Красным Октябрем".
    "Ну что, можете меняться обратно."(с)типа анек.
    <-- http://altor1.narod.ru --> Вопросы - в личку, е-мейл, скайп.

  9. #228
    Частый гость Аватар для romanetz
    Регистрация
    28.03.2015
    Сообщений
    153

    По умолчанию Re: Дешевый USB transport (для саморазвития)?

    Пакетов на выходную кт воспроизведения - нет. А так надеялся, что ошибка в коде, а не в железе.
    Дескриптор и стартап поправил, куб по принципу "правая рука не знает, что левая делает" работает.
    Да, проект вновь сгенеренный - под кейлом.

    ---------- Сообщение добавлено 03:50 ---------- Предыдущее сообщение было 03:46 ----------

    Насчет заработает в одну сторону, вспомнив про протокол ULPI и энумерацию, тут, конечно, дал маху...
    Пока в обе стороны обмена нормального не будет - вообще ничего не заработает, даже дескрипторы не отдадутся.

  10. #229
    Старый знакомый Аватар для tomtit
    Регистрация
    23.06.2009
    Адрес
    пгт.Торонтовка
    Возраст
    65
    Сообщений
    945

    По умолчанию Re: Дешевый USB transport (для саморазвития)?

    Цитата Сообщение от romanetz Посмотреть сообщение
    конечно, дал маху...
    Ну представь, что со стороны STM ULPI сбивается из-за слишком быстрых драйверов, а драйверы 3300 послабее и с его стороны все ОК.
    Тогда если КУБ запрограммировал STM помедленнее чем SPL, то все могло бы заработать без резисторов.
    Это я и имел ввиду, а вовсе не то что протокол однонаправленный.
    Кроме того вся возня с дескрипторами идет, ЕМНИС, на FS. И только когда прошел
    HS chirp, происходит переключение на HS, а если нет - все обмены продолжаются по умолчанию на FS.
    По крайней мере, мой стек с плохим кабелем продолжал работать на FS как ни в чем не бывало.
    Последний раз редактировалось tomtit; 31.10.2016 в 03:30.

  11. #230
    Частый гость Аватар для romanetz
    Регистрация
    28.03.2015
    Сообщений
    153

    По умолчанию Re: Дешевый USB transport (для саморазвития)?

    Подвесил ULPI прямо на выводах резисторов к плате с стм32. Ничего не поменялось.
    Проект не из куба, а тот, что выкладывал раньше.

  12. #231
    Не хочу! Аватар для Alex
    Регистрация
    20.03.2003
    Адрес
    Worldwide
    Возраст
    61
    Сообщений
    35,998

    По умолчанию Re: Дешевый USB transport (для саморазвития)?

    У меня на работе со вчера ребята возятся с новой платкой, там MSD. Винда видит MSD но буква диска не появляется.
    Спрашивали что может быть - "железо или софт?". (Там у них разводка не ахти какая на ULPI получилалсь - хоть и в 4-х слоях, но проц F7 в здоровом 144-ногом корпуса, и ноги ULPI разбросаны по 4-м сторонам.
    Но самое главное - у них фай стоит прямо под ЮСБ коннектором, и дорожки идут через виа. При такой короткой длине дорожек, может эти виа и не помеха, но все-же..
    )

    Я сказал что если дескрипторы читаются и винда видит утсройство, то вряд ли что-то в железе.

    P.S. А если бы они месяц подождали, сделали бы на другом проце той-эе серии - появился Ф7 со встроенным фаем.
    "Замполит, чайку?"(с)"Охота за Красным Октябрем".
    "Ну что, можете меняться обратно."(с)типа анек.
    <-- http://altor1.narod.ru --> Вопросы - в личку, е-мейл, скайп.

  13. #232
    Частый гость Аватар для romanetz
    Регистрация
    28.03.2015
    Сообщений
    153

    По умолчанию Re: Дешевый USB transport (для саморазвития)?

    Надо чем-то посмотреть ulpi шину. Как крайний вариант, signaltap + плисочная плата. 128к памяти нужно на одну миллисекунду (кадр)
    Чуть не по теме: китайские лог. анализаторы (речь о LA2016 идет) с заявленными 200 мегасэмплов 16 каналов - действительно тянут? Или как обычно, или 16 каналов, или 200 мегасэмплов?

    UPD: Вроде все честно.
    ---------- Сообщение добавлено 23:15 ---------- Предыдущее сообщение было 12:08 ----------

    На цыклоне5 юсб девайс, реализующий CDC ACM, пашет нормально с такой же платой PHY в режиме HS, подключенный через резисторы 100 ом. Компилируется каждый раз по 5 минут, правда.
    Последний раз редактировалось romanetz; 01.11.2016 в 05:18.

  14. #233
    Старый знакомый Аватар для tomtit
    Регистрация
    23.06.2009
    Адрес
    пгт.Торонтовка
    Возраст
    65
    Сообщений
    945

    По умолчанию Re: Дешевый USB transport (для саморазвития)?

    Цитата Сообщение от Alex Посмотреть сообщение
    у них фай стоит прямо под ЮСБ коннектором
    А у меня наоборот, HS USB controller/phy всегда стоит возле CPU, какая разница - ну добавится 10см проводника на плате к 6-футовому кабелю.

    На цыклоне5 юсб девайс
    А USB кору сам писал или готовая ?

  15. #234
    Не хочу! Аватар для Alex
    Регистрация
    20.03.2003
    Адрес
    Worldwide
    Возраст
    61
    Сообщений
    35,998

    По умолчанию Re: Дешевый USB transport (для саморазвития)?

    Цитата Сообщение от tomtit Посмотреть сообщение
    А у меня наоборот, HS USB controller/phy всегда стоит возле CPU, какая разница - ну добавится 10см проводника на плате к 6-футовому кабелю.
    Проц там тоже рядом. Они плату сдеали так - проц и фай на ВОТ, разъем на ТОР. 10см проводника на USB-шине не проблема, если эта пара разведена по всем правилам - с контролем импеданса, длины, без желательно без виасов, "пеньков", над сплошной землей и т.д.

    Что они через виа пропустили - думаю не беда, при общей длине менее 1см, но я присмотрелся вчера внимательнее к их плате, и заметил другую вещь - от контактов USB коннектора. идут в одну сторону дорожки по 2-3мм, перезодят на другой слой и идут к фаю.
    А в противоположную сторону от контактов разъема идут те-же дорожки на чипа защиты от статики - получается типичный "пень", не говоря уже об ослабленной защите. Насколько такой "пенек" может повлиять - не знаю, я пока посоветовал им просто перерезать на одной плате эти дорожки и посмотреть что будет - без защиты оно работать будет, а с таким "пеньком" - хрен его знает.
    "Замполит, чайку?"(с)"Охота за Красным Октябрем".
    "Ну что, можете меняться обратно."(с)типа анек.
    <-- http://altor1.narod.ru --> Вопросы - в личку, е-мейл, скайп.

  16. #235
    Частый гость Аватар для romanetz
    Регистрация
    28.03.2015
    Сообщений
    153

    По умолчанию Re: Дешевый USB transport (для саморазвития)?

    Кора готовая, только транслятор utmi-ulpi к ней подключил и сейчас изохронные передачи прописываю. Как запоет, выложу в тему. Там сборная солянка из вхдл и верилога.

  17. #236
    Старый знакомый Аватар для tomtit
    Регистрация
    23.06.2009
    Адрес
    пгт.Торонтовка
    Возраст
    65
    Сообщений
    945

    По умолчанию Re: Дешевый USB transport (для саморазвития)?

    У меня есть передатчик I2S, делал когда-то для подключения TDA1541. Может сгодится.Я для себя SPDIF по оптике прикручу. Не люблю гальваническую связь с компом.
    Вложения Вложения
    • Тип файла: zip i2s_v.zip (2.3 Кб, Просмотров: 171)

  18. #237
    Частый гость Аватар для vladsan75
    Регистрация
    06.06.2010
    Адрес
    г.Саратов
    Возраст
    49
    Сообщений
    430

    По умолчанию Re: Дешевый USB transport (для саморазвития)?

    Что то кинулись к UAC2, хотя и у UAC1 были небольшие проблемы. Вот последний (надеюсь) вариант - скачки gap отсутствуют, работает и с андроид и с windiows7, оптимизация 0s проблем не вызывает,
    немного изменил работу обратной связи :
    USB_audio_sin_3.rar

  19. #238
    Частый гость Аватар для romanetz
    Регистрация
    28.03.2015
    Сообщений
    153

    По умолчанию Re: Дешевый USB transport (для саморазвития)?

    Есть инфа, что UAC1 в HS режиме можно на 192/24 запустить за счет микрофреймов. И даже выше. Т.е. ограничение не UAC1, но полной скорости - 1023 байта в мсек на изохронную кт.

    ---------- Сообщение добавлено 01:07 ---------- Предыдущее сообщение было 01:03 ----------

    Потому и интерес не столько к UAC2, сколько к HS.

  20. #239
    Частый гость Аватар для vladsan75
    Регистрация
    06.06.2010
    Адрес
    г.Саратов
    Возраст
    49
    Сообщений
    430

    По умолчанию Re: Дешевый USB transport (для саморазвития)?

    Цитата Сообщение от romanetz Посмотреть сообщение
    UAC1 в HS режиме
    А если в драйвере UAC1 прописан FS ? Теоретически, при длине бита в 83нс и условии, что данные могут занимать 90% времени кадра, получаем 10.8 кбит за кадр, или 1350 байт - тогда можно описать две конечные точки, скажем по 600 байт. Но так ли это на самом деле, ведь между байтами информации есть небольшие промежутки(вроде бы) и как организовать обратную связь - менять количество байт только для одной конечной точки, а в другую передавать по максимуму, или в обоих сразу?

  21. #240
    Частый гость Аватар для romanetz
    Регистрация
    28.03.2015
    Сообщений
    153

    По умолчанию Re: Дешевый USB transport (для саморазвития)?

    Надо проверять экспериментально. Я могу дескриптор нужный составить, но пока не осознаю, как топологию звукового устройства сделать правильно.
    Два входных терминала с одним каналом - в одном левый, в другом правый, - потому, что пространственное расположение каналов звука привязывается в них. Один processing unit, который каналы в стереопару сводит и спикер после него. Два терминала - два AS интерфейса, в каждом, видимо, по две кт.
    Во вложении как я это вижу
    descriptor.txt
    Последний раз редактировалось romanetz; 02.11.2016 в 13:10.

Страница 12 из 33 Первая ... 2101112131422 ... Последняя

Метки этой темы

Социальные закладки

Социальные закладки

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •