Автор Тема: ARM SOC для рендерера.  (Прочитано 39427 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн oas89

  • Знакомый
  • *
  • Сообщений: 32
  • Репутация: 0
  • Александр
  • Поблагодарили: 0
Re: ARM SOC для рендерера.
« Ответ #30 : 27 Января 2017, 12:27:56 »
0
Для Allwiner A20 уже есть готовые модифицированные дрова позволяющие в ведомом режиме работаь с I2S вроде как.

Оффлайн cu6apum

  • Старожил
  • *****
  • Сообщений: 4018
  • Репутация: 14
  • Естествоиспытатель
  • Поблагодарили: +366
Re: ARM SOC для рендерера.
« Ответ #31 : 27 Января 2017, 12:29:57 »
0
Ну вот Андрей тут постил. По-моему их в очередной рилиз включили, я надолго выпал из темы. Впаду - расскажу.

Оффлайн pm

  • Старожил
  • *****
  • Сообщений: 3169
  • Репутация: 42
  • Поблагодарили: +6859
Re: ARM SOC для рендерера.
« Ответ #32 : 27 Января 2017, 13:00:45 »
0
В случае платы Raspberry PI 2 они как раз выведены на колодку с пинами (она правда не распаяна, но там обычный двухрядный 2.54мм коннектор).
Это на первых моделях RPI она была не распаяна, 8-контактная. Начиная со второй версии все сигналы выведены на 40-контактный разъём.

Оффлайн cu6apum

  • Старожил
  • *****
  • Сообщений: 4018
  • Репутация: 14
  • Естествоиспытатель
  • Поблагодарили: +366
Re: ARM SOC для рендерера.
« Ответ #33 : 09 Февраля 2017, 21:43:20 »
0
Не удержался от искуса купить пару nanopi neo по 7.99уе за плату. С виду - то, что доктор прописал. Ethernet и usb host (и больше ничего) на одной стороне платы, никакого hdmi, sata, ide, scsi, mfm/rll, ps/2, vga и прочих lpt-портов. Камешек четырехъядерный allwinner H3 с дежурным ядрецом для стендбуя, правда, полгига памяти всего. Посмотрим. Как я говорил, а20 у меня что-то чирикал в цапу, думаю, преемственность поколений у них в норме, коль не разорились еще.
Платка приятно мелкая и дешевле грибов, могу себе позволить. Что немаловажно, в Сети бродит ее схема и разводка в dxf.
Ждем посылочку.

Оффлайн Язычник

  • Наш человек
  • ****
  • Сообщений: 361
  • Репутация: 1
  • Игорь
  • Поблагодарили: +17
Re: ARM SOC для рендерера.
« Ответ #34 : 10 Февраля 2017, 16:23:47 »
0
Не удержался от искуса купить пару nanopi neo по 7.99уе за плату.
Это ж где по такой цене? Дешевле 1000 дерева не видел.

Оффлайн oas89

  • Знакомый
  • *
  • Сообщений: 32
  • Репутация: 0
  • Александр
  • Поблагодарили: 0
Re: ARM SOC для рендерера.
« Ответ #35 : 10 Февраля 2017, 16:48:09 »
0
Посмотрев бегло состояние кода драйверов I2S для BCM2835 заметил, что поддержка ведомого режима вполне себе существует и работает
(см. код /sound/soc/bcm/hifiberry_dacplus.c например), в частности там реализован вывод текущей сетки частот (44/48) на GPIO пин, для полноценной
работы надо только добавить вывод на два GPIO пина данных о частоте текущей. Потом видится мне простая платка поверх малинки:

                 +----------------+    +---------------------+
RPI I2S_BCLK  <- | Гальваническая | <- | ПЛИС                |
RPI I2S_LRCLK <- | развязка на    | <- | EPM3064             |
RPI I2S_SDATA -> | ADuM           | -> | формируем сигналы   |
                 +----------------+    | BCLK, LRCLK из MCLK |
RPI EN44/48   -> |    Оптопара    | -> | основываясь на      |
RPI CLKDIV0   -> |    Оптопара    | -> | CLKDIV0 и CLKDIV1   |
RPI CLKDIV1   -> |    Оптопара    | -> |                     |
                 +----------------+    +---------------------+

С выводом всего этого на пару колодок (сигналы i2s и управляющие сигналы) с распиновкой как на Bolero/Charlstone.


В ПЛИС только вот не силен, надо разобраться как там формировать bclk/lrclk из мастер-клока.
Если гены у нас на 512*fs и 1024*fs, то все вроде как просто видится, а вот если не кратные степени двойки (384*fs или 768*fs),
то не соображу как поделить :(
« Последнее редактирование: 10 Февраля 2017, 16:54:22 от oas89 »

Оффлайн xar

  • Старожил
  • *****
  • Сообщений: 5224
  • Репутация: 16
  • Ренат
  • Поблагодарили: +271
Re: ARM SOC для рендерера.
« Ответ #36 : 10 Февраля 2017, 17:41:22 »
0
oas89, строим счетчик на два разряда, делает для него цепочку сброса при совпадении значения счетчика со значением на входах CKDIVx.

Оффлайн cu6apum

  • Старожил
  • *****
  • Сообщений: 4018
  • Репутация: 14
  • Естествоиспытатель
  • Поблагодарили: +366
Re: ARM SOC для рендерера.
« Ответ #37 : 16 Февраля 2017, 21:22:51 »
0
Это ж где по такой цене? Дешевле 1000 дерева не видел.

http://www.friendlyarm.com/index.php?route=product/product&product_id=132
Но. В нем таки кастрированный i2s - отсутствует mclk. Для моих нужд норм (если смогу укротить драйвер), а как кому - не знаю.

Оффлайн cu6apum

  • Старожил
  • *****
  • Сообщений: 4018
  • Репутация: 14
  • Естествоиспытатель
  • Поблагодарили: +366
Re: ARM SOC для рендерера.
« Ответ #38 : 19 Февраля 2017, 22:55:43 »
0
Покупательное настроение - страшная вещь. Помимо двух nanopi neo, едет и bb green. И на этом пока все. Трех процов должно хватить, чтобы понять зависимость звука от камня и выбрать лучший. Но, чем больше читаю про ботик, тем больше нравится бигль. Похоже, автор этого драйвера ушел значительно дальше остальных.

Оффлайн oas89

  • Знакомый
  • *
  • Сообщений: 32
  • Репутация: 0
  • Александр
  • Поблагодарили: 0
Re: ARM SOC для рендерера.
« Ответ #39 : 20 Февраля 2017, 07:20:04 »
0
Похоже, автор этого драйвера ушел значительно дальше остальных.
Вы не могли бы  поподробнее рассказать о возможностях драйвера i2s в BBB?

Оффлайн hippo64

  • Читаю форум
  • *****
  • Сообщений: 7135
  • Репутация: 72
  • Владимир
  • Поблагодарили: +5153
Re: ARM SOC для рендерера.
« Ответ #40 : 20 Февраля 2017, 07:59:26 »
0
Обратитесь к автору на Веге. http://forum.vegalab.ru/showthread.php?t=69880

Оффлайн cu6apum

  • Старожил
  • *****
  • Сообщений: 4018
  • Репутация: 14
  • Естествоиспытатель
  • Поблагодарили: +366
Re: ARM SOC для рендерера.
« Ответ #41 : 20 Февраля 2017, 11:11:54 »
0
Это автор переходника, а не драйвера. Дрова парень из Чехословакии пишет. На diyaudio.com большая ветка.

Оффлайн cu6apum

  • Старожил
  • *****
  • Сообщений: 4018
  • Репутация: 14
  • Естествоиспытатель
  • Поблагодарили: +366
Re: ARM SOC для рендерера.
« Ответ #42 : 01 Марта 2017, 14:53:37 »
0
Ну-к что ж, дружелюбныйАРМ работает худо-бедно. :) Палец послюнявленный шипит, но тесты проходит все. Ошкуриваем армбиан.
Бигль уже растаможился, будем пободать.

Оффлайн blindman

  • Старожил
  • *****
  • Сообщений: 798
  • Репутация: 13
  • Андрей
  • Поблагодарили: +18
Re: ARM SOC для рендерера.
« Ответ #43 : 02 Марта 2017, 01:52:09 »
0
Но 512М памяти для разработки как-то маловато, не?

Кросс компиляция. Зачем железку то мучать?

А какие форматы хочешь поддерживать? вавки что угодно потянет. флаки  у меня на кьюби без проблем работали. С AAC были проблемы, не успевал раскодировать



и добавил...
PS.  Марат, я помню про транспорт. Сейчас дома ремонт, не выкопать никак старый диск, даже не знаю в какой коробке

Оффлайн Dim1112

  • Постоялец
  • ***
  • Сообщений: 173
  • Репутация: 1
  • Дмитрий г. Сумы
  • Поблагодарили: +6
Re: ARM SOC для рендерера.
« Ответ #44 : 02 Марта 2017, 09:45:18 »
0
Предлагаю постить тут свои (и чужие с указанием истоков) идеи и соображения по системам, на которых стоит строить сетевой рендерер/плеер.

Можно, нескромный вопрос.... А что это устройство должно делать?

Оффлайн cu6apum

  • Старожил
  • *****
  • Сообщений: 4018
  • Репутация: 14
  • Естествоиспытатель
  • Поблагодарили: +366
Re: ARM SOC для рендерера.
« Ответ #45 : 02 Марта 2017, 09:55:29 »
0

Кросс компиляция. Зачем железку то мучать?

А какие форматы хочешь поддерживать? вавки что угодно потянет. флаки  у меня на кьюби без проблем работали. С AAC были проблемы, не успевал раскодировать



и добавил...
PS.  Марат, я помню про транспорт. Сейчас дома ремонт, не выкопать никак старый диск, даже не знаю в какой коробке
1. Компиляем на десктопе, ессно. Я скорее про код до оптимизации.
2. cat /dev/urandom | aplay -r 192000 в болгарский хмос, на голой системе, уже дает underrunы! И это на четырехочковом проце при почти гигагерце. То ли usb криво реализован, то ли предстоит море интима с буферизацией и раскидыванием процессов по ядрам. Пока всё выглядит непросто.
3. Андрей, спасибо. )) очень приятно, что помнишь.


