Выбирать один конкретный электронный компонент и называть это «хлебом с маслом» глупо, как и все эти «самые важные» утверждения. Например, считайте резисторы в аналоговых цепях, и я уверен, вы найдете, что они значительно превосходят по численности операционные усилители.
Кроме того, все меняется. Было время, когда вакуумные трубки были глупым «самым важным» или «хлебом с маслом» компонентом аналоговой электроники, а затем транзистором.
Вам никогда не нужно использовать операционный усилитель, но это может быть наиболее эффективным способом реализации схемы для конкретной спецификации. В конце концов, операционные усилители сделаны из транзисторов, поэтому вместо них можно использовать несколько транзисторов (с несколькими другими компонентами).
Привлекательность операционных усилителей заключается в том, что они представляют собой общий и легко используемый строительный блок. Благодаря магии интегральных микросхем эти строительные блоки иногда могут быть размером и стоимостью отдельных транзисторов. Любой один операционный усилитель может быть излишним для любого конкретного применения, но большое использование массовых интегральных микросхем позволяет им быть дешевыми и достаточно маленькими, так что обычно дешевле и меньше использовать целый операционный усилитель, тогда как на самом деле только несколько его транзисторов быть нужным.
Чтобы использовать аналогию с циклом FOR в языке программирования, вам на самом деле не нужно использовать эту конструкцию. Вы можете инициализировать, увеличивать и проверять переменную самостоятельно с помощью явного кода. Иногда вы делаете это, когда хотите сделать что-то особенное, а консервированная конструкция FOR слишком жесткая. Однако большую часть времени удобнее и менее подвержено ошибкам использовать конструкцию FOR для циклов. Как и в случае с операционными усилителями, вы не можете использовать все возможности этой консервированной конструкции высокого уровня в каждом случае, но ее простота в любом случае того стоит. Например, большинство языков допускают инкремент, отличный от 1, но вы, вероятно, используете его редко.
В отличие от конструкции FOR, здесь нет компилятора, который оптимизирует операционный усилитель в дискретной схеме только для тех функций, которые вам необходимы в этом случае. Тем не менее, огромное преимущество объемного производства интегральных микросхем сводит эти возможности к минимуму, чем эквивалент нескольких дополнительных инструкций в цикле FOR. Считайте операционные усилители скорее полноценным циклом FOR, реализованным в наборе команд, который выполняет те же инструкции для выполнения независимо от того, используются ли все его функции или нет, и меньше инструкций, чем вы должны использовать в противном случае, даже для простых случаев.
Операционные усилители представляют собой набор транзисторов, упакованных для представления «красивого» строительного блока и доступных по цене одного или нескольких из этих транзисторов. Это не только экономит время при проектировании, чтобы справиться со всем смещением транзисторов и тому подобного, но также могут использоваться технологии изготовления, чтобы гарантировать хорошее согласование между транзисторами и которые позволяют измерять и подгонять параметры, близкие к идеальным. Например, вы можете создать дифференциальный интерфейс с двумя транзисторами, но понизить входное смещение до нескольких мВ не так просто.
Вся инженерия основана на использовании доступных строительных блоков в некоторый момент, и операционные усилители являются полезным строительным блоком для аналоговых схем. Это действительно ничем не отличается от использования транзисторов. Большая часть обработки ушла на рафинирование кремния, его легирование, разрезание, упаковку и тестирование, которое мы в некотором смысле считаем само собой разумеющимся как дискретный транзистор. Операционные усилители более интегрированы, чем отдельные транзисторы, но все еще находятся на довольно «низком» уровне в схеме вещей.
Возвращаясь к аналогии с программным обеспечением, это то же самое, что использовать существующие подпрограммы для написания кода для вашего конкретного приложения. В случае вызовов ОС у вас нет выбора использовать их. Это было бы похоже на переработку собственного кремния. Операционные усилители больше похожи на удобные звонки, которые вы можете написать сами, но в большинстве случаев делать это было бы глупо. Например, вам, вероятно, приходилось много раз преобразовывать целое число в десятичную строку ASCII, но сколько раз вы написали для этого свой собственный код? Для этого вы, вероятно, использовали вызовы библиотеки времени выполнения или даже неявно вызывали те конструкции более высокого уровня, которые доступны на вашем языке (например, printf в C).
Идеальный операционный усилитель имеет бесконечный входной импеданс, 0 смещений, 0 выходных импедансов, бесконечную пропускную способность и стоит $ 0. Ни один операционный усилитель не является идеальным, и эти и другие параметры имеют различную относительную важность в разных проектах. Вот почему так много операционных усилителей. Каждый оптимизирован для различного набора компромиссов. Например, вы иногда слышите, что LM324 - «дерьмовый» операционный усилитель. Это совсем не так. Это превосходный операционный усилитель, когда цена имеет высокий приоритет. Когда смещение в несколько мВ, усиление в 1 МГц * полоса пропускания и т. Д., Все достаточно хорошо, все остальное просто завышенная цена.