Страница 2 из 60 Первая 123412 ... Последняя
Показано с 21 по 40 из 1188

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

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

    По умолчанию Цифровой транспорт с открытым кодом на 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 
Просмотров:	3936 
Размер:	488.2 Кб 
ID:	303657
    Схема платы формирователя:
    neoclock - Project.pdf
    Проект ПЛИС:
    CPLD.ZIP
    Проект схема + печатная плата в DesignSpark + архив с герберами
    pcb_arch.zip

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

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

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

    Цитата Сообщение от ua3nbw Посмотреть сообщение
    Пробовали собирать ядро с патчем Real Time Kernel ? , ещё можно запускать mpd на выделенном ядре (taskset), система должна гарантировать время реакции ,чтобы уменьшить задержки.
    Во-первых, RT-ядра отстают от основной ветки, а так как поддержка нужных девайсов только-только появилась в последних версиях, то понятно, что в она RT отсутствует. Накатывать патчи на текущую версию и разрешать коллизии как-то не хочется.
    Во-вторых, как уже отметили - зачем? Минусы в виде трудоемкости сборки и дальнейшей поддержки налицо, а плюсы очень не явные. Да, возможно, при повышенной загрузке процессора это что-то может дать, хотя я сильно сомневаюсь, так как толку от того, что mpd работает в повышенном приоритете (или как оно там называется в RT-linux для RT-процессов), если ему по сети не успеют прийти данные, не будет. Низкая задержка нужна тогда, когда мы хотим увеличить скорость реакции на что-то, в аудио чаще всего latency упоминается в софте для музыкантов, когда важна задержка между нажатием на клавишу и изменением ноты. В случае воспроизведения важно, чтобы процессы успевали делать то, что нужно в определенное время и все, т.е. по сути успевать заполнять буфер DMA, который интерфейсом I2S с заданной частотой выпихивается наружу.
    Электроника наука слабоизученная (c)
    Неизвестный специалист антенного хозяйства по поводу периодического пропадания сигнала в коллективной антенне

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

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

    Цитата Сообщение от ua3nbw Посмотреть сообщение
    между процессами
    например отключаем wi-fi – минимизируем latency
    Между чем и чем?

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

  4. #23
    Старый знакомый Аватар для Sanny
    Регистрация
    01.07.2010
    Сообщений
    564

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

    Цитата Сообщение от ua3nbw Посмотреть сообщение
    между процессами
    например отключаем wi-fi – минимизируем latency

    Latency (латентность) это время которое требуется компьютеру для того, чтобы остановить то что он делает и ответить на внешний запрос (событие).


    https://github.com/jlelli/rt-tests
    Ну, как раз WiFi нам очень даже не помешает
    А на NanoPi-Neo Air запуститься?

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

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

    Цитата Сообщение от Nikkov Посмотреть сообщение
    Во-вторых, как уже отметили - зачем?
    просто кто то вумный написял что то типа такого
    https://habrahabr.ru/company/xakep/blog/203598/
    ну и начал смущать неокрепшие умы реалтаймом.

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

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

    Цитата Сообщение от Sanny Посмотреть сообщение
    А на NanoPi-Neo Air запуститься?
    Тот образ, что выше, будет работать только на Neo2 и, скорее всего, на Neo+2. У Neo и Neo Air другой процессор.
    Электроника наука слабоизученная (c)
    Неизвестный специалист антенного хозяйства по поводу периодического пропадания сигнала в коллективной антенне

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

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

    Цитата Сообщение от Nikkov Посмотреть сообщение
    плата формирователя/изолятора для семейства NanoPi-Neo
    у вас там целая куча GPIO с основного разьема нео2 заводится в плис, зачем они там ? плис кроме как выдачи I2S потока и переключения генераторов ничего особо не делает ?

  8. #27
    Старый знакомый Аватар для Sanny
    Регистрация
    01.07.2010
    Сообщений
    564

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

    Цитата Сообщение от Nikkov Посмотреть сообщение
    Тот образ, что выше, будет работать только на Neo2 и, скорее всего, на Neo+2. У Neo и Neo Air другой процессор.
    Вроде CPU: Allwinner H3, Quad-core Cortex-A7 Up to 1.2GHz, у Вас тоже Н3

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

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


    http://www.friendlyarm.com/image/cac...03-900x630.jpg

    видите на сетевом разьеме наклейку с надписью, смотрите картинку обратной стороны этой платы, там Н5
    у Н3 нет блока выводов отвечающих за I2S input, что является плюсиком для источника самопального цап и это конечно не так классно/кошерно как в ВВВ,
    но в остальном никто не запрещает использовать на процах Н3 волумио.

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

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

    Цитата Сообщение от ditter Посмотреть сообщение
    у вас там целая куча GPIO с основного разьема нео2 заводится в плис, зачем они там ? плис кроме как выдачи I2S потока и переключения генераторов ничего особо не делает ?
    Во-первых, много не мало, не нужные можно не использовать, во-вторых, появляется место для маневра с перераспределением ног, отвечающих за переключение сеток и делителей, в-третьих, можно добавить некие функции, типа сброса ЦАП-а, или mute.
    Электроника наука слабоизученная (c)
    Неизвестный специалист антенного хозяйства по поводу периодического пропадания сигнала в коллективной антенне

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

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

    Цитата Сообщение от Nikkov Посмотреть сообщение
    можно добавить некие функции, типа сброса ЦАП-а, или mute.
    а можно изначально сделать проще:
    пользуясь тем, что волумио всего лишь "обертка" над MPD сделать под него МРС (клиент) на отдельно взятом камне. который можно разукрасить кнопками, крутилочками и экранчиками с любым количеством функций, лишь бы это все вписывалось в http://pythonhosted.org/python-mpd2/.../commands.html
    как вам идея ?

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

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

    Отличная идея! Делайте
    А если серьезно, то когда оценишь объем работ по разработке удобного и наглядного интерфейса, то окажется, что проще приделать экран к Volumio и пользоваться тем, что уже кто-то сделал и сделал довольно неплохо.
    Электроника наука слабоизученная (c)
    Неизвестный специалист антенного хозяйства по поводу периодического пропадания сигнала в коллективной антенне

  13. #32
    Частый гость Аватар для Ё!Ё!
    Регистрация
    07.10.2004
    Сообщений
    196

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


    Offтопик:

    Вопрос почти по теме:
    Стоит ли заморачиваться с подобным девайсом для OrangePI Zero?
    Оный построен на H3. Выводов i2s на плате нет, придется подпаиваться к выводам процессора на плате (есть работающие примеры в режиме, когда H3 master).

    Вопрос: может ли H3 работать в ведомом режиме? В документации на H3 есть упоминание о поддержке slave режима (раздел 8.6.1), но при этом PCMx_CLK указан только как "O" (раздел 8.6.2.1). PCMx_SYNC указан "I/O"

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

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

    Цитата Сообщение от Nikkov Посмотреть сообщение
    проще приделать экран к Volumio
    т.е. вас не смущает отсутствие HDMI на платках нео2 с Н5 камнем, и вы уже морально готовы изыскивать GPIO под SPI экран 320*240,
    делать его системным и потом при особом везении запустить таки тачскрин для этого экрана аж в целых 2,4дюйма диагонали,да целить пальцем в нарисованное ?
    уж проще смартфоном через удаленку зайти.

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

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

    Цитата Сообщение от ditter Посмотреть сообщение
    т.е. вас не смущает отсутствие HDMI на платках нео2 с Н5 камнем, и вы уже морально готовы изыскивать GPIO под SPI экран 320*240,
    делать его системным и потом при особом везении запустить таки тачскрин для этого экрана аж в целых 2,4дюйма диагонали,да целить пальцем в нарисованное ?
    уж проще смартфоном через удаленку зайти.
    1. Отсутствие HDMI меня не смущает, потому как он мне не нужен.
    2. SPI есть на гребенке, и вроде как поддерживается в качестве основного экрана.
    3. Есть проект на питоне с поддержкой такого экрана с тачскрином, который имеет основные кнопки управления mpd, показ текущего трэка и обложки
    4. Управление через смартфон/планшет/смартТВ для меня гораздо удобнее, чем то, что реально можно сделать на самом нео или на другом камне рядом. Т.е. я согласен с
    Цитата Сообщение от ditter Посмотреть сообщение
    уж проще смартфоном через удаленку зайти.
    Я просто не пойму, что даст именно отдельно взятый камень в плане удобства управления?

    ---------- Сообщение добавлено 17:00 ---------- Предыдущее сообщение было 16:57 ----------

    Цитата Сообщение от Ё!Ё! Посмотреть сообщение
    Offтопик:

    Вопрос почти по теме:
    Стоит ли заморачиваться с подобным девайсом для OrangePI Zero?
    Оный построен на H3. Выводов i2s на плате нет, придется подпаиваться к выводам процессора на плате (есть работающие примеры в режиме, когда H3 master).

    Вопрос: может ли H3 работать в ведомом режиме? В документации на H3 есть упоминание о поддержке slave режима (раздел 8.6.1), но при этом PCMx_CLK указан только как "O" (раздел 8.6.2.1). PCMx_SYNC указан "I/O"
    Возможность заставить H3 работать в слэйве есть, но а дальше все самому, так как плата другая, производитель другой. Стоит или нет, вопрос не очень понятный.
    Электроника наука слабоизученная (c)
    Неизвестный специалист антенного хозяйства по поводу периодического пропадания сигнала в коллективной антенне

  16. #35
    Частый гость Аватар для Ё!Ё!
    Регистрация
    07.10.2004
    Сообщений
    196

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

    Цитата Сообщение от Nikkov Посмотреть сообщение
    Возможность заставить H3 работать в слэйве есть, но а дальше все самому, так как плата другая, производитель другой. Стоит или нет, вопрос не очень понятный.
    Правильно я понимаю:
    а) на вход H3 подаем BCK (PCMx_CLK, вот он то и указан в доке как "O") и LRCK (PCMx_SYNK, он в доке "I/O"), с выхода получаем SDATA (PCMx_DOUT)
    б) перевод в слейв-режим делаем в конфиге ядра, указав
    [pcm0]
    ...
    daudio_master = 1 (по умолчанию стоит 4, и это вроде как H3 в мастер-режиме)
    ...

    в) BCK и LRCK получаем делением частоты мастерклока (он есть на плате ЦАП)
    ?
    Последний раз редактировалось Ё!Ё!; 27.10.2017 в 15:15.

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

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

    С т.з. железа все так. Несмотря на то, что PCM0_CLK/I2S0_BCK в даташите указан как О, чуть ниже на диаграмме он двунаправленный и в таблице регистров указан бит, определяющий его направление.
    А с софтом все сложнее, вариантов ядер и описаний конфигураций миллион, тот вариант, что дорабатывал я, не подойдет к другим платам, так как он заточен FriendlyArm под свои платы на H3/H5. Ядра для других плат я не смотрел, что и как там, я не знаю.
    Электроника наука слабоизученная (c)
    Неизвестный специалист антенного хозяйства по поводу периодического пропадания сигнала в коллективной антенне

  18. #37
    Частый гость Аватар для Ё!Ё!
    Регистрация
    07.10.2004
    Сообщений
    196

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

    Цитата Сообщение от Nikkov Посмотреть сообщение
    А с софтом все сложнее, вариантов ядер и описаний конфигураций миллион, тот вариант, что дорабатывал я, не подойдет к другим платам, так как он заточен FriendlyArm под свои платы на H3/H5. Ядра для других плат я не смотрел, что и как там, я не знаю.
    Вы какие параметры прописывали?

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

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

    Цитата Сообщение от Ё!Ё! Посмотреть сообщение
    Вы какие параметры прописывали?
    Куда прописывал?
    В моем случае, я прописывал в dts файле параметры, которые я же и придумал, когда дорабатывал драйвер.
    Электроника наука слабоизученная (c)
    Неизвестный специалист антенного хозяйства по поводу периодического пропадания сигнала в коллективной антенне

  20. #39
    Старый знакомый Аватар для Sanny
    Регистрация
    01.07.2010
    Сообщений
    564

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

    Цитата Сообщение от Nikkov Посмотреть сообщение
    С т.з. железа все так. Несмотря на то, что PCM0_CLK/I2S0_BCK в даташите указан как О, чуть ниже на диаграмме он двунаправленный и в таблице регистров указан бит, определяющий его направление.
    А с софтом все сложнее, вариантов ядер и описаний конфигураций миллион, тот вариант, что дорабатывал я, не подойдет к другим платам, так как он заточен FriendlyArm под свои платы на H3/H5. Ядра для других плат я не смотрел, что и как там, я не знаю.
    Т.е. под NanoPi Neo Air Ваш драйвер подойдёт?

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

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

    Цитата Сообщение от Sanny Посмотреть сообщение
    Т.е. под NanoPi Neo Air Ваш драйвер подойдёт?
    Если собирать ядро по ссылке из первого поста, то да, подойдет. Только надо будет еще dts файл поправить. И уточнение, ядро с модифицированным драйвером подойдет, а имидж volumio, который я собрал для neo 2 - нет, не подойдет.
    Электроника наука слабоизученная (c)
    Неизвестный специалист антенного хозяйства по поводу периодического пропадания сигнала в коллективной антенне

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

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

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

Ваши права

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