Прогресс не обошёл стороной не только велосипед. Сегодня традиционные переменные и подстроечные резисторы в очень многих приложениях уступают место цифровым сопротивлениям. В англоязычных источниках их называют digital potentiometer, RDAC или digiPOT. Область применения этих устройств гораздо шире регулировки уровня звукового сигнала. В частности они приходят на помощь в очень многих случаях, когда требуется изменять параметры обратной связи, что трудно реализовать с помощью традиционных ЦАП.

Особенно эффективно их применение в связке с операционными усилителями. Так можно получить регулируемые усилительные каскады, преобразователи разного рода величин, фильтры, интеграторы, источники напряжения и тока и многое многое другое. Словом эти очень недорогие и компактные устройства могут быть полезными каждому разработчику электроники и радиолюбителю…

Изначально я хотел написать краткую статью, но в результате углубленного изучения темы материал с трудом уместился в две части. Сегодня я постараюсь рассказать об архитектуре данных устройств, их возможностях, ограничениях использования и тенденциях развития. В заключении вскользь затрону тему областей применения, поскольку конкретные примеры практической реализации схем на их основе будут рассмотрены во второй части. МНОГО примеров!

Лично я за последние пять лет с успехом применял цифровые сопротивления в нескольких своих разработках, надеюсь что данный цикл статей окажется полезным для многих и поможет вам решать многие задачи более изящно и просто, чем сегодня. Людям, далёким от разработки электроники данная статья может просто расширить кругозор, показав как эволюционируют под натиском цифровых технологий даже такие простейшие вещи, как переменные резисторы.

P.S.Так получилось, что уже вышла ещё одна статья из этой серии и в ней пример всего один, зато подробно разобранный. Для остальных обещанных примеров придётся писать третью.

Архитектура.


Для того, чтобы понять как работает данное устройство обратимся к функциональной схеме. На ней изображена аналоговая часть цифрового 8 битного сопротивления.



Основа прибора — 255 резисторов одинакового номинала и выполненные по технологии КМОП двунаправленные электронных ключи. Цифровое значение в интервале 0-255 записывается в регистр с которого подаётся на дешифратор. В зависимости от значения, сохранённого в регистре, срабатывает один из ключей, подключающий средний вывод W к выбранной точке в линейной матрице сопротивлений Rs. Ещё два ключа служат для подключения крайних выводов А и В. С их помощью прибор может переходить в неактивный режим.

Выводы А и В — аналоги крайних выводов переменного сопротивления, W — среднего вывода к которому у обычных переменных резисторов крепится движок.



Возможные схемы включения также аналогичны традиционным переменным сопротивлениям…

Рассмотрим как устанавливается требуемое сопротивление на примере 10 килоомного резистора. Для начала вычислим значение каждого из резисторов сборки, необходимых для формирования такого сопротивления Rs=10000/256=39,06 Oм. Допустим, мы пытаемся регулировать сопротивление между выводами W и B. Для получения нуля запишем это значение в управляющий регистр, но вместо желаемого нуля получим сопротивление в 100 Ом. Почему? Дело в том, что каждый из контактов прибора имеет своё внутреннее сопротивление и в рассматриваемом случае оно равно 50 Ом, поэтому и минимальное значение, которое можно получить с помощью данного потенциометра равно не нулю, а ста Омам — сопротивлению контактов W и B. Записав в регистр единицу получим 50+50+39=139 Ом.

В общем случае вычислить сопротивление между выводами W и B в зависимости от значения регистра D можно по формуле:



где:
  • D — значение регистра от 0 до 255
  • Rab — номинальное сопротивление
  • Rw — сопротивление одного контакта

Нетрудно догадаться что сопротивление между выводами W и А вычисляется как


Интерфейсы подключения.


Рассмотрим теперь функциональную диаграмму всего устройства, имеющего интерфейс I2C.



Тут некоторые вопросы может вызвать только вывод AD0. Он предназначен для возможности применения в одном канале I2C одновременно двух потенциометров. В зависимости от того, находится ли на нём логический ноль или единица, меняется адрес устройства на шине I2C. Схема подключения двух микросхем на одну шину показана ниже.



Кроме интерфейса I2C, для управления данными приборами часто используется SPI интерфейс. В этом случае также существует возможность управления несколькими устройствами по одной шине. Для этого они объединяются в цепочку. Например так:



В данном режиме буферный регистр записи значений работает как сдвиговый. Каждый новый бит поступает на вход DIN и по стробу с SCLK записывается в его младший разряд. Одновременно бит старшего разряда выходит наружу через вывод SDO и переходит в следующий прибор в цепочке. После того, как записана информация во все устройства, поступает импульс стробирования SYNC, по которому новые значения регистров всех приборов входящих в цепочку перезаписывается из буферного в рабочий регистрор. Очевидный недостаток подобного решения — не существует способа записать информацию в отдельно взятый прибор. Для любого изменения значений требуется обновить содержание регистров во всей цепочке.

Для решения подобного рода проблем, а так же экономии конечной цены решения изготавливают микросхемы, включающие в свой состав два, четыре и даже 6 цифровых сопротивлений одновременно.

Рабочие напряжение и ток


Пожалуй, самым существенным недостатком первых разработок было ограниченное напряжение, допустимое на выводах. Оно не должно превышать напряжения питания которое могло лежать в диапазоне от 2.7 до 5.5В, а главное не могло уходить в отрицательную область, из-за чего применение микросхем ограничивалось устройствами с однополярным питанием. Первым делом инженеры решили проблему двуполярности. Так появились приборы, способные работать как от однополярного напряжения вплоть до 5,5 Вольт, так и поддерживающие режим двуполярного питания вплоть до ± 2.75В. Затем стали появляться версии с максимальным питанием ±5.5 и даже ±16,5(до 33 вольт однополярного у AD5291/5292). Конечно по этому параметру традиционные сопротивления до сих пор сильно выигрывают, но для подавляющего большинства схем и 33 вольт вполне достаточно.

