Страница 34 из 34 Первая ... 24323334
Показано с 661 по 678 из 678

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

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

    По умолчанию Дешевый 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. #661
    Завсегдатай
    Автор темы
    Аватар для antonluba
    Регистрация
    12.12.2014
    Адрес
    Сочи, Коломна
    Возраст
    46
    Сообщений
    1,017

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

    Цитата Сообщение от Meta|_ Посмотреть сообщение
    Что-то ПЛИСоподобное?
    Больше похоже на суб-процессоры со своим нано-ассемблером из 9 команд.
    Может, кто-то уже и реализовал асинхронный модуль I2S на этом контроллере. Если есть интерес, поищите в сети.
    Да и вообще, можно отдельную тему сделать по этому контроллеру, имхо.

    вот даташит
    RP2040 Raspberry.pdf

  3. #662
    Завсегдатай
    Автор темы
    Аватар для antonluba
    Регистрация
    12.12.2014
    Адрес
    Сочи, Коломна
    Возраст
    46
    Сообщений
    1,017

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

    А какие вообще есть методы получения исходных данных для обраной связи?

    Я пока вижу два варианта.

    1. Таймер, тактируемый от того же источника, что I2S, с захватом и сбросом по сигналу SOF.
    В stm32f4xx есть таймер2, который имеет функцию захвата по SOF, но не имеет возможности внутреннего тактирования от I2S-CK.
    В stm32h743 в таймере2 или 5 (не запомнил) можно настроить тактирование от какого-то сигнала SAI, а захват и сброс от SOF.

    2. Настроить период отправки FB каждые 2мс или больше, а по сигналу SOF считать, сколько байт отправлено и исходя из этого рассчитывать значение синхры.

    Может есть еще варианты?
    Последний раз редактировалось antonluba; 21.12.2024 в 14:08.

  4. #663
    Завсегдатай Аватар для dortonyan
    Регистрация
    03.06.2009
    Адрес
    BLR
    Возраст
    38
    Сообщений
    3,651

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

    Я для обратной связи формировал три константных значения:
    1. Точное значение семплрейта
    2. на 400ppm больше требуемого семплрейта
    3. на 400ppm меньше требуемого семплрейта

    А в прерывании после каждого N-го приема пакета данных анализировал положение данных в FIFO:
    Если данных меньше минимального лимита (фифо опорожняется слишком быстро), то отправляю в ОС значение 2.
    Если больше максимального лимита - отправляю значение 3.
    Если в пределах лимитов, то - значение 1.

  5. #664
    Завсегдатай
    Автор темы
    Аватар для antonluba
    Регистрация
    12.12.2014
    Адрес
    Сочи, Коломна
    Возраст
    46
    Сообщений
    1,017

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

    Так вообще не нужно ничего рассчитывать, просто следить за буфером и подкидывать заведомо большее или меньшее значение.
    Мне кажется, в одном из проектов romanetz так сделано было

  6. #665
    Завсегдатай Аватар для dortonyan
    Регистрация
    03.06.2009
    Адрес
    BLR
    Возраст
    38
    Сообщений
    3,651

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

    Цитата Сообщение от antonluba Посмотреть сообщение
    Так вообще не нужно ничего рассчитывать, просто следить за буфером и подкидывать заведомо большее или меньшее значение.
    Именно это в моем посте выше и описано.

  7. #666
    Завсегдатай Аватар для ditter
    Регистрация
    04.07.2004
    Адрес
    RUS
    Возраст
    51
    Сообщений
    1,080

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

    камрады, теме уже 9 лет ,
    на текущий момент есть решение на том же stm32f411 ???
    который на али стоит 400р с доставкой
    или придецца отдавать чипдипу 2800 за usb --> i2s переходник ?

  8. #667
    Старый знакомый Аватар для Злой
    Регистрация
    30.10.2009
    Сообщений
    514

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

    Цитата Сообщение от ditter Посмотреть сообщение
    или придецца отдавать чипдипу 2800 за usb --> i2s переходник ?
    Он еще вроде умеет по SPI рулить 9038

  9. #668
    Завсегдатай
    Автор темы
    Аватар для antonluba
    Регистрация
    12.12.2014
    Адрес
    Сочи, Коломна
    Возраст
    46
    Сообщений
    1,017

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

    Интересно же. Саморазвитие.
    Можно сделать что-то новое, чего еще не было

  10. #669
    Завсегдатай
    Автор темы
    Аватар для antonluba
    Регистрация
    12.12.2014
    Адрес
    Сочи, Коломна
    Возраст
    46
    Сообщений
    1,017

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

    Цитата Сообщение от ditter Посмотреть сообщение
    камрады, теме уже 9 лет ,
    на текущий момент есть решение на том же stm32f411 ???
    который на али стоит 400р с доставкой
    или придецца отдавать чипдипу 2800 за usb --> i2s переходник ?
    Я сначала не увидел, что это был вопрос.
    Поиском можно найти много чего.
    STM32F411_USB_AUDIO_DAC-main.zip

  11. #670
    Завсегдатай Аватар для ditter
    Регистрация
    04.07.2004
    Адрес
    RUS
    Возраст
    51
    Сообщений
    1,080

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


    Offтопик:
    отмотал страниц 10 топика но чой то ничего не нашел


    плата как на картинках в архиве еще доступна
    https://sl.aliexpress.ru/p?key=VKzVG0T
    З.Ы, единственно - я правильно понял что реклок делается на стороне источника, не силами 411 процика ?

  12. #671
    Зарегистрировался Аватар для alexarov
    Регистрация
    07.01.2025
    Возраст
    37
    Сообщений
    1

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

    Заказал отсюда вот такую плату на STM32F401 с генераторами, а с ней на китайской прошивке под Win7/64 плееры почему-то зависают. Под андроидом такого не заметил, но и не тестировал долго.

    Нажмите на изображение для увеличения. 