Можно, нескромный вопрос.... А что это устройство должно делать?
Нужно!!
Пока dlna renderer / squeezelite / hqplayer naa / roon target / airplay. Есть еще предложения?

Оффлайн Dim1112

  • Постоялец
  • ***
  • Сообщений: 173
  • Репутация: 1
  • Дмитрий г. Сумы
  • Поблагодарили: +6
Re: ARM SOC для рендерера.
« Ответ #46 : 02 Марта 2017, 11:14:41 »
0
Пока dlna renderer / squeezelite / hqplayer naa / roon target / airplay. Есть еще предложения?
Ну в конечном итоге, это чистое "аудио" или "мультимедиа"?. 

Оффлайн oas89

  • Знакомый
  • *
  • Сообщений: 32
  • Репутация: 0
  • Александр
  • Поблагодарили: 0
Re: ARM SOC для рендерера.
« Ответ #47 : 02 Марта 2017, 11:22:30 »
0
Может быть кто-то не знает о https://github.com/hzeller/gmrender-resurrect - это минималистический демон реализующий спеку UPnP renderer. Внутри вводит звук через gstreamer.
Запускал для тестов пару раз, свои функции выполнял отлично. Если буду делать сетевой транспорт (а я надеюсь что таки руки дойдут), то буду использовать именно его.

