(Извините, но у Вас нет доступа в Галерею) | (Извините, но у Вас нет доступа в Галерею) |
✔ | Работа в качестве сервера UPnP AV |
✔ | Работа в качестве рендерера UPnP AV |
✔ | Работа с устройствами управления UPnP AV Поверялось с программой BubbleUPnP под андроидом. Возможно управление из-под Windows (foobar2000) или Linux (rhythmbox) |
✔ | Использование проводной сети |
✝ | Использование беспроводной сети Нужно тестирование с разными адаптерами, пока наверняка можно сказать только, что работает с тем что есть у меня |
✔ | Вывод звука через встроенный аудиокодек Проверено на FLAC 16/192 |
✝ | Вывод звука через USB ЦАП. Тестировалось до 16/48. Нужно проверять с хайрез ЦАПами |
✝ | Вывод звука через HDMI. Не тестировалось |
✝ | Различные форматы файлов Проверены WAV, MP3, FLAC |
✝ | Сервер может читать файлы с HDD или USB флэшки Теоретически ясно как сделать, практически не проверял |
? | При использовании в качестве сервера, контент можно заливать через сеть Нужно выбрать способ. Вероятнее всего SAMBA - проще всего монтировать. Но надо рассмотреть варианты |
? | Использование ИК ДУ Приемник ДУ имеется на плате, есть поддержка в ядре. Пока неясно, как привязать к архитектуре UPnP |
? | WEB-интерфейс для настройки Принципиальных сложностей не предвидится. Сначала нужно окончательно устаканить основные программые компоненты |
Вывод звука через встроенный аудиокодекКак звучит, по сравнению с внешним ЦАПом?
отдельного чипа аудиокодека не имеет, он интегрирован в ЦПУ?В принципе верно. Если точнее - на одном кристалле выполнены процессор, сопроцессоры и всевозможные периферийные устройства. Для построения полноценного компьютера нужно лишь 2-3 дополнительных микросхемы - память и контроллер питания.
✔ | Работа в качестве сервера UPnP AV |
✔ | Работа в качестве рендерера UPnP AV |
✔ | Работа с устройствами управления UPnP AV Поверялось с программой BubbleUPnP под андроидом. Возможно управление из-под Windows (foobar2000) или Linux (rhythmbox) |
✔ | Использование проводной сети |
✝ | Использование беспроводной сети Нужно тестирование с разными адаптерами, пока наверняка можно сказать только, что работает с тем что есть у меня |
✔ | Вывод звука через встроенный аудиокодек Проверено на FLAC 16/192 |
✝ | Вывод звука через USB ЦАП. Тестировалось до 16/48. Нужно проверять с хайрез ЦАПами |
✝ | Вывод звука через HDMI. Не тестировалось |
✝ | Различные форматы файлов Проверены WAV, MP3, FLAC |
✝ | Сервер может читать файлы с HDD или USB флэшки С флэшками протестил, все окей. HDD на очереди |
? | При использовании в качестве сервера, контент можно заливать через сеть Нужно выбрать способ. Вероятнее всего SAMBA - проще всего монтировать. Но надо рассмотреть варианты |
? | Использование ИК ДУ Приемник ДУ имеется на плате, есть поддержка в ядре. Пока неясно, как привязать к архитектуре UPnP |
? | WEB-интерфейс для настройки Принципиальных сложностей не предвидится. Сначала нужно окончательно устаканить основные программые компоненты |
в каком формате передаются данные на рендерерВ исходном, какой есть на сервере. Если только не настроена перекодирование
Нужно не с пульта, а с планшета какого-нибудь. А контент с сервачка в сети. Типа как linn akurate ds :v:Вообщето об этом и разговор. Ежели кто не понял :)
В исходном, какой есть на сервере. Если только не настроена перекодированиет.е. передаётся файл, а не поток?
Вообщето об этом и разговор. Ежели кто не понялПросто в заглавном сообщении есть такой пункт
Использование ИК ДУИ непонятно зачем он нужен :)
передаётся файл, а не поток?Женя, на этот вопрос можно ответить, только определившись с терминологией :) Что есть файл, а что поток ?
по идеи там Linux с стандартным софтом uPnP, просто правильно настроенный и проверенный?Ну да. Как раз основная работа - этот софт отобрать, если надо - допилить, сконфигурировать, и связать между собой
я думал по поверок бп дает знать матери что питание в идеале и давай заводисьСовершенно верно. контроллер питания выдает выходные напряжения, потом дергает PWROK, система выходит из состояния сброса. А когда например делаем shutdown -h now , последнее, что делает ОС при завершении - это сообщает контроллеру питания, что все, туши свет. Тот переводит PWROK в 0 - система входит в состояние сброса, затем снимает питающие напряжения. Как ты все это будешь использовать - решай сам.
место куда припаять есть?Там конденсатор и резистор на этом выводе висят. Больше негде подпаяться.
только определившись с терминологией :) Что есть файл, а что поток ?я понимаю, что файл в терминологии unix и есть поток.
можешь посоветовать какую-нибудь ARM плату с выведенным I2S
с каким набором софта у тебя получилась устойчивая работа
слегка "захлебывается"это как? О_о
они устареют раньше, чем вы проект закончитеВ смысле? протухнут что ли? Мне пофиг что та или иная система станет немодной. У меня кьюби работает, и меня устраивает. Понадобится еще одну комнату или балкон озвучить - возьму еще одну такую же. Или любую другую подходящую.
Я копал неделю, но так и не выкопал ни одного проекта-компьютерика, который выводил бы i2s асинхронно, с возможностью внешнего клока.
Rapsberry имеет вывод, проблема в дровах. И там он умеет тактоваться от ЦАПа, на форуме были картинки как выставить+даташиты broadcom. Другое дело что того кто это писал не особо интересует что-то отличное от 16\44.1 и TDA1541.
... софт можно запустить на любой.
Вы бы точнее выражались - что значит синхронно/асинхронно.общепринятое упортебление, по аналогии с синхронным/асинхронным USB->i2s конвертором: процесс вывода i2s по отношению к процессам самого проца.
Вы бы точнее выражались - что значит синхронно/асинхронно.общепринятое упортебление, по аналогии с синхронным/асинхронным USB->i2s конвертором: процесс вывода i2s по отношению к процессам самого проца.
синхронный - проц весь тактуется от своего клока, в том числе и i2s
асинхронный - проц от одного клока, i2s - от другого, возможно от внешнего
поэтому и рождаются каждый год проекты "правильный вывод звука а теперь и на такой вот штуке"Молодой человек, вместо того, чтобы писать на форумах о том, как все плохо, выдали бы проект "правильный вывод звука на любой штуке". Или там "штука для правильного вывода звука на все времена". Чтоб не надо было допиливать, а тем более, не к ночи будет сказано, разбираться
заодно хочется посмотреть на человека, запаривающегося с внешним клоком, но довольствующимся "16\44.1 и TDA1541"
софт не запустишь "на любой", это же очевидно, допиливать и разбираться надо.
и рождаются каждый год проекты "правильный вывод звука а теперь и на такой вот штуке"
Самому сделать слабо, я веб-программист и админ( :-X ), а не системный программист :)Я на работе тоже типа веб-программист. Все остальное в порядке хобби
Как бы не так....а что не так?
Может, есть что-то лучше?почитай форумы. там вариантов поболее. но нужно смотреть есть ли поддержка аппаратного ускорения видео.
а что не так?Я не знал, что через HDMI изображение может передаваться в двух цветовых моделях - YUV или RGB, в то время как для DVI стандарт - только RGB. Увы, поиск выдал информацию, что куби поддерживает только YUV, ни один монитор, который я пробовал к нему подключить, YUV не поддерживал.
PD27 (LCDVSYNC)-VGA-VSYNC
PD26 (LCDHSYNC)-VGA-HSYNC
VGA-R
VGA-G
VGA-B
Ground
От линий RGB - по 75-омному резистору на землю, синхронизацию - напрямую на VGA разъем и вуаля.Мыслей таких не возникало. Но однозначно могу сказать - и не надо, чтобы они возникали. Ничего путного не выйдетя сильно несведущь в этих процессорах...
Женя, в этой теме уже несколько раз писали - I2S есть, и использовать его, наверно, можно. Но только с синтезированным внутри процессора мастерклоком.Я то и имел ввиду с внешним клоком!!!
- Клёвые шузы! Где взял?
Васька дал погонять
тактирование думаю с родного и2с выходаНету его там, вот кусок схемы кьюби. А SPDIF присутствует
зачем они с крайне левой части потянули дороги к правойдык эта, местов то на всех не хватает
I can tell you now the Philips D/A converters are of model TDA1387. We have tried out almost everything out there and TDA1387 was unexpected on of the best.
You are also correct about the S/PDIF. We use Cirrus Logic CS8422 Asynchronous convertion from S/PDIF to I2S.
TDA1387 was unexpected on of the best.:-X
добавить установку выбора нужной сетки и коэффициента деления для BCLK и сделать нормальный формирователь BCLK и LRCLK из внешнего мастерклокаА насколько плохо то, что внешний мастерклок будет не синхронизирован с PLL внутри процессора?
А насколько плохо то, что внешний мастерклок будет не синхронизирован с PLL внутри процессора?
Ну ежели так, может имеет смысл и мне 3-ю версию платы приобрестиДа, мне бы тоже соучастники пригодились ;D , так как сам я в линуксах практически не ориентируюсь, а на родном куби-форуме тема использования кубиков для качественного воспроизведения звука не пользуется популярностью.
О, включаюсь в тему. Мне как раз нужен dlna-renderer, и чтоб непременно клочил iis со стороны ЦАПы. Значит, truck умеет? Превосходно. Нужно ли к нему допаивать буфер (куби положил, цап забрал), или можно дать bclk прямо на куби?Так как проц не поддерживает внешней синхры в мастер-режиме, то нужно на CT подавать битклок и фрэймклок. Мастерклок не нужен.
дисплейчиком где-то 3-4 дюйма для индикации и менюшки. Пульт для работы файловым плеером (SMB/NFS) и настроек. DLNA renderer as it is.Не, не то. Это все к контрол поинту относится. А рендерер должен уметь только эта. как его. Рендерить. Хотя, опять же, это я так думаю - ничто не мешает сделать по-другому
Мне не нравится сама идея асинхронности - все таки процессор использует для синхронизации свой внутренний PLLА ничего, что USB еще более асинхронный по отношению к процессору :)? Задача процессора вовремя подкидывать данные по мере их передачи ЦАП-у (хоть по USB, хоть по I2S). При этом от частоты процессора зависит только то, успеет ли он эти данные подкидывать или нет.
Как по мне, USB интерфейс тут самое то
Мне не нравится сама идея асинхронности - все таки процессор использует для синхронизации свой внутренний PLL
Как по мне, USB интерфейс тут самое то
А ничего, что USB еще более асинхронный по отношению к процессору :)? Задача процессора вовремя подкидывать данные по мере их передачи ЦАП-у (хоть по USB, хоть по I2S). При этом от частоты процессора зависит только то, успеет ли он эти данные подкидывать или нет.
USB я подключал, там все работает, как и должно, вплоть до 24 бит, 192кГц, но подключение по I2S, на мой взгляд, имеет ряд преимуществ, в сравнении с USB
Ну добро. Осталось только вдуплить реализацию i2s на куби. Что-то пока ничего толкового не гуглится.
А ничего, что USB еще более асинхронный по отношению к процессоруUSB предоставляет механизм синхронизации (который предполагает наличие буфера). IIS сам по себе - нет
потянет ли usb-хост полные 32/384 или dsd128За это можно не переживать. Потянул бы процессор
Да не дай боги вам откопать обратно СИНХРОННЫЙ usb!!! Пфуй, бросьте каку.А ничего, что USB еще более асинхронный по отношению к процессоруUSB предоставляет механизм синхронизации (который предполагает наличие буфера). IIS сам по себе - нет
Ясен красен. Например, потянет ли usb-хост полные 32/384 или dsd128? Думаю, с кряхтением, учитывая все преобразования по дороге. А тут - кидай себе по dma что хочешь. Если это всё работает так, как я мечтаю.Пока не знаю, потянет ли I2S в слэйве 384кГц, в мастере точно нет, но это связано с внутренним формирователем мастерклока. Да и согласно скудной документации I2S поддерживает 24 бит в 32 битном фрэйме, так что космоса тоже не выходит.
Да не дай боги вам откопать обратно СИНХРОННЫЙ usb!!! Пфуй, бросьте каку.:d_know: не понял
Так а буфер ДМА это что?А ничего, что USB еще более асинхронный по отношению к процессоруUSB предоставляет механизм синхронизации (который предполагает наличие буфера). IIS сам по себе - нет
Google asynchronous usb audio.Да не дай боги вам откопать обратно СИНХРОННЫЙ usb!!! Пфуй, бросьте каку.:d_know: не понял
Я думаю, все, кто хоть немного в теме понимают, что речь про асинхронную изохронную передачу :)Google asynchronous usb audio.Да не дай боги вам откопать обратно СИНХРОННЫЙ usb!!! Пфуй, бросьте каку.:d_know: не понял
cu6apum, никто ни кого не просит. комп кидает и дай бог, чтоб цап не подавился.Ренат, ну уж ты-то мог бы загуглить!! Я на этой собаке наелся уж костей, крупных и мелких.
Так а буфер ДМА это что?Синхронизированный с PLL процессора
ему mclk не надо!Вот я про то же. Мне это не нравится
xar, нет, не так. комп выдает столько, сколько ЦАП скажет (в определенных пределах).а я почему то понял что цап сам решает что делать, чтоб переполнения буфера не было.
Я вовсе не против вывода IIS из контроллера напрямую к ЦАПу. Но предпочитаю буферизованный вывод, синхронизированный с ЦАПом.Брр. Я тоже. О чем спорим?!
Почему? Разве bclk не подойдет? Они ж кратны полюбасу.
и добавил...ему mclk не надо!Вот я про то же. Мне это не нравится
а я почему то понял что цап сам решает что делать, чтоб переполнения буфера не было.Чтобы не было переполнени или опустошения, ЦАП компу говорит, сколько он хочет данных в следующем (микро)фрэйме. Именно в этом и состоит суть асинхронного режима, в обратной связи
Разве bclk не подойдет? Они ж кратны полюбасуЧастота фрэймов USB тоже 1 кГц всяко разно. в теории. иначе бы не придумывали асинхронный режим
Так, ветка кончилась, а про slave так ничего и не было.
Николай, ну ты просто всё за меня сделал. :yah:Я для себя делал :) . USB решения я освоил достаточно давно (поучаствовал в разработке open-source проекта SDR-Widget/Audio-Widget), поэтому это для меня пройденный этап. Да и куби я брал с целью скрестить его с USB Audio, но решил попробовать I2S, а так как получилось, то теперь это решение у меня в приоритете.
Осталось разобраться с ПЛИСиной (вообще никогда не работал с) - и дело, вроде, в шляпе. Дсд не мучил еще?
Ну что ж, пора кооперироваться. Если есть желание, конечно.Я смысл в кооперации вижу в выборе софта для кубика, обмене опытом и информацией. А разработка универсального устройства, по моему, это утопия, так как у всех свое видение идеала.
В моем видении спдиф отсутствует, частота мастерклоков вдвое больше (для es9018 sync mode), остальное 1:1. Скажи, а 4192 вместо ПЛМки ты заюзал только из соображений вывода спдифа, или вообще выходит проще и лучше? В сущности, я мог бы купить на веге платку генераторов на 4192 и тоже изгаляться с нею, а не изучать ПЛМки с нуля...
В том, что рендерер может быть в каждой комнате - или как я планирую, в комнате и на балконе, и играть файло с общего сервера. Что не мешает одному из рендереров иметь диск и работать также и сервером. Или иметь отдельный сервер. Или играть контент с 2 и более серверов. И в то же время быть и контролпоинтом - в сумме эти 3 компонента и дают плеер. Захотел - управляй им непосредственно, с пульта. Или включил телефон с вафлей - и с него рулиЕсли речь про несколько рендереров, то понятно. А вообще я рендерер понимал как устройство, выводящее звук, который транслируется с некоего сервера, а не как самостоятельный плеер.
устройство, выводящее звук, который транслируется с некоего сервераТак и есть. Но это ж компьютеры. И есть такие понятия, как физическое устройство и логическое.
По поводу нужен или не нужен спорить даже и мыслей не было, просто хотел уяснить что это и зачем. А после упоминания логического устройства стало все совсем понятно :).устройство, выводящее звук, который транслируется с некоего сервераТак и есть. Но это ж компьютеры. И есть такие понятия, как физическое устройство и логическое.
Я, честно говоря, не совсем понимаю, о чем разговор. Если просто непонятно что-то - давайте конкретные вопросы. Если же речь о том, что рендерер как таковой не нужен ... ну это как atmel vs pic. или байк супротив "табуретки".
Говорят, через XMOS+USB затыкается и ерзает, недостает мозговИли брешут, или XMOS не тянет. С моим USB транспортом и Lynx D29 на флаках проблем не было
У тебя именно третий куби?Говорят, через XMOS+USB затыкается и ерзает, недостает мозговИли брешут, или XMOS не тянет. С моим USB транспортом и Lynx D29 на флаках проблем не было
Николай, так 192 выводили, молотит без проблем? Я сейчас накапливаю первый ящик знаний по теме. Говорят, через XMOS+USB затыкается и ерзает, недостает мозгов.192 выводил, но пока только в мастере - проблем не было. С USB (который Audio-Widget) тоже не припомню, но его особо и не гонял. Вот с Raspberry проблемы были, но там USB не очень хорошо организован.
Хорошие (для меня) новости. Кажется, встроенный реклок Сабри способен переварить джиттер куда больший, чем дает audio PLL в А20. Так что начнем с вылизывания в master mode.
Плохие новости. Нигде не нашел, как задавать частоту того audio PLL.
Николай, у тебя какой линух установлен? Я сейчас качаю федору 20, с завода залит ведроид.
и добавил...
Звыняйте за поспешность, клок нашел. С виду - крути как хошь, хоть на 384, хоть выше... Поглядим.
Вопрос про дистр остается актуальным.
у вас дистры поддерживают vgaНе знаю, не смотрел, не нужно было
Я попытался сбилдить toolchain на своем макеПроще уж взять любой линукс - тулчейны готовые есть. Не забываем про поддержку hardfloat!
Чем собираете ядроТулчейн от проекта линаро. https://releases.linaro.org/********/components/toolchain/binaries - смотрим внимательно, нужны gcc-linaro-arm-linux-gnueabihf
Убился я с этой федорой... Четверо суток пытаюсь въехать, почему родное ядро грузится ок, а пересобранное - шиш. К сожалению, форум там настолько вялый, что надежда на поддержку уже рассосалась.
Коллеги, у вас дистры поддерживают vga? Чтоб не напороться, лучше знать сразу. Чем собираете ядро? Я попытался сбилдить toolchain на своем маке, но это настолько тугой процесс, что я пока натянул gcc на саму куби, подцепил винт и компилю на ней.
Николай, поздравляю, сильная работа проделана. Много модификаций в драйвере? На кубифоруме патч не открывается. Я пока только клок отредактировал, чтоб завелось.Спасибо!
Странно, у меня 404, хотя я и зарегался. Можно тебя нагло попросить бросить его сюда? Все равно там ветка заглохла.Продублировал.
Мне придется еще дописывать к нему фичу регулировки громкости по i2c, попытаться сделать dsd passthrough и, может быть, удастся прикрутить 32/384, но в последнем я не уверен.
# ainfo hw:0,0
Device: hw:0,0 (type: HW)
Access types: MMAP_INTERLEAVED RW_INTERLEAVED
Formats: S16_LE
Channels: 1 2
Sample rates: 8000 11025 16000 22050 32000 44100 48000 96000 192000
Interrupt interval: 5333-512000 us
Buffer size: 21333-2048000 us
# ainfo hw:1,0
Device: hw:1,0 (type: HW)
Access types: MMAP_INTERLEAVED RW_INTERLEAVED
Formats: S16_LE [b]S24_LE[/b]
Channels: 1 2
Sample rates: 8000-192000
Interrupt interval: 2666-2048000 us
Buffer size: 10666-8192000 us
# aplay -v -D hw:1,0 test16.wav
Playing WAVE 'test16.wav' : Signed 16 bit Little Endian, Rate 44100 Hz, Stereo
Hardware PCM card 1 'sunxi-sndi2s' device 0 subdevice 0
Its setup is:
stream : PLAYBACK
access : RW_INTERLEAVED
format : S16_LE
subformat : STD
channels : 2
rate : 44100
exact rate : 44100 (44100/1)
msbits : 16
^C
# aplay -v -D hw:1,0 test24.wav
Playing WAVE 'test24.wav' : [b]Signed 24 bit Little Endian[/b] in 3bytes, Rate 44100 Hz, Stereo
aplay: set_params:1233: Sample format non available
Available formats:
- S16_LE
- [b]S24_LE[/b]
# aplay -v -D hw:1,0 test24.wav
Playing WAVE 'test24.wav' : Signed 24 bit Little Endian in 3bytes, Rate 44100 Hz, Stereo
Hardware PCM card 1 'sunxi-sndi2s' device 0 subdevice 0
Its setup is:
stream : PLAYBACK
access : RW_INTERLEAVED
format : S24_3LE
subformat : STD
channels : 2
rate : 44100
exact rate : 44100 (44100/1)
msbits : 24
А в чем это выражается? На выходе ерунда? Потому что данные-то гонит, судя по клокам.Да, данные конечно идут, но не те. Советую сначала собрать нормальный макет, чтобы можно было полностью контролировать правильность работы, а потом делать дальнейшие модернизации кода. Иначе можно снова ходить по тем же граблям, что пришлось пройти мне, а пользы от этого мало.
Впрочем, да, посмотрел про конвертацию, овчинка выделки не стоила. ХМОС мой вообще дает только S32_LE в форматах - и ничо...
Глуповато себя чувствую. Столько еще узнать нужно.
Спасибо за совет. Собрал. Оторвал к свиньям площадку под перемыку mclk. :facepalm: Получается, на PCM5102 поиграться не судьба. Сразу вставил в Сабрю.
Играет, чо. Только раз в полминуты раздается вдобавок к сигналу затухающее "хр-хр-хр-хр..." - как из противогаза в фильме "Ва-банк". Пока, разумеется, никакой АДУМки между Куби и ЦАПом нету.
Николай, можно я еще буду тут (поначалу глупые) вопросы задавать, во избежание грабель?
Да я вот, посидевши вечерок, понял, что систематизация одних вопросов займет кучку времени. :) Начну с ALSы (давноооо я ее не мучил) и драйвера (все ж таки китайский код даже после твоего вычесывания выглядит страшновато), потом уже придет понимание, что мне нужно в качестве плеера. Пока натянул gstreamer, но куча плагинов выглядит весьма неряшливо - как бы не пришлось вычесывать еще и его. Или глянуть в сторону mpd, не знаю.Так как я в линуксах дуб-дубом, то использую mpd, т.к. ничего другого пока не знаю и не уверен, нужно ли что-то еще. Поэтому и надеюсь на помощь товарищей, которые в этом более продвинуты.
Николай, а раз уж у тебя так здорово с кодом продвигается, может, подумаешь насчет объединения четырех модулей в один? Я в страшном сне не могу представить, за каким лешим китайцы сделали такую бзю. И памяти меньше будет лопать, и логичнее выглядеть. Я было начал это делать, но, видя твой прогресс, не хочу разводить клоны.Я, честно говоря, не пытался понять какие модули необходимы для реализации драйвера, т.к. это надо разбираться с идеологией построения модулей ALSA, а это вопрос не простой.
Драйвер допиливаю, как допилю - покажу. В принципе, там развели много кода из ничего.Да, я глянул драйвер встроенного кодека, там все в одном файле, а все остальные драйверы раскиданы по 4-м. Будет интересно посмотреть, что у тебя получится.
По поводу плеера - попробовал Squeezelite. Оооооченно рекомендую глянуть. Крошечный (90 килобайт!) самодостаточный бинарник на плеере, зверски шустрая и малоглючная управлялка для ятелефона. По крайней мере, PlugPlayer рядом с нею - явная гипотенуза (в смысле, не катет. :P)
Плеер кушает все форматы до 384к и ДСД, умеет ресемплить на лету и, что немаловажно, буферизовать поток в память куби, на что я собирался потратить кучку времени, допиливая upmpd.
Так что, возможно, в моем доме DLNA и не будет.