Приветствую, может кто поделиться схемой SM5842APT + PCM58
В сети так не нашёл инфы работают они вместе или нет
Приветствую, может кто поделиться схемой SM5842APT + PCM58
В сети так не нашёл инфы работают они вместе или нет
Спасибо вам обоим.
Буду делать по мере сил.
dortonyan, спасибо вам и остальным участникам форума за объяснения. Иначе многие технические моменты так и остались бы для меня непонятными, когда не имеешь ни образования в области радиоэлектроники, ни соответствующего опыта.
А не подскажите, как можно схемотехнически реализовать сигнал DG без использования ПЛИС применительно к TDA1541A + SAA7220 или CXD1162P? Хоть эти ЦФ и считаются весьма посредственными, но если будет возможность замутить в такой связке УВХ, то почему бы не попробовать хотя бы в качестве лабораторной работы?
В самом-самом простом случае для строба деглитчера используется сигнал обновления ЦАПа (WSBD в случае 7220, WCK в случае 1162), а схема ключей выбирается так, чтобы низкий уровень управляющего сигнала был режим хранения.
Т.к. ключи переключаются быстрее, чем обновляется выход ЦАПа, то должно работать. У меня по крайней мере на индустриальном ЦАП работало.
Ну а если делать более надежно, то следует добавить схему на D-триггерах, которая придержит загрузку и обновление ЦАПа на один такт (или на пол такта) мастерклока.
Или найти ЦФ, у которого есть отдельный сигнал DG: DF1700, SM5803/5813/5841/5842/5847, PMD100, YM3434 и т.п.
Да. Но для 1541 проще вводить подстройку бит через выводы фильтров DEM ячеек: https://forum.vegalab.ru/showthread....=1#post3182682
Да, вы будете первым. Только потенциометров надо максимум 15, самый младший бит не калибруется, он опорный.
Но там же на схеме изображены только триггеры, а нужно же еще на них подать биты данных. Это надо еще добавлять схему на 595-ых регистрах, или делать сразу на ПЛИС.
Ну и самые-самые младшие биты калибровать не надо, младшие 3..4 бита по идее должны быть еще ровные. Думаю разрядов 8..10 старших если откалибровать, то уже будет неплохо.
Впрочем, если есть работающий ЦАП на 1541, можно заранее обмерить тестовыми сигналами на величину нелинейностей все биты, и исходя из этого определиться с кол-вом подстроек.
Это как раз не проблема, в саудфорже элементарно все делается.
Я даже где-то на форуме выкладывал сигналы, если надо - сделаю еще.
Вот почему то автор этих мс 1541 не написал нигде про подстройку или использования ДГ. На некоторые цап рсм конкретно рекомендована подстройка, ДГ. С чем связано, как думаете?
Думаю с тем, что во времена когда разрабатывалась микросхема, даже штатное исполнение это было мега круто.
PCM58 в ДШ тоже позиционируется как Glitch-Free, и тем не менее работу деглитчера видно невооруженным глазом, и даже ухом.
Пожалуйста.
Первый бит - старший, далее по уменьшению. Синусы для более точной подстройки на спектре. Трианглы для проверки нелинейностей по осциллограмме. И то и другое смотрится в спектраплюсе.
Сигналы 24-х битные. Если для воспроизведения нужно преобразовывать в 16, то обязательно с дизером.
Ну и не забывайте при воспроизведении отключить все аттенюации, иначе уровни смещений поплывут.
Да, забыл еще упомянуть нюансы калибровки (во избежание проблем и непоняток).
1. Калибровка выполняется итерационно от младшего бита к старшему.
2. Если в схеме есть деглитчер, то точная калибровка на синусах по спектру выполняется с работающим УВХ, а для калибровки по осциллограммам трианглов УВХ нужно отключать (переводить на постоянную в режим выборки). Если УВХ в схеме нету, то калибровку соот-но следует делать только по осциллограммам трианглов.
dortonyan, а вы могли бы пояснить принцип создания калибровочных сигналов? На примере ваших triangle_-76db_bit_MSB-1 и triangle_-76db_bit_MSB-6. Попробую сделать самостоятельно в Sound Forge. Правда, пока не знаком с этой программой. Синус -76 дБ сгенерить в WaveGen - это действительно не проблема. А каким уровнем должен быть треугольник и как из него убрать "лишние биты" не очень понятно.
Скорей всего, мне придётся пользоваться CD-диском и нужны будут файлы 44.1/16 и большой длительности, т. к. за минуту обычно ничего не успеваю
Нарисуйте на бумажке ступеньку скажем из 16-ти уровней (на 4 разряда) и распишите двоичный код напротив каждой ступеньки. Самая нижняя (нулевая) будет иметь значение нуль (в двоичном коде 0000), самая верхняя - 15 (в двоичном коде 1111).
Таким образом будет видно какие биты на каких участках шкалы изменяют свое значение. Точно так же будут переключаться и токовые сегменты ЦАП с двоичной матрицей.
Смысл калибровки такого ЦАП заключается в том, чтобы выровнять вес калибруемого бита с суммой весов всех бит, которые младше. Например 7 в двоичном коде это 0111 (старший бит слева), а 8 это уже 1000. Вес единицы (старшего бита) во втором коде равен весу трех единиц (трех младших бит) в первом коде + 1LSB. LSB - вес самого младшего бита в ЦАП.
Таким образом при калибровке каждый калибруемый бит (от младшего к старшему) выравнивается относительно суммы всех бит, что младше калибруемого.
Триангл выбирается небольшой амплитуды, но такой, на котором будет удобно смотреть погрешность. Если размах сигнала будет 1000 LSB, то рассмотреть в нем погрешность в 1/4LSB будет невозможно. Другое дело, если амплитуда 8..10 LSB. Получается пила размахом в 16..20 ступенек, на которой хорошо видно смещение диф. нелинейности. Другая причина, по которой амплитуда сигнала должны быть небольшой, это чтобы сигнал не задевал участки шкалы, на которых переключаются старшие биты.
Остается только сделать так, чтобы середина триангла попадала на участок кода, где происходит переключение калибруемого бита (т.е. где будет интересующая нас погрешность бита). Для этого в саунфорже используется функция process->DC offset, в которой для сигнала можно задавать постоянное смещение в LSB.
Например, старший бит переключается только в середине шкалы, поэтому для него смещение не требуется.
Следующий бит, помимо середины шкалы, переключается на смещении в +1/4 и в -1/4 шкалы. Середину шкалы уже занята старшим битом. Допустим задаем в +1/4 (я обычно задаю смещения в плюс).
Следующий бит переключается на участке каждые 1/8 шкалы. Например на +1/8 (+1/4 уже занято), следующий на +1/16 и т.д.
Если разрядность сигнала 16 бит, то это 65536 уровней, или 65535 ступеней. Смещение соот-но можно задать от -32768 до +32767.
Смещение в +1/4 шкалы это +65536/4 = +16384. Смещение в +1/8 шкалы это +8192, и т.д.
Кстати, в ДШ на индустриальный DAC729 описан такой же способ калибровки. Только когда писался даташит компьютер и измериловка, сравнимая с современной звуковой картой, были роскошью. Поэтому там предлагается сравнивать веса прецизионным вольтметром на постоянном токе.
Сейчас проще смотреть звуковой картой, да и термостабильность 1541 хреновая, на постоянном токе калибровать будет проблематично.
Для примера, в спектраплюсе калибровка AD1851 выглядит так:
Погрешность DNL в минус.
Погрешность DNL в плюс.
Без погрешности.
По центру триангла видно только ямку, это глич ЦАПа.
Последний раз редактировалось dortonyan; 17.12.2023 в 22:39.
dortonyan, спасибо! Занимательно объясняете.
Теперь понятно, "куда деваются лишние биты" Всё-таки ЦАП калибровать - это не операционники перетыкивать
Как в Cd-проигрывателе откалибровать 58е ?
Если есть потенциометры, то надо их крутить. Подавать треугольные сигналы с диска.
Сергей.
Социальные закладки