Оффлайн cu6apum

  • Старожил
  • *****
  • Сообщений: 4018
  • Репутация: 14
  • Естествоиспытатель
  • Поблагодарили: +366
Re: ARM SOC для рендерера.
« Ответ #48 : 02 Марта 2017, 12:41:26 »
0
Ну в конечном итоге, это чистое "аудио" или "мультимедиа"?. 
Чистое, беспримесное и высококачественное.

Оффлайн Dim1112

  • Постоялец
  • ***
  • Сообщений: 173
  • Репутация: 1
  • Дмитрий г. Сумы
  • Поблагодарили: +6
Re: ARM SOC для рендерера.
« Ответ #49 : 02 Марта 2017, 12:49:29 »
0
Чистое, беспримесное и высококачественное.
В итоге, битперфект и без оверсерсемплеров/фильтров, или все же иначе?


Оффлайн cu6apum

  • Старожил
  • *****
  • Сообщений: 4018
  • Репутация: 14
  • Естествоиспытатель
  • Поблагодарили: +366
Re: ARM SOC для рендерера.
« Ответ #50 : 02 Марта 2017, 17:26:44 »
0
Чистое, беспримесное и высококачественное.
В итоге, битперфект и без оверсерсемплеров/фильтров, или все же иначе?
Пока так. Если справимся с SRC, можно погладить себя отдельно. :)
Ну и в пределе bruteFIR для пополоски. Видел уже восьмикотловый чип на 1.4ГГц.