Тем не менее, какое бы максимальное напряжение не поддерживал прибор, в случае если имеется возможность его выхода за пределы допустимого, следует применить хотя бы простейшую защиту с помощью диодов или супрессоров.



Ещё одной серьёзной проблемой является низкий максимальный рабочий ток цифровых сопротивлений, который обусловлен в первую очередь их малыми размерами. Без риска деградации с течением времени средний постоянный ток для большинства моделей не должен превышать 3 мА. В случае, если протекающий ток имеет импульсный характер, его максимальное значение может быть выше.

Борьба за точность. Технология управляемого хаоса


К сожалению, существующая технология изготовления допускает возможность отклонения сопротивления интегральных резисторов, применяемыx в цифровых сопротивлениях, вплоть до 20 процентов от номинала. Однако, внутри одной партии и тем более одного конкретного прибора разница сопротивлений не превышает 0.1%. Для того, чтобы повысить точность установки, производитель стал измерять сопротивление резисторов как минимум на каждой пластине и прописывать в энергонезависимую память каждой из микросхем не номинальное, а реальное сопротивление, которое получилось в ходе производства, с точностью до 0.01 процента. Подобный механизм позволяет в частности в микросхемах AD5229/5235 вычислить реальную точность установки сопротивления c погрешностью недостижимой даже в многооборотных подстроечных резисторах — 0.01 процент. Основываясь на этом можно скорректировать операцию декодирования цифрового кода в сопротивление. Предположим, что элементарное сопротивление имеет значение 100 Ом. Тогда, чтобы выставить сопротивление в 1K вы устанавливаете в цифровом регистре 10. Но если в реальном приборе сопротивления имеют отклонение от номинала в большую сторону и равны 110 Ом, то при уровне 10 вы получите 1,1K. Однако, считав реальное значение сопротивления микроконтроллер может пересчитать код и подаст в действительности на дешифратор вместо десяти код 9. Тогда мы получим в реальности 9*110= 990 Ом.

Кроме этого, AD запатентовала технологию калибровки значения сопротивлений с точностью 1%. К сожалению, я так и не смог найти информации каков её механизм работы.

Для увеличения дискретности установки сопротивления были разработаны приборы с 10 битным дешифратором, обеспечивающие 1024 шага регулировки. Дальнейшее увеличение этого параметра можно достичь используя последовательное или параллельное соединение двух цифровых сопротивлений с разным номиналом.

Температурная стабильность


Тут всё совсем не плохо. Применение резисторов, изготавливаемых по плёночным технологиям позволяет достичь уровня дрейфа не превышающего 35ppm/°C (0,0035%). Существуют приборы с термокомпенсацией, температурный дрейф которых находится на уровне 10ppm/°C. По этому параметру цифровые сопротивления превосходят многие движковые аналоги. Для приложений, в которых данный параметр не актуален, можно выбирать более дешёвые приборы с полупроводниковыми резисторами у которых дрейф находится на уровне 600 ppm/°C.

Рабочий температурный диапазон большинства приборов от ADI находится в пределах от -40°C до +125°C, что достаточно для подавляющего большинства приложений.

Ряд доступных сопротивлений.


Конечно, тут не наблюдается такого разнообразия как у традиционных движковых резисторов, тем не менее есть из чего выбрать. Таблица ниже иллюстрирует зависимость доступных сопротивлений от разрядности прибора.



Искажение сигнала


Основные искажения, сигнала вносимые цифровыми усилителями можно разделить на два класса.

  • Гармонические искажения или на западный манер total harmonic distortion (THD).




Эти искажения возрастают с увеличением приложенного напряжения. Получить представление о их типичных значениях можно из следующей таблицы, составленной для микросхем AD9252…



В отдельных случаях этот вид искажений может возрастать до -60 dB

  • Искажения вызванные нелинейностью АЧХ.

Контактные площадки, электронные ключи и сами элементарные сопротивления имеют конечную паразитную ёмкость. В результате цифровые сопротивления являются своеобразным фильтром ФНЧ и на высоких частотах их сопротивление сигналу увеличивается.

Влияние этого эффекта возрастает с увеличением сопротивления прибора. В таблице ниже показано на какой частоте наблюдается ослабление сигнала на 3 децибела для разных сопротивлений разных номиналов.



Для большей наглядности приведу ещё графики зависимости передачи сигнала от установленного уровня сопротивления для микросхем AD5291 с разными номиналами 20 и 100 килоом.



Таким образом, получается что чем выше номинал сопротивления, тем ниже его рабочая частота.

“Фишечки” эволюции


Производители пытаются сделать работу с прибором наиболее комфортной, изобретая разные приятные мелочи. В результате цифровые сопротивления обзавелись внутренней энергонезависимой памятью, как однократно, так и многократно программируемой.

Главное её предназначение — хранения начального значения сопротивления, которое автоматически устанавливается сразу после включения питания. Первые модели электронных резисторов устанавливались при подаче питания в среднее положение, потом появилась дополнительная ножка для сброса в ноль, затем уровень стало можно задавать с помощью записанного в память значения. В наиболее продвинутых моделях в память можно записать несколько предустановленных значений, между которыми потом пользователь может быстро переключаться нажатием кнопок.

