Страница 3 из 33 Первая 1234513 ... Последняя
Показано с 41 по 60 из 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. #41
    Завсегдатай Аватар для aal
    Регистрация
    04.11.2004
    Адрес
    пос. Краснообск, Новосибирская область
    Возраст
    51
    Сообщений
    2,860

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

    У меня валяется без дела такая платка: lpc4350-db1. И процы эти в бга 256 есть 9 или 10 шт (брал под так и не реализованный проект.)
    Пароли - штука неустойчивая. Взламываются терморектальным криптоанализатором.

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

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

    Цитата Сообщение от Nikkov Посмотреть сообщение
    Так у них только lpc18x0 и lpc43x0 требуют внешнюю память. А те, что не на 0 заканчиваются имеют внутреннюю. Лет уж несколько как.
    Ну, я "несколько лет" туда и не смотрел, а тогда с внутренний фаем были только с внешней памятью. Ну и, БГА тоже хотелось бы избежать.
    "Замполит, чайку?"(с)"Охота за Красным Октябрем".
    "Ну что, можете меняться обратно."(с)типа анек.
    <-- http://altor1.narod.ru --> Вопросы - в личку, е-мейл, скайп.

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

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

    Цитата Сообщение от vladsan75 Посмотреть сообщение
    Проект в CooCox, с комментариями не густо, если что не понятно - спрашивайте
    Я немножко посмотрел, может пропустил что, вопросы следующие:

    Сигнал ws выводится с порта pa4, с другой стороны чипа, а не с ра15, который рядом с сигналами ck и sd. Почему?

    В дескрипторе прописана поддержка только одной частоты, выход для переключения генераторов тоже не обнаружил, может, не тот проект? Или пока переключение не реализовали?

    Что показывают светодиоды?

    Спасибо.

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

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

    Отвечаю : скачайте и установите STM32CubeMX и посмотрите, куда железно подключаются выводы периферии, PA4 - это как раз I2S3_WS и никак иначе, вы просто можете проинициализировать PA15 как вход и соединить с ним PA4 ( я так на плате и делаю под микропроцессором, таким же образом вывожу на одну сторону выводы FSMC для управления TFT, они гады раскидали их по трем сторонам микроконтроллера). А насчет поддержки переключения частот, я же написал, что подготовил переключение, но пока не реализовал. Посмотрите в модуле usbd_audio_core.c со строки №832, после строк №838,844,850 и 856 надо добавить управление какой нибудь ногой ( или двумя ) для управления генераторами, со строки №588 по 592 определяем разрядность входных данных -> если byte_per_sampl = 6, то 24 бит, если byte_per_sampl = 4, то 16 бит ( можно вывести на индикатор или для управления ЦАП). Так же надо в дескрипторах добавить возможность изменять частоту и добавить нужные частоты ( посмотрите на easyelectronics статью Ассинхронное usb audio на STM32, к стати вы там уже писали, там автор указал где и что нужно добавить).В общем реализуйте сначала одну ассинхронную частоту, а потом я вам нарисую изменения в дескрипторах. На счет светодиодов - это больше для наглядности, они показывают работу обратной связи - когда говорим хосту прибавить количество передаваемых семплов, то загорается один светодиод, когда говорим убавить - другой светодиод. В работе они у меня перемигиваются где то раз в секунду.
    Последний раз редактировалось vladsan75; 23.07.2016 в 22:33.

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

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

    Цитата Сообщение от aal Посмотреть сообщение
    У меня валяется без дела такая платка: lpc4350-db1. И процы эти в бга 256 есть 9 или 10 шт (брал под так и не реализованный проект.)
    Отладчика нет, отдельно он дорогой. Сама плата тоже очень дорогая, по сравнению с Discovery. Сам каменюка мощный конечно, 2 хай спида.

    Но цена решает всё.

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

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

    Цитата Сообщение от vladsan75 Посмотреть сообщение
    Отвечаю : скачайте и установите STM32CubeMX и посмотрите, куда железно подключаются выводы периферии, PA4 - это как раз I2S3_WS и никак иначе
    Что за бред? Или "поколение Ардуино - даташитов не читает"? Раз для них придумали Куюб и глюкохал?

    Впрочем, Куб и HAL тут не виноваты, это как раз они все умеют - вот возьми в этом Кубе, после того как определишь I2S3, нажми на РА4 вместе с контролом - увидишь РА15 как альтернативу.
    А РА4 останеться как гораздо более ценный выход DAC1 или SPI1_NSS.

    Цитата Сообщение от vladsan75 Посмотреть сообщение
    вы просто можете проинициализировать PA15 как вход и соединить с ним PA4 (
    Не надо всякую хрень делать.
    Последний раз редактировалось Alex; 24.07.2016 в 08:41.
    "Замполит, чайку?"(с)"Охота за Красным Октябрем".
    "Ну что, можете меняться обратно."(с)типа анек.
    <-- http://altor1.narod.ru --> Вопросы - в личку, е-мейл, скайп.

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

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

    Цитата Сообщение от vladsan75 Посмотреть сообщение
    Отвечаю : скачайте и установите STM32CubeMX и посмотрите, куда железно подключаются выводы периферии, PA4 - это как раз I2S3_WS и никак иначе, вы просто можете проинициализировать PA15 как вход и соединить с ним PA4 ( я так на плате и делаю под микропроцессором, таким же образом вывожу на одну сторону выводы FSMC для управления TFT, они гады раскидали их по трем сторонам микроконтроллера). А насчет поддержки переключения частот, я же написал, что подготовил переключение, но пока не реализовал. Посмотрите в модуле usbd_audio_core.c со строки №832, после строк №838,844,850 и 856 надо добавить управление какой нибудь ногой ( или двумя ) для управления генераторами, со строки №588 по 592 определяем разрядность входных данных -> если byte_per_sampl = 6, то 24 бит, если byte_per_sampl = 4, то 16 бит ( можно вывести на индикатор или для управления ЦАП). Так же надо в дескрипторах добавить возможность изменять частоту и добавить нужные частоты ( посмотрите на easyelectronics статью Ассинхронное usb audio на STM32, к стати вы там уже писали, там автор указал где и что нужно добавить).В общем реализуйте сначала одну ассинхронную частоту, а потом я вам нарисую изменения в дескрипторах. На счет светодиодов - это больше для наглядности, они показывают работу обратной связи - когда говорим хосту прибавить количество передаваемых семплов, то загорается один светодиод, когда говорим убавить - другой светодиод. В работе они у меня перемигиваются где то раз в секунду.
    Спасибо, понятно.

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

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

    Цитата Сообщение от Alex Посмотреть сообщение
    нажми на РА4 вместе с контролом - увидишь РА15 как альтернативу.
    А РА4 останеться как гораздо более ценный выход DAC1 или SPI1_NSS.
    Спасибо за подсказку, теперь еще нужно поискать в SPL, как организовать такую замену.Просто если не владеешь английским легко пропустить некоторую информацию, когда переводишь кусками то, что считаешь необходимым.Жаль, что нет альтернативы у I2S_CKIN(PC9).

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

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

    Цитата Сообщение от vladsan75 Посмотреть сообщение
    теперь еще нужно поискать в SPL, как организовать такую замену.
    Ниакой "замены" делать не надо, это же не F1, просто настраиваешь ноги как тебе надо, и все:

    Код:
          GPIO_PinAFConfig(GPIOA,GPIO_PinSource15, GPIO_AF_SPI3);    // WCLK
          GPIO_PinAFConfig(GPIOC,GPIO_PinSource10, GPIO_AF_SPI3); // BCLK
          GPIO_PinAFConfig(GPIOC,GPIO_PinSource12, GPIO_AF_SPI3);    // SDATA
          GPIO_PinAFConfig(GPIOC,GPIO_PinSource9, GPIO_AF_SPI2);  // CK_IN:
    
          GPIO_StructInit(&GPIO_InitStructure);
          GPIO_InitStructure.GPIO_OType    = GPIO_OType_PP;
          GPIO_InitStructure.GPIO_PuPd      = GPIO_PuPd_NOPULL;
          GPIO_InitStructure.GPIO_Speed    = GPIO_Speed_50MHz;
          GPIO_InitStructure.GPIO_Mode     = GPIO_Mode_AF;              // AltFunc PushPull Output
          //
          GPIO_InitStructure.GPIO_Pin     = GPIO_Pin_9;              // CKIN is always AF
          GPIO_Init(GPIOC, &GPIO_InitStructure);
    
         GPIO_InitStructure.GPIO_Pin     = GPIO_Pin_15;  // WCLK
          GPIO_Init(GPIOA, &GPIO_InitStructure);
      
          GPIO_InitStructure.GPIO_Pin     = GPIO_Pin_10;  // BCLK:
          GPIO_Init(GPIOC, &GPIO_InitStructure);
                                                                     
          GPIO_InitStructure.GPIO_Pin     = GPIO_Pin_12;     // SDATA
          GPIO_Init(GPIOC, &GPIO_InitStructure);



    Цитата Сообщение от vladsan75 Посмотреть сообщение
    Жаль, что нет альтернативы у I2S_CKIN(PC9).
    Это да, иногда очень жаль, что оно "закрывает" MCO2 или SDIO_D1. Впрочем, последнее не всегда надо - часто хватит и 1-битного SDIO (для аудио например, особенно только на чтение - его более чем достаточно).
    "Замполит, чайку?"(с)"Охота за Красным Октябрем".
    "Ну что, можете меняться обратно."(с)типа анек.
    <-- http://altor1.narod.ru --> Вопросы - в личку, е-мейл, скайп.

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

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

    Цитата Сообщение от Alex Посмотреть сообщение
    Ниакой "замены" делать не надо, это же не F1, просто настраиваешь ноги как тебе надо, и все
    Еще раз спасибо, так и сделаю.Жаль что с FSMC такой возможности нет, а TFT подключить нужно, вот тогда и приходится на самодельной двухсторонней плате соединять выводы, чтобы упростить трассировку, хорошо что процессор как минимум 100-ногий и есть свободные выводы.
    Цитата Сообщение от Alex Посмотреть сообщение
    Это да, иногда очень жаль, что оно "закрывает" MCO2 или SDIO_D1. Впрочем, последнее не всегда надо - часто хватит и 1-битного SDIO (для аудио например, особенно только на чтение - его более чем достаточно).
    А для 24-96 1 битного SDIO хватит? А то меня это и останавливало от применения SD карты.

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

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

    Цитата Сообщение от vladsan75 Посмотреть сообщение
    Жаль что с FSMC такой возможности нет, а TFT подключить нужно,
    Взять сериальный (который на SPI) - тут-же кино крутить не надо.
    Цитата Сообщение от vladsan75 Посмотреть сообщение
    А для 24-96 1 битного SDIO хватит?
    Да и на 192 хватит, если только чтение.
    Тут главное - читать блоками не менее 4К и не форматировать карточку родными средствами винды (только SDFormatter-ом).
    У меня на 4G карточках скорость чтения была 34 Мбита/с при блоке 4К, а приблоке 16К - до 43мбит/с долетало.
    "Замполит, чайку?"(с)"Охота за Красным Октябрем".
    "Ну что, можете меняться обратно."(с)типа анек.
    <-- http://altor1.narod.ru --> Вопросы - в личку, е-мейл, скайп.

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

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

    Цитата Сообщение от Alex Посмотреть сообщение
    Взять сериальный (который на SPI) - тут-же кино крутить не надо.
    Так индикатор ( а точнее 3 ) с параллельным входом и уже в наличии. К тому же все 3 SPI заняты : один под I2S, второй под ТС и третий для конфигурации ЦАП.

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

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

    Цитата Сообщение от vladsan75 Посмотреть сообщение
    Так индикатор ( а точнее 3 ) с параллельным входом и уже в наличии.
    Ну так купи еще один, с SPI - их на ЕБее полно и не дорого.
    Заодно от SPI-ного помех поменьше будет.

    Цитата Сообщение от vladsan75 Посмотреть сообщение
    К тому же все 3 SPI заняты : один под I2S, второй под ТС и третий для конфигурации ЦАП.
    ТС это кто?
    С софтверными CS-ами, можно и на один SPI посадить кучу устройств. А такие редко работающие, как инициализация ЦАПа можно и программный сделать.
    "Замполит, чайку?"(с)"Охота за Красным Октябрем".
    "Ну что, можете меняться обратно."(с)типа анек.
    <-- http://altor1.narod.ru --> Вопросы - в личку, е-мейл, скайп.

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

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

    Цитата Сообщение от Alex Посмотреть сообщение
    Заодно от SPI-ного помех поменьше будет.
    ТС это кто?
    Ну на статичном изображении ( в основном ) помехи будут только от самого индикатора и не зависят от формата входных данных, а ТС это touchscreen.

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

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

    На статичном - да, но во время передачи - с пареллельной шины наводок, мама не горюй!
    Я по многим причинам (в т.ч. и пот этой), стараюсь везде SPI TFT использовать.

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

  17. #56
    Завсегдатай Аватар для Nikkov
    Регистрация
    01.11.2005
    Адрес
    Омск, Сибирь
    Возраст
    51
    Сообщений
    1,358

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

    LPC есть и в выводных корпусах. Я себе делал в 2014 году плату для разработки на LPC1837/4337 и собрал по одной на этих 2-х контроллерах:
    Нажмите на изображение для увеличения. 

Название:	seedstudio.jpg 
Просмотров:	772 
Размер:	969.7 Кб 
ID:	271401
    Что-бы не городить на плате всю периферию, сделал разъемы для плат от wavestudio для ethernet-a, простейшего ЦАП-а на I2S и последовательного порта. Правда далее проверки, что это все работает дело не пошло. Для программирования и отладки использовал китайский клон J-Link.
    Еще у LPC4337 есть режим SGPIO, который позволяет использовать его линии для синхронных скоростных интерфейсов, в частности можно с его помощью сделать многоканальный I2S, а не только стерео. Ну или DSD.
    Электроника наука слабоизученная (c)
    Неизвестный специалист антенного хозяйства по поводу периодического пропадания сигнала в коллективной антенне

  18. #57
    Частый гость Аватар для Pag232
    Регистрация
    29.09.2005
    Адрес
    Северная Столица
    Возраст
    44
    Сообщений
    128

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

    а стоит ли овчинка выделки при наличии у китайцев
    http://ru.aliexpress.com/item/Amaner...999.261.Jn1ucE
    или
    http://ru.aliexpress.com/item/latest...999.267.Jn1ucE

  19. #58
    Завсегдатай Аватар для Nikkov
    Регистрация
    01.11.2005
    Адрес
    Омск, Сибирь
    Возраст
    51
    Сообщений
    1,358

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

    Цитата Сообщение от Pag232 Посмотреть сообщение
    а стоит ли овчинка выделки при наличии у китайцев
    http://ru.aliexpress.com/item/Amaner...999.261.Jn1ucE
    или
    http://ru.aliexpress.com/item/latest...999.267.Jn1ucE
    Если цель просто получить "дешевый USB транспорт", то смысла заниматься этим нет, а если для саморазвития, то почему бы и нет.
    Электроника наука слабоизученная (c)
    Неизвестный специалист антенного хозяйства по поводу периодического пропадания сигнала в коллективной антенне

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

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

    Цитата Сообщение от Nikkov Посмотреть сообщение
    Еще у LPC4337 есть режим SGPIO, который позволяет использовать его линии для синхронных скоростных интерфейсов, в частности можно с его помощью сделать многоканальный I2S, а не только стерео. Ну или DSD.
    Это да. Подобная периферия есть в XMOS.
    Но и на F407 я прекрасно вывожу DSD.
    "Замполит, чайку?"(с)"Охота за Красным Октябрем".
    "Ну что, можете меняться обратно."(с)типа анек.
    <-- http://altor1.narod.ru --> Вопросы - в личку, е-мейл, скайп.

  21. #60
    Частый гость Аватар для Pag232
    Регистрация
    29.09.2005
    Адрес
    Северная Столица
    Возраст
    44
    Сообщений
    128

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

    STM32 хорошо документирован, да и примеров в интернете немало.
    Зато на основе китайской аманеро можно написать свой софт - железо уже есть, да и наличие ПЛИС многое позволит реализовать

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

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

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

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

Ваши права

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