и добавил...
Ну в общем при настроенном армбиане палец не то что не шипит, а почти не чует тепла. Нормуль. Осваиваем управление частотой/питанием.
Бигль тоже приехал, пойду на почту сбегаю.
« Последнее редактирование: 03 Марта 2017, 16:56:35 от cu6apum »

Оффлайн cu6apum

  • Старожил
  • *****
  • Сообщений: 4018
  • Репутация: 14
  • Естествоиспытатель
  • Поблагодарили: +366
Re: ARM SOC для рендерера.
« Ответ #51 : 03 Марта 2017, 20:44:47 »
0


Ну бигль - компутер. Сразу видно, сделано добротно, продуманно, на usb-otg порту сразу ком-порт для терминалки, storage device с каталогом документации (вплоть до гербера платы!!!) и сетевой usb-адаптер, на котором мой хак сразу поймал dhcp и пошел на веб-страницу в дивайсе с кучей офлайновой инфы и примеров. УВАЖАЕМО.


и добавил...
Как и было предсказано...
Volumio слопало всю память (22к свободно) и закусило свопом. При этом играется первая попавшаяся радиостанция, про хайрезы вообще не знает еще.
Выкидываем...

и добавил...
...ну помучил mpd еще немножко. Проигрывание 352.8к/24бит файла с встроенной флешки на USBшный цап икало только в том случае, если попутно браузер ворочал вебморду или я запускал что-то в шелле. Загрузка проца от 35 до 85%, что внушает некий скепсис на тему одноядерника. Надеюсь, через i2s полегче пролезать будет.
 
Сказал бы мне кто, что в 2017 году для проигрывания простого pcm-файла мне потребуется гигагерцовый камень с полгига памяти!!! Нда.

А кроме mpd, никто пока dsd играть не умеет? Gmrender вроде бы точно не.
« Последнее редактирование: 04 Марта 2017, 01:20:06 от cu6apum »

Оффлайн blindman

  • Старожил
  • *****
  • Сообщений: 798
  • Репутация: 13
  • Андрей
  • Поблагодарили: +18
Re: ARM SOC для рендерера.
« Ответ #52 : 05 Марта 2017, 12:13:57 »
+1
Осваиваем управление частотой/питанием
Кстати, лучше всего выставлять фиксированную частоту. При всяких ondemand может заикаться звук

Оффлайн cu6apum

  • Старожил
  • *****
  • Сообщений: 4018
  • Репутация: 14
  • Естествоиспытатель
  • Поблагодарили: +366
Re: ARM SOC для рендерера.
« Ответ #53 : 05 Марта 2017, 13:15:14 »
0
Ну, суммируя сказанное за три дня, аппетиты mpd несовместимы с одноядерником на полугигабайте. Воблин!!
Три базовых варианта:
. обкусывать mpd ручками, там море ненужного, или писать свой плеер.
. искать более продвинутую SOM, у которой ЕСТЬ скоростной I2S/SPI/чтотоеще, способный пропустить 384/32 и dsd256 и клочиться со стороны цапа. Пока, кроме бигля, не увидел.
. сбить свое на базе zynq или аналогичных гибридов ARM/FPGA. Там какой хочешь выезд делай, но, блин, ухайдакаешь на проект пару лет, а в середине китайцы тихо вывалят что-то готовое...

