Страница 52 из 60 Первая ... 425051525354 ... Последняя
Показано с 1,021 по 1,040 из 1187

Тема: Цифровой транспорт с открытым кодом на NanoPI-Neo*

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

    По умолчанию Цифровой транспорт с открытым кодом на NanoPI-Neo*

    В этой ветке планирую собирать информацию про создание аудиоплеера на базе серии NanoPi-Neo от FriendlyArm.
    Готовые образы можно найти по адресу: https://drive.google.com/drive/folde...zA?usp=sharing

    На данный момент реализованы:
    1. Драйвер I2S в ядре 4.11 с поддержкой вывода 16-24 бит, 44.1-192 кГц, в мастере и в слэйве. Исходные тексты ядра.
    2. Собран экспериментальный образ системы с Volumio2 для платы NanoPi NEO2 с 64-битным armv8 ядром и 32-битным userspace для armv7. В этом образе, по умолчанию, I2S сконфигурирован в мастере, для конфигурации в слэйве необходимо переименовать файлы sun50i-h5-nanopi-neo2.dtb в sun50i-h5-nanopi-neo2-master.dtb, а sun50i-h5-nanopi-neo2-slave.dtb в sun50i-h5-nanopi-neo2.dtb соответственно. Образ также проверил с USB DAC-ом - работает и 44х16, и 192х24.
    3. Собран образ системы с Volumio2 для плат NanoPi NEO и NanoPi NEO-AIR архитектуры armv7. В этом образе, по умолчанию, I2S сконфигурирован в мастере, для конфигурации в слэйве необходимо переименовать файлы sun8i-h3-nanopi-neo.dtb в sun8i-h3-nanopi-neo-master.dtb, а sun8i-h3-nanopi-neo(-air)-slave.dtb в sun8i-h3-nanopi-neo(-air).dtb соответственно.
    4. Разработана плата формирователя/изолятора для семейства NanoPi-Neo, платы которого совместимы по выводам друг с другом. На плате есть возможность установить собственные генераторы или завести их через гальваническую развязку из ЦАП-а. Возможна работа платы и когда SOC I2S в мастере, тогда она просто обеспечивает гальваническую развязку. За основу платы взята схема и проект для ПЛИС аналогичной платы для cubietruck-а от Анатолия (Wired), за публикацию которых ему огромное спасибо.

    Фото платы NanoPi-Neo2 с установленной платой формирователя:
    Нажмите на изображение для увеличения. 