Кстати о кнопках — в некоторых моделях добавили две кнопочки для пошагового увеличения / уменьшения сопротивления.



Кроме этого, появился интерфейс для подключения энкодеров.



Что бы ещё улучшить?


Можно пофантазировать в каком направлении будет развиваться прогресс в производстве цифровых сопротивлений.
Для достижения большей точности может измениться система коммутации.

Например, добавив в традиционную схему всего одно сопротивление в параллельном включении, ну хорошо, два. Ещё одно в верхнее плечо для симметрии — можно увеличить точность установки сопротивлений в два раза! Объединение же в одной корпусе двух приборов даст возможность увеличения дискретности и точности в несколько раз.



Введение в корпус простейшего микроконтроллера, управляющего дишифратором позволит на основе реального значения полученных сопротивлений создать программу переключения для установки сопротивления прибора с очень большой точностью — 0.1% и выше. Интегрировав в такие приборы датчик температуры можно ввести компенсацию для сохранения линейности в очень широком температурном диапазоне. Возможно появление аналогов частотнокомпенсированных сопротивлений для HiFi аппаратуры, которые будут представлять из себя несколько сопротивлений в одном корпусе. Одно из них будет использоваться для регулировки уровня громкости, а другие для частотной компенсации.

Области применения


Конкретные схемотехнические решения на основе цифровых сопротивлений я приведу в следующей части статьи, пока же просто рассмотрим области применения.

Конечно, прежде всего приходит на ум усилители с регулируемым коэффициентом усиления.



В результате повышения точности установки значений, стало возможным применение электронных сопротивления в схемах управления уровнем усиления инструментальных усилителей.



Автоматическое или программное изменение контрастности жидкокристаллического индикатора можно организовать с помощью электронного сопротивления номиналом 10 Килоом.



На основе цифровых сопротивлений легко реализовывать управляемые фильтры. Фильтры высоких порядков часто требуют по несколько задающих резисторов одинаковых номиналов. Это очень удобно реализовать с помощью приборов, содержащих несколько сопротивлений в одном корпусе, поскольку в этом случае мы получаем отличную повторяемость. На рисунке приведена упрощённая схема простейшего управляемого ФНЧ.



Логарифмический усилитель, со сравнительно высоким напряжением питания, на основе AD5292.



Программно управляемый стабилизатор напряжения.



Линейный ряд от ADI


В заключении приведу полную список доступных на сегодня электронных потенциометров от компании Analog Devices. При этом следует отметить, что подобные приборы выпускает далеко не только эта фирма. Например, MAXIM также давно делает неплохие микросхемы.

Для начала приборы, которые не поддерживают программирование пользователем.



В заключении программируемые приборы. При выбора конкретной модели стоит обращать внимание на то что они бывают как однократно программируемыми, так и поддерживающими репрограммирование. Причём большое количество циклов обеспечивают только микросхемы с памятью выполненной по технологии EEPROM.



На этом заканчиваю обзор. Следующая статья будет посвящена рассмотрению практических схем с применением цифровых сопротивлений.

P.S. Так получилось, что уже вышлаещё одна статья из этой серии и в ней пример всего один, зато подробно разобранный. Для остальных обещанных примеров придётся писать третью.

