> + можно использовать кварц без PLL и просто делить его.Так у вас девайс посвящен выводу аудио и наверное на одно назначение. Там чего доброго еще и кварц "удобный"?
> Ну если он специально выделен под аудио - то не использовать его просто не рационально.
Кроме этого есть еще подходы к работе с клоками в ядре и возможность что PLL юзался другой железкой. Но в целом согласен.
> Ну 38 страниц про настройку тактирования тоже не мало :) Действительно впечатляющие возможности.
Про конкретно этот PLL там как-то лаконично, ряд возможностей вообще указано что они есть. А описания как работает - не вижу.
> Весь clock tree - встроены генераторы, PLL, коммутаторы и делители.
Если настаиваете - ок, пусть будет чем-то типа аналога CGU. В конце концов, регистры железок сгруппировали. Но в целом это имхо лишь несколько железок. PLL, делители и еще по мелочи.
> Тогда печально.
Прописал конфиг. Без пульса - звука нет :). Частоты из даташита пашут, проверил 96000, 48000, 44100 и 32000. Врубив пульс а потом aplay -D pcm.real (как в конфиге). Как бы сравнить потребление? Системный плеер юзал пульс. Устроит забег "aplay + wav -> pulse" vs "aplay + wav -> hw"? И для каких частот? 48? 44.1? 96? Smth else?
> Глянул - на n900 конфиг alsa поломали,
Скорее, предотвратили алсапроблемы НЕПРИЕМЛИМЫЕ в таком девайсе. "Device or resource busy"? В телефоне это неприемлимо.
> рецепт как починить: http://wiki.maemo.org/N900_Hardware_Audio_Codec
Я это "починил" лишь посмотреть hw/driver caps.
> ALSA делает тоже самое - если железо чего-то не умеет - вставляет dmix.
В алсе имхо продолбались сделав dmix опцией. Как это должно выглядеть? Кодинг ресэмплера в fallback path проги? Да щаз!
> Да, шибко наворочен. Но с другой стороны - позволяет делать с железом все что угодно.
Большинство людей хочет просто попасть из точки A в B а не наворачивать мертвые петли.
> Кому нужно по проще - лучше использовать sdl или что другое.
libsdl для штук типа pidgin - перебор. Они и юзают пульс, особенно в нокии. Кстати вы слышали как libsdl ресэмпл делает? Libsdl 1.x умеет ЖЕСТОКО косячить. Нарывался.
> UI и dbus к аудио драйверу имеют весьма далекое отношение.
К низкоуровневому драйверу - да. Но по дбасу анонсируется подключение ушей, входящие звонки, меняются уровни громкости и куда выводить, etc. Это - системная интеграция.
> И если драйвер писался с прицелом на интеграцию в mainline ядро - то все должно работать.
Понятие о "все" в смартфоне обширно. Например, громкости в программе "телефон" и "плеер" - разные. В earpiece один уровень. Плеер в уши - другой. Я не хочу телепать громкость постоянно. Пульс и остальные части системы это обыгрывают по dbus, получается... нормальный UX смарта!
> Это вам только так кажется :)
Я вижу разные громкости в телефоне и плеере. И вижу что без пульса аудио нет. Там много вариантов вывода и коммутации, пульсом активно рулят по dbus системные компоненты (а могут и сторонние виджеты).
> А теперь суровая реальность: открываем даташит на TLV320AIC34 - и видим полноценный
> кодек с фантастическими возможностями.
Это хорошо. Но смарт состоит не только из железок. Хорошее железо - ничто, если не обеспечит хороший UX. Нокия сделала сбалансированное решение с хорошим UX, имхо. А UX хардварного плеера меня НЕ УСТРАИВАЕТ.
> динамик/наушники и 8k на bt одновременно. Также можно использовать разные частоты
> для ADC и DAC, и при этом не испытывать никаких трудностей.
Вам нравится железка из смартфона? Что-то новое.
> минимальная задержка, минимальное потребление cpu, минимальное потребление ram.
Но посмотрим на юзкейсы? Это не плеер, приоритеты другие. Аудио не основная статья расходов энергии, а вот гибкость и интеграция с системой - ожидаются.
> И что с этим всем сделали? Правильно - поставили PA :)
Без него они бы не смогли нормальный UX и интеграцию. Пульс и роутинг аудио через него все это обеспечивают, включая вмняемое поведение аудио, ожидаемое от телефонов и смартов. Так что плеер заткнется или сделает тише при звонке, а слушая FM я не пропущу мсг в IM.
> То есть все крутим на CPU, занимаем RAM и едим батарейку.
С другой стороны
1) Если звук ходит через софт - его можно записать.
2) Отдельные уровни громкости разных программ - мастхэв.
3) Реакция на события типа втыкания ушей и т.п.. Пульс это умеет. Он даже на лаптопе это по минимуму обрабатывает.
4) Микширование разных потоков. FM аппаратно - круто. А смикшировать, чтобы юзер звонок не пропустил и "бзынь!" из мессенжера - на те же уши?
> also reducing power in this usecase, by entirely eliminating CPU usage.
Не хотите posix api и ФС себе вынести? Оверхед же. ATA-командами в диск прямо из проги - веселее будет. Спасибо, но мне не требуется UX из эпохи MSDOS.
> Радио сперва оцифровываем, а потом гоним на выход. И удивляемся, как чего оно так много ест.
Зато можно записать, микшируется с остальными звуками, работает системный регуль громкости и проч. Алсо, более актуальное мне онлайн-радио лопает больше, HSPA модемом или вафлей. FM я редко слушаю - в смарте оно "до кучи". А вы можете купить себе отдельный FM приемник в пару к отдельному плееру, если вам это надо.
> А кто-то взял засунул PA ...
Потому что в нокии работали нормальные инженеры и управленцы. Они знали что гонку за идеалом иногда надо остановить. Важен общий баланс и UX, а не идеал в второстеменном corner case.
> Я и резистор сам задолбаюсь делать :)
А я делаю. Специально нихрома купил. Симуляторы нагрузки. Иногда развлеrаюсь с DC-DC и т.п.. На перспективу хочу обкатать технологии в духе http://spritesmods.com/?art=rpi_arcade&page=5 или http://forum.fonarevka.ru/showthread.php?t=26562 - прикольные классы схем, я хочу чуть иное, но идея та же самая.
> Однако, простую деталь проще смоделировать и спрогнозировать поведение во всех ситуациях.
У "простых" деталей - уйма вторичных/паразитных параметров. И как только токи посильнее или частоты повыше... ну в общем spice симулировал FET-ы довольно приблизительно, когда я смотрел.
> На хорошем железе лучше слышны дефекты записи, но воспринимаются они лучше, чем
> когда они умножаются на дефекты железа.
ИМХО, железу лучше всего передавать сигнал с входа на выход как было, имхо.
> разрыв между хорошей и плохойзаписью становиться более очевиден.
Я заметил :)
> Ну смотря для чего эти ОУ :)
ОУ изначально задуманы для прецизионных операций с аналоговыми сигналами, вплоть до вычислений.
> Вообще раньше и осциллографы строили на лапах.
...
> в самолеты ставили.
Я предпочту чтобы пилот оперировал UI как в A320 и новых боингах хотя-бы.
> Это в теории, на практике зависит от качества L,C, разводки и экранов.
Принцип "как заплачено так и зафигачено" в инженерии везде.
> Все они гадят, а вот на сколько уже зависит от фильтра и качества заземления.
Через кучу индуктивностей и кондеров и экран не погадишь. Китайцы просто экономят. И на экране, и на фильтрах. Китайская логика проста: и без них работает же.
> Это не всегда возможно. Да и в случае винили - весь тракт
> аналоговый (за что его и любят), но более подвержен помехам.
Сама технология привносит туеву хучу искажений всех мастей, и линейных и не очень. Не вижу рациональный пойнт.
> Прокладка подальше от сигнальных, саму силовую - в стальные короба и заземлить.
Вариант, но только для тех кто расперся переложить всю электрику или изначально заложил в проект. И если рядом никого/ничего сильноточного нет.
> Так он и будет при ac-dc dc-ac, только очень навороченный.
Под вторым DC-AC имеется в виду сам усилитель? oO
> Так треугольник по спектру не сильно лучше прямоугольника.
Спектр там в любом случае гармоники частоты коммутации в основном. Придушить это можно мелкими L и C.
> Дешевле один действительно хороший ac-dc dc-ac и вынести его в другую комнату,
> чем встраивать в каждое устройство действительно хороший импулсник, фильтр и экран.
ИМХО это нездоровое маньячество. Импульсник к тому же можно и не встраивать, как в ноутах.
> Электролиты дают общую энергетический запас
Проблема этого запаса в неизвлекаемости: нельзя быстро вытащить когда понадобилось. А потом уже поздно. Так то в розетке еще больше энергии, но извлекается не всегда. ESR/ESL создают ПОС по напряжению. При достаточной величине провалов даже будет возбуд, имхо (as seen in LDOs). Керамика тоже разная бывает. У вас вся керамика NP0, невзирая на цену и низкую плотность энергии? Или "какая-нибудь"? У любой керамики != np0 - навалом закидонов.
> и сносно работают до килогерцев, остальное - пленка. Так что для пленки
> важна не количество, а качество.
ИМХО количество должно обеспечивать объем энергии достаточный для формирования импульсов в желаемой виде, пока электролиты тормозят. Иначе напряжение провалится, импульсы будут заниженной амплитуды и не обязательно синус даже.
> Обычно стараются несколько номиналов в параллель ставить - меньше ESR и ESL
Снизить ESR и ESL можно и параллелингом одинаковых. Пойнт другой. У разных номиналов разные кривые импеданс vs частота, совместное использование разных - частично компенсирует бажность откликов, предотвращая острые резонансы.
> и поближе к нагрузке - как для uC керамику ставят.
Так uC из-за CMOSной сущности - импульная штука. Электролиты на временах порядка времени переключения вентиля - ни о чем. Напряжение провалится, схема сглючит.
> Да, но тогда получается все наоборот - когда мало меди и много
> железа - сердечник в принципе нельзя загнать в насыщение.
Вы забыли про индуктивность обмотки. Она резко падает -> растет ток.
> Ведь насыщение возникает от большого магнитного потока. А что бы его
> создать нужно наоборот много меди и мало железа.
IIRC индуктивность обмотки пропорциональна КВАДРАТУ числа витков. Это перевешивает. Если бы индуктивности не было, ток был бы ограничен только омическим сопротивлением обмотки. Что будет с трансом без сердечника (хорошее приближение) - легко проверить ;). Не менее просто цепануть вторичку с малым числом витков в сеть. Там витков круто не хватает, а сердечник тот же. Только транс во что-нить огнеупорное суньте ;).
Ток первички "правильного" ненагруженного транса низкий: ЭДС самоиндукции уравновешивает сетевое. Это требование и определяет число витков первички. Активное сопротивление (почти) не работает. А если отмотать - индуктивность упадеь. Ток растет, поток зависит и от тока. В целом поле усилится. У транса увеличится ток ХХ, на верхушках сердечник будет насыщаться, индуктивность - обваливаться. Тут то и ввалится всплеск, ограниченный лишь активным сопротивлением и "воздушной" индуктивностью. Если индуктивности грубо не хватило (как с маловитковой вторичкой) - ток будет ограничен лишь активным сопротивлением. Транс не кипятильник, на рассев P=U^2*R не рассчитан. Сгорит по перегреву первички. По той же причине транс умрет от DC или сильно сниженной частоты. А врубить 50Гц транс на 60Гц - валидно. У него будет "избыток витков", но минусами только цена и габариты.
> Нет, так как вместо магнитного поля (реактивное сопротивление) мы тратим ток на
> активном сопротивлении. Магнитное поле падает, а нагрев растет.
Поле НЕ падает - самоиндукция первички противодействует меньше -> тока втолкнется больше -> усилится поле. Из-за N^2 в этом месте фактор перевесит. Транс с недостаточными витками первички выгорает по перегреву обмотки. А активное сопротивление в трансе вообще паразитный параметр. Транс - индуктивность, а не кипятильник. То что он греется это вообще баг и снижает КПД.
> ОК, понятно. Но как вы сами отметили - экономить на железе нет смысла.
Зато медь дорогая, у 50Гц трансов обмотки большие. Не могут они маленькие быть. Если провод тонкий - паразитное омическое растет и греет транс при попытках откачивать мощщу. И надо много витков чтобы удерживать сетевое. Большая катушка и так и сяк.
> Похоже это больше применимо к ИИП, так как там вполне можно ошибиться
> с выбором феррита или рабочая частота может уплыть.
Там запас оставить дешево: обмотки мелкие. Высокочастотное напряжение удерживается меньшей индуктивностью. Это позволяет круто скостить число витков. Омическое снижается. Сплошной профит. Повышение частоты сдержвается в основном скоростями полевиков и материалами сердечника. Сердечник от частых перемагничиваний начинает греться, обычные материалы живут до 100-500кГц. Выше можно, но требуются более экзотичные материалы сердечника. Это уже не про экономию.
> Там все укладывается в простой калькулятор. Так как работать ему на синусе
> со строго заданным напряжением и частотой.
И все-таки там довольно много процессов которые надо учесть. Полная физика с нагрузками и паразитными параметрами не сказать что тривиальная. Вот даже вы физику транса не совсем поняли и сделали неправильный вывод. Легко опровергаемый экспериментом с включением мелкой обмотки на том же сердечнике в сеть. Транс сгорит за обозримое время :P. Если менее нагло не домотать - не сгорит, но нагрев при ХХ повысится и могут начаться "прострелы" первички всплесками тока на максимумах. Кст, современные импульсники обычно экономичнее на ХХ.
> Да и не целесообразно мотать самому силовые трансформаторы, когда можно
> купить готовый, любого размера/мощности и под все стандартные выходные напряжения.
И там у производителя соблазн сэкономить на большой первичке. Если это сделают, аудиофил получит сюрприз. Надо угадать с трансом. Лучше всего - тороид (нет вылезаний поля через зазоры сердечника) и с избыточной даже на максимуме (e.g. ~250V) первичкой. Если удалось такие обмотки втиснуть. Про экономию речь уже не идет. И опять же, выбор между долботней (найти хороший транс или самому мотать заведомо с избытком) или дорогим кастомом. А нахаляву или дешево чаще всего сердечник формы E+I - утечки в зазорах. И хз под какие критерии первичка делалась. Небольшие прострелы часто считают "допустимыми". Для экономии меди.
> Для классического БП: покупаем трансформатор (в datasheet есть все его данные), ставим
> диодный мост и конденсаторы. LDO по необходимости. Из приборов нужен только мультиметр.
А потом замечаем что транс не домотали и он дает импульсные помехи, LDO греется как печь. А без этого - он из стабилизации выйдет, т.к. в сети может быть и 180 и 240. ВЧ помехи могут внаглую пролезть. И 50Гц от огромного транса могут навестись, поле приличное. И "сосед со сваркой" импульсником получще фильтруется.
> Для ИБП
...формулируем задачу и желаемые свойства. Выбираем топологию, после чего
> подбираем контроллер, читаем даташит и изучаем все особенности, рассчитываем/мотаем транс,
...
> Самое обидное, что можно накосячить на любом этапе и не заметить :(
Однако осцил (и даже мультиметр понимающий ВЧ-переменку) спалят пульсации. А поскольку китайцы хилые инженеры, в даташитах бывают критичные куски разводки, параметры трансов на типовые случаи и т.п..
> Так что лично я по-прежнему для критичных вещей (по помехам или безотказности)
> ставлю обычные трансформаторы.
Не испытываю проблем с помехами импульсников, а брошенные в воздухе щупы сообщают что 50Гц - доминируют.
Классические питальники большие, тяжелые и неэффективные. ХХ прожорливее, LDO топит воздух. Спору нет, телегу можно сделать и чуть ли не одним топором, но что-то желающих это делать осталось немного.
> А для остального конечно ставлю ИИП - ибо если помехи не принципиальны, то ИИП вне конкуренции.
Да они и помех особо не создают, фирменные комповые питальники например зачастую неплохо сделаны. Капитальный фильтр на входе, дроссели на выходе, корпус железный. Любители emu и проч не очень плюются вроде, хотя там под боком крутой импульсник. Кстати, можно после импульсника LDO поставить. Т.к. он только для ripple rejection - падение напруги на LDO быть малым. Он и ripple срежет и не будет при этом печкой.
А что до надежности - посчитать импульсник так что он даже 380 ("перекос фаз") выдержит, хоть без ограничений по времени работы. Транзюки вольт на 700+ бывают (даже в интеграшках для мобилочных зарядок), диоды чаще всего на 1000V, с запасом на приколы и выбросы. Можно сделать условно-вечный агрегат. Можно даже от электролитов (частая точка отказа) избавиться. Вопрос только в жабе - насколько кто готов за улучшение параметров платить. Неубиваемый и вечный питальник - хорошо. Но он будет дороже обычного. А с классикой такие запасы надежности уже напряжны по габаритам/массе и повсеместным запасам параметров, Включая и вторичку.