Название:	clock.jpg 
Просмотров:	3236 
Размер:	488.2 Кб 
ID:	303657
    Схема платы формирователя:
    neoclock - Project.pdf
    Проект ПЛИС:
    CPLD.ZIP
    Проект схема + печатная плата в DesignSpark + архив с герберами
    pcb_arch.zip

    Так как периодически в личке спрашивают про платы, то напишу здесь: платами я не торгую, вся необходимая информация по их самостоятельному изготовлению выложена здесь.
    Последний раз редактировалось Nikkov; 21.07.2018 в 17:18.
    Электроника наука слабоизученная (c)
    Неизвестный специалист антенного хозяйства по поводу периодического пропадания сигнала в коллективной антенне

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

    По умолчанию Re: Цифровой транспорт с открытым кодом на NanoPI-Neo*

    Цитата Сообщение от ass77 Посмотреть сообщение
    Где-то встречал, что dsd по i2s не может выводить. Не пробовали? Хотя бы в режиме мастера.
    Не, чего нет, того нет, там I2S/PCM. Чисто технически, с правкой драйвера, можно было бы вывести DSD в режиме 4-х канального I2S, но на нео3 выведен только один SDO.
    Электроника наука слабоизученная (c)
    Неизвестный специалист антенного хозяйства по поводу периодического пропадания сигнала в коллективной антенне

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

    По умолчанию Re: Цифровой транспорт с открытым кодом на NanoPI-Neo*

    Цитата Сообщение от Nikkov Посмотреть сообщение
    но на нео3 выведен только один SDO.
    Т.е. многоканал тоже в пролете?

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

  4. #1023
    Частый гость Аватар для Chaa
    Регистрация
    23.08.2006
    Адрес
    Курган
    Сообщений
    317

    По умолчанию Re: Цифровой транспорт с открытым кодом на NanoPI-Neo*

    Цитата Сообщение от Alex Посмотреть сообщение
    Т.е. многоканал тоже в пролете?
    Только TDM.

    При подключении по USB появляется еще один процессор со своим ПО, который потребляет больше, чем одноплатник (NanoPi Neo Air потребляет около 200 мА от 5 В при воспроизведении музыки), то есть по сути лишняя деталь.

    Конечно если транспорт отдельно, а ЦАП - отдельно, то соединять проще по USB.

  5. #1024
    Старый знакомый Аватар для ass77
    Регистрация
    08.01.2015
    Сообщений
    867

    По умолчанию Re: Цифровой транспорт с открытым кодом на NanoPI-Neo*

    Цитата Сообщение от Chaa Посмотреть сообщение
    При подключении по USB появляется еще один процессор со своим ПО, который потребляет больше, чем одноплатник (NanoPi Neo Air потребляет около 200 мА от 5 В при воспроизведении музыки), то есть по сути лишняя деталь.
    нео3 в простое потребляет 0,4А и греется как керогаз. Размещать его внутри ЦАПа ради минус «одного процессора», такая себе экономия.

    ---------- Сообщение добавлено 11:26 ---------- Предыдущее сообщение было 11:21 ----------

    Цитата Сообщение от Alex Посмотреть сообщение
    будет проще заниматься любимым удифилитическим занятием - перетыком..
    Этого не отнять. По ссылке на предыдущей странице народ всерьез оценивает разницу между биглем и нео при подключении по usb и i2s.

  6. #1025
    Новичок Аватар для kvnik
    Регистрация
    23.11.2005
    Адрес
    Донецк
    Сообщений
    56

    По умолчанию Re: Цифровой транспорт с открытым кодом на NanoPI-Neo*

    Цитата Сообщение от Alex Посмотреть сообщение
    Т.е. многоканал тоже в пролете?
    RockPiS на RK3308, выведено 4 SDO

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

    По умолчанию Re: Цифровой транспорт с открытым кодом на NanoPI-Neo*

    Цитата Сообщение от Chaa Посмотреть сообщение
    При подключении по USB появляется еще один процессор

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

  8. #1027

    По умолчанию Re: Цифровой транспорт с открытым кодом на NanoPI-Neo*

    Цитата Сообщение от Dreew Посмотреть сообщение
    Кто потестировал, оставьте отзывы.
    Я уже писал, но могу повторить
    Все работает нормально.

  9. #1028
    Завсегдатай Аватар для Meta|_
    Регистрация
    08.03.2005
    Адрес
    Северная Голландия
    Возраст
    40
    Сообщений
    1,994

    По умолчанию Re: Цифровой транспорт с открытым кодом на NanoPI-Neo*


    Offтопик:
    Цитата Сообщение от Chaa Посмотреть сообщение
    При подключении по USB появляется еще один процессор со своим ПО, который потребляет больше
    Я бы ещё понял этот аргумент в серийном изделии с хотя бы четырёхзначными тиражами. Ну или в портативе (если чем-то не устраивает мобильник + опять же USB).
    Подозреваю, что при одном процессоре и с помехами бороться в итоге сложнее...
    ∇·D = ρ
    ∇·B = 0
    ∇xE = – ∂B/∂t
    ∇xH = j + ∂D/∂t
    © J. C. Maxwell, O. Heaviside

  10. #1029
    Частый гость Аватар для Chaa
    Регистрация
    23.08.2006
    Адрес
    Курган
    Сообщений
    317

    По умолчанию Re: Цифровой транспорт с открытым кодом на NanoPI-Neo*

    По поводу USB. Нужно ответить для себя на два вопроса:

    1. Нужен DSD?
    2. Сложно собрать ядро линукса или модуль ядра?

    Если ответили "нет", то и USB вам не нужен. Современный ЦАП, вроде AK4493, подключается к одноплатнику просто тремя проводами (BCLK, LRCLK, SDATA). Еще пару (I2C) можно кинуть, если нужна регулировка громкости в ЦАПе. Железная часть максимально простая, сложности будут только с драйверами.

  11. #1030
    Завсегдатай Аватар для Михаил45
    Регистрация
    09.03.2007
    Адрес
    Санкт-Петербург
    Возраст
    62
    Сообщений
    2,124

    По умолчанию Re: Цифровой транспорт с открытым кодом на NanoPI-Neo*

    Цитата Сообщение от Chaa Посмотреть сообщение
    Современный ЦАП, вроде AK4493, подключается к одноплатнику просто тремя проводами (BCLK, LRCLK, SDATA). Еще пару (I2C) можно кинуть, если нужна регулировка громкости в ЦАПе. Железная часть максимально простая, сложности будут только с драйверами.
    AK4493 без мастерклока не работает, юсб совершенно не причем тут. Сбора ядра и пр.- занятие для школьников, ничего заумного.

  12. #1031
    Частый гость Аватар для Chaa
    Регистрация
    23.08.2006
    Адрес
    Курган
    Сообщений
    317

    По умолчанию Re: Цифровой транспорт с открытым кодом на NanoPI-Neo*

    Цитата Сообщение от Михаил45 Посмотреть сообщение
    AK4493 без мастерклока не работает, юсб совершенно не причем тут. Сбора ядра и пр.- занятие для школьников, ничего заумного.
    Мастерклок конечно же есть, генератор находится непосредственно у микросхемы ЦАП.
    Вот здесь писал, как сделать: https://forum.vegalab.ru/showthread.php?t=89800

  13. #1032
    Завсегдатай Аватар для Meta|_
    Регистрация
    08.03.2005
    Адрес
    Северная Голландия
    Возраст
    40
    Сообщений
    1,994

    По умолчанию Re: Цифровой транспорт с открытым кодом на NanoPI-Neo*


    Offтопик:
    Цитата Сообщение от Chaa Посмотреть сообщение
    Нужен DSD?
    А если захочу через полгода - всё переделывать?
    Цитата Сообщение от Chaa Посмотреть сообщение
    Сложно собрать ядро линукса или модуль ядра?
    А если через полгода захочу сменить одноплатник (не важно ради чего - ядра, ОЗУ, вайфай) - снова искать по форумам рецепты? Или выбирать строго такой одноплатник, где это проще сделать?
    Ну нафиг. Я лучше сразу сделаю систему гибкой.

    Цитата Сообщение от Михаил45 Посмотреть сообщение
    Сбора ядра и пр.- занятие для школьников, ничего заумного.
    Если нужно не только включить-выключить опции сборки, а ещё и править что-то в исходниках, то опыт с одной версией ядра не всегда экстраполируется на другую. А для одноплатников, особенно на китайских процах, зачастую есть всего одна две версии работающих ядер.
    ∇·D = ρ
    ∇·B = 0
    ∇xE = – ∂B/∂t
    ∇xH = j + ∂D/∂t
    © J. C. Maxwell, O. Heaviside

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

    По умолчанию Re: Цифровой транспорт с открытым кодом на NanoPI-Neo*

    Цитата Сообщение от Meta|_ Посмотреть сообщение
    Подозреваю, что при одном процессоре и с помехами бороться в итоге сложнее...
    Особенно, когда к одноплатнику подключают простую "шляпу" без гальванической развязки.


    Цитата Сообщение от Chaa Посмотреть сообщение
    Если ответили "нет", то и USB вам не нужен. Современный ЦАП, вроде AK4493, подключается к одноплатнику просто тремя проводами (BCLK, LRCLK, SDATA).
    Не, так можно ES90xx подключить, но не АК449х - этим еще MCLK понадобится, а у ES90xх есть внутренний ASRC.
    Вариант порт одноплатника в слейв и ставить внешний генератор всех клоков обсуждался много раз. Легко Но лучше ли оно подключения по USB, учитывая остальные преимущества последнего?


    Цитата Сообщение от Meta|_ Посмотреть сообщение
    Нужен DSD?
    А если захочу через полгода - всё переделывать?
    А потом еще многополоску или многоканал захочется...
    "Замполит, чайку?"(с)"Охота за Красным Октябрем".
    "Ну что, можете меняться обратно."(с)типа анек.
    <-- http://altor1.narod.ru --> Вопросы - в личку, е-мейл, скайп.

  15. #1034
    Новичок Аватар для DmitriyCh
    Регистрация
    08.02.2022
    Адрес
    Казань
    Возраст
    47
    Сообщений
    35

    По умолчанию Re: Цифровой транспорт с открытым кодом на NanoPI-Neo*

    Цитата Сообщение от Михаил45 Посмотреть сообщение
    Николай, из одноплатников, можно сказать, и нет ничего, чтоб работало от внешнего мслк, кроме бигля, но он совсем слабенький, не подходит. Так что твои старания буду оправданы бдагодарностью многих людей.
    STM32MP1
    Но это не точно )))

  16. #1035
    Частый гость Аватар для Chaa
    Регистрация
    23.08.2006
    Адрес
    Курган
    Сообщений
    317

    По умолчанию Re: Цифровой транспорт с открытым кодом на NanoPI-Neo*

    Цитата Сообщение от Alex Посмотреть сообщение
    Вариант порт одноплатника в слейв и ставить внешний генератор всех клоков обсуждался много раз.
    Чувствую, что есть некоторое недопонимание. Я выше приводил ссылку, где подробнее описано, но так как никто не читает, напишу кратко еще раз.

    Современные дельтасигмы умеют TDM, поэтому загружать входной регистр могут с любого места входных данных, как следствие нормально относятся к большой длине входных данных, например в 256 бит. Поэтому битклок делаем максимально возможным для SoC, если SoC может 352/32, то битклок в 24 МГц, то есть просто соединяем мастерклок и битклок вместе. А частоту дискретизации задаем с помощью вордклока (LRCLK), причем генерирует его SoC. Например, для частоты дискретизации в 44,1 кГц задаем BCLK ratio в 512, и у нас получается что SoC передает данные в двух словах по 256 бит.
    Результат: железо получается максимально простое, вход мастерклока у SoC не нужен, все решается программно.

    Схема подключения:
    Нажмите на изображение для увеличения. 