Название:	H8eafc85308f546f6ba3f5fca43ca94c8W.jpg_640x640q90.jpg 
Просмотров:	14 
Размер:	45.3 Кб 
ID:	466040Нажмите на изображение для увеличения. 

Название:	S7fd1919d5ba24cd6a7f448a4068833d6M.jpg 
Просмотров:	17 
Размер:	77.9 Кб 
ID:	466041Нажмите на изображение для увеличения. 

Название:	SCH.GIF 
Просмотров:	27 
Размер:	79.6 Кб 
ID:	466042

    Адаптировал под неё USB_audio_sin_3 - настройки тактирования и порт I2S2:
    32F401RBT6_DAC.zip

    Пробую запустить на ней АЦП USB_ADC_stm32f407 - девайс не хочет определяться в USB, хотя настройки клока делал такие же

  13. #672
    Завсегдатай
    Автор темы
    Аватар для antonluba
    Регистрация
    12.12.2014
    Адрес
    Сочи, Коломна
    Возраст
    46
    Сообщений
    1,017

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

    Да, много всяких нюансов.
    Я пробую с мелким f446 запустить sai
    От hal-a уже тошнит. Но ни с ним, ни без него, ни одного импульса на ножках sai пока не увидел.

    Не понимаю, что ему надо

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

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

    Цитата Сообщение от antonluba Посмотреть сообщение
    От hal-a уже тошнит.
    HAL удобная штука, для распределения периферии, ножек и настройки клоков и т.п.
    Главное не использоветь его для всего остального.

    SAI досаточно простая штука, чему там не работать? Многие вещи в нем сделаны проще и главное правильнее, лучше работают чем в "обычном" СТшном I2S.
    Разве что с ПДП не очень просто, но с ним у СТ всегда не просто.
    Последний раз редактировалось Alex; 09.01.2025 в 16:55.
    "Замполит, чайку?"(с)"Охота за Красным Октябрем".
    "Да мне-то что, меняйтесь!"(с)анек.
    <-- http://altor1.narod.ru --> Вопросы - в личку, е-мейл, скайп.

  15. #674
    Завсегдатай
    Автор темы
    Аватар для antonluba
    Регистрация
    12.12.2014
    Адрес
    Сочи, Коломна
    Возраст
    46
    Сообщений
    1,017

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

    Через генератор кода (после того, как вручную установил делитель MCLK) сигнал пошел, во всяком случае LRCK, BCK и MCK верные, с данными есть вопросы.
    Вручную ничего не получилось пока.

    Буду разбираться.

    Как по мне, документация написана отвратительно.
    Последний раз редактировалось antonluba; 09.01.2025 в 15:48.

  16. #675
    Завсегдатай Аватар для dortonyan
    Регистрация
    03.06.2009
    Адрес
    BLR
    Возраст
    38
    Сообщений
    3,651

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

    Цитата Сообщение от antonluba Посмотреть сообщение
    Как по мне, документация написана отвратительно.
    Это вы про мануал на 446? Нормально там все описано (мануал RM0390).
    SPI/I2S - это вообще стандартная элементарная вещь, которую проще написать с нуля по мануалу, чем разбираться с халом.

  17. #676
    Завсегдатай
    Автор темы
    Аватар для antonluba
    Регистрация
    12.12.2014
    Адрес
    Сочи, Коломна
    Возраст
    46
    Сообщений
    1,017

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

    Цитата Сообщение от dortonyan Посмотреть сообщение
    Это вы про мануал на 446? Нормально там все описано (мануал RM0390).
    SPI/I2S - это вообще стандартная элементарная вещь, которую проще написать с нуля по мануалу, чем разбираться с халом.
    Написал с нуля по мануалу, только модуль SAI, а не I2S. Не работает. Где-то ошибка, это очевидно. Только где - я не нашел.

    Сгенерировал из приложения. Не работает.
    Сейчас поменял режим делителя MCLK в cubemx. Заработало MCLK и BCK. LRCK нету. Он появился только при загрузке данных в регистр данных.
    С данными вопросы еще остались.

    Буду разбираться. Постепенно

  18. #677
    Не хочу! Аватар для Alex
    Регистрация
    20.03.2003
    Адрес
    Worldwide
    Возраст
    62
    Сообщений
    38,026

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

    Цитата Сообщение от dortonyan Посмотреть сообщение
    SPI/I2S - это вообще стандартная элементарная вещь, которую проще написать с нуля по мануалу, чем разбираться с халом.
    У него SAI, это лучше, и больше возможностей. И если в нем разобраться, то с ним даже проще работать чем с I2S.
    И да,разбиратсья лучше по референс-мануалу и регистрам.


    Цитата Сообщение от antonluba Посмотреть сообщение
    Сейчас поменял режим делителя MCLK в cubemx. Заработало MCLK и BCK. LRCK нету. Он появился только при загрузке данных в регистр данных.
    А ему надо постоянно пихать данные, иначе кина не будэ.
    Так что, или по прерываниям, или по ПДП.
    "Замполит, чайку?"(с)"Охота за Красным Октябрем".
    "Да мне-то что, меняйтесь!"(с)анек.
    <-- http://altor1.narod.ru --> Вопросы - в личку, е-мейл, скайп.

  19. #678
    Завсегдатай
    Автор темы
    Аватар для antonluba
    Регистрация
    12.12.2014
    Адрес
    Сочи, Коломна
    Возраст
    46
    Сообщений
    1,017

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

    Специально сделал проект чисто на регистрах. За исключением usb, но оно тоже пока в этом режиме не запускается.

    Просто свободного времени не много

    ---------- Сообщение добавлено 10.01.2025 в 18:06 ---------- Предыдущее сообщение было 09.01.2025 в 18:20 ----------

    А чем задается режим работы, в котором устройство окажется после установки драйвера?
    У меня получается 16бит 48кГц.
    Как это изменить?
    Нажмите на изображение для увеличения. 

Название:	Буфер обмена-1.gif 
Просмотров:	22 
Размер:	27.1 Кб 
ID:	466175

    ---------- Сообщение добавлено 18:26 ---------- Предыдущее сообщение было 17:06 ----------

    И еще. Почему-то отображает составное устройство.
    К которому подключено аудио-устройство.
    Как я понял, это потому, что в дескрипторе описано два интерфейса.
    Но сделать, чтобы работал только один интерфейс, у меня не получилось. Как избавиться от составного устройства?

Страница 34 из 34 Первая ... 24323334

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

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

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

Ваши права

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