Оффлайн Dim1112

  • Постоялец
  • ***
  • Сообщений: 173
  • Репутация: 1
  • Дмитрий г. Сумы
  • Поблагодарили: +6
Re: ARM SOC для рендерера.
« Ответ #54 : 05 Марта 2017, 15:45:18 »
0
Ну, суммируя сказанное за три дня, аппетиты mpd несовместимы с одноядерником на полугигабайте. Воблин!!
странно это как то. не требователен от к ресурсам. что top говорит? У меня конечно х86 архитектура, но все работает без проблем на одноядернике с полугигабайтом. Единственное что нужно, это отключить ресемлер в системе, он как то криво реализован и действительно жрет ресурсы.

Оффлайн cu6apum

  • Старожил
  • *****
  • Сообщений: 4018
  • Репутация: 14
  • Естествоиспытатель
  • Поблагодарили: +366
Re: ARM SOC для рендерера.
« Ответ #55 : 05 Марта 2017, 15:55:15 »
0
странно это как то. не требователен от к ресурсам. что top говорит? У меня конечно х86 архитектура, но все работает без проблем на одноядернике с полугигабайтом. Единственное что нужно, это отключить ресемлер в системе, он как то криво реализован и действительно жрет ресурсы.
Самому странно. Пока никто не отжирает ресурс, иков-пуков нету. Стоит шевельнуть вебморду, понеслась. Будет время, выясню, это проц задыхается, или своп (на флешку!) какает в малину. Загрузка одним mpd 35..80%, зависимость неясна, ресемплер ВРОДЕ отключен.
В любом случае волумио идет лесом в сторону двухгиговых систем, а на мою любовно и неспешно собирается свой имич. Как раскидаюсь с текучкой.

и добавил...
А у Вас выводится на USB или на I2S? Я второе не пробовал еще.

Оффлайн xar

  • Старожил
  • *****
  • Сообщений: 5224
  • Репутация: 16
  • Ренат
  • Поблагодарили: +271
Re: ARM SOC для рендерера.
« Ответ #56 : 05 Марта 2017, 15:58:45 »
0
cu6apum, я думаю у тебя псевдосинхронность все нахер отжирает.

и добавил...
хотя с усб то с чего бы. Я думал ты уже на тактированный извне i2s выводишь

Оффлайн cu6apum

  • Старожил
  • *****
  • Сообщений: 4018
  • Репутация: 14
  • Естествоиспытатель
  • Поблагодарили: +366
Re: ARM SOC для рендерера.
« Ответ #57 : 05 Марта 2017, 16:04:39 »
0
хотя с усб то с чего бы. Я думал ты уже на тактированный извне i2s выводишь
Дык вот если бы. Про разную (и процентах в 60% кривую) реализацию усб я начитался, так что через IIS может быть и легче. Время выгребу, посмотрим.
На nanopi i2s перспектив не имеет (DSD не выгонишь, даже если и заклочишь слейвом), так что с ним, дойдут руки, попробую только усб. В конце концов, мозгов в йом вдвое против microrendu, а тот активно нахваливают везде.

Оффлайн pm

  • Старожил
  • *****
  • Сообщений: 3169
  • Репутация: 42
  • Поблагодарили: +6859
Re: ARM SOC для рендерера.
« Ответ #58 : 05 Марта 2017, 18:28:22 »
0
Сказал бы мне кто, что в 2017 году для проигрывания простого pcm-файла мне потребуется гигагерцовый камень с полгига памяти!!! Нда.
Это говорит лишь о том, что архитектура ARM ущербна и её гигагерцы много жиже x86.

Оффлайн Dim1112

  • Постоялец
  • ***
  • Сообщений: 173
  • Репутация: 1
  • Дмитрий г. Сумы
  • Поблагодарили: +6
Re: ARM SOC для рендерера.
« Ответ #59 : 05 Марта 2017, 19:21:23 »
0
А у Вас выводится на USB или на I2S? Я второе не пробовал еще.
USB болеро. I2S не интересно, потому как не универсальное это решение.