Глава 9. Цифра и аналог: сопряжение, АЦП, ЦАП, ФАПЧ
9.7. Практикум: разбираем схемы
Семь полезных узлов, где цифровая часть встречается с аналоговой, и восемь схем с типичными ошибками сопряжения: сначала попробуйте разобраться сами, потом откройте разбор.
9.7.1Удачные узлы сопряжения
- Сдвиг уровней, ШИМ как ЦАПЦАП — цифроаналоговый преобразователь: превращает двоичный код в пропорциональный ток или напряжение (раздел 9.3)., оптронный вход, МОП-ключ, логометрический датчик, токовая петля, согласованная линия — семь рабочих приёмов на каждый день.
- Индуктивную нагрузку коммутируют через ключ с диодом против выброса; затвор ключа не оставляют висеть.
- Точность дают согласованные резисторы, логометрияЛогометрическое измерение — измерение отношения: датчик и преобразователь питаются от одного напряжения, и его колебания на результат не влияют. и обратная связь, а не неточные уровни логических выходов.
Ниже — схемы, которые встречаются в любой современной разработке, от метеостанции до станка. Каждая решает одну задачу на стыке логики и аналоговой техники. Прежде чем раскрывать разбор, попробуйте сами ответить на вопрос к схеме.
Что здесь что (3)
- n-МОП BSS138. затвор на 3,3 В; открывается, когда одна из сторон тянет линию вниз
- Подтяжка 3,3 В. даёт «1» на низковольтной стороне
- Подтяжка 5 В. даёт «1» на высоковольтной стороне
Схема а: как один транзистор передаёт сигналы в обе стороны между линиями 3,3 и 5 В? Почему такая схема годится для шины I²C, но не для быстрых двухтактных сигналов?
Решение
Затвор постоянно на +3,3 В. Обе стороны в «1»: исток подтянут к 3,3 В, , транзистор закрыт, каждая сторона держит свою «1» своей подтяжкой. Низковольтная сторона тянет вниз: исток опускается, становится больше порога, транзистор открывается и опускает линию 5 В. Высоковольтная сторона тянет вниз: сначала открывается встроенный диод сток–исток и опускает исток примерно до 0,6 В, после чего открывается и сам канал. Так «0» передаётся в обе стороны, а «1» каждая сторона получает от своего резистора.
Это ровно логика шин с открытым стокомОткрытый сток — КМОП-аналог открытого коллектора: выходной n-МОП на землю без верхнего транзистора. — I²C, 1-Wire: устройства только тянут линию к нулю. Быстрому двухтактному сигналу схема не подходит: фронт вверх формирует резистор 10 кОм вместе с ёмкостью линии (при 50 пФ — около 0,5 мкс), так что потолок — сотни килогерц.
Что здесь что (3)
- Первое звено RC. 10 кОм · 1 мкФ, срез около 16 Гц
- Второе звено RC. ещё −20 дБ/дек: пульсацииПульсации — периодические колебания выпрямленного напряжения на конденсаторе фильтра; у мостового выпрямителя частота пульсаций — удвоенная частота сети (100 Гц). ШИМ давятся вдвое сильнее (в дБ)
- Неинвертирующий ×3. высокое входное сопротивление не нагружает фильтр; 3,3 В → 9,9 В
Схема б: микроконтроллер выдаёт ШИМ 3,3 В с частотой 1 кГц (8 разрядов). Оцените пульсации на выходе и время установления. Зачем два звена RC, а не одно с той же частотой срезаЧастота среза — граница полосы пропускания: точка −3 дБ или край коридора пульсаций.?
Решение
Каждое звено 10 кОм · 1 мкФ имеет срез Гц. Первая гармоника ШИМШиротно-импульсная модуляция: частота постоянна, а сигнал ошибки меняет длительность импульса (коэффициент заполнения). 1 кГц ослабляется одним звеном примерно в 63 раза, двумя — почти в 4000 раз (второе звено слегка нагружает первое, но порядок сохраняется). Размах пульсаций меандра 3,3 В в худшем случае (заполнение 50 %) — порядка мВ на входе усилителя и 3 мВ на выходе, меньше МЗР 8-разрядной шкалы (39 мВ на выходе). Одно звено с тем же подавлением потребовало бы среза около 0,25 Гц и установления в секунды; два звена дают установление до ½ МЗР примерно за 0,1–0,2 с. Неинвертирующий усилитель ×3 не нагружает фильтр и даёт 0…9,9 В — стандартный вход «0–10 В» частотного привода или диммера. Точность шкалы определяется питанием 3,3 В микроконтроллера: если она важна, питайте выходной буферБуфер — повторитель с : огромное входное и малое выходное сопротивление, развязывает источник и нагрузку. ШИМ от точного эталона.
Что здесь что (4)
- 4,7 кОм. ограничивает ток светодиода: (24 − 1,2)/4,7 кОм ≈ 5 мА
- Обратный диод. защищает светодиод оптронаСветодиод и фототранзистор в одном непрозрачном корпусе: передаёт сигнал светом, изоляция между ними — тысячи вольт. от обратного напряжения при перепутанной полярности
- ФототранзисторФототранзистор — транзистор, у которого ток базы создаётся светом; чувствительнее фотодиода, но медленнее (единицы микросекунд).. открывается светом; гальванической связиОтсутствие проводящего пути между цепями: сигнал и энергия передаются через трансформатор или оптрон. с 24 В нет
- Подтяжка к 3,3 В. даёт «1», когда светодиод погашен
Схема в: зачем оптрон между промышленным датчиком 24 В и микроконтроллером? Какой логический уровень увидит микроконтроллер при сработавшем датчике? Что ограничивает скорость?
Решение
Оптрон разрывает гальваническую связь: земля датчика (длинный кабель в цеху, помехи от двигателей, иной потенциал) не соединена с землёй микроконтроллера, и импульсы помех, даже в сотни вольт синфазноСинфазный сигнал — одинаковое изменение обоих входов дифференциального усилителя (обычно помеха); хороший усилитель его почти не усиливает., до логики не доходят. Резистор 4,7 кОм задаёт ток светодиода около 5 мА, обратный диод защищает его (у светодиодов допустимое обратное напряжение всего около 5 В). При сработавшем датчике (24 В) светодиод горит, фототранзистор открыт — на входе МК «0»; схема инвертирует, это учитывают в программе. Скорость ограничивает фототранзистор: с подтяжкой 10 кОм фронты занимают десятки микросекунд — для концевых выключателей и датчиков присутствия более чем достаточно, а для быстрых энкодеров берут оптроны с логическим выходом.
Что здесь что (4)
- 100 Ом в затворе. ограничивает импульс тока перезаряда ёмкости затвора и гасит звон
- 100 кОм к земле. держит ключ закрытым, пока вывод МК — вход (при сбросе, при прошивке)
- Логический МОП-транзисторМОП-транзистор (металл — окисел — полупроводник) — полевой транзистор, затвор которого отделён от канала тонким слоем стекла ; ток затвора практически нулевой (входное сопротивление больше Ом).. полностью открывается уже при 3,3 В на затворе
- Диод. замыкает ток индуктивности двигателя при выключении ключа
Схема г: зачем каждая из трёх «лишних» деталей — 100 Ом, 100 кОм и диод? Почему транзистор должен быть именно «логическим»?
Решение
100 Ом: затвор — это конденсатор в сотни-тысячи пикофарад; без резистора каждое переключение даёт короткий бросок тока из вывода МК, а индуктивность проводов вместе с ёмкостью затвора может звенеть. 100 кОм: пока микроконтроллер в сбросе или прошивается, его вывод — вход в высокоимпедансном состоянии; висящий затвор может зарядиться наводкой, и вентилятор самопроизвольно включится (или транзистор застрянет в полуоткрытом состоянии и перегреется). Диод: двигатель — индуктивность; при выключении ключа ток стремится продолжаться, и без диода напряжение на стоке подскочит выше допустимого. «Логический» транзистор нормирован по сопротивлению канала при = 2,5–4,5 В; обычному мощному МОП нужно 10 В, а при 3,3 В он открыт лишь частично и греется.
Что здесь что (4)
- Верхнее плечо 10 кОм. точный резистор
- NTC-термисторТермистор — резистор, сопротивление которого сильно зависит от температуры (обычно падает при нагреве).. сопротивление падает с ростом температуры
- 100 нФ. заряд для конденсатора выборки АЦП и фильтр помех
- V_REF = та же шина. колебания 3,3 В сокращаются: измеряется отношение
Схема д: почему показания термометра не зависят от точности шины 3,3 В? Зачем конденсатор 100 нФ, если температура меняется медленно?
Решение
Это логометрия: код АЦП , и напряжение шины из ответа выпадает. Стабилизатор на 3,3 В может быть дешёвым и неточным.
Конденсатор нужен вовсе не для «медленной температуры». Внутри АЦП последовательного приближения — конденсатор выборки (единицы–десятки пикофарад), который в момент отсчёта подключается ко входу и должен зарядиться до точности ½ МЗР за доли микросекунды. Через выходное сопротивление делителя (около 5 кОм) он не успеет — получится ошибка, зависящая от предыдущего канала. 100 нФ — резервуар заряда: при подключении конденсатора выборки напряжение на нём почти не меняется (деление ёмкостей 10 000 : 1). Заодно он подавляет помехи; постоянная времениПостоянная времени (или ) — за неё экспонента проходит 63% пути к новому значению; за — 99%. 0,5 мс термометру не мешает.
Что здесь что (4)
- ОУ. держит на R_д то же напряжение, что пришло с ЦАП
- Транзистор. пропускает ток петли; ток базы мал и почти не вносит ошибки
- R_д 100 Ом. датчик тока: 4 мА ↔ 0,4 В, 20 мА ↔ 2 В
- Приёмник петли. вход контроллера с резистором 250 Ом на другом конце кабеля
Схема е: почему промышленные датчики передают сигнал током 4–20 мА, а не напряжением? Зачем «живой ноль» 4 мА? Каким должно быть напряжение питания петли?
Решение
ОУ подбирает ток базы так, чтобы на было входное напряжение: ток эмиттера Ом, 0,4…2 В → 4…20 мА; ток коллектора меньше на ток базы (доли процента при β ≥ 100, а с МОП-транзистором вместо биполярного — ноль). Ток в последовательной цепи одинаков везде: сопротивление проводов и падения на контактах не влияют на сигнал, пока хватает напряжения, а наводки на длинной линииДлинная линия — соединение, время пробега сигнала по которому сравнимо со временем фронта или больше; тогда важны волновое сопротивление и отражения., нагруженной малым сопротивлением приёмника, малы. «Живой ноль» 4 мА позволяет отличить нулевое значение от оборванного провода (0 мА) и питать сам датчик от петли. Бюджет напряжения при 20 мА: приёмник 250 Ом — 5 В, — 2 В, транзистор в активном режимеАктивный режим — переход база–эмиттер открыт, коллектор выше эмиттера хотя бы на несколько десятых вольта; только в нём . — хотя бы 2 В, провода — ещё сколько-то; 24 В хватает с запасом на сотни метров кабеля.
Что здесь что (4)
- Драйвер. дифференциальный выход: A и B в противофазе
- 120 Ом. согласование с волновым сопротивлением витой парыВитая пара — два свитых провода: каждый виток охватывает малую площадь, а ЭДС соседних витков имеют разные знаки и гасят друг друга. — нет отражений
- 120 Ом. второй конец линии тоже согласован
- СмещениеСмещение — постоянный режим транзистора (ток покоя, напряжения на выводах), при котором он работает в активном режиме в течение всего периода сигнала. линии. когда все передатчики молчат, держит A выше B на сотни милливольт
Схема ж: зачем резисторы 120 Ом на обоих концах линии и зачем два резистора смещения у приёмника? Что будет на скорости 1 Мбит/с на 300 м без них?
Решение
Витая пара — длинная линия с волновым сопротивлениемВолновое сопротивление (погонные индуктивность и ёмкость) — отношение напряжения к току бегущей по линии волны; у коаксиала 50–75 Ом, у витой пары ~100 Ом. около 120 Ом (раздел 9.2). При 1 Мбит/с бит длится 1 мкс, а задержка 300 м кабеля — около 1,5 мкс: без согласования отражённая от конца волна приходит обратно в следующий бит и искажает его. Резистор на дальнем конце поглощает волну; на ближнем — нужен потому, что в RS-485RS-422/RS-485 — дифференциальные стандарты: пара проводов, приёмник различает разность ≥ 0,2 В; до 1200 м и до 10 Мбит/с; у RS-485 — много передатчиков на одной линии. передавать могут оба конца по очереди. Смещение: когда все передатчики отключены (шина «молчит»), дифференциальное напряжение между A и B равно нулю, и приёмник выдаёт случайный шум, который UART принимает за стартовые биты. Резисторы смещения (здесь 560 Ом к +5 В и к земле, вместе с двумя 120 Ом дают около 0,25 В) держат определённое «молчащее» состояние, соответствующее логической «1».
9.7.2Найдите ошибку
- Вход КМОПКМОП — комплементарные МОП-транзисторы: n- и p-канальные приборы на одном кристалле. Основа почти всей цифровой логики и аналоговых ключей., питаемого от 5 В, ждёт «1» не ниже 3,5 В; выход 3,3 В её не обеспечивает.
- Напряжение на входе не должно выходить за питание микросхемы больше чем на 0,3–0,5 В; ток через защитные диодыЗащитные (фиксирующие) диоды входа КМОП — диоды от входа на шину питания и на землю; открываются, если вход выходит за шины более чем на 0,6 В. — паразитное питание.
- Висящие входы недопустимы; линии с открытым стоком требуют подтяжки; двухтактные выходы нельзя соединять.
Каждая схема ниже собрана с ошибкой — и каждая из них хоть раз встречалась в реальных устройствах, нередко «работая» на столе разработчика и отказывая у заказчика. Для каждой объясните, что не так и как это исправить.
а) Микроконтроллер с питанием 3,3 В управляет входом микросхемы 74HC, питаемой от 5 В.
Решение
У КМОП серии HC порог «1» — 70 % питания, т. е. 3,5 В при 5 В. Выход 3,3 В (а под нагрузкой и того меньше) до гарантированной «1» не дотягивает: схема может работать на конкретном экземпляре при комнатной температуре и отказать на другом. Вдобавок вход в промежуточной области открывает оба транзистора входного каскада и потребляет сквозной токСквозной ток (ток класса А) КМОП — импульс тока от питания на землю, пока вход проходит середину диапазона и открыты оба транзистора.. Лечение: микросхема серии HCT (порог «1» — 2,0 В, совместима с выходами 3,3 В), специальный преобразователь уровней (например, 74LVC1T45) или схема на МОП-транзисторе из первой части практикума.
б) Выход 5-вольтовой платы подключён прямо к входу микроконтроллера с питанием 3,3 В.
Решение
Пять вольт превышают допустимое напряжение входа (обычно В). Ток пойдёт через защитный диод входа в шину 3,3 В: в лучшем случае он ограничен выходным сопротивлением передатчика и лишь «подпитывает» шину (а если микроконтроллер выключен, то питает его через вход — он полувключается и ведёт себя непредсказуемо), в худшем — диод выгорает. Лечение: делитель (например, 1,8 кОм / 3,3 кОм — 5 В превращаются в 3,2 В), последовательный резистор 1–10 кОм, если вход заведомо «5-вольтово-толерантный» (это написано в паспорте), или буфер серии LVC, входы которой допускают 5 В при питании 3,3 В.
в) Обмотка реле на 5 В (70 мА) подключена прямо между выводом микроконтроллера и землёй.
Решение
Две ошибки. Первая — ток: вывод микроконтроллера отдаёт обычно 10–20 мА, а 70 мА его перегрузят, напряжение на выходе просядет, и реле может не сработать (а вывод — выйти из строя). Вторая — индуктивность: при выключении ток обмотки не может прерваться мгновенно, и на выводе возникнет выброс в десятки вольт обратной полярности. Лечение: транзисторный ключ (NPN с резистором в базе около 1 кОм или логический МОП-транзистор), диод параллельно обмотке катодом к плюсу и, если нужно, питание обмотки от отдельной шины 5 или 12 В.
г) Датчик на шине I²C соединён с микроконтроллером двумя проводами — SDA и SCL.
Решение
Выходы I²C — с открытым стоком: они умеют только тянуть линию к нулю, а «1» должна создавать подтяжка. Без резисторов линии висят и в «1» не поднимаются никогда (или поднимаются слабыми внутренними подтяжками микроконтроллера в десятки килоом — так медленно, что связь на 100–400 кГц идёт со сбоями или не идёт вовсе). Лечение: по резистору на каждую линию к шине питания — 4,7 кОм для 100 кГц, 2,2 кОм для 400 кГц; ровно по одному набору на шину, а не на каждое устройство.
д) Чтобы делитель не разряжал аккумулятор, резисторы взяли по 1 МОм и 220 кОм и подали средний вывод прямо на вход АЦП последовательного приближенияАЦП последовательного приближения делает двоичный поиск: пробует разряды от старшего к младшему, n тактов на n разрядов..
Решение
Выходное сопротивление такого делителя — около 180 кОм. Конденсатор выборки АЦП (единицы–десятки пикофарад) за отведённые на выборку доли микросекунды через 180 кОм зарядиться не успевает: показания занижены, «помнят» предыдущий канал и зависят от частоты опроса. Паспорт АЦП обычно прямо ограничивает сопротивление источника — например, не более 10 кОм. Лечение: конденсатор 0,1–1 мкФ прямо на вход АЦП (тогда делитель лишь медленно подзаряжает его, а выборка берёт заряд из конденсатора), удлинённое время выборки в настройках АЦП или повторитель на ОУ с малым входным током. Экономия энергии сохраняется — ток делителя около 10 мкА.
е) Кнопка на другом конце цеха соединена с входом микроконтроллера кабелем длиной 10 м и замыкает вход на землю.
Решение
Когда кнопка отпущена, вход ни к чему не подключён: он «висит» и подхватывает наводки десятиметрового провода — от сети, двигателей, сварки. Микроконтроллер увидит множество ложных нажатий. Лечение: подтягивающий резистор 1–4,7 кОм к питанию (внутренние подтяжки в десятки килоом для длинного кабеля слабоваты), RC-фильтр (например, 1 кОм и 100 нФ) у входа, вход с триггеромЭлемент памяти на один бит с двумя устойчивыми состояниями (бистабильный мультивибратор). Шмитта, а для подавления дребезга — программная задержка. Для по-настоящему «грязных» цехов — питание кнопки от 24 В и вход через оптрон, как в схеме в выше.
ж) Из четырёх элементов 74HC00 задействован один, входы остальных оставлены свободными.
Решение
Свободный КМОП-вход — это крошечный конденсатор, который заряжается утечками и наводками до случайного напряжения, часто — около середины питания. Тогда оба транзистора входного каскада приоткрыты: течёт сквозной ток (единицы миллиампер вместо микроампер — заметно в устройстве на батарейке), а элемент может генерировать и переключаться с наводками, создавая помехи соседям по корпусу. Лечение: входы всех неиспользуемых элементов подключить к земле или к питанию (у И-НЕВентиль И-НЕ: на выходе низкий уровень, только когда все входы высокие. В КМОП — n-канальные ключи последовательно, p-канальные параллельно. удобно к питанию), выходы оставить свободными.
з) Два модуля сообщают о готовности по общей линии «готово»; их двухтактные выходы соединены напрямую.
Решение
Когда один выход выдаёт «1», а другой «0», выходной p-канальный транзистор первого и n-канальный второго соединяют питание с землёй через сопротивление в десятки ом: ток в десятки миллиампер, нагрев, просадка питания, а уровень на линии — где-то посередине, неопределённый. Лечение: либо выходы с открытым стоком (коллектором) и один подтягивающий резистор — получается монтажное И (линия в «1», только если все готовы), либо обычный логический элемент И (ИЛИ), собирающий сигналы двух модулей.
- Уровни«1» передатчика выше порога «1» приёмника, «0» — ниже порога «0», с запасом
- Пределынапряжение на входе — не выше питания приёмника на 0,3–0,5 В, токи выводов — в паспортных пределах
- Никаких висящих входовподтяжки к питанию или к земле, у шин с открытым стоком — обязательно
- Индуктивность и ёмкостьдиод на реле и двигатели, резистор в затвор, конденсатор на вход АЦП
- Длинные проводасогласование, смещение линии, гистерезисГистерезис — два разных порога переключения: вверх — при одном напряжении, вниз — при другом. Состояние зависит от истории, шум меньше «петли» не вызывает дребезга., развязка оптроном