Доброго времени суток. Так как новичок на форуме, не решился писать в другие разделы форума...
Для начала небольшая предыстория. Можно этот абзац пропустить. В машине имеется CarPC и, как ни странно, самой большой проблемой в нем явилась реализация радио. USB тюнеры в условиях авто принимают плохо, место магнитолы занимает сенсорный экран и т.п. года 2 назад была попытка сборки радио на модуле от магнитолы (без цифрового управления, с внешним синтезатором частоты, с вводом звука через линейный вход). Что на встроенной звуковой, что на внешней (Creative X-FI SURROUND 5.1 PRO) линейный вход сильно фонил, даже без подключенного источника звука. Тот проект так и не поселился в машине. В этом году были попытки сделать радио на полностью цифровых дешевых модулях (RDA5807M и TEA5767) - результат не очень, снова фон, снова плохой прием в движении. И наконец пару месяцев назад мне попался модуль от магнитолы TUX-032 с управлением по i2c (по сути со встроенным синтезатором частоты). Решено было строить законченное устройство, где и управление и звук будет идти по USB (следовательно ловить шумы-помехи будет проще, так как аналоговая часть ограничена одним корпусом).
В качестве АЦП был выбран PCM2902e. Схема его обвязки из даташита (за исключением источника опорного напряжения АЦП, он на ht7136), хотя я больше чем уверен, что проблема не в компонентах обвеса.
Суть проблемы - по непонятным причинам периодически появляется очень громкое шипение, похожее на белый шум, которое пропадает, если переткнуть USB. Звука на входе в этот момент нет, только очень громкое шипение во всю возможную амплитуду. Оно может возникнуть через 5 секунд после включения, а может и через 4 часа...
В процессе поиска проблемы был исключен источник опорного напряжения АЦП (по даташиту в таком случае используется внутренний на 3.3) - проблема осталась. Если значительно понизить уровень громкости источника (когда при обычном режиме его даже не слышно), помехи рассеиваются и слышен звук с искажениями. Таким образом этот белый шум - это "клиппинг" или "зашкаливание" по всем частотам... В момент срыва "тыканья тестором" показывают везде где можно те же показания что и при нормальной работе. На ножках входа средняя точка около 1.7в, на ножке опорника 3.3в (с внешним 3.6в и средняя 1.8в)...
Топологию платы менял пару раз (успешно поборол все шумы на фоне - на слух идеальная тишина). С топологией перепаивал и всю рассыпуху (было лень выпаивать - ставил новую тех же номиналов), но проблема была во всех случаях одинаковая. Изначально побороть шипение помогало отключении и подключение к входу программно (открытие-закрытие "порта", если так можно выразиться). Сейчас же помогает только сброс питания PCM. Если подождать шипение может пропасть. Но как и появление - оно может пропасть через несколько секунд, а может и не пропасть. Так же полсе того, как перестало помогать программное "передергивание" стал замечать и при нормальной работе щелчки, буд-то выпавшие биты в потоке и постоянная рассинхронизация буферов в софте (воспроизведение быстрее чем запись, если грубо... медленно, но верно есть рассинхрон).
В момент проблемы пробовал тыкаться через резистор 10К везде где можно и к земле и к +3.3в - не пропадает. Пробовал тыкать просто пальцем... не пропадает... Формально на прикосновения чувствителен только выход кварца, что я считаю не удивительно (квац кстати тоже менял на совершенно разные... даже был 4-х часовой марафон по подбору кондеров на кварце - думал вдруг срыв тактирования - но нет... с тактированием всё ровно). Так же заметил, если в момент шипения закоротить ЦИФРОВЫЕ выход и вход - появляется тишина. Если при закороченных ЦИФРОВЫХ с компа подать на выход музыку, она играет на входе как положено (при наличии S/PDIF сигнала, судя по всему, она переключается на него и игнорирует аналоговый вход), стоит разомкнуть - шипение с аналогового возвращается (если оно было до этого).
Раз уж на программном уровне я могу детектировать "срыв", я решил бороться с ним делая цепь "жесткого ресета" питания PCM по команде от софта (который отвечает за ввод звука и вполне может распознать шипение (по огромной амплитуде, по сравнению с обычным звуком)). Дело в том, что находясь за рулем, слушая радио - подобный "срыв" в шипение буквально заставляет подпрыгнуть - его громкость значительно выше звука и "срыв" резкий... Перед этим я пытался "рвать" для сброса всю аналоговую землю - зависает (на ней сидит земля кварца и PLL). Начал рвать землю "AGNDC" - земля кодека... надеясь "перезагрузить" только аналоговую часть - при отключении земли АЦП работает секунд 30 и звук медленно становится тише... при замыкании вновь возвращается, но связи с шипением "дергая" эту ножку я не обнаружил.
Второй PCM2902 у меня нет, чтобы попробовать перекинуть - я уже почти уверен, что проблема в ней самой... ибо остальные её части работают без нареканий... Возможно я её поджарил при запаивании, хотя по опыту не одну сотню чипов всех сортов и расцветок запаял и проблем с этим не было. Может брак, ибо брал на ебее...
Если бы не эти неожиданные срывы - всё было бы идеально... Они, кстати, проявляются при любых частотах, битности и каналах (1,2)... К сожалению поиск наводит только на статьи про ЦАП, про использование PCM290x как АЦП - информации мало...
Собственно вопрос, сталкивался ли кто с подобным поведением? Может я упустил что-то очевидное, так как преимущественно работаю с цифрой и лишь изредка с аналогом...
Ну и элемент печатки... Подсвечена цифровая земля. Оборотная сторона почти вся залита землей, но есть несколько дорожек и стабилизаторы для тюнера. Справа микросхема USB хаба FE1.1s, от неё собственно шинка на PCM и ATmega328 (с программным USB HID).
Источник опорного (над PCM) выпаян. Аналоговая земля сейчас соединена с цифровой на конденсаторе ровно слева от PCM. Номиналы обвеса по даташиту...
Ну и внешний вид...
Социальные закладки