Название:	simple_i2s.png 
Просмотров:	57 
Размер:	24.4 Кб 
ID:	439376

  17. #1036
    Новичок Аватар для kvnik
    Регистрация
    23.11.2005
    Адрес
    Донецк
    Сообщений
    56

    По умолчанию Re: Цифровой транспорт с открытым кодом на NanoPI-Neo*

    Цитата Сообщение от Nikkov Посмотреть сообщение
    без правки исходников линукса, у меня пока не получается
    rk3308 работает с внешним mclk с mainline kernel, конфигурация через dt.
    Дай ссылку на исходники ядра, может по аналогии можно сделать, гляну. (если есть интерес еще)

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

    По умолчанию Re: Цифровой транспорт с открытым кодом на NanoPI-Neo*

    Цитата Сообщение от Chaa Посмотреть сообщение
    Чувствую, что есть некоторое недопонимание.
    Да не, я в курсе как с TDM, но без него надо генерировать все сигналы.

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

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

    По умолчанию Re: Цифровой транспорт с открытым кодом на NanoPI-Neo*

    Цитата Сообщение от kvnik Посмотреть сообщение
    rk3308 работает с внешним mclk с mainline kernel, конфигурация через dt.
    Дай ссылку на исходники ядра, может по аналогии можно сделать, гляну. (если есть интерес еще)
    Интерес еще есть, я собираю с помощью Armbian, там ядро 6.1 с набором патчей + мой оверлей. Главная проблема в том, что клоки и их иерархия определены в коде и переопределить иерархию в дереве устройств, скорее всего, не получится, а без этого всегда ядром выбирается один из первых двух клоков и до выбора внешнего клока уже не доходит. Если лезть в исходники, то сделать можно, но это не красиво.
    Электроника наука слабоизученная (c)
    Неизвестный специалист антенного хозяйства по поводу периодического пропадания сигнала в коллективной антенне

  20. #1039
    Новичок Аватар для kvnik
    Регистрация
    23.11.2005
    Адрес
    Донецк
    Сообщений
    56

    По умолчанию Re: Цифровой транспорт с открытым кодом на NanoPI-Neo*

    Да, красиво не получается. У меня как в аттаче. Если в патчах Armbian не назначили отмеченное ???, то можно сделать самому, но все-равно тогда ядро править.
    3328.dtso.txt
    rk3328-cru.c.txt

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

    По умолчанию Re: Цифровой транспорт с открытым кодом на NanoPI-Neo*

    Цитата Сообщение от kvnik Посмотреть сообщение
    Да, красиво не получается. У меня как в аттаче. Если в патчах Armbian не назначили отмеченное ???, то можно сделать самому, но все-равно тогда ядро править.
    3328.dtso.txt
    rk3328-cru.c.txt
    Нет, в патчах для Armbian идентификаторы тоже не добавлены.
    Я хотел сделать, как в аттаче, но так как есть еще необходимость менять делитель mclk для i2s, который задается параметром simple-audio-card,mclk-fs = <256>, то пока логику выбора клока реализовал в драйвере кодека, с целью там же задавать делитель. Но с делителем пока еще не доделал, да и не знаю, смогу ли я его менять не трогая драйвер simple-audio-card. Если с делителем не выйдет по моему, то буду патчить и драйвер cru, и simple-audio-card.
    Электроника наука слабоизученная (c)
    Неизвестный специалист антенного хозяйства по поводу периодического пропадания сигнала в коллективной антенне

Страница 52 из 60 Первая ... 425051525354 ... Последняя

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

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

Ваши права

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