Комментарии (85)


  1. j_wayne
    14.06.2015 08:33
    +2

    Спасибо, очень интересно!
    Видимо, это довольно новые микросхемы — не у всех отечественных поставщиков есть (даже под заказ).


    1. progchip666 Автор
      14.06.2015 09:31
      +1

      Спасибо. Я бы не сказал что слишком новые. AD5245 я применял в своих разработках ещё 6 лет назад и она тогда была широко распространена. Но после этого линейка значительно расширилась. Пожалуй я добавлю в конец статьи сегодняшнюю линейку от ADI.


    1. olartamonov
      14.06.2015 10:44
      +2

      AD5245 — больше 10 лет. Просто вещь специфическая и редко используемая, поэтому и ассортимента особого нет.


      1. progchip666 Автор
        14.06.2015 11:23

        Вот именно этот недостаток я и пытаюсь исправить. У меня такое впечатление что об этом классе приборов просто мало кто знает, потому и используют крайне редко. Честно говоря, сам в своё время случайно на них наткнулся.


        1. Alexeyslav
          15.06.2015 14:57
          +2

          Интерес есть, ценники не радуют. Нынче применять их есть смысл там где без них вообще никак. Для контраста LCD я бы такой применил ТОЛЬКО при стоимости одной микросхемы менее 10 рублей. Иначе подача напряжения на тот же вывод при помощи ШИМ обходится проще, а еще проще — простой подстроечный резистор. Слишком жирно пускать на регулировку контраста ЖК деталь стоимостью чуть ли не в половину самого дисплея.


  1. amartology
    14.06.2015 11:49
    +1

    А из чего делают сами резисторы для приборов с малым температурным дрейфом? Хитро компенсируют резисторы на чипе, или что-то внешнее под корпусом? Или там более продвинутая цифровая подстройка?
    В теории же можно поставить bandgap и дальше в реальном времени изменять значение подстроечных коэффициентов.


    1. progchip666 Автор
      14.06.2015 12:02

      Я так и не понял в чём заключается запатентованная однопроцентная технология. Теоретически существует технология, подгоняющая лазером плёночные резисторы, но она очень дорогая, да ещё для такого количества. Гораздо дешевле интегрировать в чип мозги в виде простейшего микроконтроллера, нашлёпать около крайних выводов резисторов, параллельных базовым и зная точное сопротивление подсоединять/отсоединять их в зависимости от кода. Такой «интеллектуальной цифровой подстройкой» можно добиться хорошей точности. Вы и сами можете сделать что то подобное уже сегодня просто соединив два сопротивления с номиналами, отличающимися на порядок. Зная их реальное сопротивление можно будет выставлять нужные значения очень точно.


      1. Alexeyslav
        15.06.2015 15:05

        Скорей не резисторы нужны, а просто несколько ключей в параллель подключить вместо резистора. У них самих сопротивление есть само по себе и сравнимо с сопротивлением одной ступени регулировки, а то и больше.
        Но вообще, с таким подходом можно штамповать реостаты с матрицей R-2R и довольно высоких разрядностей. Почему их не применяют в цифровых потенциометрах? А потому что коммутация будет вызывать изменение общего сопротивления между выводами A-B что вобщем-то не есть хорошо. Но очень заманчиво — вместо 1024+ ключей для 10-битного потенциометра надо всего лишь около 40 штук ключей(20шт на одно плече по 2 шт. на отвод R-2R матрицы).
        Почему нет потенциометров на R-2R матрицах? какой-то заговор? Или хотябы просто реостат на R-2R… большой разрядности(12...16...24 бита) а не жалкие 5..8 бит.


        1. progchip666 Автор
          15.06.2015 15:29

          Ну да, можно было бы реостаты штамповать вместо потенциометров, для многих случаев это достаточно. Кстати есть вроде у ADI цифровые сопротивления у которых можно отдельно верхнюю и нижнюю часть регулировать. Насколько я понимаю при этом меняется общее сопротивление.


  1. Muzzy0
    14.06.2015 12:28
    +2

    А умеют ли эти резисторы запоминать последнее состояние, чтобы вернуться к нему при старте?

    Если да, то, допустим, при регулировке громкости с микроконтроллера достаточно давать дискретный выход на ± и не связываться с I2C или SPI.


    1. progchip666 Автор
      14.06.2015 12:41

      Хороший вопрос. Мне пока про такие не известны. Возможно подобные существуют от других фирм. Однако можно наладить бизнес — скрестить подобные резисторы с простейшим китайским холтеком на маленькой платке и сделать крутой интеллектуальный прибор!
      Пока же вам самим надо об этом позаботиться, написав соответствующую программу в управляющем микроконтроллере.


      1. eta4ever
        14.06.2015 13:11

        Я сейчас бегло пролистал даташит на AD5231, мне кажется, он так может. Но могу ошибаться. Или оно не может автоматически, без команды скидывать содержимое регистра в память?


        1. progchip666 Автор
          14.06.2015 13:22

          The basic mode of setting the variable resistor wiper position
          (programming the scratchpad register) is accomplished by
          loading the serial data input register with Instruction 11 (0xB),
          Address 0, and the desired wiper position data. When the
          proper wiper position is determined, the user can load the serial
          data input register with Instruction 2 (0x2), which stores the
          wiper position data in the EEMEM register. After 25 ms, the
          wiper position is permanently stored in the nonvolatile

          А если по русски, то после того, как вы установили новое значение сопротивления вы можете подать с микроконтроллера ещё одну команду и она сохранит это новое значение в энергонезависимой памяти. После рестарта будет восстановлено именно это значение.
          Автоматического сохранения я, по крайней мере в этом приборе, не нашёл. Видимо это сделано специально, поскольку количество циклов записи во FLASH память конечно и если ваша программа часто будет менять сопротивление, то прибор может достаточно быстро исчерпать её ресурс. Работать он после этого скорее всего будет, но с глюками.


          1. eta4ever
            14.06.2015 13:40

            Да, я так логику и понял, при включении в регистр загружается значение из памяти, а из регистра в память — только по команде. Но все равно странно, почему бы не предусмотреть возможность «прямой» замены потенциометра без необходимости городить огород. Например, микросхема с подключенным энкодером и сохранение установленного значения с задержкой в единицы секунд.

            А так, для реализации такого функционала придется лепить еще тиню какую-нибудь сбоку. Я подразумеваю, что изначально устройство безмозглое.


            1. progchip666 Автор
              14.06.2015 13:45

              Видимо это сделано специально, поскольку количество циклов записи во FLASH память конечно и если ваша программа часто будет менять сопротивление, то прибор может достаточно быстро исчерпать её ресурс. Работать он после этого скорее всего будет, но с глюками.


              1. eta4ever
                14.06.2015 13:46

                Да, это я прочитал. И все равно не понимаю, почему не предусмотреть описанный мною режим для относительно редкой смены установки. Опять же, теоретизируя, можно не применять флеш, а предусмотреть питание одного регистра от ионистора.


                1. progchip666 Автор
                  14.06.2015 13:55

                  Видимо чтобы не нарваться на проблему с гарантией. Попробуй докажи потребителю что у него слишком часто менялось сопротивление, когда возвраты пойдут. Сделать малопотребляющий регистр — лучшая идея, но вопрос насколько его применение согласуется с из сегодняшней технологии производства. Со временем может к этому и придут.
                  Помню как были проблемы у аонщиков, которые время хранили в EEPROM перезаписывая каждую секунду.


                  1. eta4ever
                    14.06.2015 14:01
                    +1

                    О. Что интересно, нашел с автосохранением.

                    The AD5116 can automatically save the last wiper position into EEPROM, making it suitable for applications that require a power-up in the last wiper position, for example, audio equipment.

                    1 million write cycles


                    1. eta4ever
                      14.06.2015 14:17
                      +1

                      Причем, работает именно по описанной мною выше логике

                      If there is no activity on inputs during 1 second, the AD5116 stores the RDAC register data into EEPROM


    1. eta4ever
      14.06.2015 13:07

      Тоже когда-то искал. Сейчас вроде насвкидку гуглится AD5231.


      1. eta4ever
        14.06.2015 13:41

        Но наверное, все-таки, не то.


    1. Alexeyslav
      15.06.2015 15:09

      Существует опасность что однажды рассинхронизация значений все-таки произойдет(ошибка при сохранении текущей позиции в EEPROM, зависание контроллера в процессе регулировки когда он не успел сохранить текущее значение или успел сохранить но не выдал команду на потенциометр) и поведение прибора будет неадекватным.
      Итого имеем перечень возможных проблем и всё те же 2 провода для управления…


  1. enclis
    14.06.2015 13:09
    +1

    Логарифмический усилитель, со сравнительно высоким напряжением питания

    Это скорее линейный усилитель (усиление не зависит от уровня произвольного входного сигнала) с возможностью усиления по логарифмической шкале. 10 бит не очень серьёзно для логарифма.


    1. progchip666 Автор
      14.06.2015 13:10

      По сути вы правы. Но с другой стороны и в обычных однооборотных и даже движковых сопротивлениях с логарифмической характеристикой точность ручной установки вряд ли будет выше.


      1. McSava
        14.06.2015 14:43

        Логарифмический усилитель усиливает сигналы с уровнями близким к напряжению питания с коеффициентом равным 1, а сигналы близкие к уровню смещения на 1000. Так мы можем получить широкий динамический диапазон без применения переключателей в канале усиления. И избавится от шумов подстройки усиления, которые возникают и при использовании цифровых потенциометров и поворотных переменных резисторах.


        1. progchip666 Автор
          14.06.2015 15:05

          Я в курсе. Ничто не мешает сделать логарифмический усилитель на основе ОУ, а для регулировки использовать обычное сопротивление, если динамический диапазон перестройки данной микросхемы подходит. Вообще то в аудиотехнике используют переменные сопротивления с логарифмической характеристикой прежде всего потому, что ухо человека имеет логарифмическую характеристику чувствительности. С их помощью создаётся иллюзия линейного изменения громкости звука. Кроме этого, у уха ещё и чувствительность к разным частотам зависит от уровня громкости, поэтому используют резисторы со специальными отводами для корректировки АЧХ. В принципе подобное можно реализовать на нескольких цифровых сопротивлениях дешевле чем на HiFi сопротивлениях.


  1. barabanus
    14.06.2015 14:33

    Подобный механизм позволяет в частности в микросхемах AD5229/5235 вычислить реальную точность установки сопротивления c погрешностью недостижимой даже в многооборотных подстроечных резисторах — 0.01 процент.

    Не понимаю, как возможна такая точность подстройки корректировкой кода. Если у нас есть даже 1024 возможных значений кода (максимум из вашей таблицы), то это дает возможность подстройки ±0.05%. И то это только для низких частот (< 500 Гц для 10 кОм, для бoльших сопротивлений еще меньше).


    1. McSava
      14.06.2015 14:59

      Тут, скорее всего, нужно понимать под точностью установки — повторяемость установки одного и того же сопротивления. А не соответствие значению сопротивления из ряда 0,01%.

      Ну и двумя разными сопротивлениями с большим и малым мы можем варьировать наше сопротивление в широких пределах, с малым шагом, но сложнее — за две установки сопротивления.


      1. progchip666 Автор
        14.06.2015 15:06
        -1

        именно так.


        1. McSava
          14.06.2015 15:14

          К тому же у нас в устройстве 256/1024 примерно одинаковых сопротивлений, зная отклонение каждого в "+" и в "-", мы можем подбирать пары, отклонения сопротивлений которых будут взаимно компенсировать друг друга.


          1. progchip666 Автор
            14.06.2015 15:17

            Да, можно создавать фактически прецинзионные резисторы. Жалко что производитель не делает пока устройств, совмещающих разные номиналы в одном корпусе. Это вообще было бы круто.


          1. barabanus
            14.06.2015 15:30

            Произвольное включение резисторов мало того, что усложнит схемотехнику, но и добавит больше ключей, что существенно ухудшит частотную характеристику.


      1. barabanus
        14.06.2015 15:23

        Дело в том, что автор написал про корректировку цифрового кода с примером (хотели 1 кОм с кодом 10, а микросхема поставила код 9), а не про повторяемость установки одного и того же сопротивления, почитайте абзац «Борьба за точность. Технология управляемого хаоса.»


    1. progchip666 Автор
      14.06.2015 15:09

      Из приведённого мной графика видно что для 10КОм АЧХ практически линейна вплоть до 100 КГц.


      1. barabanus
        14.06.2015 15:19
        -1

        А вы посчитайте в процентах. Если -3 дБ приходится на 1 МГц, то 100 кГц (в 10 раз меньше) — это, грубо говоря, 10% ослабление.


        1. progchip666 Автор
          14.06.2015 15:23

          Потрудитесь пожалуйста посмотреть на график, который я привёл в статье. Там отлично видно что характеристики АЧХ сильно нелинейная и достаточно резкий спад начинается весьма далеко после 100КГц, поэтому ваша аппроксимация некорректна.


          1. barabanus
            14.06.2015 15:33

            Я ссылаюсь на вашу таблицу: спад -3 дБ для 10 кОм — 1 МГц.
            На графике сложно увидеть спад -0.3 дБ для 100 кГц — эта точка кривой будет находится в том же пикселе, что и 0 дБ.


            1. progchip666 Автор
              14.06.2015 16:25

              Увидеть нельзя, но при это хорошо видно что зависимость не имеет линейный характер и ваша линейная аппроксимация недопустима в данном случае. Каково реальное значение ослабления на 100 КГц можно только догадываться.
              Если вас очень сильно интересует этот вопрос можете либо воспользоваться службой поддержки ADI я к сожалению там не работаю, либо приобрести измерительные приборы и провести реальный эксперимент.
              Надеюсь, что во втором случае опубликуете на этой площадке результаты своих исследований. Будет без иронии очень интересно почитать.


              1. barabanus
                14.06.2015 21:31

                Нелинейность в данном случае оценена и представлена вами в таблице «total harmonic distortion». Даже если взять худший случай в 60 дБ понятно, что доля нелинейных искажений — одна тысячная. Значит, вся цепь для каждого конкретного сопротивления может быть представлена сугубо линейными элементами с поправкой одна тысячная в худшем случае. Причем заметьте, что кривая не имеет пиков. По вашим графикам не виден коэффициент затухания после точки перелома, но подозреваю, что это 6 дБ/октаву. Следовательно, эта зависимость не более нелинейна, чем простой RC-фильтр.


          1. barabanus
            14.06.2015 15:53

            Смотрите, ведь вы заявили о прецизионности данных резисторов, причем менее одного процента, а это сразу накладывает жесткие ограничения на условия эксплуатации. Если у нас имеется ФНЧ с одним полюсом, то нам приходится пользоваться частотами, во много раз меньшими, чем частота спада, чтобы по-прежнему оставаться в пределах указанных погрешностей. Как вы собирались на таком маленьком графике показывать спад меньше одного процента?


            1. progchip666 Автор
              14.06.2015 16:21

              Это не я заявил, это производитель заявил. Можете написать ему письмо или поучаствовать в форуме и задать свои вопросы специалистам из первых рук.


              1. barabanus
                14.06.2015 18:24

                Так ведь здесь нет противоречия: производитель указал точность и указал условия, в которых она соблюдается. Я не совсем понимаю, почему вы настаиваете, что погрешность менее одного процента для 10 кОм достижима на частоте 100 кГц. Производитель говорит, что это не так, указав начальную погрешность и частоту спада. «Практически линейна», «резкий спад» и «весьма далеко» — это пустые слова для Человека с Калькулятором.


  1. Alex013
    14.06.2015 16:06

    К сожалению, эти прогрессивные элементы не применимы в HiFi аудио и выше :(…
    Нелинейность ключей оказывает грустное влияние на звук :(…


    1. progchip666 Автор
      14.06.2015 16:28
      +1

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


      1. Alex013
        14.06.2015 17:22
        +1

        Соглашусь и я с вами :)… Да, лампы вносят сильные искажения (которые некоторым нравятся), а самые сильные искажения вносят динамики. Но вопрос не столько в количестве искажений, сколько в их характере. Так вот именно о «характере» искажений я и говорил.


    1. eta4ever
      14.06.2015 16:43
      +3

      Ну, это вообще отдельная планета. Со всякими моторизированными потенциометрами.


      1. progchip666 Автор
        14.06.2015 16:52
        +1

        Ну это уже совсем крутой HiFi, собираемый вручную за десятки тысяч долларов!


      1. progchip666 Автор
        14.06.2015 16:54

        Кстати, движки при вращении, и движки при скольжении создают жуткие помехи! В таких усилках вообще часто используют несколько предустановленных уровней громкости, каждый со своей тонкомпенсацией и переключают механическими переключателями.


        1. eta4ever
          14.06.2015 16:57
          +2

          Да, было дело, паял дискретный регулятор громкости. Без тонкомпенсации, правда. Но все равно веселая штука.


          1. progchip666 Автор
            14.06.2015 17:45

            Круто! Но резонно встаёт вопрос: а как в этом случае борются с помехами переключения? Ведь усилитель даже в сотню ватт может прилично ударить по ушам в этот момент!


            1. eta4ever
              14.06.2015 17:51

              А вот это надо вспоминать устройство. Что не долбило, помню точно. Скорее всего, там сначала замыкание, потом размыкание идет.


    1. evtomax
      14.06.2015 16:46
      +3

      Искажения на уровне -106 дБ наверно очень ощутимо портят звук :-)


      1. barabanus
        14.06.2015 18:08
        +1

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


      1. Alex013
        14.06.2015 19:15
        +1

        Вы не поверите, но 3-5 гармоники (именно нечётные) весьма слышны на приличной аппаратуре даже на таком уровне. В первую очередь страдает голос, особенно женский — он становится как-бы «слега простуженным».


        1. progchip666 Автор
          14.06.2015 19:52

          Интересно, какова приблизительная стоимость усилителя, на котором можно подобные искажения почувствовать?


          1. Alex013
            14.06.2015 21:54
            +2

            А это будет зависеть от цели — если хотеть «услышать проблему» — достаточно поставить цифровой резистор в ОС ОУ, который включить перед регулятором громкости. Такое включение позволит подчеркнуть проблемы цифрового резистора, т.к. они будут усиливаться ОУ. Далее такой эксперимент: сделать итоговый КУ этого блока с ОУ равным единице, и подать сигнал с приличного источника. Поставить комфортную громкость (~5W RMS), после чего ослабить КУ до -20db (в 100 раз), а регулятором громкости вернуть подводимую к колонкам мощность до исходной. Разница будет хорошо слышна, т.к. даже «идеальные -106db» в этом случае превратятся в весьма ощутимые -86db. Для такого эксперимента подойдёт любой аналоговый стереоусилитель категории «за $300». Конечно, надо использовать и источник (ЦАП) и колонки хотя бы таких же ценовых категорий.
            Что же до реальной ситуации — когда цифровой резистор будет не в ОС, а просто в роли ограничителя — ситуация, конечно, не будет такой бросающейся в уши. Но даже в промышленном комплекте, где ЦАП-УМ-АС — всё «по $1000», такой регулятор громкости будет слышен. А если говорить о самосборных конструкциях похожей ценовой категории, которые по итогу играют вровень с комплектами ~$10000 — разница слышна очень. И выигрывают, как ни странно, переменные резисторы ALPS, начиная с весьма демократичной серии R27 (~$50). А уж брать ли их моторизованными — вопрос религии ;)…


            1. progchip666 Автор
              15.06.2015 00:07

              Спасибо за комментарии. Про ALPS даже я наслышан. Торговали ими когда то.


        1. evtomax
          14.06.2015 22:40
          +1

          Не поверю. Слепые тесты проводились?


          1. Alex013
            14.06.2015 23:04

            Во что не поверите? Что ухо слышит -86db?


            1. evtomax
              15.06.2015 00:12

              То, что это будет восприниматься на фоне музыки, поверю только после слепых тестов. -86 дБ даже в тишине с трудом расслышишь, напряжённо вслушиваясь. А сигнал, у которого искажения -86 дБ, звучит на уровне 0 дБ.


  1. Alex013
    15.06.2015 00:36
    +1

    Как уже говорилось — искажения бывают разные, и «слышимость» их разная. Хотите тестов — милости просим. Я в Питере, и времени летом достаточно… Оборудования сейчас дома с запасом.
    Из последних «слепых тестов»: недавно проверяли регулятор громкости на CS3310, на предмет оправданности его замены в ДК-рессивере на PGA2311. Не смотря на однозначно более высокие параметры последнего, которые действительно слышатся, было решено менять регулятор во фронтальном канале на релейный. С реле, кстати, то же не всё просто — не все способны работать на слабых сигналах. Вообще, вы не учитываете того, что искажения далеко не всегда падают вместе с силой сигнала, а сигнал — ДАЛЕКО не всегда находится на уровне «0db».

    Вообще — вера, это вопрос религии ;)… Не вижу смысла здесь разводить аудио_холивар — для этого есть специально заточенные ресурсы. Смысл моего первого поста был предостеречь автора от предложения в следующей части статьи использовать цифровые резисторы в приличном аудиотракте.


  1. gleb_l
    15.06.2015 13:13

    Интересно, а каков порядок значения теплового шума сабжей, как функции от количества скоммутированных МОП-ключей? В даташите навскидку не написано, а ведь каждый замкнутый МОП-канал — это шумовой ток. Соответственно, чем больше ключей замкнуто — тем выше его значение.

    Можно попробовать провести такой эксперимент — взять малошумящий ОУ, охватить его ООС, например с коэффициентом 1:1000, посадить вход на землю, и оценить величину шума в варианте а) обычного резистора в плече ОС; b) digiPot'а c таким же сопротивлением.
    Полосу частот для определенности можно волюнтаристски ограничить сверху, скажем, звуковым диапазоном, поставив на выходе ОУ обычный RC-фильтр со срезом 20-30 кГц.

    Еще интересен порядок коммутационного шума в процессе обмена по i2c и/или изменения сопротивления — эти устройства полностью статические (то есть в отсуствие внешних изменений никаких тактовых сигналов внутри не тикает, которые, имея широкий спектр, неминуемо пролезли бы в выход) — а вот обмен на шине (даже с чужим устройством), и особенно, собственная перестройка должны обязательно отразиться на выходе


    1. progchip666 Автор
      15.06.2015 13:18

      У меня в статье описка, спасибо что заметили, сейчас поправлю. На всё сопротивление во включенном состоянии в рабочем режиме находятся только 3 ключа. Два подключают к крайним выходам последние сопротивления в ряду и один одно из сопротивлений сборки к среднему выводу. Тепловые шумы скорее будут генерироваться сопротивлениями больших номиналов. Кое что об этом есть в моей следующей статье.
      Что касается шины — прокладывайте отдельную шину только для цифровых резисторов в случае если шумы очень важны.


      1. gleb_l
        15.06.2015 14:41

        Интересно, что там не коммутационная матрица R-2R, которая требует log2(N) ключей, а линейный резистор с отводами, который требует полного дешифратора и N ключей — видимо именно для того, чтобы сохранить константным добавленное сопротивление канала. Но не в этом суть — интересен именно порядок величины шума, скажем цифрового резистора 100 кОм относительно обычного графитового того же номинала.

        Насчет цифровых шумов с шины — тут дело даже не в трассировке — так как потенциометрическая часть у них by design висит в воздухе, схемотехнически аналоговая и цифровая части могут (и скорее всего не будут) вообще не иметь общих цепей. Дело в другом — крутые фронты цифры через паразитные емкости на кристалле скорее всего будут проникать в аналоговую часть — интересно, насколько сильно. Если у вас уже есть готовая конструкция регулятора громкости из второй части — это ведь можно легко проверить даже на слух


        1. progchip666 Автор
          15.06.2015 15:34

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


        1. progchip666 Автор
          16.06.2015 00:00
          +1

          кстати, можно вообще сделать опторазвязку для интерфейса управления, заодно она и крутые фронты завалит если использовать дешёвые и тормозные оптопары. :)


  1. HWman
    15.06.2015 15:04

    А мне такое решение нравиться:


    1. progchip666 Автор
      15.06.2015 15:35
      +1

      Вообще то коллекторные движки во время работы генерируют просто ужасные помехи, которые просто не могут не пролезть в аудиотракт… Видимо с этим аудиофилы готовы смириться, ведь они имеют место быть только во время перестройки…


      1. Alex013
        15.06.2015 15:48
        +1

        А вы помните магнитофоны? Там использовались, в основном, именно коллекторные движки определённой конструкции — они, вместе с помехогасящими цепями, заключены в довольно толстый стальной корпус, что позволяло снизить помехи до такого уровня, что даже относительно близко расположенная головка их «не ловила». Такие двигатели используются сейчас и в правильных моторизованных потенциометрах. Ну и, конечно, вы правы в том, что «шумят» они только в момент перестройки.


        1. progchip666 Автор
          15.06.2015 23:56

          Насколько я помню там очень даже хорошо прослушивался тон от движков, да и не хай фай они были прямо скажем, там полоса частот то 100 — 10000 Гц реальная. Другое дело — можно уж и бесколлекторный движок поставить. Ведь такие стояли в «вертушках» — на порядок более качественных изделиях и действительно не шумели!


          1. Alex013
            16.06.2015 00:06

            Ну, это вам с магнитофоном не повезло ;)…


  1. gorbln
    15.06.2015 20:17
    +3

    Цифровые потенциометры — это супер. Но была у меня задача, в которой они не подошли.
    Задача такая: изобразить фейковый, управляемый контроллером, термометр сопротивления, для подключения к реальному тепловычислителю. Диапазон изменения сопротивлений, если я не ошибаюсь, что-то типа 450..700 ом. Полярность неизвестна (точнее, меняется), ток крайне низкий.
    И оказалось, что ни один цифровой потенциометр не может работать с низкими напряжениями, вроде 300 мВ, плюс найти килоомный потенциометр — довольно проблематично.

    По результату получилось, что сделать такой фейковый «градусник» можно двумя способами:
    1) матрица постоянных резисторов, в которой звенья замыкаются электромагнитными реле. Вот такой изврат позволяет пропускать через получившуюся цепь сколь угодно мелкое (или большое) напряжение и ток. 6-7 реле обеспечивают вполне приличную дискретность.
    2) переменный резистор, движок которого натурально крутит серва. Этот вариант — рекордсмен по цене (5$ за всё), и именно он и был применён.


    1. Alexeyslav
      16.06.2015 09:27
      +1

      Это общая проблема электрических ключей, они плохо работают с напряжениями около нуля и напряжения питания, достаточно было ввести фиктивную землю с потенциалом -1...-2В относительно "-" питания потенциометра, либо запитать потенциометр от двуполярного источника по отношению к тепловычислителю.


      1. gorbln
        16.06.2015 19:37

        Насколько я понимаю, в тепловычислителе термосопротивление стоит в мосту, поэтому не совсем понятно как этот огород было запитать от фиктивной земли. То есть на вход вычислителя подаётся сигнал сопротивления, а не напряжение с делителя. Вот такая вот специфика. Да и, как выясняется, у разных вычислителей измерительная цепь сделана по-разному. Если мне не изменяет память — у ВКТ-7 стоит что-то типа делителя напряжения (там на ТПС порядка 3 вольт), а у Взлётов и Camstrup — что-то весьма напоминающее мост.
        Но ваша идея, конечно, здравая.


        1. Alexeyslav
          16.06.2015 20:34
          +1

          Нет, смысл не в том чтобы напряжение на мосту было большое, а чтобы на выводах управляемого сопротивления потенциалы относительно общего провода самого сопротивления было чуть дальше от краёв. Изолировать гальванически от питания измерителя и на один из выводов потенциометра подать напряжение смещения, взятое с питания цифрового потенциометра.


    1. Int_13h
      16.06.2015 17:17

      Только у реле есть такой параметр как минимальный коммутируемый ток. Для обычных контактов 10-20 мА, и 1мА для специальных золотых.


      1. gorbln
        16.06.2015 19:40

        Проверял, работало хорошо. Ну, правда, и количество релюшек было всего три. Обычные дешёвые релюшки в корпусах «а-ля DIP»
        image
        Типа таких, только дешевле в 10 раз.


      1. kiltum
        16.06.2015 20:29

        Если очень маленькие токи, то есть ртутные реле, им все равно, какой ток.

        ЗЫ но я их давно уже не видел.


        1. Int_13h
          17.06.2015 04:54

          Я видел, на платах какого-то советского авометра :)


      1. Alexeyslav
        16.06.2015 20:35
        +1

        А если меньше, то чем чревато?


        1. Alex013
          17.06.2015 01:03

          Нестабильностью, что в аудио превратиться в шумы.


        1. Int_13h
          17.06.2015 04:51

          Сопротивление в точке контакта велико. что произойдет с маленьким током на большом сопротивлении?


          1. progchip666 Автор
            17.06.2015 10:43

            Вопрос — почему оно велико? Обычно в параметрах реле фигурируют миллиомы. Кроме того, есть ведь сигнальные реле, есть реле для телекоммуникаций, они что тоже только на больших токах работают? Что то я сильно в этом сомневаюсь. Током в 10 миллиампер контакты привариваются что ли?
            Может кто объяснит мне физику параметра минимального напряжения, в моё мировоззрение он пока не укладывается!


            1. Alexeyslav
              17.06.2015 13:35
              +1

              Похоже, что минимальные слои пленки окисла дают высокое сопротивление на малых токах, это препятствует протеканию тока пока не появится на контактах напряжение пробивающее эти пленки — это могут быть даже милливольты. А напряжение в замкнутой цепи возможно только там где течет ток…


              1. progchip666 Автор
                17.06.2015 15:13

                У меня диплом был по тонким плёнкам, но этого я не знал. Надо будет подробно покопаться в матчасти. Интересно стало однако!