Text
                    ^аНиМа^ЪЛьНаЯ
311ЕКТГ(1НИ«Н
Начала начал электроники
Оборудуем домашнюю
лабораторию
Резисторы, конденсаторы,
транзисторы, микросхемы...
Аналоговые и логические схемы
Микрокоитропперы - основа
современное электроники
Юрий Рввич


Юрий Ревич ^аНиМаНЬЛьНаЯ мптам Санкт-Петербург «БХВ-Петербург» 2005
УДК 681.3.06(0.027) ББК 32.973.26-04 Р32 Ревич Ю. В. Р32 Занимательная электроника. — СПб.: БХВ-Петербург, 2005. — 672 с.: ил. ISBN 5-94157-514-9 На практических примерах рассказано о том, как проектировать, отлаживать и изготавливать электронные устройства в домашних условиях. От физических основ электроники, описания устройства и принципов работы различных ра- диоэлектронных компонентов, советов по оборудованию домашней лаборатории автор переходит к конкретным аналоговым и цифровым схемам, включая уст- ройства на основе микроконтроллеров. Приведены элементарные сведения по метрологии и теоретическим основам электроники. Дано множество практиче- ских рекомендаций: от принципов правильной организации электропитания до получения информации о приборах и приобретении компонентов примени- тельно к российским условиям. Книгу можно использовать как справочник по некоторым типовым узлам электронной аппаратуры. Для широкого круга радиолюбителей УДК 681.3.06(0.027) ББК 32.973.26-04 Группа подготовки издания: Главный редактор Зам. гл. редактора Зав. редакцией Редактор Компьютерная верстка Корректор Дизайн обложки Зав. производством Екатерина Кондукова Игорь Шишигин Григорий Добин Татьяна Лапина Натальи Караваевой Виктория Пиотровская Игоря Цырулышкова Николай Тверских Лицензия ИД № 02429 от 24.07.00. Подписано в печать 20.12.04. Формат 70x100’/i6- Печать офсетная. Усл. печ. л. 54,18. Тираж 3000 экз. Заказ № 710 "БХВ-Петербург", 190005, Санкт-Петербург, Измайловский пр., 29. Санитарно-эпидемиологическое заключение на продукцию Ns 77.99.02.953.Д.006421.11.04 от 11.11.2004 г. выдано Федеральной службой по надзору в сфере защиты прав потребителей и благополучия человека. Отпечатано с готовых диапозитивов в ГУП "Типография “Наука" 199034, Санкт-Петербург, 9 линия, 12 ISBN 5-94157-514-9 © Ревич Ю. В., 2005 © Оформление, издательство "БХВ-Петербург", 2005
Содержание К читателю...........................................................1 Глава 1. Чем отличается ток от напряжения? Азбука электроники........9 Глава 2. Джентльменский набор. Оборудуем домашнюю лабораторию.......17 Мультиметр........................................................18 Источник питания..................................................22 Осциллограф.......................................................24 Глава 3. Хороший паяльник — половина успеха. Инструменты и технологические советы..............................................29 Инструменты.......................................................30 Паяльники.........................................................33 Флюсы для пайки...................................................36 Платы............................................................ 37 Немного о проводах................................................47 Корпуса...........................................................49 Глава 4. Тригонометрическая электроника. О частотах, периодах, мощности, переменных напряжениях и токах и немного о сигналах................................................51 Мощность..........................................................56 Что показывал вольтметр...........................................57 Сигналы...........................................................61 К слову...........................................................61 Глава 5. Электроника без полупроводников. Резисторы, конденсаторы и схемы на их основе................................................63 Резисторы.........................................................63 Переменные резисторы............................................ 67 Параллельное и последовательное соединение резисторов.............69 Конденсаторы......................................................71
IV Содержание Параллельное и последовательное включение конденсаторов.............79 Конденсаторы в цепи переменного тока................................79 Дифференцирующие и интегрирующие цепи...............................80 Индуктивности.......................................................82 Глава 6. Изобретение, которое потрясло мир. Диоды, транзисторы и простейшие схемы на их основе.......................................85 Диоды...............................................................85 Транзисторы.........................................................87 Ключевой режим работы биполярного транзистора.......................90 Усилительный режим работы биполярного транзистора...................93 Дифференциальный каскад............................................100 Полевые транзисторы................................................101 Выбор транзисторов.................................................103 Глава 7. Ошеломляющее разнообразие электронного мира. Реле, стабилитроны, светодиоды.............................................105 Электромагнитные реле..............................................105 Стабилитроны.......................................................111 Светодиоды.........................................................114 Оптоэлектроника....................................................118 Глава 8. Подбираем детали. Откуда взять информацию, как грамотно найти замену и где приобрести........................................121 Замена.............................................................122 Надежность.........................................................129 Где покупать.......................................................130 Глава 9. Звуковой усилитель без микросхем. Первые шаги...............135 Схема..............................................................135 Мощность...........................................................139 О мощности выходных транзисторов.................................. 142 Радиаторы..........................................................143 Проверка и отладка.................................................147 О мощности и качестве звуковых усилителей..........................148 Глава 10. Правильное питание — залог здоровья. О питании электронных устройств................................................151 Трансформаторы.....................................................152 Простейший нестабилизированный однополярный источник питания.......156 Стабилизаторы......................................................160 Интегральные стабилизаторы.........................................163 Однополярный регулируемый высокостабильный источник питания........165 Как правильно питаться.............................................170 Глава 11. Тяжеловесы. Устройства для управления мощной нагрузкой.....173 Базовая схема регулирования напряжения на нагрузке.................174 Ручной регулятор мощности..........................................179
Содержание I/ Устройство плавного включения ламп накаливания....................186 Помехи............................................................188 Глава 12. Слайсы, которые стали чипами. О микросхемах...............191 Глава 13. А на микросхемах — проще. Звуковые усилители на микросхемах......................................................201 Мощный УМЗЧ.......................................................201 Микроусилитель мощности...........................................206 Глава 14. Самые универсальные. Операционные усилители и их применение.....................................................209 Опасные связи.....................................................210 Основные свойства системы с отрицательной обратной связью.........214 Базовые схемы усилителей на ОУ....................................217 Дифференциальные усилители........................................222 Другие распространенные схемы на ОУ...............................225 Аналоговый генератор..............................................227 Глава 15. Рыбку жалко... Конструируем термостаты....................231 Термостат вообще..................................................233 Термостат для аквариума...........................................238 Гистерезис........................................................243 Терморегулятор "для дома, для семьи"..............................245 Прецизионный лабораторный термостат...............................249 Глава 16. Как измерить температуру? Электронные термометры..........257 Основы термометрии................................................257 Датчики...........................................................259 Средства поверки..................................................261 Измерение сопротивления образцового термометра....................262 Простейшие электронные термометры на батарейке....................267 Глава 17. Ошибаются все. Немного о метрологии и ошибках аналоговых схем.....................................................275 Точность и разрешающая способность................................277 Систематические ошибки............................................279 Случайные ошибки измерения и их оценка............................280 Регрессия.........................................................286 Классы точности и расчет погрешностей нашего образцового термометра.....................................289 Способы снижения погрешностей аналоговых схем.....................292 Глава 18. На пороге цифрового века. Математическая логика и ее представление в технических устройствах........................295 Основные операции алгебры Буля....................................297 Булева алгебра на выключателях и реле.............................300 То же самое, но на транзисторах и диодах..........................303
VI Содержание Глава 19. По основанию два. О двоичной и других системах счисления.307 Позиционные и непозиционные системы счисления. Десятичная система...............................................309 Двоичная система.................................................313 Шестнадцатеричная система........................................314 Перевод из одной системы счисления в другую......................315 Байты............................................................317 Запись чисел в различных форматах................................318 Двоичная арифметика..............................................320 Отрицательные числа..............................................321 Дробные числа....................................................324 Глава 20. Математическая электроника или игра в квадратики. Устройство логических микросхем и двоичные операции................327 Сравнение основных характеристик ТТЛ и КМОП......................328 Двоичный сумматор на логических микросхемах......................338 Обработка двоичных сигналов с помощью логических элементов.......346 Глава 21. Закодированные. Коды, шифры и дешифраторы................349 Различные двоичные коды..........................................351 Код для управления цифровыми индикаторами........................353 Двоичный/десятичный дешифратор...................................362 Глава 22. Страхуемся от ошибок. Как хранить и передавать информацию без искажений......................................................365 Экономичные коды.................................................368 Передача в линии с помехами......................................370 Глава 23. Импульсные устройства. Генераторы, формирователи и одновибраторы....................................................375 Генераторы.......................................................376 Кварцы...........................................................381 Формирователи импульсов..........................................383 Одновибраторы....................................................387 Глава 24. Электронные счеты. Триггеры, счетчики, регистры..........391 Самый простой....................................................392 D-триггеры.......................................................395 Регистры.........................................................397 Счетчики.........................................................400 Цифровой лабораторный генератор..................................407 Частотомер.......................................................410 Глава 25. Откуда берутся цифры. Цифроаналоговые и аналого-цифровые преобразователи.................................425 Оцифровка........................................................428 ЦАП..............................................................430 АЦП..............................................................436
Содержание VII Глава 26. Продолжаем измерять температуру. Конструируем цифровой термометр.........................................................449 АЦП 572ПВ2 и ПВ5................................................450 Практическая схема термометра...................................455 Глава 27. Метеорологическая лаборатория. Измерение физических величин................................................463 Измеряемые параметры............................................463 Давление........................................................464 Влажность.......................................................467 Ветер...........................................................468 Глава 28. Лечение амнезии. О памяти и ее разновидностях...........477 Устройство ЗУ...................................................478 ROM.............................................................480 RAM.............................................................488 Глава 29. Как работает микропроцессор. Анатомия микропроцессора...491 Глава 30. Знакомство с микроконтроллером. Микроконтроллер Atmel AVR 8515....................................501 Глава 31. Персональный компьютер вместо паяльника. О программировании МК.............................................515 Железо..........................................................516 Софт............................................................518 Программирование................................................520 Программирование UART...........................................531 Глава 32. Изобретаем велосипед. Настольные часы на микроконтроллере...............................................537 Схема...........................................................541 Программа.......................................................547 Глава 33. Шампунь и кондиционер в одном флаконе. Как соединить часы с термометром................................................551 Программа.......................................................556 Глава 34. Заставить камни заговорить. Микроконтроллер и голосовая сигнализация......................................................569 Глава 35. Страна советов. Некоторые полезные схемы................577 Схема мультивибратора на транзисторах...........................577 Чувствительный детектор.........................................578 Электронное реле................................................580 Схема реле с управлением одной кнопкой..........................581 Датчик воды.....................................................582 Детектор электромагнитного поля.................................583
VIII Содержание ПРИЛОЖЕНИЯ.......................................................587 Приложение 1. Резисторы..........................................589 Международная цветная маркировка резисторов....................589 Таблица номиналов резисторов и конденсаторов с допуском 5% (ряд Е24) и 10% (ряд Е12)........................590 Таблица номиналов 1%-ных резисторов (ряд Е96)............Г.....590 Приложение 2. Стандартные обозначения и размеры некоторых гальванических элементов..........................................591 Приложение 3. Классы усилителей..................................592 Приложение 4. Справочные данные компонентов......................599 Диоды..........................................................600 Транзисторы....................................................604 Электронные реле и оптроны.....................................613 Микросхемы.....................................................617 Приложение 5. Соответствие наименований зарубежных и отечественных микросхем КМОП....................................................626 Приложение 6. Программа часов....................................627 Приложение 7. Текст процедур для работы с интерфейсом 12С........638 Приложение 8. Перевод некоторых часто встречающихся терминов.....643 Принятые обозначения.............................................649 Физические величины и их единицы измерения по умолчанию........649 Приставки и множители для образования десятичных кратных и дольных единиц...............................................650 Некоторые буквенные обозначения в электрических схемах.........650 Литература.......................................................655 Предметный указатель.............................................657
К читателю Как известно, каждый сходит с ума по-своему. Есть люди, сдвинутые на соби- рании спичечных этикеток или монет, есть те, кто прыгает с парашютом, лаза- ет по городской канализации или спускается на плотах по горным рекам север- ного Урала и Сибири. Одна из самых распространенных разновидностей подобных психических сдвигов— радиолюбительство. Когда-то радиолюби- тели были действительно только "любителями радио" — просто потому, что в 10—20 годах XX века, когда появились первые энтузиасты, кроме радиоэлек- троники, никакой другой электроники не существовало. О, в те времена это было жутко престижное хобби! Это мы сейчас привыкли к магнитолам в каж- дом автомобиле и двум-трем телевизорам в каждой квартире — не считая элек- тронной почты с Интернетом. А тогда сама возможность слушать кого-то с другого конца Земли казалась чудом, подвластным разве что рукам волшеб- ника. Даже настройка на нужную станцию простого промышленного приемни- ка, ставшего к тридцатым годам уже довольно обычным атрибутом не только в богатой Америке, но и в СССР, поначалу вызывала не меньше вопросов, чем сейчас установка Windows на персональный компьютер. Но довольно быстро — начиная с 30—40-х годов — электроника стала "ши- роко простирать руки свои в дела человеческие". Термин "радиолюбительст- во" сохранился, но под ним стали уже понимать отнюдь не только увлечение радиопередатчиками и приемниками. Первым делом выделилась в отдельное направление звукозапись и все с ней связанное — различные усилители, аку- стические устройства. Затем электроника вторгается в электротехнику и управ- ление разными механизмами. Потом начался компьютерный бум, и стало модным все, связанное с информационными технологиями (вообще-то в них, по справедливости, следовало бы включить и радио с телевидением). Кстати, все ли знают, что возникновению большинства новинок последнего времени, перевернувших наш быт, мы обязаны военным? В рамках военных разработок возникли: операционные усилители, компьютеры, Интернет, сотовая связь, GPS, спутниковая передача данных и многое другое. Если даже военные и не были инициаторами и первыми заказчиками упомянутых изобретений, то они довольно быстро прибирали к рукам соответствующую деятельность. Так про- изошло, например, с компьютерами. А в СССР — вообще с любой электрони- кой, даже бытовые магнитофоны делались на секретных заводах.
2 К читателю Стоит особо рассмотреть вопрос, чем отличается "электронное" устройство от "электрического". Оба они используют электрическую энергию, однако электрическое устройство, как правило, не содержит никаких заумных шту- чек, типа транзисторов или микросхем: простейшим примером "электриче- ского" в чистом виде является настольная лампа с выключателем. Но та же лампа, снабженная регулятором яркости или бесконтактным сенсорным вы- ключателем, является уже устройством электронным. В настоящее время не больше пятой части объема журнала "Радио", выходящего в нашей стране с 1924 года, посвящено именно радио. Следовало бы придумать иное название, но "радиолюбитель" прижилось, и ныне означает любого, кто ув- лекается электроникой (по крайней мере по-русски, в английском, например, языке это не так). Поэтому не удивляйтесь, если вы в этой книге, адресованной начинающим (и просто желающим повысить свою квалификацию) радиолюби- телям, о радио вообще не прочтете ни слова. Зато довольно часто будут упомяну- ты компьютеры — по причинам, которые вы поймете, прочитав эту книгу. Занятие радиолюбительством в нашей стране некоторое время назад, в 60-80 го- ды, было не просто модным, а очень модным. Этому способствовало много при- чин: и относительно высокий уровень технического образования, и бесплатный доступ к компонентам (да-да, купить в свободной продаже что-то электронное было очень сложно, а вот вынести с завода или из НИИ — всегда пожалуйста), и, наконец, то, что промышленность явно не справлялась с обеспечением потребно- сти населения в продвинутых электронных устройствах, а качество тех, что вы- пускались, чаще всего было ниже всякой критики. Дешевле, лучше и интереснее было сделать самому. Поэтому в те времена стать меломаном в смысле "любите- лем качественной звукозаписи" означало фактически, что человек сам вынужден был изучать азы электроники и браться за паяльник ("махать паяльной косой", как любил выражаться один мой знакомый). Положение резко изменилось с при- ходом в страну дешевого и качественного ширпотреба с Запада и Востока, и те- перь уже вряд ли кто будет самостоятельно изобретать, скажем, карманный плеер-"дебильник". Но, как ни странно, радиолюбительство не только не погиб- ло, но даже расцвело — прежде всего, стали доступны практически любые, как импортные, так и отечественные компоненты (хотя и за деньги) и, что немало- важно, исчерпывающая документация к ним — в 70-е годы какой-нибудь "Спра- вочник по транзисторам" сметали с прилавков со скоростью, которой могли бы позавидовать сами братья Стругацкие. И вот уже "Чип и Дип" открывает четвер- тый за десять лет супермаркет в Москве и хвастается миллионом посетителей в год, и на Митинском рынке в выходной не протолкнуться... Мудрый римлянин Публий Корнелий Тацит в свое время промолвил: "Можно восхищаться древностью, но следовать нужно современности". Он был совер- шенно прав, но сам остался в веках именно благодаря своим историческим
К читателю 3 трудам. "Восхищение древностью", как ничто другое, помогает "следовать со- временности". Например, если поковыряться в истории науки и техники, то выяснится интересная вещь: почти все эпохальные изобретения и открытия делались дилетантами. Чаще всего это было обусловлено тем, что до них соот- ветствующих направлений просто не существовало, и они вынуждены были все изобретать с нуля. Крайний случай такого "любительства" — изобретение теле- графа Самюэлем Морзе (рис. В1), который вообще не имел никакого— даже самостоятельного — технического образования и до начала работы над телегра- фом был признанным художником. Были и другие, не менее интересные случаи. Рис. В1. Самюэль Морзе (Morse, Samuel F. 1791-1872), автопортрет, 1818 г. Вот некоторые важнейшие (по мнению автора) открытия и изобретения про- шлого, которые оказали определяющее влияние на современную электронику (в скобках приведены либо год исторического свершения, либо даты жизни его автора, если конкретный год не удалось установить): □ изобретение вольтова столба (Александро Вольта, 1799); □ формулировка закона сохранения энергии применительно к электриче- ским явлениям (Джеймс Джоуль, 1818—1889); □ открытие действия тока на магнитную стрелку (Ганс Христиан Эрстед, 1822); □ открытие закона Ома (Георг Симон Ом, 1787—1854); □ изобретение электромагнитного реле (Джозеф Генри, 1797—1878); □ изобретение электромагнитного телеграфа (Самюэль Морзе, 1791—1872); □ прокладка первого трансатлантического кабеля (Сайрус Филд, 1866); □ формулировка законов Кирхгофа (Густав Роберт Кирхгоф, 1847);
4 К читателю □ изобретение телефона и радио (Александр Белл, 1876, Александр Попов, 1895, Гульельмо Маркони, 1901); □ открытие и объяснение явления термоэлектронной эмиссии (катодных лу- чей) (Юлиус Плюккер, 1959; Джозеф Джон Томсон, 1856—1940); □ изобретение электронной лампы (Ли де Форест, 1906); □ развитие квантовомеханического подхода к описанию явлений на атомном уровне (Нильс Бор, Вернер Гейзенберг, Эрвин Шредингер, Вольфганг Паули и др., 1920—1930); □ создание аналоговых вычислительных машин (лорд Кельвин, 1870-е, Ван- невар Буш, 1931); □ применение булевой алгебры к описанию явлений в релейных электриче- ских цепях (Клод Шеннон, 1940); □ создание компьютера (К. Цузе, 1939, Д. Анатасов, 1941, Г. Эйкен, 1944, Д. Моучли и П. Эккерт, 1946); □ создание кибернетики и теории информации (Норберт Винер, 1948, Клод Шеннон, 1948); □ изобретение транзистора (У. Шокли, Дж. Бардин и У. Браттайн, 1948); □ изобретение микросхемы (Джек Килби, 1959, Роберт Нойс, 1959); □ создание интегрального операционного усилителя (Роберт Видлар, 1963); □ создание микропроцессора (Тед Хофф, 1971). По каждому из этих пунктов можно написать отдельную книгу или, по меньшей мере, статью (в частности, автор отсылает интересующихся к его собственным публикациям [1-6]). Некоторые избранные исторические и фактические подробности будут приведены по ходу изложения. А теперь мы дадим совет, который может показаться несколько неожидан- ным. Но сначала попробуйте мысленно ответить на один вопрос, и пусть он не покажется вам идиотским: "Какова величина тока в комнатной розетке?". То, что этот вопрос отнюдь не такой дурацкий, как кажется, доказывают результаты ответов на него, полученные после опроса группы студентов од- ного технического вуза (по специальности, не связанной напрямую с элек- тротехникой или электроникой): из нескольких десятков опрошенных только двое смогли дать вразумительный ответ. Итак, если вы, читатель, замялись с ответом или просто не уверены в нем, то вот обещанный совет, причем адресованный любому независимо от возраста: прежде чем читать дальше, возьмите учебники физики за седьмой и восьмой классы и перечитайте гла- вы, посвященные электричеству. Можете также захватить из девятого класса главу, посвященную строению атома. Еще лучше обратиться не непосредст-
К читателю 5 венно к школьным учебникам, а изучить соответствующие главы из учебника Ландсберга [7], где то же самое изложено куда более увлекательно и подроб- но. Тогда вам будет много легче читать эту книгу дальше. Кстати, бросим камень в огород Минобразования: по глубокому убеждению автора, сведений в указанных учебниках более чем достаточно, а 10 и 11 классы — пустое времяпрепровождение для того, кто не собирается становиться специали- стом-физиком. Автор не компетентен говорить то же самое о других предме- тах, но есть основания полагать, что и там положение ничуть не лучше. Зажмурившись, проследим за полетом этого камня, с горьким удовлетворе- нием установим, что школьников по-прежнему пичкают массой совершенно ненужных сведений, и приступим, наконец, к делу. Несколько слов о том, как пользоваться книгой. Она рассчитана на тех, кто делает все своими руками и дома (поэтому, например, я не рекомендую ком- поненты для поверхностного монтажа — платы под них своими руками изго- товить достаточно сложно, и еще труднее их отлаживать). Те, кто уже имеет известный опыт работы и оборудованную домашнюю лабораторию, первые три главы может пропустить. Книга отличается от большинства имеющихся руководств тем, что почти все описанные в книге схемы подробно разобраны шаг за шагом, включая самые мелкие подробности, так, чтобы при повторе- нии конструкции у вас не возникало вопросов, зачем нужен тот или иной ре- зистор и почему его сопротивление именно такое. Однако чтобы вопросов действительно возникало как можно меньше, читать книгу надо последовательно глава за главой, проверяя все расчеты с каран- дашом и калькулятором1. В процессе чтения вам неоднократно придется воз- вращаться к уже прочитанным главам. Логика построения книги подчинена постепенному усложнению конструкций, но, в то же время, широко исполь- зуется метод опережающего изложения — скажем, операционные усилители и обратная связь подробно рассматриваются только в главе 14, но примеры их использования вы сможете встретить уже в главах 9 и 10. Опыт показывает, что такой прием очень способствует усвоению информации — уже немного знакомое легче разбирать подробно, чем незнакомое вовсе. С другой сторо- ны, не удивляйтесь, что звуковой усилитель подробно разбирается в главе 9, а источник питания для него — только в следующей главе. Сведения из этих глав во многом пересекаются между собой, поэтому, прежде чем браться за усилитель, вам придется прочесть обе главы. Во всех таких случаях в тексте обязательно имеется ссылка на нужную главу, так что нетерпеливому чита- телю не возбраняется залезть на несколько глав вперед — только потом не забудьте вернуться! Вообще-то самый лучший способ — сначала прочесть 1 Вдруг и ошибки найдете? Пишите, буду очень благодарен.
6 К читателю книгу целиком, не упуская ничего, а затем начать сначала, подробно разбирая и повторяя понравившиеся конструкции. Книга несамодостаточна — для того, чтобы повторить многие конструкции, вам потребуется еще справочный материал, например, по разводке выводов транзисторов или иных компонентов, обязательно нужно иметь фирменное описание микропроцессоров AVR и системы команд для них. Слава богу, у нас теперь есть Интернет, так что можно не забивать полки справочниками, но кое-что, особенно по отечественным компонентам, все же потребуется — не будешь же лазить в Сеть за каждым транзистором! Подробнее об этом см. в главе 8, а в приложении 4 вы найдете основные справочные данные по некоторым из упомянутых в книге компонентов. Не нужно рассматривать любую схему из этой книги или из других источников как нечто вроде текста Библии, который никому не позволено изменять. Даже рекомендации производителей по включению того или иного компонента есть всего лишь рекомендации. Можно и нужно экспериментировать, изменяя па- раметры компонентов и подгоняя схему к вашим условиям. Нелишне и поспо- рить с автором, если то или иное решение кажется чересчур усложненным. Однако стоит делать это разумно: если вы замените в схеме генератора частоты тип времязадающего конденсатора с К73 на К50, то можете быть весьма удив- лены результатами. То же самое может произойти, например, если вы не глядя замените рекомендуемый операционный усилитель МАХ474 на похожий на него по выводам, но предназначенный для других целей МАХ478. Именно по- этому я рекомендую внимательно ознакомиться с первыми главами книги. И, наконец, рискуя утомить читателя, все же скажу несколько слов о том, как вообще следует разрабатывать и отлаживать схемы. Самый эффективный метод — "сборка" нужной схемы из готовых и заранее отлаженных фрагмен- тов. Эта операция аналогична тому, как программисты собирают программы из готовых и заранее отлаженных процедур. Каждая такая процедура есть "черный ящик", у которого есть входы и выходы для общения с другими час- тями программы, причем в общем случае вы даже не знаете, как она устроена внутри — точно так же, как вы не знаете, что именно размещается внутри микросхемы. Вы берете микросхему, подсоединяете к ней внешние элементы в соответствии с рекомендациями производителя и получаете готовый узел, который соединяете с другими подобными узлами. Точно так же следует поступать, если узел представляет собой не микросхему, а отдельный фраг- мент устройства. При рисовании схемы обязательно обозначайте на ней кон- кретные типы и значения параметров элементов — не откладывайте это до вы- полнения практической отладки схемы. Изменить вы всегда сможете, но все, что можно посчитать, нужно посчитать заранее — это сохранит вам очень много
К читателю 7 времени. Когда вы берете, наконец, паяльник в руки, то не следует собирать всю схему устройства сразу целиком. Разбейте ее на как можно более мелкие самостоятельно работающие узлы и отлаживайте каждый узел по отдельности. Не верьте печатному слову и все рекомендации из литературы проверяйте на макетах (в конце концов, у вас образуется библиотека таких самостоятельно отлаженных узлов, и вы будете экономить огромное количество времени). От- ладив все, вы обязательно наносите на чертеж схемы полученные в результате отладки точные значения компонентов (те, что еще требуют окончательной подгонки, обозначаются звездочкой), проверяете правильность соединения этих узлов и разводку питания и только затем собираете всю схему целиком — сначала на макетной плате. И только убедившись в работоспособности макета схемы, вы переносите ее на настоящую рабочую плату. Между прочим, в отличие от большинства радиолюбительских изданий, ри- сунки плат в книге не приводятся, чему есть много причин: во-первых, повто- рить конструкцию в точности с теми компонентами, которые приведены в опи- сании, как правило, не получается, да это и не требуется, так что в большинстве случаев плату придется все равно перерабатывать. Во-вторых, лично я никогда не и повторял опубликованных конструкций в точности, стараясь улучшить или упростить схему, и в этой книге вы почти всегда найдете рекомендации по улучшению характеристик или расширению функциональности описанного прибора, так что публикация рисунка платы вообще теряет смысл. Наконец, есть еще один момент, скорее дидактического порядка— раскладывая плату самостоятельно, вы намного лучше вникаете в работу схемы, после чего отлад- ка и регулировка ее значительно упрощаются. Мое глубокое убеждение состо- ит в том, что плату нужно делать самостоятельно под выбранную конструкцию и корпус, а не подгонять габариты под имеющуюся плату, в результате чего самодеятельные конструкции иногда бывают весьма уродливы. Если вы разрабатываете серьезный прибор, который должен служить года- ми — постарайтесь заложить в разработку время и деньги, необходимые для выполнения следующих этапов: □ разработка технического задания с возможно более подробным описанием требуемой функциональности2; 2 Не пренебрегайте мелочами, особенно если вы работаете "на сторону", а не для себя — будет очень печально, если при изготовлении измерителя температуры то обстоятельство, что он дол- жен работать круглогодично на улице, выяснится в конце работы. Разработанный вами на столе дома датчик, естественно, быстро выйдет из строя в таких условиях. Впрочем, такие накладки обычно касаются технологии изготовления плат и подбора деталей, а не собственно электроники, но лучше все же знать заранее.
8 К читателю □ разработка принципиальной схемы с отладкой отдельных узлов на ма- кетах; □ изготовление полного макета и отладка его; □ разработка окончательной принципиальной схемы, подбор деталей и раз- работка печатной платы; □ изготовление опытного образца и отладка его, корректировка печатной платы; □ изготовление окончательного варианта печатной платы, корпуса и монтаж прибора. Приведенный выше идеальный вариант последовательности разработки ред- ко осуществим на практике — либо времени не хватает, либо денег, либо того и другого одновременно. Есть одна известная фирма, которая занимает- ся разработкой заказных электронных устройств — так там берут несколько "килобаксов" только за написание технического задания. И они правы! Но на практике часто получается так, что макетный либо опытный образец стано- вится и окончательным. И все же по мере возможности не пренебрегайте этими промежуточными этапами — поверьте, так получится намного быст- рее, чем, зажмурившись, собрать все сразу, а потом в лучшем случае обнару- жить, что ничего не работает, а в худшем — выветривать из комнаты неприятный и стойкий запах горелой пластмассы. Учтите, что ни одна незна- комая дотоле схема никогда не работает сразу — будьте к этому готовы и заранее наберитесь терпения. Итак, приступим. Юрий Ревич <revich@computerra.ru> Автор выражает благодарность Юрию Певзнеру за консультации и предос- тавленные тексты программ для микроконтроллеров семейства Atmel AVR — в частности, ему принадлежит авторство программ из главы 34. Схемы, чертежи и фотографии компонентов подготовлены автором. Все ос- тальные иллюстрации взяты из открытых источников и под чей-либо копи- райт не попадают, за исключением фотографии первого транзистора из главы 6 и портрета Клода Шеннона из главы 18, любезно предоставленных автору корпорацией Lucent Technologies Inc./Bell Labs в лице ее сотрудницы Фран- циски Мэттьюз (Francisca Matthews).
Глава 1 Чем отличается ток от напряжения? Азбука электроники Поэтому-то мне будет легче, facilius natans, взять тему по моему выбору, которая для этих трудных вопросов богословия явилась бы тем же, чем мораль является для метафизики и фи- лософии. А. Дюма, "Три мушкетера" Дурацкий вопрос, скажете вы. Отнюдь. Опыт показал, что не так уж много людей могут на него ответить правильно. Известную путаницу вносит язык: в выражении типа "имеется в продаже источник постоянного тока 12 вольт" смысл искажен. На самом деле в данном случае имеется в виду, конечно, ис- точник напряжения, а не тока, т. к. ток в вольтах не измеряется, но так говорить не принято. Самое правильное будет сказать — "источник питания постоянно- го напряжения 12 вольт", а написать можно и "источник питания = 12 В" где символ "=" обозначает, что это именно постоянное напряжение, а не пере- менное. Впрочем, и в этой книге мы тоже иногда будем "ошибаться" — язык есть язык. Чтобы разобраться во всем этом, для начала напомним строгие определения из учебника (зазубривать их — очень полезное занятие!). Итак, ток1, точнее, его величина, есть количество заряда, протекающее через сечение проводни- ка за единицу времени: I = Qlt. Единица тока называется "ампер" и размер- ность ее2— кулоны в секунду. Знание сего факта пригодится нам позднее. Куда более запутанно выглядит определение напряжения - величина напря- жения есть разность потенциалов между двумя точками пространства. Изме- ряется она в вольтах, и размерность этой единицы измерения — джоуль 1 В этой главе мы будем говорить в основном о постоянном токе и напряжении. 2 Здесь и далее, кроме оговоренных случаев, мы будем употреблять систему единиц СИ.
10 Глава 1 на кулон, т. е. U=EIQ. Почему это так, легко понять, вникнув в смысл строго- го определения величины напряжения: 1 вольт есть такая разность потенциа- лов, при которой перемещение заряда в 1 кулон требует затраты энергии, равной 1 джоулю. Все это наглядно можно представить себе, сравнив проводник с трубой, по которой течет вода. При таком сравнении величину тока можно себе нагляд- но представить как количество (расход) протекающей воды за секунду (это довольно точная аналогия), а напряжение — как разность давлений на входе и выходе трубы. Чаще всего труба заканчивается открытым краном, так что давление на выходе равно атмосферному давлению, и его можно принять за нулевой уровень. Точно так же в электрических схемах существует общий провод (или "общая шина" — в просторечии для краткости ее часто называ- ют "землей", хотя это и неточно — мы еще вернемся к этому вопросу позд- нее), потенциал которого принимается за ноль, и относительно которого от- считываются все напряжения в схеме. Обычно (но не всегда!) за общий провод принимают минусовой вывод основного источника питания схемы. Итак, вернемся к вопросу заголовка: чем же отличается ток от напряжения? Правильный ответ будет звучать так: ток — это количество электричества, а напряжение — мера его потенциальной энергии. Неискушенный в физике собеседник, разумеется, начнет трясти головой, пытаясь вникнуть, тогда вы поясните: представьте себе падающий камень. Если камень маленький (ко- личество электричества мало), но падает с большой высоты (велико напря- жение), то он может наделать столько же несчастий, сколько и большой ка- мень (много электричества), но падающий с малой высоты (напряжение невелико). На самом деле аналогия с камнем наглядна, но не точна — труба с текущей жидкостью подходит куда больше. Дело в том, что напряжение и ток обычно связаны между собой. (Слово "обычно" я употребил потому, что в некоторых случаях — источники напряжения или тока — от этой связи стараются изба- виться, хотя полностью никогда и не удается.) В самом деле, если вернуться к нашей трубе, то легко представить, как с увеличением давления (напряже- ния) увеличивается количество протекающей жидкости (ток). Иначе зачем нужны бы были насосы? Сложнее представить себе наглядно обратную зави- симость — как ток влияет на напряжение. Для этого нужно сначала понять, что такое сопротивление. До середины XIX века физики не знали, как выглядит зависимость тока от напряжения. Этому есть важная причина. Попробуйте сами эксперименталь- но выяснить, как выглядит график этой зависимости. Схема эксперимента приведена на рис. 1.1, а примерные результаты — на рис. 1.2. Показанные на графике результаты весьма приблизительны, т. к. практический вид кривой
Чем отличается ток от напряжения? Азбука электроники 11 Рис. 1.1. Схема эксперимента по проверке закона Ома Рис. 1.2. Примерные результаты проверки закона Ома
12 Глава 1 будет сильно зависеть от того, как именно выполнен подопытный проводник (R1 на рис. 1.2) — как он намотан (плотно или редко), на какой каркас (тол- стый массивный или тонкий), от температуры в комнате, сквозняка и еще от множества других причин. Именно такое непостоянство и смущало физи- ков — не только сама кривая загибается (т. е. ток в общем случае непропор- ционален напряжению), но вид и форма этого загиба весьма непостоянна и меняется как при изменении условий внешней среды, так и для различных материалов. Понадобился гений Георга Ома (рис. 1.3), чтобы за всеми этими деревьями увидеть настоящий лес: а именно, понять, что зависимость тока от напряжения описывается элементарно простой формулой: / = U/R, а все несуразности, которые описаны выше, проистекают от того, что величина сопротивления R зависит от материала проводника и от условий внешней среды — в первую очередь, от температуры. Так, в нашем эксперименте загиб кривой вниз происходит потому, что при прохождении тока проводник на- гревается, а сопротивление меди с повышением температуры увеличивается (примерно на 0,4% с каждым градусом изменения температуры). А сама величина этого нагрева зависит от чего угодно: намотайте провод поплотнее и заверните его в асбест— он будет нагреваться сильнее, а размотайте его и поместите на сквозняк — нагрев резко уменьшится. Рис. 1.3. Георг Симон Ом Георг Симон Ом (1787—1854)— немецкий физик, член-корреспондент Бер- линской АН. Окончил Эрландский университет. Преподавал математику и фи- зику в различных гимназиях. С 1833 г. — профессор Нюрнбергской высшей по- литехнической школы. В 1849—52 гг.— ректор Мюнхенского университета. Член Лондонского королевского общества.
Чем отличается ток от напряжения? Азбука электроники 13 В ознаменование заслуг Георга Ома единица измерения сопротивления так и называется — ом. Согласно формуле, приведенной в предыдущем абзаце, 1 Ом есть сопротивление такого проводника, через который течет ток в 1 А при напряжении на его концах равном 1 В. Обратная сопротивлению величи- на называется проводимостью и измеряется в сименсах, названных так в честь другого ученого: 1 Сименс = 1/1 Ом. В электронике почти всегда оперируют величиной сопротивления, так что сименсы мы оставим для физиков. Сопротивление проводника зависит от его геометрических размеров: оно увеличивается пропорционально длине и уменьшается пропорционально площади сечения: R = р • L/S. Большое практическое значение имеет коэффи- циент пропорциональности р — т. н. удельное сопротивление материала про- водника. При определенной температуре (обычно берется 20 °C) эта величи- на почти постоянна для каждого материала. "Почти" тут написано потому, что на самом деле эта величина сильно зависит от химической чистоты и да- же от способа изготовления материала проводника. Поэтому для проводни- ков употребляют очень чистые металлы, скажем, обычный медный провод изготавливают из меди с количеством примесей не более 0,1% (как говорят, с чистотой в "три девятки"), это позволяет уменьшить сопротивление такого провода и избежать лишних потерь на его нагрев. Удельное сопротивление проводника, по определению, есть сопротивление (Ом) проводника единичной площади (м2) и единичной длины (м), и если подставить эти величины в формулу, вы получите размерность для удельного сопротивления Ом • м2/м или просто Ом • м. Практически в таких единицах измерять удельное сопротивление неудобно, т. к. для металлов величина по- лучается крайне маленькой — представляете сопротивление куба меди с реб- ром в 1 м?! На практике часто употребляют единицу в 100 раз больше: Ом • см. Эта величина часто приводится в справочниках [8], но и она не слиш- ком удобна для практических расчетов. Так как диаметр проводников изме- ряют обычно в миллиметрах (а сечение, соответственно, в квадратных мил- лиметрах), то на практике наиболее удобна старинная внесистемная единица Ом • мм /м, которая равна сопротивлению проводника сечением в 1 квадрат- ный миллиметр и длиной 1 метр. Для того чтобы* выразить официальный Ом • м в этих единицах, нужно умножить его величину на 106, а для Ом • см — на 104. Подглядев в справочнике величину удельного сопротивления меди (0,0175 Ом • мм /м при 20 °C), мы легко можем вычислить, что сопротивле- ние проводника с параметрами, приведенными на рис. 1.1, составляет около 45 Ом (проверьте!). Надо сказать, что человечество весьма преуспело в изготовлении специаль- ных материалов, имеющих коэффициент удельного сопротивления, мало
14 Глава 1 зависящий от температуры. Это прежде всего специальные сплавы: констан- тан и манганин, температурный коэффициент сопротивления (ТКС) которых в несколько сотен раз меньше, чем у чистых металлов. А для обычных стан- дартных углеродистых или металлопленочных резисторов ТКС составляет приблизительно 0,1% на градус или меньше, т. е. примерно в 4 раза лучше, чем у меди. Есть и специальные прецизионные резисторы (среди отечествен- ных, это, например, С2-14, С2-29В, С5-61, проволочные С5-54В и др.), у ко- торых этот коэффициент значительно меньше. Есть и другие материалы, у которых температурный коэффициент, наоборот, весьма велик (несколько процентов на градус, и при этом, в отличие от металлов, отрицателен) — из них делают т. н. термисторы, которые используют как чувствительные дат- чики температуры. Однако для точного измерения температуры все же применяют чистые металлы — чаще всего платину и медь, и мы к этому во- просу обязательно вернемся. Познакомившись с понятием сопротивления и его особенностями, вспомним, для чего мы все это делали. Ах, да, мы же хотели понять, как практически представить зависимость напряжения от тока! Но ведь мы пока не умеем произвольно изменять ток в проводнике, так? Напряжение изменять про- сто — нужно взять регулируемый источник питания, как это изображено на рис. 1.1, или, на худой конец, набор батареек, при последовательном со- единении которых (1, 2, 3 и т. д. штук) мы получим некий набор напряжений. А вот источников тока (именно тока, а не напряжения) мы еще не имеем. Как же быть? Рис. 1.4. Схема для изучения свойств цепи с двумя резисторами Выход из этой ситуации показан на рис. 1.4 (заметьте, мы от схематического изображения проводника из длинной проволоки, имеющей некое сопротив-
Чем отличается ток от напряжения? Азбука электроники 15 ление, перешли к стандартному изображению резисторов, как это делается в настоящих электрических схемах). Здесь мы уже не используем регулируе- мый источник питания — он нам не нужен. Питается схема от батареи из трех гальванических элементов, например, типа D, соединенных последова- тельно. Каждый такой элемент (если он еще не был в эксплуатации) дает на- пряжение примерно 1,62 В, так что суммарное напряжение будет почти 5 В, как и указано на схеме (под нагрузкой и по мере истощения элементов на- пряжение немного упадет, но ошибка в данном случае не играет большой роли). Как работает эта схема? Допустим, что движок переменного резистора3 R1 выведен в крайнее правое (по схеме) положение. Проследим путь тока от плюсового вывода батареи — амперметр, вывод движка резистора R1, край- ний правый вывод R1, резистор R2, минусовой вывод батареи. Получается, что резистор R1 в схеме как бы не участвует — ток от плюсового вывода ба- тареи сразу попадает на R2 (амперметр, как мы считаем, можно не принимать во внимание4 5) и схема становится фактически такой же, как на рис. 1.1. Что покажут наши измерительные приборы? Вольтметр покажет напряжение ба- тареи 5 В, а показания амперметра легко вычислить по закону Ома: ток в це- пи составит 5 В/50 Ом = 0,1 А или 100 мА\ Теперь поставим движок R1 в среднее положение. Ток в цепи теперь пойдет от плюса батареи через амперметр, вывод движка R1, половину резистора R1, резистор R2 и далее, как и раньше, вернется к минусу батареи. Как изменятся показания приборов? Раньше резистор R1 в деле не участвовал, а теперь уча- ствует, хоть и половинкой. Соответственно, общее сопротивление цепи ста- нет уже не 50 Ом (один резистор R2), а 50 (R2) + 50 (половинка R1), т. е. 100 Ом. Амперметр покажет уже не 100 мА, а 5 В/100 Ом = 0,05 А или 50 мА — в два раза меньше. А вот что покажет вольтметр? Так сразу и не скажешь, не правда ли? Придется считать. Для этого рассмотрим отдельно участок цепи, состоящий из R2 с присоединенным к нему вольтметром. Оче- видно, что току у нас деться некуда — все то количество заряда, которое вы- шло из плюсового вывода батареи, пройдет через амперметр, через половин- ку R1, через R2 и вернется в батарею6. Значит, и на этом отдельном участке, состоящем из одного R2, ток будет равен тому, что показывает амперметр — т. е. 50 мА. Получается, как будто резистор R2 подключен к источнику тока! 3 О типах и устройстве переменных резисторов см. главу 5. 4 О подключении вольтметра и амперметра см. главу 2. 5 На всякий случай, еще раз напомним, что это значение приблизительное — напряжение бата- реи несколько меньше 5 В. 6 На самом деле это не совсем точно — часть тока, хотя и очень небольшая, все же пойдет че- рез вольтметр, минуя R2. Но на практике этим всегда пренебрегают (подробности см. в главе 2).
16 Глава 1 И это действительно так — источник напряжения с последовательно вклю- ченным резистором (в данном случае, половинка R1) представляет собой ис- точник тока (хотя и плохой, как мы увидим в дальнейшем). Каковы же будут показания вольтметра? Из закона Ома следует, что U = I • R, где R — сопро- тивление нужного нам участка цепи, т. е. R2, и в данном случае вольтметр покажет 0,05 -50 = 2,5 В. Эта величина называется падением напряжения, в данном случае — падением напряжения на резисторе R2. Легко догадаться, даже не подключая вольтметр, что падение напряжения на резисторе R1 бу- дет равно тоже 2,5 В7, причем его можно вычислить двумя путями: как раз- ницу между 5 В от батареи и падением на R2 (2,5 В) или по закону Ома, ана- логично расчету для R2. А что будет, если вывести движок переменного сопротивления R1 в крайнее левое положение? Я сразу приведу результат: амперметр покажет 33 мА, а вольтметр— 1,66 В. Пожалуйста, проверьте это самостоятельно! Если вы получите те же значения, то это будет означать, что вы усвоили закон Ома и теперь умеете отличать ток от напряжения. А более сложными схемами включения резисторов мы займемся в главе 5. Пока же нам надо отвлечься от схем и разобраться с тем, как оборудовать себе рабочее место. Теоретические знания — это важно, но на практике все познается куда лучше. Но прежде чем перейти к дальнейшему, я хочу ответить на вопрос, который, несомненно, у вас уже возник: а как можно себе представить резистор в на- шей аналогии с водопроводной трубой? Ток — расход воды, напряжение — давление, а сопротивление? Оказывается, это очень просто, мало того, соот- ветствующая величина в гидравлике называется точно так же: сопротивление потоку. Аналогами резисторов будут всякие устройства, установленные на трубе: краны, задвижки, муфты или просто местные сужения. И точно так же, как на включенном в электрическую цепь резисторе происходит падение на- пряжения, на этих гидравлических сопротивлениях (их еще называют мест- ными) происходит падение давления, которое пропорционально величине самого сопротивления. Прикрывая кран, мы увеличиваем сопротивление по- току, и расход воды уменьшается, т. е. здесь мы производим в точности то же действие, что и при экспериментах с переменным резистором в электриче- ской цепи. 7 И это не совсем точно — амперметр тоже имеет некоторое сопротивление и может быть представлен как еще один последовательный резистор. Но, как и в случае вольтметра, этим на практике пренебрегают.
Глава 2 Джентльменский набор. Оборудуем домашнюю лабораторию Затем он сходил на набережную Железного Лома и отдал приделать новый клинок к своей шпаге. А. Дюма, "Три мушкетера" Скажу сразу: если у вас среди добрых родственников нет олигархов, то обо- рудовать домашнюю лабораторию сразу по последнему слову техники и не пытайтесь — это встанет в такую сумму, что домашние еще долго будут вам это вспоминать. Потому делайте это постепенно. Конечно, заманчиво купить цифровую измерительную станцию (мультиметр, запоминающий осцилло- граф, генератор сигналов и т. п. в одном флаконе) стоимостью примерно рав- ной стоимости иномарки в хорошем состоянии, но уверяю, что для дела это не обязательно. Есть, однако, вещи, без которых не обойтись, вот их-то мы и перечислим, а затем разберем по очереди. Итак, вот малый джентльменский набор радиолюбителя: □ мультиметр; □ источник питания постоянного тока (два одинаковых однополярных или один двуполярный, иногда требуется и третий источник); □ осциллограф; □ генераторы прямоугольных и синусоидальных сигналов. Перечисленного достаточно для того, чтобы повторить все примеры из этой книги, однако в общем случае может понадобиться и иное оборудование (на- пример, если вы собираетесь заняться радиоприемом или телевидением). Но мы остановимся на этом. Причем источники питания и генераторы несложно сделать самому (а генераторы — даже предпочтительнее, т. к. они обойдутся вам в день работы и примерно в один-два доллара, потраченных на компо- ненты, а работать будут не хуже, а в некоторых отношениях даже лучше промышленных, да и в использовании удобней). В дальнейшем мы все это сделаем, а пока рассмотрим то, что имеется в продаже.
18 Гпава 2 Мультиметр Его еще часто называют по старинке тестером. Покупать надо обязательно цифровой и не самый дешевый (рис. 2.1). На рынке полно миниатюрных ки- тайских мультиметров стоимостью в пару долларов. Не надо! Как правило, они работают примерно неделю, потом, если не разваливаются, то просто перестают показывать. В магазинах типа "Чип и Дип" или на радиорынках есть большой выбор приличных мультиметров. Вас интересует ценовой диа- пазон примерно $20—50, большая цена означает, что в приборе наличеству- ют не слишком актуальные "навороты": связь с компьютером, память или еще что-то в этом роде. Выбирать нужно по количеству функций и диапазо- нам измерений. Перечислим главные функции, без которых не обойтись (в скобках — желательные диапазоны): □ измерение постоянного напряжения (2 мВ — 600 В); □ измерение постоянного тока (2 мА — 10 А); □ измерение переменного напряжения (1—700 В); □ измерение переменного тока (20 мА — 10 А); □ измерение сопротивления (100 Ом — 10 МОм + функция "прозвонки"). Все остальные функции, как говорят компьютерщики, опциональны, но пре- небрегать ими не следует (располагаю их по степени практической нужности): □ измерение емкости; □ измерение индуктивности; □ измерение параметров транзисторов; □ измерение температуры. Мультиметры работают, как правило, от 9-вольтовой батарейки в типоразме- ре "Крона". Батарейки хватает надолго, однако у некоторых моделей было за- мечено, что при снижении напряжения питания ниже допустимого мультиметр не выключается, а начинает врать. Это может быть источником неприятностей, и иногда крупных, поэтому я советую сразу после покупки разориться на ал- калайновую батарейку фирмы Duracell, гарантированный срок хранения кото- рой составляет 6—7 лет. Это будет неплохое вложение денег, учитывая, что батарейка в мультиметре, в основном, хранится. Автор этих строк сменил бата- рейку всего один раз за восемь лет эксплуатации, причем не потому, что она истощилась, а потому, что у нее два года, как закончился срок хранения. Этот совет насчет алкалайновых элементов, кстати, относится не только к мульти- метрам, а вообще к любой технике, которая должна долго питаться от галь- ванических элементов, скажем, к пультам управления телевизорами.
Джентльменский набор. Оборудуем домашнюю лабораторию 19 Рис. 2.1. Мультиметр Кстати, одновременно с мультиметром приобретите подходящие для него зажимы-"крокодилы" (с запасом — они легко теряются). С этим делом си- туация обычно такая: чаще всего стандартные отечественные зажимы не подходят, а "родные" импортные слишком громоздкие и очень плохо дер- жатся на измеряемом проводе. В этом случае рекомендуется либо, если воз- можно, подогнуть отечественные, чтобы они держались на импортном щупе, либо просто откусить импортные наконечники от проводов и заменить их на отечественные штеккеры, на которых "крокодил" держится очень крепко. При этом вы лишаетесь фирменного заостренного щупа, но его легко изгото- вить из "крокодила", причем он будет даже лучше оригинального — плотно зажмите с помощью плоскогубцев в "крокодиле" толстую швейную иглу и натяните на нее изолирующую кембриковую трубку, оставив свободными
20 Гпава 2 только несколько миллиметров кончика иглы (чтобы плотно держалось, лучше использовать термоусадочный кембрик). Сам "крокодил" тоже нужно изолировать — можно обмотать липкой эластичной полихлорвиниловой лен- той (но не скотчем!). Этот же щуп удобно использовать для осциллографа. Слабым местом всех мультиметров является функция измерения тока, т. е. режим амперметра. Если вы творчески изучили главу 7, то должны легко со- образить, что амперметр, включаемый всегда последовательно с нагрузкой, должен иметь очень маленькое собственное (внутреннее) сопротивление, иначе на нем будет большое падение напряжения, и это будет вносить иска- жения в измеряемую величину тока. Если вы не поняли предыдущую фразу, то вернитесь к рис. 1.4 и перерисуйте его на листочке бумаги так: вместо амперметра нарисуйте резистор Кд (который будет представлять упомянутое выше внутреннее сопротивление амперметра), а переменный резистор R1 исключите. Вы получите почти точно такую же картинку, как и раньше, только вместо R1 у вас теперь есть Ra, и все расчеты будут аналогичными, т. е. чем больше Ra, тем меньше покажет вольтметр на R2 (которое в данном случае выступает в роли сопротивления нагрузки) и тем меньше будет общий ток в цепи. Это очень плохо, т. к. амперметр (как и вольтметр) должен только измерять, но никак не участвовать в процессах, происходящих в цепи. В принципе, полностью избежать этого не удается, но удается сделать внут- реннее сопротивление амперметра достаточно малым, чтобы пренебречь его влиянием. Вот это-то замечательное свойство современных амперметров одновременно и является их самым слабым местом: достаточно перепутать и включить ам- перметр не последовательно, а параллельно источнику питания (подобно вольтметру на рис. 1.1), как через него, в полном соответствии с законом Ома, потечет огромный ток, ограниченный только возможностями источни- ка. Действительно: характерное сопротивление амперметра составляет по- рядка нескольких миллиом, что даже при 5-вольтовом источнике дает токи в 1000 А и более! На самом деле никакой нормальный источник питания (включая даже бытовую электросеть) такого тока отдать не сможет, но того, что сможет, будет достаточно, чтобы прибор сгорел. Однако не отчаивай- тесь — обычно в хороших мультиметрах внутри стоит плавкий предохрани- тель, а в самых продвинутых — даже самовосстанавливающийся. Поэтому если ваш прибор вдруг перестал показывать ток (а вы можете и не заметить, как случайно подсоединили его в режиме измерения тока к выводам пита- ния), то, прежде всего, разберите его и проверьте предохранитель. Кстати, именно для того, чтобы дополнительно защитить мультиметр от описанных неприятностей, клемму для подключения щупа в режиме измерения тока все- гда делают отдельно.
Джентльменский набор. Оборудуем домашнюю лабораторию 21 Теперь немного о режиме вольтметра. От вольтметра, наоборот, требуется максимально высокое сопротивление, иначе часть тока будет проходить че- рез вольтметр, т. е. мимо измеряемого участка, что эквивалентно уменьше- нию суммарного сопротивления этого участка (подробнее о параллельном включении резисторов мы поговорим в главе 5, а пока, чтобы понять сказан- ное, посмотрите еще раз на рис. 1.4). Вольтметр будет вносить искажения, и чтобы этого не было, его сопротивление делают максимально большим. И это хорошо — по крайней мере, нет такой опасности сжечь прибор, как в случае амперметра. Если вы включите мультиметр в режиме вольтметра в цепь последовательно с источником питания, ток просто не пойдет (точнее, пой- дет, но очень маленький). Зато вольтметр можно испортить, если включить его на предел в 1 В, а подсоединить к сети 220 В. Надо сказать, что обычно современные вольтметры выдерживают такое издевательство, но лучше не рисковать и соблюдать следующее правило: Необходимо обязательно заранее устанавливать прибор на тот диапазон, в котором вы собираетесь производить измерения. Если примерное зна- чение величины заранее неизвестно, то следует установить прибор на максимальный диапазон. Впрочем, если финансовые возможности позволяют, то можно приобрести мультиметр с автоматическим выбором пределов измерения. В этом случае вам придется заботиться только о том, чтобы не перепутать, что именно вы собрались измерять — ток или напряжение. Кстати, а можно ли обойтись одним вольтметром, если вдруг амперметр сго- рел необратимо? Вполне можно. Соорудить амперметр из вольтметра — пара пустяков (как, кстати, и наоборот — просто обычно этого не требуется). Для этого нужно запастись точным резистором номинальным значением сопро- тивления, например, ровно 1 Ом (это подойдет для измерения токов в едини- цы-десятки-сотни-тысячи мА, что есть обычное значение для наших схем, для токов в других диапазонах нужен больший или меньший номинал). Мощность этого резистора должна быть как можно выше— если найдете резистор мощностью в 10 Вт, то это будет просто прекрасно. Надо сказать, что разыскать такой резистор совсем непросто, потому, в крайнем случае, можно его изготовить. Лучше всего использовать нихромовую проволоку, из которой делаются спирали для антикварных отечественных утюгов и элек- троплиток (можно, скажем, "раскурочить" старый паяльник). Возьмите кусок этой проволоки подлиннее (всю спираль целиком), и измерьте его сопротив- ление (его-то ваш мультиметр еще не потерял способность измерять?). Вели- чина эта составит порядка нескольких десятков ом. Затем растяните и измерьте рулеткой длину. Поделив одно на другое, вы получите сопротивле- ние проволоки в Ом/м. Осталось отмерить (как можно точнее) нужный кусок,
22 Глава 2 соответствующий одному ому (скорее всего, получится около 20—30 см), свернуть его спиралькой, намотав на карандаш и затем аккуратно сняв — и сопротивление (причем достаточно точное) готово. Теперь включите его последовательно в измеряемую цепь, а параллельно ему подключите вольт- метр, как показано на рис. 2.2. Величина тока в цепи будет численно равна показаниям вольтметра (если вольтметр показывает вольты, то, значит, ток в амперах, если милливольты — то в миллиамперах). Думаю, вы легко сообра- зите, почему это так, и сами сможете придумать, как подсчитать напряжение, если резистор имеет номинал, отличающийся от 1 Ом. Рис. 2.2. Схема измерения величины тока с помощью вольтметра Более подробно об особенностях процедуры проведения измерений мы пого- ворим в соответствующих главах, а сейчас продолжим оборудование нашей лаборатории. Источник питания Лабораторный источник питания, как я уже говорил, не представляет особых трудностей сделать самому (см. главу 10), но вы пока этого не умеете, а хотя бы один источник понадобится сразу — для того, чтобы отладить собствен- ные. Можно, конечно, приобрести и три источника, но к собственноручной сборке я призываю не столько в целях экономии денег (хотя это и немало- важный фактор) и даже не из дидактических соображений (хотя и это суще- ственно), но еще и потому, что собранный нами источник будет именно та- ким, какой нам нужен. Если мультиметры (о которых мы говорили ранее) и осциллографы (о которых еще пойдет речь позже) не имеет никакого смысла собирать самому, потому что лучше и дешевле промышленных вы наверняка не сделаете, то источники питания и генераторы — совсем другое дело. Какой источник приобретать? В отличие от мультиметра, — самый дешевый из подходящих. Это не ширпотребовский товар, и на коленке в шанхайских
Джентльменский набор. Оборудуем домашнюю лабораторию 23 трущобах их не делают1, тем более что в продаже много и отечественных вполне приличных моделей. Единственное, на что следует обратить внима- ние— диапазоны регулирования напряжения и тока. Напряжение должно плавно или ступенчато (последнее даже предпочтительнее, т. к. позволяет устанавливать точное значение напряжения без дополнительного контроля) регулироваться от 0 до 24—30 В (желательно) или до 15 В (как минимум). А с током надо разобраться. Дело в том, что существует несколько типов ис- точников. Самые простые — у которых при превышении указанного в харак- теристиках максимального тока срабатывает внутренняя защита, и нагрузка отключается. Это не очень удобно вот почему: многие нагрузки, включая и определенную часть приведенных в этой книге устройств, в момент вклю- чения в течение некоторого времени (от миллисекунд до секунд) потребляют ток, значительно больший номинального потребления. Объясняется это тем, что в первый момент либо заряжается фильтрующий конденсатор источника питания, либо, как в случае, скажем, подключения микродрели, большой ток призван раскрутить движок до номинальных оборотов, после чего потребле- ние тока резко снижается. Если используется источник с ограничением тока, то это приводит к замедлению пуска нагрузки, а если с отключением нагрузки, то отключение это чаще всего успевает сработать до того, как потребляемый ток снизится до приемлемого уровня. В результате вы попадаете в замкнутый круг: источник номинально может обслуживать вашу нагрузку, а фактически включить ее не получается. Более продвинутые источники работают так: они ограничивают ток на ука- занном уровне (т. е. фактически превращаются в источник тока, напряжение при этом зависит от нагрузки) и иногда еще умеют отключать нагрузку вовсе, если в ней наблюдается короткое замыкание. Такие источники гораздо удоб- ней. Чаще всего величину тока ограничения, как и напряжение, можно регу- лировать. Очень хорошо, если вы сразу приобретете двуполярный источник, т. е. такой, который имеет на выходе сразу два напряжения: положительное и отрицательное относительно общего провода (обычно это просто два источ- ника в одном корпусе, которые можно соединить по клеммам). Смотрите по средствам, но в любом случае желательно иметь источник как можно мощ- нее: 2—3 А нам будет, пожалуй, хватать для большинства наших экспери- ментов, но запас иметь никогда не помешает. 1 Разумеется, источники "со встроенной вилкой" здесь не рассматриваются и для по- добных целей не годятся. О них пойдет речь в главе 10.
24 Гпава 2 Осциллограф Осциллограф — вещь почти незаменимая. Мало того, во многих случаях он может заменить и мультиметр. Но одновременно это будет и самое дорогое ваше приобретение. Как работает осциллограф? Это прибор, который позволяет увидеть на экра- не все, что происходит с напряжением в наших схемах. Если не углубляться в физику, то принцип его работы можно пояснить "на пальцах" (рис. 2.3, а). Главная его деталь — электронно-лучевая трубка (CRT), аналогичная той, что используется в черно-белых телевизорах. В узком конце трубки располо- жена т. н. электронная пушка, излучающая узкий поток электронов, разогнан- ных до большой скорости. Попадая на экран, покрытый изнутри люминофо- ром, он образует маленькую светящуюся точку (в отличие от телевидения, где люминофор светится белым, здесь часто используется люминофор зеленого или, например, синего свечения, причем иногда с небольшим послесвече- нием — луч как бы оставляет за собой постепенно затухающий след). Пла- стины X и Y служат для отклонения луча вправо-влево и вверх-вниз. Пла- стины X служат для развертки луча по горизонтали — на них подается пульсирующее напряжение пилообразной формы (его график приведен на рис. 2.3, б). В результате (в отсутствие напряжения на пластинах Y) луч прочерчивает горизонтальную линию, начинающуюся у края экрана слева и заканчивающуюся у правого края. Если подать напряжение на пластину Y, связанную со входом осциллографа, то эта линия будет сдвигаться вверх или вниз в зависимости от знака поданного напряжения, рисуя на экране график, соответствующий изменениям формы входного напряжения по Y во времени. В простейшем случае, если на вход Y подано постоянное напряжение, отли- чающееся от 0, то линия просто сдвинется, но останется горизонтальной. По- верх экрана размещается координатная сетка, по которой можно узнать все характеристики видимого сигнала — его размах в вольтах и период измене- ния во времени2. Управляющих ручек у осциллографа как минимум четыре— две ручки, обычно помеченные стрелочками вверх-вниз и вправо-влево, позволяют ус- танавливать линию развертки в отсутствие сигнала в нужное начальное по- ложение, например, по центру экрана. Для того чтобы при этом быть уверен- ным, что сигнала действительно нет, обычно имеется специальная кнопка или переключатель, помеченная символом "земля". Кнопка отключает вход Y от входной клеммы и замыкает его на корпус, соединенный с общим прово- дом ("землей") прибора. Две другие ручки, представляющие собой переклю- 2 О переменных сигналах см. главу 4.
Джентльменский набор. Оборудуем домашнюю лабораторию 25 чатели с большим числом фиксированных положений, позволяют управлять временем развертки (т. е. частотой пилообразного напряжения) и усилителем входного сигнала (т. н. аттенюатором) для того, чтобы увидеть сигнал в удобном масштабе по обеим осям. У этих переключателей против каждого положения написаны значения времени (для развертки) и напряжения (для усилителя У), которые соответствуют одному делению координатной сетки экрана, таким образом, осциллографом можно довольно точно измерять пе- риод (частоту) сигнала и его размах. Кроме этих основных управляющих элементов, обычно имеются еще вспомогательные — для управления ярко- стью луча, его фокусировкой (т. е. размерами пятна на экране). Часто присут- ствует специальная кнопка под названием "поиск луча". Дело в том, что луч запросто может уехать за пределы экрана, и вам по неопытности может пока- заться, что осциллограф сломался. 2 - электронный луч 3 - горизонтальные отклоняющие пластины X 4 - вертикальные отклоняющие пластины У 5 - экран Форма напряжения развертки на пластинах X б Рис. 2.3. Принцип работы осциллографа: а — схематическое устройство (1 — электронная пушка; 2 — электронный луч; 3 — пластины горизонтального отклонения X; 4 — пластины вертикального отклонения Y; 5 — экран); б — форма напряжения развертки на пластинах X 2 Зак. 710
26 Гпава 2 Отдельного разговора заслуживает также обязательно присутствующая регу- лировка синхронизации. Дело в том, что на практике частота развертки нико- гда точно не кратна частоте сигнала, поэтому сигнал "бежит" по экрану, не давая как следует рассмотреть его форму и измерить параметры. Регулировка синхронизации служит для того, чтобы сигнал можно было остановить, при этом начало развертки (т. е. начало хода луча от левого края экрана) будет всегда совпадать с каким-то характерным моментом в изменении повторяю- щегося сигнала, например, с переходом через ноль или максимум напряже- ния. Во многих простейших аналоговых осциллографах, подобных тому, что я описываю, синхронизация работает плохо и установить ее — занятие, тре- бующее большого практического опыта. Хорошо помогает в этом случае до- полнительный вход для синхронизации от внешнего сигнала, который имеет- ся в большинстве даже самых простых моделей. Конечно, во многих моделях могут быть и другие органы управления, скажем, кнопка для переворота (ин- вертирования) сигнала, "лупа" для выделения интересного участка или клем- ма для подачи пилообразного напряжения развертки от внешнего источника, но вы с ними легко разберетесь по ходу дела. Проверить осциллограф просто: надо схватиться рукой за щуп, и тогда вы увидите на экране наведенную помеху от бытовой электросети частотой 50 Гц. Если вы ее не видите, 99% за то, что вы забыли отключить заземление входа после настройки положения луча (такое часто случается). С электриче- ской точки зрения осциллограф представляет собой вольтметр, т. е. имеет высокое входное сопротивление (стандартно 1 МОм, хотя есть специальные высокочастотные осциллографы, которые имеют входное сопротивление 50 Ом, естественно, они для наших целей не годятся), поэтому наводка от сети и других помех может быть весьма значительна. Если такое входное сопротивление все же слишком мало (что бывает при исследовании схем с очень малыми токами), то следует использовать прилагаемый к осцилло- графу или приобретаемый отдельно щуп с делителем 1:10. При этом входное сопротивление возрастает соответственно до 10 МОм, а величину сигнала на экране нужно умножить на 10. Этим же щупом следует пользоваться, если требуется исследовать сигналы высокого напряжения, например сетевого (220 В), т. к. обычно имеющейся шкалы не хватает, и большая часть сигнала сверху и снизу при использования простого щупа окажется за пределами эк- рана. Да и производители не рекомендуют насиловать входной усилитель такими высокими напряжениями. Хотя лично мне ни разу не удавалось сжечь вход осциллографа, все же к рекомендациям изготовителей нужно прислу- шиваться. При подсоединении щупа к исследуемой схеме нужно помнить, что корпус осциллографа "заземлен", т. е. соединен с общим проводом щупа, поэтому он не должен касаться корпусов источников питания и других при-
Джентльменский набор. Оборудуем домашнюю лабораторию 27 боров. Довольно часто бывает, что нужно разглядеть сигнал не относительно общего провода схемы, а, скажем, относительно шины питания. При исследовании узлов, напрямую связанных с бытовой сетью 220 В, нужно соблюдать особую осторожность — осциллограф обязательно должен стоять на сухом изолирующем основании, ни в коем случае не касаться каких-либо металлических предметов (скажем, корпуса стоящего рядом компьютера) и за его металлические части, включая элементы щупа, ни в коем случае нельзя браться руками! Если вам придется проводить подобные операции, то после- довательность их проведения такая: 1. Отключить питающее схему напряжение (обязательно оба сетевых провода). 2. Надежно подсоединить щуп к измеряемой схеме, используя зажимы- "крокодилы" и следя за тем, чтобы они держались как можно прочнее. 3. Включить напряжение, держа руки подальше, и наблюдать сигнал. 4. При необходимости изменения параметров развертки, усиления и синхро- низации внимательно следить за тем, чтобы в ажиотаже не задеть "кроко- дилы" и не коснуться металлических частей корпуса прибора. 5. При необходимости перенести щупы в другое место схемы, снова полно- стью выключить питание и повторить операции. Все сказанное относилось к простейшим аналоговым осциллографам, и их функций вам будет хватать во всех случаях, приведенных в этой книге. В на- стоящее время выпускаются, однако, и более "навороченные" модели. Прежде всего, это многоканальные и многолучевые осциллографы, которые позволяют увидеть одновременно два и более сигналов в разных точках схемы — факти- чески это несколько отдельных осциллографов в одном корпусе и с раздель- ным управлением, обычно за исключением синхронизации, которая устанавли- вается по одному из входных каналов {по выбору). Это бывает очень удобно, если нужно, например, рассмотреть сдвиг по времени одного из сигналов отно- сительно другого. Излишне говорить, что такие приборы значительно дороже обычных, причем многолучевые лучше многоканальных, т. к. у них на самом деле несколько независимых лучей, в то время как многоканальные лишь ими- тируют независимость — у них просто разные входы по Y быстро-быстро пе- реключаются между собой, управляя одним и тем же лучом. Еще более интересными являются запоминающие осциллографы, которые позволяют получить моментальный "снимок" одноразового процесса, ска- жем, всплеска напряжения в схеме. В настоящее время такие осциллографы исключительно цифровые, и функция запоминания у них — лишь одна из многих. О цифровых осциллографах я здесь говорить не буду. Если финансо- вые возможности вам позволяют, обязательно приобретите, т. к. они делают все то же, что и аналоговые, и еще много такого, что аналоговым недоступно: например, показывать точное значение напряжения сигнала и времени от на- чала развертки в произвольной точке осциллограммы. Нет у них, например, и никаких проблем с синхронизацией.
28 Гпава 2 Рис. 2.4. Осциллограф Если все же на приобретение цифрового прибора у вас денег не предвидится — смело покупайте самый дешевый отечественный, причем как можно мало- габаритнее и с минимальным количеством ручек управления. Единственное, что я решительно не советую — приобретать переносной осциллограф с ЖК- экраном, особенно отечественного производства, т. к. экраны эти слепы, мало- информативны и обладают значительной инерционностью. Минимально необ- ходимые характеристики, которые перекрывают большинство радиолюбитель- ских потребностей (исключая высокочастотную технику), в сущности, включают лишь один критичный параметр: максимальную рабочую частоту. Желательно, чтобы она была не меньше 10—20 МГц, хотя и пятимегагерцовый тоже годится (несмотря на мегагерцы, такие осциллографы относятся к классу низкочастотных). Конечно, лучше, чтобы экран был побольше, но в погоне за его величиной следует учитывать также и общие габариты прибора. В осталь- ном — выбирайте по вкусу и деньгам3. Для ориентировки укажу одну из луч- ших отечественных моделей — С1-73, которая выпускается без изменений уже третий десяток лет, необычайно проста в обращении и надежна. А теперь перейдем к технологическому оснащению нашей домашней лабо- ратории. 3 Хороший каталог отечественных и импортных моделей находится, например, здесь: http://www.prist.ru/produce.php/catalogue/meas/oscilloscopes.htm, а также на сайте магазина "Чип и Дин" (www.chip-dip.ru).
Глава 3 L^H Хороший паяльник — половина успеха. Инструменты и технологические советы На следующий день д'Артаньян поднялся в пять утра, сам спустился в кухню, попро- сил достать ему кое-какие снадобья, точный список которых не дошел до нас, к тому же еще вина, масла, розмарину и, держа в руке рецепт, данный ему матерью, изготовил бальзам, которым смазал свои многочис- ленные раны, сам меняя повязки и не до- пуская к себе никакого врача. А. Дюма, "Три мушкетера" Не будет преувеличением утверждать, что стабильность и покой в нашей жизни основывается на мелочах. Отсутствие всего двух-трех термозащитных плиток из десятков тысяч у шаттла "Коламбия" привело семерых астронавтов к гибели. Невероятное стечение обстоятельств, противоречащее всем законам вероятности — и пятьдесят башкирских детей гибнут в небе над швейцар- ским озером. Есть такой эмпирический закон, известный под названием "закона Мэрфи", который известен во множестве формулировок, но основная мысль, которая в нем содержится, такова: "всегда полагайтесь на худший из возможных исходов". В моей практике этот закон не нарушался никогда: на- пример, если некий прибор сломался, то обязательно следует предполагать, что поломка произошла, как минимум, в двух местах. И это невероятное предположение, противоречащее основным положениям теории надежности, обычно оправдывается на практике! Я веду вот к чему: чем больше мелочей вы предусмотрите заранее, тем на- дежнее будут работать ваши приборы. Кстати, в радиоэлектронике также в полной мере оправдывается правило, которое заметили еще авиаконструк- торы: красивый самолет имеет и лучшие летные качества. Аккуратно и эсте- тично смонтированный прибор будет работать лучше и надежнее — этому можно, кстати, отыскать вполне рациональные объяснения. Например: если
30 Гпава 3 у вас соединительные провода между блоками имеют произвольную длину и толщину и кое-как запиханы в корпус прибора, напоминая мочалку для мы- тья посуды, то велика вероятность того, что вы зацепите тот или иной провод при сборке, и он просто оторвется, а если он слишком толстый и жесткий, то и цеплять не надо — пайка отломится при малейшей попытке отогнуть про- вод в сторону. Наоборот, слишком тонкий и мягкий провод будет цепляться за все подряд и обязательно стремиться попасть под крепежные винты. Кро- ме того, слишком длинные и хаотично расположенные проводники могут в некоторых случаях привести к неработоспособности схемы из-за самовоз- буждения. Ни в коем случае не берите за образец сборку персональных ком- пьютеров — там совершенно другая технологическая база, и спроектировано все настолько надежно, что хаотичное расположение кабелей в корпусе уже не может помешать работоспособности, хотя в фирменно собранных ПК ка- бели все же убирают в аккуратные жгуты. "На коленке" такого не достичь, потому берите лучше пример с отечественной военной сборки, которая тех- нологически немногим отличалась от "наколеночной", но тем не менее довольно надежно работала. Для того чтобы монтаж и сборка были на уровне, оборудовать свою домаш- нюю лабораторию нужно как можно лучше. Это не значит, что нужно покупать самые дорогие фирменные инструменты. Нет: двадцатирублевые китайские* пассатижи служат автору верой и правдой уже более десяти лет. И отечествен- ный паяльник с деревянной рукояткой будет исполнять свои функции ничуть не хуже импортного. Правда, то же самое нельзя сказать про китайские деше- вые сверла или напильники, но сейчас нам важно другое: применяемый инст- румент должен точно соответствовать той операции, для которой мы его ис- пользуем. Если мы попытаемся припаять провод к толстому стальному стержню с помощью 18-ваттного паяльника с жалом, заточенным под распайку выводов микросхем, и с использованием канифоли в качестве флюса, то про- мучавшись с полчасика, мы, возможно, добьемся своего, но гарантии, что пай- ка не отвалится, если дернуть за провод посильнее, не будет. Инструменты Рассмотрим список (неполный) того, что желательно всегда иметь под рукой. Я исключил из него слесарные инструменты типа отверток и напильников, приведя лишь позиции, специфичные для процесса монтажа и отладки собст- 1 В этой книге не раз еще будут упомянуты различные изделия "Made in China" как с положи- тельной интонацией, так и с отрицательной. Прошу китайских товарищей не обижаться на последнюю — в Китае действительно делают образцы как самых плохих, так и самых качест- венных товаров в мире.
Хороший паяльник — половина успеха. Инструменты и технологические советы 31 венно схем (хотя и напильники иногда тоже очень даже в этом процессе уча- ствуют, не говоря уж об отвертках). Не пугайтесь столь длинного перечня — он не исчерпывает всех необходимых мелочей, но в большинстве своем это недорогие (кроме электроинструмента) и легкодоступные вещи. Рассмотрим некоторые позиции подробнее. Инструменты: □ три паяльника разной мощности с подставкой; □ микродрель с набором цанговых зажимов (0,5—2 мм) и набором сверл (0,5—2,0 мм); □ врачебный пинцет; □ бокорезы; □ малогабаритные пассатижи (утконосы); □ лупа диаметром 5—7 см; □ часовые отвертки; □ скальпель или бритвенный резак; □ специальные инструменты. Расходные материалы: □ припой: свинцово-оловянный ПОС-30 (40) в прутке (без канифоли); □ припой: свинцово-оловянный ПОС-61 в проволоке 0 1—2 мм с кани- фолью; □ активный флюс; □ пассивный флюс (канифоль в кусочках и ее спиртовой раствор); □ шкурка (самая мелкая на бумажной основе и покрупнее — на тканевой); □ раствор спиртовой технический; □ чистый бензин (типа "Галоша" или "для зажигалок"); □ ацетон или аналогичный растворитель (646 или 647); □ клей "Момент-кристалл"; □ фольгированный стеклотекстолит 1,5 мм; □ макетные платы; □ термопаста; □ кембриковые (изолирующие) трубки (термоусадочные и обычные, диа- метром 1,5—10 мм);
32 Гпава 3 □ клейкая полихлорвиниловая изоляционная лента черного и белого цвета (только импортная!); □ скотч; □ водостойкие фломастеры (1 и 3 мм). Конечно, не все из перечисленного вам потребуется немедленно. Большинст- во пунктов не требуют пояснений, но некоторые стоит рассмотреть подроб- нее, и именно этим мы сейчас и займемся. Сначала несколько слов о двух наиболее употребительных вещах, которые всегда должны быть под рукой: бокорезы и пинцет. Бокорезы — малогабаритные кусачки с вертикально расположенными губ- ками — должны иметь острые, а не закругленные концы, сделаны из хоро- шей стали (бокорезы из маникюрного набора не подойдут решительно), а лезвия должны точно, без перехлеста, сходиться. Для проверки качества посмотрите через сомкнутые лезвия на свет — не должно наблюдаться даже самой маленькой щели, особенно ближе к концам лезвий. Хорошо подогнан- ные и заточенные бокорезы должны резать бумагу. Какого бы качества лез- вия ни были, не следует кусать такими бокорезами стальную проволоку и даже толстую медную — для этой цели следует иметь обычные слесарные кусачки. Если в процессе работы на лезвиях все же образовались зазубрины, следует подправить такие бокорезы плоским алмазным надфилем или отдать их для переточки в профессиональную точильную мастерскую. Пинцет — лучше всего приобрести в магазине медоборудования. Те пинцеты, которые предлагаются в радиомагазинах и тем более в магазинах для фото- любителей, обычно не выдерживают никакой критики, хотя и могут приго- диться для некоторых технологических целей, но только не для радиомонта- жа. Губки стандартного медицинского пинцета следует с помощью точила несколько заострить к концам с тыльной стороны — так удобнее браться за тонкие и короткие детали. К специальным следует отнести такие инструменты: □ клещи для зачистки проводов (очень советую приобрести, только перед покупкой проверьте, чтобы зачищать можно было даже самый тонкий провод); □ отсос для расплавленного припоя (он может пригодиться при демонтаже микросхем); □ обжимные клещи для плоских кабелей и т. п. А теперь подробно рассмотрим основное радиолюбительское орудие труда: паяльники.
Хороший паяльник — половина успеха. Инструменты и технологические советы 33 Паяльники Три упомянутых в списке разновидности паяльников предназначаются для следующих работ (в скобках указана примерная мощность): □ пайка выводов микросхем и других компонентов с выводами до 1 мм, а также тонких проводов (15—20 Вт); □ пайка компонентов с толстыми выводами (разъемы, лепестки, штекеры и пр.) и толстых проводов (сечением 2 мм2 и более) (40—65 Вт); □ пайка крупногабаритных деталей, например, пластин стеклотекстолита между собой (150—200 Вт). Вполне годятся отечественные паяльники на 220 В с деревянной ручкой. Ог- ромным их преимуществом является то, что деревянная ручка не греется так, как пластмассовая. Конечно, фирменный паяльник для пайки микросхем с мгновенным разогревом и специальным источником питания, гарантирую- щим изоляцию от сети и позволяющим регулировать температуру нагрева, предпочтительнее — но и существенно дороже. Неплохой промежуточный вариант — отечественный на пониженное напряжение (36 или 24 В), но к нему придется приобретать отдельный источник питания (или изготавли- вать его самому). Очень не советую приобретать дешевые китайские паяль- ники — они ничуть не лучше отечественных, разве что менее надежны. Кро- ме того, у них жало хотя и не требует доработки, но по непонятным причинам (скорее всего, чтобы выглядело красивее на витрине) покрыто то ли хромом, то ли никелем, и облудить такое жало — сущее мучение. Итак, что нужно делать с паяльниками? Самый мощный паяльник можно ос- тавить как есть, а две другие разновидности сразу придется, во-первых, про- верить на предмет качества изоляции, во-вторых, доработать жала. Затем жала следует облудить. Проверка изоляции осуществляется так: нужно взять мультиметр, установить его на самом верхнем пределе измерения сопротивления (10 МОм), один из щу- пов плотно прижать к жалу паяльника, другим по очереди коснуться контак- тов сетевой вилки. Мультиметр должен показать полный разрыв цепи. Лучше всего проделать это прямо в магазине — проще потом требовать замены. Еще лучше использовать для этой цели специальный мегометр, позволяющий за- одно испытать изоляцию на пробой, хотя чаще всего такого прибора под ру- кой не имеется. Если у вас есть знакомый электрик, то возможно, у него та- кой прибор и найдется, но, на худой конец, придется обойтись и обычным мультиметром. Итак, мы убедились, что изоляция нормальная, и паяльник не выведет из строя компоненты, которые мы будем паять. Теперь возьмемся за доработку
34 Гпава 3 жал. Для хороших фирменных паяльников эту операцию, естественно, делать не требуется — там жала доработаны уже как надо. А для отечественных первым делом следует аккуратно вытащить жало из паяльника. Для самого маломощного нужно расплющить жало большим молотком на плоской по- верхности тисков так, чтобы толщина его постепенно сходила на нет, зажать расплющенное жало в тиски и большим плоским напильником придать ему форму, выбранную по вкусу из вариантов, приведенных на рис. 3.1. Для па- яльника средней мощности плющить необязательно, нужно только опилить жало, чтобы оно сужалось к концу. Рис. 3.1. Доработка жала паяльника: 1 — плоское прямое жало, 2 — круглое прямое, 3 — плоское загнутое жало, 4 — круглое загнутое жало После формования жала для самого маломощного паяльника, который будет употребляться чаще всего и для самых ответственных работ, следует прове- рить, правильно ли выбрана мощность. Можно, конечно, проверить темпера- туру жала (если у вашего мультиметра есть возможность измерения темпера- туры), но неопытному человеку это мало что скажет. Поэтому есть простой эмпирический метод определения того, насколько мы правильно выбрали мощность. Для этого следует коснуться разогретым жалом кусочка канифо- ли. Если канифоль плавится и некоторое время (около пяти-десяти секунд) потом дымится — все в порядке. Если канифоль плавится плохо и жало по- том дымится длительное время — паяльник недогрет (мощность мала). Если канифоль мгновенно вскипает и тут же испаряется — паяльник перегрет (мощность великовата). Если паяльник перегревается или недогревается, то необязательно сразу покупать другой — следует попробовать взять более длинное или более короткое жало соответственно. Запасные жала имеются в продаже.
Хороший паяльник — половина успеха. Инструменты и технологические советы 35 Наконец, после всех этих мучений, жало следует облудить. Для этого паяль- ник с хорошо зачищенным с помощью шкурки жалом следует включить в сеть и после некоторого прогрева окунуть в канифоль. Следя за тем, как канифоль растекается, важно не пропустить момент, когда паяльник еще не нагрелся окончательно, но температура уже достигла точки плавления при- поя. В этот момент нужно водить жалом по припою, стараясь, чтобы припой растекся по как можно большей площади как можно более равномерно (осо- бо нужно следить за самым кончиком жала). Хороший вариант— окунуть паяльник в смесь опилок, напиленных крупным напильником из бруска при- поя, и порошковой канифоли. Операцию облуживания следует провести для всех трех паяльников. Учтите, что припой постепенно растворяет медь или латунь, из которой обычно изготовлены жала, поэтому не надейтесь, что отформованного и за- луженного паяльника вам хватит на всю жизнь. Периодически кончик жала следует затачивать, а когда оно станет совсем коротким — паяльник придет- ся менять. К сожалению, к тому времени жало настолько заклинивает в на- гревательном элементе, что сменить его обычно не получается независимо от "фирменности" или конструкции паяльника. Два слова о подставках. Довольно удобные подставки есть в продаже или их можно сделать самим, если, конечно, подставка не продавалась вместе с паяль- ником. При самостоятельном их изготовлении нужно стараться, чтобы пальник прочно держался и не падал, если случайно задеть его провод. В любом случае подставку следует дополнительно снабдить металлической щеткой для очистки жала, которые почему-то отсутствуют даже в самых фирменных конструкциях. Идеально для этих целей подходит отрезок т. н. "корчотки" — короткой сталь- ной щетины на толстой тканевой основе, использующейся в текстильном про- изводстве. Если не найдете — купите обычную хозяйственную металлическую щетку самого маленького размера с деревянной ручкой и отпилите от нее руч- ку. Кстати, если провод паяльника слишком жесткий (обычная беда не только отечественных, но и многих импортных паяльников, включая довольно доро- гие), то его неплохо бы заменить. Откусите провод вблизи ручки и нарастите его самым мягким и гибким сетевым проводом с вилкой на конце, который найдете. Но только сетевым! Если паяльник рассчитан на 220 В, то, к примеру, очень хорошие в остальных отношениях аудиопровода решительно не по- дойдут. Разумеется, при наращивании нужно обращать внимание на хоро- шую изоляцию проводов друг от друга. Если провод болтается внутри ручки, что обычно происходит почти со всеми паяльниками, тоже независимо от их происхождения и качества, то его следует закрепить изолентой, иначе скорый обрыв не исключен.
36 Гпава 3 Флюсы для пайки Это отдельная тема, которой не жаль посвятить некоторое время. Хотя рынок сейчас наполнен всяческими паяльными "примочками", опыт показывает, что в 99% случаев для получения надежных результатов можно обойтись всего двумя рецептами: обычным пассивным спирто-канифольным раствором и специальным активным флюсом для пайки плохо залуженных поверхностей. Сначала о спирто-канифольном растворе или, как его еще называют, кани- фольном лаке. Его можно приобрести или сделать самому. Единственное ус- ловие, которое следует соблюдать — использование технического или меди- цинского 95—96% спирта без каких-либо следов воды (денатурат, который часто продают в хозяйственных магазинах, не подойдет). Приобрести такой спирт можно на радиорынках (под названием "спиртовой раствор техниче- ский"), а медицинский — в аптеках. (Правда, в последнем случае не исклю- чено, что потребуется рецепт врача— спирт медицинской кондиции вполне годится для употребления внутрь, в то время как "технический раствор" я бы решительно не рекомендовал пробовать даже заядлым алкоголикам ввиду нешуточной угрозы для здоровья.) Для изготовления канифольного флюса надо измельчить канифоль в порошок и наполнить им примерно на две трети пузырек, выбранный для этой цели (удобно употреблять пузырьки от ле- карств, емкостью 100—150 мл, с пластмассовой завинчивающейся пробкой). Затем вы заливаете туда спирт в таком количестве, чтобы он покрыл поро- шок с небольшим избытком, завинчиваете пробку и немедленно несколько раз энергично встряхиваете пузырек. Собственно раствор будет готов через несколько дней в зависимости от степени измельчения канифоли. В течение этого времени пузырек нужно периодически встряхивать. Если в канифоли имеются посторонние включения, они осядут на дно. В пластмассовую проб- ку пузырька неплохо заделать кисточку, только чтобы она не была слишком длинной, иначе ваш пузырек легко перевернется, а растекание жидкой кани- фоли по столу — одно из самых тяжелых несчастий, которое можно себе представить. Простой канифольный лак, приготовленный по этому рецепту, имеет одно, но важное преимущество — он совершенно не проводит электричество ни в жидком, ни в застывшем состоянии, поэтому идеален для отладки схем. Продвинутые в радиолюбительском деле знакомые непременно предложат вам не возиться с этим делом и использовать широко распространенный уни- версальный флюс, известный под названием "ЛТИ". Надо сказать, что под этим названием ходит довольно много разных продуктов, простейший из ко- торых представляет собой тот же самый спирто-канифольный раствор с ак- тивирующими добавками, которые превращают жидкость в пасту — так яко- бы удобнее с ней обращаться. Если вам нравится — используйте, однако
Хороший паяльник — половина успеха. Инструменты и технологические советы 37 имейте в виду, что очень часто под названием "ЛТИ" продают активный флюс, в состав которого входит солянокислый диэтиламин, выделяющий при нагревании пары соляной кислоты, очищающие место пайки. Это здорово, но такой флюс крайне неудобен для отладочных радиолюбительских работ вследствие его электропроводности, и каждый раз после пайки его необходимо тщательно смывать спиртом, ацетоном или растворителем. В качестве актив- ного флюса для пайки незалуженных деталей, проволоки или поверхностей из стали, грязной меди, латуни или, скажем, нихрома удобно применять со- вершенно отдельную композицию. Из имеющихся в продаже можно реко- мендовать "Паяльную кислоту" на основе хлористого цинка или "ХАФ" на основе хлористого аммония — оба они смываются водой. Автор же вот уже в течение трех с лишним десятков лет использует само- стоятельно приготовляемый активный флюс, который дает восхитительные результаты даже для нержавеющих сталей (для пайки которых обычно реко- мендуют использовать ортофосфорную кислоту). Приготавливается он сле- дующим образом: нужно засыпать в пузырек примерно на одну треть высоты порошок хлористого аммония и залить доверху смесью, состоящей из 70% глицерина и 30% воды. Взболтать это дело и оставить на одну-две недели. Если хлористый аммоний по истечении этого срока полностью растворит- ся — досыпать еще, если нет — осадок не помешает. Насыщенным раство- ром удобно заполнить одноразовый шприц или полиэтиленовую пипетку с завинчивающейся крышечкой (от лекарства, которое закапывается в нос при гриппе). После применения остатки такого флюса обязательно смыть теплой водой под краном или стереть мокрой тряпочкой и тщательно высу- шить место пайки. Флюс совершенно нейтрален, не ядовит, безопасен для рук и не разъедает дерево, но чрезвычайно текуч и страшно медленно испа- ряется, поэтому его остатки со стола и с других предметов следует тщательно удалять влажной тряпкой. Не следует употреблять его совместно с канифо- лью — они друг другу будут мешать и смывать остатки будет гораздо труднее. Указанные составы исчерпывают почти все нужды радиолюбительской прак- тики. Один совет — не жалейте канифоли даже для временных паек! Это по- том выльется в потерю куда большего времени, чем будет затрачено на по- крытие места пайки флюсом с помощью кисточки. На этом, пожалуй, насчет пайки закончим и перейдем к платам. Платы Все схемы в настоящее время располагают на печатных платах. Название "печатные" произошло от того, что промышленные платы изготавливаются методом фотопечати. Происходит это примерно так. Рисунок проводников
38 Гпава 3 на плате заранее подготавливают в одном из специализированных программ- ных пакетов (наиболее известны PCAD и OrCAD), представляющих собой векторный графический редактор со множеством дополнительных специали- зированных функций, включающих в том числе и автоматизированную рас- кладку, хотя несложные одно- или двусторонние платы раскладываются обычно вручную. Затем этот рисунок переносится на контрастную черно- белую техническую фотопленку (примерно так же, как делаются пленки для полиграфической печати), образуя т. н. фотошаблон. Если плата двусторон- няя и дорожки-проводники у нее расположены с обеих сторон платы (самый распространенный случай), то фотошаблонов таких приходится делать, есте- ственно, два. Иногда готовую плату еще дополнительно покрывают термо- стойким ламинирующим составом, который защищает дорожки, оставляя свободными контактные площадки и отверстия для пайки (вы его не раз видели, скажем, на компьютерных картах — чаще всего он зеленого цвета, хотя последнее время в моде самые немыслимые расцветки) — в этом случае приходится делать дополнительные шаблоны. Сразу заметим, что раскладка платы и изготовление шаблонов — самая дорогая стадия в этом процессе. Поэтому если вы решите отдавать свои разработки в подобное производст- во — убедитесь сначала, что в схеме нет ошибок2. Сами платы изготавливают из фольгированного стеклотекстолита, представ- ляющего собой стеклоткань, пропитанную эпоксидным составом и покрытую с одной или двух сторон тонкой медной фольгой (когда-то основой для плат был гетинакс — пропитанная синтетической смолой бумага, но качество та- ких плат намного ниже). Стеклотекстолит бывает разной толщины. Для на- ших целей удобнее всего употреблять двусторонний стеклотекстолит толщи- ной 1,5 мм. Заметим, что отечественный стеклотекстолит несколько дешевле импортного, но дорожки у него имеют тенденцию при нагревании отслаи- ваться от носителя, поэтому лучше не экономить. Многослойные платы (скажем, материнские компьютерные платы обычно имеют четыре слоя) де- лают, склеивая между собой несколько односторонних, это сильно экономит общую площадь. Однако этот процесс много сложнее и дороже, поэтому практически недоступен для любителей. На подготовленную и очищенную от загрязнений поверхность заготовки из фольгированного стеклотекстолита нужного размера наносят состав, назы- 2 Любопытная история была опубликована недавно в одном журнале. Корпорация "Интел" решила перейти на полностью автоматизированную раскладку своих процессоров, в результате чего сроки проектирования ... значительно возросли! Представители корпорации честно при- знались в этом, объясняя публике задержку выхода новых моделей процессоров. А все дело в том, что в автоматизированную систему надо закладывать готовую схему полностью, поэто- му при внесении каких-то поправок, даже самых мелких, нужно переделывать все с нуля, включая изготовление нового комплекта шаблонов и другие дорогостоящие операции.
Хороший паяльник — половина успеха. Инструменты и технологические советы 39 ваемый фоторезистом (простейший фоторезист — обычный желатин с неко- торыми добавками). Затем на него накладывают фотошаблон и засвечивают ярким светом от кварцевой лампы. После этого плату обрабатывают в специ- альных растворах и фоторезист, в основном, смывается, оставаясь только там, где на него попадал свет. Остается только протравить плату в составе, растворяющем медь на незащищенных фоторезистом участках. Таково силь- но упрощенное описание простейшего негативного процесса, в действитель- ности все происходит несколько сложнее, но принцип остается тем же. Но на формировании рисунка проводников на плате дело отнюдь не заканчи- вается. Во-первых, на плате должны быть переходные и крепежные отвер- стия, причем разного диаметра. Они обычно просверливаются еще до покры- тия фоторезистом. Так как отверстий много, то их сверлят на специальных станках с ЧПУ по программе, которая подготавливается автоматически в том же программном пакете, что и рисунок проводников. После формирования дорожек отверстия металлизируют не только для того, чтобы обеспечить контакт между дорожками на разных сторонах платы, но и для того, чтобы обеспечить качественную пайку выводов. Поэтому при промышленном изго- товлении обязательно следует металлизировать отверстия даже на односто- ронней плате. Но и это еще не все. На последнем этапе производства провод- ники покрывают сплавом, который защищает медь от окисления и позволяет припою лучше приставать к контактам. Как видите, процесс изготовления плат достаточно сложен и, соответственно, дорог. Стоимость одной платы средних размеров даже в самых дешевых мастер- ских может зашкалить за пару сотен "вечнозеленых". Однако однозначно следует отдавать ваши платы в промышленное изготовление, если вы делаете несколько экземпляров (чем больше — тем получится дешевле в расчете на один экземп- ляр) хорошо отработанного и обкатанного на макете устройства, так вы сильно экономите на последующей отладке, сборке, и, к тому же, надежность получен- ного устройства заметно выше и меньше зависит от квалификации монтажника. А если вы изготавливаете ваше изделие в одном экземпляре, то чаще всего зате- вать подобную историю экономически нецелесообразно: быстрее и дешевле ак- куратно собрать схему на универсальной макетной плате, хотя это и приводит к значительной трате времени на монтаж и его проверку. Существует немало описанных в литературе способов изготовления печат- ных плат в домашних условиях (достаточно поковыряться в старых под- шивках журнала "Радио"), в том числе, с использованием принтеров. Вот один из самых простых. Подготовьте рисунок проводников в натуральную величину— бумажный шаблон с четко обозначенными центрами отверстий. Раньше такие шаблоны приходилось рисовать карандашом на миллиметровке, теперь, располагая
40 Гпава 3 компьютером и принтером, можно сделать все гораздо аккуратнее и точнее. Вырежьте ножницами по металлу заготовку платы из фольгированного стек- лотекстолита, соблюдая точные габаритные размеры. Затем плотно по всей поверхности наклейте на заготовку шаблон, используя простой резиновый клей — это позволит потом легко удалить бумагу и остатки клея с заготовки. Положите заготовку шаблоном вверх на деревянное основание, которое не жалко испортить, и закрепите ее струбцинкой. Чем плотнее заготовка при- жмется к основанию, тем лучше. Аккуратно накерните отверстия по шаблону, затем шаблон можно удалить. Операцию кернения нужно провести обязатель- но, иначе отверстия потом "разъедутся". Затем микродрелью просверлите от- верстия в помеченных местах, используя сверла соответствующего диаметра (для выводов большинства обычных компонентов — резисторов, диодов, ма- ломощных транзисторов, микросхем — подойдет сверло 0,6—0,7 мм, осталь- ные измерьте штангенциркулем и накиньте 0,1 мм). Учтите, что сверла на стеклотекстолите довольно быстро тупятся и приходят в негодность, поэтому следует иметь запас. После сверления следует осторожно (чтобы не расши- рять отверстия) обработать края отверстий сверлом большего диаметра или зенковкой, чтобы убрать заусенцы. Наконец, обработайте поверхность с обе- их сторон платы шкуркой-нулевкой до зеркального блеска. На этом первый этап работы можно считать законченным. Затем тщательно очистите рабочий стол и заготовку от стружек и пыли и об- работайте поверхность заготовки бензином "Галоша" с обеих сторон, исполь- зуя тампон из хлопчатобумажной ткани (но ни в коем случае не ваты!). В дальнейшем старайтесь не касаться пальцами поверхности медного слоя — берите заготовку пинцетом или, как компьютерный лазерный диск, за края. Теперь вам понадобится водостойкий фломастер с тонким стержнем 1 мм. Лучше, если фломастер новый — линия, проведенная даже очень быстро, не должна прерываться. Проверьте его водостойкость, иначе вся работа может пойти насмарку. Этим фломастером следует сначала аккуратно обвести от- верстия с обеих сторон платы, формируя контактные площадки. Они не должны быть слишком большими, иметь разрывы или непрокрашенные мес- та. Потом только останется соединить эти площадки в соответствии с рисун- ком проводников (не забывайте, что вторая сторона выглядит зеркально по отношению к первой). Рисуя дорожки, не старайтесь их делать узкими, если место позволяет— лучше провести рядом несколько линий, сливающихся в одну, или использовать более толстый фломастер. И в любом случае следу- ет шины питания и, особенно, общего провода ("земли") делать как можно шире и стараться, чтобы питание проходило по одной стороне платы, а об- щий провод — по другой. Неплохо также распространить "землю" на сво- бодную поверхность платы, где это возможно. Для некоторых аналоговых
Хороший паяльник — половина успеха. Инструменты и технологические советы 41 схем даже делают так: обратную сторону платы (противоположную распо- ложению компонентов) оставляют целиком фольгированной кроме протравленных мест под сквозные отверстия для выводов (это удобно делать зенковкой по готовой плате) и соединяют эту сторону с "землей", а осталь- ные проводники располагают на другой стороне. Нарисовав проводники с обеих сторон, оставьте заготовку окончательно под- сохнуть и подготовьте травильную ванну. Для этого лучше всего использовать фотографическую пластмассовую кювету. Ни в коем случае не металличе- скую! Из множества известных рецептов для травления меди в радиолюби- тельской практике лучше всего использовать концентрированный раствор хлорного железа, который не выделяет в процессе работы газов и потому не повреждает рисунок фломастера. Он продается на рынках и в радиолюби- тельских магазинах, и его можно использовать многократно, только при хра- нении следует его плотно закрывать. Учтите, что все травильные растворы весьма агрессивно относятся к металлам и даже к не слишком качественной эмали на сантехнических приборах, поэтому нужно соблюдать предельную осторожность, чтобы не испортить раковину или ванну. Окуните плату в подготовленный раствор. Работать лучше в резиновых пер- чатках, а манипулировать платой с помощью пинцета из пластмассы или нержавеющей стали, причем это тот случай, когда лучше использовать пин- цет с гладкими губками типа фотографического. Имейте в виду, что лимити- рующая стадия процесса травления в хлорном железе — отвод продуктов травления от поверхности платы, поэтому в состоянии покоя плата снизу бу- дет травиться гораздо быстрее, чем сверху, т. к. продукты реакции оседают на дно. Кювету нужно непрерывно покачивать и как можно чаще перевора- чивать плату, иначе могут остаться непротравленные участки, в то время как в других местах уже начнется процесс подтравливания дорожек. Важнее все- го не пропустить момент, когда вся медь на непрокрашенных участках уже сошла. Если вы оставите плату на более долгий срок — считайте, что все ис- портили, т. к. краска долго не выдержит, и дорожки начнут протравливаться. Лучше всего в конце процесса периодически промывать плату в проточной воде и рассматривать ее на свет — если травление еще не закончено, то его следует продолжить. После травления плату нужно тщательно промыть теплой водой, высушить и оставшуюся краску тщательно смыть ацетоном, меняя тампоны до удаления малейших следов фломастера. Наконец, все дорожки следует облудить. Для этого берется самый мощный паяльник, а плата целиком покрывается активным флюсом. При облуживании следует всего лишь легко касаться дорожек, чтобы долго их не прогревать, иначе они могут отслоиться. Следите, чтобы припой не заполнял отверстия и на концах дорожек не образовывались возвышения. Для
42 Гпава 3 этого нужно, чтобы припоя на паяльнике было немного. Затем плата еще раз промывается водой, высушивается и покрывается канифольным лаком — теперь она готова к монтажу. При изготовлении с помощью принтеров делается все то же самое, кроме способа формирования изображения дорожек. Самое простое — просто на- печатать изображение на поверхности слоя медной фольги, используя прин- тер, имеющий прямой тракт подачи носителя, без перегибов. Однако обычные струйные принтеры для этой цели не годятся, т. к. чернила у них водораство- римые. Можно использовать принтеры с термопереносом (не технологию термопереноса изображения на металл с помощью полимерной пленки, а именно принтеры). Однако они либо очень дороги, либо имеют специфиче- ские области применения (например, только для печати на поверхности CD/DVD). Наибольшее распространение среди радиолюбителей получила технология с использованием обычных лазерных принтеров. При этом рису- нок платы печатается в зеркальном изображении на каком-либо носителе, а затем переносится на плату с помощью горячего утюга (разумеется, отвер- стия сверлятся после нанесения рисунка, а не до). В качестве носителя может быть использована мелованная глянцевая бумага (обложки от журналов), прозрачная пленка, алюминиевая фольга и др. Самое главное при этом — точно подобрать температуру утюга, чтобы тонер на основе расплавился, но не растекся. Затем после остывания основу удаляют. При использовании обычной бумаги ее можно просто размочить в воде, а алюминиевую пленку вообще удалять не надо, т. к. она растворяется в травильном растворе, уда- лить надо только основу, на которую она наклеена (без основы напечатать на ней ничего не удастся). Многие тонкости этого процесса вы можете узнать, например, здесь: http://www.vebr.vrn.ru/tech/index.htm. Интересно, что при использовании такого способа нанесения изображения узкие дорожки полу- чаются лучше широких, правда, при использовании мелованной бумаги у них могут получаться "лохматые" края. Два слова о монтаже. Если схема отлажена, то наиболее быстрый и надеж- ный способ монтажа, к которому прибегают профессиональные монтажники, заключается в следующем: первым делом в плату "натыкиваются" компонен- ты, причем выводы не следует откусывать по необходимой длине, пусть они торчат. Плату, заполненную деталями, следует расположить компонентами вниз на поролоновой подкладке (чтобы они прижались к плате и не выпада- ли), после чего следует приступать к собственно пайке (огромное значение имеет форма и длина жала паяльника). В процессе пайки следите, чтобы компоненты не перегревались. Если все сделано правильно, то для хорошей пайки достаточно трех секунд. Для пайки удобно использовать тонкий припой с канифолью внутри — вы утыкаете одной рукой такую проволочку в место пайки, а другой прислоняете
Хороший паяльник — половина успеха. Инструменты и технологические советы 43 к этому месту кончик жала паяльника. Секунда — и пайка готова. Несмотря на канифоль в припое, не забывайте заранее "покрасить" плату канифольным лаком — хуже не будет, а мыть плату спиртом или спирто-бензиновой сме- сью так и так придется. И еще два совета насчет пайки: во-первых, не исключено, что вам попадутся отечественные детали, изготовленные давно, в первую очередь, это относит- ся к сопротивлениям типа МЛТ, к некоторым типам конденсаторов и других компонентов. Я не знаю, какие материалы были тогда использованы, но нож- ки этих деталей при хранении чернеют (т. е. покрываются тонкой темной пленкой соединений типа сульфидов), и пайка этих ножек представляет оп- ределенные трудности. Такие компоненты вполне годятся для использова- ния, только выводы нужно обработать: зачистить тонкой шкуркой-нулевкой, а затем облудить со всех сторон, стараясь не наносить лишнего припоя (ина- че вывод может не влезть в предназначенное для него отверстие). Второй совет относится к распайке компонентов на платах промышленного изготовления. Дело в том, что в процессе производства контактные площадки и дорожки покрываются сплавами (типа "Розе"), имеющими очень низкую температуру плавления. Потому, припаивая к ним вывод некоего компонен- та, не следует удерживать этот вывод на весу трясущейся рукой с пинце- том — припой застынет тогда, когда тонкий слой сплава на поверхности до- рожки еще будет жидким, и очень надежное по внешнему виду паяное соединение на поверку окажется просто блямбой припоя, слегка прижатой к контакту на плате за счет упругости вывода. После пайки выводы откусывают на нужную длину: для промышленных плат с металлизированными отверстиями достаточно, чтобы места пайки высту- пали на 1 мм над поверхностью платы, для доморощенных следует оставлять несколько побольше. Для плат собственного изготовления нужно не забы- вать, что сквозные отверстия не имеют металлизации, и их нужно пропаивать на обеих сторонах платы. О демонтаже тех компонентов, которые следует удалить или заменить. Де- монтаж, который не повреждает компонента с большим количеством выво- дов — целое искусство, включающее использование разнообразных отсосов жидкого припоя. Мы не будем здесь на этом подробно останавливаться, т. к. освоить это дело на словах не проще, чем научиться водить автомобиль по рассказам бывалых шоферов. Расскажем только, как правильно подготовить плату при замене компонента (не обращая внимания на судьбу удаляемо- го), — такое требуется не только для собственно замены, но и, например, при очистке макетных плат для дальнейшего использования. Сначала выкусите использованный компонент бокорезами. Детали с двумя выводами — резисторы или диоды — можно попробовать и выпаять, для
44 Гпава 3 этого плату нужно закрепить в тисках, а деталь подцепить отверткой или пинцетом и коснуться паяльником места пайки — вывод вылезет из отвер- стия сам. Иногда такая операция проходит удачно, и деталь годится для дальнейшего использования! После удаления обязательно нужно прочистить отверстия, которые оказываются заполненными припоем и обрезками выво- дов. Для этого смочите нужные места канифольным лаком и закрепите плату в тисочках в вертикальном положении. Затем возьмите в одну руку тонкую за- остренную деревянную палочку (удобно для этой цели использовать зубочист- ки или заостренные спички), прижмите ее острым концом как можно сильнее к залитому припоем контактному отверстию, стараясь направить в центр, а за- тем коснитесь паяльником припоя вокруг этого же отверстия. Если отверстие металлизированное, то паяльник нужно направлять с обратной стороны пла- ты, если нет — касаться им рядом с палочкой. Заостренный конец влезет в отверстие, после чего паяльник следует убрать и выждать до полного за- стывания припоя. Остатки припоя иногда вместе с обрезками выводов нужно отломить пинцетом. Деревянная палочка довольно быстро изнашивается, по- этому ее следует часто менять или затачивать. Наконец о макетных платах. Иногда под ними понимают довольно сложные устройства с множеством зажимов, где схему можно собирать без помощи паяльника. Такие устройства имеются в продаже. Но обычно, говоря о ма- кетной плате, имеют в виду просто печатную плату, на которой имеются только места для установки компонентов (отверстия и контактные площад- ки), не соединенные проводниками вовсе или соединенные по некоей специ- альной универсальной схеме. Такую плату можно использовать не только для собственно макетирования, но и для изготовления отдельных изделий в единичных экземплярах. Простейший вариант макетной платы — поле из металлизированных отверстий с двусторонними контактными площадками с шагом 2,5 (или 2,54) мм между ними. Некоторые варианты рисунка макет- ных плат показаны на рис. 3.2. Не поленитесь приобрести подобные платы — они продаются на радиорынках. В крайнем случае, их следует заказать. Уч- тите, что абсолютно универсальной платы, пригодной для расположения лю- бых компонентов, не существует, и в большинстве случаев имеющиеся при- ходится дорабатывать. Соединения между выводами компонентов на такой плате осуществляются в процессе сборки схемы с помощью отрезков обычного изолированного провода — лучше всего для этой цели употреблять т. н. "луженку", под кото- рой понимается тонкий (сечением не более 0,5 мм) одножильный медный провод, покрытый припоем, в хлорвиниловой разноцветной изоляции. Такой провод имеет один капитальный недостаток — хлорвиниловая изоляция лег- ко плавится при нагревании и "скукоживается" при пайке, обнажая концы
Хороший паяльник — половина успеха. Инструменты и технологические советы 45 на недопустимую длину. К сожалению, одножильных проводов для подобно- го монтажа в термостойкой (фторопластовой) изоляции я не встречал, хотя они, наверное, существуют в природе. Поэтому на практике удобнее исполь- зовать гибкий фторопластовый (тефлоновый) провод типа МГТФ, хотя мон- таж с его помощью получается не столь надежным из-за его гибкости. При монтаже не следует стараться провести проводники "красиво" (по прямым перпендикулярным линиям) — наоборот, качество и надежность схемы будет выше, если все соединения разведены по кратчайшему пути. Следует только стараться, чтобы провода были припаяны "внатяг", а не змеились по плате. Короткие соединения, например, перемычки, удобно делать неизолирован- ными обрезками выводов от сопротивлений и диодов. Заметим, что не следу- ет припаивать выводы деталей, особенно провода для внешних соединений платы, просто к контактной площадке или дорожке — их по мере возможно- сти следует просовывать в предусмотренное отверстие. А для внешних со- единений лучше всего в отверстия заклепывать специальные штырьки, к ко- торым уже припаивается обернутый (обязательно!) вокруг них провод. В любом случае следует прикреплять жгут внешних проводов к плате хомутиком. BCOksaWv, ggggouu oggggc< GGGGGGV GGGOGGO 9GGGGOGGO JG0GG0GGU »эЭ0эасша“ >3i3GGOOOGs jaaoooocw jaaaaooos; адвотовесЛ ЙОЭОввЭО JGGGGQGGG jaGGGQGGG }09ЭЭОООЭ< JCIGGGOGGG , JOBOOOOOO Рис. 3.2. Фрагменты различных макетных плат Если вы делаете капитальную конструкцию, которая должна прослужить много лет, то нелишне прикрепить выходящий жгут к плате и к стенкам кор- пуса прибора так, чтобы места пайки не подвергались механическим воздей- ствиям. И обязательно подобное делать для проводов сетевого питания, при-
46 Гпава 3 чем сетевые и другие высоковольтные провода следует тащить отдельным жгутом. Правильные способы пайки проводников между собой показаны на рис. 3.3. Кое-кто мне может не поверить, но обычная скрутка, если она грамотно вы- полнена, может быть ничуть не менее надежна, чем пайка. Выполнение этой операции в разных вариантах показано на рис. 3.4. И при пайке и при скрутке следует обязательно постараться предотвратить механическое напряжение, приложенное к месту их выполнения — по крайней мере, нужно надежно обматывать место соединения изолентой, а еще лучше — защищать термо- усадочной кембриковой трубкой. Рис. 3.3. Способы выполнения паяных соединений Рис. 3.4. Способы выполнения скруток
Хороший паяльник — половина успеха. Инструменты и технологические советы 47 Провода внешних соединений (межплатные или между платой и регулирую- щим компонентами, установленными на передней панели прибора) в отличие от внутриплатных соединений убирать в аккуратные жгуты как раз следует, так значительно надежнее (следует даже свивать в жгут два провода, если их всего два). Не рекомендуется для этого использовать изоленту (потом очень трудно разобраться, куда что идет), куда лучше применить специальные хо- муты или даже вообще без них обойтись — в процессе монтажа завивать на один-два оборота очередной провод вокруг имеющихся (одинаковое количе- ство оборотов для всех проводов в жгуте). Для того чтобы пара скрученных проводов с одним свободным концом со временем самостоятельно не рас- кручивалась, нужно поступать следующим образом: если сплетаемая пара короткая (в пределах 20—30 см), то следует свивать ее, пропуская между пальцами так, чтобы каждый провод закручивался в отдельности. Если же пара длинная (несколько метров), то нужно отмерить и отрезать пару прово- дов (обязательно одинакового диаметра и типа) с припуском по длине при- мерно на 30%. Затем совместно привяжите концы проводов к какой-нибудь жесткой опоре и вытяните их на всю длину. Захватите в каждую руку по про- воду и натяните их. Далее следует перехлестывать провода, перехватывая их из одной руки в другую и обязательно натягивая с разводом рук в стороны после каждого витка, что несколько напоминает упражнение из комплекса утренней зарядки. Такой способ позволяет соорудить почти идеальную ви- тую пару (с положенным 1 витком на сантиметр длины), которая гарантиро- вана от раскручивания. Более длинные провода так изящно скрутить не уда- ется. Стандартный способ с использованием электродрели, к сожалению, от постепенного раскручивания не предохраняет — вся "фишка" в том, что при одновременном закручивании в одну сторону провода всегда сохраняют на- пряжение и постепенно стараются раскрутиться (вы, несомненно, не раз мог- ли наблюдать это на примере провода для обычного телефонного аппарата). Немного о проводах В своем рассмотрении мы ограничимся только кратким, без подробностей, рассмотрением монтажных и обмоточных проводов и только самых употре- бительных типов, потому что типов проводов очень много. Более подробные сведения о них вы можете найти в справочниках. Для монтажа макетов и для межплатных соединений, если их немного, удоб- нее всего применять МГТФ — многожильный провод в тефлоновой (поли- этилентерефталатной) оболочке. Он удобен тем, что изоляция у него не пла- вится, даже если ее непосредственно греть паяльником. Обычный МГТФ розоватого или белого цвета, но есть и высокопрочный МГТФ в черной
48 Гпава 3 изоляции, который еще удобен тем, что у него проводники заранее залужены. Разноцветный МГТФ тоже существует, но, т. к. тефлон окрашивается плохо, цвет ему придают с помощью второй наружной оболочки из лакоткани, что делает его жестким и значительно увеличивает его толщину. Выпускается и экранированный МГТФ — с его помощью удобно протягивать, скажем, внутрикорпусные соединения от входных разъемов к платам в аудио- и изме- рительной аппаратуре, только экран у него ничем не изолирован и приходит- ся его убирать в кембриковую трубку. Второй самый употребительный тип известен под собирательным названием МГШВ (под этим названием на самом деле имеется много разных похожих типов проводов, но мы не будем на этом останавливаться — продавцы и ва- ши коллеги всегда поймут, о чем речь). Он имеет полихлорвиниловую изоля- цию, внутри которой может быть, а может и не быть дополнительной шелко- вой намотки. Если намотка имеется, то такой провод годится для прокладки проводников с высоким (220 В) напряжением. Провода без шелка (МГВ) для такой цели употреблять нельзя — если только изоляция специально не утол- щена. МГШВ лучше покупать с уже залуженными жилами, т. к. изоляция легко плавится, и лучше провод лишний раз не нагревать. Провода в полиэтиленовой изоляции для монтажа путем пайки употреблять не следует — они жесткие, а полиэтилен очень легко деформируется при нагревании. Провода для намотки трансформаторов называют обмоточными. Подобно МГШВ, они ходят в народе под собирательным названием ПЭЛ или ПЭВ (точнее, ПЭВ-2, что означает двухслойное покрытие лаком). Эти провода имеют покрытие из специального гибкого термостойкого и устойчивого к растворителям лака. Оно достаточно тонкое, так что при измерении диа- метра этих проводов микрометром или штангенциркулем толщину покрытия можно не учитывать. Единственное, чего это покрытие "не любит" — слиш- ком маленьких радиусов изгиба, поэтому при использовании обмоточных проводов следует тщательно избегать "колышек" и запутывания в узлы. Так как покрытие термостойкое, то при пайке конец такого провода зачистить с целью облуживания довольно сложно. Это следует делать либо механиче- ски (скажем, при помощи тонкой шкурки — но ни в коем случае не ножом и не скальпелем!), либо при помощи народного средства, которое заключается в том, что конец провода кладется на таблетку обыкновенного аспирина и прижимается к ней хорошо разогретым жалом паяльника (после чего конец следует очистить от обгоревших остатков лака). Есть и специальные высоко- вольтные обмоточные провода (ПЭЛШО), которые покрыты дополнительно слоем шелка (почему-то чаще всего синего цвета).
Хороший паяльник — половина успеха. Инструменты и технологические советы 49 Два слова о кембриковых трубках, которые применяют для изоляции, напри- мер, при пайке разъемов или при необходимости сращивания проводов меж- ду собой (имейте в виду, что профессионалы редко употребляют липкую ленту, а всегда пользуются кембриком). Они бывают двух типов: обычные и термоусадочные. У термоусадочных трубок при нагревании до НО—120° диаметр уменьшается примерно вдвое и они становятся жестче, прочно обво- лакивая место пайки и не давая проводу гнуться и ломаться. Корпуса If Проблема корпусов для радиоаппаратуры не стоит особенно остро — все крупные фирмы, торгующие компонентами, торгуют и различными корпуса- ми, а есть еще и много фирм помельче. Беда тут примерно та же, что и с по- купкой, скажем, обуви — вроде ее много на любой вкус и кошелек, да одни ботинки не смотрятся, в других кантик неподходящий, третьи цветом не вы- шли, четвертые в подъеме жмут... Короче, подобрать под конкретный при- бор готовый корпус — задача весьма не простая. Потратив 10—20—30 "бак- сов" на блестящее заморское изделие, очень не хочется браться за напильник, чтобы доводить его до ума, но приходится — здесь должно быть окно для индикатора, эту стенку вообще надо удалить, ибо тут будет стоять радиатор для мощного транзистора, тут требуются фигурные отверстия под разъемы... Тогда, спрашивается, зачем тратились? А если еще ошибешься, что нередко случается даже с опытными слесарями? В общем, есть простой способ изготовления корпусов в домашних условиях под конкретные нужды, причем если руки на месте, то такие корпуса в гото- вом изделии будут выглядеть практически не хуже фабричных. Заключается способ в том, что вы сначала рисуете эскизы всех стенок и перегородок, рас- полагаете детали и платы, чтобы они не наезжали друг на друга, выверяете размеры (компьютер дает простор для такого рода творчества), а затем по готовым эскизам переносите размеры на фольгированный стеклотекстолит и вырезаете заготовки. Можно даже все отверстия заранее сделать — удобнее работать с пластинкой, чем с готовой коробкой. Затем, прикладывая заготов- ки под прямым углом друг к другу, пропаиваете место стыка обычным при- поем. Вот тут очень пригодится самый мощный паяльник и упомянутый во- дорастворимый флюс. Секрета там всего два: первый— надо не забывать давать припуски на толщину материала по нужным сторонам заготовок; второй — иметь в виду, что припой сокращается в объеме при застывании, поэтому пластинки под прямым углом относительно друг друга надо прочно закреплять, иначе угол окажется совсем не прямым, а распаять будет уже очень трудно. Готовый корпус обтягивается самоклеящейся пленкой, напри- мер, под дерево. Если делать все аккуратно, получается классно!
50 Гпава 3 В детали этого процесса я вдаваться не буду, ведь мы собрались заниматься схемотехникой, а не дизайном корпусов для радиоаппаратуры — дам еще только два совета. Первый: если у вас в корпусе окно для индикаторов, то его надо делать из дымчатого, а не прозрачного пластика, а все, что за этим ок- ном расположено, кроме, естественно, самих индикаторов (включая плату с проводниками), выкрасить в черный цвет из аэрозольного баллончика — это придаст "фирменности" вашей конструкции. Ужасно выглядят конструк- ции, в которых через стекло виднеются пайки на печатной плате. Можно к тому же заклеить всю незадействованную поверхность окна изнутри черной липкой лентой. Если следовать этому совету, то можно не выпиливать окна точно по размеру индикатора, что довольно сложно сделать красиво, а вы- полнить из дымчатого стекла, скажем, всю переднюю панель. Второй совет касается нанесения надписей на переднюю панель. Скажу сразу, наилучший способ — заказать панель с лазерной гравировкой. Но это дорого и хлопотно, потому хочется сделать самому. Ручной способ отвергаем с порога — ничего не может выглядеть кошмарнее, чем надписи, сделанные вручную. Ника- кие трафареты и гравировальные машинки здесь помочь не могут. Это вообще была одна из самых тяжелых проблем до самого последнего времени и не только для радиолюбителей — даже мелкосерийные приборы на советских заводах вы- пускались с гравированными вручную надписями. И это было ужасно. К счастью, в последние годы в связи со всеобщей доступностью струйных принтеров проблема качественной печати любым размером шрифта, любым цветом и на любом фоне решена полностью. Делается это на специальной пленке, которая с одной стороны липкая и покрыта защитным слоем, как са- моклеящаяся пленка, а с другой имеет специальную пористую фактуру, хо- рошо удерживающую принтерные чернила. Она довольно дорогая, но десяти листочков вам хватит на всю оставшуюся жизнь, если вы, конечно, не соби- раетесь налаживать крупносерийное производство. Если же такой пленки под рукой нет, то можно напечатать надписи просто на плотной мелованной бу- маге, например, на обратной стороне обложки настенного календаря, а затем приклеить их двусторонним скотчем. Красивее всего выглядят надписи, напе- чатанные вывороткой, т. е. белым цветом на черном фоне, только не забудьте закрасить белые торцы готовых к наклейке "лейблов" черным фломастером, иначе они будут очень бросаться в глаза. Разумеется, мы не смогли здесь раскрыть и малой доли правил и секретов радиолюбительских технологий. К тому же разные школы радиолюбитель- ского мастерства привыкли к разным технологиям, поэтому автор не претен- дует в своих советах на абсолютную истину, рекомендуя лишь то, что его никогда не подводило в течение уже более двадцати пяти лет практики в ка- честве радиолюбителя и профессионала.
Глава 4 Т ригонометрическая электроника. О частотах, периодах, мощности, переменных напряжениях и токах и немного о сигналах И оба во весь опор помчались в сторону столицы. А. Дюма, "Три мушкетера” Электрохимические (гальванические) элементы и аккумуляторы, с которыми мы экспериментировали в главах 7 и 2, являются источниками постоянного напряжения. Определение "постоянное" не означает, что такое напряжение вообще не меняется. Отнюдь — типичный график зависимости напряжения от времени для гальванических элементов разных типов приведен на рис. 4.1 (это т. н. разрядные кривые). Причем зависит оно не только от времени — отдельные пики на графиках относятся к моментам, когда нагрузка отключа- лась, при этом напряжение элемента скачкообразно росло, а затем при ее подключении снова падало. Этот график, между прочим, хорошо иллюстри- рует уже известный нам вывод о том, что наиболее выгодными по соотноше- нию цена/продолжительность работы являются алкалайновые элементы: обычные марганец-цинковые примерно в два раза дешевле, но имеют в три раза меньший срок службы, а единственное преимущество очень дорогих литиевых состоит в том, что их напряжение меньше снижается за все время разряда (зато потом быстро падает до нуля). Итак, постоянное напряжение на деле может быть совсем и не постоянным. В главе 10 мы увидим, что даже для самых лучших источников питания оно обязательно немножко "гуляет" в зависимости от тока нагрузки и ее характе- ра. Что же тогда называть переменным напряжением? Строгого определения, как ни странно, не существует. Часто приводимое в учебниках выражение "напряжение, которое изменяется с течением времени", как видите, прекрасно
52 Гпава 4 А д. А _ / А X з К / . ГЧ I 1 XJ U, В 1,8 1.6 1,4 1.2 1 0.8 0.6 0 5 10 15 20 25 30 35 40 45 t, ч Рис. 4.1. Зависимость напряжения от времени для гальванических элементов типоразмера АА при токе нагрузки 100 мА: 1 — литиевый; 2 — алкалайновый; 3 — марганец-цинковый (По данным И. Подушкина, "Радио", 2, 2004) подходит и к нашим батарейкам1, хотя они являются типичными источника- ми напряжения постоянного. Поэтому мы договоримся переменными назы- вать такие напряжения или токи, которые изменяются во времени, во-первых, периодически, во-вторых, делают это "сами по себе" без влияния со стороны нагрузки и других внешних причин. Слово "периодически" означает, что, на- чиная с какого-то момента времени, форма графика такой величины повторя- ется снова и снова (хотя, возможно, и с некоторыми изменениями). Время повтора называется периодом переменной величины. Как вы хорошо знаете из школьного курса физики, наиболее простым и наглядным примером пере- менной величины является величина, изменяющаяся во времени по синусои- дальному закону. На рис. 4.2 приведен график такой величины в условном масштабе. По оси ординат могут быть отложены как напряжение или ток, так и любой другой физический параметр. Отрезок времени Т есть период изме- нения, а величина А носит название амплитуды и представляет собой макси- мальное значение нашей переменной в одном периоде (отметим, что для синусоидального закона минимальное значение — на части графика ниже оси абсцисс — строго равно максимальному). Величина, обратная периоду, обозначается буквой f и носит название частоты (см. формулу на рис. 4.2). 1 Строго говоря, называть гальванические элементы батарейками неправильно — батареей называют источник, составленный из нескольких отдельных элементов. Но так уж повелось в разговорном языке, да потом не всегда точно известно, является ли данный элемент именно элементом или батареей (типичный пример последнего случая — 9-вольтовая батарея типа "Крона").
Тригонометрическая электроника. О частотах, периодах, мощности... 53 Для нее придумана специальная единица измерения — хорошо всем знако- мый герц (Гц), названный так в честь немецкого физика XIX века Генриха Герца, доказавшего существование радиоволн. Как следует из определения частоты, размерность герца есть единица, деленная на секунду: 1 Гц = 1/1 с. Это просто-напросто означает, что колебание с частотой 1 Гц имеет период повторения ровно 1 секунду. Соответственно, 1 кГц (килогерц) означает, что в одной секунде укладывается тысяча периодов, 1 МГц (мегагерц) — милли- он периодов и т. п. Рис. 4.2. График простого синусоидального колебания В дальнейшем под переменной величиной мы будем иметь в виду напряжение (для тока все выглядит аналогично). Математический закон, описывающий по- ведение синусоидального напряжения ({/) от времени (/), выглядит так: U = А • sin (2Tifi) (1) Здесь л есть хорошо нам знакомое иррациональное число "пи", т. е. отноше- ние длины окружности к диаметру, равное 3,1415... Произведение 2nf носит специальное название "круговая частота" и обозначается буквой со. Физиче- ский смысл круговой частоты — величина угла (измеряемого в радианах), пробегаемого нашей синусоидальной кривой за секунду. Так как мы обещали не заниматься радиочастотной техникой, то углубляться в дальнейшие абст- ракции вроде представления переменных колебаний через комплексные чис- ла, где понятие круговой частоты является ключевым, мы не будем — для практических нужд нам хватит и вышеуказанных наглядных определений обычной частоты через период. А что будет, если график немного подвигать вдоль оси абсцисс? Как видно из рис. 4.3, это равносильно признанию того факта, что в нулевой момент време- ни наше колебание не равно нулю. На рис. 4.3, например, оно начинается
54 Гпава 4 с максимального значения амплитуды. Соответственно сдвигаются времени, соответствующие целому и половине периода, а в соответствующем уравне- нии появится еще одна величина, обозначаемая буквой ср, и измеряемая в единицах угла — радианах: U = А • sin (271// + ф) ‘ (2) Рис. 4.3. График синусоидальных колебаний, сдвинутых по фазе на четверть периода Эта величина носит название "фазы". Взятая для одного отдельного колеба- ния, величина фазы выглядит не имеющей особого смысла, т. к. мы всегда можем сместить точку начала отсчета времени так, чтобы привести уравне- ние к виду (1), а, соответственно, график — к виду рис. 4.2, и при этом ниче- го не изменится. Однако не то произойдет, если мы имеем два связанных ме- жду собой колебания, скажем, напряжения в разных точках одной схемы. В этом случае нам может быть важно, как соотносятся их величины в каждый момент времени, и тогда фаза одного переменного напряжения относительно другого (называемая в этом случае сдвигом или разностью фаз) и будет ха- рактеризовать такое соотношение. Для колебаний, представленных на рис. 4.3, сдвиг фаз равен 90° (тт/2 радиан). Именно для наблюдения таких колебаний совместно и предназначен многоканальный или многолучевой осцилло- граф — в обычном фаза колебания определяется только настройками син- хронизации. Интересно, что получится, если мы такие "сдвинутые" колебания суммиру- ем? Не надо думать, что это лишь теоретическое упражнение — суммировать электрические колебания разного вида нам придется довольно часто. Мате- матически это будет выглядеть, как сложение формул 1 и 2: U = А1 • sin (271/10 + А2 sin' (2nf2t + ф) (3)
Тригонометрическая электроника. О частотах, периодах, мощности... 55 Обратите внимание, что в общем случае амплитуды и частоты колебаний различны (на рис. 4.3 они одинаковы!). Рис. 4.4. Суммирование колебаний, сдвинутых по фазе на четверть периода: 1 — исходные колебания; 2 — их сумма Чтобы представить себе наглядно результат, надо проделать следующее: скопировать графики на миллиметровку, разделить период колебаний на не- которое количество отрезков и для каждого отрезка сложить величины коле- баний (естественно, с учетом знака), а затем провести график по полученным значениям. Еще удобнее проделать то же самое на компьютере: надо напи- сать программу, которая вычисляет значения по формуле (3) и строит соот- ветствующие графики. Конечно, можно и не писать собственную программу, а использовать готовую, скажем, Excel прекрасно умеет проводить подобные операции. Для иллюстрации продемонстрируем, что получится, если сложить два колебания, которые были представлены на рис. 4.3 (результат на рис. 4.4). Я не буду приводить картинки для иных случаев, т. к. интересных комбинаций может быть довольно много, но очень рекомендую потратить время на эти упражнения, потому что результаты могут быть весьма неожи- данными и вовсе неочевидными: скажем, при сложении двух синусоидаль- ных колебаний с одинаковой частотой и амплитудой, но со сдвигом фаз в 180° (когда колебания находятся в противофазе), результирующая сумма будет равна нулю на всем протяжении оси времени! А если амплитуды таких колебаний не равны друг другу, то в результате получится такое же колеба- ние, амплитуда которого в каждой точке равна разности амплитуд исходных. Запомним этот факт — он нам пригодится, когда мы будем рассматривать усилители звуковой частоты с обратной связью (см. главу 9). Можно ли проверить на практике это положение? Для этого нам придется немного забежать вперед: потребуется сетевой трансформатор с двумя вто-
56 Гпава 4 ричными обмотками. Обмотки эти нужно соединить последовательно так, чтобы конец одной обмотки соединялся с концом другой (как находить нача- ла и концы обмоток трансформатора, будет рассказано в главе 10). В обмот- ках трансформатора оба напряжения имеют одинаковую частоту и фазу, за- висящую от способа их соединения — если соединить так, как указано (конец с концом), то сдвиг фаз составит ровно 180°, т. е. мы воспроизведем условия нашего эксперимента. Теперь осталось только включить трансфор- матор в сеть и присоединить вольтметр к свободным выводам обмоток (естественно, настроенный для измерения переменного напряжения). Мы по- лучим именно то, что предсказано расчетом: если обмотки одинаковые (т. е. амплитуды напряжений в них одинаковы), то вольтметр не покажет ниче- го — несмотря на то, что сами напряжения в обмотках могут быть сколь угодно велики! Если же обмотки имеют разное количество витков, то резуль- тат измерения будет равен разности напряжений. Комбинируя различные об- мотки таким образом, мы можем заставить трансформатор выдавать напря- жения, которые в нем вовсе не были предусмотрены! А вот вопрос на засыпку: что показывал вольтметр в предыдущем экспери- менте? Ведь измеряемая величина с частотой 50 раз в секунду все время ме- няется от минимального отрицательного до максимального положительного значения — и тем не менее, вольтметр нам показывал совершенно опреде- ленное значение. Для ответа на этот вопрос отвлечемся от колебаний и пого- ворим еще об одной важнейшей величине, которая характеризует электриче- ский ток: о мощности. Мощность Согласно определению, мощность есть энергия (работа), выделяемая в еди- ницу времени. Единица мощности называется ватт (Вт). По определению, 1 ватт есть такая мощность, при которой за 1 секунду выделяется (или затра- чивается — смотря с какой стороны посмотреть) 1 джоуль энергии. Для элек- трической цепи ее очень просто подсчитать по закону Джоуля-Ленца: N (ватт) = U (вольт) х / (ампер). Эту формулу несложно вывести из определе- ний тока и напряжения (см. главу 1). Действительно, размерность напряже- ния есть джоуль/кулон, а размерность тока— кулон/секунду. Если их пере- множить, то кулоны сокращаются и получаются джоули в секунду — что, согласно определению выше, и есть мощность. Если подставить в формулу выше выражения связи между током и напряжением по закону Ома, то мож- но вывести еще два часто употребляющихся представления закона Джоуля- Ленца: N = I х R и N = U IR. Обратите внимание на одно важное следствие из этих формул: мощность в цепи пропорциональна квадрату тока и напряжения.
Тригонометрическая электроника. О частотах, периодах, мощности... 57 Это означает, что если повысить напряжение на некоем резисторе вдвое, то мощность, выделяющаяся на нем, возрастет вчетверо. Отметьте также, что от сопротивления мощность зависит линейно: если вы при том же источнике питания уменьшите сопротивление вдвое, то мощность в нагрузке также воз- растет вдвое. Это именно так, хотя факт, что, согласно закону Ома, ток в це- пи увеличится также вдвое, мог бы нас привести к ошибочному выводу, буд- то в этом случае выделяющаяся мощность возрастет вчетверо. Если вы внимательно проанализируете формулировки закона Джоуля-Ленца, то пой- мете, где здесь "зарыта собака". В электрических цепях энергия выступает чаще всего в виде тепловой энер- гии, поэтому электрическая мощность в подавляющем большинстве случаев физически означает количество тепла, которое выделяется в цепи (если в ней нет электромоторов или, скажем, источников света). Вот и ответ на вопрос, который мог бы задать пытливый читатель еще при чтении главы 7: куда расходуется энергия источника питания, гоняющего по цепи ток? Ответ: на нагревание сопротивлений нагрузки, включенных в сеть. И даже если на- грузка представляет собой источник света (лампочку или светодиод), то большая часть энергии все равно уходит в тепло: КПД лампы накаливания (т. е. та часть энергии, которая превращается в свет), как известно, не превы- шает долей процента (у светодиодов эта величина значительно выше, но и там огромная часть энергии уходит в тепло). Кстати, из этого следует, на- пример, что ваш компьютер последней модели, который потребляет сотни ватт энергии, также всю эту энергию переводит в тепло — за исключением исчезающе малой ее части, которая расходуется на свечение экрана и враще- ние жесткого диска. Такова цена информации! Если мощность, выделяемая на нагрузке, превысит некоторую допустимую величину, то нагрузка просто сгорит. Поэтому различные типы нагрузок ха- рактеризуют предельно допустимой мощностью, которую они могут рассеять без необратимых последствий. Подробнее об этом для разных видов нагрузок мы поговорим в дальнейшем, а сейчас зададимся вопросом: что означает мощность в цепях переменного тока? Что показывал вольтметр Для того чтобы понять смысл этого вопроса, давайте внимательно рассмот- рим график синусоидального напряжения на рис. 4.2. В каждый момент вре- мени величина напряжения в нем разная — соответственно, будет разной и величина тока через резистор нагрузки, на который мы подадим такое на- пряжение. В моменты времени, обозначенные 772 и Т (т. е. кратные половине периода нашего колебания), напряжение на нагрузке вообще будет равно нулю 3 Зак. 710
58 Гпава 4 (ток через резистор не течет), а в промежутках между ними меняется вплоть до некоей максимальной величины, равной амплитудному значению Л. Точно так же будет меняться ток через нагрузку, а следовательно, и выделяемая мощность. Но процесс выделения тепла крайне инерционен — даже такой маленький предмет, как волосок лампочки накаливания, за 1/100 секунды, которые проходят между пиками напряжения в промышленной сети частотой 50 Гц, не успевает заметно остыть. Поэтому нас чаще всего интересует имен- но средняя мощность за большой промежуток времени. Чему она будет равна? Для того чтобы точно ответить на этот вопрос, нужно брать интегралы: сред- няя мощность за период есть интеграл по времени от квадрата функции на- пряжения. Здесь мы приведем только результат: величина средней мощности в цепи переменного тока определяется т. н. действующим значением напря- жения (£/ц), которое для синусоидального колебания связано с амплитудным его значением (t/a) следующей формулой2: t/a = Щ -V2. Точно такая же формула справедлива для тока. Когда говорят "переменное напряжение 220 В", то всегда имеется в виду именно действующее значение. При этом амплитудное значение равно примерно 311В, что легко подсчитать, если ум- ножить 220 на корень из двух. Это значение нужно всегда иметь в виду при выборе компонентов для работы в сетях переменного тока. Если взять диод, рассчитанный на 250 В, то он легко может выйти из строя при работе в обычной сети, в которой мгновенное значение превышает 300 В, хотя дейст- вующее значение и равно 220 В. А вот для компонентов, использующих эф- фект нагревания (лампочек, резисторов и т. п.), при расчете допустимой мощности нужно иметь в виду именно действующее значение. Называть действующее значение "средним" неверно, правильно называть его среднеквадратическим (по способу вычисления — через квадрат функции от времени). Но существует и понятие среднего значения, причем не одно, а да- же два. Просто "среднее" (строго по смыслу названия) — сумма всех мгно- венных значений за период. Так как нижняя часть синусоиды (под осью абс- цисс) строго симметрична верхней, то можно даже не брать интегралов, чтобы сообразить, что среднее значение синусоидального напряжения, пока- занного на рис. 4.2, в точности равно нулю — положительная часть компен- сирует отрицательную. Но такая величина малоинформативна, поэтому чаще используют средневыпрямленное (среднеамплитудное) значение, при кото- ром знаки не учитываются (т. е. в интеграл подставляется абсолютная вели- чина напряжения). Эта величина (t/B) связана с амплитудным значением (t/a) по формуле Ua = я • UB/2, т. е. t/a равно примерно 1,57 UB. 2 Вывод этой формулы см. в приложении 3.
Тригонометрическая электроника. О частотах, периодах, мощности... 59 АА Рис. 4.5. Графики некоторых колебаний несинусоидальной формы Кстати, для постоянного напряжения и тока действующее, среднее и средне- амплитудное значения совпадают и равны просто величине напряжения (тока). Однако на практике часто встречаются переменные колебания, форма кото- рых отличается и от постоянной величины, и от строго синусоидальной. Ос- циллограммы некоторых из них показаны на рис. 4.5. Для таких сигналов вышеприведенные соотношения для действующего и среднего значения не- действительны! Самый простой случай изображен на рис. 4.5, в — колебание представляет собой синусоиду, но сдвинутую вверх на величину амплитуды. Такой сигнал можно представить как сумму постоянного напряжения вели- чиной А (постоянная составляющая) и переменного синусоидального (пере- менная составляющая). Соответственно, среднее значение его будет равно А, а действующее А + А/ 41 . Для прямоугольного колебания (рис. 4.5, б) с рав- ными по длительности положительными и отрицательными полуволнами (меандра) соотношения очень просты: действующее = среднеамплитудному = = амплитудному, как и для постоянного тока, а вот среднее значение равно, как и для синуса, нулю. Для случая (рис. 4.5, а), который представляет собой синусоидальное напряжение, пропущенное через двуполупериодный выпря- митель (см. главу 10), действующее и среднеамплитудное значения будут равны соответствующим значениям для синусоиды, а вот среднее будет равно не нулю, а совпадать со среднеамплитудным. Для случая (рис. 4.5, д) указать все эти величины вообще непросто, т. к. они зависят от формы сигнала. Но даже выучив все это, вы все равно не сможете измерять величины напря- жений и токов несинусоидальной формы с помощью мультиметра! Не забы- вайте об этом, как и о том, что для каждого мультиметра есть предельные значения частоты колебаний — если вы включите мультиметр в цепь с ины- ми параметрами, он может показать все что угодно: по распространенному выражению, "погоду на Марсе". Измерительные приборы для переменного
60 Гпава 4 напряжения проградуированы в значениях действующего напряжения, но измеряют они, как правило, среднеамплитудное (по крайней мере, большин- ство — на подробностях мы не будем сейчас задерживаться). Сообразить, как именно пересчитать показания, далеко не всегда возможно, а для сигналов такого типа, как на рис. 4.5, д, это выливается в сущую головоломку на уров- не задач для студентов мехмата. Выручить может осциллограф и знание со- отношений, приведенных ранее для сигналов самой распространенной фор- мы, ну а для более сложных вычислять действующие и средние значения нам и не потребуется. Для прямоугольных напряжений, представляющих собой меандр3, подобный рис. 4.5, б, существует еще одна важная характеристика. Никто ведь не за- прещает представить себе прямоугольное напряжение, в котором впадины короче или длиннее всплесков. В электронике меандр без дополнительных пояснений означает симметричную форму прямоугольного напряжения, при которой впадины строго равны всплескам по длительности, но, вообще гово- ря, это необязательно. На рис. 4.6 приведены два примера таких напряжений в сравнении с симметричным меандром. Характеристика соотношений меж- ду длительностями частей периода называется скважностью и определяется как отношение длительности всего периода к длительности положительной части (именно так, а не наоборот, т. е. величина скважности всегда больше 1). Для меандра скважность равна 2, для узких коротких импульсов она будет больше 2, для широких — меньше. 3 Меандр — тип геометрического узора с повторяющимися ломаными линиями (по названию извилистой реки Меандр а Малой Азии).
Тригонометрическая электроника. О частотах, периодах, мощности... 61 Сигналы Несколько слов о сигналах. Электрический сигнал по смыслу его назва- ния — состояние электрической цепи, которое несет информацию. Различа- ют источники сигналов и их приемники. Так как минимальное количество информации (1 бит) подразумевает, по крайней мере, два различимых со- стояния (подробнее об этом будет идти речь в главе 19), то и сигнал должен иметь как минимум два состояния. Самый простой сигнал — наличие или отсутствие постоянного напряжения в цепи. Именно такими сигналами об- мениваются логические микросхемы. Однако на большое расстояние такой простейший сигнал не передашь — слишком сложно защититься от помех. Из-за них приемник легко может обнаружить наличие сигнала там, где на самом деле всего лишь помеха. Поэтому придумывают разные сложные ме- тоды, некоторые из них, например, предусматривают передачу переменного напряжения разной частоты или фазы (именно так устроены модемы). Теория передачи сигналов тесно связана с теорией колебаний — одно только радио чего стоит! Подробнее о разных сигналах мы будем говорить в соответст- вующих главах, а сейчас нам важно только одно: когда мы говорим о сигна- лах, то подразумеваем, что соответствующее напряжение или ток не предна- значено для совершения иной работы, кроме как заставить сработать приемник. Поэтому соответствующие передаваемые мощности значительно меньше, чем при передаче электроэнергии для совершения полезной работы. Действительно — никто еще не придумал, как питать, скажем, спутники на орбите по радиолучу, а вот информацию передают вполне успешно даже на Марс. В этом и заключается разница между силовыми и сигнальными цепями (если помните, то в предыдущей главе мы даже специально отмечали, что проводники питания на плате следует делать как можно шире). И понимание этого тонкого различия очень пригодится нам в дальнейшем изложении. К слову Кстати, отдельный вопрос — а почему нам вообще надо возиться с перемен- ным током как основой электропитания? Сколько можно было бы сэконо- мить на трансформаторах и сглаживающих конденсаторах, которые зачастую составляют большую часть габаритов и стоимости схемы! Недаром ненави- дящие это дело схемотехники и дизайнеры в последнее время прилепились к выносным блокам питания, встроенным в сетевую вилку — крайне некра- сивое решение, которое просто переносит головную боль о габаритах с плеч разработчиков на плечи потребителей, зато позволяет не думать о выпрями- телях и прочих трудностях преобразования переменного тока в постоянный.
62 Гпава 4 Дело в том, что никаких других эффективных первичных генераторов элек- троэнергии (тех, что преобразуют энергию вращения ротора водяной или па- ровой турбины в электричество на электростанциях), кроме работающих на переменном токе, не придумали. Интересно, что многие линии электропере- дач в мире делают-таки на постоянном (выпрямленном, т. е. пульсирующем) токе, что позволяет во многом избежать реактивных потерь в проводах, но все же приходится при этом сначала преобразовывать переменный ток в по- стоянный, а затем производить обратное преобразование, которое куда слож- нее — исключительно для того, чтобы состыковать имеющиеся линии элек- тропитания со стандартными. Аналогичная задача, только в меньших масштабах, стоит перед разработчиками источников бесперебойного питания (UPS) — питающий ток из сети нужно преобразовать в постоянный для за- рядки низковольтного (12 или 24 вольта) резервного аккумулятора, а в случае пропадания сетевого питания это напряжение аккумулятора следует опять преобразовать к стандартному виду переменного сетевого напряжения (такое преобразование называется инверсией), причем желательно, чтобы форма его была максимально близка к синусоидальной. Приходится поломать голову, чтобы компьютер, питающийся через UPS, не заметил такого перехода!
Глава 5 Электроника без полупроводников. Резисторы, конденсаторы и схемы на их основе Глаза миледи метали такие молнии, что, хо- тя лорд Винтер был мужчина и стоял воо- руженный перед беззащитной женщиной, он почувствовал, как в душе его зашевелил- ся страх. А. Дюма, "Три мушкетера" Резисторы и конденсаторы — основа основ электроники. Эти элементы вме- сте с индуктивностями относятся к разряду т. н. линейных, потому что ток и напряжение в них зависят друг от друга по линейному закону. Вместе с дио- дами, стабилитронами, реле и некоторыми другими приборами, которые на- зываются нелинейными элементами, они образуют группу пассивных компо- нентов, а лампы и транзисторы — активных. Резисторы Резистор — самый распространенный компонент электронных схем. Несмот- ря на его простоту (в самом деле — это всего-навсего кусок материала с оп- ределенным сопротивлением), не существует практически ни одной работо- способной схемы, в которой бы не присутствовали резисторы в том или ином виде. Даже если вы их и специально не ставили, они все равно есть. Скажем, в простейшем случае настольной лампы или карманного фонарика, где вся схема состоит из источника питания (сети или батарейки), выключателя и лампочки, резисторы неявно присутствуют: это и сама лампочка, которая светится, нагреваясь за счет своего высокого сопротивления, и сопротивле- ние проводов, и внутреннее сопротивление источника питания. Все эти эле- менты могут быть представлены на схеме как резисторы. Причем последние два элемента из перечисленных только мешают, забирая на себя часть полез- ной мощности, но избавиться от них невозможно, они присутствуют всегда и везде, поэтому их нужно учитывать и стараться свести их влияние к минимуму.
64 Гпава 5 Идеальный источник напряжения имеет нулевое внутреннее сопротивление (а идеальный источник тока, кстати — сопротивление, равное бесконечности. Подумайте почему?). Но в реальности так не происходит. Именно для того чтобы отделить напряжение на выходе реального источника с реальной на- грузкой от теоретически возможного напряжения на нем, физики, склонные ко всяким абстракциям, придумали понятие э.д.с. (электродвижущей си- лы) — не существующую на деле величину, которую мы здесь употреблять не будем. Зато понятием внутреннего сопротивления будем пользоваться весьма широко. Влияние внутреннего сопротивления батарейки приводит к всплескам напряжения при включении и отключении нагрузки (см. рис. 4.1), причем на весьма существенную величину. Чем мощнее источник питания, тем меньше его внутреннее сопротивление, и тем меньше "просадка" напря- жения при подключении нагрузки (подключите лампочку накаливания к ба- тарейкам типа АА и типа D1, и вы сразу почувствуете разницу). Но для сни- жения внутреннего сопротивления вовсе не обязательно увеличивать мощность источника до бесконечности — к тому же эффекту приводят спе- циальные меры по стабилизации напряжения, с которыми мы познакомимся в главе 10. Если вы, прочитав последние строки, вернетесь к рис. 1.4, то при вниматель- ном его рассмотрении поймете, что, кроме указанных на схеме резисторов R1 и R2, в деле участвуют еще, как минимум, четыре резистора: сопротивление проводов, сопротивление амперметра, сопротивление вольтметра и внутрен- нее сопротивление источника питания. Для простоты влияние паразитных резисторов обычно игнорируют, считая, что они оказывают исчезающе малое влияние на работу схемы. Однако это не всегда так. Ко всем этим тонкостям мы еще будем возвращаться не раз, а пока рассмот- рим резисторы как таковые, т. е. фабрично выпускаемые компоненты элек- тронных схем под таким названием. Они бывают разных типов, размеров и конструкций. Самые часто употребляемые типы — металлопленочные и уг- леродистые резисторы. Наиболее распространен тип углеродистых резисто- ров, известный в нашей стране как С1-4. Ранее выпускались металлодиэлек- трические резисторы под названием МЛТ, и они довольно часто встречаются до сих пор. МЛТ имеют обычно красный цвет (иногда встречаются и другие цвета), номинальное значение сопротивления написано прямо на них самих, в то время как современные С1-4 маркируются международным цветным ко- дом. Есть и другие типы резисторов общего назначения. По функциональным свойствам все они практически идентичны. 1 Типы гальванических элементов питания см. в приложении 2.
Электроника без полупроводников. Резисторы, конденсаторы и схемы на их основе 65 Читать цветной код — мука мученическая, учитывая особенно, что понятие, скажем, "золотистый" очень часто трактуется производителями весьма воль- но, и отличить его от "оранжевого" или "желтого" на фоне, скажем, темно- синего цвета может только человек с большим опытом. Проще и быстрее просто измерить сопротивление мультиметром. Тем не менее, для полноты картины в приложении 1 приводится таблица цветных кодов для маркировки резисторов, а также таблицы рядов номинального сопротивления в зависимо- сти от допустимого разброса значений — допуска. Эту таблицу нужно пояснить. У непосвященных может возникнуть вопрос — почему резисторы имеют такие странные номинальные значения: 4,3 кОм или 5,1 кОм? Почему нельзя привязать номиналы к привычным нам "круглым" значениям — 4 или 5 кОм? Все объясняется просто. Возьмем, например, широ- ко распространенные резисторы с 5%-ным допуском и посчитаем резистор 1 кОм за основу ряда. Какой следующий номинал взять? Так как допуск 5%, то в большой партии резисторов в принципе могут встретиться сопротивления во всем диапазоне от 0,95 до 1,05 кОм. Мы, естественно, хотим, чтобы можно бы- ло (хотя бы теоретически) найти резистор с любым значением сопротивления. Поэтому следующий номинал, который мы выбираем, будет равен 1,1 кОм — т. к. он тоже имеет 5%-ный допуск, то минимально допустимое значение для него 1,045 кОм и, как мы видим, диапазоны перекрываются. Точно также рас- считываются остальные номиналы вплоть до 9,1 кОм, возможные значения которого перекрываются с допусками от первого значения из следующей дека- ды — 10 кОм. Чем уже допуск, тем больше сопротивлений в ряду. Если мы встретим резистор с номинальным сопротивлением 2,43 кОм, то можем быть уверены, что допуск у него не хуже 1%. Конечно, для малых допусков (вроде 0,01%) ряд получился бы слишком большим, поэтому его ограничивают, и до- пуски там уже не пересекаются. Забегая вперед, отметим, что те же ряды зна- чений справедливы и для емкости конденсаторов. Осталось научиться вычислять значения сопротивления для всего диапазона выпускаемых промышленностью резисторов — для обычных металлодиэлек- трических или углеродистых это значения от 1 Ом до 10 МОм. Как вы уже догадались, в каждой декаде номиналы получаются из табличного ряда значений путем умножения на соответствующую степень десяти. При этом для краткости часто используют условные обозначения для каждого диапа- зона: R (или Е) обозначает омы, к — килоомы, м — мегомы. Эти буквы мо- гут использоваться вместо десятичной точки: так, запись 1 к2 есть то же са- мое, что и 1,2 кОм, a 3R3 (или ЗЕЗ)— то же самое, что 3,3 Ом. При обозначении на схемах целые омы в большинстве случаев вообще опуска- ют — именно так мы будем поступать в этой книге, так что имейте в виду, что запись "360" на схеме означает просто 360 Ом.
66 Гпава 5 ЧИП-резисторы для поверхностного монтажа маркируются по-другому: тре- мя цифрами, первые две из которых есть номинальное значение (без запя- той!), а последняя справа степень десяти. Так, надпись 103 означает 10 • 103 = 10 000 Ом, т. е. 10 кОм, а надпись 272 — 2700 Ом, т. е. 2,7 кОм. За- бегая вперед, заметим, что на похожих принципах основаны обозначения ем- кости малогабаритных конденсаторов, только за основу шкалы там приняты пикофарады (10-12Ф), так что надпись 474, скажем, расшифровывается как 47 • 104 • 10~12 = 0,47 • 10-6 фарады или 0,47 мкФ. Обычные резисторы типа С1-4 (как и МЛТ) выпускаются и с 1%-ным разбро- сом, но в продаже практически встречаются только 5%-ные разновидности. Более точные (прецизионные) резисторы с разбросом в 1% и ниже носят дру- гие наименования и значительно дороже. Дело в том, что простым отбором нельзя добиться того, чтобы номинал резистора укладывался в 1%-ный до- пуск — температурный коэффициент сопротивления (ТКС) для рядовых ре- зисторов, как мы уже отмечали в главе 1, может составлять 0,1% на каждый градус изменения температуры, а т. к. резисторы при работе греются, то весь наш отбор пойдет насмарку. Поэтому прецизионные резисторы с малыми до- пусками имеют одновременно и значительно меньший температурный коэф- фициент. Причем это их качество сохранять номинальное значение в боль- шом диапазоне температур значительно важнее, чем собственно точность номинала: чаще всего нам не столь важно, чтобы, скажем, коэффициент уси- ления усилителя был равен в точности 3, сколько то, чтобы он не изменялся при изменениях температуры и со временем. Из отечественных прецизион- ных резисторов наиболее распространен тип С2-29В, которые выпускают с допуском 0,05% и более, при ТКС от 0,0075 до 0,03%/°С. Есть и более точ- ные разновидности, например, проволочные С5-54В при допуске до 0,01% имеют ТКС не более 0,005%/°С, а тип С5-61 с ТКС не более 0,003%/°С встречается даже с допуском 0,005%. Имейте в виду, что проволочные рези- сторы (типа С5-54В, к примеру) имеют очень узкий диапазон рабочих частот, фактически они предназначены только для постоянного тока. Широко распространены различные типы безвыводных резисторов (и кон- денсаторов) для поверхностного монтажа (ЧИП-компонентов), однако мы их здесь не будем рассматривать — с функциональной точки зрения они ничем не отличаются от обычных, а для применения в домашних условиях и для макетных работ еще более неудобны, чем микросхемы или транзисторы в "плоском" корпусе (с планарными выводами). Поэтому в этой книге по умолчанию предполагается, что резисторы мы употребляем обычные (с гиб- кими выводами), однако, если вы захотите какое-то свое изделие тиражиро- вать, можете смело заменять все компоненты на их аналоги для поверхност- ного монтажа — это позволит сэкономить на габаритах и стоимости изготовления печатной платы.
Электроника без полупроводников. Резисторы, конденсаторы и схемы на их основе 67 Два слова о номинальной мощности резисторов. С1-4 и МЛТ выпускаются следующих предельно допустимых мощностей— 0,0625, 0,125, 0,25, 0,5, 1 и 2 Вт, которые отличаются размерами (см. рис. 8.1, вверху). В начале книги вы можете посмотреть, как обозначаются на схемах резисторы разной мощ- ности. Наиболее употребимые — резисторы мощностью 0,125 и 0,25 Вт, ко- торые имеют близкие (а иногда и вовсе одинаковые) размеры, и если обозна- чение мощности на схеме отсутствует, то обычно имеется в виду именно мощность в 0,125—0,25 Вт. Учтите также, что прецизионные резисторы при той же допустимой мощности имеют больший размер, так С2-29В мощно- стью 0,25 Вт выглядит как полуваттный МЛТ. В подавляющем большинстве случаев замена на резистор большей мощности может только приветство- ваться. Надо учитывать, что резисторы имеют предельно допустимое напряжение, которое также зависит от их размеров — так, для мощностей 0,125 и 0,25 Вт это напряжение не превышает 250 В, поэтому их нельзя употреблять в цепях с сетевым питанием независимо от того, что тепловая мощность может быть и не превышена.. Для цепей, в которых "гуляют" переменные напряжения с действующим напряжением 200 В и выше, минимально допустимая мощ- ность резистора 0,5 Вт. Резисторы мощностью более 2 Вт требуются нечасто, и для таких случаев выпускаются специальные проволочные резисторы, залитые термостойким составом (их часто называют "остеклованные"). Резисторы номиналом меньше, чем 1 Ом, предназначенные обычно для пропускания больших то- ков, также имеют большие размеры. Переменные резисторы Переменные резисторы отличаются от постоянных наличием третьего выво- да — движка, который представляет собой подпружиненный ползунок, который может механически передвигаться по резистивному слою. Соответ- ственно, в одном крайнем положении движка сопротивление между его вы- водом и одним из выводов резистивного слоя равно нулю, в другом — мак- симуму, соответствующему номинальному сопротивлению. Так как вывода три, то переменный резистор может подключаться двумя способами: как простой резистор (тогда вывод движка объединяется с одним из крайних вы- водов) и по схеме потенциометра, когда все три вывода задействованы (оба способа подключения показаны на рис. 5.1). Резисторы по своему предназна- чению служат для преобразования напряжения в ток и обратно. В соответст- вии с этим схема обычного включения переменного резистора служит для преобразования напряжения U в ток I, а схема потенциометра (делителя
68 Гпава 5 напряжения) — тока I в напряжение U. Кажется, что в схеме обычного включения не обязательно соединять вывод движка с одним из крайних выводов — если оставить незадействованный крайний вывод висящим "в воздухе", то ничего, в принципе, не изменится. Но это не совсем так. На висящий вывод действуют наводки от "гуляющего" в пространстве электрического поля, в основном, промышленной частоты 50 Гц, и в обыч- ной схеме правильно подключать переменный резистор именно так, как показано справа на рис. 5.1. U По схеме По обычной потенциометра схеме Рис. 5.1. Два способа подключения переменных резисторов Переменные резисторы делятся на собственно переменные (к которым присоединена ручка внешней регулировки) и подстроечные — изменяемые только в процессе настройки схемы путем вращения движка отверткой (см. рис. 8.1, внизу). Переменные резисторы мало изменились за годы своего существования со времен реостата Майкла Фарадея, и всем им присущи одни и те же недостатки: в основном, это нарушение механического контакта ме- жду ползунком и резистивным слоем. Особенно это касается дешевых от- крытых подстроечных резисторов типа СПЗ-1 — представьте себе работу этого резистора, например, в телевизоре, находящемся в атмосфере домаш- ней кухни! Поэтому всегда, если есть возможность, применения переменных резисторов следует избегать или ставить их последовательно с постоянными так, чтобы они составляли только необходимую часть всей величины сопро- тивления. Подстроечные резисторы хороши на стадии отладки схемы, а затем лучше заменить их на постоянные и предусмотреть на плате возможность подключения параллельных и/или последовательных постоянных резисторов для окончательной подстройки. От переменных резисторов (типа регулятора громкости) вроде бы никуда не денешься, но и это не так: использование аналоговых регуляторов с цифровым управлением на основе АЦП и ЦАП дает отличную альтернативу "переменникам". В крайнем случае, по возмож- ности, используйте многопозиционный ступенчатый переключатель — это гораздо надежнее резистора.
Электроника без полупроводников. Резисторы, конденсаторы и схемы на их основе 69 Параллельное и последовательное соединение резисторов Это хотя и довольно простая тема, но очень важная. Следует запомнить всего два правила: при последовательном соединении складываются сопротивле- ния резисторов, а при параллельном складываются их проводимости, кото- рые, по определению из главы 1, есть величины, обратные сопротивлению (см. рис. 5.2). Понять, почему правила именно таковы, можно, если рассмот- реть течение токов в обоих случаях: при последовательном соединении ток I через резисторы один и тот же, поэтому падения напряжения на них склады- ваются (U = U\ + U2), что равносильно сложению сопротивлений. При парал- лельном соединении, наоборот, равны падения напряжений U, а складывать приходится токи (/ = /]+ /2), что равносильно сложению проводимостей. Если вы не поняли вышесказанное, то посидите над рис. 5.2 с карандашом и бума- гой и выведите выражения закона Ома для каждого из резисторов — и все станет на свои места. *______и_______ - Ul r|; U2 Ч R1 н~ R2 k I Последовательное соединение резисторов R = R1 + R2 и h Параллельное соединение резисторов 1/R = 1/R1 +1/R2 Рис. 5.2. Последовательное и параллельное соединение резисторов Из этих определений вытекает несколько практических правил, которые по- лезно заучить. При последовательном соединении: □ сумма двух резисторов имеет сопротивление всегда больше, чем сопро- тивление резистора с большим номиналом (правило "больше большего"); □ если номиналы резисторов равны, то суммарное сопротивление ровно вдвое больше каждого номинала;
70 Гпава 5 □ если номиналы резисторов различаются во много раз, то общее сопротив- ление примерно равно большему номиналу (типичный случай упоминался ранее: в примере на рис. 1.4 мы игнорируем сопротивление проводов, т. к. оно много меньше сопротивления резисторов). При параллельном соединении: □ сумма двух резисторов имеет сопротивление всегда меньше, чем сопро- тивление резистора с меньшим номиналом (правило "меньше меньшего"); □ если номиналы резисторов равны, то суммарное сопротивление ровно вдвое меньше каждого номинала; □ если номиналы резисторов различаются во много раз, то общее сопротив- ление примерно равно меньшему номиналу. (Это также можно иллюстри- ровать на примере рис. 1.4, где мы игнорируем наличие вольтметра, включенного параллельно R2, т. к. его сопротивление намного больше со- противления резистора.) Знание этих правил поможет вам быстро оценивать схему, не занимаясь алгеб- раическими упражнениями и не прибегая к помощи калькулятора. Даже если соотношение сопротивлений не попадает под перечисленные выше случаи, результат все равно можно оценить "на глаз" с достаточной точностью. При параллельном соединении, которое представляет большую сложность при рас- четах, для такой оценки нужно прикинуть, какую долю меньшее сопротивле- ние составляет от их арифметической суммы — приблизительно во столько раз снизится их общее сопротивление по отношению к меньшему. Проверить это легко: пусть сопротивления равны. В этом случае одно сопротивление состав- ляет Уг часть их суммы, т. е. общее сопротивление должно снизиться вдвое, как и есть на самом деле. Возьмем более сложный случай: пусть одно сопротивле- ние имеет номинал 3,3 кОм, второе — 6,8 кОм. В соответствии с изложенным мы будем ожидать, что общее сопротивление должно быть на 30% меньше, чем 3,3 кОм, т. е. 2,2 кОм (3,3 составляет примерно одну треть от суммы 3,3 + 6,8, т. е. общее сопротивление должно быть меньше, чем 3,3 на треть от этого значения, равную 1,1 — в результате и получаем 2,2 кОм). Если мы про- верим результат, полученный такой прикидкой в уме, точным расчетом, то мы получим в результате 2,22 кОм, что очень неплохо. В большинстве случаев нам такой точности и не требуется — помните, что сами сопротивления имеют разброс по номиналу, и в большинстве обычных схем допуски на номиналы стандартных компонентов могут быть довольно велики (по крайней мере, в правильно составленных схемах). Если же схема в некоторых случаях должна все же иметь какие-то строго определенные па- раметры, то с помощью стандартных компонентов вы все равно этого не добьетесь — параметры будут "гулять" (в пределах допусков, естественно)
Электроника без полупроводников. Резисторы, конденсаторы и схемы на их основе 71 от дуновения ветерка из форточки, и в таких случаях надо применять преци- зионные резисторы и конденсаторы, а во времязадающих цепях использовать кварцевые резонаторы. Но составлять схему так, чтобы она теряла работоспо- собность от замены резистора 1 кОм на резистор 1,1 кОм — не наш метод! Конденсаторы Все конденсаторы ведут свою родословную от лейденской банки, названной так по имени голландского города Лейдена, в котором трудился ученый сере- дины ХУШвека Питер ван Мушенбрук. Банка эта представляла собой боль- шой стеклянный стакан, обклеенный изнутри и снаружи станиолью (тонкой оловянной фольгой, использовавшейся в те времена для тех же целей, что и современная алюминиевая — металл алюминий еще не был известен). Так как банку (рис. 5.3) заряжали от электростатической машины (другого ис- точника электричества еще не придумали), которая запросто могла выдавать напряжения в несколько сотен тысяч вольт, действие ее было весьма впечат- ляющим — в учебниках физики любят приводить случай, когда Мушенбрук продемонстрировал эффект от разряда своей банки через цепь гвардейцев, держащихся за руки. Ну не знали тогда, что электричество может и убить, — гвардейцам сильно повезло, что емкость этого примитивного конденсатора была весьма невелика и запасенной энергии хватило только на то, чтобы лю- ди ощутили чувствительный удар током! Рис. 5.3. Прадедушка современных конденсаторов — лейденская банка: 1 — стеклянный стакан, 2 — внешняя обкладка из станиоли, 3 — внутренняя обкладка, 4 — контакт для заряда
72 Глава 5 Схематическое изображение простейшего конденсатора показано на рис. 5.4. Из формулы, приведенной на рисунке (она носит специальное название "формула плоского конденсатора", потому что для конденсаторов иной гео- метрии соответствующее выражение будет другим), следует, что емкость тем больше, чем больше площадь пластин и чем меньше расстояние между ними. Что же такое емкость? Согласно определению, емкость есть отношение заря- да (в кулонах) к разности потенциалов на пластинах (в вольтах): С ~ QIU, т. е. размерность емкости есть кулон/вольт. Такая единица называется фара- дой, по имени знаменитого английского физика и химика Майкла Фарадея (1791—1867). Следует подчеркнуть, что величина емкости есть независимая характеристика данного конденсатора — подобно тому, как номинальное сопротивление есть индивидуальная характеристика конкретного резисто- ра — и характеризует количество энергии, которое может быть в нем запасе- но. Емкость в одну фараду весьма велика — обычно на практике используют микрофарады и еще более мелкие единицы, скажем, емкость упомянутой лейденской банки составляла величину всего-навсего порядка 1 нФ. с = — 4тс d Рис. 5.4. Схематическое изображение плоского конденсатора и формула для расчета его емкости: С — емкость, Ф, S — площадь пластин, м2, d — расстояние между пластинами, м, е — диэлектрическая проницаемость, Ф/м Смысл понятия емкости раскрывается так: если напряжение от источника напряжения составляет 1 вольт, то емкость в одну нанофараду, как у лейден- ской банки, может запасти 10 9 кулон электричества. Если напряжение соста- вит 105 вольт (типичная величина при заряде от электростатической машины, как в опытах Мушенбрука), то и запасенный на данной емкости заряд увели- чится в той же степени — до 10 4 кулон. То есть любой конденсатор фикси- рованной емкости сохраняет это соотношение — заряд на нем в любой момент тем больше, чем больше напряжение, а сама величина заряда определя-
Электроника без полупроводников. Резисторы, конденсаторы и схемы на их основе 73 ется номинальной емкостью. Если замкнуть конденсатор на резистор, то в первый момент он будет работать как источник напряжения с нулевым вы- ходным сопротивлением и номинальным напряжением той величины, до ко- торой конденсатор был заряжен, т. е. ток через резистор определяется по обычному закону Ома. Скажем, в случае гвардейцев Мушенбрука характер- ное сопротивление цепи из нескольких человек, взявшихся за руки, составля- ет порядка 104 Ом — т. е. ток при начальном напряжении на конденсаторе 105 В составит 10 А, что примерно в 10 000 раз превышает смертельное для человека значение тока! Выручило гвардейцев то, что такой импульс был крайне кратковременным — по мере разряда конденсатора, т. е. утекания за- ряда с пластин, напряжение быстро снижается — емкость-то остается неиз- менной, поэтому при снижении заряда, согласно формуле на рис. 5.4, падает и напряжение. Интересно, что при фиксированном заряде (если цепь нагруз- ки конденсатора отсутствует), можно изменить напряжение на нем, меняя емкость, например, при раздвижении пластин плоского конденсатора ем- кость его падает (т. к. расстояние d между пластинами увеличивается), по- этому для сохранения заряда напряжение должно увеличиться, что и проис- ходит на деле (в эффектном школьном опыте между раздвигаемыми пластинами конденсатора проскакивает искра, когда напряжение превышает предельно допустимое напряжение пробоя для воздуха). Рис. 5.5. Подключение конденсатора к нагрузке: К — переключатель, Б — батарея, С — конденсатор, R — сопротивление нагрузки На рис. 5.5 изображено подключение конденсатора С к нагрузке R. Первона- чально переключатель К ставят в нижнее по схеме положение, и конденсатор заряжается до напряжения батареи Б. При переводе переключателя в верхнее положение конденсатор начинает разряжаться через сопротивление R, и на- пряжение на нем снижается. Насколько быстро происходит падение напря- жения при подключении нагрузки? Можно предположить, что чем больше емкость конденсатора и сопротивление резистора нагрузки, тем медленнее происходит падение напряжения. Правда ли это? Это легко попробовать оце- нить через размерности связанных между собой электрических величин: тока,
74 Гпава 5 емкости и напряжения. В самом деле, в определение тока входит и время (напомним, что ток есть заряд, протекающий за единицу времени), и это вре- мя должно быть тем самым временем, которое нас интересует. Если вспом- нить, что размерность емкости есть кулоны на вольт, то искомое время мож- но попробовать описать формулой: t = CUH, где С — емкость, a U и I — ток и напряжение соответственно (проверьте размерность’.). Для случая рис. 5.5 эта формула справедлива на малых отрезках времени, пока ток I не падает значи- тельно из-за уменьшения напряжения на нагрузке. Отметим, что формула эта полностью справедлива и на больших отрезках времени, если ток разряда (или заряда) конденсатора стабилизировать, что означает подключение его к источнику втекающего (при разряде) или вытекающего (при заряде) тока. При фиксированной обычной нагрузке с сопротивлением R (помните, мы го- ворили, что простой резистор есть плохой источник тока?) так, конечно, не происходит — напряжение на конденсаторе падает по мере истощения заря- да, соответственно, ток через нагрузку также пропорционально снижается в полном соответствии с законом Ома. Опять приходится брать интегралы, поэтому мы приведем только конечный результат: формула для расчета про- цесса снижения напряжения на емкости при разряде ее через резистор и со- ответствующий график показан на рис. 5.6, а. А на рис. 5.6, б показан анало- гичный процесс, который происходит при заряде емкости через резистор. Нужно отметить два момента: во-первых, процесс разряда по рис. 5.6, а бес- конечен (полностью конденсатор не разрядится никогда, если сопротивление нагрузки не равно нулю), но практически это не имеет значения, потому что напряжение на конденсаторе становится исчезающе малым очень скоро. Во- вторых, из формул на рис. 5.6 следует очень интересный вывод: если сопро- тивление R равно нулю, то время процесса разряда или заряда становится бесконечно малым, а ток через нагрузку — по закону Ома — бесконечно большим! Обратимся снова к рис. 5.5. Нечто подобное должно происходить при переключении К в положение заряда емкости от батареи. Естественно, в реальной жизни ни о каких бесконечных токах речи не идет — для этого батарея должна иметь нулевое выходное сопротивление, т. е. бесконечно большую мощность (подумайте, почему эти утверждения равносильны?). Да и проводники должны обладать нулевым сопротивлением. Поэтому на прак- тике процесс заряда от источника (и разряда при коротком замыкании пла- стин) происходит за малое, но конечное время, а ток, хоть и не бесконечно велик, но все же может достигать очень больших значений. Потому-то ис- точники питания с отключением по превышению максимально допустимого тока (см. главу 2) могут выключаться при работе на нагрузку с конденсато- ром большой емкости, установленным параллельно источнику питания (мы дальше увидим, что такой конденсатор устанавливают практически всегда),
Электроника без полупроводников. Резисторы, конденсаторы и схемы на их основе 75 хотя ток в рабочем режиме может быть и невелик. Один из методов борьбы с этой напастью — включение последовательно с нагрузкой небольшого ре- зистора, ограничивающего ток в начальный момент. Как рассчитать необхо- димый номинал? Для этого нужно представить, что конденсатор при заряде в первый момент ведет себя так, как будто цепь в месте его установки замкнута накоротко (это очень точное представление!). Тогда нужный но- минал резистора определится просто по закону Ома, в который подставляет- ся предельно допустимый ток источника и его напряжение. U (t) = и0 e-t/RC U (t) = Uo- Uoe-t/RC a 6 Рис. 5.6. Процессы при разряде и заряде конденсатора: С — емкость, R — сопротивление нагрузки, t— время, е — основание натуральных логарифмов (2,718282) Интуитивно кажется, что должна существовать какая-то характеристика це- пи, состоящей из конденсатора и сопротивления, которая позволяла бы опи- сать процесс заряда-разряда во времени независимо от напряжения на кон- денсаторе. Такая характеристика рассчитывается по формуле Т = RC. Приведением единиц мы бы здесь занимались довольно долго, потому по- верьте, что размерность произведения RC есть именно время в секундах. Эта величина, которая носит название "постоянная времени RC-цепи", физически означает время, за которое напряжение на конденсаторе при разряде его че- рез резистор (рис. 5.6, а) снижается на величину 0,63 от начального (т. е. до величины, равной доле 1/е от первоначального Uq, что и составляет примерно 37%). За следующий отрезок времени, равный RC, напряжение снизится еще на столько же от оставшегося и т. п. — в полном соответствии с законом экс- поненты. Аналогично при заряде конденсатора (рис. 5.6, б), постоянная вре- мени Т означает время, за которое напряжение увеличится до доли (1 - 1/е) до конечного значения Uq. т. е. до 63%. Дальше мы увидим, что произведение RC играет огромную роль при расчетах различных схем. Есть еще одна вещь, которая следует из формулы для плоского конденсатора (см. рис. 5.4). В самом деле, там нет никаких ограничений на величины S
76 Глава 5 nd — даже если развести пластины очень далеко, все же какую-то емкость, хоть небольшую, конденсатор будет иметь. То же происходит при уменьше- нии площади пластин. Практически это означает, что небольшую емкость между собой имеют любые два проводника независимо от их конфигурации и размеров, хотя эти емкости могут быть и исчезающе малы. Этот факт имеет огромное значение на высоких частотах. В радиочастотной технике нередко конденсаторы образуют прямо из дорожек на печатной плате. А емкости ме- жду параллельными проводами в обычном проводе-"лапше" или кабеле мо- гут достигать и весьма больших значений ввиду их большой длины. В боль- шинстве случаев этот эффект весьма вреден, поэтому такие емкости называют паразитными. Если же учесть, что проводники имеют еще и собст- венное сопротивление, то мы приходим к выводу, что любую пару проводов можно представить в виде "размазанной" по длине (распределенной) RC- цепи — и это действительно так, со всеми вытекающими последствиями! Если подать на вход пары проводников в длинном кабеле перепад напряже- ния (фронт прямоугольного импульса), то на выходе мы получим картину, которая ничем не отличается от рис. 5.6, б — импульс "размажется", а если он короткий, то вообще может пропасть. Мало того, провода обладают еще и собственной индуктивностью (об индуктивности мы поговорим в конце гла- вы), что еще более запутывает картину. Крайне неприятное явление, но "та- кова се ля ви", как любил выражаться один мой знакомый инженер! Впервые с этим делом столкнулись еще при попытке прокладки первого трансатлан- тического кабеля в 1857 г. Телеграфные сигналы (точки-тире) представляют собой именно такие прямоугольные импульсы, и при длине кабеля в 4000 км они по дороге искажались до неузнаваемости. За время до следующей по- пытки прокладки кабеля (1865 г.) английскому физику У. Томпсону при- шлось разработать теорию передачи сигналов по длинным линиям, за что он получил рыцарство от королевы Виктории и вошел в историю под именем лорда Кельвина по названию городка Кельвин на западном побережье Ир- ландии, откуда начиналась прокладка кабеля. В выражении для емкости на рис. 5.4 фигурирует постоянная е, представ- ляющая собой диэлектрическую проницаемость среды. Для воздуха и боль- шинства обычных изолирующих материалов (полиэтилена, хлорвинила, лав- сана, фторопласта) константа е близка к величине ее для полного вакуума (во)- Величина Eq зависит от применяемой системы единиц измерения, и в между- —12 народной системе единиц измерения СИ равна 8,854 • 10 Ф/м. На практике удобно применять относительную диэлектрическую проницаемость конкрет- ного материала: ег = e/Eq. Естественно, что для практических нужд произво- дителей конденсаторов желательно, чтобы величина ег была как можно выше — если вы заполните промежуток между пластинами, скажем, ацетоном
Электроника без полупроводников. Резисторы, конденсаторы и схемы на их основе 77 или спиртом, то емкость такого конденсатора сразу возрастет раз в двадцать! К сожалению, чем выше ег, тем обычно выше и собственная проводимость материала, поэтому такой конденсатор быстро разрядится за счет собствен- ных токов утечки через среду между пластинами. Ясно, что производители конденсаторов стараются упаковать как можно большую емкость в как мож- но меньшие размеры, пытаясь одновременно обеспечить токи утечки на при- емлемом уровне. По этой причине количество практически используемых типов конденсаторов значительно больше, чем сопротивлений — для каждого применения свой тип. Причем надо учесть, что чем тоньше прослойка диэлектрика между пластинами, тем меньше предельно допустимое напряже- ние (т. е. напряжение, при котором наступает электрический' пробой и конденсатор выходит из строя). Самым высоким соотношением емкость/габариты обладают электролити- ческие (оксидные) конденсаторы, которые в настоящее время представлены серией, широко известной под отечественным наименованием К50-35 (им- портные конденсаторы такого же типа обычно тоже продают под этим на- званием). Емкости их достигают 100 000 мкФ, а допустимые напряжения — до 600 В, но у них есть три главных недостатка, которыми приходится пла- тить за повышенную емкость. Первый и самый главный — эти конденсато- ры полярны, т. е. подразумевают включение только в определенной ориен- тации по отношению к полярности источника питания. Обычно на корпусе таких конденсаторов обозначается либо отрицательный (жирным "мину- сом") либо положительный (знаком "плюс") вывод, если же габариты кор- пуса не позволяют применить обозначение (либо производителям лень налаживать соответствующую полиграфию), то это дело пытаются обозна- чить толщиной или длиной вывода: более длинный и/или более толстый вывод обычно обозначает положительный контакт (но не всегда!). Если вы попробуете включить такой электролитический конденсатор в противопо- ложной полярности, то он может просто взорваться, забрызгав электроли- том всю остальную схему. Есть и другие, более дорогие типы полярных конденсаторов (например, танталовые К52 или ниобиевые К53), которые обладают значительно меньшими токами утечки. Все эти типы конденсато- ров обычно используют в качестве фильтров в источниках питания, хотя и иные применения не исключены. Следует учесть и вторую дурную особенность "электролитов" (как их назы- вают на инженерном жаргоне, и как мы будем называть их в дальнейшем) — они обеспечивают номинальную емкость только на низких частотах. При бы- стром перезаряде их емкость существенно снижается, поэтому в фильтрах источников питания рекомендуется параллельно ставить неполярные (кера- мические или иные) конденсаторы в целях лучшей защиты от высокочастотных
78 Глава 5 помех2. Эта особенность связана с третьим паразитным свойством электролитов: эффектом "аккумулятора" (или "накопления заряда"). То есть, если вы полно- стью разрядите электролитический конденсатор (например, коротким замыкани- ем выводов), через некоторое время напряжение на выводах опять восстановится до некоторого значения (обычно небольшого — около 1—1,5 В). Чтобы этот за- ряд полностью рассосался, требуется довольно значительное время (часы или даже сутки). Этот эффект тем сильнее, чем больше емкость и выше допусти- мое напряжение электролита. Имеют электролиты и высокий заводской раз- брос номинального значения — до нескольких десятков процентов. По этим причинам полярные конденсаторы не рекомендуется употреблять во время- задающих цепях, если требуется хоть какая-то точность. Для использования в других областях применяют конденсаторы с неполяр- ным диэлектриком: бумажные, слюдяные, керамические, полиэтилентереф- талатные (лавсановые) или фторопластовые (тефлоновые). Емкость их (в со- отношении емкость/габариты) значительно меньше, и номинальная емкость обычно не превышает нескольких микрофарад (сравнительные размеры кон- денсаторов см. на рис. 8.2). У старинных металлобумажных конденсаторов (типа МБГ или МБГЧ) есть интересная особенность — они могут самовос- станавливаться после пробоя. Но чаще всего сейчас употребляются неполяр- ные конденсаторы с керамическим или органическим диэлектриком (типы К10, К73 и другие), и под неполярными мы будем понимать конденсаторы этих серий. Именно они обеспечивают наиболее точное соответствие теоре- тической кривой заряда-разряда (см. рис. 5.6). Причем при применении в точ- ных времязадающих цепях рекомендуется не просто выбирать конденсатор с подходящим изолятором (лучше всего тефлоновый или старинный слюдя- ной), но и с как можно большим допустимым напряжением (ничего особен- ного нет в применении конденсатора с номинальным допустимым напряже- нием 630 В в цепях с напряжением 12 В). К тому, что было сказано про условные обозначения, нужно добавить, что т. к. емкости обычно употребляемых конденсаторов находятся в пределах от пико- до микрофарад, то при обозначении на схемах единицу измерения Ф часто опускают и пишут просто "мк" (мкФ), "н" или "п" (нФ), "п" или "р" (пФ). Пикофарады (подобно омам) могут и не писать вообще. Часто микро- фарады обозначаются просто лишним десятичным знаком (мы именно так и будем поступать). Например, запись 100,0 означает 100 мкФ, в то время как просто 100 — 100 пФ. 2 На самом деле эти конденсаторы лучше ставить не в источнике питания, а непосредственно вблизи выводов компонента, для которого высокочастотные помехи критичны. На практике так и поступают.
Электроника без полупроводников. Резисторы, конденсаторы и схемы на их основе 79 Параллельное и последовательное включение конденсаторов Как и резисторы, конденсаторы можно включать последовательно или па- раллельно, однако расчет полученных величин производится ровно противо- положно правилам для резисторов: при параллельном соединении емкости складываются (по правилу "больше большего"), а при последовательном со- единении складываются их обратные величины (правило "меньше меньше- го"). К счастью, в отличие от резисторов, конденсаторы включают практиче- ски только параллельно — можно это представить так, как будто площади их пластин при этом складываются, следовательно, складываются и емкости. Последовательное же соединение емкостей само по себе не имеет практиче- ского смысла, и знание правил сложения для него необходимо лишь изредка при анализе цепей переменного тока. Конденсаторы в цепи переменного тока Из этой большой темы мы здесь рассмотрим только самое необходимое. В даль- нейшем мы будем иметь дело, в основном, с цепями постоянного тока или низкой частоты, и нам углубленное изучение поведения компонентов при высокой частоте не потребуется. В предыдущей фразе слова "низкой часто- ты" нужно понимать условно, и вот почему: любой перепад напряжения (на- пример, при включении или выключении питания) есть импульс высокой частоты, и тем она выше, чем быстрее происходит сам процесс снижения или повышения напряжения. Если представить себе фронт импульса постоянного тока как сумму гармонических (т. е. синусоидальных) колебаний3, то импульс этот предстанет перед нами, как сумма колебаний, начиная сверху с той час- тоты, при которой происходило бы наблюдающееся нами на деле нарастание (или спад) напряжения импульса, если бы сигнал был чисто гармонический. То есть, если импульс строго прямоугольный, то эта самая верхняя частота должна быть равна бесконечности, чего на деле, конечно, не бывает, и реаль- ные импульсы всегда не строго прямоугольны. Прохождение прямоугольных импульсов через конденсаторы и резисторы мы рассмотрим далее, а пока обратимся к поведению конденсаторов в цепях с обычным синусоидальным переменным током. Постоянный ток конденсатор не пропускает по определению, т. к. представляет собой разрыв в цепи. Однако переменный ток через него протекает — при этом 3 Любое колебание можно представить в виде такой суммы, согласно теореме Фурье (великого французского математика, работавшего еще в конце XVIII века). Возможен и обратный про- цесс — воспроизведение изначальной формы колебания через известную сумму гармоник.
80 Гпава 5 происходит постоянный перезаряд конденсатора, т. к. напряжение все время изменяется по величине и полярности. Поэтому конденсатор в цепи перемен- ного тока можно представить себе как некое сопротивление — чем ниже ем- кость конденсатора и чем ниже частота, тем выше величина этого условного сопротивления. Ее можно подсчитать по формуле R = J/2nfC (если емкость С выражена в фарадах, а частота/в герцах, сопротивление получится в омах). В пределе конденсатор очень малой емкости (что представляют собой, как мы уже выяснили, почти все пары проводников на свете) будет выглядеть как полный разрыв в цепи, ток в которой будет исчезающе мал. Сам по себе конденсатор в такой цепи энергии не потребляет (в отличие от обычного резистора), поэтому его сопротивление переменному току называ- ют еще реактивным, в то время как обычное резистивное сопротивление на- зывают активным. Понять, почему так происходит, можно, если нарисовать графики тока и напряжения в цепи с конденсатором. Ток опережает напря- жение по фазе ровно на 90°, поэтому их произведение, которое и есть по- требляемая мощность по закону Джоуля — Ленца, в среднем равно нулю — можете проверить! Однако если в цепи присутствуют еще и обычные рези- сторы (а, как мы знаем, они всегда присутствуют — взять хотя бы сопротив- ление проводов), то этот реактивный ток приведет ко вполне материальным потерям на их нагревание— именно поэтому (см. главу 4) линии электропе- редач выгоднее делать на постоянном токе. Дифференцирующие и интегрирующие цепи Если подать на вход цепи, состоящей из резистора R и конденсатора С, пря- моугольный импульс напряжения, то результат будет различным в зависимо- сти от включения R и С. Переходные процессы в таких цепях подчиняются основным закономерностям, представленным на рис. 5.6, но имеют и свою специфику. На рис. 5.7 показаны два способа включения RC-цепочки в цепь с наличием прямоугольных импульсов на входе (здесь они не такие, как на рис. 4.6, б, а однополярные, т. е. напряжение меняется по величине, но оста- ется выше уровня "земли"). Такое включение называется дифференцирующей цепочкой или фильтром высоких частот, потому что оно пропускает высо- кочастотные составляющие, полностью отрезая постоянный ток. Чем больше постоянная времени RC в этой схеме, тем ниже частота, которая может быть пропущена без изменений — в пределе импульсы пройдут почти неизменен- ными. Наоборот, если постоянную времени уменьшать, то пики на графике будут все больше утончаться. Этим эффектом пользуются для выделения фронтов и спадов прямоугольных импульсов (см. главу 23).
Электроника без полупроводников. Резисторы, конденсаторы и схемы на их основе 81 Рис. 5.7. Дифференцирующие цепочки: а — при подключении резистора к нулевому потенциалу; б — к потенциалу источника питания Так как через эти схемы постоянная составляющая напряжения не проходит, то полученные импульсы привязаны к выходному потенциалу схемы в зави- симости от того, куда подключен резистор. Например, на графиках 5.7 рези- стор подключен либо к "земле" (рис.5.7, а), либо к источнику питания (рис. 5.7, б), поэтому и для выходного напряжения базовым будет либо нуле- вой потенциал, либо потенциал источника (при этом амплитуда импульсов будет такой, как у входного напряжения). Но, в принципе, вы можете под- ключать резистор на выходе такой схемы к любому потенциалу: она все рав- но передаст только переменную составляющую (мы еще с этим столкнемся при конструировании звукового усилителя). Этим широко пользуются при необходимости формирования двуполярного напряжения из имеющегося од- нополярного или для умножения напряжения. Иногда этот эффект вреден — подачей отрицательного или превышающего потенциал источника питания напряжения можно вывести из строя компоненты схемы (о защите от этого см. главы 12 и 23). А интегрирующая цепочка (фильтр нижних частот) получается из схем рис. 5.7, если в них R и С поменять местами. График выходного напряжения будет соответствовать рис. 5.8. Такие цепочки, наоборот, пропускают посто- янную составляющую, в то время как высокие частоты будут отрезаться. Если в такой цепочке увеличивать постоянную времени RC, то график будет становиться все более плоским — в пределе пройдет только постоянная
82 Гпава 5 составляющая (которая здесь равна среднему значению исходного напряже- ния, т. е. ровно половине его амплитуды). Этим широко пользуются при конструировании вторичных источников питания, в которых нужно отфильт- ровать переменную составляющую сетевого напряжения (см. главу 10). Ин- тегрирующими свойствами обладает и обычный кабель из пары проводов, о котором мы упоминали ранее, потому-то и теряются высокие частоты при прохождении сигнала через него. Индуктивности Таким же свойством реактивного сопротивления в цепи переменного тока обладают индуктивности, хотя они по всему противоположны конденсато- рам. Мы не будем здесь рассматривать индуктивности подробно по одной простой причине — в обычной схемотехнике (кроме радиочастотной — а в настоящее время уже и там) индуктивностей стараются избегать (за ис- ключением трансформаторов и еще разве что фильтров для защиты от по- мех). Простейшая индуктивность — катушка из провода, а если его намотать на основу из ферромагнитного материала, то индуктивные свойства катушки значительно улучшатся. Индуктивности очень сложно делать автоматизиро- ванным способом, кроме самых простых (не говоря о включении в состав микросхем), и это одна из причин того, почему их стараются не использовать в массовой аппаратуре. Если конденсатор для постоянного тока представляет собой разрыв цепи, то индуктивность, наоборот — нулевое сопротивление. А с ростом частоты
Электроника без полупроводников. Резисторы, конденсаторы и схемы на их основе 83 переменного тока реактивное сопротивление индуктивности растет (у кон- денсатора, напомним, падает). Так как мы уже знаем, что любой перепад на- пряжения есть импульс высокой частоты, то попытка разорвать (или наобо- рот, соединить) цепь, содержащую индуктивность, приводит к неожиданным последствиям. Из физики известно, что за счет самоиндукции ток продолжа- ет некоторое время течь в витках индуктивности, а т. к. сопротивление ста- новится велико, то на индуктивности возникает большой (тем больший, чем больше величина индуктивности и чем меньше ее активное сопротивление, т. е. чем она ближе к идеалу) выброс напряжения. Этот эффект приводит к выбросам напряжения на фронтах прямоугольных импульсов в схемах с использованием быстродействующих компонентов. Мы еще вспомним об этом явлении, когда будем говорить о реле в главе 7. Ток в цепи, содержащей индуктивность, отстает от напряжения на 90° (для конденсатора ток, наоборот, опережает напряжение), но результат оказыва- ется аналогичным: чистая индуктивность не потребляет энергии в цепи пере- менного тока. Для того чтобы получить такой эффект, активное сопротивле- ние индуктивности (т. е. ее сопротивление постоянному току) должно быть как можно ближе к нулю, что на практике достичь довольно сложно. Это другая причина того, что индуктивности очень не любят — их характеристики гораздо дальше от идеала, чем для резисторов и конденсаторов. Но надо пом- нить, что любой проводник всегда наделен этими тремя свойствами: в неболь- шой степени является и резистором, и конденсатором, и индуктивностью. Эти мелочи могут иногда сыграть довольно неожиданную роль в разных схемах. В силу указанных причин при наличии реактивной нагрузки в цепи переменного тока полезная мощность (в нагрузке) может отличаться от величины произве- дения потребляемого тока на напряжение — она всегда меньше. Поэтому ино- гда различают мощность, выраженную в вольт-амперах, и мощность в ваттах, а отношение их называют коэффициентом мощности. Другое его общепринятое название — "косинус фи", потому что коэффициент мощности есть не что иное, как соэ(ф), где ф есть угол фазового сдвига тока относительно напряжения. При постоянном токе, а также в случае чисто активной нагрузки, угол этот равен ну- лю, поэтому косинус равен 1. В другом предельном случае, когда нагрузка чис- то реактивная, — косинус равен 0. В реальных цепях с электродвигателями или, скажем, мощными вторичными импульсными источниками питания (офис с большим количеством компьютеров) в качестве потребителей, коэффициент мощности может лежать в пределах 0,60—0,95. Следует подчеркнуть, что ко- эффициент мощности — это не КПД, как можно себе вообразить. Разница меж- ду вольт-амперами и ваттами никуда не теряется в физическом смысле, она всего лишь приводит к таким неприятным последствиям, как увеличение потерь в проводах, о котором мы упоминали выше (оно пропорционально именно вольт-амперам), а также возникновению разбаланса между фазами трехфазной промышленной сети, в результате чего через нулевой, обычно более тонкий, чем все остальные, провод начинают протекать значительные токи.
Глава 6 Изобретение, которое потрясло мир. Диоды, транзисторы и простейшие схемы на их основе Не имея намерения подробно описывать осаду и приводя лишь те события, которые имеют непосредственную связь с рассказы- ваемой нами историей, скажем вкратце, что предприятие удалось. А. Дюма, "Три мушкетера” Казалось бы, все так просто: есть очень хорошие проводники (металлы), есть очень плохие — изоляторы (фарфор или пластмасса), а есть — полупровод- ники. Подумаешь! Причем полупроводников на свете гораздо больше, чем первых и вторых, что, если подумать, представляется естественным. Однако когда научились получать очень чистые полупроводники со строго дозиро- ванными определенными примесями, то оказалось, что это — революция. Потому что такой способ позволяет получить материалы с совершенно необык- новенными электрическими характеристиками. Электроника на основе полу- проводников носит еще название твердотельной. Полупроводниковые прибо- ры делают на основе разных материалов, в основном, кремния. Первым промышленным полупроводником стал германий (а до него еще существова- ли купроксные и селеновые диоды), но сейчас он практически не употребля- ется, и только небольшая часть полупроводниковых компонентов, например, светодиоды, делается из материалов, отличных от кремния. Из всех полупро- водниковых устройств исторически первыми были диоды. Диоды Диод — устройство вовсе не обязательно полупроводниковое, были и лампо- вые диоды, но они давно вымерли как класс, поэтому мы будем рассматри- вать только твердотельные.
86 Гпава 6 В одну сторону диод ток проводит (т. е. представляет собой в идеале просто проводник с малым сопротивлением), в другую — нет (т. е. превращается в очень большое сопротивление), одним словом, обладает односторонней проводимостью. Соответственно выводов у него всего два. Они, как повелось еще со времен ламповой техники, называются анодом (положительным вы- водом) и катодом (отрицательным). Если подключить диод к регулируемому источнику напряжения, то он будет вести себя как показано на рис. 6.1, где представлена т. н. вольтамперная характеристика диода. Из нее, в частности, следует, что в прямом включении (т. е. анодом к плюсу источника), после превышения некоторого напряжения (t/д), прямой ток через диод (/пр) растет неограниченно и будет лимитироваться только мощностью источника. В об- ратном же включении (катодом к плюсу), ток через диод (7^) пренебрежимо мал и составляет несколько микро- или даже наноампер для обычных мало- мощных диодов, или до единиц миллиампер для мощных выпрямительных. Причем для германиевых диодов обратный ток намного выше, чем для крем- ниевых, отчего их сейчас практически и не употребляют. Этот ток сильно зависит от температуры и может возрасти на несколько порядков (от нано- до микроампер) при повышении температуры от-50 до +50 °C, поэтому на гра- фике его величина показана очень приблизительно (обратите внимание, что для наглядности верхняя и нижняя половины графика по оси токов построе- ны в разных масштабах). Рис. 6.1. Вольтамперная характеристика диода В отличие от обратного тока, прямое падение напряжения С/д гораздо меньше зависит как от типа и конструкции, так и от температуры. Для кремниевых
Изобретение, которое потрясло мир. Диоды, транзисторы и простейшие схемы на их основе 87 диодов прямое падение напряжения ид всегда можно считать равным при- мерно 0,6—0,7 В, для германиевых и так называемых диодов Шоттки — порядка 0,2—0,4 В. Для кремниевых диодов при изменении температуры С/д падает примерно на 2,3 мВ на один градус. Если умножить указанное прямое падение напряжения на проходящий через диод в прямом включении ток, то мы получим тепловую мощность, которая выделяется на диоде. Именно она приводит диоды к выходу из строя — при превышении допустимого тока они просто сгорают. Впрочем, тепловые про- цессы инерционны, и в справочниках указывается обычно среднее значение допустимого тока, а мгновенное значение тока в зависимости от длительно- сти импульса может превышать предельно допустимое в сотни раз! Обычное значение среднего предельно допустимого тока через маломощные диоды — десятки и сотни миллиампер. Мощные диоды (при токах 3—5 А и выше) час- то приходится устанавливать на радиаторы. Другая характеристика диодов — предельно допустимое обратное напряже- ние. Если оно превышено, то диоды также выходят из строя — электрически пробиваются и замыкаются накоротко. Обычная допустимая величина обрат- ного напряжения для маломощных диодов — десятки вольт, для выпрями- тельных диодов — сотни вольт, но есть диоды, которые выдерживают и де- сятки тысяч вольт. Далее мы увидим, что существуют и диоды, для которых пробой в обратном включении является рабочим режимом — они называют- ся стабилитронами. Физически диод состоит из небольшого кристаллика полупроводникового материала, в котором в процессе производства формируются две зоны с раз- ными проводимостями, называемыми проводимостью п- и p-типа. Ток всегда течет от направления p-зоны к направлению n-зоне, в обратном направлении диод заперт. Более подробные сведения о физике процессов, происходящих в р-п-переходе, излагаются во множестве пособий, включая школьные учеб- ники, но для практической деятельности почти не требуются. Транзисторы Транзистор — это электронный полупроводниковый прибор, предназначен- ный для усиления сигналов. Первым таким прибором в истории была элек- тронная лампа (а еще до нее — электромагнитные реле, которые мы рас- смотрим в главе 7, но они умеют усиливать только скачкообразные сигналы, тогда как лампа и транзистор могут и любые другие, например, синусоидаль- ные). Лампа сумела сделать немало: именно в ламповую эпоху возникли ра- дио и телевидение, компьютеры и звукозапись. Но только транзистор и воз- никшие на его основе микросхемы сумели действительно перевернуть мир,
88 Гпава 6 когда электронные устройства вошли в наш повседневный быт так, что мы теперь уже и не мыслим себя без них. Транзисторы делятся на биполярные и полевые (или униполярные). Пока мы будем говорить только о биполярных транзисторах. +ип -Un Рис. 6.2. Биполярный транзистор: а — рабочие полярности напряжений и направления токов в п-р-п-транзисторе (к — коллектор, б — база, э — эмиттер); б — условное представление транзистора как состоящего из двух диодов Физически биполярный транзистор состоит из трех слоев полупроводника, разделенных двумя р-п-переходами. Поэтому можно себе представить, что он состоит как бы из двух диодов, один из слоев у которых общий, и это пред- ставление весьма близко к действительности! Скомбинировать два диода можно, сложив их либо анодами, либо катодами, соответственно, различают п-p-n- и р-п-р-транзисторы. Различаются эти разновидности только полярно- стями соответствующих напряжений, поэтому, чтобы заменить п-p-n- на ана- логичный р-п-р, надо просто поменять знаки напряжений во всей схеме на противоположные (все полярные компоненты — диоды, электролиты — естественно, тоже надо перевернуть). Транзисторов п-р-п-типа выпускается гораздо больше, и употребляются они чаще, поэтому мы пока что будем вес- ти речь исключительно о них, но надо помнить, что все сказанное справедли- во и для р-п-р, с учетом обратной полярности. Правильные полярности и на- правления токов для п-р-п-транзистора показаны на рис. 6.2. Первый в истории транзистор был построен в знаменитых Лабораториях Белла (Bell Labs) Дж. Бардиным (John Bardeen) и У. Браттайном (Walter Houser Brattain) по идеям Уильяма Брэдфорда Шокли (William Bradford Shockley), 1947 г. Кроме изобретения транзистора, У. Шокли известен также как основа- тель знаменитой Силиконовой долины — технополиса в Калифорнии, где сего- дня расположено большинство инновационных полупроводниковых и компью- терных фирм. Из фирмы Шокли под названием Shockley Semiconductor Labs вышли, в частности, Гордон Мур и Роберт Нойс— будущие основатели круп- нейшего ныне производителя микропроцессоров фирмы Intel. Г. Мур еще из- вестен как автор знаменитого "закона Мура", а Р. Нойс как изобретатель мик- росхемы (совместно с Д. Килби — см. главу 12).
Изобретение, которое потрясло мир. Диоды, транзисторы и простейшие схемы на их основе 89 Рис. 6.3. Первый транзистор (Фото Lucent Technologies Inc./Bell Labs) Три вывода биполярного транзистора носят названия коллектор, эмиттер и база. Как ясно из рис. 6.2, б, база присоединена к среднему из трех полупро- водниковых слоев. Так как согласно показанной на рисунке полярности, по- тенциал базы более положителен, чем у эмиттера, то соответствующий диод всегда открыт для протекания тока. На пару страниц ранее мы убедились, что в этом случае на нем должно создаваться падение напряжения в 0,6 В. Имен- но так и есть — в рабочем режиме напряжение между эмиттером и базой всегда составляет примерно 0,6 В, причем на базе выше, чем на эмиттере (еще раз напомним, что для р-п-р-транзисторов напряжения обратные, хотя абсолютные величины их те же). А вот диод между коллектором и базой за- перт обратным напряжением. Как же может работать такая структура? Практически это можно себе представить, как если бы ток, втекающий в ба- зу, управлял бы неким условным резистором, расположенным между коллек- тором и эмиттером (пусть вас не смущает помещенный там диод коллектор- база, через него-то ток все равно не потечет). Если тока базы нет, т. е. выводы базы и эмиттера закорочены (необязательно, чтобы непосредственно, глав- ное, чтобы С/дэ было бы близко к 0), тогда промежуток эмиттер-коллектор представляет собой очень высокое сопротивление, и ток через коллектор пренебрежимо мал (сравним с током обратной утечки диода). В таком со- стоянии транзистор находится в режиме отсечки (транзистор заперт— за- крыт). В противоположном режиме ток базы велик (t/g3 = 0’6—0,7 В, как мы 4 Зак. 710
90 Гпава 6 говорили ранее), а промежуток эмиттер-коллектор тогда представляет собой очень малое сопротивление. Это режим насыщения, когда транзистор полно- стью открыт (естественно, в коллекторной цепи должна присутствовать какая-то нагрузка, иначе транзистор в этом режиме может просто сгореть). Остаточное напряжение на коллекторе транзистора может при этом состав- лять всего порядка 0,3 В. Эти два режима представляют часто встречающий- ся случай, когда транзистор используется в качестве "ключа" (или, как гово- рят, "работает в ключевом режиме"), т. е. используется как обычный выключатель тока. А в чем смысл такого режима, спросите вы? Смысл большой — ток базы мо- жет управлять током коллектора, который, как минимум, на порядок боль- ше — т. е. налицо усиление сигнала по току (за счет, естественно, энергии источника питания). Насколько велико может быть такое усиление? Для режи- ма "ключа" почти для всех обычных типов современных транзисторов можно смело полагать коэффициент усиления по току (т. е. отношение максимально возможного тока коллектора к минимально возможному току базы Ik/Iq) равным 10 — не ошибетесь. Если ток базы и будет больше нужного — не страшно, он никуда не денется, открыться сильнее транзистор все равно не сможет. Коэффициент усиления по току в ключевом режиме еще называют "коэффициентом усиления по току в режиме большого сигнала" и обознача- ют буквой р. Есть особые "дарлингтоновские" транзисторы, для которых Р может составлять до 1 000 и более — о них мы еще будем говорить. Ключевой режим работы биполярного транзистора Рассмотрим подробнее ключевой режим работы транзистора. На рис. 6.3 по- казана простейшая схема включения транзистора в таком режиме, для на- глядности — с лампочкой в качестве коллекторной нагрузки. Попробуем рассчитать необходимую величину резистора в базе. Характерно тут вот что: напряжения в схеме никакой роли не играют, только токи. Можно подклю- чить коллекторную нагрузку хоть к напряжению 200 В, а базовый резистор питать от 5-вольтового источника — если соотношение Р>/к //g соблюдается, то транзистор (при условии, конечно, что он рассчитан на такое высокое на- пряжение) будет послушно переключать 200-вольтовую нагрузку, управляясь от источника 5 В, т. е. налицо и усиление сигнала по напряжению! В нашем примере используется небольшая автомобильная лампочка 12 В, 100 мА (примерно, как для подсветки приборной доски в "Жигулях"), а цепь базы питается от источника 5 В. Расчет элементарно прост: при 100 мА в кол-
Изобретение, которое потрясло мир. Диоды, транзисторы и простейшие схемы на их основе 91 лекторе, в базе должно быть минимум 10 мА. Напряжение на базовом резисто- ре Rg составит 5 В - 0,6 В = 4,4 В (о падении между базой и эмиттером забы- вать не следует), т. е. нужное сопротивление будет 440 Ом. Выбираем бли- жайшее меньшее из "ширпотребовского" 5% ряда и получаем 430 Ом. Все? Рис. 6.4. Включение биполярного транзистора в ключевом режиме Нет, не все. Схема еще не совсем доделана. Она будет работать нормально, если вы будете поступать так: подключать базовый резистор к 5 В (лампочка горит), а затем переключать его к "земле" (лампочка гаснет). Но есть доволь- но часто встречающийся случай, когда напряжение на базовый резистор подается-то нормально, а вот при отключении его резистор не присоединяет- ся к "земле", а просто "повисает в воздухе" (именно этот случай и показан на схеме в виде контактов). Так мы не договаривались — чтобы транзистор был в режиме отсечки, нужно, чтобы база и эмиттер имели один и тот же потен- циал. А какой потенциал у базы, если она "в воздухе"? Это только формально ноль, а на самом деле всякие наводки — электричества-то вокруг полно — и внутренние процессы в транзисторе формируют небольшой базовый ток. И транзистор не закроется полностью— лампочка будет слабо светиться! Это раздражающий и очень неприятный эффект, который даже может при- вести к выводу транзистора из строя. Избежать его просто: надо замкнуть базу и эмиттер еще одним резистором Rg3. Самое интересное, что рассчиты- вать его практически не надо — лишь бы падение напряжения на нем при подаче напряжения на базу не составило меньше, чем 0,6 В, а чем он больше, тем лучше, но не надо увлекаться. Обычно его выбирают примерно в 10 раз больше, чем резистор Rg, но если вы здесь поставите не 4,3 кОм, а, к приме- ру, 10 кОм, тоже не ошибетесь. Работать он будет так: если включающее на- пряжение на Rg подано, то он не оказывает никакого влияния на работу схе- мы, т. к. напряжение между базой и эмиттером все равно 0,6 В, и он только
92 Глава 6 отбирает на себя очень небольшую часть базового тока (легко подсчитать, какую — примерно 0,15 мА из 10 мА). А если напряжения нет, R63 обеспечи- вает надежное равенство потенциалов базы и эмиттера независимо от того, подключен ли базовый резистор к "земле" или "висит в воздухе". Я так подробно остановился на этом моменте потому, что о включении рези- стора R(-)3 при работе в ключевом режиме часто забывают — даже в очень интересной во всех отношениях книге [9] повсеместно встречается эта ошиб- ка. А ведь еще совсем недавно транзисторы по ТУ вообще запрещалось включать в режиме с "оборванной базой" — первые промышленные типы их запросто могли выйти из строя! Простейшая ключевая схема есть вариант т. н. схемы с общим эмиттером. Есть два момента в наших примерах, на которые стоит обратить внимание: во-первых, это подключение базовой цепи к питанию от 5 В. Это очень часто встречающийся случай, с которым и в этой книге вам придется иметь дело. Напряжением 5 В обычно питаются распространенные типы контроллеров и логических микросхем, и управление от них устройствами, которым требует- ся более высокое питание, чаще всего осуществляется именно по схеме рис. 6.3. Во-вторых, обратите внимание, что сигнал на коллекторе транзисто- ра инвертирован (т. е. противоположен по фазе) по отношению ко входному сигналу. То есть, если на базе (точнее, на базовом резисторе) напряжение имеется — на коллекторе оно равно нулю, и наоборот! Это и имеют в виду, когда говорят, что транзисторный каскад в схеме с общим эмиттером ин- вертирует сигнал (относится не только к ключевому, но и к усилительному режиму работы, о котором далее). При этом на нагрузке (лампочке), которая подключена к питанию, а не к общей для входа и выхода каскада "земле", все в порядке, т. е. она горит, когда на входе сигнал есть, визуальный сигнал не инвертирован. Рис. 6.5. Схемы включения транзисторов: а — транзистор Дарлингтона; б — параллельное включение транзисторов
Изобретение, которое потрясло мир. Диоды, транзисторы и простейшие схемы на их основе 93 О дарлингтоновских транзисторах. Транзистор Дарлингтона (его часто назы- вают транзистор с "супербетой", мы будем называть его и так и так) есть две транзисторные структуры, включенные каскадно, как показано на рис. 6.5, а. Разумеется, можно соорудить такую структуру самостоятельно (левый тран- зистор обычно меньшей мощности, чем правый), но существуют и приборы, выпускаемые промышленно (на рис. 6.5, а общий корпус показан пункти- ром). Величина [3 для них равна произведению коэффициентов усиления для каждого из транзисторов и может составлять до нескольких сотен и даже тысяч. При использовании таких "супербета"-транзисторов обязательно сле- дует иметь в виду то обстоятельство, что рабочее напряжение между базой и эмиттером у них будет примерно вдвое больше, чем у обычного транзисто- ра, т. е. 1,2—1,4 В. Сопротивление резистора, как уже сказано, принципи- ального значения не имеет и для мощных транзисторов может составлять несколько кОм. На рис. 6.4, б приведена редко требующаяся, но весьма полезная схема па- раллельного включения мощных транзисторов с целью увеличения допусти- мого коллекторного тока и рассеиваемой мощности. Она немного напоминает схему Дарлингтона, но никакого умножения "бет" там, естественно, не про- исходит — суммируются только предельно допустимые показатели. Так как транзисторы всегда немного отличаются друг от друга, то для выравнивания токов через них в этой схеме служат резисторы в эмиттерных цепях, которые нужно выбирать так, чтобы падение напряжения на них при максимальном токе составляло ~0,2 В. Естественно, эти резисторы ухудшают КПД, поэтому для таких целей удобнее использовать мощные полевые транзисторы, для ко- торых в аналогичном включении использования резисторов не требуется. Усилительный режим работы биполярного транзистора Теперь займемся собственно усилительным режимом. Из написанного ранее ясно, что между режимом насыщения и режимом отсечки должен существо- вать какой-то промежуточный режим — например, когда лампочка на рис. 6.4 горит вполнакала. Действительно, в некотором диапазоне базовых токов (и соответствующих им базовых напряжений) ток коллектора (и соответст- вующее ему напряжение на коллекторе) будет плавно меняться. Соотношение между токами здесь будет определяться величиной коэффициента усиления по току для малого сигнала, который по некоторым причинам обозначают весьма сложно: А2]Э. В первом приближении /г21Э можно считать равным ко- эффициенту р, хотя он всегда больше последнего. Учтите, что в справочни- ках иногда приводится именно hi\3, а иногда р, так что будьте внимательны.
94 Глава 6 Разброс /121э для конкретных экземпляров весьма велик, поэтому в справоч- никах приводят граничные значения (от—до). Проэкспериментировать с усилительным режимом транзистора и заодно нау- читься измерять /121э можно по схеме, приведенной на рис. 6.5. Переменный резистор должен иметь достаточно большое сопротивление, чтобы при выве- денном в крайнее правое положение движке ток базы заведомо удовлетворял соотношению /б • /121э « До последний же в данном случае определяется на- грузкой. Если для транзистора (по справочнику) /г21Э составляет величину в среднем 50, а в коллекторе нагрузка 100 Ом, то переменный резистор разумно выбирать номиналом примерно 20—30 кОм и более. Выведя движок в крайнее правое по схеме положение, мы задаем минимально возможный ток базы. В этой ситуации следует включить питание и убедиться с помощью осциллографа или мультиметра, что транзистор близок к отсечке — напря- жение на коллекторе UK будет почти равно напряжению питания (но не со- всем — мы уже говорили, что для полной отсечки нужно соединить выводы базы и эмиттера между собой). Осторожно перемещая движок переменного резистора, мы увидим, как напряжение на коллекторе будет падать (а на на- грузке, соответственно, расти). Когда напряжение на коллекторе станет поч- ти равным нулю (т. е. транзистор придет в состояние насыщения), экспери- мент следует прекратить, иначе можно выжечь диод база-эмиттер слишком большим прямым током (для предотвращения этой ситуации следует поста- вить последовательно с переменным резистором постоянный резистор не- большого номинала — на рис. 6.6 показан пунктиром). U пит = + 10 В Рис. 6.6. Схема включения биполярного транзистора по схеме с общим эмиттером в усилительном режиме Вернем движок переменного резистора в состояние, когда напряжение на коллекторе примерно равно половине напряжения питания. Это так называе- мая рабочая точка транзистора в схеме с общим эмиттером — если напряже- ние на базовом резисторе будет в определенных пределах колебаться, изме- няя ток базы, то переменная составляющая напряжения на коллекторе будет
Изобретение, которое потрясло мир. Диоды, транзисторы и простейшие схемы на их основе 95 повторять его форму (с точностью до наоборот, т. е. инвертируя сигнал, как мы говорили ранее), но усиленную по напряжению и току. Это и есть усили- тельный режим транзистора. В какой степени входной сигнал может быть усилен? Все определяется знакомым нам коэффициентом /?21э. Его величину для данного экземпляра транзистора можно определить так: пусть при на- пряжении на коллекторе, равном половине напряжения источника питания (5 В, как на рис. 6.6), сопротивление базового резистора составляет 10 кОм. Ток коллектора (при коллекторной нагрузке 100 Ом) составит 50 мА. Ток базы составит (10—0,6) В/10 кОм, т. е. примерно 1 мА. Тогда их отношение и будет равно А21э, т. е. в данном случае 50. А каков коэффициент усиления такой схемы по напряжению? Это зависит от соотношения резисторов в базе и в коллекторе. Например, если величина ба- зового резистора составляет 1 кОм, то изменение тока базы при изменении входного напряжения на 1 В составит 1 мА. А в пересчете через /г2]Э это должно привести к изменению тока коллектора на 50 мА, что на нагрузке 100 Ом составит 5 В, т. е. усиление по напряжению при таком соотношении резисторов будет равно 5. Чем меньше номинал резистора в базе (и выше — нагрузки), тем больше коэффициент усиления по напряжению. В пределе, если положить базовый резистор равным нулю, а коллекторный — бесконеч- ности, то предельный коэффициент усиления современных транзисторов по напряжению может составить величину порядка нескольких сотен (но не бесконечность — за счет того, что база имеет собственное входное сопротив- ление, а коллектор — собственное выходное). Обратите внимание на то об- стоятельство, что при повышении величины сопротивления в коллекторе ко- эффициент усиления увеличивается. В частности, это означает, что лучше вместо резистора включать источник тока, у которого выходное сопротивле- ние очень велико. Именно так и поступают во многих случаях, особенно час- то — в микросхемах (см. главу 12). Но в приведенном виде (рис. 6.6) схема по усилению исключительно плоха. В самом деле, все зависит от величины коэффициента А21э, а он, во-первых, ’’гуляет" от транзистора к транзистору, во-вторых, очень сильно зависит от температуры (при повышении температуры повышается). Но чтобы понять, как правильно построить усилительный транзисторный каскад со стабиль- ными параметрами, нужно ознакомиться еще с одной схемой включения транзистора — схемой с общим коллектором. Схема с общим коллектором показана на рис. 6.7. Памятуя, что напряжение базы и эмиттера никогда не отличается более, чем на 0,6 В, мы придем к вы- воду, что выходное напряжение такой схемы должно быть меньше входного именно на эту величину. Это так и есть — схема с общим коллектором еще
96 Гпава 6 называется "эмиттерный повторитель", поскольку выходное напряжение по- вторяет входное за вычетом все тех же 0,6 В. Каков же смысл этой схемы? Рис. 6.7. Схема включения биполярного транзистора по схеме с общим коллектором Дело в том, что схема на рис. 6.6 усиливает сигнал по току (в количество раз, определяемое величиной /ь13), что равносильно тому, что собственное вход- ное сопротивление этой схемы ровно в /2213 больше того сопротивления, ко- торое стоит в цепи эмиттера, поэтому в этой схеме мы можем подавать на "голый" вывод базы напряжение без опасности сжечь переход база-эмиттер. Иногда это полезно само по себе, если не слишком мощный источник (т. е. обладающий высоким выходным сопротивлением) нужно согласовать с мощ- ной нагрузкой (в главе 10 мы увидим, как это используется в источниках пи- тания). Кстати, схема с общим коллектором (о.к.) не инвертирует сигнал в отличие от схемы с общим эмиттером (о.э.). Но главной особенностью схемы с общим коллектором является то, что ее характеристики исключительно стабильны и не зависят от конкретного тран- зистора до тех пор, пока вы, разумеется, не выйдете за пределы возможного. Так, сопротивление нагрузки в эмиттере и входное напряжение схемы прак- тически однозначно задают ток коллектора— характеристики транзистора в этом деле никак не участвуют. Для объяснения этого факта заметим, что ток коллектора и ток эмиттера, т. е. ток через нагрузку, связаны между собой соотношением /н = 1К + /б, но ток базы мал по сравнению с током коллектора, поэтому мы им пренебрегаем и с достаточной степенью точности полагаем, что /н = 1К. Но напряжение на нагрузке будет всегда равно входному напря- жению минус U&), которое, как мы уже выучили, всегда 0,6 В, т. е. ток в на- грузке есть (f/BX - Uq-^/Rh, и окончательно получаем, что /к= (t/BX - Uq3)/Rh. Разумеется, мы по ходу дела использовали два допущения (что 1^ « 1К и что U&, есть точно 0,6 В — и то и другое не всегда именно так), но мы же давно договорились, что не будем высчитывать характеристики схем с точностью до процентов! Ограничение, которое накладывается транзистором, будет тут
Изобретение, которое потрясло мир. Диоды, транзисторы и простейшие схемы на их основе 97 проявляться только, если мы попробуем делать RH все меньше и меньше — в конце концов, либо ток коллектора, либо мощность, выделяемая на коллек- торе (она равна (£7ПИТ ~ ^вых) ’ 4), превысят предельно допустимые значения, и либо сгорит коллекторный переход, либо (если /к чем-то лимитирован) то же произойдет с переходом база-эмиттер. Зато в допустимых пределах мы можем со схемой эмиттерного повторителя творить что угодно, и всегда со- отношение IK = (f/BX - Uq3)/Rh будет выполняться. Про такую схему говорят, что она охвачена стопроцентной отрицательной обратной связью по напряжению. Об обратной связи мы подробнее погово- рим в главе 14, посвященной операционным усилителям, а сейчас нам важно, что такая обратная связь ведет к стабилизации параметров схемы и незави- симости их как от конкретного экземпляра транзистора, так и от температу- ры. Но ведь именно этого нам так не хватало в классической схеме с общим эмиттером! Нельзя ли их как-то скомбинировать? Действительно, "правильный" усилительный каскад на транзисторе есть ком- бинация той и другой схемы (рис. 6.8). Для конкретности предположим, что (/пит = Ю В, UBX = 5 В. Как правильно рассчитать сопротивления R3 и RK? За- метим, что схема обладает двумя выходами, из которых нас больше интере- сует выход 1 (выход усилителя напряжения, соответствующий выходу в схе- ме с общим эмиттером по рис. 6.6). Рис. 6.8. Стандартный усилительный каскад на биполярном транзисторе При нормальной работе каскада (чтобы обеспечить максимально возможный размах напряжения на выходе в случае чего) разумно принять, чтобы в со- стоянии покоя, т. е. когда URX равно именно 5 В, на выходе (на коллекторе транзистора) была йоловина питания, т. е. в данном случае тоже примерно 5 В. Это напряжение зависит от коллекторного тока и от сопротивления на- грузки по этому выходу, которое в данном случае равно RK. Как правило,
98 Гпава 6 сопротивление нагрузки RK нам задано, примем для определенности, что RK= 5,1 кОм. Это означает следующее: чтобы в "хорошем" режиме обеспечить ^вых1 = 5 В, ток коллектора должен составлять 1 мА — посчитайте по закону Ома1! Но ток коллектора мы уже умеем рассчитывать, исходя из закономерно- стей для каскада с о.к. — он ведь равен (t/BX - t/63)/R3 (в данном случае R3 и есть RH). Из этих условий получается, что резистор R3 должен быть равен 4,3 кОм (мы всегда выбираем ближайшее из стандартного ряда сопротивлений и больше не будем об этом упоминать). Мы не сильно нарушим законы приро- ды, если положим в этой схеме R} = RK =5,1 кОм — с точностью до десятых вольта выходные напряжения по обоим выходам будут равны — проверьте! Такая (очень хорошая и стабильная) схема нам не обеспечит никакого усиле- ния по напряжению, это легко проверить, если при рассчитанных параметрах увеличить f/BX, скажем, на 1 В. Напряжение на эмиттере увеличится также на 1 В, общий ток коллектора-эмиттера возрастет на 0,2 мА (1 В/5 кОм), что изменит дополнительное падение напряжения на коллекторном резисторе также на 1 В в меньшую сторону (помните, что выходы инвертированы?). Зато! Мы в данном случае имеем схему, у которой два совершенно симмет- ричных выхода: один инвертирующий, другой точно совпадающий по фазе со входным сигналом. Это дорогого стоит! Единственное, что портит картин- у — факт, что выходные сопротивления такой схемы сильно разнятся. Нагру- зив нижний выход (f/BbIX2) еще какой-нибудь нагрузкой (что равносильно присоединению параллельного резистора к R3), мы изменим общий ток кол- лектора, и напряжение верхнего выхода (t/BbIxi) также изменится. А обратно- го не получается, т. е. если мы уменьшим RK, нагрузив его, то t7BbIxi изменит- ся — но это практически никоим образом не скажется на t/Bblx2! Как нам обеспечить полную (или близкую к таковой) симметричность схемы усилителя — поговорим позже. А пока нас занимает вопрос — "дык, блин, это как же на этом гребаном транзисторном каскаде усилять напрягу?" У ме- ня есть микрофон или гитарный звукосниматель с выходом 1 мВ. Хочу полу- чить на выходе хотя бы 100 мВ, чтобы хватило для линейного входа усилите- ля — ну и? Оказывается, все просто, нужно только поступиться принципами, как говаривала незабвенная Нина Андреева еще в советские времена. Принципы заключаются в следующем: в рассчитанной схеме мы старались все сбалансировать и обеспечить оптимальный режим работы транзистора. 1 На самом деле средний ток коллектора в маломощном биполярном транзисторном каскаде и должен составлять величину порядка 1 мА. Если она много меньше, то в дело вступают шу- мы и прочие неидеальности транзистора, а много больше — это неэкономно с точки зрения расходования энергии источника, и транзисторы нужно тогда выбирать более мощные, а у них намного больше шумы и утечки, они дороже, крупнее...
Изобретение, которое потрясло мир. Диоды, транзисторы и простейшие схемы на их основе 99 Но оптимального ничего не бывает— ранее мы писали, что коэффициент усиления по напряжению каскада с общим эмиттером зависит от соотноше- ния сопротивлений (т. е. токов в базе и коллекторе). Нарушив его по отноше- нию к оптимальному для транзистора, мы можем что-то улучшить для себя. Практически это делается так: пусть мы предполагаем, что максимально воз- можная амплитуда на входе каскада (относительно среднего значения) не превысит, допустим, 1 В. Тогда напряжение на базе не должно быть меньше 1,7 В, иначе при минимальном сигнале транзистор запрется, и сигнал будет ограничен "снизу". Примем его равным 2 В для надежности. Номинал эмит- терного резистора R3 (при все том же оптимальном токе коллектора 1 мА) будет тогда равен 1,3 кОм. Нагрузка коллектора (RK) пусть останется такой же— 5,1 кОм. Обратите внимание, что на выходе £/ВЬ1Х1 среднее напряже- ние — напряжение покоя — осталось то же самое: 5 В. Тогда каждый вольт изменения напряжения на входе даст уже примерно 4 вольта изменения на- пряжения на выходе (/ВЫХ1, т- е- коэффициент усиления по напряжению со- ставит 4 (и будет примерно равен соотношению резисторов в коллекторе и эмиттере). Мы можем в определенных пределах увеличить этот коэффици- ент, уменьшая номинал R, вплоть до нуля (и тем самым все больше дестаби- лизируя схему, как показано при описании схемы с общим эмиттером) и од- новременно уменьшая диапазон усиливаемых входных напряжений. Интересным свойством рассмотренной схемы является то, что абсолютное значение напряжения питания здесь не важно — рассчитанный на одно пита- ние каскад сохранит все свои свойства, кроме максимально допустимого вы- ходного напряжения, и при другом напряжении питания. Для усилителей переменного тока хорошим — и часто используемым — приемом является шунтирование эмиттерного резистора конденсатором большой емкости. В результате режим усилителя по постоянному току (точка покоя, т. е. напряжение на коллекторе) обеспечен, а при наличии переменно- го входного напряжения эмиттерный резистор по номиналу уменьшается (к нему оказывается параллельно подключен конденсатор, сопротивление которого тем меньше, чем выше частота, как мы узнали из главы 5), поэтому растет и коэффициент усиления напряжения всей схемы. Теоретически транзисторный каскад на хорошем биполярном транзисторе в одиночку может усилить переменное напряжение 1 мВ раз в сто — если он правильно спроектирован, однако лучше полагаться на величину в 10—30 раз (если помните, то максимальное увеличение по напряжению для современ- ных биполярных транзисторов ограничено несколькими сотнями — это без всякой стабилизации). Еще лучше в этом случае работают операционные усилители, но чтобы перейти к ним (см. главу 14), надо еще много понять о работе простых транзисторных каскадов.
100 Гпава 6 Дифференциальный каскад Значительно улучшает схему использование двух одинаковых транзисторов в паре, соединенных эмиттерами, т. н. дифференциальный каскад (рис. 6.9). Дифференциальные каскады в силу их удобства широко применяли еще в эпоху недоступности микросхем (в том числе в ламповые времена), но в настоящее время их отдельно почти не используют (кроме некоторых областей, таких, как звукотехника) — они являются основой операционных усилителей. Тем не ме- нее, понимание принципов его работы необходимо, и мы рассмотрим его вкрат- це, а потом (см. главу 9) построим на его основе простейший звуковой усилитель. Рис. 6.9. Дифференциальный каскад на биполярных транзисторах Дифференциальный каскад, как он показан на рис. 6.9, предполагает два раз- дельных одинаковых питания (плюс и минус) относительно "земли", но для самого каскада это не более, чем условность — питание всего каскада можно рассматривать как однополярное (и равное 10 + 10 = 20 В, согласно рис. 6.9), просто входной сигнал должен находиться где-то посередине между пита- ниями. Ради удобства проектирования схем источник входного напряжения всегда привязывают к "земле", потенциал которой находится ровно посере- дине между потенциалами источников питания самого каскада, т. е. общее питание рассматривают как разделенное на два — положительное и отрица- тельное. Относительно этой же "земли" мы будем также отсчитывать выход- ные напряжения f/BIjlxi и (/ВЬ1Х2- Так как мы знаем, что база и эмиттер транзистора всегда привязаны друг к другу, то в этой схеме обе базы (в рабочем режиме) всегда будут иметь одинаковый потенциал. Поэтому если на них подавать один и тот же сигнал (базовые резисторы на рис. 6.9 не показаны), то ничего происходить не будет — току течь некуда, т. к. все под одним и тем же напряжением. Вся конструкция
Изобретение, которое потрясло мир. Диоды, транзисторы и простейшие схемы на их основе 101 из двух транзисторов будет смещаться относительно "земли" в соответствии с поданным сигналом, а на выходах ничего и не шелохнется — это легко проверить. Такой сигнал называют синфазным. Иное дело, если сигналы на входах различаются — они будут усиливаться. Такой сигнал называют дифференциальным. Это основное свойство диффе- ренциального усилителя, которое позволяет выделять небольшой сигнал на фоне довольно большой помехи. Помеха одинаково — синфазно — действу- ет на оба входа, а полезный сигнал усиливается. Мы не будем здесь подробно разбирать работу этой схемы (рекомендую [10]), только укажем некоторые ее особенности: □ входное сопротивление дифференциального каскада равно входному со- противлению каскада с общим коллектором; □ усиление по напряжению (дифференциальному) составляет 100 и более раз. Если вы хотите получить точно определенный коэффициент усиле- ния, в каждый из эмиттеров нужно ввести по одинаковому резистору — тогда Кус будет определяться, как для каскада на рис. 6.7. Но обычно в та- ком режиме дифференциальный усилитель не используют— их исполь- зуют в системах с обратной связью, которая и задает необходимый коэф- фициент усиления (см. главу 9); □ выходы строго симметричны; □ резистор RK1, если не используется £/выхь вообще можно исключить, или, наоборот, исключить RK2, смотря какой выход использовать. Полевые транзисторы Типы полевых транзисторов гораздо более разнообразны, чем биполярных (к полевым, кстати, и принадлежал самый первый прототип транзистора, изобретенный Шокли еще в 1946 г.). Существует более десятка только ос- новных разновидностей, но всем им присущи общие черты, которые мы сей- час кратко рассмотрим. Простейший полевой транзистор (полевик) с р-п-переходом показан на рис. 6.10 (в данном случае с n-каналом). Аналогичные базе, коллектору и эмиттеру выво- ды называются затвор, сток и исток. Если потенциал затвора равен потенциалу истока (т. е. имеется в виду аналог замыкания цепи база-эмиттер у биполярного), то, в отличие от биполярного, полевой транзистор (с р-п-переходом) открыт. Но есть и еще одно существенное отличие — если биполярный транзистор при полном открывании имеет почти нулевое сопротивление цепи коллектор- эмиттер, то полевой в этих условиях работает довольно стабильным источником
102 Глава 6 тока: ток в цепи истока почти не зависит от напряжения на стоке. Сама величина тока зависит от конкретного экземпляра транзистора и называется "начальный ток стока". Запереть же его удается подачей отрицательного (порядка 7—10 В) напряжения на затвор относительно истока, в промежутке полевик с п-каналом находится в активном режиме, когда ток стока зависит от напряжения на затворе. I Рис. 6.10. Включение полевого транзистора с р-п-переходом и п-каналом Уникальной особенностью полевого транзистора является то, что в рабочем режиме он фактически не потребляет тока по входу затвора. Достаточно иметь соответствующий потенциал, ведь диод затвор-исток в рабочем режи- ме смещен в обратном направлении, и ток через него определяется только токами утечки, которые равны нано- и микроамперам, как говорилось ранее! В этом отношении полевой транзистор аналогичен электронной лампе. А ес- ли мы сместим этот переход в положительном направлении (когда потенциал затвора превысит потенциал истока и диод затвор-исток откроется), то поле- вой транзистор с р-п-переходом уже перестанет работать как транзистор. А в типах полевых транзисторов с изолированным затвором (т. н. МОП- транзисторах, от "металл-окисел-полупроводник"), последний вообще изоли- рован от цепи сток-исток (тонким слоем окисла кремния SiO2), и там в прин- ципе нет никакого тока через цепь затвора. Правда, когда на затвор подается переменное напряжение, в дело вступает конденсатор, образованный затво- ром и истоком (через изолирующую прокладку окисла или за счет собствен- ной емкости р-п-перехода — в зависимости от типа). Как следует из главы 5, перезаряд этого конденсатора (его емкость может составлять десятки пико- фарад) в цепи переменного тока может приводить к значительному реактив- ному току в цепи затвора. Приведенные нами примеры не исчерпывают разнообразия типов полевых тран- зисторов. Например, т. н. MOSFET-транзисторы управляются напряжениями аналогично тому, как биполярный в схеме с общим эмиттером — при нулевом напряжении на затворе относительно истока транзистор заперт, при положитель- ном напряжении порядка 5 В — полностью открыт, причем в открытом состоя- нии он представляет собой крайне малое сопротивление — у некоторых типов менее 0,01 Ом. Вообще полевики гораздо ближе к той модели транзистора, когда промежуток коллектор-эмиттер или сток-исток представляются как управляемое сопротивление — у полевых транзисторов это действительно сопротивление. Условно говоря, со схемотехнической точки зрения биполярные
Изобретение, которое потрясло мир. Диоды, транзисторы и простейшие схемы на их основе 103 транзисторы являются приборами для усиления тока, а полевые — для уси- ления напряжения. Однако их общим недостатком является значительно меньшая крутизна характеристики вход-выход, отчего на полевых транзисто- рах трудно получать большие коэффициенты усиления. Выбор транзисторов В заключение главы приведем критерии подбора биполярных и полевых транзисторов для конкретной схемы (дополнительно на эту тему мы погово- рим еще в главе S). Сейчас мы оставляем за скобками частотные характери- стики приборов транзисторов — будем считать, что достаточно выбрать при- бор с рабочей частотой, примерно в 10 раз превышающей самые высокие частоты в схеме2. Если у диодов определяющих критериев всего три (допусти- мый прямой ток, допустимое обратное напряжение и допустимая выделяющая- ся мощность), то у транзисторов их много больше. Приведем часть из них: □ допустимый ток коллектора; □ допустимый ток базы; □ допустимая мощность на коллекторе (стоке); □ допустимое напряжение коллектор-эмиттер (сток-исток); □ допустимое напряжение коллектор-база (сток-затвор); □ допустимое обратное напряжение база-эмиттер и др. Самыми критичными являются, как и у диодов, три: допустимый ток коллекто- ра, допустимая мощность на коллекторе и допустимое напряжение коллектор- эмиттер. Допустимое обратное напряжение база-эмиттер (т. е. отрицательное напряжение на базе при запертом транзисторе) для большинства типов крем- ниевых транзисторов, независимо от их мощности, составляет — увы — всего 5 В. На самом деле большинство транзисторов выдерживает много больше, но лучше не экспериментировать. Допустимое напряжение коллектор-база обыч- но примерно равно допустимому напряжению коллектор-эмиттер. Последнее для обычных типов маломощных транзисторов составляет несколько десятков вольт, хотя есть и экстремальные типы, которые могут коммутировать и сотни вольт. Чаще всего в пределах одного типа разные буквы означают разброс в допустимых напряжениях (и/или в коэффициентах усиления Р): так, для КТ815А допустимое постоянное напряжение коллектор-эмиттер составляет 2 В силу того, что у прямоугольного импульса, как сказано в предыдущей главе, верхняя часто- та не ограничена, может создасться искушение выбирать как можно более высокочастотные приборы. Но это не так — достаточно выбрать компоненты с рабочей частотой примерно в 10—20 раз выше, чем частота прямоугольных сигналов.
104 Гпава 6 40 В, а для КТ815Г — 100 В. В дальнейшем, если на схеме будет указан только тип транзистора без буквы (это относится и к другим компонентам), то это оз- начает, что может использоваться прибор указанного типа с любой буквой. Предельно допустимая мощность на коллекторе (то же самое справедливо для диодов) обычно определяется типом корпуса: один и тот же транзистор, помещенный в разные корпуса, может обеспечить разную выделяемую мощ- ность. Критерием тут служит температура самого кристалла, которую поме- рить ох, как непросто! Для ориентировки можно указать, что транзисторы (и другие приборы), помещенные в распространенный корпус ТО-2203 (как мощные транзисторы КТ819 или КТ829), могут без дополнительного радиа- тора рассеивать мощность до 1—2 Вт, а маломощные типа КТ3102 (корпус типа ТО-92) — до 0,5 Вт4. С радиатором возможности сильно возрастают — корпус типа ТО-220 может рассеять до 60 Вт тепла без вреда для кристалла! Образцом тут могут служить микропроцессоры — как известно, Пентиумы на частоте 3 ГГц потребляют порядка 70—80 Вт мощности без вреда для многих миллионов транзисторов, которые они содержат, и работают с внеш- ним радиатором, дополнительно охлаждаемым специальным вентилятором. (Расчетом радиатора мы будем заниматься в главе 9.) В любом случае следует выбирать минимально необходимый по мощности прибор — не только в целях экономии денег и места на печатной плате, но и потому, что чем меньше диод или транзистор, тем лучше у него остальные вто- ростепенные характеристики — быстродействие, уровень собственных шумов и т. д. Но, как и во всех других случаях, запас обязательно следует иметь: если вы выберете для работы в цепи с напряжением 100 Вис токами до 1,5 А тран- зистор КТ815Г — это будет формально правильно, но я бы для надежности выбрал сюда что-нибудь помощнее. Потому что есть правило; касающееся лю- бых компонентов, не только диодов или транзисторов: из всех предельных параметров максимально допустимого значения в процессе работы может дос- тигать только один, остальные должны оставаться как можно ниже (для тран- зисторов даже приводятся специальные графики, называемые "областью безо- пасной работы"). Так, если вы выбрали упомянутый КТ815Г для работы в цепи с напряжениями до 100 В — пусть предельные токи через него заведомо никогда не смогут превысить 0,5 А. Это будет правильно! Представьте себе йога, который тренирован для пребывания голым на холоде минус 30° в тече- ние часа, спокойно ходит по раскаленным угольям, выдерживает давление на грудную клетку большегрузного автомобиля в 10 тонн и при этом ломает кир- пичи одним ударом ладони. А теперь заставьте его проделать все это одновре- менно! Конечно, не исключено, что он выдержит. Ну, а как нет? 3 Относительно наименований корпусов транзисторов см. сноску 3 в главе 8. 4 Внешний вид различных корпусов транзисторов см. на рис. 8.1.
Глава 7 Ошеломляющее разнообразие электронного мира. Реле, стабилитроны, светодиоды... Нет такой пустыни, где бы птица не могла пролететь над головой, где бы рыба не мог- ла вынырнуть из воды, где бы кролик не мог выскочить из своей норки. А мне ка- жется, что и птицы, и рыбы, и кролики — все стали шпионами кардинала. А. Дюма, "Три мушкетера" Полупроводниковая промышленность выпускает очень много типов элек- тронных приборов. В этой главе мы подробно разберем только основные, самые широко употребляемые их разновидности. По ходу изложения нам будут встречаться и другие типы, имеющие более узкий спектр применения. Необходимые пояснения будут даны в соответствующих главах. Все эти при- боры, вместе с диодами и транзисторами, в отличие от интегральных микро- схем, называют дискретными, а основанную на их использовании схемотехни- ку— дискретной схемотехникой. Не следует думать, что последняя в связи с дешевизной микросхем полностью вышла из моды: во-первых, многие узлы современных схем все равно делают на дискретных компонентах, во-вторых, как ни странно, иногда только использование дискретной схемотехники по- зволяет достичь наивысшего качества — типичным примером служат высо- кокачественные звуковые усилители мощности. Электромагнитные реле Конечно, выдающийся американский физик Джозеф Генри, помогая худож- нику Самюэлю Морзе в постройке телеграфа, и не думал ни о какой электро- нике, которая потом завоюет мир. Электромагнитное реле он изобрел даже не в рамках науки, которая, как известно, есть способ познания мира и чура- ется практики, а просто, чтобы помочь товарищу, который, впрочем, навер- няка заплатил неплохие деньги.
106 Гпава 7 Так это было или иначе — важно, что электромагнитное реле стало одним из самых щтавных технологических изобретений XIX века. По популярности ему не затмить, конечно, электрического освещения, электрогенератора и электродвигателя, телеграфа, телефона и прочих достижений "века электри- чества", но факт, что именно этот не очень известный широкой публике при- борчик еще недавно был одним из важнейших компонентов любой электри- ческой системы и широко используется до сих пор. Суть заключается в том, что реле стало первым в истории — задолго до ламп и транзисторов — усилителем электрических сигналов. С помощью реле на- прямую не усилить предвыборную речь кандидата в президенты, но если ее закодировать нулями-единицами, как мы это будем делать в главах 18—19, то реле справится с такой задачей ничуть не хуже любого другого устройст- ва — именно на этом свойстве было основано его применение в телеграфе Морзе. Нормально замкнутые контакты а Рис. 7.1. Электромагнитное реле: а — схематическое устройство; б — рекомендуемая схема включения +ипит Конечно, быстродействие реле как ключевого элемента оставляет желать лучшего — даже о килогерцах здесь речь не идет, обычная скорость сраба- тывания составляет для самых малогабаритных и быстродействующих реле десятки миллисекунд, что соответствует частотам в десятки герц. Но в режи- ме быстрого переключения реле использовать и не надо, для этого сущест- вуют другие электронные компоненты. Реле используют там, где нужно на- дежно коммутировать нагрузку с минимальными потерями в контакте. Огромным преимуществом реле является не только полная гальваническая
Ошеломляющее разнообразие электронного мира. Реле, стабилитроны... 107 развязка между входом и выходом, но и низкое сопротивление контактов, почему их использовали до самого последнего времени, например, для ком- мутации в измерительных схемах, где очень важно, чтобы сопротивление измерительных цепей было минимальным и стабильным. Учтите, что указы- ваемые в справочниках параметры контактов (типа "переходное сопротивле- ние не более 1 Ом") обычно сильно завышены, они рассчитаны на наихуд- ший случай. На рис. 7.1, а изображена схема простейшего электромагнитного реле. Любое реле — независимо от конструкции — обязательно содержит три главных компонента: обмотку, якорь и контакты. Исключение составляют т. н. герко- новые1 реле, у которых якорем служат сами контакты. Обмотка представляет собой катушку индуктивности (соленоид), около которой (или в которой) при подаче тока перемещается якорь, выполненный из ферромагнитного мате- риала. Теорию этого дела слишком долго излагать, да к тому же она не нуж- на для практических целей — важно понимать, что при подаче тока (пере- менного или постоянного) якорь перемещается и приводит к перемещению подпружиненных контактов, которые замыкаются (если были "нормально разомкнутыми") или размыкаются (если были "нормально замкнутыми"). Есть и тип "перекидных" контактов, в которых присутствует центральный общий подпружиненный контакт, в нормальном положении замкнутый с од- ним из соседних, а при подаче тока перекидывающийся к другому. Если ток через обмотку снимается, то все возвращается в исходное состояние. Боль- шинство типов реле содержит не одну, а несколько групп таких контактов, управляемых одним якорем. Разумеется, вокруг этого базового алгоритма работы за много лет были на- кручены различные "прибамбасы": так, существуют реле, которые при каж- дой подаче импульса тока перебрасываются в противоположное положение (пускатели); реле, контакт в которых может иметь три положения, т. е. трех- позиционные (замкнуто-нейтраль-замкнуто) и т. п., но мы их не будем рас- сматривать, потому что большинство функций таких специализированных реле давно выполняют логические микросхемы, и куда успешней. Мало того, вместо электромагнитных реле во многих случаях (но не во всех!) лучше ис- пользовать электронные — принцип тот же, но нет никаких соленоидов и движущихся частей. Их мы рассмотрим далее, а пока изучим важнейшие 1 Геркон расшифровывается как "герметизированный контакт". Герконы выпускаются и от- дельно, и представляют собой стеклянную трубочку с двумя или тремя выводами от запаянно- го в нее контакта (простого или перекидного), защищенного таким образом от влияния внеш- ней среды. Контакт под воздействием внешнего магнитного поля, например, при поднесении постоянного магнита, может замыкаться и размыкаться. Герконовые реле обычно представля- ют собой такой геркон, на который намотана обмотка с теми или иными параметрами.
108 Гпава 7 характеристики обычных реле — они мало меняются по сути даже с перехо- дом к твердотельной электронике. Главным и основным свойством, побуждающим инженера-электротехника и электроника использовать обычные реле в век господства транзисторов и микросхем, является полная (более полной и представить себе трудно) гальваническая развязка не только обмотки от коммутируемого напряжения, но, если пар контактов больше одной, то и различных коммутируемых на- пряжений друг от друга. Коммутация происходит чисто механическим спо- собом, поэтому коэффициент усиления по мощности у реле ого-го-го какой! Например, обмотка реле РЭС9 потребляет 30 мА при 27 вольтах, что состав- ляет меньше ватта, но может двумя парами контактов коммутировать нагруз- ки до 1 А при 220 В переменного тока на каждый контакт в отдельности — т. е. в сумме почти полкиловатта! Рис. 7.2. Некоторые разновидности электронных реле Мы будем заниматься реле постоянного тока (это те, обмотки которых рабо- тают от постоянного тока, хотя коммутировать они могут в принципе все что
Ошеломляющее разнообразие электронного мира. Реле, стабилитроны...109 угодно). В первую очередь нас интересует, сколько энергии надо затратить на переключение. В справочниках приводится либо величина тока через обмот- ку, либо величина рабочего напряжения, что равнозначно, потому что величина сопротивления обмотки тоже всегда приводится. Обычно одинаковые типы реле имеют разновидности с разными сопротивлениями обмоток (это определяется т. н. "паспортом"). Тут и выявляется главный недостаток электромагнитных реле в сравнении с полупроводниковыми устройствами— энергетический порог, с которого начинается управление обмотками, весьма велик. Все же токи в 30—50 мА при напряжениях 15—27 В, т. е. мощности порядка ватта (это для малогабаритных реле — для реле покрупнее нужна еще большая мощность) — запредельны для современной электроники, и это слишком большая роскошь, если требуется всего-навсего включить нагрузку в виде лампочки. Кстати, а как определить напряжение срабатывания незнакомого реле, если справочника нет под рукой? Это несложно, если иметь регулируемый источ- ник питания. Найдите с помощью тестера выводы обмотки (она имеет обыч- но сопротивление от десятков ом до килоом — а если реле имеет прозрачный корпус, то найти ее можно визуально) и подключите обмотку к источнику. Прозвонкой найдите нормально замкнутые контакты и подключите к ним тестер. Выведите источник на минимальное напряжение, включите его, а за- тем постепенно добавляйте напряжение. Вместо подключения тестера можно поднести реле к уху, но если оно (реле) малогабаритное и тем более герконо- вое, то щелчок при срабатывании можно и не услышать. Отметьте значение напряжения, когда реле сработает, а затем умножьте его на полтора — это и будет приблизительное значение номинального напряжения срабатывания. Другим недостатком обмоток реле как нагрузки для полупроводниковых приборов является то, что они представляют собой индуктивность. Для по- стоянного тока это просто сопротивление, но в момент переключения она, как описано в главе 5, может доставить немало неприятностей. В момент раз- рыва или замыкания управляющей цепи на обмотке реле возникает импульс напряжения (по полярности он препятствует направлению изменения тока в обмотке). Если индуктивность обмотки велика, а ее собственное (активное) сопротивление мало, то импульс этот может вывести из строя коммутирую- щий прибор (например, транзистор) и в любом случае создает сильные поме- хи остальным элементам схемы по шине питания. Поэтому при стандартном включении реле всегда рекомендуется подключать параллельно его обмотке диод (даже если коммутация происходит не от полупроводниковых источни- ков, а от таких же реле) в таком направлении, чтобы в статическом режиме, когда все успокоилось, и никто ничего не коммутирует, диод этот тока не пропускал (рис. 7.1, б). Тогда выброс напряжения ограничивается на уровне напряжения на открытом диоде, т. е. 0,6 В.
110 Гпава 7 Следует учитывать еще вот какую особенность электромагнитных реле. Ток (напряжение) срабатывания у них намного превышает ток (напряжение) от- пускания — так, если в характеристиках указано, что номинальное напряже- ние реле составляет 27 В, то это то напряжение, при котором замыкание нор- мально разомкнутых до этого контактов гарантируется. Но совершенно не обязательно (а иногда и не нужно) выдерживать это напряжение длительное время — так, 27-вольтовые реле спокойно могут удерживать контакты в замкнутом состоянии вплоть до того момента, пока напряжение на их об- мотке не снизится до 5—8 В. Это, кстати, очень удобное свойство электро- магнитных реле, называемое гистерезисом, которое позволяет избежать дре- безга при срабатывании-отключении и даже сэкономить на энергии при работе с ними. Так, на рис. 7.3, а приведена схема управления реле, которое в начальный момент подает на него нужное номинальное напряжение для срабатывания, а затем неограниченное время удерживает реле в сработавшем состоянии при пониженной величине тока через обмотку. + Нпит + 18 В +27 В I Перекидные , I . I контакты кн- Пуск J реле Контакты 1 реле Нормальнозамкнутый контакт Обычный контакт для коммутации нагрузки JL Здесь схема управления кн. "Стоп Контакты 2 реле для коммутации нагрузки обмоткой Рис. 7.3. Некоторые схемы включения реле: а — со снижением напряжения удержания; б — схема самоблокировки с кнопками "Пуск" и "Стоп”; в — схема классического электромеханического звонка На рис. 7.3 приведены еще две классические схемы. Первая (рис. 7.3, б) на- зывается "схемой самоблокировки" и очень часто применяется в управлении различными мощными устройствами, например, электродвигателями стан- ков. Мощные реле-пускатели для таких двигателей имеют даже специальную отдельную пару маломощных контактов, предназначенную для осуществле- ния самоблокировки. В этих случаях ток через стандартные кнопки "Пуск" и "Стоп" не превышает тока через обмотку пускателя (который составляет
Ошеломляющее разнообразие электронного мира. Реле, стабилитроны...111 несколько десятков или сотен миллиампер), в то время как мощность разры- ваемой цепи может составлять многие киловатты, притом цепи трехфазной со всякими дополнительными неприятностями типа огромных индуктивно- стей обмоток мощных двигателей. Другая схема (рис. 7.3, в) скорее забавна и есть дань прошлому, когда ника- кой электроники не существовало. Это схема простейшего электрического звонка, который может быть реализован на любом реле. Оно и само по себе при подключении по этой схеме задребезжит (правда, звук может быть са- мым разным, в зависимости от быстродействия и размеров реле, поэтому лучше употребить слово "зазуммерит"), но в обычном звонке якорь еще свя- зывают со специальной тягой, которая в процессе работы стучит по металли- ческой чашке, формируя звуковой сигнал. Есть и более простая конструкция электромеханического звонка, когда на обмотку реле подают переменное на- пряжение, от чего якорь вибрирует с его частотой (так устроены, например, звонки старинных телефонов с крутящимся диском), но нас интересует именно классическая схема, потому что в ней в чистом виде реализован дру- гой основополагающий принцип электроники, так или иначе присутствую- щий в любых генераторах колебаний — принцип положительной обратной связи. Якорь в первый момент притягивается — питание размыкается — якорь отпускает — питание замыкается — якорь притягивается и т. д. Часто- та генерируемых колебаний зависит исключительно от механической инер- ции деталей реле. Стабилитроны Стабилитрон представляет собой обычный диод с вольтамперной характери- стикой, показанной на рис. 6.1, за одним исключением— при превышении некоторого обратного напряжения (индивидуального для каждого типа ста- билитрона) он обратимо пробивается и начинает работать как очень малое сопротивление. Это можно представить себе, как если бы обычное прямое падение напряжения, составляющее 0,6 В, увеличилось бы вдруг до большой величины. Стоит только снизить напряжение ниже оговоренного — стабили- трон опять запирается и больше не участвует в работе схемы. Напряжения стабилизации могут быть самыми разными: от 2 до 300 В. Учтите, что тепло- вая мощность, равная произведению тока через стабилитрон на его напряже- ние стабилизации, выделяется на нем самом, поэтому чем выше напряжение стабилизации, тем ниже допустимый ток. В характеристиках также указыва- ется обычно минимально допустимое значение тока, при котором стабили- трон еще "держит" нужное напряжение.
112 Гпава 7 -5 -10 -15 Рис. 7.4. Вольтамперная характеристика двустороннего стабилитрона Удобно использовать двусторонние стабилитроны (которые представляют собой два обычных, соединенных анодами) для того, чтобы и в положитель- ном, и в отрицательном направлении включения характеристики были бы симметричны. Вольтамперная характеристика такого двустороннего стаби- литрона типа КС170 показана на рис. 7.4. Отметьте, что характеристика в об- ласти пробоя все же имеет некоторый наклон — т. е. при возрастании тока через прибор напряжение на нем не остается строго постоянным, а растет (это называется дифференциальным сопротивлением). К тому же напряжение стабилизации меняется с температурой. Ко входу Экранированный кабель к микрофону усилителя Рис. 7.5. Схема для защиты входа микрофонного усилителя Кстати, простейший стабилитрон — обычный диод, включенный в прямом направлении, и их часто употребляют в таком качестве. Напряжение стаби- лизации составит при этом, естественно, 0,6 В (для его увеличения можно включить последовательно два и более диодов — именно так мы поступим
Ошеломляющее разнообразие электронного мира. Реле, стабилитроны...113 в схеме усилителя в главе 9). Как видно из вольтамперной характеристики диода (рис. 6.1), стабильность пресловутого напряжения 0,6 В оставляет же- лать лучшего (и от тока зависит, и от температуры), но во многих случаях особой стабильности не требуется. На рис. 7.5 приведена схема ограничителя напряжения на двух диодах (если требуется более высокое напряжение огра- ничения, их можно заменить на стабилитроны или на один двусторонний стабилитрон). Эту схему удобно употреблять, например, для защиты высоко- омного входа микрофонного усилителя — нормальное напряжение с микро- фона составляет несколько милливольт, и диоды никак не влияют на работу схемы, поскольку таким маленьким напряжением не открываются. Но если микрофон присоединен через длинный кабель, то на входе могут создаваться помехи (от промышленного оборудования, от поднесенного к неподключен- ному входу пальца или, скажем, от грозовых разрядов), которые сильно пре- вышают указанные милливольты и могут вывести из строя каскады усилите- ля. В приведенной схеме такие помехи любой полярности замыкаются через диоды, и входное напряжение не может превысить 0,6—0,7 В ни при каких условиях. У внимательного читателя может возникнуть вопрос — ведь со- гласно вольтамперной характеристике и стабилитрона, и диода ток при пре- вышении соответствующего напряжения растет очень быстро, так не сгорят ли эти входные диоды при наличии высоковольтной помехи? Отвечаем — энергия помехи обычно очень мала, поэтому ток хоть и может быть доста- точно велик, но лишь на протяжении очень короткого промежутка времени, а такое воздействие и диоды, и стабилитроны выдерживают без последствий. Стабилитроны в чистом виде хороши в качестве ограничителей напряжения, а для формирования действительно стабильного напряжения (например, опорного для АЦП и ЦАП), следует принимать специальные меры для стаби- лизации тока через стабилитрон и одновременно выбирать его с точки зрения стабильности температурных характеристик. Хотя и существуют специаль- ные прецизионные стабилитроны (пример применения их вы увидите в главе 10), но все же, если вам нужно действительно стабильное напряжение, то лучше применять прецизионные интегральные стабилизаторы, которые при наличии трех выводов (вход-выход-общий) дают на выходе стабильное напряжение. Например, интегральный стабилизатор типа МАХ873, который в диапазоне 4—30 В на входе дает на выходе ровно 2,5 В, обладает еще и весьма высокой стабильностью — если даже положить на него паяльник (тем самым нагрев его градусов до 100), то напряжение на выходе этого стабилизатора и не ше- лохнется. В современной интегральной технике обычно источники опорного напряжения встраивают прямо в нужные микросхемы, но часто предусмат- ривают вход и внешнего такого источника, потому что вы всегда можете за- хотеть изобрести что-нибудь получше.
114 Гпава 7 Светодиоды Очень многие физические процессы обратимы. Типичный пример — если пластинка кварца изгибается под действием электрического поля, то прину- дительное изгибание пластинки должно привести к возникновению зарядов на ее концах, что»и происходит в действительности. Этот эффект лежит в ос- нове устройства кварцевых резонаторов для реализации высокоточных гене- раторов частоты {см. главу 23). Не давало покоя физикам и одно из первых обнаруженных свойств полупроводникового р-п-перехода — зависимость его проводимости от освещения. Во-первых, этот эффект немедленно стал широ- ко использоваться в различных датчиках освещенности (фотосопротивлени- ях, фотодиодах, фототранзисторах), которые пришли на замену хоть и весьма чувствительным, но крайне неудобным для широкого применения вакуум- ным фотоэлементам. Кстати, любой полупроводниковый диод в стеклянном корпусе является неплохим датчиком освещенности, его обратный ток силь- но зависит от наличия света. Особенно этим отличаются старые германиевые диоды (типа Д2, Д9). Можете попробовать поэкспериментировать, только не забывайте, что, во-первых, сам этот ток очень мал (обратное сопротивление диода весьма велико), что потребует хороших высокоомных усилителей, во- вторых, от температуры этот обратный ток зависит еще больше, чем от света. Набиравшая обороты космическая отрасль быстро сосредоточила усилия во- круг реализации другого эффекта— возможности генерации тока в полупро- водниковом переходе под действием света, и картинка искусственного спутни- ка Земли с широко раскинутыми темно-синими панелями солнечных батарей теперь стала уже традиционной. Встал вопрос, можно ли генерировать свет, если подавать на р-п-переход напряжение? Оказалось, что можно, но это было реализовано далеко не сразу. Первым поддался инфракрасный (невидимый глазу) и красно-зеленый уча- сток спектра. К началу 80-х годов полупроводниковые светодиоды (LED — Light Emission Diode), излучающие в ИК-диапазоне, уже стали широко исполь- зоваться в дистанционных пультах управления, а красненькие и зелененькие сигнальные светодиоды, хоть и были тогда еще куда тусклее традиционных лампочек накаливания, зато намного более долговечны и потребляли принци- пиально меньше энергии. В настоящее время в целом все проблемы решены и освоен фактически весь видимый спектр, включая синий и даже ультрафиолетовый диапазон. Харак- терной особенностью любых светодиодов является то, что они излучают свет одной (точнее, близкой к этой одной) длины волны, из-за чего насыщенность излучаемого света превосходит все чаяния художников. Базовых длин волн, охватывающих все цвета видимого спектра, существует порядка двух десятков
Ошеломляющее разнообразие электронного мира. Реле, стабилитроны... 115 (частично они перечислены в таблице, соответствующей продукции фирмы Kingbright). Длина волны, нм Обычное обозначение Цвет свечения 700 Н Красный 660 SR Красный 640 SU Красный 625 ЦЕ) Чистый красный 610 N (SE) Чистый оранжевый 590 Y (SY) Желтый 565 G (SG, MG) Зеленый 555 PG Чистый зеленый 465 MB Голубой 445 NB Голубой 430 PB Чистый синий Сами по себе светодиоды делятся на обычные и повышенной яркости. Не следует сломя голову кидаться на повышенную яркость — в большинстве случаев она не нужна и только будет слепить глаза, если светодиод использу- ется в качестве, скажем, индикатора наличия напряжения, причем регулиро- вать такую яркость к тому же непросто. Очень тщательно следует подходить к выбору корпуса — матовый (диффузный) рассеиватель обеспечивает меньшую яркость, зато светящуюся полусферу видно под углом почти 180° во все стороны. Самый распространенный тип корпусов светодиодов круглый и имеет ровно 5 мм в диаметре, хотя есть варианты корпусов от 2 до 12 мм в диаметре, есть также плоские, квадратные, треугольные и т. п. При монтаже на панели све- тодиод следует располагать так, как показано на рис. 7.6. Если он будет вы- ступать больше, чем на окружность линзы, его, во-первых, легко свернуть неосторожным движением, во-вторых, это не слишком эстетично. Если же его больше утопить, то резко уменьшится угол обзора и сбоку будет не вид- но, включен светодиод, или нет. Конус вокруг светодиода всегда следует за- крашивать черным, а не делать его блестящим, как для обычной лампочки накаливания — в стороны светодиод практически не светит, и блестящему конусу все равно отражать будет нечего, а на черном фоне светящееся пятно выделяется намного лучше.
116 Гпава 7 * Рис. 7.6. Вариант расположения светодиода на лицевой панели Со схемотехнической точки зрения все светодиоды независимо от цвета све- чения представляют собой обычные диоды за одним исключением — прямое падение напряжения на них превышает обычные для кремниевых р-п- переходов 0,6 В и составляет: для красных и инфракрасных 1,5—1,8 В, для желтых, зеленых и синих 2—3 В. В остальном их включение не отличается от включения обычных диодов в прямом направлении. То есть светодиод есть прибор, управляемый током (а не напряжением, как лампа накаливания), поэтому на рис. 7.6 показан токограничивающий резистор R, величина и мощность которого зависит от питающего напряжения. Не нужно забывать, что светодиод — прибор постоянного тока и на выпрямление переменного тока не рассчитан (допустимое обратное напряжение у него обычно состав- ляет 5—10 В), но постоянное напряжение может составлять любую величи- ну, даже 220 В, хотя это и неэффективно — большая часть энергии будет рассеиваться на резисторе. Значение тока, при котором практически любой светодиод нормально светится, составляет 3—8 мА (хотя предельно допус- тимое может быть и 40 мА), на эту величину и следует рассчитывать схему управления светодиодами. При этом нужно учитывать, что яркость, воспри- нимаемая глазом, не зависит линейно от тока — вы можете и не заметить разницу в свечении при токе 5 или 10 мА, а разница между 30 и 40 мА еще менее заметна. Иногда токоограничивающий резистор встраивают прямо в светодиод (в этом случае яркость свечения уже управляется напряжением, как у обычной лам- почки, а не током) — это обычная практика для "мигающих" светодиодов со встроенным генератором частоты. Обычное предельное напряжение для та- ких светодиодов составляет 12—15 В.
Ошеломляющее разнообразие электронного мира. Реле, стабилитроны...117 Так как собственное падение напряжения на светодиодах невелико, то их можно включать последовательно, чем пользуются производители цифровых сегментных индикаторов. Но тут дело осложняется тем, что отдельный све- тодиод представляет собой фактически точечный источник света, и нарисо- вать с его помощью длинную светящуюся полоску непросто даже при нали- чии рассеивающей свет пластмассы (причем, как ни парадоксально, чем мельче, тем хуже выглядят плоские светодиоды). Мелкие цифровые индика- торы (с длиной одного сегмента до 5—6 мм) содержат по одному светодиоду в сегменте, а более крупные — по два и более. Это нужно учитывать при проектировании, т. к. семисегментный цифровой индикатор с высотой цифры 12,7 мм и более имеет падение напряжения на каждом сегменте, превышаю- щее 4 В, и управлять им от пятивольтового контроллера затруднительно — номинальный запас в несколько десятых вольта легко "сожрется" собствен- ным сопротивлением выхода контроллера и "проседанием" источника пита- ния, отчего ваш индикатор вообще может и не загореться. Для таких случаев приходится идти на заведомые потери и питать индикаторы от повышенного напряжения через транзисторные ключи или специальные схемы управления индикаторами. Красота требует жертв! Набор семисегментных цифровых светодиодных индикаторов в четыре цифры в каком-нибудь мультиметре может потреблять до 100—200 мА тока— но насколько он выглядит краси- вее по сравнению с ничего почти не потребляющими, но совершенно слепы- ми черно-белыми жидкокристаллическими панелями! Одно удивительно: почему до сих пор (по крайней мере, на момент написания этой книги) не существует голубых цифровых индикаторов, хотя соответствующие свето- диоды давно освоены в производстве? Кроме упомянутых мигающих, из экзотических типов светодиодов примене- ние находят двухцветные. Они бывают двух- и трехвыводные. С последними все понятно — это просто два разноцветных светодиода (зеленый и красный) в одном корпусе, управляющиеся раздельно. Подал ток на один — зажегся красный, на другой — зеленый, на оба — желтый (третий вывод общий), а манипулируя величиной токов, можно получить все промежуточные пере- ходы. Но еще интереснее двухвыводной тип, который представляет собой два разноцветных светодиода, включенные встречно-параллельно. Поэтому в них цвет свечения зависит от полярности тока: в одну сторону — красный, в другую — зеленый. Самое интересное получается, если подать на такой светодиод переменное напряжение — тогда он светится желтым! Подключив такой светодиод к двум управляемым выходам контроллера (всего через один резистор), можно получить четыре состояния: когда на одном выходе есть напряжение, а на другом нет — свечение красное, в противоположном состоянии — зеленое, при одинаковых состояниях выхода — вообще нет свечения (такая логическая функция похожа на элемент Исключающее ИЛИ,
118 Гпава 7 описываемый в главе 20), а если быстро-быстро переключать состояния вы- ходов в противофазе, то светодиод будет светиться желтым. Можно, кстати, встретить в продаже и светодиоды белого свечения. Они уст- роены по принципу люминесцентных ламп, в которых подобрана смесь люминофоров так, чтобы в сумме давать нечто близкое к дневному свету. У менТ на столе лежит произведение российских умельцев из фирмы "Фото- ника" — обычный, даже не слишком красивый карманный аккумуляторный фонарик, в котором вместо лампочки стоят рядом три таких белых светодио- да. Светит он послабее, чем обычный "китайский" с лампочкой накаливания (при новых батарейках), зато за полтора года использования я заряжал его всего два раза — это при том, что в нем используются древние и очень пло- хие отечественные никель-кадмиевые аккумуляторы-таблетки Д-0,5! Непре- рывное свечение (почти без снижения яркости до полного истощения), как уверяют изготовители, на одной зарядке составляет 52 часа. Скорее аккуму- лятор скончается своей смертью, чем что-то в нем сломается! Рис. 7.7. Диодная оптопара Оптоэлектроника Результаты исследований в области влияния света на полупроводники поро- дили еще одно направление — оптоэлектронные приборы (оптроны), многие из которых представляют, в сущности, не что иное, как уже знакомые нам реле — только без всяких соленоидов и якорей. Идея там такая: через светодиод (обычно инфракрасный), расположенный рядом с воспринимающим свет р-п- переходом, пропускается зажигающий его ток, в результате чего в восприни- мающем р-п-переходе ток резко возрастает. Между входным светодиодом
Ошеломляющее разнообразие электронного мира. Реле, стабилитроны...119 и выходом при этом имеется хорошая изолирующая прокладка, которая по- зволяет гальванически развязать выводы входа и выхода — как в электроме- ханическом реле. Самый простой вариант такого прибора — диодная опто- пара (рис. 7.7), которая обычно служит для электрически изолированной передачи линейных сигналов (например, звуковых колебаний или уровней постоянного тока в регулирующих устройствах), потому что в ней обрат- ный ток (4ых) приемного диода с большой точностью линейно зависит от управляющего тока через светодиод (/вх). Но есть и варианты обычного реле: так, оптоэлектронное реле типа D24125 фирмы Crydom позволяет коммути- ровать сетевой переменный ток до 280 В при 125 А путем подачи напряже- ния 3—5 В при токе 3 мА через управляющий светодиод (т. е. прямо от логи- ческой микросхемы). 10 мВт напрямую управляют мощностью примерно в 35 кВт (при полной гальванической развязке) — ей-богу, совершенно бес- прецедентный случай, обычным электромагнитным реле недоступный!
Глава 8 Подбираем детали. Откуда взять информацию, как грамотно найти замену и где приобрести Г-н де Тревиль только что известил их, что ввиду твердого намерения его величества начать военные действия первого мая им надлежит немедля приобрести все принад- лежности экипировки. А. Дюма, "Три мушкетера" Прежде чем перейти к собственно конструированию электронных схем, хо- рошо бы знать, откуда взять компоненты. Опыт показывает, что рядовых на- чинающих радиолюбителей обычно ставит в тупик отсутствие указанного на схеме конденсатора в 100,0x6,3 В, транзистора КТ680А или диода 1N4001, и они начинают "рыть землю" в поисках знакомых и магазинов, где можно именно такой приобрести. В большинстве случаев компоненты спокойно за- меняются аналогичными, и проще потратить небольшие деньги, чтобы зара- нее обзавестись соответствующими справочниками, чем бегать по рынкам и магазинам или неделями ждать, пока вам за бешеные бабки пришлют по почте заказанную где-нибудь в Техасе микросхему. Это касается большинства ком- понентов — конечно, есть уникальные случаи, когда нужна именно вот эта микросхема, и ничего тут не поделаешь (в большинстве случаев "именно вот эту" микросхему все-таки заменить можно, но это связано со столь глобаль- ной перестройкой всего схемотехнического решения, что проще повозиться с ее доставкой). Далее приведены общие рекомендации, основанные на мно- голетнем опыте автора, начавшем работать еще в те времена, когда детали нужно было заказывать в каком-нибудь Академснабсбыте за полтора года до возникновения самой задачи конструирования прибора, а характеристики добывались из радиолюбительских справочников, которые были одним из самых популярных видов изданий наряду с фантастикой и английскими де- тективами. Поневоле приходилось выворачиваться. Думается, что во многом именно поэтому советская инженерная школа до сих пор — одна из лучших в мире. Необходимость выживания весьма способствует квалификации! 5 Зак. 710
122 Гпава 8 Прежде всего, об информации: для отечественных деталей по-прежнему надо покупать бумажные справочники. И иметь их под рукой! Отличным справоч- ником, кстати, является каталог торгующей фирмы "Чип и Дип" (а еще луч- ше — их сайт www.chip-dip.ru). А вот для импортных, ввиду разнообразия, никаких справочников и каталогов фирм не напасешься (хотя в том же ката- логе "Чипа-Дипа" кое-что можно найти, но без многих существенных под- робностей), но они и не очень требуются: Интернет гораздо удобнее. Правда, для этого надо знать азы английского, а лучше — приобрести англо-русский словарь по радиоэлектронике. Если вы в английском "ни бум-бум", то помочь тут ничем нельзя, придется пользоваться только отечественными компо- нентами, крохами с сайтов и из каталогов отечественных торгующих фирм или рекомендациями из литературы. Чтобы немного облегчить этот процесс, в приложении 8 приведен перевод некоторых часто встречающихся терминов с английского на русский и обратно. Этим словарем можно пользоваться при поиске в Интернете. Методика такая: набираете название компонента в любой поисковой системе (например, в Google), привосокупив к нему два волшебных слова "Data Sheets" (по смыслу это можно перевести, как "специ- фикации" или "техническое описание"), и, как правило, сразу попадаете на сайт производителя. На сайте любого импортного производителя электрон- ных компонентов всегда имеется исчерпывающая информация обо всех про- изводимых компонентах. Не всегда информация эта организована удобно, так что тут вполне подходит поговорка "терпение и труд все перетрут". Пом- ните, что в данном случае рекламный слоган Яндекса "найдется все" очень точно отражает сущность явления — как ни в какой другой области. Какие бумажные справочники нужно иметь под рукой? Я кратко их перечис- лю по группам компонентов без указания конкретного издания, потому что похожих изданий очень много, и все они практически равноценны. Итак, са- мые необходимые справочники: □ диоды, стабилитроны и тиристоры; □ отечественные транзисторы и их зарубежные аналоги; □ оптоэлектронные приборы; □ отечественные микросхемы и их зарубежные аналоги. В приложении 4 вы найдете справочные данные по некоторым компонентам, упоминаемым в этой книге. Замена Теперь мы знаем, где искать характеристики — и что? А далее все очень просто — если нужного компонента нет под рукой, то мы выбираем по прин-
Подбираем детали. Откуда взять информацию, как грамотно найти замену... 123 ципу "не хуже". В 99% случаев — не ошибетесь, но, конечно, бывают уни- кальные ситуации, от которых никто не гарантирован. Что означает "не хуже" для разных компонентов? Резисторы Почти всегда взаимозаменяемы, если только мощность не ниже оригинала. Исключение составляют прецизионные резисторы, но в макетных целях всегда можно применить и обычный С1-4 или МЛТ близкого номинала, имея в виду потом заменить его на прецизионный. Еще одно исключение — высокочастот- ные схемы, где лучше следовать рекомендациям разработчика схемы. Рис. 8.1. Различные типы резисторов. Вверху: сравнительные размеры резисторов разной мощности (слева направо: 0,125; 0,25; 0,5; 1; 2 Вт; остеклованный резистор 10 Вт). В середине: резисторная сборка из восьми резисторов 0,125 Вт в одном корпусе. Внизу: различные переменные и подстроечные резисторы
124 Гпава 8 Конденсаторы Электролиты всегда заменяются на электролиты другого типа с учетом того, чтобы рабочее напряжение не было ниже оригинала. В этом отношении сле- дует иметь в виду, что чем выше рабочее напряжение и емкость, тем больше для электролитов вредный аккумуляторный эффект "памяти", описанный в главе 5. А вот для неэлектролитических конденсаторов этого эффекта не существует, и чем выше рабочее напряжение, тем лучше — но тем больше и габариты. Во всех случаях электролиты лучше применять ниобиевые или танталовые (К52, К53) — у них, в частности, значительно меньше эффект памяти, а частотные характеристики приближаются к неполярным керамиче- ским, однако, и в смысле массогабаритных характеристик, и особенно по стоимости, они намного отстают от самых распространенных в настоящее время алюминиевых электролитов, известных под отечественным названием К50-35. Учтите, что алюминиевые электролиты с одинаковыми номинальной емкостью и рабочим напряжением, но производства разных фирм, могут до- вольно сильно отличаться размерами — иногда более, чем в два-три раза! Пример такого различия приведен внизу слева на рис. 8.2. Рис. 8.2. Сравнительные размеры конденсаторов. Внизу: электролитические конденсаторы К50—35 (справа — налево: 6800 мк х 35 В; 2200 мк х 35 В; 2200 мк х 16 В; далее два идентичных конденсатора 100 мк х 16 В, но производства разных фирм). Вверху: слева — электролитический конденсатор К50—35 3,3 мк х 25 В; справа — близкий к нему по допустимому напряжению неполярный конденсатор К73—17 3,3 мк с лавсановым диэлектриком
Подбираем детали. Откуда взять информацию, как грамотно найти замену...125 Для электролитов рабочее напряжение на схеме указывается обязательно, а для остальных типов — только если оно критично. Для рядовых керамиче- ских конденсаторов (типа отечественных КМ-5, КМ-6 или К10-17) обычно рабочее напряжение составляет 35—50 В, и если у вас напряжение в схеме выше, то следует этот параметр проверить по справочнику (напряжение на корпусе низковольтных неполярных конденсаторов не указывается). Для ис- пользования во времязадающих или интегрирующих цепях наилучшими яв- ляются фторопластовые (ФТ или К72) или лавсановые (полиэтилентерефта- латные — К73) конденсаторы, но габаритные размеры и стоимость их оставляют желать лучшего, поэтому в некритичных случаях следует упот- реблять керамические. Технология не стоит на месте, и на моей памяти кера- мические конденсаторы типа КМ-6 уменьшились в размерах примерно раз в пять при той же емкости и рабочем напряжении. Я здесь привожу только отечественные наименования типов просто потому, что технологии в этой области во всем мире одинаковы, и если вы придете в "Чип-Дип" и попросите конденсатор типа КМ-6—1 мкФ, то вам могут продать изделие, которое из- готавливалось на Тайване, в Белоруссии, в подмосковном Томилино или да- же в Японии — они мало чем отличаются друг от друга. Микросхемы Имейте в виду, что в области самых ходовых разновидностей микросхем фирм-монополистов очень мало, и для 99% типов микросхем всегда найдется функциональный аналог другой фирмы — надо только иметь терпение его найти. Для самых ходовых типов — логических микросхем, стабилизаторов питания, операционных усилителей — часто совпадают даже названия и цо- колевка (т. е. разводка выводов). Для всех отечественных микросхем, за ред- чайшими исключениями, найдется полный зарубежный аналог. Единствен- ное, что надо иметь в виду при замене отечественных микросхем на импортные — у нас был принят метрический шаг между выводами, кратный 1,25 мм (для планарных корпусов) или 2,5 мм (для корпусов типа DIP1), а на Западе аналогичные корпуса делаются по дюймовой разметке, т. е. соответ- ственно, 1,27 и 2,54 мм. Это не приносит больших неприятностей для микро- 1 Разумеется, названия корпусов DIP, SOIC, SOT и другие "импортные" названия применимы только к импортным же микросхемам, однако соответствующие отечественные корпуса мик- росхем имеют столь замысловатую систему обозначений (например, корпус DIP-14 в одном из вариантов называется 201.14, a DIP-16 — 238.16, такая же путаница и с планарными корпуса- ми SOIC и SOT), что для удобства и унификации мы будем в этой книге пользоваться исклю- чительно западными названиями корпусов; еще одна причина в том, что найти чертежи любо- го импортного корпуса намного легче, чем отечественного. При этом нужно учитывать замечание относительно шага между выводами.
126 Гпава 8 схем с количеством выводов до 16-ти, т. к. разница мала, но для корпусов с 20-ю выводами и более при разводке платы нужно всегда иметь в виду, ка- кую именно микросхему вы будете использовать — отечественную или им- портную. В самом деле, в широко распространенном корпусе DIP-40 в один ряд располагаются 20 выводов, поэтому разница на всей длине ряда выводов может составить почти целый миллиметр. Отсчет выводов для всех без ис- ключения микросхем осуществляется одинаково— на корпусе обязательно есть т. н. "ключ", от которого ведется отсчет. Если положить микросхему вверх маркировкой, то против ключа (или первым против часовой стрелки от него) будет ножка номер 1, а дальше отсчет ведется против часовой стрелки в обход корпуса, таким образом, у микросхемы с 16-ю выводами напротив ножки номер 1 на другой стороне корпуса будет ножка номер 16. Ключ мо- жет представлять собой вырез в корпусе, точку или скос на корпусе, вырез или утолщение на самом выводе и т. п. Не единственное, но самое важное исключение из замечания об отсутствии монополизма производителей составляют микроконтроллеры и микропроцес- соры почти всех типов. Про микропроцессоры для ПК усилиями компьютер- ной прессы и так все всё знают, а среди микроконтроллеров есть, пожалуй, только один-единственный тип из широко применяющихся, который выпуска- ется многими фирмами почти в неизмененном виде, хоть и в разных вариаци- ях — это семейство х51. Первоначально его выпустила фирма Интел еще лет двадцать пять назад под названием 8051, и он стал настолько популярен, что теперь его аналоги продолжают выпускаться почти всеми крупными произво- дителями полупроводниковой продукции (даже и отечественными), хотя сама Интел уже отказалась от производства и развития этой серии. Практически все остальные микроконтроллеры (а их более 100 семейств) уникальны для каждо- го производителя и обычно заменены быть не могут. Но в таких случаях, как правило, не возникает и проблем с их приобретением. Транзисторы В подавляющем большинстве случаев номенклатура отечественных транзи- сторов способна удовлетворить самого взыскательного разработчика. Я это пишу не для того, чтобы "поддержать отечественного производителя", а по- тому, что так и есть — на практике достаточно располагать пятком-десятком типов транзисторов, чтобы этого хватило почти на все случаи жизни. Среди маломощных транзисторов это упоминавшийся в главе 6 КТ3102 (КТ3107 — далее в скобках указывается комплементарный2 р-п-р вариант). Лично мне 2 Комплементарный — букв, дополнительный, означает транзистор с такими же характеристи- ками, но противоположной полярности.
Подбираем детали. Откуда взять информацию, как грамотно найти замену...127 очень нравятся архаичные маломощные транзисторы КТ315 (КТ361)— они имеют малые размеры и легко вписываются в современные платы с микро- схемами, потому что у них шаг между выводами 2,5 мм, и расположены вы- воды в одной плоскости. Хороши невзыскательные и дешевые транзисторы средней мощности в корпусе ТО-1263 — КТ815 (КТ814) или КТ817 (КТ816), если требуется ток до 1—2 А. Среди мощных транзисторов можно отдать предпочтение КТ819 (КТ818) или, когда требуется "супербета" — КТ829 (п-р-п), а также очень мощной комплементарной паре КТ827 (КТ825). Выпускаются почти все упомянутые типы мощных транзисторов в основном в корпусах типа ТО-220, но самая мощная пара КТ827-КТ825, к сожалению, доступна только в металлических корпусах ТО-3. Конечна ТО-3 лучше, чем дешевый ТО-220, т. к. рассеиваемая мощность раза в 2—4 выше — типовая мощность транзистора в корпусе ТО-220 равна 20—45 Вт (иногда — до 60, как у КТ829), а в корпусе ТО-3 — 80—125 Вт. Но ТО-3 намного неудобнее в технологическом плане, потому что крепление к теплоотводящему радиа- тору гораздо сложнее и готовый радиатор подобрать под них нелегко. Да и мощности такие требуются нечасто. К сожалению, другой мощной отечест- венной комплементарной пары с "супербетой" нет4, поэтому мы в наших схемах будем пользоваться импортной парой под названием BDW93C (BDW94C), которые выпускаются в корпусах ТО-220. Если вы ее не достане- те, то ее можно заменить на аналогичную другой фирмы, но не забывайте, что дарлингтоновский транзистор всегда можно изготовить самостоятельно (см. рис. 6.5), в данном случае п-р-п-транзистор BDW93C заменяется на со- ставной из КТ815 и КТ819, a p-n-p BDW94C— на КТ814 и КТ818, правда, с некоторым снижением параметров, но для нас это будет несущественно. Учтите, что в этом случае оба транзистора, составляющие дарлингтоновскую пару, должны устанавливаться на один радиатор, но т. к. они соединены кол- лекторами, то это проблем не вызовет, и изолирующая прокладка не потре- буется. В следующих главах мы об этом еще поговорим. Все сказанное относится к низкочастотным транзисторам, которые можно употреблять для источников питания в качестве ключей управления индика- цией или для усилителей звуковой частоты. Для применения в других целях, где требуется быстрое срабатывание в ключевом режиме или высокие часто- ты усиления, такие транзисторы, естественно, не годятся, и тут точных реко- мендаций на все случаи жизни дать нельзя. Учтите только, что транзисторы J Для удобства мы употребляем западные наименования корпусов транзисторов (см. также сноску 1 в этой главе). Любопытствующие могут узнать соответствие некоторых отечествен- ных корпусов транзисторов импортным из приложения 4. Учтите, что, как и для микросхем, имеется некоторая разница в шаге выводов, хотя в данном случае она практически не заметна. 4 Если я ошибаюсь, пусть меня поправят.
128 Гпава 8 в одинаковых корпусах обычно имеют близкую мощность, и всегда можно попробовать заменить неизвестный импортный транзистор на похожий по внешнему виду из того, что есть под рукой. Рис. 8.3. Различные типы корпусов транзисторов При замене следует учитывать, что с корпусом мощного транзистора всегда электрически соединен его коллектор (если это корпус ТО-220, то коллек- тор — всегда средний контакт), а вот разводка двух оставшихся выводов мо- жет различаться, и ее нужно обязательно проверять по справочнику. Диоды С диодами еще проще, чем с транзисторами — главное, чтобы не превышал- ся допустимый прямой ток и допустимое обратное напряжение. Причем чем меньше диод по размерам, тем лучше — у него тогда меньше паразитный обратный ток. Иногда важна частота переключения — если диод использует- ся, например, в схеме высокочастотного выпрямителя. Обычные выпрями- тельные диоды имеют максимальную частоту переключения от одной до па- ры десятков килогерц, что может привести к слишком большим потерям, если вы выпрямляете напряжение в преобразователе-инверторе, работающем на частоте килогерц этак 50. Эту особенность нужно учесть при выборе и диодов, и транзисторов для вы- прямительных или переключающих схем. Как мы уже говорили в главе 6,
Подбираем детали. Откуда взять информацию, как грамотно найти замену...129 предельная рабочая частота, указанная для прибора в справочнике, должна не менее чем раз в десять-двадцать превышать частоту в вашей схеме, иначе он будет работать, как фильтр низкой частоты. Так, например, для упомянутых выше транзисторов КТ815 граничная рабочая частота составляет 3 МГц, поэтому их следует употреблять в схемах, где важны частоты не бо- лее 100—300 кГц. Иначе вместо, скажем, прямоугольного импульса на выхо- де усилительного каскада на таком транзисторе, вы получите нечто, похожее на синусоиду! Из маломощных диодов для применения во всех наших схемах можно рекомен- довать очень удачный тип КД521, который, несмотря на малые размеры, может пропускать ток до 500 мА, работает при обратных напряжениях 40—70 В (в за- висимости от буквы) и при частотах до десятков мегагерц. В качестве выпря- мительных можно рекомендовать распространенные и дешевые импортные диоды серии INxxxx, которые могут работать при токах от 1 до 6 А и при напряжениях от 50 до 1000 В. Среди отечественных очень удобен выпрями- тельный мост (см. главу 10) под названием КЦ407А на ток 500 мА и напря- жения до 400 В — он хорошо вписывается в современные платы. Надежность Большинство компонентов (особенно это касается полупроводниковых при- боров) выпускается в нескольких вариантах исполнения — коммерческом, промышленном, военном, — различающихся в основном рабочим темпера- турным диапазоном. Наиболее распространены и дешевле всего стоят прибо- ры коммерческого исполнения. В СССР это называлось бытовым диапазо- ном, и сопровождалось буковкой К, прибавляемой к названию микросхемы. Не имеет смысла приводить отечественные особенности наименования раз- ных компонентов, заметим только одно — если название отечественного прибора начинается с цифры, то это промышленный (военный) диапазон, ес- ли с буквы — бытовой (например, для транзисторов название КТ означает просто "кремниевый транзистор", а 2Т — то же самое, но в промышленно- военном диапазоне условий окружающей среды). Впрочем, в отличие от за- падных, советские компоненты в военном и бытовом вариантах, кроме тем- пературного диапазона, могут иметь и другие несколько отличающиеся ха- рактеристики, отчего в справочниках они приводятся обычно отдельно. Коммерческие компоненты гарантированно работают при температурах от 0 до 70 °C. Промышленный диапазон обычно составляет -40 + +85 °C (а ино- гда и значительно шире, транзисторы или микросхемы стабилизаторов пита- ния, скажем, спокойно работают до +125 °C и выше). Но не следует думать, что микросхема коммерческого диапазона сразу выйдет из строя, если вы ее
130 Гпава 8 охладите до -30 °C или нагреете до +100 °C. Вовсе нет — делаются они обыч- но на одной линии (кроме каких-нибудь экстремально-космических примене- ний, да и то не всегда), просто производитель не гарантирует, что в расширен- ном температурном диапазоне данная микросхема сохранит все оговоренные в описании характеристики. В большинстве случаев, если схема построена правильно, на это наплевать — но в критичных случаях (например, если вы хотите, чтобы ваше устройство работало годами на улице) все же следует употреблять микросхемы соответствующего диапазона температур. Достать, кстати, их непросто — обычно приходится заказывать. К чему мы и перейдем. Где покупать Как говорят в южных районах нашей страны: "та хде уходно". Радиокомпо- ненты отличаются от, к примеру, грузинских вин, тем, что подделывать их сложно и невыгодно — за исключением, разве что, дорогих брэндовых моде- лей микропроцессоров для ПК. Да и то последние не подделывают в обыч- ном смысле этого слова (для этого надо, как минимум, иметь фабрику стои- мостью миллиарда в три "вечнозеленых"), а перемаркируют — например, пишут рабочую частоту выше действительной. Иногда в розницу попадает производственный брак, неизвестными путями утекающий в руки "ханыг" с заводов, расположенных не только на просторах того, что теперь называет- ся СНГ, но и в более законопослушных местностях. Но, в общем, купить подделку сложно. Хотя мне однажды пришлось выбросить десяток транзи- сторов, потому что у них ножки были незалужены, но даже если и удавалось припаять такой транзистор, то он все равно не работал. Судиться с известной конторой, где было это приобретено, я не стал — сумма покупки составляла рублей двадцать, и времени было жалко. Хотя стоило бы. Поэтому ответ на вопрос "где приобретать?" зависит от ваших финансовых возможностей и времени. В неоднократно упомянутом "Чипе-Дипе" сервис поставлен очень хорошо — и сайт хорош (где указывается даже наличие ин- тересующего вас прибора на данный момент в одном из четырех московских радиосупермаркетов этой фирмы), и интернет-магазин имеется, и продавцы- консультанты на уровне. Можно также заказать то, чего в наличии на данный момент нет, причем там "морду не воротят", даже если вы закажете два пре- цизионных резистора на сумму 50 копеек, а послушно выполнят заказ. Един- ственным недостатком этой фирмы являются высокие в среднем цены — иногда раза в два, а то и в три превышающие цены производителя или рынка (но, кстати, в некоторых других случаях почему-то ниже, чем даже на рын- ках). Но за удобства приходится платить!
Подбираем детали. Откуда взять информацию, как грамотно найти замену...131 В Москве другим вариантом являются радиорынки, из которых наибольшую известность получил рынок в Митино. Сегодняшнее Митино во многом ис- портилось, потому что его заполонили продавцы краденых сотовых телефо- нов, а также телевизоров с микроволновыми печами и утюгами, но все же, если иметь терпение, там, как в Яндексе, можно найти все. Этот вариант под- ходит, если вы хотите найти что-то экзотическое, и, кроме того, только на рынках можно в розницу купить разноцветные монтажные провода или раз- нообразные макетные платы. Фирменные магазины их не держат из-за низко- го спроса, а покупать оптом — ну кому из радиолюбителей может понадо- биться сразу километр провода МГШВ? Наконец, третьим вариантом служат многочисленные мелкие фирмы, в ос- новном представленные в Интернете (и, кстати, как правило, имеющие прилавок-другой в Митино). Там вам предложат все что угодно и по низкой цене, многие из них являются официальными дистрибуторами зарубежных производственных фирм — единственным недостатком этих фирмочек явля- ется то, что складские запасы у них минимальны, и если вам нужно что-то немедленно, то, как правило, приходится либо ждать месяц-другой, либо вы- бирать из имеющегося. Естественно, что в радиолюбительстве цена компонента (когда он стоит пять или даже пятьдесят рублей) не имеет столь высокого значения, как в массовом производстве. Поэтому часто время выполнения заказа здесь играет опреде- ляющую роль. В этом смысле очень хорошо бы воспользоваться каталожными западными фирмами (типа RS-components или Famell), но, к сожалению, дос- тавка заказа в Россию все равно составляет недели две минимум (это притом, что в Европе или Америке эти фирмы доставляют заказ максимум за сутки — прямо к порогу), а цена возрастает раза в три-четыре (а бывает и в десять — помню панельки для микросхем, которые продавали по каталогу Farnell за пять — восемь долларов штука, в то время как в "Чипе-Дипе" они стоили 12 рублей при курсе 25 руб./доллар). Наши отечественные интернет-магазины работают не хуже и имеют более низкие цены, только разве что в сроках не так надежны. Еще совет — делайте запасы. Если вам требуется один транзистор — поку- пайте два, если десять — покупайте двенадцать. Если вы увидели в продаже симпатичный радиатор для транзисторов — купите сразу два или четыре. Ко- гда вам он вдруг понадобится — обегаете всю Москву и обыщете весь Ин- тернет — не найдете. Это закон природы из серии законов Мэрфи: то, чего требуется срочно, никогда нет в продаже. Самый простой способ пополнения запасов — не выбрасывать макеты, а аккуратно выпаивать из них детали и раскладывать в соответствующие ящички. Для сохранности микросхем и прочих деталей с большим количеством выводов, а также для удобства замены
132 Гпава 8 деталей при отладке схемы, при изготовлении макета их следует не впаивать в плату, а устанавливать в специальные панельки (см. главу 12), которые продаются для всех видов корпусов. Ничего страшного, если макет ваш по- том пойдет в дело — пусть так на панельках и останутся. Вы будете чувствовать себя много комфортнее, если знаете, что для осущест- вления пришедшей в голову воскресным утром идеи вам не надо ждать до открытия магазинов в понедельник, а макет можно сделать прямо сейчас. Ра- зумеется, не нужно перебарщивать, иначе супруга или мать постепенно по- старается вас выселить из квартиры вместе с вашим "хламом", но запас все- гда следует иметь. Особенно это касается самых ходовых деталей, таких как резисторы или конденсаторы. Для резисторов продаются специальные кас- сы — ящички с отделениями, и такую кассу (ее легко сделать самим из спи- чечных коробочек) следует иметь, чтобы всегда была возможность легко по- добрать необходимое сопротивление. А вот для прецизионных резисторов кассу создать затруднительно — вряд ли у вас хватит денег, желания и места в шкафу, чтобы заранее запастись всеми ста девяноста двумя номиналами в каждой декаде (это составляет для резисторов от 10 Ом до 1 МОм порядка тысячи номиналов, причем иметь по одному экземпляру недопустимо — нужно иметь под рукой как минимум десяток каждого, а для самых ходовых и по два-три десятка). Поэтому прецизионные резисторы вообще выбрасы- вать не следует — их нужно аккуратно выпаивать и складывать. Избавляясь от старых макетов или приборов, не забывайте про еще один святой вариант закона Мэрфи: 1. Если что-то лежит достаточно долго, то это можно выбросить. 2. Как только вы что-то выбросите, это вам немедленно понадобится. И последний настоятельный совет: не приступайте к работе, пока все детали не будут под рукой или, по крайней мере, вы совершенно точно не убедитесь (по телефону, электропочте или лично— каталогам не доверяйте), что вы- бранную деталь можно приобрести без проблем. Сначала купите, закажите детали по почте или через интернет-магазин, дождитесь подтверждения зака- за, потом приступайте к окончательному оформлению схемы. Мы живем не на Западе, где можно устроить скандал, если данная деталь анонсирована в каталоге, но ее не оказалось на складе — и там вам ее с извинениями назав- тра бесплатно доставят прямо на рабочее место (но и на Западе сплошь и ря- дом бывают накладки). Особенно это предупреждение касается раскладки печатных плат. В подавляющем большинстве случаев можно подыскать функциональный аналог другой фирмы, немного изменить схемотехническое решение или принять еще какие-то меры, но если вы уж выбрали микросхему операционного усилителя МАХ478 в корпусе SOIC, то ту же микросхему
Подбираем детали. Откуда взять информацию, как грамотно найти замену...133 в корпусе DIP вы в готовую плату не пристроите никак, и потом можете мы- каться неделями, тратя время, нервы и деньги на то, чтобы достать нужное. Я уже упоминал, что размеры электролитических конденсаторов могут силь- но разниться в зависимости от производителя, и легко попасть в нелепую си- туацию, когда на макете конденсатор был одного размера, а приобретенный для окончательного варианта схемы не влезает в отведенное место на каких- то пол миллиметра, упираясь в радиатор мощного транзистора. А, к примеру, у светодиодных цифровых индикаторов, в отличие от ходовых микросхем, даже не существует единого стандарта разводки выводов — если вы выбрали по каталогу индикатор одной фирмы, то совершенно идентичный по внеш- нему виду индикатор другой фирмы может просто не влезть в отведенные отверстия! Хорошие раскладчицы печатных плат даже требуют, чтобы об- разцы всех критичных компонентов приносили им в натуре, не дсйверяя спра- вочникам.
Глава 9 Звуковой усилитель без микросхем. Первые шаги — Они виделись, — произнес он. — Кто? — спросил кардинал. — Она и он. А. Дюма, "Три мушкетера" Казалось бы, конструировать звуковые усилители в наше время — дело мало кому нужное, чистое развлечение. Но это не совсем так: во-первых, усилите- ли в дешевых бытовых приборах качеством не отличаются, а у высококаче- ственных мощных усилителей (класса Hi-Fi — от английского high fidelity, что значит "высокая верность") цена может зашкаливать далеко за— как вы- ражаются маркетологи — психологический барьер с тремя нулями на конце. Причем цена эта на самом деле не слишком обоснована и обусловлена обыч- но исключительно рыночными соображениями. Тот самый случай, когда собственная разработка не только греет душу, но и становится экономически целесообразной. Однако эта книга не посвящена аудиотехнике, поэтому мы разберем только базовую схему усилителя мощности звуковой частоты (УМЗЧ), на основе которой делается большинство более качественных кон- струкций. Схема Рассмотрим схему на рис. 9.1. Это схема простейшего транзисторного УМЗЧ, стабилизированного обратной связью, с двуполярным питанием ± 15 В. Уси- литель охвачен отрицательной обратной связью (см. главу 14) с выхода на вход, которая по постоянному току стопроцентная: т. к. ток через конденса- тор С2 не течет, то резистор R4 спокойно можно считать "висящим в возду- хе", выход с эмиттеров выходных мощных транзисторов VT4-VT5 просто присоединен (через резистор R5) ко второму входу дифференциального входного усилителя и имеет практически одинаковый с ним потенциал. Из главы 6 мы знаем, что все эмиттерные и базовые выводы дифференциаль- ного усилителя связаны между собой, поэтому легко понять, что на базовом
136 Гпава 9 выводе VT2 будет (при отсутствии сигнала) то же напряжение, что и на базе VT1, которая привязана к "земле" резистором R1 — т. е. нулевой относи- тельно "земли" потенциал (на самом деле он будет чуть-чуть отличаться, но нам сейчас это неважно). Так как выход усилителя (эмиттеры выходных мощных транзисторов) также привязан к этому же потенциалу, следователь- но, на выходе в состоянии покоя будет практически нуль напряжения и через динамик ток не пойдет. Ток покоя дифференциального каскада задается резистором R3 и равен при- мерно 2 мА (учтите, что потенциал соединенных эмиттеров чуть ниже потен- циала баз). За счет того, что базы имеют одинаковый потенциал, равны и коллекторные токи VT1 и VT2, т. е. они составляют по 1 мА. Тогда на базе р-п-р транзистора VT3, включенного по самой простой схеме усиления на- пряжения с общим эмиттером, за счет резистора R2 потенциал составит как раз величину падения на его переходе база-эмитер, и он будет слегка приот- крыт, обеспечивая за счет тока в коллекторе потенциал на резисторе R6 та- кой, чтобы держать на эмиттерах комплементарных выходных транзисторов (одинаковых, но противоположной полярности — один п-р-п, другой р-п-р- типа), включенных по схеме с общим коллектором, потенциал, равный нулю. Смысл диодной цепочки между базами выходных транзисторов мы рассмот- рим ниже. Рис. 9.1. Классическая схема усилителя звуковой частоты Подадим на вход сигнал в виде переменного напряжения (конденсатор С1 нужен, чтобы не пропускать постоянную составляющую). Переменное
Звуковой усилитель без микросхем. Первые шаги 137 напряжение пройдет через конденсатор С1 (ток перезарядки пойдет через резистор R1) и начнет менять потенциал на базе транзистора VT1. Одновре- менно изменится ток коллектора этого транзистора, отчего будет меняться падение напряжения на резисторе R2 и базе р-п-р транзистора VT3. Предпо- ложим, что в какой-то момент напряжение на входе возросло, соответственно на резисторе R2 напряжение упадет, транзистор VT3 приоткроется, ток кол- лектора его вырастет и соответственно вырастет напряжение на резисторе R6 и на соединенных диодной цепочкой базах выходных транзисторах. При этом верхний (по схеме) выходной транзистор VT4 приоткроется, а нижний VT5 призакроется, отчего напряжение на выходе также сместится в положитель- ную сторону (т. к. пара выходных транзисторов, в сущности, представляет собой усложненный эмиттерный повторитель, то сигнал она не инвертирует). При перемене полярности на входе все произойдет в обратную сторону. Таким образом, входной сигнал передается на выход с неким коэффициентом усиле- ния — как по току, так и по напряжению. Сразу возникают вопросы: первый с каким? Второй вопрос — а зачем здесь нужна, во-первых, обратная связь, во- вторых, диоды в базовой цепи выходных транзисторов, в-третьих, низкоомные резисторы (R7-R8) в эмитгерных цепях на выходе? Давайте начнем с обратной связи. По постоянному току, как мы уже выясни- ли, обратная связь обеспечивает стабильность выходного напряжения по- коя — ток через динамик не идет. Кроме того, эта обратная связь поддержи- вает в нужном режиме транзистор VT3, который в отсутствие ее, как мы видели в главе 6, находился бы в исключительно нестабильном состоянии. Что происходит при подаче переменного напряжения на вход? Так как при этом конденсатор С2 начинает представлять собой малое сопротивление, то часть выходного напряжения (обусловленная цепочкой R5—R4, т. е. одна тридцатая его) подается обратно на вход дифференциального усилителя в противофазе ко входному сигналу. Эта часть вычитается из входного сигнала и тем самым уменьшает его. Это могло бы показаться бессмысленной тратой ресурсов, но такое состояние вещей обеспечивает стабильность и предсказуе- мость схемы — фактически коэффициент усиления этого усилителя по на- пряжению на звуковых частотах определяется соотношением R5—R4, т. е. равен примерно 30 (добавим, что максимально достижимый коэффициент при рядовых используемых транзисторах составляет примерно 2—3 тысячи, но такая схема без обратной связи работала бы исключительно нестабиль- но — скорее всего, динамик бы сгорел еще при первом включении). У таких схем есть одна нехорошая особенность — из-за собственных емко- стей и индуктивностей участвующих в деле компонентов (и переходов тран- зисторов, и резисторов, и проводников в макетном монтаже или на печатной плате) фаза обратной связи за счет задержек в элементах схемы на некоторых
138 Гпава 9 частотах (причем даже и много выше звуковых) может меняться с отрица- тельной на положительную, когда часть выходного переменного напряжения не вычитается из входного сигнала, а складывается с ней, отчего схема начи- нает "гудеть" при включении питания. "Гудение" это может и не восприни- маться на слух, и вы даже не поймете, отчего вдруг выходные резисторы R7—R8 чернеют и дымятся, а динамик выдает "чпок" и после замолкает на- всегда. Происходит там следующее: малая наводка на вход вызывает на вы- ходе сигнал, который передается опять на вход, но на этот раз не в виде от- рицательной обратной связи, когда выходной сигнал вычитается из входного, а за счет упомянутых задержек фаза получается такой, что выходной сигнал складывается со входным — и усилитель переходит в режим генерации. По- хожий, но имеющий другие физические причины эффект может получиться, если вы подключите ко входу усилителя микрофон — звук от динамика попа- дает обратно в микрофон и усиливается, если он совпадает по фазе. Несомнен- но, вы не раз встречались с этим "микрофонным эффектом", если пытались наладить систему микрофон-усилители в большом зале, и слышали в этом слу- чае нарастающий свист. Для предотвращения микрофонного эффекта иногда достаточно бывает заслонить микрофон рукой или поместить его в поролон, или даже просто изменить полярность подключения динамиков на выходе. Но по большому счету для предотвращения этих явлений принимаются спе- циальные схемотехнические меры. Для ограничения коэффициента усиления по высокой частоте в цепь обратной связи включен конденсатор С4 (показан на схеме пунктиром), который ограничивает коэффициент передачи по цепи обратной связи — чем его номинал больше, тем больше ограничивает. Так как его емкость много меньше, чем конденсатора С2, то коэффициент пере- дачи по цепи обратной связи все равно (на любых частотах) больше единицы, и усиление имеет место, но С4 обеспечивает завал усиления на высоких час- тотах (чем он больше, тем ниже усиление с ростом частоты, что и предот- вращает нежелательное "гудение" усилителя на высоких частотах). Вторая обязательная мера — правильная разводка питания. Выходные мощные кас- кады усиления (спаренный эмиттерный повторитель на комплементарных транзисторах) должен питаться от отдельных достаточно толстых проводов (не менее 1 мм — чем толще, тем лучше), соединенных прямо с источником питания, а входной дифференциальный каскад и "раскачивающий" транзи- стор VT3 должны быть также соединены с источником отдельными провод- никами. В точках соединения проводника "плюс 15 В" с коллектором VT2, резистором R2, эмиттером VT3 (на плате или макете они должны быть физи- чески как можно ближе друг к другу), а также в точке соединения проводника "минус 15 В" с резисторами R1 и R2 желательно установить "развязываю- щие" керамические конденсаторы, соединенные с "землей" (на схеме не по- казаны). Емкость этих конденсаторов может составлять 0,5—2 мкФ, но можно
Звуковой усилитель без микросхем. Первые шаги 139 использовать и электролитические более высокой емкости, причем в данном случае лучше не пожалеть денег и применить, скажем, танталовые конденса- торы К52. "Землю" также следует разводить как можно более толстыми про- водниками с аналогичной разводкой. Все эти нюансы, связанные с правильной разводкой питания, мы еще будем довольно подробно разбирать в следую- щей главе. Выходные проводники к динамику также делаются как можно более толстыми. Все соединительные провода в схеме должны быть как можно короче, а вход должен соединяться со входным разъемом и регули- рующим резистором экранированным проводом, экран которого будет "зем- лей" входного сигнала. Вернемся к собственно звуковым свойствам нашего усилителя. Прежде всего, встают вопросы: какова его мощность и какие меры нужно принять, чтобы обеспечить прохождение этой мощности через выходные транзисторы и пра- вильно сконструировать усилитель? Мощность Мощность мы будем подсчитывать довольно примитивным способом, счи- тая, что динамическая головка, индуктивность которой не слишком велика, имеет на всех интересующих нас частотах сопротивление, равное ее сопро- тивлению по постоянному току (в данном случае 4 Ом). Итак, при полном размахе синусоидального напряжения на выходе усилителя амплитудное значение его может составить 15 В ("от пика до пика" — 30 В). На самом де- ле эта величина немного меньше, т. к. минимум два вольта теряется с каждой (положительной и отрицательной) стороны за счет падения напряжения на переходах выходных транзисторов VT4—VT5, на раскачивающем транзи- сторе VT3, на резисторах R7—R8 и т. п. Примем, что максимальная ампли- туда на выходе может составить 13 В (при условии неискаженного синусои- дального сигнала). Амплитудное значение связано с действующим значением известного нам из главы 4 соотношения через корень из 2, т. е. оно составит в данном случае 13,5/1,41 = 9,2 В. Тогда действующее значение тока составит 9,2 В/4 Ом = 2,3 А, а синусоидальная мощность 9,2 В • 2,3 А = 21 Вт. Следует подчеркнуть, что это максимально возможная мощность, которую можно выжать из этого усилителя на нагрузке 4 Ом — реальная может быть намного меньше. Для того чтобы получить указанный размах напряжения на выходе, требуется входной сигнал не менее 0,5 В (амплитудного значения), поэтому если вы подключите на вход стандартный микрофон, который обычно выдает не более единиц-десятков милливольт, такого размаха вы не получите — нужен микрофонный предусилитель. С другой стороны, подключение ко входу, например, выхода с диктофона или плеера-"дебильника", вполне может вам обеспечить такой размах. Следовательно, все выходные компоненты
140 Гпава 9 нужно рассчитать так, чтобы они не сгорели при максимально возможной мощности. Прежде всего, это касается динамической головки. 4 Ом — это довольно стандартное сопротивление для динамиков, но если вы включите сюда го- ловку 4ГД-4 (т. е. мощностью 4 Вт), то рискуете тем, что при максимальной громкости ее диффузор вместе с толкателем улетит в потолок, даже не успев сгореть. Потому головка должна быть рассчитана на нужную мощность. В данном случае не обязательно, чтобы был запас по мощности, вполне дос- таточно головки на 15 Вт, в реальной музыке или речи максимальные мощ- ности практически никогда не достигаются (подробнее об этом далее), а из- редка появляющиеся экстремальные значения такая головка выдержит. Куда сложнее обеспечить нормальный режим транзисторов. Кстати, о выборе транзисторов выходного каскада. Ток коллектора "раскачивающего" каскада на VT3 равен примерно 10 мА в точке покоя (когда падение напряжения на резисторе R6 составляет около 15 В), следовательно, чтобы обеспечить 3,3 А на выходе и тем самым полностью использовать возможности источника пи- тания, нужно иметь коэффициент Й21Э более 230, именно поэтому выбраны транзисторы с "супербетой". Есть и другие выходы из этого положения (в том числе позволяющие не терять целых два вольта от питания и при этом обеспечить меньшие искажения сигнала), предложение которых— одно изящнее другого — стало своеобразным спортом в годы главенства дискрет- ной аналоговой техники, но мы не будем это разбирать. Нас сейчас интересу- ет построение стандартного аналогового усилителя как такового и его расчет. Рис. 9.2. Простейший каскад усиления по мощности на комплементарных транзисторах Сначала разберемся — зачем нужны диоды VD1-5 (целых пять штук!) между базами выходных транзисторов и резисторы R7—R8 между их эмиттерами?
Звуковой усилитель без микросхем. Первые шаги 141 Представьте себе, что диодов и резисторов этих не существует, и базы и эмиттеры комплементарных транзисторов соединены, как показано на рис. 9.2. Будет ли работать такая схема? Конечно, ведь если один из транзисторов от- крыт, то другой закрыт, а в промежутке они "перетягивают" друг друга (Хо- ровиц и Хилл, авторы основополагающего труда "Искусство схемотехники" [10], именно так и называют такой каскад: "push-pull", т. е. "тяни-толкай"). Но если на вход подать малый сигнал, то в пределах падения напряжений база-эмиттер создается мертвая зона, когда ни верхний, ни нижний транзи- стор не открыты, и оттого на выходном синусоидальном сигнале наличеству- ет довольно большая (примерно в полтора вольта для обычных транзисторов и в три вольта для транзисторов с "супербетой") ступенька, как это отчетливо видно на рис. 9.2. Для нормального, без хрипов и искажений, воспроизведе- ния звукового сигнала, такое, естественно, .недопустимо. Чтобы избежать этого, придется выходные транзисторы изначально слегка приоткрыть — именно для этого и служит цепочка диодов между базами. Для обычных транзисторов достаточно трех диодов, для транзисторов с "супербетой" — пяти. Такой режим включения транзисторов еще называется АВ1. При токе около 10 мА (рис. 9.3) падение напряжения на этих диодах превысит падение напряжения между базами транзисторов примерно на 0,6 В (по 0,3 В на каж- дый диод), отчего они слегка приоткроются, и через соединенные эмиттеры потечет небольшой ток. Теперь достаточно совсем малого сигнала, чтобы он повторился на выходе с гораздо большим током. Чтобы этот ток покоя меньше менялся с температурой, диоды следует приклеить или плотно при- жать к тому же радиатору, что и транзисторы. Рис. 9.3. Вариант замены диодов на резисторы для установки начального тока покоя Более подробно различные классы усилителей рассмотрены в приложении 3.
142 Гпава 9 Для достижения наилучшего эффекта можно заменить диоды подстроечным резистором (или добавить его к ним, включив параллельно или последова- тельно), регулируя который, вы бы обеспечивали нужный ток покоя более точно (для схемы на рис. 9.1 это порядка 50 мА). Подстроечный резистор (рис. 9.3) нужно крутить очень аккуратно при включенном в эмиттерную цепь нагрузки амперметре, чтобы не превысить ток покоя и не сжечь транзи- сторы. Лучшим решением, чем просто заменить диоды на резисторы, будет решение с диодами (надо на одну штуку меньше, чем по схеме) и ма-аленьким по- следовательно включенным подстроечным резистором (порядка 100—150 Ом). Употреблять подстроечник будет правильным только для макета, а для окон- чательного варианта нужно все же заменить его на соответствующий посто- янный резистор, т. к. при случайном нарушении контакта в подстроечнике базовая цепь транзисторов разорвется, они оба распахнутся "на полную", и далее все будет происходить в соответствии с цитатой из книги хорошего писателя М. Анчарова: "Вы думали, что в аду воняет серой? Ничего подобно- го — в аду воняет горелой резиной". Правда, в аналогичной ситуации у моего знакомого транзистор самостоятельно выпаялся из макета и упал на стол, от- чего цепь разорвалась и — что самое удивительное — ничего не вышло из строя, в том числе, и злополучный транзистор. Когда его, остывшего, поси- невшего и полностью потерявшего внешний вид, впаяли обратно — все вновь заработало! Кратко о низкоомных резисторах R7-R8 в эмиттерной цепи (рис. 9.1), кото- рые мы на рис. 9.2 и 9.3 вообще не показали. Теоретически они не нужны, но практически вносят некоторую долю стабилизирующей обратной связи в вы- ходной каскад с целью лучшей стабилизации тока покоя, т. к. температурные коэффициенты диодов и эмиттерных переходов транзисторов, конечно, не равны в точности. Поскольку при токе 2 А на резисторе 0,5 Ом выделяется 2 Вт (подсчитайте сами!), то эти резисторы проще всего сделать самостоя- тельно из медной или нихромовой проволоки, как указано в главе 2. Чем вы- ше номинал этих резисторов, тем выше стабильность схемы и тем лучше для линейности сигнала, но тем выше и потери мощности. О мощности выходных транзисторов Теперь разберемся с мощностью на выходных транзисторах. Посчитать ее удобно, руководствуясь понятием КПД усилителя, который в режиме АВ ле- жит в пределах 60—70%. Почему это так, можно себе представить из следую- щих соображений: напряжение на транзисторах выходного каскада в каждый момент определяется разницей между напряжением источника питания (по- стоянное) и напряжением на нагрузке (меняется по синусоидальному закону).
Звуковой усилитель без микросхем. Первые шаги 143 Более точный расчет см., например, [17], а также в приложении 3. Не углуб- ляясь в математику, мы можем принять, что мощность, которая выделяется на выходных транзисторах в указанной схеме включения, примерно равна 0,7 мощности в нагрузке, т. е. по 35% на каждый транзистор (что составляет для КПД оценку около 60%). Я же лично всегда принимал мощность на транзи- сторах равной выходной мощности и ни разу не ошибся. Такой расчет может показаться слишком грубым, но поскольку в подобных расчетах нужно все- гда закладываться на худшее, то можно считать, что на каждом из транзисто- ров будет выделяться по 10 Вт мощности. Разумеется, ни один реальный транзистор этого не выдержит, поэтому их надо устанавливать на рассеи- вающие тепло радиаторы. Причем учтите, что с корпусом транзистора, как правило, электрически соединен его коллектор, так что радиаторов должно быть два — или, как чаще делают, устанавливают один общий радиатор, но тогда должны быть электроизолирующие, но теплопроводящие прокладки между корпусами-коллекторами и радиатором. Радиаторы Сразу скажем — научно-обоснованной методики для расчета охлаждающих радиаторов не существует. По этому поводу можно написать не одну диссер- тацию или монографию (и написаны, и много), но стоит изменить конфигу- рацию охлаждающих ребер или стержней, расположить радиатор не верти- кально, а горизонтально, приблизить к нему любую другую поверхность снизу, сверху или сбоку — все изменится и иногда капитально. Именно по- этому производители микропроцессоров или процессоров для видеокарт предпочитают не рисковать, а снабжать свои изделия радиаторами с вентиля- тором — принудительный обдув, даже слабенький, повышает эффективность теплоотвода в десятки раз, хотя большей частью это совершенно не требует- ся (но они поступают по закону "лучше перебдеть, чем недобдеть", и правы). Здесь мы приведем только пару-другую эмпирических способов, которые оправдали себя на практике и годятся для того, чтобы рассчитывать пассив- ные (т. е. без обдува) радиаторы для подобных усилителей или для аналого- вых источников питания, о которых пойдет речь в следующей главе. Сначала рассмотрим, как рассчитывать площадь радиаторов, исходя из их геометрии. На рис. 9.4 показан типичный пластинчатый радиатор. Для расче- та его площади нужно к площади его основания прибавить суммарную пло- щадь его ребер (также с каждой стороны). Если нижней стороной радиатор прижимается к плате, то лучше считать рабочей только одну сторону основа- ния, но мы предположим, что радиатор "висит в воздухе" (как часто и быва- ет), и поэтому площадь основания удваивается: 50СН = 2 • L\ • L2. Площадь
144 Гпава 9 одного ребра (тоже с двух сторон) 5р = 2 • Ц h, но к этой величине нужно еще при- бавить боковые поверхности ребра, площадь которых равна З&ж = 2 h • 8. Ребер всего 6, поэтому общая площадь радиатора будет равна S = SOCH + 6 Sp + 6 5бок- Пусть L\ = 3 см, L2 = 5 см, h = 3 см, 8 = 0,2 см, тогда общая площадь такого радиатора будет 145 см . Разумеется, это приблизительный расчет (мы не уч- ли, скажем, боковую поверхность основания), но для наших целей точнее и не надо. Рис. 9.4. Типичный пластинчатый радиатор Вот два эмпирических способа для расчета рассеиваемой мощности в зави- симости от площади поверхности, и пусть меня не слишком строго осудят за то, что никаких особенных научных выкладок вы здесь не увидите. Способ первый и наипростейший: площадь охлаждающего радиатора должна 2 составлять 10 см на каждый ватт выделяющейся мощности. Так что радиа- тор на рис. 9.4 с размерами, приведенными выше, согласно этому правилу может рассеять 14,5 Вт мощности — как раз под наш усилитель с некоторым запасом. И если вас не лимитируют размеры корпуса, то вы вполне можете ограничиться этим прикидочным расчетом. Если же хотите подсчитать точнее, то вот один из более сложных способов, который годится для радиаторов средних размеров (L] = 20—180 мм, L2 = 40—125 мм). Этот способ приведен, например, на сайте фирмы "Каскад" [11]. Для оценки тепловой мощности радиатора можно использовать следующую зависимость: W = с^фф -0-5; где: W— мощность, рассеиваемая радиатором, Вт; ^эфф — эффективный коэффициент теплоотдачи, Вт/м2 • °C (см. график на рис. 9.5);
Звуковой усилитель без микросхем. Первые шаги 145 0 — величина перегрева теплоотдающей поверхности, °C, 0 = Тс- То с. (Гс — средняя температура поверхности радиатора, TQ с — температура ок- ружающей среды); С „2 о — полная площадь теплоотдающеи поверхности радиатора, м ; Рис. 9.5. Эффективный коэффициент теплоотдачи ребристого радиатора в условиях свободной конвекции при различной длине ребра: 1 — h = 32 мм; 2 — h = 20 мм; 3 — h = 12,5 мм Обратите внимание, что площадь в эту формулу подставляется в квадратных метрах, а не сантиметрах. Итак, приступим: сначала зададимся желательным перегревом поверхности, выбрав не слишком большую величину, равную 30 °C. Грубо говоря, можно считать, что при температуре окружающей среды 30 °C, температура поверх- ности радиатора составит 60 °C. Если учесть, что разница между температу- рой радиатора и температурой кристалла транзистора или микросхемы при хорошем тепловом контакте (о котором далее) может составить примерно 5°, то это приемлемо практически для всех полупроводниковых приборов. Вы- сота ребер h у нас составляет 30 мм, поэтому пользуемся верхней кривой на графике рис. 9.5, откуда узнаем, что величина коэффициента теплоотдачи составит примерно 50 Вт/м2 • °C. После вычислений получим, что W=22 Вт. Вычисляя первым— простейшим— способом, мы получили 14,5 Вт, т. е., проведя более точные расчеты, мы можем несколько уменьшить площадь,
146 Гпава 9 тем самым сэкономив место в корпусе. Однако повторим, если "место нас не жмет", то лучше всегда иметь запас. Радиатор следует располагать вертикально и ребра также должны распола- гаться вертикально (как на рисунке), а поверхность его следует покрасить в черный цвет. Я еще раз хочу напомнить, что все эти расчеты очень прибли- зительны, и даже сама методика может измениться, если вы поставите радиа- тор не вертикально, а горизонтально или снабдите радиатор игольчатыми ребрами вместо пластинчатых. К тому же мы никак не учитываем здесь теп- ловое сопротивление переходов кристалл-корпус и корпус-радиатор (просто предположив, что разница температур составит 5°). Все же указанные мето- ды дают хорошее приближение к истине, но если мы не обеспечим хороший тепловой контакт, все наши расчеты могут пойти насмарку. Рис. 9.6. Крепление транзистора в корпусе ТО-220 к радиатору при необходимости его изоляции: 1 — радиатор; 2 — отверстие в радиаторе; 3 — изолирующие шайбы; 4 — стягивающий винт; 5 — гайка; 6 — изолирующая трубка; 7 — слюдяная прокладка; 8 — пластмассовая часть корпуса транзистора; 9 — металлическая часть ' корпуса транзистора; 10 — выводы транзистора Просто плотно прижать винтом транзистор к радиатору, конечно, можно, но только в том случае, если поверхность радиатора в месте прижима идеально плоская и хорошо отшлифована. Практически такого никогда не бывает, по- этому радиатор в месте прижима смазывают специальной токопроводящей пастой. Ее можно купить в магазинах, а иногда тюбик с такой пастой при- кладывают к кулерам для микропроцессоров. Смазывать надо тонким, но равномерным слоем, не перебарщивать в количестве. Если на один радиатор ставятся два прибора, у которых коллекторы находятся под разным напряже- 2 нием , то под корпус нужно проложить изолирующую прокладку, под кре- пежные винты — изолирующие пластиковые шайбы, а на сами винты на 2 Транзистор надо изолировать от корпуса и в том случае, если радиатор с транзистором находится вне корпуса прибора.
Звуковой усилитель без микросхем. Первые шаги 147 длину, равную толщине радиатора в месте отверстия, надеть отрезок изоли- рующей кембриковой трубки (рис. 9.6). Самые удобные изолирующие про- кладки — слюдяные, очень хороши прокладки из анодированного алюминия (но за ними надо внимательно следить, чтобы не процарапать тонкий слой изолирующего окисла) и из керамики (которые, впрочем, довольно хрупки и могут треснуть при слишком сильном нажиме). Кстати, за неимением фир- менных прокладок можно использовать тонкую фторопластовую (но не по- лиэтиленовую, разумеется!) пленку, следя за тем, чтобы ее не прорвать. При установке на прокладку теплопроводящая паста наносится тонким слоем на обе поверхности: и на транзистор, и на радиатор. Проверка и отладка Проверить собранный усилитель очень просто. Для этого потребуется двупо- лярный источник питания (мы его будем конструировать в следующей главе) на + и - 15 В. "Землю" можно подключить сразу к схеме, а провода питания подключите через сдвоенный тумблер, чтобы можно было включать питания одновременно. Сначала отключите динамик, чтобы его ненароком не спа- лить, вместо него нужно подключить мощное низкоомное сопротивление (не обязательно 4 Ом, лучше даже побольше — порядка 10 Ом). Подключите все провода питания, затем присоедините к "земле" и выходу усилителя вольт- метр и параллельно ему осциллограф. После этого включите сначала блоки питания (заранее проверив, что тумблер разомкнут) и установите на них по 15 В. Проверьте еще раз правильность подключения питания и, глядя на вольт- метр, тумблером включите питание. Это тот момент, когда пожалеешь, что у человека только два глаза: нужно смотреть одновременно на вольтметр (стрелка сначала может шелохнуться, но затем на нем должно быть близкое к нулю напряжение), осциллограф (линия должна остаться на своем месте) и на блоки питания — не произошло ли короткое замыкание и не отключились ли они от этого? Если что-то не так — отключите питание и начинайте ду- мать, что именно подключено неправильно. Если же все в порядке, то при- близьте руку к сопротивлению нагрузки — и оно, и радиаторы выходных транзисторов, и сопротивления R7—R8 должны оставаться холодными. Про- верьте вольтметром с помощью щупа напряжения на выводах остальных транзисторов — они должны быть примерно такими, как указано в тексте. Если и тут все нормально, то можете себя поздравить — все собрано пра- вильно и можно приступать к следующему этапу. Помните, что перед внесением любых изменений в схему питание надо обязательно отключать!
148 Гпава 9 Самое паршивое, если усилитель "загудит". Это будет видно на экране ос- циллографа — на выходе усилителя как будто появится сигнал, а выходные транзисторы и нагрузка начнут греться. Тогда попробуйте подпаять конден- сатор С4, который указан на схеме пунктиром, упомянутые выше развязы- вающие конденсаторы по питанию (если вы их сразу не ставили) и включите усилитель опять. "Гудение" должно либо пропасть, либо уменьшиться по ам- плитуде. Чтобы добиться полного пропадания эффекта, можно увеличить емкость конденсатора С4 и попробовать подпаять керамический конденсатор небольшой емкости между коллектором и базой транзистора VT3. Еще можно попробовать поставить дополнительные развязывающие конденсато- ры большой емкости (несколько тысяч микрофарад), присоединив их к выво- дам коллекторов мощных транзисторов. Помните, что слишком длинные и тонкие соединительные провода в макете также не способствуют стабильно- сти усилителя. В конце концов вы обязательно добьетесь того, что эффект пропадет. Когда вы справитесь со всеми этими трудностями, можно переходить к дру- гому этапу — при включенном питании и подключенном к выходу осцилло- графе коснитесь пальцем входа усилителя (свободного вывода конденсатора С1). Если все в порядке, вы увидите на экране нечто, напоминающее синусоиду частотой 50 Гц — это усилитель усиливает помеху, которая наводится вашим пальцем. Теперь можно подключать ко входу усилителя источник звуковых колебаний. Это не обязательно должен быть генератор (который мы сконст- руируем только в главе 14), можно просто взять карманный плеер и снять сигнал с гнезда для наушников (естественно, придется приобрести соответст- вующий разъем и изготовить кабель для подключения). Один провод от плеера присоединяется к "земле", а второй — ко входу усилителя. Выходной сигнал плеера при самых больших всплесках не должен превышать 0,5 В (за- ранее проверьте осциллографом и подстройте регулятором громкости, если надо!). При работающем усилителе вы увидите на экране осциллографа уси- ленный сигнал звуковой частоты. После этого уже можно вместо нагрузочно- го сопротивления подключить динамик или колонки и наслаждаться музы- кой. Громкость можно регулировать регулятором плеера или превратить в регулятор резистор R1, заменив его на переменный резистор, включенный по схеме потенциометра (рис. 5.1) — движком ко входу усилителя. О мощности и качестве звуковых усилителей Рассчитанная для этого усилителя максимальная мощность на выходе со- ставляет чуть больше 20 Вт. Много это или мало? В принципе звуковой мощности в 20 Вт хватит, чтобы возмущенные соседи начали выламывать
Звуковой усилитель без микросхем. Первые шаги 149 у вас дверь. Однако в этом деле есть один большой нюанс. Реальный музы- кальный сигнал не является синусоидальным с определенной амплитудой. В нем встречаются как большие всплески, так и очень тихие звуки. Поэтому для качества усилителя играет роль не сама по себе его мощность, а динами- ческий диапазон громкости звука, который он может воспроизвести без ис- кажений. Попробуем подсчитать, каков он, скажем, для звука CD-качества. Сигнал аудио-CD имеет динамический диапазон в 16 двоичных разрядов, что составляет 65 536 градаций напряжения звукового сигнала (про двоичные разряды в применении к оцифрованным аналоговым сигналам мы будем подробно говорить в главе 25, посвященной АЦП и ЦАП). Предположим, что уровень шумов усилителя у нас таков, что они вызывают на выходе (в отсут- ствие входного сигнала) переменное напряжение с амплитудой в 1 мВ. Тогда, чтобы даже самый тихий звуковой сигнал не потерялся на фоне этих шумов, и для того, чтобы сигнал передавался без искажений во всем диапазоне, мак- симально допустимая амплитуда на выходе должна составлять более 65 В, т. е. нам требуется усилитель мощностью примерно 400 Вт! При меньшей мощности, казалось бы, вы не получите нужного качества, потому что тихие звуки пропадут в шумах, а громкие "обрежутся", вызывая искажения, но рас- чет этот слишком уж прямолинеен и слишком многого не учитывает — есть и другие, не столь "тупые" методы повышения качества. Вообще я, возмож- но, разочарую читателя, но сконструированный нами усилитель качеством не блещет и годится разве что для прослушивания записей на магнитных кассе- тах. В главе 13 нами будет сконструирован усилитель звуковой частоты с го- раздо лучшими характеристиками — на готовой микросхеме. Однако мне уже приходилось упоминать, что настоящее качество для УМЗЧ можно по- лучить только с использованием дискретных компонентов или, комбинируя последние с микросхемами, которые неплохо справляются с усилением ма- лых сигналов. Вообще, качественная звукотехника — целое искусство, ог- ромная и довольно специфическая область схемотехники (например, там и по сей день часто используют лампы!), поэтому дальнейшее углубление в эту увлекательную тему увело бы нас слишком далеко от основной линии книги, а интересующихся я отсылаю к другим источникам, коих великое множество, особенно в Интернете (см., к примеру, [18] — очень рекомендую). Среди бу- мажных изданий можно рекомендовать в первую очередь классический труд [20], который очень давно не переиздавался, по крайней мере, на русском, но доступен в Сети, а из последних изданий, скажем, [12, 13]. Остановимся кратко еще на нескольких моментах, связанных с многочислен- ными мифами, сознательно распространяемыми производителями аппарату- ры и автоматически, "попугайски", тиражируемыми т. н. "меломанами". Сре- ди этих затверженных принципов есть и разумные требования: например,
150 Гпава 9 коммутация мощных аналоговых сигналов ни в коем случае не может произ- водиться электронными реле — только механическими контактами! Но вот искажения звукового воспроизводящего тракта в 0,5% и ниже при обычных среднего класса колонках и, что еще важнее, в 15—20-метровой комнате со- временных бетонных многоэтажек практически невозможно заметить на слух3. Это связано с тем, что при таком прослушивании основную долю ис- кажений вносит акустическая система — как сама, так и в комплексе с харак- теристиками помещения, где она расположена. Преувеличено и влияние кабелей на работу аппаратуры — в подавляющем большинстве случаев нет совершенно никакой нужды тратиться на кабели из "рафинированой" меди стоимостью $20 и более. Медь в обычных проводах и так достаточно чистая (мы об этом упоминали), и разница в электропроводности между особо чис- той и обычной медью — в лучшем случае, доли процента. Поэтому, если у вас занозой в печенке сидит представление о том, что на проводах от уси- лителя к колонкам теряется какая-то часть напряжения, приводя к искажени- ям,— просто возьмите провод потолще— и все! Это сэкономит вам $19,50 из $20. Но на самом деле в бытовой аппаратуре мощностью до 50 Вт и этого совершенно не требуется, т. к. потери эти объективно настолько малы, что на субъективное восприятие могут оказывать еще меньшее влияние, чем упомя- нутые искажения, проще говоря, вообще никакого. Самый смешной миф из джентльменского набора приемов для "разводки лохов" — направленность кабеля. Естественно, провод не может иметь никакой направленности, если, разумеется, разъемы у него на концах одинаковы. Абсолютно не имеет значения для звука и качество цифровых каналов. Например, CD-''читалка" из карманного плеера справится со своей задачей ничуть не хуже, чем из наво- роченного музыкального центра, единственное условие при этом — чтобы при дальнейшей обработке цифровой сигнал не просачивался в звуковой тракт, что при грамотной — и ничуть не удорожающей систему — постанов- ке дела есть вполне стандартное требование. Более подробно все эти вопросы освещены, например, в [19]. 3 Куда большее значение имеют собственные и наведенные шумы усилителя.
Глава 10 Правильное питание - залог здоровья. О питании электронных устройств Мы ежедневно просовываем ему через от- душину хлеб на вилах, а когда он требует, то и мясо, но — увы! — не хлеб и не мясо составляют главную его пищу. А. Дюма, "Три мушкетера” О том, что трансформаторы вкупе с фильтрующими конденсаторами зачас- тую составляют основную часть массы и габаритов современных электрон- ных устройств, мы уже писали. Заменой обычным трансформаторным источ- никам питания, которые мы здесь будем рассматривать, могут быть либо электрохимические источники тока (батареи и аккумуляторы), либо им- пульсные источники питания (экзотику типа солнечных батарей мы рассмат- ривать не будем). Главное преимущество первых — мобильность, в чем им замены нет. Главный недостаток— они не обеспечивают долговременной эксплуатации для подавляющего большинства электронных устройств за ис- ключением специально спроектированных малопотребляющих либо редко используемых устройств — таких, как наручные часы, пульты управления бытовой техникой или наши любимые мультиметры. А вот для таких уст- ройств как плееры, цифровые фотоаппараты, мобильные телефоны, ноутбу- ки, емкость электрохимических источников явно недостаточна, к тому же общий срок службы их оставляет желать лучшего, так что масса неудобств, которые приходится испытывать пользователям* 1, есть вынужденная плата за мобильность. : И одно из самых серьезных — совершенное отсутствие даже признаков какой-либо унифика- ции зарядных устройств, хотя бы для аккумуляторов одного типа. Лично мне приходится тас- ить с собой в деревню и обратно пять типов зарядных устройств (два для разных мобильни- ков, одно для фотоаппарата, одно для карманного компьютера и одно для шуруповерта), а ведь 1 далеко не самый "мобильный" из своих знакомых.
152 Глава 10 Остальные варианты мобильными не являются и носят общее название вто- ричных источников питания, потому что они преобразуют энергию бытовой электросети в нужное напряжение постоянного тока. Главное преимущество импульсных источников — экономичность и значительно лучшие массогаба- ритные характеристики по сравнению с трансформаторными источниками. Поэтому практически все стационарные современные бытовые приборы снабжаются именно такими источниками: компьютеры, телевизоры, музы- кальные центры и т. д. Главным же недостатком их является сложность кон- струкции и вытекающая отсюда высокая стоимость, из-за чего их целесооб- разно применять для относительно мощных приборов с энергопотреблением 100 Вт и выше. Если вы попробуете создать импульсный источник, рассчи- танный на 10 Вт, то вы в габаритах, скорее всего, даже проиграете, а уж о стоимости и говорить нечего. Так как все конструкции, рассматриваемые в этой книге, — малопотребляющие, нам остается удовольствоваться обыч- ными трансформаторными источниками, к рассмотрению которых мы сейчас и перейдем. Но перед этим упомянем еще об альтернативе, которая была весьма модной в радиолюбительских кругах в советские времена— бестрансформаторные источники питания от сети. Вы можете наткнуться на нечто подобное, если перелистаете старые журналы "Радио". В связи с этим следует сказать только одно: Никогда не стройте прибора, работающего от сети переменного тока без трансформатора! Это опасно для жизни — ваша схема будет всегда нахо- диться под высоким напряжением относительно земли (без кавычек — т. е. водопроводных труб, батарей отопления и т. п.). Если ваша схема предназначена для управления мощной сетевой нагрузкой, то это управ- ление следует обязательно осуществлять через гальванические развязы- вающие элементы — реле, электронные реле, трансформаторы и т. п. Т рансформаторы Независимо от конкретной конструкции, трансформаторы всегда устроены по одной схеме — на замкнутом каркасе из металлических пластин или лен- ты находятся несколько обмоток. Самые распространенные разновидности трансформаторов — с Ш-образным и тороидальным сердечником схематич- но показаны на рис. 10.1. Если есть выбор, то лучше предпочесть тороидаль- ный трансформатор — у него меньшее магнитное поле рассеяния и, главное, в случае чего на него легко домотать недостающие обмотки или добавить витков к имеющимся. При выборе трансформатора следует предпочесть те, которые залиты компаундом (в старинных конструкциях употреблялся про- сто парафин). По крайней мере, катушка с обмотками должна прочно, без
Правильное питание - залог здоровья. О питании электронных устройств 153 люфта, держаться на стержне, а сами пластины должны быть обязательно плотно сжаты специальной скобой (естественно, это относится в первую оче- редь к Ш-образным трансформаторам). Иначе трансформатор неизбежно бу- дет во время работы гудеть. Рис. 10.1. Трансформаторы с Ш-образным и тороидальным сердечником: 1 — сердечник; 2 — обмотки; 3 — выводы обмоток Одна из обмоток называется первичной — т. к. мы рассматриваем сетевые трансформаторы, то она всегда рассчитана на сетевое напряжение. Найти ее, если характеристики обмоток неизвестны, не очень сложно — она всегда имеет наибольшее сопротивление из всех, причем для малогабаритных трансформаторов это сопротивление может достигать сотен ом или даже ки- лоом. Иногда она поделена на две, которые перед включением нужно соеди- нить, иногда может иметь отводы для более точной подгонки напряжений или для обеспечения возможности переключения 220/120 В. Сравнивая со- противления выводов между собой, можно найти эти отводы. Другой способ нахождения первичной обмотки — она всегда намотана наиболее тонким проводом (вообще — чем толще провод, тем меньше напряжение на обмотке, как мы увидим далее). Остальные обмотки — вторичные, их можно соединять между собой в любой комбинации. Обмотки имеют начало и конец. Для суммирования напряжений обмоток надо соединять конец одной обмотки с началом другой. Смысл : Зак 710
154 Глава 10 понятий начала и конца обмоток таков — там, где начинали мотать обмот- ку, — начало. Если намотать следующую обмотку в том же направлении (а так всегда и поступают), то у нее начало будет там же, где и у первой. Если это фабричный трансформатор и выводы у него нумерованы, то нечетные выводы принимаются за начала обмоток, а четные — за концы, т. е. при со- единении двух обмоток с нумерацией выводов 1—2 и 5—6 для сложения на- пряжений нужно соединить вывод 2 первой обмотки с выводом 5 второй (или вывод 1 первой с выводом 6 второй), оставшиеся выводы 1—6 (или 5—2) будут, соответственно, началом и концом объединенной обмотки. Для серий- но выпускающихся трансформаторов, а также у торгующих ими организаций имеются справочники по типовым разновидностям с указанием характери- стик обмоток и нумерации их выводов. Я надеюсь, что вам никогда не придется самим мотать сетевые трансформа- торы, но все же приведу полуэмпирическую, но проверенную практикой ме- тодику для их расчета, т. к. некоторые из формул могут вам пригодиться для доработки серийных трансформаторов и определения характеристик имею- щихся в наличии. Кроме того, знание закономерностей расчета способствует правильному выбору трансформаторов в случае их приобретения. Главное соотношение (можно назвать это законом трансформатора): U\IU2 = nxln2 (1), где: U\ — напряжение первичной обмотки; U2 — напряжение вторичной обмотки; п\ — число витков первичной обмотки; п2 — число витков вторичной обмотки. Как видите, все необычайно просто. Если, скажем, первичная обмотка имеет 220 витков (это должен быть довольно мощный трансформатор, у маломощ- ных число витков может составлять несколько тысяч), а вторичная — 22 вит- ка, то при подключении к сети 220 В на вторичной обмотке будет 22 В. Токи находятся в обратном соотношении — если ток вторичной обмотки составля- ет 1 А, то первичная обмотка будет потреблять от сети 100 мА. Если вторич- ных обмоток несколько, то для определения потребления тока от сети их то- ки нужно пересчитать на первичную обмотку в отдельности (количество витков при этом знать необязательно, достаточно только напряжения), а за- тем сложить. Можно пойти и другим путем — суммировать мощности, по- требляемые вторичными обмотками (которые равны произведениям токов на напряжения), а затем поделить полученную сумму на 220 — получим ток в первичной обмотке.
Правильное питание - залог здоровья. О питании электронных устройств 155 Кстати, из этого закона вытекает простой метод определения количества вит- ков в обмотках трансформатора, если это зачем-то нужно: намотайте поверх имеющихся обмоток несколько витков любого провода, включите трансфор- матор и измерьте напряжение на этой импровизированной обмотке. Поделив количество намотанных витков на полученное значение напряжения, вы по- лучите величину количества витков на один вольт, которая едина для всех обмоток, а далее пересчитать полученный результат уже не составляет труд- ностей. При выборе напряжений вторичных обмоток учтите, что их нужно выбирать с запасом (это относится и к покупным трансформаторам) — под нагрузкой на- пряжение садится, и это просаживание тем больше, чем меньше мощность трансформатора. Поэтому, если вам задано минимально допустимое напряже- ние 7 В — выбирайте трансформатор с 9—10-вольтовой обмоткой, не ошибетесь. Итак, сформулируем задачу: допустим, необходимо иметь трансформатор с двумя вторичными обмотками, рассчитанными на напряжение 27 В и ток 200 мА каждая, и еще одной обмоткой, рассчитанной на напряжение 9 В и ток до 3 А. Подсчитаем суммарную мощность: 27 • 0,2 • 2 + 9 • 3 = 37,8 Вт, округляем до 40 Вт. Ток в первичной обмотке составит 40/220 = 0,18 А, ок- ругляем до 0,2 А. Теперь у нас есть все исходные данные. Сначала определяем сечение магнитопровода в см (для Ш-образных транс- форматоров это есть сечение центрального стержня, на котором находится катушка с обмотками, для тороидального — поперечное сечение тора). Это делается по формуле: 5=1,15-7? (2), 2 где S — сечение в см ; Р — мощность в Вт. Получаем 7,3 см — уже можно выбирать магнитопровод. Они стандартизи- рованы, так что выбираем подходящий с округлением в большую сторону. По этой формуле также всегда можно определить неизвестную мощность имеющегося в наличии трансформатора, если измерить сечение его магнито- провода. Затем нужно подсчитать требующееся при такой мощности количество вит- ков первичной обмотки: Hi = 50 • UJS (3), где п\ — число витков, U\ — напряжение (220 В), S — рассчитанное выше 2 сечение в см . Получаем 275 витков. Рассчитать теперь количество витков вторичных обмо- ток — дело техники, только не забывайте всегда округлять в большую сторону.
156 Глава 10 2 И, наконец, рассчитываем необходимый диаметр провода в мм для каждой обмотки: Ji = 0.8-77“ (4), где d\ — диаметр провода в i-ой обмотке, а 1\ — ток в этой обмотке. Получаем для первичной обмотки диаметр 0,36, для 27-вольтовых также 0,36, а для 9-вольтовой 1,4 мм. Все, расчет закончен. Формулу (4) стоит запомнить, т. к. она может приго- диться, если придется доматывать витки к имеющимся в наличии трансфор- маторам — сначала по вышеприведенной методике определяется количество витков на вольт, из чего определяется необходимое количество витков, а за- тем по формуле (4) — нужный диаметр провода. Учтите, что закон трансформации (1) справедлив для всех видов трансформа- торов, а вот все остальные соотношения, за исключением разве что (4), го- дятся только для расчета сетевых трансформаторов, работающих на частоте 50 Гц. Ни для каких других трансформаторов (согласующих, с ферритовыми сердечниками) эта методика не действует. Ну, а теперь перейдем к более интересным вещам. Простейший дестабилизированный однополярный источник питания Схема простейшего источника питания приведена на рис. 10.2. Именно по такой схеме устроены практически все распространенные ныне блоки пита- ния, встроенные в сетевую вилку. Иногда в них вторичная обмотка имеет не- сколько отводов, и присутствует ползунковый переключатель, который ком- мутирует эти отводы, меняя выходное напряжение. Так как эти блоки весьма дешевы, то, если вам не требуется большой мощности, спокойно можно по- купать такой блок, разбирать его и встраивать в вашу аппаратуру (или даже не встраивать — хотя, на мой вкус, громоздкие надолбы на розетках отнюдь не украшают интерьер, все время хотят вывалиться и к тому же не во всякую розетку влезают). Нужно только обратить внимание на допустимый ток, ко- торый указан на корпусе такого блока. Что касается номинального напряже- ния, то этот вопрос мы сейчас рассмотрим. Как работает эта схема? Здесь переменный синусоидальный ток со вторичной обмотки трансформатора (II) подается на конструкцию из четырех диодов, которая называется диодным мостом и представляет собой двуполупериод- ный выпрямитель (есть и другие способы двуполупериодного выпрямления, но этот самый распространенный). В схеме моста могут быть использованы
Правильное питание - залог здоровья. О питании электронных устройств 157 любые типы выпрямительных диодов, лишь бы предельно допустимый ток их был не меньше половины необходимого (для указанных на схеме 1N4001 это 1 А), а предельно допустимое напряжение было не меньше половины ам- плитудного значения входного переменного напряжения (т. к. в данном слу- чае это всего 7 В, то здесь этому требованию удовлетворяют вообще все вы- прямительные диоды). Мало того, такие мосты выпускаются уже в сборе, в одном корпусе, на котором иногда даже нарисовано, куда подключать пе- ременное, и откуда снимать постоянное напряжения (мы упоминали один такой мост — КЦ407А — в главе 8). Их, конечно, тоже можно и нужно ис- пользовать. Рис. 10.2. Простейший нестабилизированный однополярный источник питания Проследим за работой моста. Предположим, что на верхнем по схеме выводе вторичной обмотки в данный момент напряжение выше, чем на нижнем. То- гда ток в нагрузку (обозначена пунктиром) потечет через правый верхний диод моста, а возвратится в обмотку через левый нижний. Полярность на на- грузке, как видим, соблюдается. В следующем полупериоде, когда на верх- нем выводе обмотки напряжение ниже, чем на нижнем, ток через нагрузку потечет, наоборот, через левый верхний диод и возвратится через правый нижний. Как видим, полярность опять соблюдается. Отсюда и название тако- го выпрямителя: двуполупериодный, т. е. он работает во время обеих полу- периодов переменного тока. Форма напряжения на выходе такого моста (в отсутствие конденсатора) соответствует пульсирующему напряжению, по- казанному на рис. 4.5, а. Естественно, такое пульсирующее напряжение нас не устраивает, мы хотим иметь настоящее постоянное напряжение без пуль- саций, поэтому в схеме присутствует сглаживающий (фильтрующий) кон- денсатор, который вместе с выходным активным сопротивлением трансфор- матора и сопротивлением диодов представляет собой не что иное, как известный нам по главе 5 интегрирующий фильтр низкой частоты. Все высокие
158 Глава 10 частоты отфильтровываются, а на выходе получается ровное постоянное на- пряжение. К сожалению, такая идиллия имеет место быть только в отсутст- вие нагрузки, к чему мы вернемся чуть позже, а пока попробуем определить, какова величина этого постоянного напряжения на выходе фильтра. В отсутствие нагрузки конденсатор с первых же полупериодов после вклю- чения питания заряжается до амплитудного значения пульсирующего напря- жения, которое равно амплитудному значению напряжения на вторичной об- мотке за вычетом падения напряжения на двух диодах, стоящих на пути тока. Так как в установившемся режиме через эти диоды ток весьма мал (только для подпитки собственных токов утечки конденсатора), то и падение напря- жения на них мало и составляет в сумме менее 1 В. Амплитудное значение напряжения на вторичной обмотке равно 10л/2 = 14,1 В, так что на холостом ходу напряжение на выходе источника составит чуть более 13 В. При подключении нагрузки происходит сразу много всего. Во-первых, сни- жается напряжение на вторичной обмотке — трансформатор имеет конечную мощность. Во-вторых, увеличивается падение напряжения на диодах, кото- рое может при максимально допустимом для них токе достигнуть 1 В на ка- ждом. В-третьих, и в главных, во время "провалов" пульсирующего напряже- ния нагрузка питается только за счет того, что через нее разряжается конденсатор. Естественно, напряжение на нем при этом каждый раз немного снижается. Поэтому график выходного напряжения при подключенной на- грузке представляет собой уже не ровную постоянную линию, а выглядит примерно так, как показано на рис. 10.3 (причем снижение входного напря- жения за счет "просаживания" трансформатора здесь не учитывается). То есть выходное напряжение немного пульсирует — тем больше, чем боль- ше ток в нагрузке, и тем меньше, чем больше емкость конденсатора. Именно поэтому в источниках применяют электролитические конденсаторы столь большой емкости. Наличие пульсаций также снижает постоянную состав- ляющую выходного напряжения. Рис. 10.3. Вид пульсаций на выходе нестабилизированного источника: 1 — исходное пульсирующее напряжение в отсутствие фильтрующего конденсатора; 2 — выходное напряжение при наличии фильтрующего конденсатора и нагрузки
Правильное питание — залог здоровья. О питании электронных устройств 159 В данной схеме избавиться от этих пульсаций полностью невозможно, как бы вы ни увеличивали емкость. Кстати, а как подсчитать нужную емкость? В принципе, это возможно, если задаться необходимым уровнем пульсаций, но мы здесь приведем только эмпирическое и весьма приблизительное пра- вило— на каждый ампер нагрузки достаточно конденсатора от 1000 до 2200 мкФ. Первая величина ближе к тому случаю, когда на выходе такого источника предполагается поставить стабилизатор напряжения, вторая — если такого стабилизатора не предполагается. Все указанные причины совместно приводят к тому, что под нагрузкой сверхмаломощные источники (типа тех, что со встроенной вилкой) могут выдавать в полтора-два раза меньшее напряжение, чем на холостом ходу. По- этому не удивляйтесь, если вы приобрели такой блочок с указанным на шильдике номинальным напряжением 10 В, а мультиметр на холостом ходу показывает аж все 18! Чтобы покончить с темой простейшего источника, нужно сказать пару слов об указанном на схеме (см. рис. 10.2) предохранителе Пр. В упомянутых бло- ках со встроенной вилкой предохранитель часто отсутствует, и это вызвано, кроме стремления к удешевлению блока, очевидно, тем обстоятельством, что маломощный трансформатор сам служит неплохим предохранителем — про- вод первичной обмотки у него настолько тонок, и сопротивление его на- столько велико, что при превышении допустимого тока обмотка довольно быстро сгорает, отключая весь блок. (После чего его, естественно, остается только выбросить.) Но в стационарных устройствах и тем более в устройст- вах большей мощности предохранитель должен быть обязательно. Обычно его выбирают на ток в два — четыре раза больший, чем расчетный макси- мальный ток первичной обмотки. Приведем еще одну полезную схему нестабилизированного источника, на этот раз двуполярного, т. е. выдающего два одинаковых напряжения относи- тельно средней точки — "земли" (рис. 10.4). В принципе, она пояснений не требует, потому что очень похожа на однополярную, только возврат тока в обмотки от обеих нагрузок происходит непосредственно через общую "землю", минуя диодный мост. В качестве упражнения предлагаю вам само- стоятельно разобраться, как она работает. Вторичные обмотки (II и III) здесь, в сущности, представляют собой две одинаковые половины одной обмотки. Жирными точками около вторичных обмоток обозначены их начала, чтобы не перепутать порядок их соединения.
160 Глава 10 2200,0 х16 В -12 В Рис. 10.4. Нестабилизированный двуполярный источник питания Стабилизаторы Простейший стабилизатор — это стабилитрон, который мы разбирали в главе 7. Если параллельно ему подключить нагрузку (рис. 10.5, а), то на- пряжение на ней будет стабилизировано до тех пор, пока ток через нее не будет слишком велик, проще говоря, в отсутствие стабилитрона напряжение в средней точке делителя из Rct и Rh должно превышать номинальное на- пряжение стабилизации стабилитрона /Уст, иначе при его подключении ток через него не пойдет и стабилитрон не откроется. Так что максимальный ток, который мы можем получить в такой схеме, не превышает нескольких десят- ков миллиампер — в зависимости от мощности стабилитрона. Такой стаби- лизатор называют еще параметрическим. Вы зададите вопрос — а зачем здесь конденсатор? Ведь в нестабилизирован- ном источнике, который мы рассмотрели ранее и откуда поступает напряже- ние на этот стабилизатор, один фильтрующий конденсатор уже имеется, не так ли? Ответ простой: на выходе всех типов стабилизаторов всегда ставится конденсатор, как и до них. Для интегральных стабилизаторов, которые мы будем рассматривать далее, это часто положено по рекомендациям произво- дителя, а для этой конкретной схемы, скажем, позволяет сгладить наличие остаточных пульсаций, которые все равно просочатся на выход, т. к. стаби- литрон имеет свое дифференциальное сопротивление, и при изменении вход-
Правильное питание - залог здоровья. О питании электронных устройств 161 ного напряжения или тока в нагрузке напряжение на нем также будет ме- няться, хоть и в небольшой степени. Величина емкости здесь может быть значительно меньше, чем на выходе выпрямительного моста, но не жадни- чайте — стоимость конденсаторов нынче такова, что поставить здесь кон- денсатор емкостью, к примеру, 470 мкФ никто вам помешать не может, а по размерам он не сильно будет отличаться от такого же, но емкостью 47 мкФ. Значительно интересней схема на рис. 10.5, б. Здесь транзистор включен эмиттерным повторителем, который, во-первых, имеет высокое входное со- противление (поэтому ток через стабилитрон практически не зависит от из- менений тока в нагрузке), во-вторых, служит усилителем тока (см. главу 6), т. е. мощностные возможности здесь определяются только транзистором. Конденсаторов здесь целых два— первый помогает сглаживать пульсации на стабилитроне, второй — дополнительно оставшиеся пульсации на выходе транзистора. При указанных на схеме параметрах такая схема нам выдаст около 1 А — вы можете потренироваться в расчетах транзисторных схем и попробовать опре- делить это сами. Я только подскажу методику: статический коэффициент пе- редачи тока для транзистора КТ815А равен (по справочнику) 40, поэтому ба- зовый ток при 1 А на выходе должен составить не менее 25 мА, а ток через стабилитрон КС156А ни при каких условиях не должен быть меньше 5 мА. Попробуйте поразмыслить над всеми этими данными, при необходимости возвращаясь к главе 6. Унестаб. +12В +12В Rct VD1 КС156А 200 UCT=5,6B Унестаб. rct Rh >200 Ом VD1 КС156А 200 (Jct VT1 КТ815А □вых=LIct-0,6B 5,0В - ~ "1 c2[|Rh>5 0m а б Рис. 10.5. Два стабилизатора для источников питания: а — самый простой на стабилитроне; б — с эмиттерным повторителем Да, кстати, а какая мощность выделится на "проходном" транзисторе VT1? Не такая уж и маленькая: (12 В—5 В) • 1 А = целых 7 Вт! То есть его явно надо ставить на радиатор, методику расчета которых мы уже знаем из преды- дущей главы. Отсюда виден главный недостаток подобных аналоговых ста- билизаторов — низкий КПД. В данном случае он всего около сорока процен- тов (проверьте!), остальное рассеивается в пространстве. Мы можем его
162 Глава 10 несколько повысить, снижая входное напряжение, но только до определенно- го предела. Здесь этот предел равен примерно 8 В, иначе эта схема не спра- вится. Помните, однако, что 8 В — это действительно нижний предел, а не среднее значение пульсирующего напряжения на выходе конденсатора фильт- ра, которое показывает вольтметр — если вы еще раз взглянете на рис. 10.3, то поймете, о чем я. Иначе стабилизатор просто перестанет стабилизировать. Потому всегда следует иметь запас, и не маленький. Заменой п-р-п-транзистора на р-п-р с соответствующей заменой всех поляр- ностей (в том числе переворотом конденсаторов и стабилитрона) на обрат- ные, мы получим стабилизатор отрицательного напряжения. А для получения большего тока на выходе вместо обычного транзистора можно поставить транзистор с "супербетой". Если мы заменим КТ815 на КТ829, то можем "выжать” уже до 10 А (но не забудьте, что и нестабилизированный источник тоже должен обеспечить такой ток, да и радиатор придется ставить сущест- венно больше!). Таким путем мы можем построить недорогой двуполярный источник питания для нашего усилителя из прошлой главы. Если вы ее внимательно перечтете, то сообразите, что номинальная мощность источника для такого усилителя должна составлять не менее 100 Вт (пиковый ток в нагрузке может достигать 3,3 А при максимальной выходной мощности усилителя) или по 50 Вт на ка- ждом из двуполярных напряжений по 15 В. Пр1 Тр1 470,0 х16В С4 = I VD6 /Д 1N4745A 4700,0 1 х25 В ” С2 R2 BDW94C , 1000,0 + Х16В =т= С6 XVD8 -22 В -15 В 3,3 А Рис. 10.6. Мощный двуполярный стабилизатор на ±15 В, 4 А (для усилителя из предыдущей главы)
Правильное питание - залог здоровья. О питании электронных устройств 163 На рис. 10.6 приведена схема источника питания для нашего усилителя. Я привожу ее без пояснений, потому что всеми необходимыми сведениями, чтобы в ней разобраться, вы уже обладаете. Мало того, я предоставляю чита- телю самостоятельно выбрать подходящий трансформатор и затем рассчи- тать радиаторы для мощных проходных транзисторов, исходя из реального напряжения его обмоток (на схеме указаны минимально возможные — с уче- том пульсаций и падения на проходных транзисторах). Еще раз (последний) напоминаю — не пытайтесь при отладке сразу собрать всю схему целиком. Начинайте слева направо и постепенно отлаживайте узел за узлом. Напри- мер, сначала присоедините выпрямительный мост к трансформатору и про- верьте наличие нужного постоянного напряжения на нем, потом к нему под- паяйте конденсаторы и проверьте, симметричные ли на них напряжения, и так далее. Готовый источник тоже не следует сразу подсоединять к усили- телю — сначала надо его проверить на какой-нибудь активной нагрузке (в данном случае это должны быть резисторы по 5—10 Ом мощностью не менее 20—30 Вт). Ну и, разумеется, не забывайте, что все детали можно за- менять на аналогичные — здесь нет ни одного дефицитного компонента, только обязательно по справочнику надо сравнить характеристики. Как мы уже неоднократно говорили, "супербета"-транзисторы BDW93C и BDW94C тоже можно заменить каждый на пару обычных — средней и большой мощ- ности (например, КТ814-КТ818 для р-п-р и КТ815-КТ819 для п-р-п), соеди- ненных по схеме, приведенной на рис. 6.5. Светодиоды VD7-VD8 (любого типа) сигнализируют о наличии напряжения на обоих выходах (если источ- ник находится в корпусе усилителя, то их, естественно, можно не ставить). Если вы хотите ввести в этот источник защиту от короткого замыкания (к. з.), то это можно сделать по образцу схемы ограничения тока, как в регулируе- мом лабораторном источнике (см. далее). Однако такая защита требуется только на стадии отладки — в отлаженном и работающем приборе никаких коротких замыканий происходить не должно! Интегральные стабилизаторы Совершенно естественным ходом мысли разработчиков было упаковать ти- повой узел, состоящий из стабилитрона, транзистора и резистора в одну мик- росхему. Однако выдающийся схемотехник и разработчик аналоговых мик- роэлектронных устройств Р. Видлар, о котором мы еще вспомним в связи с изобретением интегрального операционного усилителя, рассудил иначе. Действительно, такая простейшая схема обладает целым рядом недостатков, главным из которых является низкий коэффициент стабилизации. В зависи- мости от входного напряжения и от выходного тока напряжение на выходе
164 Глава 10 может довольно сильно меняться. Поэтому наилучшим выходом было бы использовать в стабилизаторах принцип отрицательной обратной связи, с ко- торым мы уже отчасти познакомились, разбирая работу звукового усилителя в главе 9. Ниже мы будем подробно разбирать стабилизатор с обратной свя- зью, а пока заметим, что такую схему не особенно трудно построить и на дискретных транзисторах, но с увеличением качества ее сложность и, соот- ветственно, стоимость резко возрастают. А вот в производстве микросхем почти безразлично — пять транзисторов они содержат или тридцать. Кроме того, там все транзисторы находятся на одном кристалле, имеют одинаковую температуру и близкие характеристики, что недостижимо в дискретных схе- мах. Видлар этим воспользовался и сконструировал микросхему цА723, кото- рая положила основу современным семействам интегральных стабилизаторов. Наиболее широко распространена и доступна серия стабилизаторов LM78/79xx производства фирмы National Semiconductor (имейте в виду, что семейство LM содержит и другие типы микросхем, и это название не должно вас смущать). Выпускается они очень многими производителями, тогда бук- вы могут быть другими, но цифры остаются теми же. Цифры означают вот что: первые две — наименование серии (78 — стабилизатор положительного напряжения, 79 — отрицательного), вторые две — напряжение стабилизации (например, 7805 — пятивольтовый стабилизатор положительного напряже- ния). Выпускаются аналоги этой серии и в России, однако принцип наимено- вания другой — это серия 142ЕНхх и др. (см. приложение 4). Здесь напряже- ния стабилизации фиксированы, однако имеются и регулируемые типы. На рис. 10.7 приведена типовая схема включения такого стабилизатора и ва- риант его внешнего вида. В корпусе ТО-220, как на рисунке, такой стабили- затор может выдать ток до 2,4 А, если рассеиваемая мощность не превышает 20 Вт (с радиатором, естественно). Но есть большой выбор и других корпу- сов, включая корпуса для поверхностного монтажа. Особенно удобен ма- ленький корпус ТО-92 (тогда в название вклинивается буква L: 78L05) — он позволяет стабилизировать питание отдельных узлов независимо друг от друга, избегая таким образом их взаимного влияния. Разумеется, серия 78/79хх— не единственная в своем роде, есть и другие, аналогичные по функциональности. Можно спросить, а стоило ли тогда возиться с "супербета"-транзисторами и стабилитронами, конструируя наш стабилизатор для усилителя? Отвечу — в принципе, при указанных на схеме напряжениях вполне можно заменить верхний транзистор и стабилитрон с резистором на 7815, а нижние, соответ- ственно, на 7915. Но тут следует учесть, что для 78/79хх максимальный ток составляет 2,4 А, поэтому при максимальной мощности они просто будут ограничивать ток в нагрузке, что приведет к значительным искажениям
Правильное питание - залог здоровья. О питании электронных устройств 165 в усилителе. Максимальная мощность такого источника на интегральных стабилизаторах составит 2 • 36 Вт. Есть, разумеется, и другой выход — поис- кать интегральные стабилизаторы помощнее, и они, конечно же, существуют. Но какая для нашего усилителя разница, будет ли напряжение на нем 14,5 В или 15,5? Пусть оно даже немного "просаживается" с нагрузкой — здесь это тоже не страшно. Но когда это действительно критично — стоит побегать. Общий Рис. 10.7. Схема включения интегрального стабилизатора Однополярный регулируемый высокостабильный источник питания Эта схема (рис. 10.8) представляет собой лабораторный источник питания, который, как я обещал вам еще во второй главе, можно изготовить самим. Взглянув на эту схему, вы можете сначала слегка растеряться — настолько вам покажется все незнакомо. На самом деле там есть только одна вещь, ко- торую мы еще "не проходили": микросхема операционного усилителя (ОУ) DA1. Подробно с ОУ мы будем знакомиться в главе 14, а сейчас нам важно только вот что: это устройство всегда стремится сделать так, чтобы потен- циалы входов, обозначенных "плюс" и "минус", были равны. Эти входы
166 Глава 10 эквивалентны входам дифференциального усилителя, у которого, как вы помните, потенциалы входов тоже связаны между собой (на самом деле, внутри микросхемы на входе ОУ действительно стоит дифференциальный каскад). Для того чтобы это осуществлялось на практике, ОУ включают с от- рицательной обратной связью с выхода на тот вход, который обозначен зна- ком "минус". В данном случае такая связь осуществляется весьма заковыри- стым способом, и для того, чтобы понять, как она осуществляется, давайте посмотрим на рис. 10.9, на котором изображена та же самая схема, но в пре- дельно упрощенном варианте. П1 +20 в нестаб. Резистор Точное значение Ближайшее из ряда Е96 R4 4,0 к 4,02к R5 2,0 к 2,05к R6 770 763 R7 430 432 R8 133 133 R9 133 133 R10 533 536 Рис. 10.8. Схема лабораторного источника питания
Правильное питание - залог здоровья. О питании электронных устройств 167 Предположим, что R1 и R2 на рис. 10.9 равны между собой. Какое напряже- ние будет на выходе, т. е. на эмиттере транзистора VT1? Определить это очень просто. Если на "плюсовом" входе ОУ 1 В, как обозначено на схеме, то на "минусовом" тоже должен быть 1 В, как мы только что узнали. При каком условии это возможно? Только если на верхнем выводе R1, т. е. на выходе всей системы, будет 2 В — ведь R1 и R2 делят это напряжение пополам. То есть ОУ автоматически установит на базе транзистора VT1 такое напря- жение, чтобы на его эмиттере было ровно 2 В (можно даже догадаться, какое именно — на 0,6 В больше, чем надо, т. е. 2,6 В, но на самом деле это нас ма- ло интересует). А если мы положим, что R1 в два раза больше, чем R2? По- вторив предыдущие рассуждения, мы обнаружим, что на выходе должно быть 3 В. Отсюда можно вывести некоторую закономерность: система, пока- занная на рис. 10.9, усиливает напряжение, поданное на "плюсовой" вход, ровно в (R1/R2 + 1) раз. Рис. 10.9. Упрощенная схема лабораторного источника питания Именно так и работает схема источника на рис. 10.8. Переключатель П1 име- ет 6 положений, в каждом из которых он изменяет соотношение делителя в обратной связи таким образом, чтобы при напряжении 1 В на "плюсовом" входе на выходе получался некий ряд фиксированных напряжений. При ука- занных в таблице номиналах резисторов R4—R10 этот ряд будет следующим: 3; 5; 7,5; 10; 12 и 15 В. Этого достаточно для большинства наших нужд. Ко- нечно, можно не возиться с переключателем и подбором сопротивлений, а просто поставить вместо цепочки R5—R9 переменный резистор по схеме потенциометра, равный сумме этих сопротивлений — эффект будет тот же самый, только напряжение будет меняться плавно от 3 до 15 В. Однако иметь набор фиксированных напряжений намного удобнее — тут вы имеете точно
168 Глава 10 известное напряжение, а при плавной регулировке его каждый раз придется подгонять по вольтметру. Конечно, бывают изредка случаи, когда нужно иметь напряжение, скажем, 4,75 вольта, но на этот случай лучше иметь еще один — плавно регулируемый — источник. А вообще этот делитель можно устроить по-разному— возьмите переключатель на 12 положений— полу- чите переключение через 1 В. Можно добавить к нему переменный резистор и плавно регулировать напряжение внутри каждого фиксированного диапа- зона (подумайте, как это сделать? Подсказка: переключатель должен быть на два направления.). В общем, была бы фантазия. Теперь перейдем к подробному рассмотрению остальных, вспомогательных узлов схемы. Начнем слева направо — что это за монструозная конструкция с полевым транзистором там, наверху? На самом деле это всего лишь узел, который позволяет получить стабильное опорное напряжение ровно 1 В — от его стабильности точность шкалы выходных напряжений зависит напрямую. Сразу скажу, что вместо всей этой конструкции вполне можно поставить не- большую микросхему — источник опорного напряжения, и чтобы знатоки не сочли меня безнадежно отставшим экземпляром из каменного века, добавлю, что на деле именно так я бы и поступил. Между прочим, есть специальные микросхемы регулируемых стабилизаторов, в которых оба узла— и источ- ник опорного напряжения, и ОУ — уже упрятаны в один корпус. Добавлю, кстати, другую не всем известную вещь — в подобных случаях простых схе- мотехнических узлов применение микросхем отнюдь не всегда экономит площадь печатной платы, а лишь улучшает характеристики и упрощает от- ладку. А в данном случае поставить микросхему было бы и просто скучно — схема эта весьма поучительна. Полевой транзистор VT1 включен источником тока, известным нам из гла- вы 6— когда потенциалы затвора и истока равны, то ток сток-исток мало зависит от напряжения на стоке. Этот ток питает прецизионный стабилитрон VD1 типа КС818Е, напряжение которого мало зависит от температуры (но очень даже зависит от тока). Если будете искать замену транзистору VT1, то, в первую очередь, надо смотреть на параметр, который называется "началь- ный ток стока" — именно такой ток будет протекать через стабилитрон в этой схеме, а стабилитрон Д818Е хорошо работает в довольно узком диапа- зоне токов — не менее 5 и не более 15 мА. Напряжение стабилизации стаби- литрона равно 9 В, поэтому оно подается на делитель, составленный из большего постоянного (R1) и меньшего подстроечного (R2) резистора, с движка которого и снимается напряжение, равное 1 В. Потенциометром можно плавно менять всю шкалу напряжений на выходе (но до определенно- го предела, ограниченного как снизу, так и сверху). Разумеется, эту цепочку вполне можно заменить на два постоянных резистора.
Правильное питание - залог здоровья. О питании электронных устройств 169 Теперь перейдем к транзистору VT3 вкупе с резистором R3. Эта простая и остроумная конструкция выполняет важнейшую функцию — она ограничи- вает выходной ток. Как это происходит? Обратите внимание, что весь вы- ходной ток протекает через резистор R3, номинальное значение которого всего 0,3 Ом. В нормальном состоянии (например, на холостом ходу) падение напряжения на этом резисторе мало, поэтому транзистор VT3 закрыт, и все это дело не оказывает никакого влияния на работу схемы. Когда же выход- ной ток достигает значения примерно 2 А, падение напряжения на нем дости- гает сакраментальных 0,6 В, транзистор VT3 приоткрывается и начинает шунтировать переход база-эмиттер силового транзистора VT2, призакрывая его. В результате схема приходит в равновесие — если бы VT3 приоткрылся еще больше, закрывая силовой транзистор, выходной ток бы упал, падение напряжения на R3 бы уменьшилось, VT3 бы призакрылся и т. д. — и все за- стывает на уровне 2 А выходного тока, даже при коротком замыкании (к. з.) на выходе! Как только избыточная нагрузка на выходе будет снята, схема автоматически вернется в нормальный режим. Кстати, к следящему транзи- стору VT3 никаких требований не предъявляется — вообще никаких! — здесь может быть использован любой кремниевый транзистор, только он должен быть маломощный (чтобы не шунтировать токами утечки силовой транзистор) и не составной по схеме Дарлингтона. А вот силовой транзистор, наоборот, должен быть именно дарлингтоновский с "супербетой". В этой схеме есть, однако, одно, но большое НО. Заключается оно в том, что при к. з. на выходе все напряжение питания будет падать на переходе коллектор-эмиттер транзистора VT2 — ему больше просто некуда деваться. То есть выделяющаяся мощность на VT2 составит аж целых 40 Вт! И в нор- мальном режиме при маленьких установленных выходных напряжениях (3 или 5 В) при максимальной нагрузке эта мощность будет практически та- кой же. В этом и заключается главный недостаток данной схемы — крайне низкий КПД. Что поделаешь — такова природа аналоговых регуляторов! Есть, впрочем, немало способов этот КПД повысить — продаю идею про- стейшего из них, который годится именно для стабилизатора с дискретным набором выходных напряжений: надо взять трансформатор нестабилизиро- ванного источника, от которого питается эта схема, с несколькими обмотка- ми на разное напряжение, а к переключателю делителя добавить еще одно направление переключения так, чтобы при снижении напряжения на выходе напряжение питания стабилизатора также снижалось (но минимальный пере- пад между входом и выходом здесь должен составить не менее 4—5 В). Есть и более изощренные способы, скажем, регулировать действующее значение выпрямленного пульсирующего напряжения перед фильтром с помощью ти- ристорного моста. Но в таком случае схема настолько усложняется, что про- ще просто взять и построить импульсный источник.
170 Глава 10 В общем, в любом случае схема усложнится — а нам это надо? Отвечаю на последний поставленный вопрос — да, надо, если мы делаем, скажем, серий- ный прибор на продажу. Тогда, безусловно, имеет смысл повозиться и при- думать что-то покрасивее. А в лабораторных целях для себя можно вполне обойтись и такой схемой. Так что с силовым транзистором и радиатором для него все понятно, а сейчас мы вернемся к цепочке делителя и вглядимся внимательнее в таблицу номи- налов. Там приведены ближайшие к расчетным стандартные номиналы для ряда прецизионных резисторов, но, в принципе, в этой схеме применять С2-29В совершенно необязательно — не те точности требуются. Поэтому можно нужные номиналы просто подобрать из кассы обычных МЛТ, стара- ясь выдержать их как можно ближе к расчетным. Можно также весь расчет- ный ряд умножить или поделить на любое число, лишь бы все значения из- менились в одинаковой степени— от этого ничего не изменится! Границы, которыми следует при этом руководствоваться, — это нижний предел суммы всех резисторов в 1—2 кОм, а верхний — в пару десятков кОм. Несколько слов про основного нашего героя — операционный усилитель. Здесь указан классический ОУ типа цА741, который выпускается уже много десятков лет и приведена нумерация выводов (цоколевка) для него. У него есть и отечественный аналог — КР140УД7 (учтите на будущее, что отечест- венные аналоги западных микросхем не всегда имеют ту же цоколевку, так что это на всякий случай надо проверять). Вообще же здесь можно использовать почти любой ОУ широкого применения с надлежащим допус- тимым питанием — но подробности эти мы будем разбирать уже в главе 14. В заключение этой темы два слова о регулируемом двуполярном лаборатор- ном источнике. Нет никакого смысла изобретать его специально — надо про- сто взять два одинаковых однополярных источника, разместить их в одном корпусе (и даже запитать их от одного трансформатора, но обязательно от разных вторичных обмоток) и вывести наружу все четыре выходные клеммы по отдельности. Соединяя "плюс" одного источника с "минусом" другого пе- ремычкой, вы получаете общую "землю" двуполярного источника, убирая перемычку — имеете два раздельных однополярных. Как правильно питаться Мы уже слегка коснулись темы правильной разводки питания в главе 9, когда рассказывали об усилителе звуковой частоты. Сейчас мы сформулируем несколь- ко общих принципов.
Правильное питание - залог здоровья. О питании электронных устройств 171 Рис. 10.10. Схема разводки питания между источниками и потребителями Общая схема грамотной разводки питания между источниками и потребителя- ми в электронных устройствах приведена на рис. 10.10, а. На практике, если источник расположен в отдельном корпусе, то указанной на блок-схеме общей точкой соединения "земли" служит выходная клемма "минус" этого корпуса (кстати, поэтому лучше делать выходные клеммы источника не по одной, а, например, парами, чтобы можно было подключить как минимум две нагрузки к одной точке). Если же вся конструкция — и источники и нагрузки — пред- ставляет собой набор плат в едином корпусе, то за общую точку удобно вы- брать минусовой вывод основного фильтрующего конденсатора. Смысл такой разводки заключается в том, чтобы токи от разных потребителей не протекали по одному и тому же проводу — это может вызвать их взаимное влияние и вся- кие нежелательные явления. Характерное подобное явление под названием "захват частоты" можно наблюдать, если на двух разных, но с общим питани- ем, платах имеются генераторы (не кварцевые), работающие на близких или кратных частотах — вдруг по непонятным причинам они начинают работать на одной и той же частоте! Иногда от этого очень трудно избавиться, поэтому лучше сразу делать все правильно. Для этого же ставят — как можно ближе к выводу питания нагрузки — развязывающие конденсаторы, причем если это отдельная плата, то на ней прямо около входного разъема, ни в коем случае не
/72 Глава 10 в дальнем конце платы! Когда в ходу были еще микросхемы базовой ТТЛ- логики (см. главу 20), которые потребляли по 30 мА каждая, рекомендовалось ставить по керамическому конденсатору емкостью до 0,1 мкФ буквально на каждый корпус — ясно, что соблюсти на плате с двадцатью корпусами прин- цип "единой точки" не удается. Если же по каким-то причинам идеала по об- разцу рис. 10.10, а при межплатном соединении достичь не получается (да и независимо от этого), то провода питания должны быть как можно толще — если провод тонкий, то на нем самом за счет протекающего тока происходит падение напряжения, и разные потребители оказываются под разными потен- циалами — как по "земле", так и по питанию. Кстати, о "земле" — почему я ее все время заключаю в кавычки? Дело в том, что в электротехнике существует совершенно определенное понятие зем- ли — когда нечто находится под потенциалом земной поверхности, который принимается за истинный ноль напряжения. Под таким потенциалом по по- нятным причинам находятся, например, водопроводные трубы. Есть еще по- нятие "нулевого провода" (один из проводов в вашей домашней розетке все- гда нулевой, второй называется "фазным") — он теоретически находится тоже под потенциалом земли, но практически он соединяется (возможно) с истинной землей только где-то на электростанции, а за счет несбалансиро- ванности протекающего по нему тока потенциал его может "гулять" и до- вольно сильно. Поэтому правильно организованная бытовая электросеть все- гда должна включать в себя третий провод, который есть истинное заземление. Если у вас такого третьего провода нет (печально, но в нашей стране обычно именно так), то ни в коем случае не пытайтесь его организо- вать путем присоединения к водопроводной трубе— в случае попадания фазного напряжения на такое "заземление", сопротивления между трубой и землей вполне может хватить, чтобы убить кого-нибудь, кто будет в соседней квартире в этот момент мыть руки под краном. Если же вернуться к нашей схемотехнической "земле", то самое правильное называть ее "общим прово- дом", просто термин прижился, да и звучит короче. От электротехники обратимся опять к питанию электронных устройств. На рис. 10.10, б показана схема развязывающего фильтра для маломощной нагрузки в пределах одного электронного узла. Это может быть входной кас- кад усиления микрофонного усилителя, который особо чувствителен к каче- ству питания, и его требуется развязать от следующих более мощных каска- дов (может такой фильтр помочь и в случае "гудения" нашего усилителя из главы 9, если его установить по "плюсу" и "минусу" питания между диффе- ренциальным каскадом и остальной схемой). На рис. 10.10, в показана пра- вильная организация питания с такими фильтрами для быстродействующих или прецизионных операционных усилителей — в частности, в измеритель- ных схемах, о которых мы будем говорить в следующих главах.
Глава 11 Тяжеловесы. Устройства для управления мощной нагрузкой — Что вы делаете? — с удивлением вос- кликнула миледи. — Положите мне руки на шею и не бойтесь ничего. — Но из-за меня вы потеряете равновесие, и оба мы упадем и разобьемся. А. Дюма, "Три мушкетера" Немало практических задач состоит в том, чтобы маломощное управляющее устройство, например, простой переменный резистор или схема управления, построенная на логических или аналоговых микросхемах, могло бы управ- лять мощной нагрузкой, как правило, работающей от бытовой электрической сети. Это одна из тех областей техники, где за последние полвека электрони- ка совершила настоящий переворот. Представьте себе работу, скажем, осве- тителя в театре еще в пятидесятые годы XX века. Для плавного регулирова- ния яркости прожектора тогда использовался последовательно включенный реостат — проще говоря, регулирование осуществлялось по схеме, приведен- ной на рис. 1.4. Если вы хорошо усвоили материалы первых глав, то должны сообразить, что мощность, которая будет выделяться на реостате, составит не меньше четверти мощности прожектора. Если прожекторов много (а в театре их много), и мощность каждого равна, к примеру, 500 Вт, то в операторской будке осветителя спокойно можно устраивать сауну. То ли дело сейчас, когда осветитель сидит за клавиатурой вроде компьютерной (а иногда и просто за компьютерной) и управляет этим делом, как "белый человек"... В предыдущей главе мы упоминали о том, что электронные устройства ни в коем случае нельзя строить по бестрансформаторной схеме так, чтобы ор- ганы управления были напрямую связаны с сетью. При построении схем, управляющих сетевой нагрузкой, возникает непреодолимое искушение изба- виться от трансформаторов питания и последующих устройств сопряжения: в самом деле, электричество в конечном счете одно и то же, так, спрашивает- ся, зачем возиться? Но не поленимся повторить: поступать так не следует,
174 Глава 11 потому что это опасно для жизни. И не только вашей жизни, которая под- вергнется опасности при отладке подобных устройств, но и для жизни тех, кто ими будет пользоваться. Но в то же время в этой главе вы увидите неко- торые исключения из этого правила: они касаются случая, когда управление сетевой нагрузкой осуществляется в автоматическом режиме, и доступ людей к элементам схемы во время ее работы исключен. Самая простая схема управления мощной нагрузкой — релейная. Она приме- нима в тех случаях, когда нагрузку нужно просто включать и выключать. Мы не будем подробно останавливаться на этом случае, т. к. о реле достаточно сказано в главе 7. Однако отметим один существенный момент, о котором мы ранее не упоминали: дело в том, что при релейном управлении сетевая на- грузка может отключаться и включаться, естественно, в произвольный момент. В том числе, этот момент может попадать и на самый пик перемен- ного напряжения, когда ток через нагрузку максимален. Разрыв — или со- единение — цепи с большим током, как мы уже знаем (см. главы 5 и 7) при- водит к разного рода неприятностям: во-первых, это искрение на контактах из-за выброса напряжения, что приводит к их повышенному износу, во- вторых (и в главных), это создает очень мощные помехи, причем как другим потребителям в той же сети, так и электромагнитные помехи, распростра- няющиеся в пространстве. В моей практике был случай, когда включение мощного двигателя станка через пускатель приводило к тому, что в микро- контроллере, установленном в блоке на расстоянии пяти метров от станка, стиралась память программ! Это несмотря на то, что все возможные меры по защите от помех по питанию были приняты. Чтобы избежать такой ситуации, для коммутации мощной нагрузки лучше применять не обычные электромагнитные реле или пускатели, а оптоэлектрон- ные, подобные тому, что описано в самом конце главы 7. В них часто встроен так называемый zero-детектор — устройство, которое при получении команды на отключение или включение дожидается ближайшего момента, когда пере- менное напряжение переходит через ноль, и только тогда выполняет команду. А теперь перейдем к более интересным вещам: к плавному регулированию мощности в нагрузке. Мы будем это делать, регулируя действующее значе- ние напряжения, которое на нее поступает. Базовая схема регулирования напряжения на нагрузке Для этой цели нам придется применить один электронный прибор, который мы до сих пор не рассматривали: тиристор, представляющий собой управ- ляемый диод и соединяющий в себе свойства диода и транзистора. По схеме
Тяжеловесы. Устройства для управления мощной нагрузкой 175 включения тиристор несколько напоминает ключевой транзистор — у него то- же три вывода, которые работают аналогично соответствующим выводам тран- зистора (рис. 11.1). В обычном состоянии тиристор заперт и представляет со- бой бесконечное сопротивление, а для открывания достаточно подать напряжение на управляющий электрод — аналог базы у транзистора. Величина тока через управляющий электрод составляет несколько мА или десятков мА — в зависимости от мощности тиристора (у обычно применяемых тиристо- ров на токи 3—10 А предельно допустимый управляющий ток достигает 300— 500 мА), а напряжение должно достигать определенной величины*. Разница заключается в том, что для удержания транзистора в открытом состоянии через базу нужно все время гнать управляющий ток, а тиристору для открывания достаточно короткого импульса (причем в этом случае ограничительный рези- стор можно не ставить — на схеме рис. 11.1 он показан пунктиром). Как и все диоды, тиристоры выдерживают большие перегрузки по току при условии, что они кратковременны. Во включенном состоянии тиристор ведет себя как обычный диод, а закроется только тогда, когда ток через него (именно через него, в цепи анод-катод, а не по управляющему переходу) снизится до нуля. Если использовать его в цепи переменного тока, то это произойдет почти сразу, в конце ближайшего полупериода, при переходе напряжения через ноль. А вот в цепи постоянного тока тиристор сам не отключится, пока через него идет ток. В принципе тиристор можно закрыть и подачей на управляющий электрод им- пульса противоположной полярности, но практически этим никто не пользует- ся (и возможность эта для обычных тиристоров относится к числу недокумен- тированных), потому что и напряжение, и ток такого импульса должны быть сравнимы с напряжением и током в силовой цепи анод-катод. Одиночный тиристор может обеспечить регулирование только положитель- ного напряжения. В сети переменного тока в открытом состоянии он будет работать как диод, отрезая отрицательную полуволну. Чтобы регулировать переменное напряжение в течение обоих полупериодов, нужен еще один ти- ристор, включенный наоборот. Так как тиристоры во всем, кроме управле- ния, ведут себя подобно диодам, их можно включать встречно-параллельно. Для обычных диодов такое включение применяется только в схемах, подоб- ных показанной на рис. 7.5 — они всегда открыты, так что, если не обращать внимания на падение напряжения в 0,6 В, при включении последовательно 1 В отсутствии открывающего импульса тиристор все равно можно открыть, если подать на анод достаточно высокое напряжение — ток через управляющий электрод всего лишь снижает это открывающее анодное напряжение практически до нуля (но при этом управляющий им- пульс также должен иметь напряжение не ниже некоторого порога). Существует отдельный класс приборов под названием динисторы, которые представляют собой тиристоры без управ- ляющего электрода — они открываются при превышении анодным напряжением определен- ной величины, которая обычно составляет несколько десятков вольт.
176 Глава 11 с нагрузкой такая схема просто ничего не делает. Иное дело тиристоры — если на управляющие электроды ничего не подавать, то нагрузка будет от- ключена, если же подавать управляющие импульсы в нужной фазе и поляр- ности относительно питающего напряжения, то они будут открываться и подключать нагрузку. Причем управляющие электроды можно объединить (тогда на общий электрод придется подавать разнополярное напряжение в зависимости от полярности напряжения питания в данный момент) и упа- ковать их в один корпус — получим прибор, который называется симистором, т. е. симметричным тиристором или, на западный манер, триаком (рис. 11.2, а). Амплитуда управляющих импульсов для тиристоров средней мощности (рас- считанных на токи порядка 3—10 А) должна составлять примерно 10—20 В, а длительность его может не превышать 0,05 мс. Рис. 11.1. Основная схема включения тиристора. 1 — управляющий электрод; 2 — анод; 3 — катод Рис. 11.2. Симистор: а — основная схема включения; б— графики напряжения в схеме
Тяжеловесы. Устройства для управления мощной нагрузкой 177 На осциллограммах (рис. 11.2, б) перед нами пример управления мощностью в нагрузке с помощью тиристора. Здесь нашему взору предстает очень инте- ресная картина. В начале каждого полупериода тиристор закрыт, управляю- щий импульс подается только через промежуток времени, равный трети дли- тельности этого полупериода (т. е. со сдвигом фаз, равным тс/З относительно напряжения питания), и тогда тиристор открывается. Закрывается он, как уже говорилось, в момент перехода питающего напряжения через ноль. В резуль- тате напряжение на нагрузке будет иметь необычный вид, показанный на графике внизу. Каково будет действующее значение напряжения? Ясно, что оно будет меньше, чем в отсутствие тиристора — или чем в случае, если бы управляющий импульс подавался в самом начале периода. Если же, наобо- рот, подавать управляющий импульс в самом конце, то действующее значе- ние будет близко к нулю. Таким образом, сдвигая фазу управляющих им- пульсов, мы можем плавно менять мощность в нагрузке с достаточно высоким КПД. А можно ли вычислить, чему будет равно действующее значение во всех этих случаях? Обычно такие расчеты не требуются, но иногда, как мы увидим ни- же, полезно эту величину знать, т. к. стандартным цифровым мультиметром измерить ее невозможно — по причинам, указанным в главе 4, он покажет для напряжения такой формы все что угодно, только не истинную величину2. Для того чтобы рассчитать величину действующего значения для разных ве- личин сдвига фазы, нужно взять интеграл от квадрата мгновенного значения напряжения в течение всего полупериода. Полученная в результате формула будет выглядеть так: tj = sin2H д V I2 4 J’ где: иЛ — действующее значение напряжения на нагрузке; Ua— амплитудное значение питающего напряжения; t — определяется по формуле t = п - ср, если сдвиг фазы (р выражать в радиа- нах или по формуле t = тс(18О - ср)/180, если сдвиг фазы (р выражать в градусах. При сдвиге фазы больше, чем половина периода (т. е. (р > тс/2) полезно знать также максимальное значение напряжения на нагрузке t/max, потому что от ' Единственный прибор, который правильно покажет значение действующего напряжения любой формы — аналоговый вольтметр электромагнитной системы (его легко узнать по не- равномерной шкале, деления на которой к концу отстоят все дальше и дальше друг от друга). Для того чтобы можно было несинусоидальное напряжение измерить цифровым прибором, между измеряемой величиной и вольтметром необходимо вставить интегратор, который осуществлял бы операцию интегрирования, описанную далее.
178 Гпава 11 этого иногда зависит выбор элементов (при сдвиге фазы меньше полови- ны периода максимальное значение попросту равно амплитудному значе- нию питающего напряжения). Его можно рассчитать по простой формуле: Umax — t/aSin((p). В таблице приведены результаты расчета по этим формулам для синусои- дального напряжения 220 В. В последней колонке таблицы приведены вели- чины мощности, которая будет выделяться в нагрузке, в процентах от макси- мальной мощности, которая выделялась бы при прямом включении нагрузки в сеть или, что то же самое, при сдвиге фазы управляющего импульса, равной 0. Ф, град Ф, рад ^действ ^вмпл Р,% 0 0.00 219.9 311.0 99.9 10 0.17 219.8 311.0 99.8 20 0.35 218.9 311.0 99.0 30 0.52 216.7 311.0 97.0 40 0.70 212.6 311.0 93.4 50 0.87 206.2 311.0 87.8 60 1.05 197.2 311.0 80.4 70 1.22 185.7 311.0 71.3 80 1.40 171.8 311.0 60.9 90 1.57 155.5 311.0 50.0 100 1.75 137.3 306.3 39.0 110 1.92 117.7 292.2 28.6 120 2.09 97.2 269.3 19.5 130 2.27 76.5 238.2 12.1 140 2.44 56.3 199.9 6.5 150 2.62 37.3 155.5 2.9 160 2.79 20.6 106.4 0.9 170 2.97 7.4 54.0 0.1 180 3.14 0.0 0.0 0.0 Анализ результатов приводит нас к довольно интересным выводам. Зависи- мость действующего значения напряжения и мощности в нагрузке практически не меняется по сравнению с максимальной вплоть до сдвига фаз, равного 30°
Тяжеловесы. Устройства для управления мощной нагрузкой 179 (в радианах л/6 или примерно 0,5) — помните из школьной тригонометрии правило: "синусы малых углов равны самому углу"? Это оно и действует. Дальше значения мощности очень быстро падают вплоть до 150—160°, когда мощность становится уже исчезающе малой — но обратите внимание на ве- личину амплитудного значения! При сдвиге фаз в 160°, когда мощности практически никакой уже нет (0,9% можно не принимать во внимание), ам- плитудное значение все еще равно аж целых 106 В — такое напряжение вполне способно вывести из строя, скажем, маломощные диоды, у которых допусти- мое обратное напряжение часто не превышает нескольких десятков вольт. Самый важный вывод, который следует из анализа данных в таблице, — из- менение мощности в нагрузке в зависимости от угла сдвига фазы происходит нелинейно. По этой причине при проектировании устройств регулирования не имеет смысла начинать регулировку с малых углов сдвига фаз — реально ничего меняться не будет, и значительная часть хода регулировочного элемен- та будет холостой, практические изменения начнутся с углов в 30° и более. Закончив на этом со скучной теорией, перейдем к практическим схемам. Ручной регулятор мощности Такое устройство будет незаменимо, скажем, в фотостудии, где используют- ся мощные осветительные лампы: сначала вы уменьшаете яркость до поло- вины, спокойно, не заставляя клиента щуриться и обливаться потом, на- страиваете освещение, потом выводите яркость на полную и производите съемку. Можно это устройство также применить для плавного регулирования мощности нагревателя электроплитки и в других областях. Так как оно предполагает ручное управление, нам надо позаботиться о том, чтобы изолировать орган управления — это будет переменный резистор — от сетевого напряжения. Самое удобное было бы — использовать для этого си- мисторную оптопару типа, к примеру, МОС2А60-Ю фирмы Motorola. Такая оптопара работает так же, как отдельный симистор, только вход у нее — не управляющий электрод симистора, а светодиод, подобно тому, как это дела- ется в диодных оптронах и электронных реле, описанных в главе 7. Сами электронные реле, если они содержат упомянутый выше zero-детектор, ис- пользовать в данной схеме невозможно, т. к. никакого фазового управления не получится. Если же они zero-коррекции не имеют, то их можно использо- вать, но с таким же успехом можно использовать готовую микросхему фазо- вого регулятора, и мы пока не будем изобретать, а последуем примеру из- вестного политического деятеля по фамилии Ульянов-Ленин и пойдем другим, более традиционным путем. Мы будем питать основную схему прямо
180 Глава 11 от сети, а вот регулировочный резистор изолируем от нее с помощью оптро- на — только не симисторного, а диодного или резисторного, выходное со- противление которого линейно зависит от входного тока. Рис. 11.3. Схема ручного регулятора мощности в нагрузке Схема регулятора представлена на рис. И.З. Сначала представим себе, что вместо фотодиода оптрона у нас в схеме стоит обычный постоянный рези- стор. Узел, который включает этот резистор, транзисторы VT1 и VT2, кон- денсатор С1 и резисторы R3-R6, представляет собой т. н. релаксационный генератор на аналоге однопереходного транзистора с n-базой. Хитрая схема включения разнополярных транзисторов VT1 и VT2 и есть этот самый ана- лог, Подробно свойства однопереходного транзистора мы разбирать не бу- дем, потому что за все время моей практики единственное для него примене- ние сыскалось только вот в такой схеме релаксационного генератора. Для нас достаточно знать, что такое устройство работает следующим образом: если напряжение на входе, т. е. соединенных эмиттерах VT1 и VT2, меньше, чем на соединенных базе VT1 и коллекторе VT2 (т. е. на делителе R3-R4), то однопереходной транзистор заперт. Если же напряжение на входе превысит напряжение на делителе R3-R4, то транзистор откроется, причем необыч- ным образом — ток потечет от входа к эмиттеру транзистора VT2 и создаст падение напряжения на резисторе R5. В открытом состоянии он будет, по- добно тиристору, пребывать до тех пор, пока ток через него (читай — напря- жение на входе) не упадет до нуля. Резистор R6 нужен для более надежного за-
Тяжеловесы. Устройства для управления мощной нагрузкой 181 пирания транзистора VT2. Теперь понятно, как работает генератор: сначала конденсатор заряжается с постоянной времени, обусловленной его емкостью С и сопротивлением фоторезистора R, и когда напряжение на нем достигнет половины напряжения питания (что обусловлено одинаковостью резисторов R3 и R4), он очень быстро разрядится через открывшийся однопереходной транзистор, резистор R5 и подключенный параллельно с ним управляющий электрод тиристора, формируя импульс включения. Когда напряжение на конденсаторе станет мало, однопереходной транзистор закроется, и все нач- нется сначала — конденсатор начнет заряжаться и т. д. Частоту генератора можно оценить по формуле f = URC. А что тиристор? Он теперь останется открытым до очередного перехода сетевого напряжения через нуль, а затем будет ожидать следующего открывающего импульса. Меняя сопротивление фоторезистора — т. е. изменяя входной ток светодиода оптрона, мы можем менять промежуток между открывающими импульсами и, тем самым, сдви- гать их фазу относительно периода сетевого напряжения. Однако это еще довольно приблизительное описание того, что на самом деле происходит в этой схеме. Внимательный читатель давно заметил, что пита- ние генератора осуществляется прямо от выпрямленного напряжения сети через резистор R7, величина которого подобрана таким образом, чтобы на- пряжение на элементах схемы даже на максимуме синусоиды не превышало бы примерно 30 В и не вывело бы элементы схемы из строя. Такое пульси- рующее питание в данном случае вовсе не просто суровая необходимость — оно крайне полезно. Все дело в том, что частота всех аналоговых генераторов с времязадающей RC-цепочкой весьма нестабильна и зависит от множества причин. Если бы мы использовали для питания такого генератора постоянное напряжение, то установленный нами промежуток между импульсами быстро бы "уехал", и ни о каком стабильном сдвиге фазы и речи бы не шло— на- пряжение на нагрузке менялось бы хаотически. Хотя у выбранной нами схе- мы генератора рабочая частота, которая определяет промежуток между им- пульсами, довольно слабо зависит от напряжения питания в самых широких пределах, это бы не помогло. В данном же случае, когда тиристор открывает- ся, он шунтирует мост (ток ограничен током нагрузки), все падение напряже- ния сети теперь приходится на нагрузку, и напряжение питания генератора снижается почти до нуля (точнее — до утроенного значения падения на дио- де). В конце очередного полупериода тиристор запирается, и генератор опять начинает работать. Когда напряжение питания падает практически до нуля, однопереходной транзистор, согласно описанному выше алгоритму его рабо- ты, откроется — ведь на входе у него напряжение, накопленное на конденса- торе, и оно рано или поздно превысит напряжение на делителе, причем в конце концов это произойдет, даже если тиристор не откроется вовсе
182 Глава 11 (в схемах без моста в цепи нагрузки, приведенных ниже, работа тиристора не оказывает влияния на питание схемы), потому что в конце полупериода на- пряжение так или иначе упадет. Поэтому, независимо от того, насколько конденсатор заряжен, он к концу полупериода обязательно разрядится и к началу нового полупериода придет "чистеньким". Это означает, что схема наша автоматически синхронизируется с частотой сети, и промежуток вре- мени от начала очередного полупериода до возникновения запускающего тиристор импульса (фаза управляющего импульса) будет достаточно стаби- лен независимо от внешних условий. Если вдруг вы захотите использовать в этой схеме вместо аналогового генератора контроллер (что будет, несо- мненно, гораздо более современным решением), то вам придется тоже обяза- тельно синхронизировать его выходные импульсы с сетевым напряжением — теперь уже не потому, что их частота будет нестабильна (для контроллера она, как правило, задается кварцевым генератором, хотя это и необязательно), а наоборот, потому что нестабильна частота сети и синхронизировать эти частоты по-другому невозможно. Если вникнуть в описанный алгоритм работы глубже, то станет понятно, что при малых углах регулирования (до половины полу периода) генератор, в принципе, может выдать (а в схемах, описанных далее — и выдаст) за по- лупериод несколько импульсов, но это не должно нас смущать — тиристор запустится с первым пришедшим, а остальные просто сработают вхолостую. Вот сколько тонкостей зарыто в такой, казалось бы, простой схеме! Кстати, законный вопрос — а что, сам однопереходной транзистор нельзя было ис- пользовать, обязательно было городить аналоги? Ответ— можно. Вместо двух транзисторов VT1 и VT2 можно включить один однопереходной тран- зистор типа КТ117 с n-базой. А вот однопереходные транзисторы противопо- ложной полярности, с p-базой, несомненно, существуют в природе, однако ваш покорный слуга ни разу в руках их не держал, предпочитая использовать аналог, чем заниматься поисками. Такой транзистор нам понадобится, на- пример, для симметричной схемы (см. рис. 11.5). Никакой разницы при ис- пользовании аналога в работе схемы не будет. Оптрон АОД130Б можно заменить на любой другой диодный оптрон, однако учтите, что отечественные оптроны старых моделей имеют очень небольшое пробивное напряжение изоляции (100—200 В), что, впрочем, критично толь- ко в том случае, если регулирующая схема (переменный резистор) гальвани- чески соединена с потенциалом, связанным с сетью — например, заземлена. Так как это маловероятно, то, в крайнем случае, можно не обращать внима- ния на этот параметр, но все же использовать "нормальные" оптопары как-то ... спокойнее. Транзисторы КТ815Г—КТ814Г, вообще говоря, можно заменить
Тяжеловесы. Устройства для управления мощной нагрузкой 183 на соответствующие маломощные, скажем, на мои любимые КТЗ15Г—КТ361Г или КТЗ 102—КТЗ 107, потому что мощность транзистора тут большой роли не играет, но с более мощными схема может работать стабильнее из-за того, что у них в открытом состоянии внутренние сопротивления переходов суще- ственно ниже. Конденсатор С1, естественно, керамический или с органиче- ским диэлектриком, например, КМ-6. Тиристор можно заменить на любой другой близкий по мощности. Для больших токов нагрузки (>1—2 А) тиристор придется поставить на радиатор 15—30 см . Крупным недостатком этой схемы является наличие моста, через который течет тот же ток, что и через нагрузку. При указанных на схеме дио- дах, рассчитанных каждый на ток до 3 А и тиристоре с предельным током 10 А мощность в нагрузке, в принципе, может достигать 1,3 КВт (т. к. через каждый диод течет ток только в течение одного полупериода, то ток через него и мощность, выделяющаяся на нем, наполовину меньше, чем на тиристоре). Производители диодов из серии lN54xx в описании их характеристик хваста- ются, что даже при максимальном токе 3 А дополнительного теплоотвода для них не требуется, однако, если рассчитывать на максимальную мощ- ность, и тем более, если устройство будет собрано в герметичном корпусе, где будет, несомненно, очень жарко, то их все же лучше заменить на такие, которые можно устанавливать на радиатор, например, из серии КД202 с бук- вами от К до Р (т. к. эти диоды рассчитаны на ток до 5 А, то можно выжать мощность уже 2 КВт). Естественно, можно использовать и готовый мост, скажем, импортный KBL04. Отладку надо начинать со сборки всей схемы, исключая тиристор с мостом и резистор R7. Регулирующую цепочку вход оптрона-К1-К2 (вместо перемен- ника R1 впаяйте пока постоянный резистор) следует подсоединить к тому источнику питания, который будет использоваться в реальном регуляторе (можно применить любой нестабилизированный источник со встроенной вилкой или только его внутренности, как указано в главе 10). Напряжение источника большого значения не имеет, оно может быть любым в диапазоне от 7 до 20 В. Питание остальной части схемы мы на период отладки обеспе- чиваем также от источника постоянного тока— можно от того же самого, что и регулирующая цепочка. Питание включаем так, чтобы плюс его был наверху по чертежу схемы. Затем постоянный резистор, заменяющий R1, пе- ремыкаем накоротко с помощью проволочной перемычки, все включаем и смотрим с помощью осциллографа импульсы, которые должны появиться на резисторе R5. Если импульсов нет, это означает одно из двух — либо что-то неправильно собрано, либо вы их просто не видите, т. к. они достаточно ко- роткие. Посмотрите тогда форму напряжения на конденсаторе С1 — там вы точно должны все поймать. Если конденсатор заряжается и разряжается как
184 Глава 11 надо, попробуйте опять поймать импульсы, меняя длительность развертки и используя синхронизацию. После этого определите по сетке осциллографа и установкам времени развертки время промежутка между ними. Изменяя номинал резистора R2, это время нужно установить в пределах одной- полутора миллисекунд, меньше не надо, т. к. мы уже знаем, что при меньших фазовых сдвигах регулирования все равно никакого не будет (30° сдвига соответствует примерно 1,5 мс для частоты 50 Гц). После этого снимаем пе- ремычку с R1. В этом состоянии промежуток должен находиться в пределах 10—11 мс. Если это не так, то подберите этот резистор. Затем на его место следует впаять переменный резистор точно такого же номинала. Наконец, отключаем осциллограф, подключаем резистор R6 и мост с тири- стором, а в качестве нагрузки подсоединяем обычную бытовую лампочку накаливания. Насчет мер предосторожности при работе с сетевым напряже- нием вам уже все, надеюсь, известно (если нет— перечитайте соответст- вующий фрагмент из главы 2). Не забудьте убедиться, что на макете не валя- ются обрезки выводов компонентов, которые могут замкнуть сетевое питание и устроить тем самым маленький атомный взрыв. Сначала включаете пита- ние регулирующей цепочки, потом — сеть. При вращении движка резистора R3 яркость лампы должна плавно меняться от максимума до полной темно- ты. В последнем случае волосок не должен светиться совсем, даже темно- красным свечением. Чтобы убедиться в наличии максимума, надо просто временно перемкнуть тиристор (осторожно! перемычку надо устанавливать только при выключенном сетевом питании) — это и будет номинальная яр- кость лампы. Если диапазон регулировки недостаточен или, наоборот, в на- чале или конце наблюдается значительный холостой ход — подберите рези- сторы R1-R2 поточнее. На рис. 11.4 изображен улучшенный вариант предыдущей схемы без мощно- го моста (управляющая цепочка не показана). Для того чтобы обеспечить на- пряжение в нагрузке в оба полупериода, используются два тиристора, вклю- ченные встречно-параллельно. Управление ими осуществляется через импульсный трансформатор Т1, который представляет собой ферритовое кольцо марки 1000НН—2000НН диаметром от 20 до 30 мм. Обмотки намота- ны проводом МГТФ-0,35. Первичная обмотка (I) содержит 30—40 витков, вторичные (II и III) наматываются вместе и содержат от 40 до 50 витков каж- дая. Обратите внимание на противоположную полярность включения вто- ричных обмоток— если она иная, то включение нагрузки будет только в один из полупериодов. Через маломощный мост КЦ407 питается схема ге- нератора, работа которой не отличается от описанной выше. Резистор R7 можно поставить и до моста в цепь переменного напряжения, тогда требова- ния к предельно допустимому напряжению диодов моста снижаются.
Тяжеловесы. Устройства для управления мощной нагрузкой 185 R7 ЮОк Рис. 11.4. Вариант регулятора с двумя встречно-параллельными тиристорами DA1 АОР124Б R6 ЮОк Рис. 11.5. Вариант регулятора с симистором вместо тиристора * Зак. 710
186 Глава 11 Укажу еще один вариант схемы, которая позволяет вместо двух тиристоров использовать симистор (триак). Модернизированная схема устройства пока- зана на рис. 11.5. Отличается она тем, что генератор работает в обеих поляр- ностях сетевого напряжения — в положительном полупериоде работает ана- лог однопереходного транзистора с n-базой на транзисторах VT1 и VT2, как и выше, а аналог однопереходного транзистора противоположной полярно- сти (с p-базой) на транзисторах VT3 и VT4 делает все то же самое, но в отри- цательном полупериоде напряжения. Таким образом, управление симистором обеспечивается в обоих полупериодах. Это остроумное решение заимствова- но с сайта www.electrostar.narod.ru. Однако, чтобы здесь обеспечить плав- ную регулировку, диодный оптрон не годится, т. к. он может работать только в определенной полярности, и приходится использовать резисторный оптрон АОР124Б. Он может быть заменен на любой другой резисторный оптрон (их не так-то и много разновидностей) или даже изготовлен самостоятельно из светодиода и фотосопротивления (последних как раз в продаже предостаточ- но) — для этого достаточно закрепить светодиод эпоксидной смолой в вер- тикальном положении на фотосопротивлении так, чтобы он смотрел прямо "в лицо" последнему, а потом плотно закрасить оставшуюся часть окна фото- резистора густой темной краской или залепить черной липкой лентой. Един- ственный, но существенный недостаток этой схемы по сравнению с преды- дущими вариантами — резисторный оптрон может вести себя не слишком стабильно, особенно при изменениях температуры. Поэтому такая схема в силу своей простоты может быть рекомендована для использования в схе- мах регулирования мощности с обратной связью, которая устраняет послед- ствия нестабильности регулятора, например, в схеме прецизионного термо- стата (см. рис. 15.7). Устройство плавного включения ламп накаливания Лампы накаливания перегорают практически всегда при включении. Это происходит потому, что сопротивление вольфрамового волоска, как и любо- го металла, зависит от температуры — с повышением температуры оно по- вышается, причем т. к. перепад температур очень велик (порядка 2000 граду- сов), то сопротивление холодной лампы может быть в десятки раз ниже, чем горящей. Например, у лампы 100 Вт, 220 В рабочее сопротивление должно быть почти 500 Ом, однако мультиметр для выкрученной из цоколя лампы покажет величину меньше 40 Ом. Большой начальный ток и является причи- ной выхода лампы из строя. Целесообразно при включении постепенно (в течение 0,5—1 с) повышать напряжение — это может продлить срок службы лампы в несколько раз.
Тяжеловесы. Устройства для управления мощной нагрузкой 187 Такое устройство легко соорудить из разобранной выше схемы ручного регу- лятора в любом из ее вариантов путем небольшой переделки узла управле- ния. Так как это устройство не будет содержать органов ручного управления, то оно представляет собой то самое исключение из правил — питать его можно целиком прямо от сети. Оптрон мы сохраним как удобное устройство управления. Переделки сведутся к тому, что мы заменим цепочку R1-R2 на узел, показанный на рис. 11.6. Здесь конденсатор С2 (я сохранил нумерацию компонентов) после включения питания заряжается через резистор R1 с по- стоянной времени RC. Так как изначально конденсатор разряжен, то тока че- рез светодиод оптрона не будет и генератор не работает — темновое сопро- тивление фотосопротивления слишком велико. По мере заряда конденсатора напряжение на выходе эмиттерного повторителя будет возрастать, ток через оптрон увеличиваться и в течение примерно 1 с он возрастет настолько, что фаза управляющих импульсов сдвинется к самому началу полупериода и яр- кость горения лампы станет максимальной. После выключения питания С2 разрядится через цепочку переход база-эм иттер-К2-светод иод оптрона, и схема придет в начальное состояние. Питание управляющего узла должно быть положительным, поэтому мы его питаем через диод VD2. Удобством в этой схеме является то, что особо тонкой настройки она не требует. Со- берите ее при указанных номиналах и сразу включите в сеть. Если яркость растет слишком быстро или, наоборот, медленно — подберите резистор R1. Если же она вообще не достигает максимальной, то умень- шите значение резистора R2. VD2 К R6 R1* 47к + С2 = 47,0мк х35 В КД521 f VT5 Н^КТ3102 HR2‘ 1|б,2к к нижнему выводу С1 Рис. 11.6. Переделка узла управления для устройства плавного включения ламп накаливания
188 Глава 11 Подобных схем регуляторов очень много в радиолюбительской литературе и в Сети (см., например, [14]), имеются и более компактные конструкции, в том числе такие, которые представляют собой двухполюсник и могут под- ключаться в разрыв цепи нагрузки. Естественно, схемы подобных регулято- ров выпускают и в интегральном исполнении. Мы их здесь разбирать не бу- дем — в принципе все они устроены похоже, а принцип мы изучили. Еще раз только напомним про правило: если схема предполагает ручное управление, органы управления ни в коем случае не должны быть связаны с сетью! Подобные схемы могут быть весьма компактны, но своя жизнь дороже. Помехи В заключение главы о мощной нагрузке нужно прояснить еще один момент, связанный с помехами. В начале главы я долго распинался по поводу того, что резко выключать мощную нагрузку в сети нельзя и электронные реле да- же имеют специальные средства для отслеживания момента перехода через ноль3. Между тем, все разобранные схемы с фазовым управлением именно это и делают. Поэтому если вы включите такой регулятор напрямую в сеть, то помех не избежать — как электрических по проводам сети, так и электро- магнитных, распространяющихся в пространстве, и чем мощнее нагрузка, тем больше эти помехи. Особенно чувствительны к этому делу АМ-приемники — мощный регулятор может давить передачи ВВС не хуже советских глуши- лок. Для того чтобы свести помехи к минимуму, необходимо, во-первых, за- землить корпус прибора, во-вторых, на входе питания устройства вместе с нагрузкой поставить LC-фильтр. Это относится и к регуляторам в инте- гральном исполнении. Для заземления корпус, естественно, должен быть металлическим или металлизированным изнутри. В выигрышном положении окажутся те, кто будет изготавливать корпуса самостоятельно из стеклотекстолита по техно- логии, изложенной в главе 3 — у них уже есть прекрасный экран из медной фольги, достаточно только припаять провод заземления в любом удобном месте на внутренней стороне корпуса и присоединить его к зелененькому третьему проводу в сетевой вилке. Если же корпус чисто пластмассовый, 3 Внимательный читатель, несомненно, давно уже задает вопрос: если тиристор при отсутствии тока через него выключается, то как можно запустить тиристорную схему в момент перехода напряжения через ноль? Отвечаю: естественно, никак. Поэтому схема zero-коррекции на самом деле запускает мощный тиристор не точно в момент равенства анодного напряжения нулю, а тогда, когда ток через него уже достигает некоторой небольшой, но конечной величины. Прак- тически это обеспечить несложно: надо дождаться момента очередного перехода через ноль, и сразу запустить генератор открывающих импульсов на достаточно высокой частоте. Тиристор "сам выберет" из последовательности импульсов тот, при котором "уже можно открываться".
Тяжеловесы. Устройства для управления мощной нагрузкой 189 то его нужно изнутри обклеить алюминиевой фольгой потолще (та, что применяется в микроволновых печах, конечно же, не подойдет). Надежно обеспечить контакт вывода заземления с таким экраном непросто — это можно сделать, приклеив зачищенный на несколько сантиметров провод ши- роким скотчем или соорудив прижимной контакт из упругой бронзы (напри- мер, из контакта старого мощного реле). Если настоящего заземления нет — лучше экран никуда вообще не присоединять, т. к. занулять нельзя ни в коем случае, а к батарее тащить и неудобно, и тоже опасно (см. главу 10). -220 В L1 47 н х400 В К регулятору Рис. 11.7. Схемы фильтров сетевого питания для подавления помех На рис. 11.7 приведены два варианта построения развязывающего LC-фильтра. Второй, более продвинутый вариант (внизу на рисунке), предназначен в большей степени для случая, когда нагрузка носит активный характер (на- пример, электродвигатель), но если вы соорудите его в случае обычной рези- стивной нагрузки, определенно хуже не будет. Для изготовления дросселя (так называют индуктивности, если они служат для фильтрации высоких час- тот в шинах питания и в некоторых других случаях) нужно взять ферритовое кольцо марки 600-1000НН диаметром 24—36 мм и намотать на него виток
190 Глава 11 к витку провод МГШВ сечением около 1 мм — сколько уместится. Во вто- ром варианте фильтра дроссели L1 и L2 можно объединить, намотав их на одном кольце — причем если помехи будут подавляться плохо, то надо по- менять местами начало и конец одной из обмоток. Можно использовать и готовые дроссели подходящей мощности — проконсультируйтесь у продав- цов, прежде чем покупать. Если нагрузка совсем маломощная (до 20 Вт), то дроссели можно, в крайнем случае, заменить на резисторы 10—15 Ом мощ- ностью не менее 2 Вт. Конденсаторы — любые неполярные на напряжение не менее 400 В, среднюю точку их во втором варианте нужно подсоединить к настоящему заземлению (т. е. к уже заземленному корпусу). Если таковое отсутствует, то все равно надо присоединить эту точку к экрану корпуса при- бора, но без настоящего заземления работа фильтра заметно ухудшится — фактически он превратится в несколько улучшенный первый вариант.
Глава 12 Слайсы, которые стали чипами. О микросхемах Ему предстояло увидеть наяву тот заветный сундук, который он двадцать раз представ- лял в своих грезах. А. Дюма, "Три мушкетера" Самые первые микросхемы были совсем не такими, как сейчас. Они изготав- .ливались гибридным способом: на изолирующую подложку напылялись алюминиевые проводники, приклеивались маленькие кристаллики отдельных транзисторов и диодов, малогабаритные резисторы и конденсаторы, и затем все это соединялось в нужную схему тонюсенькими золотыми проволочка- ми — вручную, точечной сваркой под микроскопом. Можно себе предста- вить, какова была цена таких устройств, которые тогда еще не назывались микросхемами — чаще употребляли название микромодули или микросбор- ки. К гибридным микросхемам относятся и некоторые современные типы, к примеру, оптоэлектронные, но, конечно, сейчас выводы отдельных деталей уже вручную не приваривают. Ведущий специалист и один из основателей компании Fairchild Semiconductor Роберт Нойс позднее признавался, что ему стало жалко работ- ников, терявших зрение на подобных операциях, и в 1959 г. он выдвинул идею микросхемы — "слайса" или "чипа" (slice — ломтик, chip — щепка, □сколок), где все соединения наносятся на кристалл прямо в процессе произ- водства. Позднее оказалось, что несколько ранее аналогичную идею выдви- нул сотрудник Texas Instruments Джек Килби, однако у Нойса технология была разработана более детально (это была так называемая планарная техно- логия с алюминиевыми межсоединениями, которая часто используется и по сей день). Спор о приоритете между Килби и Нойсом продолжался в течение десяти лет, и, в конце концов, победила дружба: было установлено считать Нойса и Килби изобретателями микросхемы совместно. В 2000 г. Килби (Нойс скончался в 1990 г.) получил за изобретение микросхемы Нобелевскую премию (одновременно с ним, но за другие достижения ее получил и россий- ский физик Жорес Алферов).
192 Глава 12 Рис. 12.1. Изобретатель микросхемы Роберт Нойс (Robert Noyce, 1927—1990) Компания Fairchild Semiconductor в области полупроводниковых технологий стала примерно тем, чем фирма Маркони в области радио или фирма Xerox в области размножения документов. Началось все с ее рождения: восемь ин- женеров, уволившихся в 1957 г. из основанной изобретателем транзистора Уильямом Шокли компании Shockley Semiconductor Labs, обратилась к начи- нающему финансисту Артуру Року — единственному, кому их идеи показались интересными. Рок нашел компанию, которая согласилась инвестировать ос- новную часть из требуемых 1,5 миллиона долларов, и с этого момента принято отсчитывать рождение нового способа финансирования инновационных проек- тов — венчурных (т. е. "рисковых") вложений, что в дальнейшем позволило ро- диться на свет множеству компаний, названия которых теперь у всех на слуху. Следующим достижением Fairchild стало изобретение микросхем Робертом Нойсом, и первые образцы многих используемых и поныне их разновидностей были созданы именно тогда (например, в одном из первых суперкомпьютеров на интегральных схемах — знаменитом ILLIAC IV — были использованы микро-, схемы памяти производства Fairchild). А в 1963 г. отдел линейных интегральных схем в ней возглавил молодой специалист по имени Роберт Видлар, который стал "отцом" интегральных операционных усилителей, основав широко распро- страненные и поныне серии, начинающиеся с букв ц и LM (мы о нем уже упо- минали в главе 10 в связи с интегральными стабилизаторами питания).' В 1965 г. знаменитый Гордон Мур, тогда— один из руководителей Fairchild входивший вместе с Нойсом в восьмерку основателей, сформулировал свой "закон Мура" о том, что производительность и число транзисторов в микросхе- мах удваиваются каждые 1,5 года — этот закон фактически соблюдается и по сей день! В 1968 г. Нойс с Муром увольняются из Fairchild и основывают фир- му, название который теперь знает каждый школьник: Intel. Инвестором новой компании стал все тот же Артур Рок. А другой работник Fairchild, Джереми Сан- дерс, в следующем, 1969 г. основывает фирму почти столь же известную, как и Intel — ее "заклятого друга" AMD.
Слайсы, которые стали чипами. О микросхемах 193 Что же дало использование интегральных микросхем, кроме очевидных пре- имуществ, таких, как миниатюризация схем и сокращение количества опера- ций при проектировании и изготовлении электронных устройств? Рассмотрим прежде всего экономический аспект. Первым производителям чи- пов это было еще не очевидно, но экономика производства микросхем отлича- ется от экономики других производств1. Если вы закажете архитектору проект загородного дома, то стоимость этого проекта будет сравнима со стоимостью самого дома. Даже если вы по этому проекту построите сто домов, то вы не так уж сильно выгадаете на стоимости каждого — стоимость проекта поделится на сто, но выгода ваша будет измеряться процентами, потому что построить дом дешевле, чем стоят материалы и оплата труда рабочих нельзя, а они-то и со- ставляют значительную часть стоимости строительства. В производстве же микросхем картина меняется. Цена материалов, из которых они изготовлены, в пересчете на каждый чип настолько мала, что она составляет едва ли не- сколько процентов от стоимости конечного изделия. Поэтому основная часть себестоимости чипа складывается из стоимости его проектирования и стоимо- сти самого производства, на котором они изготавливаются — фабрика для производства полупроводниковых компонентов может обойтись в сумму по- рядка 2—4 миллиардов долларов. Ясно, что в этой ситуации определяющим фактором стоимости чипа будет количество, которое вы заказываете: обычно, если вы заказываете меньше миллиона экземпляров, то с вами даже разговари- вать не станут, а если вы будете продолжать настаивать, то один экземпляр обойдется вам во столько же, сколько и весь миллион. Именно массовость производства приводит к тому, что сложнейшие схемы, которые в дискретном виде занимали бы целые шкафы ценой в десятки тысяч долларов, продаются дешевле томика технической документации к ним. Вторая особенность экономики производства микросхем — то, что их цена мало зависит от сложности. Микросхема операционного усилителя содержит несколько десятков транзисторов, а микросхема контроллера — несколько десятков тысяч, однако их стоимости по меньшей мере сравнимы. Эта осо- бенность тоже не имеет аналогов в дискретном мире — с увеличением слож- ности обычной схемы ее цена растет пропорционально количеству использо- ванных деталей, а в микромире это совсем не так: фактически единственный фактор, который ведет к увеличению себестоимости сложных микросхем по сравнению с более простыми, кроме стоимости проектирования — это про- цент выхода годных изделий, который может снижаться при увеличении сложности. Если бы не это обстоятельство, то стоимость Pentium не намного бы 1 Одним из первых, кто понял, как именно нужно торговать микросхемами, был сотрудник Fairchild Джереми Сандерс.
194 Глава 12 превышала стоимость того же операционного усилителя. Однако в Pentium, извините, несколько десятков миллионов транзисторов! Это обстоятельство позволило проектировщикам без увеличения стоимости и габаритов реализо- вать в микросхемах такие функции, которые в дискретном виде было бы реа- лизовать просто невозможно или крайне дорого. Кстати, выход годных — одна из причин того, что кристаллы микросхем такие малень'кие. В некото- рых случаях разработчики даже рады были бы увеличить размеры, но тогда резко снижается и выход. Типичный пример такого случая — борьба произ- водителей цифровых фотоаппаратов за увеличение размера светочувстви- тельной матрицы. Если бы ее удалось сделать размером с пленочный кадр (24x36 мм), то это одним махом решило бы массу проблем, но на момент на- писания этой книги самые лучшие (и самые дорогие) матрицы имеют размер только в половину необходимого. Еще одна особенность микросхем — надежность. Дискретный аналог какого- нибудь устройства типа аналого-цифрового преобразователя содержал бы столько паек, что какая-нибудь, в конце концов, обязательно вышла бы из строя. Между тем, если вы эксплуатируете микросхему в штатном режиме, то вероятность ее выхода из строя измеряется милионными долями единицы. Это настолько редкое явление, что его можно практически не учитывать на практике — если у вас сломался какой-то прибор, ищите причину в контак- тах переключателей, в пайках внешних выводов, в заделке проводов в разъе- мах — но про возможность выхода из строя микросхемы забудьте. Разумеет- ся, это, повторяю, относится к случаю эксплуатации в штатном режиме — если вы подали на микрофонный вход звуковой карты напряжение вольт в 30 или замкнули выход COM-порта на его вход — конечно, в первую очередь пострадает именно микросхема. Но сами по себе они практически не выходят из строя никогда. Наконец, для схемотехников микросхемы обладают еще одни бесценным свойством: все компоненты в них изготавливаются в едином технологиче- ском процессе и находятся в строго одинаковых температурных условиях. Это совершенно недостижимо для дискретных приборов — например, пары транзисторов, для которых желательно иметь идентичные характеристики, ранее приходилось подбирать вручную (такие уже подобранные пары специ- ально выпускались промышленно) и иногда даже ставить их на медную пла- стину, чтобы обеспечить одинаковый температурный режим. Рассмотрим типичный пример такого случая — так называемое токовое зер- кало (рис. 12.2). Эта схема работает следующим образом. Левый по схеме транзистор представляет собой фактически диод, так как у него коллектор соединен с базой. Из характеристики диода (см. рис. 6.1) видно, что при изменении прямого тока на нем несколько меняется и напряжение (оно не'
Слайсы, которые стали чипами. О микросхемах 195 равно точно 0,6 В). Это напряжение без изменений передается на базу второ- го, ведомого транзистора, в результате чего он выдает точно такой же ток — но только при условии, если характеристики транзисторов согласованы с вы- сокой степенью точности. То есть если току 1 мА через первый транзистор соответствует напряжение на его переходе база-эмиттер, равное, к примеру, 0,623 В, то такому же напряжению на переходе второго транзистора должен соответствовать такой же ток. Мало того, это соответствие должно сохра- няться во всем диапазоне рабочих температур! Естественно, столь высокая идентичность характеристик практически недостижима для дискретных при- боров, а для транзисторов, входящих в состав микросхемы, она получается сама по себе, без дополнительных усилий со стороны разработчиков. Рис. 12.2. Токовое зеркало Схемы подобных токовых зеркал получили широкое распространение в ин- тегральных операционных усилителях в качестве нагрузки входного диффе- ренциального каскада, что значительно лучше, чем использовать простые резисторы (см. главу 6). Их применение вместо резисторов гарантирует по- вторяемость характеристик ОУ в широком диапазоне питающих напряжений. Отметим также, что ведомых транзисторов может быть много (на рис. 12.2 второй такой транзистор показан серым цветом), их количество ограничива- ется только тем обстоятельством, что базовые токи вносят погрешность в ра- боту схемы, отбирая часть входного тока на себя. Впрочем, и с этим обстоя- тельством можно успешно бороться. Кстати, резисторы в микросхемах в некритичных случаях все равно предпо- читают делать из транзисторов — сформировать обыкновенный резистор, как проводник с заданным сопротивлением, в процессе производства микросхем значительно труднее, чем соорудить, скажем, полевой транзистор с заданным начальным током стока. По этой причине, если точных значений номиналов резисторов не требуется согласно функциональным особенностям микросхемы, они имеют большой разброс — например, входное сопротивление портов микроконтроллеров AVR может колебаться в пределах от 35 до 100 кОм.
196 Глава 12 Если же все же точные или хотя бы согласованные номиналы резисторов иметь необходимо (как, к примеру, в микросхемах ЦАП и АЦП, которые мы будем рассматривать в главе 25), то после изготовления микросхемы их при- ходится специально подгонять с помощью лазера. На рис. 12.2 соединение баз транзисторов не случайно показано необычным способом: в реальности они действительно представляют собой одну струк- туру, на которую "навешиваются" коллекторы и эмиттеры отдельных транзи- сторов. В микросхемах могут использоваться такие разновидности транзи- сторных структур, которые в обычной дискретной жизни не имеют аналогов: скажем, многоэмиттерные или многоколлекторные транзисторы. Для приме- ра на рис. 12.3 приведена схема входного каскада микросхемы транзисторно- транзисторной логики (ТТЛ), осуществляющей логическую функцию ИЛИ (см. главы 18 и 20). В этой схеме замыкание любого из трех эмитттеров (или двух, или всех вместе — поэтому функция и называется ИЛИ) на общий про- вод питания приведет к тому, что транзистор откроется и обеспечит ток через нагрузку (на самом деле нагрузка носит несколько другой характер, но сей- час мы не будем на этом заострять внимание). Вход 1 Вход 2 Вход 3 -•—+5В II Нагрузка । । (следующие ijJ каскады) Рис. 12.3. Входной каскад элемента ТТЛ Кратко рассмотрим общие особенности эксплуатации различных типов мик- росхем (более подробно о конкретных типах будет рассказано в соответст- вующих главах). Во-первых, вы, возможно, слышали о том, что микросхемы боятся статического электричества. Действительно, потенциал заряда, накап- ливающегося на нейлоновом халатике симпатичной монтажницы, одетой к тому же в синтетические юбочку, кофточку и колготки, может составлять тысячи вольт (правда, сама величина заряда невелика). Но не обязательно носить синтетическую одежду — достаточно походить по полу, покрытому обычным линолеумом или недорогим паласом, чтобы накопить на себе впол- не достаточный заряд (в дорогих покрытиях это чаще всего предусмотрено и зарядам накапливаться не дают). Такое напряжение, конечно, может вывести из строя микросхемы и не только микросхемы — особенно чувствитель- ны к нему полевые транзисторы с изолированным затвором. Так как заряду
Слайсы, которые стали чипами. О микросхемах 197 на выводе затвора у них стекать некуда, то все накопленное на вас напряже- ние будет приложено к тоненькому промежутку между затвором и каналом, и совсем не исключено, что изолирующий слой окисла кремния не выдержит такого надругательства. Поэтому при монтаже всегда следует соблюдать не- сколько правил: не носить синтетическую одежду и не использовать синте- тические покрытия для пола и монтажного стола (профессиональные мон- тажные столы вообще покрывают заземленным металлическим листом). Неплохую гарантию дает заземление корпуса паяльника, но на практике это осуществить непросто, учитывая, что заземление, как таковое, в наших домах отсутствует. Можно также привести еще несколько рекомендаций: □ не хвататься руками за выводы микросхем без нужды. При необходимости их формования взять микросхему в левую (для левшей — в правую) руку так, чтобы пальцы касались выводов питания; □ первыми всегда следует припаивать выводы питания микросхемы (для дискретных транзисторов — эмиттер или исток); □ перед началом монтажа, особенно, если вы только что переодевались, следует подержаться руками за заземленный металлический предмет (во- допроводный кран); □ при стирке рабочей одежды обязательно использовать антистатик. Хорошую защиту также дает метод, при котором вы не впаиваете микросхе- му в плату непосредственно, а устанавливаете ее на панельку. Панельку, ес- тественно, можно совершенно безопасно монтировать любым паяльником, а микросхема устанавливается в самый последний момент. Правда, такой ме- тод снижает надежность конструкции. Однако случаи выхода микросхем из строя от статического электричества все же довольно редки, т. к. производители эту опасность учитывают, и для кри- тичных случаев принимают меры по защите выводов. Самой распространен- ной мерой является установка защитных диодов по два на каждый вывод так, что один из них присоединен катодом к плюсу питания, а другой — анодом к минусу (рис. 12.4). Если напряжение на выводе не выходит за пределы пи- тания, то такие диоды не оказывают никакого влияния на работу схемы (или почти никакого, см. ниже). Если же напряжение на выводе выходит за эти пределы, то оно замыкается через соответствующий диод либо на шину пи- тания, либо на общую шину. Кстати, подобный прием позволяет иногда за- щитить микросхему и от неправильного включения питания — если плюс и минус питания на схеме рис. 12.4 поменять местами, то весь ток пойдет че- рез диоды , и питание упадет до двойного падения напряжения на диоде. ? В этих целях иногда ставят и еще один отдельный защитный диод — прямо от питания до питания.
198 Глава 12 Тут весь вопрос в том, насколько долго диоды могут выдерживать прямой ток от источника. В моей практике бывали случаи, когда выдерживали. +1/пит - 1/пит Рис. 12.4. Защита выводов микросхем от перенапряжения Наличие защитных диодов следует учитывать. Скажем, микросхемы с ком- плементарными полевыми транзисторами (КМОП), которые мы будем под- робно изучать в главе 20, в статическом режиме и на низких частотах потреб- ляют настолько малый ток, что вполне могут питаться и через защитный диод от входного сигнала, даже если напряжение питания вообще не под- ключено. Правда, при этом с выходным сигналом творятся всякие чудеса, но все же выглядит это довольно эффектно. Конечно, обычные КМОП-чипы ни- кто в таком режиме не использует, но иногда в микросхему специально встраивают небольшой конденсатор по питанию, который накапливает заряд от входного сигнала и позволяет некоторое время работать — скажем, отве- тить на запрос. По этому принципу устроены, например, цифровые полупро- водниковые датчики температуры фирмы Maxim/Dallas — они могут соеди- няться с показывающим прибором по двухпроводной линии, по которой передается только сигнал, тащить питание отдельно не требуется. С другой стороны, наличие защитных диодов может приводить к неприятно- стям. Наиболее распространенная в этом смысле ошибка разработчиков элек- тронных схем состоит в том, что при переходе на резервное питание они в целях экономии отключают питание всех узлов, кроме центрального кон- троллера, или, к примеру, генератора часов реального времени, забывая при этом отключить у них внешние соединения. Тогда схема начинает потреб- лять даже больше, чем она потребляла в нормальном режиме: если на выходе контроллера есть напряжение, а микросхема, ко входу которой этот выход подсоединен, обесточена, то указанный выход оказывается фактически замк- нутым накоротко через защитный диод на шину питания. Мне могут возра- зить, что на шине питания при выключенном источнике потенциала нет
Слайсы, которые стали чипами. О микросхемах 199 и току течь некуда — действительно, если питание оборвано, то плюсовая и минусовая шины вроде бы никак не связаны между собой, и "плюс" пита- ния обязан "висеть в воздухе". Именно так, очевидно, рассуждают и наши горе-схемотехники, однако это рассуждение справедливо только в теории. На практике же шины питания связаны между собой, как минимум, фильтрую- щими конденсаторами большой емкости, которые для маломощного сигнала все равно, что проволочная перемычка (если помните, мы в главе 5 об этом говорили — в момент начала процесса заряда конденсатор равносилен ко- роткому замыканию). Обо всем этом не следует забывать, если вы хотите обеспечить действительно экономичный режим. В некоторых случаях защитные диоды не ставят: они все же имеют хотя и очень небольшой, но конечный ток утечки, который может быть важен, скажем, в случае т. н. зарядового усилителя, т. е. устройства, которое измеря- ет величину накопленного заряда. Часто не ставят их и в микросхемах для обработки высокочастотных сигналов или, например, в драйверах зарядки аккумуляторных батарей. Так что на всякий случай, особенно, если вы не уверены в наличии защитных диодов, меры предосторожности следует со- блюдать. Некоторые характерные типы корпусов микросхем приведены на рис. 12.5 и 12.6. Вверху слева на рис. 12.5 показан пример панельки ("сокета") для корпусов типа DIP, которая позволяет не впаивать микросхему в плату. Вни- зу на рис. 12.6 показана аналогичная панелька для корпусов типа PLCC (при- мер самого корпуса выше на рисунке). PLCC специально разработаны на такой случай — их легко вынимать и вставлять обратно, не опасаясь повре- дить выводы. Подобные панельки особенно удобно использовать в макетах, а также их всегда применяют в случаях, если микросхему нужно иногда из- влекать из устройства для ее перепрограммирования. Именно корпуса типа PLCC используются в современных компьютерах для микросхем BIOS. По- нятно, что механические контакты в панельке понижают надежность конст- рукции, и если извлечение микросхемы не предполагается, то все же лучше панельку не использовать, а если использовать все же приходится, то тип PLCC предпочтительнее, чем DIP. Имейте в виду, что очень часто выводов в микросхеме больше, чем требует ее функциональность. В этом случае существует правило: незадействован- ные выводы никуда не присоединять! В западной документации специально даже принято для таких незадействованных выводов обозначение NC (по connected). Будет грубой ошибкой, например, присоединить незадействован- ные выводы 13 и 16 КМОП-микросхемы 561ПУ4 (см. главу 20) к "земле" или питанию, как это следует делать со входами незадействованных элементов.
200 Глава 12 Панель DIP-40 SOIC-14 DIP-40 DIP-16 DIP-16 (керамика) CERPACK (WG10) Рис. 12.5. Некоторые распространенные корпуса микросхем. Вверху слева — панелька для корпусов типа DIP Рис. 12.6. Некоторые особые типы корпусов для микросхем: слева вверху — извлекаемый тип PLCC, внизу — панелька для него; справа вверху — одна из разновидностей корпусов для микросхем с большим количеством выводов
Глава 13 А на микросхемах - проще. Звуковые усилители на микросхемах Пойми, что было бы неблагоразумно не явиться на столь определенное приглашение. А. Дюма, "Три мушкетера " В качестве первого примера применения микросхем мы попробуем построить звуковой усилитель подобный тому, что мы столь подробно разбирали в гла- ве 9. Надо сказать, что дело это намного более простое, чем конструировать его из дискретных компонентов — нужно только следовать рекомендациям разработчика — и все гарантированно получится. Это правило касается всех микросхем без исключения. Разумеется, если вы хорошо изучили особенно- сти соответствующей разновидности интегральных схем, то имеете полное право поэкспериментировать, но — на свой страх и риск. Такой страх и риск вполне уместен, если вы попытаетесь использовать для построения звукового усилителя отечественные микросхемы серии К174 — характеристики их на- столько ужасны, что попробовать их улучшить, как говорится, сам бог велел. Мы не будем с ними разбираться, просто потому что они, по большому счету, внимания вообще не заслуживают, а рассмотрим несколько конструкций на доступных импортных микросхемах. Мощный УМЗЧ Первой мы разберем стандартную схему усилителя мощности низкой часто- ты (УМЗЧ) на популярной микросхеме TDA2030 производства фирмы ST Microelectronics. Схема обладает примерно такими же характеристиками, как усилитель, описанный в главе 9. Производитель гарантирует при выходной мощности 14 Вт на нагрузке 4 Ом искажение сигнала не более 0,5% (заведо- мо лучше нашей самодеятельной конструкции). Если снизить требования к величине искажений, то при наших ±15 В из микросхемы можно выжать и те же самые 21 Вт. Предельно допустимое значение напряжения питания для TDA2030 достигает ±18 В (или 36 В однополярного), но разумеется, при таком
202 Глава 13 питании ее эксплуатировать не рекомендуется. Увеличение искажений при повышении выходной мощности, вероятно, связано с тем, что в чип встроена защита от перегрева выходных транзисторов, которая ограничивает выход- ной ток, когда температура корпуса повышается. Источник питания для этого усилителя можно использовать тот же самый, что описан в главе 10. Вместе с тем схема эта обладает рядом преимуществ перед нашей дискрет- ной конструкцией. Об искажениях мы уже упоминали, но кроме этого произ- водитель гарантирует такие характеристики, как диапазон частот, которые передаются с заданным коэффициентом усиления и при заданных искажени- ях сигнала (40 Гц — 15 кГц), и коэффициент подавления влияния нестабиль- ности источника питания на качество выходного сигнала (в 100—300 раз, что позволяет спокойно использовать наш несложный источник). Гарантируется устойчивость усилителя при использовании рекомендуемых номиналов рези- сторов и конденсаторов и даже приводятся рекомендации по размерам охла- ждающего радиатора. Выход микросхемы защищен от короткого замыкания в нагрузке (точнее, ограничен выходной ток). Рис. 13.1. Основная схема усилителя звуковой частоты на микросхеме TDA2030
А на микросхемах - проще. Звуковые усилители на микросхемах 203 От перечисления весьма греющих душу свойств этой конструкции перейдем, наконец, к рассмотрению схемы (рис. 13.1). Собственно усилитель включает саму микросхему DA1, конденсаторы Cl, С2 и резисторы R1-R4. Если вни- мательно присмотреться к этой схеме, то мы увидим, что структурно она ни- чем не отличается от нашей схемы из главы 9. Мало того, здесь даже уста- новлен с помощью обратной связи тот же самый коэффициент усиления, примерно равный 30. Как будто взяли нашу схему и упаковали ее в отдель- ный корпус, обеспечив вывод наружу входов дифференциального усилителя, выхода двухтактного (push-pull) каскада усиления мощности и, естественно, выводов питания. На самом деле так оно и есть — подавляющее большинст- во УМЗЧ имеет приблизительно одинаковую структуру, отличающуюся лишь в частностях, касающихся обеспечения качества или повышения эф- фективности работы. Скажем, в микросхеме TDA2030 коэффициент усиле- ния по напряжению при разомкнутой цепи обратной связи, согласно увере- ниям производителя, равен примерно 30 000, а у нас он не более 2000—25001. Что, конечно, для "фирменной" схемы значительно увеличивает линейность усиления и уменьшает уровень искажений (почему это так, мы узнаем в сле- дующей главе). Остальные элементы схемы — вспомогательные. Конденсаторы С4-С7 — развязывающие по питанию, у нас там тоже такие рекомендовалось устанав- ливать, причем разработчики фирмы ST Microelectronics хорошо затвердили тот факт, о котором я упоминал в главе 5 — емкость электролитических кон- денсаторов снижается с ростом частоты, поэтому в целях лучшей защиты от помех и повышения устойчивости схемы здесь рекомендуется устанавливать неполярные (например, керамические) конденсаторы (С4 и С6) параллельно с электролитическими (С5 и С7). Кстати, надеюсь, обозначения типа 100,0 и 0,1 вас не смутили, и вы помните, что они подразумевают величину емкости в микрофарадах (т. е. это равносильно обозначениям 100 мкФ и 0,1 мкФ, со- ответственно). Цепочка R5-C3, которой у нас не было, здесь устанавливается для повышения линейности усилителя при работе на индуктивную нагрузку. Диоды VD1-VD2 служат для предотвращения возможного выхода из строя выходных каскадов микросхемы при индуктивных выбросах напряжения (например, при включении питания) — ох, до чего же нежные эти западные транзисторы! Все электролитические конденсаторы рассчитаны на напряже- ние не менее 16 В. Если усилитель все же "загудит" (хотя и прямо об этом в тексте фирменной инструкции не сказано), здесь рекомендуется параллельно резистору обратной 1 Эту величину мы не считали, а лишь упоминали. Чтобы ее подсчитать, нужно углубиться в свойства транзисторных каскадов, но это отдельная тема, не очень востребованная на прак- тике, поэтому просто поверьте мне на слово.
204 Глава 13 связи R4 установить цепочку из последовательно включенных резистора и конденсатора, которые ограничат полосу частот. При номиналах всех ос- тальных компонентов таких, какие указаны на схеме, резистор должен быть равен 2,2 кОм, а конденсатор — не менее 0,5 нФ. Увеличение емкости конденсатора сверх этой величины ведет к ограничению полосы частот, но и к повышению устойчивости схемы. Сама микросхема TDA2030 выпускается в корпусе ТО220, знакомом нам по мощным транзисторам, только имеет он не три вывода, а пять. Разводка вы- водов приведена на схеме, а для того, чтобы определить расположение выво- дов, нужно положить микросхему маркировкой вверх, тогда вывод номер 1 будет находиться первым слева (в однорядных корпусах микросхем ключ для определения начала отсчета выводов, упомянутый в главе 8, часто отсутству- ет, но первый вывод всегда расположен именно так, как указано). Рекомен- дованная в инструкции площадь охлаждающего радиатора для выходной мощности 14 Вт должна составлять 350—400 см , однако, на мой взгляд, эта величина завышена как минимум вдвое. Впрочем, подобное заключение я могу подтвердить, кроме весьма приблизительной методики расчета из гла- вы 9, лишь личным опытом, и оно не должно быть воспринято как руково- дство к действию — это совет из серии "на ваш страх и риск". Скорее всего, разработчики из фирмы ST Microelectronics взяли двукратный запас специ- ально. Во-первых, ориентируясь на наихудший случай, когда радиатор будет стоять горизонтально в каком-нибудь тесном непроветриваемом пространст- ве — ведь мы говорили, что все расчеты радиаторов очень приблизительны! Во-вторых, чтобы уменьшить уровень искажений при больших мощностях из-за встроенного механизма тепловой защиты, о котором мы упоминали выше. На рис. 13.2 приведена схема аналогичного усилителя, но рассчитанного на источник питания с одним напряжением ЗОВ, вместо двух по 15 В. Добав- ленные в схему резисторы Ra и Rb образуют делитель напряжения, который формирует т. н. "искусственную среднюю точку" — на общей точке резисто- ров напряжение равно ровно половине питания, что позволяет обеспечить нормальный режим для входного дифференциального усилителя микросхе- мы. Для того чтобы эта средняя точка не "плавала" при изменении входного, сигнала, в схему добавлен конденсатор Са, который сглаживает его влияние. А на рис. 13.3 показано, как можно построить усилитель с удвоенной выход- ной мощностью при тех же напряжениях питания и используемых деталях, Это так называемая мостовая схема, которая представляет собой два идентич- ных усилителя, работающих на одну нагрузку в противофазе: когда на выхо- де одного усилителя положительный максимум напряжения— на другом отрицательный. Таким образом, амплитуда и действующее значение напряжения
А на микросхемах - проще. Звуковые усилители на микросхемах 205 Рис. 13.2. Схема усилителя звуковой частоты с одним источником питания Рис. 13.?. Схема мостового усилителя звуковой частоты
206 Глава 13 на нагрузке возрастает ровно в два раза, соответственно растет и мощность, которая здесь составит при условии неискаженного сигнала почти 30 Вт. Для того чтобы усилители работали именно так, как указано, обычный (неинвер- тирующий) вход второго усилителя заземляется, а входной сигнал для него поступает на другой (инвертирующий) вход, туда же, куда заведена его об- ратная связь. Сам этот входной сигнал берется с того места, куда поступает сигнал от первого усилителя (с левого по схеме вывода динамика) и ослабля- ется в той же степени, в которой оно было усилено первым усилителем — вследствие равенства резисторов цепочки обратной связи R4-R3, задающей коэффициент усиления первого усилителя, и делителя Rfl-R3'. То есть на вход 2 второго усилителя поступает фактически то же самое входное напря- жение, но т. к. вход противоположной полярности, то на выходе второго уси- лителя получим такой же сигнал, как на выходе первого, только в противофа- зе, чего мы и добивались. Отметим, что для такого усилителя придется городить более мощный источник питания, чем тот, что описан в главе 10. Микроусилитель мощности Не так уж редко возникает задача вывести звуковой сигнал на маломощный динамик или на головные наушники. Кроме очевидных применений типа воспроизведения музыки, такой усилитель пригодился бы, скажем, в много- численных конструкциях металлоискателей (их полно в Сети и радиолюби- тельской литературе), в сигнальных устройствах. Одно из применений его вы увцците в главе 34, когда мы заставим разговаривать ... микроконтроллер. Существует, естественно, масса типов микросхем от разных производителей, которые осуществляют усиление звукового сигнала с возможностью выхода на низкоомную нагрузку, мы остановимся на одной из самых популярных — МС34119 (выпускается не только фирмой Motorola, как можно было бы за- ключить из названия, но и другими фирмами, возможно, с другими буквен- ными префиксами). Микросхема выпускается в обычном корпусе всего с во- семью выводами (DIP-8) и никаких радиаторов не требует. Усилитель обладает весьма неплохими характеристиками, основные из кото- рых таковы: □ напряжение питания: 2—16 В (однополярное); □ сопротивление нагрузки: 8 Ом (минимально); □ частота единичного усиления: 1,5 Мгц; □ выходная мощность: 250 мВт (напряжение питания: 6 В, нагрузка: 32 Ом, коэффициент гармоник: 0,5—1%); О время готовности после включения питания: не более 0,36 с.
А на микросхемах - проще. Звуковые усилители на микросхемах 207 Рис. 13.4. Схема включения микросхемы МС34119 Самое главное — не надо ничего думать, все уже придумано за вас. Вариант типовой схемы включения приведен на рис. 13.4. Коэффициент усиления за- дается двумя резисторами R1 и R2 и равен их отношению R2/R1, т. е. в дан- ном случае 25. Максимальная мощность в нагрузке (0,5 Вт) достигается при нагрузке 32 Ом (головные наушники) при питании 12 В. В других сочетаниях нагрузки и питания такая мощность не достигается, в том числе, потому что недопустимо увеличиваются искажения. Обратите внимание, что динамик не имеет соединения с "землей" (что естественно для схемы с однополярным питанием). Имеется также интересная возможность выключения усилителя с помощью сигнала от логических микросхем (например, от микроконтрол- лера) — если подать на вывод 1 напряжение питания, микросхема выключит- ся и будет потреблять ток не более нескольких десятков микроампер. Другие схемы УМЗЧ на микросхемах вы, без сомнения, найдете в достаточ- ном количестве в литературе и в Сети, а мы, наконец, вплотную займемся самыми универсальными аналоговыми микросхемами — операционными усилителями. Ведь и микросхема TDA2030, и МС34119, и даже разобранные нами в главе 10 интегральные стабилизаторы представляют собой не что иное, как узкоспециализированные ОУ.
Глава 14 Самые универсальные. Операционные усилители и их применение Нам нужны надежные исполнители наших поручений не только для того, чтобы до- биться успеха, но также и для того, чтобы не потерпеть неудачи. А. Дюма, "Три мушкетера" Классическое определение гласит: операционным усилителем называется дифференциальный усилитель постоянного тока (УПТ) с большим коэффи- циентом усиления. "Постоянного тока" не означает, что ОУ усиливают толь- ко сигналы частотой 0 Гц, это означает, что они могут усиливать сигналы, начиная с частоты 0 Гц. "С большим коэффициентом усиления" означает, что он действительно большой — хороший ОУ имеет коэффициент усиления по- рядка нескольких сотен тысяч или даже миллионов (куда там микросхеме TDA2030 с ее 30-ю тысячами!). Название "операционный" закрепилось за такими усилителями исторически, потому что во времена господства лампо- вой техники они использовались, в основном, для моделирования различных математических операций (интегрирования, дифференцирования, суммиро- вания и пр.) в аналоговых вычислительных машинах. Других применений тех ОУ практически не было и быть не могло, потому что для достижения при- емлемых характеристик не годилась не только ламповая, но и дискретно- транзисторная схемотехника. Настоящий переворот произошел только в се- редине 60-х годов ХХ-века после пионерских работ по конструированию ин- тегральных ОУ неоднократно уже упоминавшегося на этих страницах Робер- та Видлара (см. главы 10 и 12). Разумеется, практически использовать ОУ можно только в схемах с отрица- тельной обратной связью (за одним исключением, о котором позже). Огром- ный коэффициент усиления приведет к тому, что без обратной связи такой усилитель будет находиться в состоянии, когда напряжение его выхода равно (или, как мы увидим дальше, почти равно) одному из напряжений питания, положительному или отрицательному— такое состояние еще называют по аналогии с транзисторами состоянием насыщения выхода. В самом деле,
210 Глава 14 чтобы получить на выходе напряжение 15 В, ОУ достаточно иметь на входе сигнал в несколько десятков микровольт, а такой сигнал всегда имеется — если это не наводка от промышленной сети или других источников, то доста- точно и внутренних причин, о которых мы еще будем говорить. Впрочем, есть и исключение — так называемые компараторы представляют собой ОУ, которые предназначены для использования без отрицательной обратной свя- зи и иногда даже наоборот, с положительной обратной связью. К компарато- рам мы еще вернемся в следующей главе, а пока рассмотрим некоторые об- щие принципы построения схем на ОУ. Рис. 14.1. Роберт Видлар (Robert J. Widlar, 1937-1991) Опасные связи Согласно определению, отрицательная обратная связь — это связь выхода со входом, при которой часть выходного сигнала вычитается из входного. В противоположность отрицательной, в случае положительной обратной свя- зи часть выходного сигнала со входным сигналом суммируется. Эти опреде- ления справедливы не только для усилителей и других электронных уст- ройств, но и во всех случаях, когда обратная связь имеет место. Действие обратных связей на некую систему можно описать так: наличие отрицатель- ной обратной связи повышает ее устойчивость, наличие положительной — наоборот, ведет к неустойчивости.
Самые универсальные. Операционные усилители и их применение 211 Впервые использовать принцип обратной связи в электронных усилителях с целью повышения их линейности, устойчивости и других эксплуатационных характеристик предложил американский инженер, сотрудник Лабораторий Бел- ла (Bell Labs) Харольд Блэк в 1927 г. О сложности предмета говорит тот факт, что первый патент Блэка с описанием его усилителя имел объем целых 87 страниц, а всего он получил 347 патентов. Построение общей теории обратных связей было завершено выдающимся математиком Хендриком Ваде Боде к 1945 г. В 1948 г. Норберт Винер в своей знаменитой "Кибернетике" впервые показал, как использовать принцип обратной связи при рассмотрении любых систем — технических, биологических, социальных и пр. Принцип действия обратных связей можно пояснить, скажем, на примере классической взаимосвязи спроса и предложения в экономике. Предполо- жим, у нас имеется некая фирма, которая состоит из производственных структур и каналов сбыта. На входе такой системы — задание на производст- во, на выходе — объем произведенной продукции. Сколько нужно произво- дить товара? Столько, сколько его могут потребить. В идеальной системе происходит следующее: фирма производит один экземпляр товара и, как только его покупают, немедленно выдает на прилавок следующий экземпляр. Если фирма произведет два экземпляра и один из них на прилавке задержит- ся, то производство приостанавливается до тех пор, пока этот экземпляр не купят. Здесь мы наблюдаем типичное действие отрицательной обратной свя- зи, роль которой играет спрос: лежащий на прилавке экземпляр товара как бы вычитается из задания на производство, и оно приостанавливается. Такая система очень устойчива и к тому же обладает множеством приятных свойств: не имеет перерасхода энергии и материалов, не приводит к перепро- изводству или, в пределах мощности производства, наоборот, к дефициту. Объем перепроизводства может составить максимум один экземпляр, кото- рый придется выбросить, если спрос на него упал до нуля. Интересно, что примеры таких близких к идеалу производств можно встретить и в реальной жизни: это, скажем, торговля горячей выпечкой, когда следующий пирожок изготавливается только, если предыдущий уже купили. Но в большинстве случаев в реальной жизни все обстоит гораздо сложнее — и прямых, и обратных связей существенно больше одной, реакция на спрос не может быть мгновенной, да и система не изолирована от всей остальной экономики. Разберем, например, что произойдет с нашей идеальной систе- мой, если производство не может остановиться и возобновить работу мгно- венно, или, что то же самое, сведения об изменении спроса поступают не сразу, а с некоторым запаздыванием. Предположим, фирма делает 10 экземп- ляров товара в день, и указанное запаздывание составляет также 1 день. До- пустим, в какой-то из дней спрос упал на 2 штуки. Из-за запаздывания реакции на изменение спроса в этот день фирма произведет по-прежнему 10 штук, так что на следующее утро на прилавке их окажется 12. Если в этот день спрос
212 Глава 14 по прежнему будет составлять 8 штук, то к следующему утру на прилавке окажется те же 12 экземпляров (8 произведенных — фирма отреагировала на изменение, плюс 4 оставшихся от предыдущего дня). В этот день фирма от- реагирует, и произведет всего 4 экземпляра. Но предположим, что в этот же день спрос внезапно возрос и составил 12 экземпляров, т. е. все имеющиеся раскуплены. На следующее утро на прилавке будет всего 4 штуки (произве- денных накануне)1 и 8 из 12-ти гипотетических клиентов уйдут неудовлетво- ренными. Им предложат зайти через сутки, и на следующий день фирма вы- нуждена будет произвести 8 + 12 = 20 экземпляров товара! Легко продолжить эту цепочку рассуждений дальше и сообразить, что будет происходить с про- изводством и удовлетворением спроса: система будет раскачиваться вде сильнее и сильнее, пока в дело не вступят естественные ограничения: объем производства не может быть меньше 0 штук и больше фактической мощно- сти производства (в случае электронных систем роль таких ограничений вы- полняет напряжение питания или достижимая мощность выходного каскада усиления). Работоспособность же системы будет полностью нарушена — от- рицательная обратная связь превратилась в положительную. Можно ли ответить на вопрос: т. к. реальные системы не могут иметь нуле- вое запаздывание по цепям прямой и обратной связи, то какие меры нужно принять для того, чтобы система не раскачивалась все сильнее и сильнее? Можно, хотя для сложных систем это и не всегда просто. Обсуждение теории устойчивости систем с обратной связью (скажем, известного метода Найкви- ста) увело бы нас слишком далеко, однако практические меры в основном сводятся к тому, чтобы ограничить коэффициент усиления исходной системы и/или глубину обратной связи на таких частотах, когда отрицательная обрат- ная связь начинает превращаться в положительную, т. е. при условии, чтобы фазовый сдвиг части выходного сигнала,' поступающей обратно на вход, от- носительно самого входного сигнала не достигал бы 180° при равной или большей входного сигнала амплитуде этой части (поглядите на графики сум- мирования синусоидальных сигналов в главе 4, чтобы лучше понять, в чем тут дело)1. Грубо эти частоты можно оценить следующим образом: если за- держка сигнала в ОУ составляет 1 мкс, то (при мгновенной обратной связи, как это имеет место в случае ее осуществления с помощью резистивного де- лителя) это значит, что при подаче сигнала частотой около 1 МГц с выхода на вход усилителя фазовый сдвиг составит ровно 180° и усилитель будет раскачиваться неограничейно.' Значит, нужно сделать так, чтобы усиление самого усилителя без обратной связи еще задолго до достижения указанной частоты падало и становилось равным единице ровно на частоте, соответст- вующей задержке — это так называемая коррекция усилителей. Причем чем 1 На самом деле все немного сложнее, но так можно себе представить ситуацию наглядно.
Самые универсальные. Операционные усилители и их применение 213 выше установленный с помощью обратной связи коэффициент усиления (т. е. чем меньше глубина обратной связи), тем выше допустимый порог по пре- дельной частоте исходного усилителя — это обусловлено тем, что на вход при росте этого коэффициента передается меньшая часть выходного сигнала. Разница между фазой входного сигнала ОУ после суммирования и 180 граду- сами называется "запас по фазе". Если он невелик, то при прохождении через усилитель сигнала прямоугольной формы на выходе могут наблюдаться вы- бросы или даже небольшие колебания по фронту и по спаду выходного на- пряжения. Наибольшую опасность несет в себе режим с установленным коэффициентом усиления, равным единице (т. е. использование ОУ в качестве повторителя). Роберт Видлар был сторонником того, чтобы переложить заботу о коррекции ОУ на плечи пользователей, и первые его конструкции ОУ (например, цА702, выпускавшийся в нашей стране под названием 140УД1, или полу- чивший широкую известность |1А709) имели специальные выводы для кор- рекции с помощью внешних резисторов и конденсаторов, и разработчик мог в некоторых пределах выбирать ширину полосы пропускания частот в зави- симости от установленного коэффициента усиления. Практически же этим никто не пользовался (подобно тому, как подавляющее большинство пользо- вателей компьютерных программ работает с установками, введенными в них разработчиками по умолчанию), и такая возможность приводила только к необходимости введения в схему лишних компонентов, так что в настоящее время выводы для внешней коррекции сохранились лишь для некоторых мо- делей высокочастотных ОУ, где полоса частот действительно критичный фактор. Кстати, а каковы в свете всего изложенного могут быть рекомендации нашим предпринимателям из производственной фирмы? Они аналогичны методам для обеспечения стабильности ОУ — нужно ограничить глубину обратной связи и коэффициент усиления на высоких частотах, причем если для нашей фирмы задержка реакции в производстве составляет сутки, то высокой будет считаться частота уже несколько экземпляров в день. Проще говоря, им сле- дует при наличии запаздывания не пытаться реагировать на каждый продан- ный или непроданный экземпляр, а выпускать некое среднее количество в сутки, изменяя его только тогда, когда изменился средний объем продаж за промежуток времени, значительно больший суток — это равносильно огра- ничению усиления на высоких частотах. Если вы попробуете повторить рас- суждения про нашу фирму, введя время реакции производства, скажем, на суточное количество проданных экземпляров в среднем за неделю, а не за сутки, как ранее, то вы увидите, что система стала значительно устойчивее, хотя на выходе ее и наблюдаются некоторые высокочастотные колебания
214 Глава 14 (т. е. количество товаров на прилавке может колебаться с частотой несколько экземпляров в день). По всем этим причинам большинство ОУ представляет собой низкочастот- ные приборы: обычная частота единичного усиления/1 (частота, на которой собственный коэффициент усиления снижается до 1) для распространенных типов не превышает 1—3 МГц. Например, для использованного в схеме ла- бораторного источника (см. главу 10) типа цА741 эта частота равна 0,8 МГц, что, грубо говоря, означает, что при установленном коэффициенте усиления, равным 1, он повторяет входные сигналы вплоть до этой частоты, при 10 — усиливает в 10 раз до частоты 80 кГц, при 100 — до 8 кГц и т. д. Для некото- рых моделей ОУ, специально предназначенных для усиления постоянного тока и медленно меняющихся сигналов, частота/] еще меньше — для очень хорошего прецизионного ОУ МАХ478/479 она равна всего 60 кГц. С другой стороны, есть и быстродействующие ОУ, для которых /] достигает десятков МГц. С частотой единичного усиления тесно связана другая характеристика ОУ — скорость нарастания выходного сигнала. Не забудем также, что в реальных системах часто могут иметь место много- численные паразитные обратные связи, учет которых весьма затруднен, если вообще возможен. Именно наличие таких связей приводит к "гудению" УМЗЧ даже в том случае, если с основными связями все ‘в порядке, и для борьбы в том числе и с этим явлением ставят развязывающие конденсаторы по питанию. Основные свойства системы с отрицательной обратной связью Отрицательная обратная связь в усилителях не только позволяет точно устано- вить коэффициент усиления, как мы уже знаем из примеров в главах 9, 10 и 13, ' но и приводит еще ко многим приятным улучшениям схемы. Попробуем ра- зобраться, почему это так и каково влияние характеристик реальных ОУ на параметры схемы. На рис. 14.2 приведена обобщенная схема некоторой системы, охваченной отрицательной обратной связью. Коэффициент усиления К основной систе- мы обычно больше 1 — в случае ОУ это и есть его собственный коэффици- ент усиления. Коэффициент передачи по обратной связи Р обычно, наоборот, меньше единицы (хотя ничто, кроме вышеуказанных частотных ограничений, не мешает нам сделать его и больше 1 — вся система тогда будет не усили- вать, а ослаблять сигнал). Кружок с плюсом в нем означает устройство для суммирования сигналов — сумматор.
Самые универсальные. Операционные усилители и их применение 215 Если разорвать петлю обратной связи, то сигнал на выходе <7ВЫХ был бы ра- вен Kt/BX (разумеется, в реальной системе напряжение питание его бы огра- ничило, но для наших рассуждений это не важно). Но при действии обратной связи это не так. На вход выходной сигнал передается с коэффициентом ос- лабления Р, и сигнал после сумматора, т. е. на входе основной системы, бу- дет равен UBX - Р(7ВЬ1х (минус, т. к. обратная связь отрицательная). Этот сиг- нал передается на выход с коэффициентом К, т. е. <7ВЫХ = К((/вх - Р^Лых)- Отсюда <7ВЫХ = Кt/BX/( 1 + КР). Так как коэффициент передачи Кус всей систе- мы по определению равен UBblx/UBX, то в результате для него получаем сле- дующую формулу: IZ _ ^ВЫХ _ К^ВХ _ / 1 \ УС~ Увх "ЧхО + Кр) (1 + Кр) Отсюда следует интересный вывод: если К много больше 1 (а в случае ОУ это действительно так с огромной степенью точности, мы уже говорили, что их собственные коэффициенты усиления могут достигать значений сотен ты- сяч и более), то единицу в формуле (1) можно не принимать во внимание, и коэффициент передачи будет выражаться простым соотношением: Кус=1/р (2) Формула (2) и означает, что коэффициент передачи входного сигнала на вы- ход будет определяться только параметрами обратной связи и никак не зави- сит от характеристик системы, причем чем выше собственный коэффициент усиления системы К, тем точнее соблюдается это положение (мы об этом упоминали в прошлой главе при сравнении характеристик УМЗЧ, построен- ных на фирменной микросхеме и на дискретных элементах по схеме из главы 9).
216 Глава 14 Введение отрицательной обратной связи приводит также еще к некоторым последствиям. Для практических целей достаточно их просто запомнить, не углубляясь в математические выкладки: □ входы ОУ не потребляют тока (входное сопротивление ОУ практически равно бесконечности, точнее — увеличивается по сравнению с ОУ без об- ратной связи в К|3 раз); □ ОУ с отрицательной обратной связью всегда стремится сделать так, чтобы потенциалы на его входах были равны между собой. Характеристики конкретной схемы определяются соотношением собственного коэффициента усиления ОУ и коэффициента передачи системы с замкнутой обратной связью — чем выше это соотношение, тем ближе схема к идеалу. Интересно, что если на практике для обеспечения фактической независимо- сти коэффициента усиления схемы от характеристик ОУ достаточно было бы иметь собственный коэффициент усиления всего в несколько тысяч (что и демонстрируют нам схемы УМЗЧ), то для того, чтобы получить, например, действительно высокое входное сопротивление (измеряемое гигаомами и выше), приходится увеличивать К до указанных величин в сотни тысяч и бо- лее — в схемах на ОУ часто приходится иметь дело с маломощными источ- никами сигнала, для которых сопротивление нагрузки даже в 1 МОм может привести к серьезным искажениям. Отметим также сразу, что использование обратной связи в указанной выше степени уменьшает и выходное сопротивление всего усилителя, которое ста- новится очень близким к нулю — точнее, примерно равным /?вых/(1 + КР), где /?вых равно собственному выходному сопротивлению ОУ, лежащему обычно в диапазоне сотен ом, так что выходное сопротивление получается порядка 1 миллиома. Только не забывайте, что мощность выходного каскада ограни- чена, и если вы его перегрузите, то от падения напряжения на нагрузке вас уже никакая обратная связь не спасет. Для общего образования попутно заметим, что в системе, представленной на рис. 14.2, ничего не изменится, если схему перевернуть: считать за усили- тель узел обратной связи, за узел обратной связи для него — сам усилитель, за входной сигнал — выходной и наоборот. Типичный пример такой двойст- венности мы увидим в следующей главе. Все зависит только от терминоло- гии, которая есть лишь вопрос удобства. Это хорошо иллюстрирует то фило- софское положение, что мы слишком часто оперируем реальными вещами в зависимости от того, как мы их назвали, в то время как на самом деле их поведение совершенно от этого не зависит.
Самые универсальные. Операционные усилители и их применение 217 Эрудированный читатель, несомненно, давно отметил, что я не употребляю в этой книге такой распространенной единицы измерения, как децибелы (дБ). Децибел (одна десятая белла, названного так по имени изобретателя теле- фона А. Белла) есть единица, использующаяся для измерения отношений величин. Перевести отношение в децибелы и обратно можно по формуле: К (дБ) = 20 • lg(Ai/Ao), где А1/А0 есть отношение значений некоторых величин (напряжений, токов, звукового давления и т. п.). Децибелы удобно использо- вать для характеристики изменения величин, меняющихся по степенному зако- ну, их широко используют при расчетах фильтров, анализе частотных и ампли- тудных характеристик ОУ, или, скажем, в таких случаях, как измерение уровня звукового давления. График степенной функции, которая быстро возрастает или падает в обычных координатах, в широком диапазоне значений практиче- ски невозможно изобразить, а при использовании децибел он будет выглядеть прямой линией (это часто встречающиеся вам графики, где по осям отложены величины, возрастающие не линейно, а в геометрической прогрессии: 1, 10, 100, 1000...). Звуковое давление практически всегда измеряют в децибелах (относительно порога слышимости) — это связано с тем, что наше ухо реагиру- ет именно на отношение громкостей, а не на их абсолютное прирастание. Если отношение величин больше 1, то величина в децибелах будет положительной, если меньше — отрицательной. Для перевода децибел в обычные относитель- ные единицы и обратно не обязательно всегда использовать указанную выше формулу, достаточно просто запомнить несколько соотношений: • 3 дБ соответствует увеличению/уменьшению на треть; • 6 дБ соответствует отношению в 2 раза; • 10 дБ соответствует отношению в 3 раза; • 20 дБ соответствует отношению в 10 раз. Руководствуясь этими соотношениями, легко перевести любую величину: на- пример, 73 дБ есть 20 + 20 + 20 + 10 + ЗдБ, т. е. 10 10 10 • 3 • 1,33 = 4000. Собственный коэффициент микросхемы звукового усилителя TDA2030 (см. главу 13) равен 30 000, т. е. 3 • 104, или 10 + 4 20 = 90 дБ. Коэффициент ос- лабления синфазного сигнала (КООС), о котором речь пойдет дальше, также чаще всего измеряют в децибелах: так, его величина, равная 60 (3 20) дБ, оз- начает, что синфазный сигнал ослабляется в 1000 раз. Крутизна характеристик простейших RC-фильтров низкой и высокой частоты из главы 5 равна соответ- ственно -6 и +6 дБ на октаву, что означает уменьшение/увеличение сигнала в 2 раза при изменении частоты также в 2 раза. Я же предпочитаю не использовать децибелы просто по той причине, что они нам сами по себе здесь не требуются, а умножать сущности без необходимости не следует, это способно только запутать читателя. Базовые схемы усилителей на ОУ Схема неинвертирующего усилителя (рис. 14.3, а) нам хорошо знакома — именно она составляет основу лабораторного источника питания из главы 10 (см. рис. 10.9). Анализ ее элементарно прост: исходя из приведенных правил 8 Зак. 710
218 Глава 14 Uoc - UBX, т. е. UBX = UBbiK • R2/(R1 + R2). Тогда коэффициент усиления Кус = UBbiX/UBX = (Rl + R2)/R2 = 1 + R1/R2, каким мы его и предполагали в главе 10. Единица, которая прибавляется к отношению резисторов обратной связи в выражении для коэффициента усиления, — очень важное дополнение, по- тому что если убрать в схеме неинвертирующего усилителя резистор R2, т. е. принять его равным бесконечности, то отношение резисторов станет равным нулю, а КуС равным 1. Соответствующая схема показана на рис. 14.3, в и но- сит название повторителя. Зачем она нужна, если ничего не усиливает? Эта схема обладает одним бесценным свойством: ее входное сопротивление равно практически бесконечности, а выходное — практически нулю (в пределах, конечно, мощности выходного каскада, как мы уже говорили). Поэтому по- вторитель очень часто используют в случаях, когда нужно согласовать ис- точник сигнала с высоким выходным сопротивлением с низкоомным прием- ником, и мы еще увидим примеры такого согласования. Рис. 14.3. Базовые схемы на ОУ: а — неинвертирующий усилитель; б — инвертирующий усилитель; в — повторитель; г— инвертирующий усилитель с высоким коэффициентом усиления
Самые универсальные. Операционные усилители и их применение 219 В неинвертирующем усилителе обратная связь носит название "обратной связи по напряжению". В отличие от него, в инвертирующем усилителе (рис. 14.3, б) обратная связь имеет характер "обратной связи по току", и вот почему. Так как здесь неинвертирующий вход имеет потенциал "земли", то и инвертирующий тоже всегда будет иметь такой же потенциал. Сразу отме- тим, что подавать именно нулевой потенциал на неинвертирующий вход со- вершенно не обязательно — если вы используете однополярный источник питания, то на неинвертирующий вход подается потенциал "искусственной средней точки", как это было сделано в схеме УМЗЧ (см. главу 13). Можно и любой другой, и мы еще будем этим широко пользоваться. Но вернемся к схеме рис. 14.3, б — если инвертирующий вход имеет всегда потенциал "земли", то от входа через резистор R2 потечет некий ток (/вх). Так как мы договорились, что сам вход ОУ тока не потребляет, то этот ток должен куда- то деваться, и он потечет через резистор R1 на выход ОУ. Таким образом, входной ток (/вх) и ток обратной связи (/ос) — это один и тот же ток. Причем потенциал выхода ОУ вынужденно станет противоположным по знаку по- тенциалу входа — иначе току некуда будет течь. Чему равен коэффициент усиления? Так как t/BX/R2 = t/Bblx/Rl, то Кус = UBUX/UBX = R1/R2. Без всяких дополнительных единиц, как в неинвертирующей схеме, т. е. R2 в данном случае есть необходимый элемент схемы. Он не может быть равным ни ну- лю, ни бесконечности — за исключением того случая, если источник сигнала сам по себе представляет источник тока, а не напряжения, тогда R2 из схемы можно (и нужно) исключить и подать токовый сигнал прямо на вход ОУ. Заметьте, кстати, что похожее на вышеприведенные соотношения уравнение для коэффициента усиления мы получали при рассмотрении транзисторного усилительного каскада (см. рис. 6.7), где оно было равно отношению коллек- торной нагрузки к сопротивлению в эмиттерной цепи. Это обусловлено тем, что в транзисторном каскаде также имеет место обратная связь (см. главу б). Максимальное значение выходного напряжения ОУ не всегда может быть равно положительному или отрицательному напряжению питания — как правило, оно меньше его на величину порядка 0,5—1,5 В (простейшим при- мером для понимания того, почему это так, служит наш звуковой усилитель из главы 9). То же самое относится и ко входным напряжениям — как прави- ло, достигать значений питания не разрешается. Однако многие современные типы это все же позволяют, и выходное/входное допустимое напряжение у них достигает значений питания — хотя необязательно и то и другое вме- сте. Это свойство в западной технической документации обозначается как Rail-to-Rail ("от шины до шины"), и на него нужно обращать внимание при выборе ОУ. При этом следует учитывать, что выходное напряжение может
220 Глава 14 достигать напряжения питания только на холостом ходу, а с подключением нагрузки его предельная величина снижается. Мы сейчас ведем речь об ОУ общего применения, к которым относятся старички цА741 (К140УД7), отече- ственные 140УД6, 140УД8 (последний — с полевыми транзисторами на вхо- де) или счетверенный LM324 (который поддерживает Rail-to-Rail по входу и частично — в отношении потенциала "земли" — по выходу), но, конечно, есть и более современные типы, многие из которых упоминаются далее. Если входное сопротивление неинвертирующего усилителя равно практи- чески бесконечности, то инвертирующего — почти в точности равно R2. Почти — по ряду различных причин, и мы не будем на этом останавливать- ся, потому что разница эта несущественна для практических нужд. Важнее другое: входы реального ОУ все же потребляют ток, хотя и очень неболь- шой, называемый током смещения. Ток смещения на инвертирующем вхо- де (в любой из двух схем) создаст падение напряжения на резисторе обрат- ной связи, и оно воспринимается как входной сигнал: если этот ток равен, к примеру, 0,2 мкА (казалось бы, так мало!), как у нашего любимого цА741, то при сопротивлении Rl = 1 МОм напряжение на выходе при от- сутствии напряжения на входе достигнет 0,2 В. Как обычно, в большинстве случаев важно не само по себе смещение, а его температурная нестабиль- ность. Борьба с этим явлениям может вестись в трех направлениях: во- первых, не следует использовать в цепочке обратной связи сопротивления большого номинала, стандартный диапазон их — от килоом до десятков килоом. Если же при необходимости сохранить достаточно высокое вход- ное сопротивление инвертирующего усилителя при большом коэффициенте усиления применение высокоомных резисторов желательно, то следует ис- пользовать схему, показанную на рис. 14.3, г. В данном случае вся цепочка резисторов в обратной связи работает как один резистор с номинальным сопротивлением 5,1 МОм, и коэффициент усиления равен 100 при входном сопротивлении 50 кОм. Во-вторых, в схему следует вводить компенсирующий резистор Rk (на рис. 14.3, a-e он показан пунктиром) — падение напряжения от тока сме- щения по неинвертирующему входу на нем отчасти компенсирует падение напряжения по входу инвертирующему. Тогда будет уже не столь важен сам ток смещения, сколько разница их, потребляемых по каждому из входов уси- лителя, которая определенно меньше каждого из токов. В-третьих, если на- личие именно тока смещения критично, то можно выбрать ОУ с малыми токами смещения — например, с полевыми транзисторами на входе. Так как сами токи там исчезающе малы, то их разница, естественно, вообще может не приниматься во внимание.
Самые универсальные. Операционные усилители и их применение 221 Правда, в ОУ с полевыми транзисторами еще больше, чем в обычных ОУ, проявляется другая напасть — входное напряжение сдвига2, которое есть ве- личина разности напряжений между входами, при котором выходной сигнал ОУ в точности равен 0. Возникает оно вследствие нестрогой идентичности транзисторов входных каскадов и для разных типов ОУ имеет довольно большой разброс — от десятков микровольт у прецизионных ОУ до единиц и даже десятков милливольт у ОУ с полевыми транзисторами. Естественно, оно, как и токи смещения, зависит от температуры. Бороться с напряжением сдвига гораздо сложнее, чем с токами смещения. В большинстве типов ОУ традиционно имеются специальные выводы, присоединив к которым пере- менный резистор, можно регулировать смещение нуля на выходе. Однако пользоваться этой возможностью я не рекомендую (и практические схемы, где ей пользуются, встречаются достаточно редко — подобно тому, как ни- кто не пользуется возможностью внешней коррекции частотной характери- стики, предусмотренной Видларом). Во-первых, в критичных случаях проще выбрать прецизионный ОУ с минимальным сдвигом, которых сейчас предла- гается очень много типов — укажем на упоминавшиеся МАХ478 (сдвоен- ный) и МАХ479 (счетверенный), отличающиеся, кстати, исключительно ши- роким диапазоном допустимых напряжений питания от ±2,2 до ±18 В, или МАХ4236, наоборот, работающий при напряжениях до 5,5 В, зато с полным Rail-to-Rail размахом напряжения по выходу. Во-вторых, это искусственное смещение нуля физически осуществляется "перекосом" входного дифферен- циального каскада с помощью внешнего сопротивления с характеристиками, абсолютно не согласованными с характеристиками внутренних элементов схемы ОУ. Так что применение такого способа приводит лишь к тому, что зависимость смещения нуля от температуры резко возрастает — настроив ноль при 20 °C, мы получим то же самое смещение при 10 или при 30 °C. Есть над чем поломать голову, не правда ли? Укажем — до кучи — еще один довольно экзотический, но тем не менее ис- пользовавшийся на практике до самого последнего времени способ борьбы с этими сложностями: в случаях, требующих особой точности, всю схему вместе с ОУ попросту размещали в термостате! Как проектировать термоста- ты, мы узнаем в следующей главе, а пока вернемся на землю — если требует- ся особо точное усиление некоего сигнала постоянного тока, все же имеется выход без использования подобной экзотики. Во-первых, это так называемые МДМ-усилители (от "модулятор-демодулятор", подобно "модему"). Их широко 2 Я употребляю термин "напряжение сдвига" вслед за авторами [10], но часто используется и термин "напряжение смещения". В любом случае здесь идет речь о напряжении, приведен- ном ко входу усилителя — если смещение измерено на выходе, как это обычно и делается, то его надо поделить на коэффициент усиления схемы.
222 Глава 14 применяли еще в ламповые времена, т. к. тогда УПТ с более-менее приемле- мыми характеристиками строить было больше не из чего. В основе МДМ- усилителей лежит довольно остроумная идея — модулировать входным сиг- налом некое переменное напряжение относительно высокой частоты, уси- лить полученное переменное напряжение с меняющейся амплитудой, что значительно проще, т. к. при этом все эти сдвиги-смещения остаются за бор- том, и после детектировать, опять выделив постоянную составляющую. К сожалению, в этом деле есть свои подводные камни: низкая предельная частота, невысокий коэффициент усиления, вероятность просачивания моду- лируемой частоты на выход, наконец, относительная дороговизна, поэтому сейчас все большее распространение получают так называемые "операцион- ные усилители, стабилизированные прерыванием". Если кратко, то суть дела в том, что внутри таких ОУ автоматически производится периодическая ком- пенсация смещения входных параметров. Для разработчика — это цросто обычный ОУ, имеющий весьма высокие характеристики: типичное напряже- ние сдвига составляет 5—10 мкВ, коэффициент усиления — более 106, очень маленький входной ток смещения порядка долей наноампера (как у ОУ с по- левыми транзисторами) и т. п. при полосе единичного усиления порядка со- тен килогерц или единиц мегагерц. К ним относятся отечественные 140УД21 и 149УД24, а также МАХ420, МАХ430, ICL7652 и другие.' Дифференциальные усилители Кроме всего прочего, ОУ имеют замечательное свойство подавлять синфаз- ный входной сигнал. Синфазный сигнал, в отличие от обычного дифферен- циального — то напряжение, которое действует на оба входа сразу. Это свойство приводит не только к возможности выделять полезный сигнал на фоне значительных наводок, но и, что иногда еще важнее, к подавлению нестабильности источника питания — изменение напряжения питания равно- сильно действию синфазного входного сигнала. На рис. 14.4, а показана схе- ма простейшего дифференциального усилителя. Делитель R3-R4 по неинвер- тирующему входу служит сразу двум целям: во-первых, он выравнивает входные сопротивления по входам (нетрудно показать, что т. к. потенциалы самих входов ОУ равны, то равны и входные сопротивления — естественно, при указанном на схеме равенстве соответствующих резисторов), во-вторых, что еще важнее, он делит входной сигнал ровно в такой степени, чтобы ко- эффициенты усиления по инвертирующему и неинвертирущему входам срав- нялись между собой. Именно при этом условии коэффициент ослабления синфазного сигнала (КОСС) будет максимальным. Для того чтобы получить действительно высокий КОСС (ослабление синфазного сигнала тысяч в де-
Самые универсальные. Операционные усилители и их применение 223 сять раз), согласование сопротивлений должно быть как можно более точ- ным, и в такой схеме следует применять прецизионные резисторы из ряда с погрешностью, не превышающей, по крайней мере, 0,1%, причем лучше всего их еще и дополнительно подобрать в строгом равенстве. Тогда вы дей- ствительно сможете без проблем выделить полезный сигнал в 1 мВ на фоне наводки в 1 В. Рис. 14.4. Схемы дифференциальных усилителей: а — простой дифференциальный усилитель; б — классический инструментальный усилитель; в — упрощенный инструментальный усилитель Понятно, что заниматься подобными извращениями при массовом производ- стве не с руки, да и входным сопротивлением наш простейший дифференци- альный усилитель отличается не в лучшую сторону, поэтому на практике эту схему применяют редко. Ко всему прочему, в ней еще и почти невозможно изменять коэффициент усиления в процессе работы. Если вдруг это понадо- бится — для этого требуется менять одновременно два резистора, а куда де- нется в таком случае наше согласование? Для того чтобы увеличить входное сопротивление, целесообразно добавить еще пару ОУ по каждому входу, включенных повторителями, как показано на рис. 14.4, б. Причем к раздуванию габаритов схемы это практически не приводит, т. к. специально для таких
224 Глава 14 целей выпускают упоминавшиеся ранее сдвоенные (dial) и счетверенные (quad) ОУ в одном корпусе, почти не отличающиеся по цене от одинарных (single). Так мы добьемся увеличения входного сопротивления по обоим вхо- дам почти до бесконечности, а что с КООС? Если просто добавить повтори- тели, то с ним ничего не произойдет и точное согласование резисторов по- прежнему требуется. Выход из этой ситуации прост — достаточно устано- вить еще один резистор, на схеме он обозначен как R1. В результате получим классическую схему инструментального усилителя. Здесь также целесооб- разно применять прецизионные резисторы, но подбора уже не требуется. Ко- эффициент усиления такого усилителя определяется по формуле (при ука- занных на схеме соотношениях резисторов): Т7 /7 7 ТТ ч R5 ( _ R2 вых — (^вх+ — ^вх- ) R4 R1 Менять его, не нарушая ничего в работе усилителя, можно одним резистором R1. Кстати, резисторы компенсации тока смещения здесь не нужны — токи эти по общим для системы инвертирующему и неинвертирующему входам вза- имно компенсируют влияние друг друга, тем более, если ОУ расположены на одном кристалле. Если мы люди не гордые и большой КООС нам не требуется (т. е. в случае, когда помеха мала по сравнению с полезным сигналом), то можно упростить схему инструментального усилителя. За исключением КООС, схема на рис. 14.4 с обладает всеми достоинствами классической, но содержит на один ОУ меньше (значит, можно использовать сдвоенный, а не счетверенный чип), да и резисторов там поменьше. При указанных на схеме соотношениях резисто- ров выходное напряжение такого усилителя будет равно: 7 7 /7 7 7 7 AR2 R2 ^вых (^ВХ+ ^вх- ^2 Rl + R3 + 1 Естественно, в этих усилителях решительно не рекомендуется подгонять ноль выходного напряжения с помощью нарушения баланса резисторов, на- пример R4/R5 и R6/R7 в схеме рис. 14.4, б. В то же время, иногда установка нуля необходима, т. к. начальное смещение выхода может быть, например, отрицательным (и не только вследствие сдвига самих ОУ, но и по причине начального смещения у источника сигнала), и если весь диапазон изменения выходного напряжения должен располагаться в положительной области (скажем, при подаче его куда-нибудь на вход аналого-цифрового преобразо- вателя, отрицательных напряжений не понимающего) вы можете потерять заметный кусок диапазона. Иногда для установки нуля рекомендуют вос- пользоваться корректирующими выводами одного из входных ОУ, но мы как
Самые универсальные. Операционные усилители и их применение 225 "не запали" на такую возможность, так и не будем ей пользоваться — тем более, что в сдвоенных и счетверенных вариантах эти выводы обычно отсут- ствуют вследствие элементарной нехватки контактов корпуса. В действи- тельности установку нуля лучше осуществлять со стороны входов, подмеши- вая к одному из входных напряжений через развязывающий резистор небольшое напряжение коррекции. Как это осуществляется на практике, мы увидим в дальнейшем, а пока рассмотрим еще одну схему на ОУ, которая в известной степени может служить тем же целям: схему сумматора. Другие распространенные схемы на ОУ В начале главы я упоминал о том, что операционные усилители получили свое название от того, что они применялись для моделирования математиче- ских операций. Схема аналогового сумматора (рис. 14.5, в) есть одна из таких классических схем. Представляет она обычный инвертирующий усилитель, на который подается несколько входных напряжений — каждое от своего источника. Легко сообразить, что в этой схеме коэффициент усиления будет для каждого из входов определяться соотношением резистора обратной связи R1 и соответствующего входного резистора Rl, R2 и т. д. — так, как если бы остальных входов и не существовало. Потому сигнал на выходе будет равен (усиленной) сумме сигналов на входе (естественно, с противоположным зна- ком). В простейшем случае, если все резисторы (включая и R1) равны между собой, то выходное напряжение будет равно просто сумме входных. Если же значения резисторов варьировать, то можно получить взвешенную сумму — когда каждый из входных сигналов вносит вклад в общее дело в соответст- вии с заданным ему коэффициентом. Кстати, если взять схему простого диф- ференциального усилителя (рис. 14.4, а) и заменить в ней резистор R4 такой же многовходовой цепочкой, то получим неинвертирующий сумматор. А ес- ли то же самое проделать еще и на инвертирующем входе, то получим сум- матор, в котором весовые коэффициенты могут иметь разные знаки. Сумма- тор был неотъемлемой частью систем моделирования дифференциальных уравнений, для решения которых операционные усилители в составе анало- говых машин изначально и использовались. Второй необходимой составляющей таких машин был интегратор на ОУ, схема которого приведена на рис. 14.5, а. Этот интегратор, в отличие от ин- тегрирующей RC-цепочки из главы 5, действительно осуществляет операцию интегрирования в корректной форме. Например, если подать на его вход по- стоянное напряжение (отрицательное), то напряжение на выходе будет ли- нейно возрастать (интеграл от константы есть прямая линия) с наклоном, равным U^/RC (вольт в секунду). Входной сигнал можно подать и на неин-
226 Глава 14 вертирующий вход— получим неивертирующий интегратор. Можно также объединить интегратор с сумматором — тогда интегрирование будет осуще- ствляться по сумме входных напряжений с соответствующими весовыми ко- эффициентами. Интеграторы, как и сумматоры, используются и по сей день в различных схемах. Рис. 14.5. Распространенные схемы на ОУ: а — интегратор; б — повторитель/инвертор; в — аналоговый сумматор; г — источник тока На рис. 14.5, б приведена любопытная схема, которая в зависимости от со- стояния ключа К меняет знак напряжения на выходе. Если К замкнут, то это инвертирующий усилитель с коэффициентом усиления, равным 1. Если же ключ разомкнут, то схема превращается в повторитель — попробуйте само- стоятельно сообразить, почему это так! В качестве ключа очень удобно ис- пользовать, скажем, транзистор или малогабаритное электронное реле — тогда такая схема может пригодиться для автоматического изменения знака усиления при необходимости отразить отрицательную часть диапазона на- пряжений на входе в положительную область (такая задача может возник- нуть для датчиков, показывающих температуру ниже и выше нуля градусов Цельсия. Характеристика ниже нуля тоже должна быть возрастающей, т. к. абсолютное значение величины температуры возрастает в обоих случаях, в то время как сам сигнал с выхода датчика меняется линейно в одну сторону). Еще одна давно обещанная и очень полезная схема (рис. 14.5, г) представляет собой почти идеальный источник тока с выходным сопротивлением, равным
Самые универсальные. Операционные усилители и их применение 227 бесконечности. Здесь может использоваться однополярное питание, как и показано на схеме. Ток можно задавать как соотношением резисторов де- лителя R1-R2, так и резистором R. Обратите внимание, что отрицательная обратная связь подается на неинвертирующий выход ОУ, т. к. здесь исполь- зован полевой транзистор с n-каналом, и стабилизируется его стоковое на- пряжение, которое есть инверсия напряжения на затворе. Если использовать транзистор с p-каналом, то его в этой схеме нужно подключить наоборот — стоком в направлении нагрузки, а обратную связь, снимаемую с истока, по- давать нормально на инвертирующий вход. Для высокой стабильности тока в этой схеме требуется столь же высокая стабильность напряжения питания, поэтому если важна абсолютная величина тока, то схему приходится питать от отдельного прецизионного стабилизатора (и делитель R1-R2, и резистор R, а не отдельно делитель!). К счастью, стабильность в абсолютном понимании требуется не всегда— как мы увидим при рассмотрении ошибок измери- тельных схем в главе 17, часто требуется стабильность некоей величины лишь относительно других параметров схемы. Кстати, от характеристик транзистора стабильность тока никак не зависит, единственное требование — чтобы начальный ток стока превышал установленный выходной ток схемы. Если применить не полевой, а биполярный транзистор, то будет иметь место некоторая зависимость выходного тока из-за изменений базового тока тран- зистора (ибо коллекторный ток отличается от эмиттерного на величину тока базы), поэтому чаще в таких источниках применяют полевые транзисторы. Аналоговый генератор Еще в главе 2 я обещал, что нами будет построен генератор для домашней лаборатории. Вообще-то их нам требуется два — цифровой (выдающий пря- моугольные импульсы) и аналоговый (генератор синусоидальных колеба- ний). Объединять их в одной конструкции, как это чаще всего делают, не- удобно, потому что синусоидальный генератор должен выдавать переменное напряжение с амплитудой от минуса до плюса, а цифровой — однополярное пульсирующее, т. е. от нуля до плюса питания. Поэтому цифровым генерато- ром мы займемся в главе 24, после изучения двоичных счетчиков, а пока сде- лаем для себя аналоговый. Принципиальная схема его приведена на рис. 14.6. Она сделана по широко распространенной схеме генератора Вина. Для того чтобы генератор выдавал именно синусоидальные колебания, коэффициент усиления ОУ должен быть в этой схеме равен ровно 3. Если он меньше, то генератор просто не запус- тится, если больше — верхушки синусоид начнут обрезаться, и в пределе вы- ходные колебания станут прямоугольными. Разумеется, реально установить
228 Глава 14 коэффициент усиления с нужной точностью невозможно. Поэтому применя- ют хитрый метод: в обратную связь ставят элемент, сопротивление которого зависит от среднего значения напряжения на нем. Проще всего оказалось ис- пользовать для этой цели термозависимые резисторы. В данном случае ис- пользуется термистор, у которого зависимость сопротивления от выделяю- щейся мощности имеет отрицательный наклон. В результате при увеличении амплитуды напряжения на выходе генератора его сопротивление падает, и нужный коэффициент устанавливается автоматически. Можно использо- вать также обычную маломощную лампочку — только наклон зависимости у нее положительный, поэтому ее следует ставить вместо резистора R2, a R1 тогда оставить постоянным. Для того чтобы такая обратная связь хорошо работала, от ОУ может понадобиться достаточно большой выходной ток, и тогда следует добавить к нему умощняющий выходной каскад (например, по схеме рис. 9.2). Есть и более тонкие способы (скажем, с использованием по- левого транзистора), но опыт показывает, что и этот старинный рецепт, еще времен господства ламповой схемотехники, прекрасно работает. Рис. 14.6. Схема лабораторного генератора синусоидальных колебаний Схему по рис. 14.6. можно собрать всю сразу. Здесь можно использовать лю- бой ОУ общего применения. Использованный сдвоенный ОУ типа 140УД20 представляет собой два хорошо знакомых нам |Д.А741 (140УД7), размещен- ных в одном корпусе. С ними генератор будет приемлемо работать до частот в несколько десятков килогерц. Напряжения питания могут составлять от ±5 до ±20 В, удобно выбрать напряжение около ±7—8 В, т. к. большие амплиту- ды практически никогда не требуются. Наладка будет заключаться в подборе резистора R2 под конкретный экземпляр термистора. Его нужно подобрать так, чтобы сигнал на выходе был чисто синусоидальным, без искажений.
Самые универсальные. Операционные усилители и их применение 229 Частота регулируется сдвоенным резистором R3-R4. При указанных на схеме номиналах минимальная частота будет около 30 Гц, а максимальная — около 1 кГц. Чтобы расширить диапазон частот, придется поставить сдвоенный пе- реключатель на несколько положений и изменять емкости конденсаторов. Удобно, например, подобрать сопротивление резисторов R5 и R6 так, чтобы диапазон частот составлял 30—330 Гц, тогда, меняя с помощью переключа- теля емкости конденсаторов в десять раз (0,1 мкФ, 0,01 мкФ, 1 нФ), вы будете иметь перекрывающиеся диапазоны 30—330, 300—3300 и 3000—33 000 Гц. Обратите внимание, что никакой особой подгонки по равенству номиналов резисторов и конденсаторов не требуется, схема будет работать при любых (в разумных пределах) соотношениях номиналов, и равенство здесь выбрано только из соображений удобства расчета. Амплитуда сигнала на выходе ре- гулируется потенциометром (R7 на схеме), чтобы иметь низкое выходное сопротивление, добавлен повторитель на втором ОУ из корпуса. Немало других интересных применений ОУ вы можете найти в многочис- ленной литературе, например, в классических трудах [15] и [20]. А мы на этом с рассмотрением принципов использования ОУ закончим и займемся конструированием практических схем.
Глава 15 Рыбку жалко... Конструируем термостаты Хотя был всего лишь конец сентября, в ка- мине уже горел огонь. А. Дюма, "Три мушкетера " Термостат — простейшее техническое устройство из класса гомеостатов, т. е. систем, которые автоматически поддерживают значение некоей величины на заданном уровне. Яркий пример хорошо всем знакомого гомеостата — наш собственный организм, в котором непрерывно с высочайшей точностью под- держиваются оптимальные значения таких величин, как температура, кон- центрация кислорода в крови, уровень адреналина и прочих параметров, причем практически независимо от вашей воли. Эти системы продолжают работать до тех пор, пока вы живы. Многие болезни есть следствие или при- чина расстройств гомеостатических функций организма, типичный случай — простуда, при которой в том числе нарушается работа термостатирующей системы, и температура начинает расти. Аспирин, как известно, саму просту- ду не лечит — он помогает привести в порядок именно термостатирующую функцию организма, отчего вы сразу чувствуете себя лучше. Ключевой осо- бенностью всех гомеостатов является обязательное наличие отрицательной обратной связи, на что и обратил внимание упомянутый в предыдущей главе Ноберт Винер в своей "Кибернетике". Хочу поставить читателя в известность, что, вообще говоря, теория проекти- рования гомеостатов — теория автоматического регулирования — весьма сложный и навороченный предмет, для изучения которого необходимо непло- хо знать некоторые области прикладной математики. Мы здесь без этого обойдемся. Теория слишком часто оказывается "в дауне", если ее нижайше просят выдать конкретные рекомендации для практики. Мы уже могли на- блюдать типичный пример подобной ситуации, когда пытались рассчитать охлаждающий радиатор для транзистора— весьма распространенная прак- тическая задача, для решения которой, тем не менее, теоретически обосно- ванного метода не существует. Точнее, существует — можно составить всякие
232 Глава 15 там уравнения на этот случай — но он абсолютно не пригоден в реальной жизни, т. к. составленные сверхсложные уравнения решаются только в край- не приближенной форме, и проще просто взять на вооружение эмпирические зависимости, как мы это и делали. Другие примеры из серии "что такое науч- ный подход" вы можете найти в очень толковой во многих других отношени- ях книжке [16] — когда зачем-то приводятся страниц пять сложнейших ма- тематических выкладок, а резюме состоит в том, что полученная формула для практических применений не годится, т. к. было сделано слишком много допущений. Так что пусть на меня не обижаются ревнители "строго научного подхода", если вы в этой главе, посвященной, в сущности, автоматическому регулированию, не встретите ни передаточных функций, ни операторных уравнений. Однако вместе с тем я совершенно не желаю воспитывать читателя, особенно читателя юного, в таком ключе, будто чистая наука есть сплошной "маст- дай"1 и никому в наше время не нужна. Вовсе нет — как известно, "нет ниче- го практичнее хорошей теории", и это действительно так. Только знание тео- рии позволяет охватить предмет целиком и понять скрытые от чистого практика закономерности во всей их взаимосвязи. Не вина ученых, что, ска- жем, теплообмен оказался слишком крепким орешком, но знание теории мо- жет очень сильно помочь даже и в этом тяжелом случае, потому что иногда позволяет увидеть такие качественные закономерности, которые никакому практику с многолетним опытом не увидеть никогда. Простейший пример — без знания теории практически невозможно ответить на вопрос: в какой цвет красить теплоизлучающие поверхности? Оказывается, что те, что должны рассеивать тепло получше (скажем, охлаждающие радиаторы), нужно кра- сить в черный цвет, а те, что призваны тепло сохранять (корпуса термоста- тов) — в белый. Между тем всем известно, что печки красят именно в белый цвет, вопреки теории! Конечно, это делается, в первую очередь, из эстетиче- ских соображений (да и не так уж и много там тепла теряется), но я сильно подозреваю, что наши предки вообще не знали о существовании этой про- блемы, пока над этим не задумались ученые. Да что теплообмен — такая важнейшая в наше время область, как цифровая техника и компьютеры, во- обще не могла бы возникнуть даже в мыслях, если бы для нее поколениями ученых не были бы подготовлены тщательное теоретические обоснования. Если читателю показалось, что два предыдущих абзаца противоречат друг другу, то это противоречие разрешить легко: не следует ждать от теории, что 1 От английского must die — "должно умереть", на компьютерном жаргоне часто используют как ироническое определение чего-нибудь совершенно ни к чему непригодного и ненужного, "отстойного". Например, противники продукции Microsoft так часто называют ОС Windows ("запускаю я тут как-то свой мастдай...").
Рыбку жалко... Конструируем термостаты 233 она заменит практический опыт. Изучая операторные уравнения, вы рискуете ничего не узнать о том, как проектируются реальные системы регулирования. Исторический опыт говорит о том, что теоретики — очень плохие изобрета- тели и инженеры, редчайшие исключения только подтверждают правило. В области техники, если вы хотите что-то делать своими руками, следует обязательно идти от практики к теории, а не наоборот, но вовсе без владения теорией полноценного инженера тоже не бывает. Типичный пример — судь- ба аналогии между булевой алгеброй и релейными схемами, о чем будет подробно рассказано в главе 18. Только доскональное знание практики по- строения таких схем позволило математику Шеннону обратить внимание на то, на что не обращал внимание никто в течение почти ста лет до него. Но и без знания самой теоретической из наук — математики — у него ничего бы не вышло. Так как книга эта имеет сугубо практическую направленность, то я стараюсь по мере возможности теорию обходить — нельзя объять необъятное. Иногда это удается, иногда нет. В любом случае делается это в расчете на то, что любознательный читатель на моей книге не остановится, а, вооруженный практическими знаниями, приступит к изучению теории уже с полным пониманием того, зачем он это делает и что именно хочет в резуль- тате получить. Термостат вообще На этом с философией временно закончим и вернемся к термостатам. Конст- руировать термостаты одновременно и просто и сложно. Просто — потому что, по сути, они ничем не отличаются от усилителей с обратной связью, описанных в предыдущих главах, только обратная связь заводится не непо- средственно, а через длинную цепочку различных устройств. А насчет слож- ности вы все поймете, если осилите эту главу до конца. На рис. 15.1 приведена типовая структурная схема термостата. Интересно, что она, кроме всего прочего, служит ярким примером упомянутого в преды- дущей главе положения о двойственности систем с обратной связью: за объ- ект, подлежащий регулированию (на рис. 14.2— верхний квадратик), здесь естественно принять среду, в которой мы поддерживаем температуру. В этом случае элементами обратной связи становится усилитель и остальные компо- ненты схемы. Но ничто нам не мешает— и с технической точки зрения это гораздо логичнее — рассматривать в качестве регулируемого объекта усили- тель, и тогда наоборот, все остальное есть лишь элементы обратной связи для него! В том, что и тот и другой подходы равнозначны, вы убедитесь позже. Следует отметить, что для полноты картины в приведенной структурной схеме не хватает одного компонента — холодильного устройства. Термостат,
234 Глава 15 который показан на схеме, может поддерживать температуру только выше температуры окружающей среды — в чем, впрочем, большинство практиче- ских задач в области техники и заключается. Введение холодильного агрега- та не представляет никаких трудностей теоретически, но является не всегда тривиальной задачей практически, т. к. холодильник — сами знаете, что это такое. Сейчас мы рассмотрим работу схемы, а затем поглядим, с какого бока туда можно пристроить холодильник, если вдруг это понадобится. U Рис. 15.1. Обобщенная схема термостата: 1 — объект регулирования; 2 — нагреватель; 3 — теплоизоляция; 4 - датчик температуры; 5 — исполнительное устройство; 6 — источник питания; 7 — усилитель; 8 — задающее устройство Итак, мы имеем некий объект регулирования, который условно показан на схеме как бак с водой. Пусть сначала — сразу после включения системы — температура в нем ниже необходимой. Предположим, что датчик температу- ры имеет характеристику с положительным наклоном — т. е. сигнал на нем увеличивается с увеличением температуры. Для того чтобы все работало, сигнал должен, естественно, представлять собой напряжение в некотором диапазоне, которое поступает на инвертирующий вход усилителя. Собственно
Рыбку жалко... Конструируем термостаты 235 датчики температуры сами по себе напряжение выдают не всегда, у них от температуры зависит какой-нибудь физический параметр, скажем, сопротив- ление, но преобразовать этот параметр в напряжение обычно несложно, по- этому мы будем считать датчиком уже законченный конгломерат из собст- венно датчика и преобразователя с напряжением на выходе. Усилитель сравнивает сигнал с датчика с сигналом, поступающим с задаю- щего устройства — так называется устройство, которым мы можем устанав- ливать нужную нам температуру в системе. В простейшем случае это пере- менный резистор, включенный по схеме потенциометра, с которого можно снимать напряжение в таком диапазоне, чтобы его крайние значения соответ- ствовали сигналу с датчика при крайних значениях нужного нам диапазона температур. Так как в начальный момент температура, как мы договорились, меньше заданной, то напряжение с датчика ниже напряжения сигнала с за- дающего устройства, и на выходе усилителя будет большое положительное напряжение (меньшее напряжение, напомним, поступает на инвертирующий вход, поэтому выход положителен). Это напряжение приведет в действие ис- полнительное устройство, которое на схеме показано в виде контактов ре- ле — в простейшем случае это и есть реле, электромеханическое или элек- тронное, которое своими контактами подает напряжение от источника питания (например, прямо от бытовой сети) на нагреватель. Обратная связь для усилителя замыкается через сам объект — когда нагреватель достаточно нагреет воду в баке, сигнал с термодатчика превысит установленный с по- мощью задающего устройства уровень, напряжение на выходе усилителя упадет до 0 (или даже станет отрицательным — если питание усилителя дву- полярное), исполнительное устройство снимет питание с нагревателя, и вода начнет остывать, пока температура датчика вновь не достигнет заданного значения — теперь уже "сверху", т. е. со стороны больших, чем заданная, значений температуры. О, сколько подводных камней кроется в такой, казалось бы, простой и понят- ной системе! Начнем с того общего положения, что термостат всегда под- держивает температуру в той, и только в той точке, в которой установ- лен датчик. Поэтому если вода в нашем баке плохо перемешивается, то обязательно возникнет ситуация локального перегрева — вплоть до того, что вокруг нагревателя вода может уже закипеть, а датчик так и останется холод- ным. Датчик при этом еще может быть установлен "не в том месте" — на- пример, слишком близко ко дну, а теплая вода будет подниматься вверх. А если датчик установить, наоборот, слишком близко к нагревателю и тем более прямо над ним в потоке поднимающейся теплой воды, то все произой- дет наоборот— система сработает слишком рано, когда вода вокруг еще холодная. Поэтому первое условие хорошего регулирования — как можно
236 Глава 15 более интенсивное перемешивание среды, в которой температура регулиру- ется. На рис. 15.1 для этой цели изображена мешалка, но, конечно, переме- шивать можно и другими способами. Во многих случаях — когда это воз- можно — бак следует также укутывать теплоизоляцией, а стенки для более равномерного распределения температур делать металлическими (последнее особенно критично в случае, если среда — воздух, а не вода). Далее. И нагреватель, и датчик, и масса воды, и стенки бака обладают некоей теплоемкостью и, соответственно, тепловой инерцией (которая на много по- рядков превышает время срабатывания электронных устройств). Процессы остывания и нагревания протекают во времени примерно так же, как процесс заряда-разряда конденсатора, поэтому эти процессы можно охарактеризовать подобием постоянной времени RC — она так и называется тепловой посто- янной времени. В данном случае наибольшая постоянная времени будет у системы "стенки бака — вода", но нас больше даже интересует тепловая постоянная нагревателя (тепловую инерцию датчика пока учитывать не бу- дем). Что будет происходить в реальной системе? Когда температура достиг- ла заданной, электронные компоненты послушно выключат питание нагрева- теля, но из-за его инерционности он еще некоторое время будет греть воду, отдавая туда тепло, запасенное за счет его собственной теплоемкости. Чем массивнее нагреватель, тем дольше будет происходить этот процесс, мало того, чем он мощнее, тем количество лишнего отданного тепла будет больше, потому что выше будет температура внутри нагревателя. Произойдет перере- гулирование — нагреватель давно выключен, а температура некоторое время продолжает расти. В точности то же самое, но в обратную сторону, повто- рится при остывании системы — нагреватель включится, но ему нужно неко- торое время, чтобы прогреться, поэтому температура будет продолжать па- дать. Отсюда второе условие хорошего регулирования — масса нагревателя и его мощность должны быть минимально возможными, т. е. такими, чтобы при наихудших условиях (при максимальной разнице между установленным значением температуры и окружающей средой) только-только суметь "побе- дить" потери тепла через стенки бака и через поверхность воды. Это положе- ние в полной мере действительно только в релейной схеме (нагреватель или выключен, или включен полностью), потому что далее мы увидим, что мож- но ослабить требования, если регулировку производить другим способом: плавным изменением мощности пропорционально разнице температур (не зря же мы городили устройства плавного управления мощной нагрузкой в главе 11, правда?). Естественно, само по себе регулирование будет происходить только в опре- деленных пределах температуры окружающей среды. Если температура сре- ды выше или равна установленной, то бак никогда не остынет и система
Рыбку жалко... Конструируем термостаты 237 будет иметь температуру окружающей среды. Наоборот, при очень низкой температуре снаружи у нас может не справиться нагреватель — потери тепла превзойдут его мощность. Холодильник в этой системе может понадобиться, если нам нужно поддерживать температуру ниже температуры окружающей среды или независимо от нее, в разобранном выше случае роль холодильника играет окружающая среда. Как же его сюда при необходимости пристроить? Это несложно — достаточно разместить охлаждающий агрегат в баке и включать его, например, в противоположной фазе с нагревателем: когда на- греватель включен — холодильник выключен и наоборот. Если же вообще нагреватель убрать, а холодильный агрегат оставить, мы получим схему обычного домашнего холодильника — он ведь и предназначен для того, что- бы поддерживать температуру всегда ниже, чем температура окружающей среды, и точно так же перестанет чего-нибудь регулировать, если эта темпе- ратура выйдет за пределы диапазона регулировки. Если холодильник выста- вить на мороз, то он никогда не нагреется, а если поставить в горячем цеху, то никогда не выключится. Единственный путь достижения некоторой незави- симости от прихотей пользователя — установка и холодильника и нагревателя совместно и увеличение их мощности. В релейной схеме— а для обычного холодильного агрегата только такая и возможна — увеличение мощности воз- можно только за счет снижения качества регулирования, но для нагревателя, как мы говорили, есть и другой выход. Между прочим, как мы увидим в дальнейшем, можно холодильник и не выключать вовсе, оставив все регу- лирование на совести нагревателя — тогда качество регулирования даже мо- жет улучшиться. Естественно, при этом нагреватель должен быть как мини- мум мощнее холодильника. А может ли в этой системе возникнуть нечто подобное фазовому сдвигу для ОУ, который приведет к генерации? (Заметим, что слова "нечто подобное" тут даже и не очень уместны, потому что любая система с обратной связью подчиняется одним и тем же закономерностям, и это будет именно фазовый сдвиг, так же как и в электронных устройствах.) Вообще-то тепловые систе- мы настолько инерционны, что генерацию в том смысле, в котором мы это наблюдали в случае "гудения" ОУ, вызвать достаточно сложно. Но вышеопи- санное явление перерегулирования — это и есть та самая генерация, только обычно она составляет небольшую часть от всего диапазона. Мы можем вы- звать большую амплитуду колебаний температуры, если, скажем, будем уве- личивать инерционность нагревателя или датчика или вводить искусствен- ные задержки на включение и отключение нагревателя — полная аналогия с процессом производства в гипотетической фирме, который описан в пре- дыдущей главе.
238 Глава 15 Термостат для аквариума До сих пор мы говорили только о физических особенностях системы и со- всем забыли про электронную часть. Что за усилитель там надо использо- вать? То, что это ОУ, ясно даже и ежу, как говорил один из персонажей братьев Стругацких, но в каком включении? Вот тут мы вспомним, что в прошлой главе обещали продемонстрировать случай включения ОУ без об- ратной связи — в самом деле, зачем она здесь нужна? Вся система уже охва- чена обратной связью, а исполнительное устройство представляет собой ре- ле, которому, чтобы включиться, нужно только наличие определенного напряжения — и его отсутствие, чтобы выключиться. Поэтому ОУ здесь включается по схеме компаратора2 — без обратной связи. Так как коэффици- ент усиления его при этом чудовищен, то он и будет находиться в одном из двух состояний — если сигнал с задающего устройства больше сигнала дат- чика, на выходе ОУ будет фактически положительное напряжение питания (реле сработает), если меньше — отрицательное или ноль, если питание од- нополярное (реле выключится). l/пит С1 0,047 - 0,47мк Нагреватель 20-40 Вт К1 D2W202F Рис. 15.2. Принципиальная схема терморегулятора для аквариума На рис. 15.2 приведена практическая схема терморегулятора для аквариума. Устроена она, как видите, довольно просто. Датчик температуры Rt пред- ставляет собой термистор, т. е. сопротивление его падает с увеличением тем- пературы, и сигнал на инвертирующем входе ОУ также будет падать (кон- денсатор С1 обеспечивает сглаживание наведенных помех). С этим связан один нюанс: в разобранной выше обобщенной схеме сигнал датчика возрастал, 2 От compare (англ.) — сравнивать.
Рыбку жалко... Конструируем термостаты 239 но включен он был также в инвертирующий вход. Все дело тут в необычном устройстве выходного каскада компаратора 554САЗ (в простых ОУ все нор- мально). У него в качестве оконечного усилителя используется довольно мощный п-р-п-транзистор (напряжение коллектор-эмиттер до 40 В и ток кол- лектора до 50 мА), который соединяется с остальной схемой внутри корпуса только базой, а эмиттер и коллектор выведены наружу (эмиттер — вывод 2, коллектор — вывод 9). На самом деле так выведен только коллектор, а эмиттер подключен несколько сложнее, но это для нас не имеет значения — результат будет один и тот же. Это сделано для удобства пользования: если мы присоединим эмиттер к "земле", то получим схему с "открытым коллек- тором". Чтобы получить на выходе напряжение, при этом следует в коллек- торную цепь установить нагрузку— в простейшем случае это резистор, но можно подсоединить и обмотку реле или, скажем, лампочку. Если же мы присоединим коллектор к положительному потенциалу, как на схеме рис. 15.2 (в данном случае— к тому же источнику питания, но можно и к источнику с иным потенциалом), то нагрузка может быть установлена в эмиттерную цепь (у нас это входной светодиод электронного реле — токоо- граничивающий резистор для него устанавливать не требуется, т. К. у данно- го типа он уже имеется внутри реле). Тогда здесь выходной транзистор ис- пользуется как эмиттерный повторитель. Возникает вопрос: при таком выходном каскаде какой смысл приобретут по- нятия "инвертирующий" и "неинвертирующий" входы компаратора? Эти на- именования были присвоены входам микросхемы 554СА33 с учетом того, что одно из основных ее назначений — преобразование аналогового сигнала в логические уровни. При этом выходной транзистор включается по первому варианту: с общим эмиттером и нагрузкой в цепи коллектора. Тогда названия входов обретают следующий смысл: при превышении напряжения на инвер- тирующем входе напряжения — на неинвертирующем выходе (на коллекторе выходного транзистора) будет логический 0 (транзистор открыт) и наоборот. Если мы применим это рассуждение к нашему случаю, мы увидим, что вы- ходной транзистор откроется, когда температура станет ниже необходимой (т. е. когда сопротивление термистора велико). А нам это и надо — при этом реле включится и подключит нагреватель. При увеличении температуры со- противление термистора упадет, и когда напряжение на делителе Rl-Rt ста- нет меньше, чем на делителе R2-R3-R4 — транзистор закроется и отключит через реле нагреватель. Если бы мы использовали датчик с положительным наклоном характеристики, то следовало бы поменять местами либо R1 и Rt, либо входы компаратора. 3 А также полностью, за исключением корпуса и разводки выводов аналогичного изделия под названием 521 САЗ. Западный аналог их обоих — LM311.
240 Глава 15 В данном случае целесообразно использовать именно термистор, потому что у него высокая (3—4%/°С) крутизна, отсюда и чувствительность, и помехо- устойчивость системы возрастают. Металлические термометры сопротивле- ния, которые мы будем использовать в дальнейшем для измерения (а не про- сто регулирования) температуры, имеют значительно меньший (на порядок) температурный коэффициент, но зато у них зависимость сопротивления от температуры строго линейна (у термистора она носит экспоненциальный характер) и очень стабильна. С их использованием схему пришлось бы несколь- ко переработать, и здесь мы эту возможность рассматривать не будем — вы сами легко сможете подключить вместо термисторного датчика металличе- ский, если заглянете в следующую главу (но не забудьте пересчитать резисто- ры задающего делителя!). Здесь же нас нелинейность не волнует: в диапазоне температур для аквариума изменение крутизны датчика можно вообще не принимать во внимание, а в более широком диапазоне (как далее в схеме термостата для водонагревателя) крутизна упадет примерно в полтора раза при увеличении температуры на 60—70°. Это означает, что настолько уменьшится изначально очень высокая чувствительность. Ну и что? — спро- сим мы самих себя, — да пусть себе уменьшается! Здесь можно использовать термистор любого типа (например, ММТ-1) с но- минальным (при 20 °C) сопротивлением от нескольких кОм до нескольких десятков кОм, при этом сопротивление резистора R1 должно быть примерно равно номинальному сопротивлению термистора при 20 °C или несколько меньше этого значения (чем оно меньше, тем хуже для термистора, т. к. он может перегреваться питающим током, однако, чем оно больше, тем меньше рабочий диапазон напряжений). Сам датчик можно изготовить следующим образом: термистор с припаянными к нему достаточно длинными выводами помещается в нержавеющую металлическую (в этом случае выводы следует изолировать) или пластмассовую трубку и заливается эпоксидной смолой (рис. 15.3). Для того чтобы смола не вытекала, пока не затвердеет, нужно временно залепить нижнюю часть трубки пластилином. Одновременно в труб- ке с одного конца закрепляется "ухо" для крепления датчика, которое можно изготовить из проволочной петельки. Чтобы исключить выщелачивание вредных веществ из эпоксидной смолы во время эксплуатации датчика (что возможно, если оптимальное соотношение отвердитель/смола было наруше- но, а это практически всегда так, хотя бы из-за того, что отвердитель имеет тенденцию к старению), нужно дополнительно покрыть датчик водостойким лаком (подойдет рецептура для лакирования печатных плат, автомобильная эмаль горячего отверждения или, в крайнем случае, обычная олифа, которая имеет очень высокую водостойкость, но, к сожалению, сохнуть может при комнатной температуре неделями). Операции окраски можно избежать, если
Рыбку жалко... Конструируем термостаты 241 использовать вместо эпоксидной смолы силиконовый герметик, которым, од- нако, аккуратно заполнить внутреннюю полость трубки значительно сложнее. Рис. 15.3. Датчик для терморегулятора: 1 — металлическая нержавеющая или пластмассовая трубка; 2 — "ухо" для крепления; 3 — слой водостойкого лака; 4 — место пайки вывода термистора; 5 — термистор; 6 — эпоксидная смола; 7 — выводы Электронное реле типа D2W202F (фирмы CRYDOM) можно заменить на любое другое подобное реле или даже на простое электромеханическое, только в последнем случае нужно учитывать то, что написано ниже о дребез- ге контактов. Блок питания — стабилизированный, подойдет конструкция по рис. 10.5, б. Настройка регулятора сводится к тому, чтобы подобрать сопротивления R2 и R4 под конкретный экземпляр термистора. Сначала мы подсоединяем вместо них переменные резисторы, выводим движок потенциометра R3 в верхнее положение по схеме, погружаем датчик в воду с температурой 18° (это будет нижний предел диапазона регулировки температуры) и, изменяя величину R2, фиксируем момент срабатывания реле (можно просто подсоединить к его контактам тестер в режиме "прозвонки", но удобнее временно вместо нагрузки подсоединить маломощную лампочку накаливания). Погружаем датчик в воду с температурой 32° (верхний предел), выводим R3 в нижнее положение и подбираем R4. При этом у нас нижний предел "уедет", поэтому придется сделать несколько итераций, чтобы добиться нужного результата. Естественно, нужно следить за температурой воды — она в обоих случаях не должна меняться от раза к разу. Чтобы не устраивать столь долгую "песню", можно просто измерить напряжение на делителе Rl-Rt при нужных темпера- турах и рассчитать величины сопротивлений R4 и R2 заранее, а затем при необходимости их подкорректировать (хотя этого обычно не требуется — какая разница, будет у нас нижний предел 18° или 17°? Главное, чтобы мы его знали). В окончательной конструкции регулировочный резистор R2 снабжается шка- лой, по которой мы будем устанавливать поддерживаемую температуру.
242 Глава 15 Следует учесть, что при использовании термистора шкала эта будет нерав- номерная — к концу промежутки между делениями будут короче, т. к. чувст- вительность термистора с температурой падает. Поэтому шкалу следует изготовить эмпирическим методом: полностью отлаженный термостат под- ключается к небольшой емкости с водой (чтобы нагревание и остывание шло не слишком долго), а затем отмечаются углы поворота движка резистора R2, которые соответствуют различным установившимся температурам — именно установившимся, а не температурам в момент срабатывания реле, т. к. они могут отличаться. Эта процедура носит название калибровки. Кстати, а как же здесь быть с теплоизоляцией и перемешиванием, о необходи- мости которых "так долго говорили большевики"? Теплоизоляцией, естествен- но, придется пожертвовать, но при столь небольших перепадах температур между водой и окружающей средой она не очень и требуется, а вот насчет пе- ремешивания "большевики" совершенно правы: без него ничего не выйдет. Поэтому терморегулятор в аквариуме можно использовать только в сочетании с аэратором воды, который очень хорошо ее перемешивает, причем рассеива- тель аэратора должен быть размещен на самом дне аквариума. При этом датчик подвешивают на половине высоты аквариума, а нагреватель — вблизи дна. Нагреватель указанной мощности лучше всего купить в магазинах для аква- риумистов, но, в принципе, можно и изготовить самостоятельно из мощного остеклованного резистора типа ПЭВ, тщательно заизолировав выводы: сна- чала они покрываются лаком, затем изолируются термоусадочным кембри- ком, затем поверх него также покрываются в несколько слоев водостойким лаком или силиконовым герметиком. Помните, что тщательность при изго- товлении изоляции здесь — решающий момент! После изготовления изоля- цию следует проверить: погрузите нагреватель в теплый раствор соли и из- мерьте сопротивление между выводами и раствором — на всех пределах измерения сопротивления мультиметр должен показывать полный разрыв цепи. Сопротивление самого резистора должно быть около 1 кОм, а допус- тимая рассеиваемая мощность может быть не более 5 Вт — в воде коэффи- циент теплоотдачи возрастает во много раз, только не забудьте, что такой нагреватель, подобно обычному кипятильнику, нельзя включать на воздухе. А что произойдет, если температура воздуха в помещении сама достигнет 27—30 °C? Ничего — терморегулятор наш перестанет включаться, и темпе- ратура воды будет равна температуре воздуха (точнее, она всегда будет несколько ниже ее из-за испарения с поверхности). Данный термостат предназначен только для подогрева воды и стабилизации ее температуры на некотором уровне заведомо выше, чем температура окружающей сре- ды. И его использование наиболее актуально зимой, потому что отопление в наших квартирах работает сами знаете как.
Рыбку жалко... Конструируем термостаты 243 Г истерезис Во всем этом есть еще один нюанс. Что будет происходить в момент, когда напряжения на входах компаратора сравняются? Чувствительность у компа- ратора огромная, а в сигнале датчика и на выводе задающего делителя всегда присутствует хоть маленькая, но помеха, и конденсатор С1 ее не устранит полностью — если даже все идеально заэкранировать, роль помехи сыграют собственные шумы компонентов схемы, которые имеются принципиально, если температура, конечно, отличается от абсолютного нуля. Поэтому в мо- мент равенства напряжений на выходе компаратора появится "дребезг" — он будет быстро-быстро переключаться туда-сюда, переключая и реле тоже. В случаях, подобных нашему, при использовании электронного реле с zero- контролем в качестве исполнительного механизма или, скажем, в случае, когда питание всей схемы осуществляется от отдельного постоянного источ- ника, а исполнительным механизмом служит, например, транзистор, на этот дребезг можно закрыть глаза. Отсутствует дребезг и в схемах с пропорцио- нальным регулированием, пример чего мы увидим ниже. Но в других случаях нечеткое срабатывание приводит к разным неприятным последствиям: для обычного тиристорного реле это помехи, для электромеханических реле, сверх того, еще и быстрый износ контактов, да и просто далеко не услаж- дающий слух шум. Рис. 15.4. Схема компаратора с гистерезисом Для того чтобы избежать этого явления, в схему вводят так называемый гистерезис4. На рис. 15.4 показана идея того, как это делается с помощью по- ложительной обратной связи, охватывающей компаратор, хотя, как мы увидим 4 От греческого hysteresis — отставание реакции от вызвавшего ее внешнего воздействия.
244 Глава 15 далее, делать именно так необязательно, а иногда и довольно сложно. На- пряжение питания всей схемы в данном случае однополярное. Пусть на- пряжение UBX ниже напряжения на делителе £7зад, тогда на выходе компара- тора напряжение равно положительному напряжению питания (все компараторы поддерживают полный диапазон напряжений по выходу — Rail-to-Rail). В этом случае резистор R1 шунтирует R2 и напряжение /7зад становится больше того значения, которое оно бы имело в отсутствие резистора R1: при указанных на схеме номиналах и напряжении питания оно равно 5,24 В. Когда UBX увеличится и достигнет U3aa — компаратор переключит- ся, и напряжение на выходе станет равным нулю. Резистор R1 теперь шун- тирует R3, и напряжение на делителе /7зад станет ниже — оно будет равно 4,76 В. Теперь небольшая помеха не страшна — чтобы переключиться об- ратно, напряжение на входе должно опуститься аж на целых 0,48 В. Со- стояние компаратора при переключении как бы фиксируется. Величина разницы в порогах (0,48 В в данном случае) называется зоной нечувстви- тельности. Естественно, наличие этой зоны усугубляет влияние тепловой инерции нагревателя — включение-выключение нагревателя происходит позже, чем надо бы, и перерегулирование растет. Поэтому величину этой зоны при необходимости качественного регулирования нужно выбирать очень аккуратно. Сложность введения гистерезиса таким, если можно так выразиться, "академическим" способом в реальных схемах обусловлена тем обстоятельством, что половинки входного делителя обычно не равны друг другу, к тому же чаще всего (как в нашем случае) делитель этот есть пере- менное сопротивление, и зона нечувствительности будет зависеть от поло- жения движка потенциометра. Должен сказать, что обычные электромеханические реле сами по себе имеют гистерезисную характеристику — как мы говорили в главе 7, напряжение срабатывания у них может в несколько раз превышать напряжение отпуска- ния. Так что простое снижение чувствительности компаратора (превращен- ного тогда в обычный ОУ с отрицательной обратной связью), казалось бы, могло бы нам в этом случае помочь. И все же оно не поможет — дребезжать будет все равно, потому что выходное напряжение ОУ с наложенной на него помехой тогда будет нарастать очень медленно, и в момент достижения напряжения срабатывания реле будет срабатывать очень неуверенно — несколько раз пытаясь сработать, но затем откатываясь назад и издавая при этом характерное жужжание. Так что будет лучше и для нас, и для реле, если мы введем контролируемый гистерезис по всем правилам. Один из способов, как это можно сделать практически, сейчас мы и продемонстрируем.
Рыбку жалко... Конструируем термостаты 245 Терморегулятор "для дома, для семьи"5 Обычное устройство для нагревания воды в условиях отсутствия центрально- го горячего водоснабжения (например, в дачном домике) состоит из бака на 5—20 л со встроенным электронагревателем (ТЭНом) мощностью 1—2 КВт. Использовать его без терморегулятора неудобно — приходится внимательно следить за тем, чтобы вода не закипела, да и получается она либо слишком горячая, либо наоборот — недогретая. На рис. 15.5 изображена схема термо- стата на этот случай. Она только на вид кажется сложной, на самом деле от- личается от схемы термостата для аквариума практически только тем, что в ней выбрано значительно более мощное электронное реле (до 10 А при ес- тественном, без обдува, охлаждении) и введены дополнительные элементы (два маломощных электронных реле и два тумблера), в основном, для обес- печения различных режимов работы. Режимы эти следующие: □ автоматический термостатирующий; □ автоматический однократный с отключением по достижении нужной тем- пературы ("режим электрочайника"); □ ручной с подключением ТЭНа напрямую к сети. Сначала отвлечемся от режимов и посмотрим, как работает основная схема регулирования — в ней есть небольшое отличие от схемы на рис. 15.2, кото- рое заключается в том, что в схему введен резистор R4 небольшого номина- ла, шунтированный контактами маломощного реле К2. После включения питания, если температура еще ниже установленной, сра- батывает не только основное мощное реле К1 (оно вместе с другими реле в данном случае включено в коллекторную цепь выходного транзистора мик- росхемы, а не в эмиттерную, как на рис. 15.2, — но это не меняет дела), но и реле К2 (токограничивающих резисторов в реле этого типа нет, и с этой це- лью установлены резисторы R6 и R7). Контакты его замкнуты, и резистор R4 не участвует в работе схемы. По мере увеличения температуры напряжение на датчике падает и в какой-то момент выходной транзистор компаратора разрывает цепь питания К1 — нагреватель обесточивается. В тот же момент отключается реле К2, и резистор R4 включается в цепь делителя R2-R3-R4-R5, еще больше увеличивая разницу напряжений между выводами компаратора. По мере остывания воды напряжение на датчике повышается, и в какой-то момент компаратор снова срабатывает, подключая нагрузку через реле К1. Контакты К2 при этом опять шунтируют резистор R4, и это тоже увеличивает разницу напряжений, но в теперь "в другую сторону". Как видите, мы получили 5 Эта конструкция автора опубликована в журнале "Радио", 2004, №11.
246 Глава 15 типичную гистерезисную характеристику— хотя мы здесь и используем электронное реле с zero-коррекцией, но коммутирует оно мощную нагрузку, и слишком частые изменения тока в маломощной деревенской сети в момент включения и выключения реле нам совершенно ни к чему. Резистор R4 несколько увеличивает нестабильность поддержания температуры — при приведенных на схеме номиналах разница между температурой включения и выключения составит от 1 до 1,5° (например, при установленной температуре в 35° нагреватель включится, когда температура упадет до 34°, а выключит- ся, когда она достигнет 35,5°), однако нам более высокая стабильность в дан- ном случае совершенно не требуется. К1/1 Рис. 15.5. Схема термостата для нагревания воды Теперь разберемся с режимами. Сначала— с режимом "электрочайника* (однократным), для обеспечения которого в схему введено еще одно мало- мощное реле КЗ, включенное, как видите, довольно хитрым образом. Если тумблер S2 находится в положении "Автомат" (т. е. контакты его замкнуты), то реле КЗ никак не участвует в работе схемы. Если же его переключить
Рыбку жалко... Конструируем термостаты 247 в режим "Однократный", то в момент достижения нужной температуры, вме- сте с отключением реле К1 (и, соответственно, нагрузки), реле КЗ, ранее включенное через диод VD1 и резистор R7 в ту же коллекторную цепь вы- ходного транзистора микросхемы, также отключается, контакты его размы- каются, и вывод 4 компаратора оказывается подключенным через датчик температуры к потенциалу земли. Такое состояние схемы устойчиво, и для возобновления работы в режиме стабилизации температуры необходимо ли- бо на некоторое время отключить напряжение питания, либо тумблером S2 переключить схему в режим "Термостат". А конденсатор С2 вместе с диодом VD1 служит для "правильного" запуска схемы при включении питания — если тумблер К4 разомкнут, то контакты реле КЗ должны замкнуться сразу после подачи напряжения питания, иначе компаратор не сработает. При по- даче напряжения питания, как мы знаем, конденсатор представляет собой короткозамкнутый участок цепи, поэтому реле КЗ на небольшое время, пока конденсатор заряжается (примерно 100 мс), замкнет контакты. Диод VD1 на это время запирается и предохраняет от срабатывания реле К1 и К2. Если температура воды в момент включения превышает установленную, такое срабатывание реле будет кратковременным — только на время зарядки кон- денсатора С2. Если же температура ниже требуемой, то компаратор успеет сработать, диод VD1 откроется, и реле КЗ останется в замкнутом состоянии до момента отключения нагрузки. Кстати, опыт эксплуатации подобного уст- ройства показал, что наиболее популярен именно режим "электрочайника", т. к. он позволяет экономить электроэнергию и не беспокоиться о том, что вы оставили включенный электроприбор без присмотра. Ручной режим (резервный, на случай выхода автоматики из строя, чтобы в случае аварии не остаться вовсе без горячей воды) обеспечивается просто: тумблер S1 в положении "Постоянно" подает сетевое питание напрямую на нагреватель (контакты К1 при этом шунтируются, схема обесточивается, а вся система работает так, будто никакой автоматики и не существует). В положении "Автомат" сетевое напряжение переключается на блок питания автоматики, а нагреватель теперь может включаться только контактами реле. Тумблер S1, естественно, должен выдерживать рабочий ток ТЭНа (подойдет импортный переключатель В1011, рассчитанный на ток до 16 А при напря- жении 250 В или другой аналогичный. В крайнем случае можно использовать автомобильные переключатели, но это не очень корректно, т. к. на напряже- ния до 300 В они, в Принципе, не рассчитаны.). Когда сетевое напряжение поступает на нагрузку (неважно, через тумблер или контакты реле), горит включенная параллельно ей неоновая лампочка Н1, по которой можно контролировать работу схемы. Лампочка может быть любого типа, только не забудьте, что резистор R8 должен иметь мощность
248 Глава 15 не менее 0,5 Вт, т. к. работает при сетевом напряжении. Использованное си- мисторное реле PF240D25 (разводка его выводов на схеме не показана, все нарисовано прямо на его корпусе) в принципе допускает ток до 25 А, однако достаточно сильно греется уже при 10 А, поэтому возможную мощность ТЭНа лучше ограничить величиной 2 КВт, а в корпусе устройства сверху и снизу обязательно должны наличествовать вентиляционные отверстия. При этом реле К1 в рабочем положении корпуса должно быть расположено выше остальных деталей. Если вы хотите добиться большей мощности, то лучше использовать аналогичное реле типа D2425 с возможностью установки на дополнительный радиатор. Использовать здесь электромагнитное реле до- вольно затруднительно и не рекомендуется: придется включать мощный пус- катель через промежуточное реле, и он отнюдь не будет услаждать ваш слух своим грохотом и жужжанием. А вот реле К2 и КЗ вполне можно заменить на маломощные электромеханические — например типа РЭС-60 или РЭС-49. Естественно, резисторы R6 и R7 в этом случае не требуются, а вот у конден- сатора С2, возможно, придется раза в два увеличить емкость для более на- дежного включения устройства. В положении тумблера S1 "Автомат" сетевое напряжение поступает на про- стейший блок питания, сделанный по рис. 10.2. Как обычно, его можно из- влечь из покупного блока со встроенной вилкой, мощности от него никакой не требуется (вся схема потребляет ток порядка 30 мА), поэтому можно выбирать любой на напряжение 10—15 В. Напряжение с него поступает на стабилизатор типа LM78L09 (в корпусе ТО-92, можно заменить на отечест- венный 142ЕН8Б или на аналогичный иного производителя), откуда стабили- зированное напряжение +9 В поступает на питание схемы. Светодиод VD2 сигнализирует о включении схемы автоматики — его лучше выбирать зеле- ного свечения, чтобы обеспечить контраст с неоновой лампочкой. При указанных на схеме номиналах термостат обеспечивает установку темпе- ратуры в диапазоне примерно 35—85°. Настройка его и калибровка ничем не отличаются от таковых для аквариумного термостата, кроме диапазона темпе- ратур. В процессе настройки основную нагрузку можно не подсоединять, т. к. момент срабатывания и отключения вполне можно контролировать по неоно- вой лампочке, только следует учесть, что вовсе без нагрузки "неонка" может гореть даже при выключенном реле из-за токов утечки, и вам даже может пока- заться, что система не работает. Тогда придется все же подключить какую-то нагрузку— в качестве нее удобно использовать лампочку накаливания или даже просто двухваттный резистор сопротивлением около 20 кОм. С перемешиванием/теплоизоляцией здесь ситуация обратная, чем в аквариу- ме, т. к. перемешивание здесь обеспечить довольно сложно, но оно как раз и не очень требуется — во-первых, требования к точности поддержания темпе-
Рыбку жалко... Конструируем термостаты 249 ратуры невысоки, во-вторых, нагреватель обычно настолько мощный, что вода сама неплохо перемешивается за счет конвекции, т. е. естественной циркуляции нагретых водных масс. Вот в процессе калибровки хорошее пе- ремешивание обеспечить надо обязательно! А теплоизолировать бак для во- ды я настоятельно рекомендую: просто обернув его старым ватным одеялом, вы можете экономить до 70% электроэнергии, причем это касается не только данной конструкции, но и вообще всех водонагревателей. Можно сделать и "фирменную6 теплоизоляцию из упаковочного пенопласта. В заключение отметим, что схемы для построения термостатов невысокого класса, подобных описаным, существуют, разумеется, и в интегральном ис- полнении, обычно они при этом совмещены с полупроводниковым датчиком температуры, который часто имеет и отдельный выход, что обеспечивает возможность измерения температуры. С такими устройствами все знакомы, например, по встроенным в компьютерные материнские платы системам контроля температуры процессора и регулирования оборотов вентилятора. Прецизионный лабораторный термостат Сразу скажу, что нормальному радиолюбителю воспроизвести подобное уст- ройство по полной программе есть задача реально невыполнимая. И дело не в том, что оно — вещь вовсе не нужная (наоборот, иногда может быть до- вольно полезна, как мы увидим в главе 16), а в том, что она громоздкая, до- рогая, потребляет кучу электроэнергии и основные конструктивы для нее из- готовить в домашних условиях затруднительно. Однако все не так трагично, и в домашних условиях можно соорудить упрощенную копию такого термо- стата — что при этом придется делать и чем пожертвовать, рассказывается в конце главы. А в целом это описание может пригодиться, если вам потре- буется подобная конструкция по работе, причем здесь есть два соображения: во-первых, обладая соответствующей производственной базой, вполне можно изготовить такой термостат самостоятельно, и это может обойтись принци- пиально дешевле, чем покупать фирменный, а во-вторых, даже и в последнем случае знание принципов, по которым конструируются такие устройства, сильно поможет сделать вам правильный выбор. В любом случае рассмотре- ние этой схемы будет весьма поучительно, т. к. в ней сведены воедино мно- гие предыдущие наши наработки. Термостат будет иметь диапазон регулирования температуры от -2 до +50 °C, причем точность поддержания ее может достигнуть ±0,05°. Для достижения высокой точности важны не столько особенности схемы, сколько тщательное продумывание конструкции и правильный выбор мощности нагревателей. 9 Зак. 710
250 Глава 15 Следует сразу отметить, что в термостате этом нельзя точно установить нужное значение температуры, он может только ее точно поддерживать, поэтому для того, чтобы измерить реально установившуюся температуру, нужен отдельный специальный прецизионный термометр. О том, как изме- ряют температуру, мы будем говорить позднее, в главе 16 и далее, а пока пе- рейдем к описанию конструкции. С конструктивов мы и начнем. Бак для рабочей жидкости (чистая вода тут не подойдет, т. к. она замерзнет, поэтому нужно пользоваться либо автомобиль- ным антифризом, либо, что еще лучше, спирто-водно-глицериновой смесью: по 10—15% спирта и глицерина, остальное вода) должен иметь емкость не менее 100 л, и в нем должно быть обеспечено очень хорошее перемешивание. Бак следует изготавливать из нержавеющей стали или, в крайнем случае, пластмассы, все остальные материалы будут корродировать. Мешалку с элек- троприводом пристроить к этому делу не очень удобно: она будет, извините за невольный каламбур, мешаться, занимая много места именно там, где нам в процессе эксплуатации придется располагать объекты, подлежащие термо- статированию. Поэтому эту проблему решают обычно так: берут два бака и устанавливают их один в другой (как показано на рис. 15.6). Во внутренний бак насосом нагнетается рабочая жидкость, которая перетекает через его верх и из внешнего бака поступает опять в насос. Такая схема к тому же за- метно улучшает качество термостатирования, т. к. основной — внутрен- ний — бак при этом сам находится целиком в термостатированной среде. Внешний бак помещен в кожух с теплоизоляцией. Датчик температуры помещают не прямо внутрь рабочего бака, а монтируют в трубе на выходе из системы перекачивания, нагреватели же — на входе этой системы (на рис. 15.6 датчик и нагреватели не показаны). И насос с трубами, и, желательно, нагре- ватель должны быть также из нержавеющей стали. Естественно, насос и под- водящие трубы необходимо теплоизолировать, а оба бака в рабочем состоя- нии прикрываются плотной крышкой, желательно также с теплоизоляцией и необходимыми отверстиями — для термометра, размещения испытуемых приборов и т. п. Принципиальная электрическая схема устройства приведена на рис. 15.7. Рассмотрим сначала основную схему регулирования, которая построена на знакомом нам сдвоенном ОУ типа 140УД20 (его можно заменить на сдвоен- ный прецизионный ОУ типа МАХ478 или аналогичный— характеристики схемы при этом улучшатся, но незначительно). В целом она отдаленно похо- жа на предыдущие схемы, за исключением того, что в обратной связи второ- го усилителя (DA1/2) стоит цепочка R3-R4, которая задает ему коэффициент усиления чуть меньше 30. Первый же усилитель (DA1/1) есть просто развя- зывающий повторитель сигнала с датчика, т. к. при таком включении вход-
Рыбку жалко... Конструируем термостаты 251 ное сопротивление усилителя будет шунтировать измерительный делитель Rl- Rt. Датчиком, как и раньше, у нас здесь служит термистор (и включен он наоборот, чем в случае компаратора — к плюсу питания, т. к. здесь использу- ется обычный ОУ), но в фирменных конструкциях обычно применяют се- рийный металлический (медный или платиновый) термодатчик — при этом схему его подключения, как мы уже говорили, нужно изменить. Что же будет происходить в этой схеме при изменении температуры? Рис. 15.6. Принцип конструкции прецизионного термостата: 1 — внешний бак; 2 — внутренний бак; 3 — теплоизоляция; 4 - насос Рис. 15.7. Принципиальная электрическая схема прецизионного термостата
252 Глава 15 Сначала, когда температура намного ниже заданной, разность сигнала с дат- чика и напряжения с делителя R5-R6-R7 велика и, т. к. датчик включен в верхнее плечо делителя, отрицательна. Более высокий потенциал поступает на неинвертирующий вход, поэтому на выходе усилителя DA1/2 будет на- пряжение, близкое к положительному напряжению питания (при указанных на схеме типах транзистора и ОУ — около 9,5—10 В). Это напряжение через эмиттерный повторитель на транзисторе VT1 поступает на резистор Rl 1 и формирует ток (в данном случае — около 6,5 мА) через светодиод рези- сторного оптрона DA1 типа АОР124Б. В ОУ нет мощного встроенного тран- зистора на выходе, как у компаратора, поэтому его пришлось поставить дополнительно — хотя в данном случае это и не совсем обязательно (ОУ 140УД20 выдерживает нагрузку до 1 к), но нагрузка на вольт-другой снижает выходное напряжение насыщения (а при замене на менее мощный тип, скажем, на МАХ478 — в еще большей степени), так что лучше застра- ховаться. Оптрон входит в схему управления мощной нагрузкой, которая идентична показанной на рис. 11.5, и поэтому на этой схеме изображена без подробно- стей в виде пунктирного квадратика. Ее можно заменить на схему с рис. 11.3 или 11.4, тогда оптрон может быть диодный или транзисторный6. При таком токе через управляющий светодиод сопротивление светоприемника оптрона мало, и частота управляющих импульсов будет велика — тиристор будет от- крываться в самом начале каждого периода, и на нагреватель 1 поступит полное напряжение сети (см. главу 11). Когда напряжение с датчика по мере повышения температуры приблизится к заданному делителем R5-R6-R7 зна- чению, напряжение на выходе ОУ начнет падать, и ток через светодиод оп- трона уменьшится, соответственно упадет и действующее значение напряже- ния на нагревателе — он будет греть слабее. В конце концов, при близости к равенству напряжений на входах усилителя напряжение на выходе упадет до небольшой величины, и нагреватель почти полностью выключится. В точ- ности то же самое будет происходить, если начать с более высокой темпера- туры — при ее снижении мощность нагревателя в определенных пределах будет возрастать постепенно. В установившемся режиме ОУ будет поддер- живать такое напряжение на выходе (с некоторой, соответственно, разностью потенциалов на входе), чтобы температура оставалась все время постоян- 6 Кстати, в главе 11 упомянуто, что обратная связь устраняет нестабильности схемы регулиро- вания мощности. Это действительно так, и вот почему: ведь регулятору с обратной связью все равно, по какой причине произошло изменение регулируемой величины — оттого, что откры- ли форточку, оттого, что внезапно упало напряжение в сети или по внутренним причинам са- мого регулятора. В любом случае, если воздействие не выходит за рамки возможностей регу- лятора, он послушно отработает изменение и "вернет" регулируемую величину "на место".
Рыбку жалко... Конструируем термостаты 253 ной — мощность нагревателя будет в точности компенсировать потери тепла в окружающую среду. Такое регулирование называется пропорциональным и, разумеется, с его по- мощью можно достичь значительно более высокой стабильности температуры, чем с помощью релейной схемы. Чтобы это осуществилось на практике, нужно хорошее согласование всех элементов схемы: усилитель должен вовремя (когда температура в термостате еще отличается от заданной на 2—3 граду- са) переходить из режима насыщения в усилительный режим, причем на- чальный ток через оптрон должен быть подобран так, чтобы устройство управления нагревателем сразу начало потихоньку снижать действующее значение напряжения. Все это достигается подбором номинала Rl 1 и коэф- фициента усиления ОУ. Подробно излагать всю арифметику я не буду — вы уже вполне сможете справиться с этим самостоятельно, только отмечу, что номиналы, приведенные на схеме, рассчитаны из следующих условий: тер- мистор И1\1еет номинальное значение 15 кОм с крутизной при 20 °C около 4%/°С, соответственно в середине диапазона регулировки (при 20—25 °C) изменение его сопротивления составит примерно 0,6 кОм/°С. Тогда измене- ние напряжения на выходе датчика составит примерно 0,3 В на желаемый диапазон в 3°, отсюда коэффициент усиления ОУ и должен составлять вели- чину порядка 30. Как подбирать Rl 1 из условия, чтобы напряжение на нагре- вателе было максимальным, но начало снижаться сразу же после того, как начал снижаться ток через этот резистор, вы уже знаете (см. главу 11). Ну, а подогнать сопротивления делителей под конкретный экземпляр терми- стора (или металлического датчика), думаю, проблемы не составит. Но это только, как видите, часть схемы. Вторую часть составляет устройство для автоматического включения холодильника. В таком агрегате холодиль- ник нужен обязательно, т. к. наличие хорошей теплоизоляции не позволит жидкости нормально остывать при небольшой разнице температур между ней и окружающей средой, и термостат не будет нормально работать, даже если ограничить нижний предел диапазона комнатной температурой. Поэто- му в схему введен компаратор, который автоматически включит холодиль- ный агрегат при установке температуры ниже 30°. В зависимости от темпера- туры в помещении и реальной ситуации вы можете произвольно включать и выключать холодильник вручную с помощью выключателей S1 и S2. Но и это еще не все! Делд в том, что для стабильной работы термостата в обычном режиме (при температурах выше комнатной) необходимая и дос- таточная мощность нагревателя невелика — для 100-литрового бака это по- рядка 0,5 кВт, как у карманного кипятильника, иначе система будет очень долго устанавливаться, колеблясь вокруг заданного значения температуры — если вообще установится в обозримом будущем. Но, во-первых, и в таком
254 Глава 15 режиме время перехода от температуры, скажем, 20° к температуре 50° со- ставит часы — представляете, сколько времени потребуется, чтобы нагреть 100 л воды вместе со всеми металлическими конструкциями бытовым кипя- тильником? Еще сложнее ситуация в случае включения холодильника — промышленные холодильные агрегаты имеют холодопроизводительность порядка 500—1000 ккал/час, что численно соответствует примерно такой же мощности в ваттах, поэтому нагреватель наш в одиночку определенно не справится. По всем этим причинам в схему введен второй нагреватель, кото- рый подключается параллельно первому: либо вручную — в случае необхо- димости быстро "погнать" температуру вверх, либо автоматически при под- ключении холодильника. Мощность его должна быть такой, чтобы в сумме оба нагревателя заведомо превышали холодопроизводительность холодиль- ного агрегата, но не слишком — раза в полтора, не более. Система, при кото- рой холодильник и нагреватель действуют совместно, "побеждая" друг друга, может показаться не очень разумной, особенно с точки зрения экономии электроэнергии, но при желании обеспечить качественное регулирование другого выхода нет — разве что установить регулируемый холодильный аг- регат, но регулировать производительность компрессионных холодильников, тем более автоматически — технически весьма непростое занятие. Я обещал рассказать, как можно повторить эту конструкцию в удешевленном и уменьшенном варианте для радиолюбительских нужд — такой термостат может пригодиться не только для градуировки и калибровки датчиков, но и, например, для испытаний работоспособности электронных схем при разной температуре (т. н. "климатические испытания"). В воду (или в антифриз) схему, естественно, погружать нельзя, поэтому ее аккуратно упаковывают в несколько (один в другом) полиэтиленовых пакетиков (обязательно но- вых!), завязывают, выведя наружу только необходимые провода, и подвеши- вают в термостате. Так как же сделать такую полезную штуку? Все сказанное ранее о конструкции, электронной схеме и настройке остается в силе, за исключением того, что перекачивающая система с двумя баками здесь, конечно, будет слишком громоздкой и сложной, так что перемешива- ние следует обеспечить обычной мешалкой с электродвигателем (двигатель не должен быть слишком мощным и иметь слишком много оборотов, иначе содержимое просто выплеснется наружу). Емкость бака может составлять от 5 до 10 литров, он обязательно должен быть металлическим (цилиндрическое алюминиевое ведро), но с хорошей теплоизоляцией (пенопласт). Для таких количеств воды мощность нагревателей следует уменьшить и можно обой- тись вообще одним нагревателем мощностью от 300 до 500 Вт. Самый серь- езный вопрос — как быть с холодильником? Можно использовать агрегат от старого домашнего холодильника — обычно их выкидывают не потому, что
Рыбку жалко... Конструируем термостаты 255 они ломаются, а вследствие морального и физического износа, агрегат же остается вполне работоспособным. Это отличное решение с теоретической точки зрения, но на практике оно крайне неудобно— термостат теряет мо- бильность, к тому же испаритель от холодильника запихать в 5—10-литровую емкость непросто. Но есть и другой метод для обеспечения принудительного охлаждения рабочей жидкости, при использовании которого придется, прав- да, пожертвовать частью диапазона температур: в емкости размещается змее- вик (несколько витков медной трубки по диаметру емкости), через который пропускается вода из водопровода. Зимой вода имеет температуру около 4°, так что вполне можно работать вплоть до этой температуры, а вот летом она, конечно, гораздо теплее — однако при комнатных температурах и выше ра- ботать термостат будет безупречно. При этом учтите, что теплопроводность и теплоемкость воды имеют беспрецедентно высокие значения в сравнении почти со всеми остальными известными материалами7, поэтому достаточно очень слабого тока воды, чтобы обеспечить эффективное охлаждение рабо- чей жидкости (антифриз тут, разумеется, уже не нужен). Потеряв часть диа- пазона, вы зато упростите схему (компаратор и дополнительный нагреватель не потребуются) и приобретете крайне удобную возможность тонко регули- ровать мощность охлаждения в зависимости от нужной температуры — про- сто поворачивая водопроводный кран, поэтому точность поддержания тем- пературы тут может быть ничуть не хуже, чем в "настоящем" термостате. В нерабочем состоянии такой термостат задвигается куда подальше (обяза- тельно — в сухом состоянии, иначе у вас все быстро разъест коррозией), до- лой с глаз домашних, а при необходимости вы его разворачиваете, например, в ванной, подсоединяете резиновыми трубками к водопроводу и спокойно работаете. На этом краткий курс теплотехники и основ регулирования температуры можно считать законченным и перейти к другой теме: измерению этой самой температуры. 7 Для тех, кто не в курсе: именно этому факту мы обязаны тем, что на Земле существует жизнь — иначе, скажем, температуры летом и зимой отличались бы на сотни градусов, но на- личие больших количеств воды в океанах сглаживает эти колебания.
Глава 16 Как измерить температуру? Электронные термометры — Господи, до чего же мне холодно!- вскричал Планше, как только господин его скрылся из виду. И, торопясь согреться, он немедленно по- стучался у дверей одного домика. А. Дюма, "Три мушкетера” Прежде чем познакомиться с методами измерения температуры, неплохо бы попытаться понять, что это такое — температура? Вопрос не совсем дурац- кий, как это может показаться на первый взгляд, потому что понятие темпе- ратуры лежит в одном ряду с такими физическими абстракциями, как время, энтропия или электромагнитное поле. В отличие от последних двух, темпера- туру мы можем ощущать физически, подобно расстоянию или массе, но на самом деле ясности в понимании сути дела это не добавляет: течение време- ни мы тоже ощущаем, но на вопрос "что такое время? " сможет внятно отве- тить далеко не каждый — если вообще кто-нибудь знает ответ. И время, и температуру в смысле их измерения постигла похожая судьба: научились это делать с достаточной точностью совсем недавно — в исторических мас- штабах, конечно. Основы термометрии Определение гласит: температура есть мера внутренней энергии тела. Мельчайшие частицы (атомы и молекулы), составляющие физические тела, все время движутся либо по некоторым траекториям в пространстве (в жид- костях и газах), либо колеблются около своего положения (в твердых телах). Чем интенсивнее они движутся, тем выше температура. Если в твердом теле она достигает некоторого критического значения, то атомы-молекулы сры- ваются со своих мест, структура тела нарушается, и оно плавится, превра- щаясь в жидкость. Если повышать температуру дальше, то связи между час- тицами уже не могут победить возросшую интенсивность их движения,
258 Глава 16 и жидкость начинает испаряться, превращаясь в газ. При высокой температу- ре нарушаются уже связи внутри молекул — это так называемая холодная плазма (например, пламя), при очень высокой — внутри атомов, и вещество превращается в высокотемпературную плазму. В реальности на эту упро- щенную модель накладывается некоторое количество нюансов. Скажем, ве- щество может существовать при одних и тех же условиях в нескольких со- стояниях, например, как твердое тело в равновесии с жидкой и газообразной фазой — это так называемая "тройная точка". Но нам сейчас важнее другое: из нарисованной картины следует, что должно быть такое состояние вещества, когда движения нет, все частицы стоят на месте и, следовательно, внутренняя энергия равна нулю. Это состояние существует и носит название "абсолютного нуля температуры". Чему она равна при этом по шкале Цельсия, вычислил тео- ретически еще в середине позапрошлого века уже упоминавшийся на этих страницах лорд Кельвин. Оказалось, что абсолютный ноль, он же ноль темпе- ратурной шкалы Кельвина, отстоит от точки замерзания воды на 273,15°. Так как на практике измерить внутреннюю энергию саму по себе невозможно, температуру измеряют по каким-то ее внешним проявлениям. Логично для этого использовать точки фазового перехода (плавления и кипения) химиче- ски чистых веществ. Эти точки стабильны и хорошо воспроизводятся. В на- стоящее время принята международная практическая температурная шкала, уточненная последний раз в 1968 г. (МПТШ-68), в которой около двух десят- ков таких опорных точек, охватывающих диапазон от -259,34 °C (тройная точка водорода) до +1064,43 °C (точка плавления золота). Входят туда, в том числе, и точки замерзания и кипения воды. Между опорными точками температуру в этой шкале определяют платиновым термометром, имеющим сопротивление ровно 100 или 10 Ом при температуре 0 °C. Сопротивление платины при повышении температуры возрастает с наклоном 0,39250 %/°С, и, хотя зависимость эта не очень линейна, в диапазоне от -259,34 °C до 630,74 °C она очень хорошо воспроизводится. В результате получают т. н. термодина- мическую шкалу или шкалу Кельвина, температура по которой обычно обо- значается заглавной Т. Эта шкала используется в научных и технических рас- четах. В шкале Кельвина за ноль, как уже упоминалось, принимается абсолютный нуль температуры (поэтому отрицательных температур там не существует), а в привычной для европейцев бытовой шкале Цельсия — точ- ка замерзания воды, при этом градусы в той и другой шкале строго равны между собой, и пересчет не представляет трудностей: Т = t - 273,15. В анг- лоязычных странах в быту традиционно используют шкалу Фаренгейта (за- главное F), в которой и ноль другой, и градусы меньше, потому пересчет от- носительно сложный: °C = — (°F - 32).
Глава 16. Как измерить температуру? Электронные термометры 259 Изложенных сведений вполне достаточно, чтобы понять, как можно на прак- тике измерять температуру. Так как воспроизводить методику МПТШ каждый раз нереально, то надо взять некий прибор (обычно это тот же платиновый термометр сопротивлением 100 или 10 Ом), откалибровать (или точнее — отградуировать, разницу мы поймем в следующей главе) его по методике МПТШ и получить тем самым образцовый термометр — эталон температу- ры. Если сделать так, как написано, то эталон такой будет называться пер- вичным. Обычно указанную процедуру изготовления первичных эталонов проводит одна-единственная уполномоченная международная организация, чтобы все градусы в мире были, по возможности, одинаковыми. Процедура, естественно, весьма дорога, поэтому таких первичных эталонов в каждой стране мира немного и хранятся они в уполномоченных организациях — только уже национальных. Эти организации изготавливают вторичные эта- лоны, которые рассылают по предприятиям, имеющим от этих организаций сертификат на производство метрологических поверочных измерений. А уже эти предприятия осуществляют поверку (не путать с "проверкой", хотя, по сути, это понятия близкие) обычных средств измерения по всей стране. Эта ступенчатая процедура — от получения первичного эталона и далее — дей- ствует не только в области температурных измерений, но такая же схема применяется и для любых других средств измерения физических величин, от длины и времени до диэлектрической проницаемости или влажности. При- чем если некая фирма выпускает достаточно серьезную продукцию, каждый экземпляр которой подлежит обязательной поверке (например, микрометры, штангенциркули или лабораторные термометры), то, естественно, с каждым экземпляром не набегаешься в вышестоящую инстанцию, поэтому для таких случаев изготавливают отдельный эталон, получающий название поверочно- го или образцового. Так происходить должно, но это не значит, что так про- исходит на практике всегда. Совет на этот случай стандартный — остерегай- тесь дешевых подделок! Датчики На практике для измерения температуры электронными методами использу- ют в основном две разновидности датчиков: металлические термометры со- противления и полупроводниковые датчики. Термисторы для измерения тем- пературы применяют редко, в некоторых специфических случаях, т. к. их единственное достоинство в этом плане — высокая чувствительность — не перевешивает многочисленные недостатки, среди которых, в первую оче- редь, нелинейность и, кроме того, невысокая стабильность.
260 Глава 16 Термометры сопротивления представляют собой обычный резистор из ме- таллической — медной или платиновой1 — проволоки. Платиновые датчики наиболее стабильны, но они обладают существенной нелинейностью, поэто- му приходится рассчитывать значения температуры по таблицам (см., напри- мер, [8]). Использование меди обусловлено тем, что у нее зависимость сопро- тивления от температуры наиболее близка к линейной в широком диапазоне Температур, в диапазоне от -50 до +100 °C погрешность за счет нелинейно- сти в пересчете на температуру не превысит 0,1°. Платиновые датчики (ТСП — "термометр сопротивления платиновый") используют в диапазоне от -260 до +1100 °C, а медные (ТСМ) от -200 до +200 °C. Доступность меди приводит к искушению изготовить такой датчик самому: и в большинстве случаев это совершенно не возбраняется, единственное исключение состав- ляют прецизионные образцовые термометры, подобные описанному ниже, т. к. в промышленных датчиках используется особо чистая медь и, кроме того, их сопротивление точно подогнано под стандартные 10, 50 или 100 Ом. Полупроводниковые датчики удобно использовать во всех случаях, когда не требуется высокая точность. Простейший полупроводниковый датчик темпера- туры — обычный кремниевый диод или транзистор в диодном включении (ко- гда коллектор соединен с базой). Пресловутое прямое падение напряжения на диоде, равное 0,6 В, имеет почти линейный отрицательный температурный ко- эффициент, равный приблизительно 2,3 мВ/°С. Все промышленные полупро- водниковые датчики тем или иным способом используют этот эффект. Они делятся на два класса: с аналоговым и цифровым выходом. Аналоговые датчи- ки (DS60, МАХ6605) имеют обычно три вывода (питание, общий и выход), а цифровые иногда всего два (DS1721), питаясь от сигналов запроса, посту- пающих с внешнего контроллера (см. главу 12). Следует особо отметить до- вольно точный датчик LM235 (1019ЕМ1), который включается подобно диоду, но имеет третий вывод для подстройки величины температурного коэффици- ента, имеющего величину аж 10 мВ/°С, причем с положительным наклоном. Все полупроводниковые датчики имеют погрешности порядка 1—2°, и иногда встречающееся в характеристиках определение "прецизионный" стоит, видимо, счесть за маркетинговый прием2. 1 Пусть вас слово "платиновый" не пугает — самой платины там так мало, что стоит такой дат- чик не дороже медного, тем более что в датчиках используют дорогую медь высокой степени очистки (здесь, в отличие от аудиоаппаратуры, — см. главу 9 — это существенно!). 2 Когда эта глава уже была написана, автор увидел в каталоге фирмы Analog Devices недавно разработанный этой фирмой цифровой датчик ADT7301 с точностью 0,5° в диапазоне темпе- ратур 0—70°. Если учесть, что это действительно в два раза лучше любого другого устройства такого типа, то, пожалуй, в данном случае определение "прецизионный" можно простить.
Гпава 16. Как измерить температуру? Электронные термометры 261 Средства поверки В домашней практике для поверки разрабатываемых самостоятельно прибо- ров достаточно точности ртутного лабораторного термометра с делениями не крупнее одной-двух десятых градуса (погрешность их, однако, может быть выше и составлять 0,2 и даже 0,5°). Основной диапазон — от 0 до 50 °C, мо- жет потребоваться и еще один термометр для диапазона 50—100 °C. Это в идеале — подозреваю, что приобрести такой термометр частному лицу непро- сто из-за того, что сейчас ко ртути выработалось какое-то параноидальное отношение (притом, что медицинские ртутные термометры продолжают из- готавливаться и продаваться). Просто удивляешься, как это ученые прошлых веков со ртутью работали постоянно и доживали до преклонных лет без осо- бых проблем! Укажу и на те средства измерения температуры, которые использовать в ка- честве образцовых категорически не рекомендуется: во-первых, это все, без исключения, жидкостные (не ртутные) термометры (обычно спиртовые — с красной или синей рабочей жидкостью), во-вторых, бытовые металлические термометры расширения (с такой спиралькой, соединенной со стрелочкой, они всем знакомы по бытовым газовым плитам), в-третьих, это термометры, ко- торыми комплектуются некоторые мультиметры на основе термопары3. По- следние могут быть очень удобны для производства высокотемпературных измерений, но решительно не годятся для обычного диапазона температур. Альтернативным выходом может стать приобретение промышленного пла- тинового или медного термометра сопротивления достаточно высокого клас- са (не хуже 0,05) — для таких датчиков существуют стандартизированные таблицы значений сопротивления при различных температурах, которые есть в любом справочнике по измерениям или по физическим величинам, напри- мер, в [8]. Номинал его для удобства следует выбирать повыше— не менее 100 Ом. Это решение лучше, чем ртутный термометр, хотя бы потому, что диапазон температур гораздо шире. Но в домашних условиях, как мы увидим далее, получить точность выше, чем у ртутного термометра, будет непросто. Главный вопрос: а как измерить сопротивление такого датчика с необходи- мой точностью? Точность обычного мультиметра явно недостаточна для на- ших целей, к тому же в диапазоне 100 Ом погрешность его особенно велика. Вот к этому вопросу мы сейчас и перейдем. 3 Речь идет, разумеется, о калибровке тех более-менее точных измерителей температуры, кото- рые мы будем разрабатывать в этой и других главах. Для настройки, к примеру, бытовых тер- мостатов из предыдущей главы вполне сгодится и спиртовой термометр.
262 Глава 16 Измерение сопротивления образцового термометра Наверняка вы уже придумали наилучший способ для измерения сопротивле- ния образцового термометра: приобрести прецизионный измерительный цифровой прибор. Это именно так, и, безусловно, это наиболее универсаль- ное решение. Еще лучшим решением стало бы приобретение специального измерительного прибора, который "заточен" именно под точное измерение сопротивлений термодатчиков. Да чего уж мелочиться: можно сразу метро- логическую лабораторию купить, туда входят, в том числе, термостат, по- добный разобранному нами в предыдущей главе, камера для климатических испытаний, грузопоршневой манометр для поверки датчиков давления, изме- рительный комплекс, различные поверочные эталоны (сопротивления, на- пряжения, времени, частоты и др.), компьютеры, химические реактивы, источники питания... Открывая свою метрологическую фирму, следует пой- ти по этому пути, и, между прочим, дело это весьма выгодное, несмотря на сравнительно большие начальные затраты (куда входят, кроме всего прочего, деньги на специально оборудованное помещение и приобретение многочис- ленных дипломов и сертификатов). При правильной постановке дела от бан- кротства вы гарантированы — метрологические услуги есть весьма востре- бованная область деятельности, тем более в нашей стране, где в этом смысле "конь не валялся". Определенную иронию вы уже почувствовали: прецизионный прибор стоит дорого, а использоваться он у нас будет по назначению редко, так что вер- немся с небес на землю и попробуем все же наметить реальные пути решения нашей проблемы. Рассмотрим основную идею проведения таких измерений (рис. 16.1). Она известна еще со времен английского физика Ч. Уитстона (1802—1875), чьим именем и'названа показанная на рисунке конструкция из четырех сопротив-
Глава 16. Как измерить температуру? Электронные термометры 263 лений, и такой "мостик Уитстона", как мы увидим, в той или иной форме ис- пользуется на практике и по сей день. Уитстон прославился еще своими работами в области телеграфии и звукотехники, но приведенная схема, без сомнения, самое выдающееся его изобретение. Для того чтобы измерить ве- личину сопротивления Rx, положение движка потенциометра R2 устанавли- вается так, чтобы напряжение в выходной диагонали моста (UBbK) было равно нулю. Если положения движка R2 заранее проградуированы в единицах со- противления и отношение сопротивлений резисторов R1 и R3 также извест- R3 но, то Rx = Rl---. Здесь есть несколько важных моментов. Во-первых, R2 в принципе работа этой схемы не зависит от напряжения питания, потому что все определяется не абсолютными значениями падений напряжения на рези- сторах, а их соотношением. На практике некоторая зависимость будет иметь место (т. к. чувствительность схемы со снижением питания будет падать), тем не менее, в довольно широких пределах это положение соблюдается. Во- вторых, обеспечить фиксацию момента равенства напряжения в диагонали моста нулю (при этом условии мост называется сбалансированным) несрав- ненно проще, чем измерить с достаточной точностью абсолютное значение напряжения или сопротивления. В последнем случае необходимо иметь пре- цизионный прибор, о котором говорилось раньше, а для того, чтобы настро- ить очень точно ноль вольтметра любого класса точности, никакого специ- ального оборудования не требуется, достаточно замкнуть накоротко его входные клеммы. От вольтметра при этом требуется только одно: как можно более высокая чувствительность. Рассмотрим, что на практике применяют в качестве резистора R2 — ведь мы должны знать его сопротивление с доста- точно высокой абсолютной точностью в любом положении движка. Обычно для таких целей используют магазины сопротивлений. Их продают, и хотя стоить это дело может достаточно дорого, покупка эта целесообразна. Хочу отметить, что если вам попадется антиквариат производства советских времен в приличном состоянии (т. е. если он не валялся в какой-нибудь луже, контакты не окислены и корпус не ржавый), то можно спокойно приобретать. Изготовить самому магазин сопротивлений хотя и возможно, но в данном случае возни будет предостаточно, полученный результат характе- ристиками будет обладать неудовлетворительными, а дешевле получится не намного, не в последнюю очередь из-за того, что придется приобретать мощ- ные многопозиционные переключатели. Как ни парадоксально, но малые токи можно коммутировать с высокой точностью только контактами, кото- рые в другом случае были бы предназначены для коммутации токов в десят- ки и сотни ампер. На тонкостях физики этого дела мы не будем останавли- ваться, а просто учтем это на будущее.
264 Глава 16 Сам по себе магазин сопротивлений представляет собой, по сути дела, пере- менный резистор, составленный из множества постоянных, которые могут коммутироваться с помощью набора десятипозиционных переключателей, называемых декадными, причем все устроено таким образом, что каждый переключатель связан с сопротивлениями в десять раз меньшего или больше- го номинала, чем соседний. Количество переключателей определяет шаг ус- тановки сопротивления, обычно их не меньше шести, и весь диапазон, таким образом, делится на 106 (т. е. магазин такой эквивалентен кассе из миллиона высокоточных резисторов с различающимися номиналами!). Точность опре- деляется классом прибора, естественно, он не должен быть хуже, чем 0,05. Причем часто магазины имеют три вывода, подобно обычному переменному резистору, и могут включаться по схеме потенциометра. На практике это удобнее, т. к. тогда резисторы R2 и R3 будут представлять собой один рези- стор, включенный по схеме потенциометра, движок которого будет пред- ставлять собой правый (по схеме) вывод диагонали моста. Если же мост вдруг попался двухвыводной, то придется использовать его вместо R2 или R3, а второй резистор в плече подбирать из постоянных. В дальнейшем мы будем ориентироваться на трехвыводной мост. Номинальный диапазон сопротивлений магазина (т. е. суммарное сопротив- ление всех его составляющих) для наших целей должен лежать в пределах от 1 до 100 кОм (минимальный шаг должен составлять не более 0,01 Ом). Кроме магазина нам потребуется еще один особо точный резистор, который сыграет роль R1 — постоянный, с точностью также не хуже, чем 0,02% (иде- ально подойдут проволочные резисторы типа С5-54В или, например, фольго- вые С5-61 с допуском 0,01%, но их непросто приобрести). Можно было бы использовать тут т. н. меру электрического сопротивления типа Р-321 или Р-331, класс точности которых равен 0,01—0,02, однако такая штука может стоить подороже магазина. Номинал R1 может лежать в пределах от 500 Ом до 1 кОм, если термометр сопротивления имеет номинал 100 Ом. Принципиальная схема измерения сопротивления образцового датчика тем- пературы приведена на рис. 16.2. Магазин сопротивлений на ней условно по- казан в виде переменного резистора Rm. Все резисторы, кроме, конечно, Rt и Rm, а также, возможно, R1, типа С2-29В. Инструментальный усилитель на микросхеме DA1 здесь нужен для обеспечения достаточной чувствительно- сти схемы. Его коэффициент усиления выбирается из следующих соображе- ний: допустим, наш мультиметр имеет на самом маленьком пределе измере- ния напряжений (200 мВ) чувствительность один знак после запятой, т. е. 0,1 мВ (обычная разрешающая способность рядовых мультиметров). При ко- ротком замыкании его щупов на шкале должны показываться все нули (нуль не сдвинут и он не "гуляет"). Некоторую погрешность при измерениях будет
Глава 16. Как измерить температуру? Электронные термометры 265 out +5,0 В LM78L05 к выв 8 DA1 GND 100k СЗ . 100,0 х16 В in +9-12 В DA1 МАХ478 LM79L05 GND С5 100,0 + Х16В R4 1,10к R5 10,Ок R7 2,Ок 6 in -9-12 В к выв 4 DA1 । -5,0 В Рис. 16.2. Принципиальная схема измерителя сопротивления образцового датчика температуры Rk2 1к Rk4 Rk1 10к Rt 100 Rk3 Юк С4 1000,0 х16 В DA1/1 DA1/2 С6 100,0 х16В вносить всегда наличествующая помеха, поэтому возьмем запас и примем чувствительность его равной 1 мВ. Ток через датчик при выбранных номина- лах сопротивлений и напряжении питания будет составлять приблизительно 4,5 мА. Для того чтобы обеспечить необходимую разрешающую способ- ность измерения температуры приборами, которые мы будем конструировать (для большинства применений необходимая и достаточная величина ее со- ставляет 0,1°), нам надо обеспечить разрешающую способность нашего об- разцового термометра выше в два раза (т. е. 0,05 °C — выше не имеет смыс- ла, см. далее). Зададимся на всякий случай еще меньшей величиной — 0,03°. Датчик имеет сопротивление 100 Ом, поэтому при крутизне его характери- стики, равной примерно 0,4 %/°С (величина справедлива и для платины, и для меди), изменение сопротивления будет также 0,4 Ом/°С, что при ука- занном токе через измерительное плечо моста составит 1,8 мВ/°С, т. е. при
266 Глава 16 изменении температуры на 0,03° изменение напряжения на диагонали моста составит 0,054 мВ. Нам желательно увеличить это напряжение разбаланса до определенного выше значения в 1 мВ, отсюда коэффициент усиления инст- рументального усилителя должен составить примерно 20. Диапазон значений измеряемой температуры для этого устройства практиче- ски ограничен только возможностями датчика. Подробно погрешности на- шей схемы мы разберем в следующей главе (они не слишком радуют, и там же мы укажем пути их снижения), а здесь только укажем, что с точки зрения точности схема обладает одним недостатком — в ней нескомпенсировано влияние соединительных проводов. Отчасти это можно было бы сделать, но мы не будем усложнять, а просто примем, что провода, соединяющие со схе- мой как датчик, так и магазин сопротивлений, должны быть минимально возможной длины и достаточно большой толщины — не менее 2 мм2. Эта схема критична также, кроме точности резистора R1, к выбору ОУ, и при за- мене следует применять только ОУ с точностными характеристиками не ху- же указанного, обратите внимание также на возможность работы при напря- жении питания ±5 В (впрочем, найдется довольно много аналогичных типов). Практическая работа со схемой понятна: мы устанавливаем датчик в среду, где измеряется температура, и ждем, пока он прогреется. Непосредственно перед проведением каждого измерения следует скомпенсировать сдвиг нуля усилителя: перемкнуть диагональ моста накоротко с помощью выключателя S1 и с помощью переменного резистора Rk2 установить показания мульти- метра, равные нулю. Если регулировка будет слишком грубой, или, наоборот, диапазона будет не хватать, то следует или изменить номинал резистора Rk2 или подобрать Rk4. По причинам, изложенным выше, в качестве выключате- ля S1 следует использовать мощный тумблер, рассчитанный на токи 10 А и более. Затем мы размыкаем S1 и балансируем мост так, чтобы мультиметр показал ноль напряжения. Сразу устанавливать мультиметр на максималь- ную чувствительность не следует — температура обычно "ползет" и вы заму- чаетесь ловить ноль. Но и при установившейся температуре точного нуля не будет — мы специально увеличили чувствительность схемы до предела, и на показаниях будет сказываться помеха и дискретность установки сопротивле- ния с помощью магазина. Нужно стараться сбалансировать мост так, чтобы "гуляние" показаний мультиметра не превышало установленного нами пре- дела в 1 мВ. Измеряемое сопротивление /?t будет определяться по формуле: /?х /?t = /?l------, где Rx есть величина нижней по схеме части сопротивле- (Rm-Rx) ния магазина. Сравнивая Rl с табличным значением [8], можно узнать изме- ряемую температуру.
Глава 16. Как измерить температуру? Электронные термометры 267 Схему можно украсить, если на выход усилителя параллельно мультиметру подсоединить двухцветный двухвыводной светодиод (с токоограничиваю- щим резистором порядка 300—510 Ом). Когда мост находится в разбалансе, светодиод будет гореть, причем цвет свечения будет зависеть от знака разба- ланса, а яркость — от его степени. Когда на выходе установится ноль, свето- диод погаснет. Разумеется, более-менее точно проконтролировать что-нибудь будет невозможно, но это удобно при значительном уходе температуры — сразу видно, в какую сторону она ушла. Можно ли автоматизировать работу такой схемы? Естественно, можно, но на практике осуществить это весьма и весьма непросто: как минимум, потребу- ется калибровка ее на оборудовании с более высокими характеристиками (обеспечивающими точности до 0,01 °C), чего мы, собственно, и старались избежать, к тому же и само схемотехническое решение должно быть очень тщательно продумано. Теперь вы можете оценить, почему прецизионное оборудование стоит так дорого. Простейшие электронные термометры на батарейке Как ни странно, но такое распространенное устройство, как бытовой термо- метр, требует достаточно высокой точности: не хуже 0,1—0,2° по той хотя бы причине, что не очень красиво, когда изобретенный вами прибор показы- вает +1° в то время как лужи вокруг стойко покрылись льдом. Для обычного диапазона уличных термометров от -50 до +50 °C такая точность эквива- лентна относительной погрешности в 0,1%, что достаточно низкая величина для того, чтобы отнестись к ней со всем возможным уважением: сравните с погрешностью не самых дешевых серийных мультиметров, лежащей, в лучшем случае, в пределах 0,5%. Легальный путь замять проблему — не демонстрировать десятые градуса, как это делают на уличных табло, тогда допустимая погрешность повышается, по крайней мере, до 0,5%. Однако мое убеждение состоит в том, что демонстрировать температуру без десятых гра- дуса все равно, что делать наручные часы без секундной стрелки — вроде бы "по жизни" и не слишком требуется, но как-то... несолидно. Первое наше детское представление о температуре заключается в магической цифре "36,6", и три цифры эти навсегда переплетаются с самим понятием. Но мы пока не знаем, как делать точные аналого-цифровые схемы, и оконча- тельно освоимся в этой области только к главе 26. Поэтому здесь мы разбе- рем пару вариантов простейших реализаций электронного измерителя темпе- ратуры, не обращая особого внимания на погрешности. Схем подобных
268 Глава 16 термометров очень много, но если что-то делать, то со смыслом, и даже в учебных целях не стоит заниматься конструированием таких вещей, которые никогда не пригодятся на практике. Поэтому наши конструкции будут иметь свою изюминку, которая компенсирует нам факт их невысокой точности: а именно, они малопотребляющие и будут работать от одной 9-вольтовой батарейки типа "Крона". Электронный термометр со стрелочным индикатором Схема со стрелочным индикатором показана на рис. 16.2. В качестве показы- вающего устройства здесь используется измерительная головка типа М903 с током полного отклонения 50 мкА. Можно использовать любую другую головку магнитоэлектрической системы, но если ток полного отклонения от- личается от указанной величины, то придется пересчитать резистор R7. Го- ловку придется доработать: с нее надо снять переднюю крышку со стеклом (нарушив при этом гарантийную пломбу, защищающую один из крепящих винтов) и очень аккуратно, чтобы не повредить весьма чувствительную стрелку с очень нежным поворотным механизмом, наклеить поверх имею- щейся шкалы новую. Шкалу эту можно изготовить, напечатав ее на качест- венной бумаге с помощью струйного или лазерного принтера, а для наклейки следует использовать синтетический клей типа "Момент-кристалл" или дру- гой — только ни в коем случае не на водной основе! Крайние деления на шкале должны совпадать с делениями на оригинальной шкале (положение ограничителей хода стрелки не должно совпадать с крайними делениями, у стрелки должен оставаться небольшой свободный ход за пределы шкалы). Крайнее левое деление будет соответствовать -50°, а крайнее правое +50°, ноль в этом случае должен быть расположен ровно по центру шкалы. Так как длина шкалы равна всего нескольким сантиметрам, то нанести разборчивые деления с шагом меньше, чем через 2 градуса, вряд ли получится, и именно этот параметр будет определять максимально требующуюся точность — снижать погрешность ниже половины деления шкалы, в данном случае, ме- нее 1° не имеет смысла (на самом деле по всему диапазону погрешность у нас будет еще несколько больше — порядка 2—3°). Забегая вперед, заме- тим, что нет никаких проблем в том, чтобы отградуировать шкалу на любой другой диапазон, скажем, от -30° до 70°, или от 0° до 100°, для этого нужно будет только подобрать величину резистора R2. Датчиком температуры здесь служит транзистор в диодном включении. Можно использовать любой маломощный кремниевый п-р-п-транзистор (за исключением "супербета"-разновидностей), единственное, что желательно
Глава 16. Как измерить температуру? Электронные термометры 269 (но необязательно), чтобы он был в металлическом корпусе. Для изготовле- ния датчика подбирают подходящую по диаметру пластмассовую трубку и заклеивают в нее эпоксидной смолой транзистор с заранее подпаянными вы- водами так, чтобы металлический корпус соприкасался с окружающей сре- дой— чувствительность и скорость реакции термометра сильно возрастут в сравнении с заделкой его внутрь трубки. Можно использовать и транзистор p-n-p-типа, тогда в схеме его придется перевернуть, что может быть даже пред- почтительнее, т. к. соединенный с коллектором корпус окажется под потенциа- лом "земли". Можно использовать и кремниевый диод, но заделывать его при- дется по типу рис. 15.3, и прогреваться он будет значительно медленнее. Рис. 16.3. Электронный термометр со стрелочным индикатором Ток через датчик будет равен примерно 1 мА, падение напряжения на нем, естественно, около 0,6 В. Наклон температурной характеристики отрицате- лен и равен примерно, как мы говорили, 2,3 мВ на один градус, поэтому об- щее изменение напряжения на датчике составит 230 мВ на диапазон 100°. Выходное напряжение ОУ при максимальном сигнале мы хотим сделать как можно больше, чтобы минимизировать ошибки, как связанные с собствен- ным падением напряжения на измерительной головке, так и погрешности схемы вообще (см. главу 17). Максимум, что мы можем получить от ОУ в данной схеме — это напряжение несколько ниже напряжения питания, рав- ного 5 В, поэтому выбираем коэффициент усиления, приблизительно равный 20 (с округлением в меньшую сторону).
270 Глава 16 От ОУ здесь требуется, в первую очередь, возможность работать с малым напряжением питания и с выходными напряжениями, равными напряжению "земли". Кроме указанного типа ICL7612 подойдут ICL7614, ICL7616 (они даже совпадают по цоколевке и схеме включения), а также МАХ407, МАХ409, МАХ4162 (в корпусе SO) и многие другие типы, единственным общим недостатком которых является относительно высокая цена— более $10, однако за удовольствие надо платить. Общее потребление схемы определяется здесь, в основном, потреблением цепи датчика, а также собственным потреблением стабилизатора (потребле- ние ОУ и делителя R1-R2 малы в сравнении с указанными) и, в худшем слу- чае, составит в сумме около 3,5—4 мА. Емкость батарейки "Крона" алкалай- нового типа составляет порядка 1800 мА-ч, и наша схема сможет проработать от одного элемента в непрерывном режиме около трех недель. Вместо резисторов R2, R5 и R6 сначала устанавливаются подстроечные рези- сторы соответствующего номинала (R5 и R6 несколько больше указанных на схеме). Настройку схемы надо начинать с того, что при накоротко замкнутых между собой неинвертирующем входе ОУ (вывод 2) и нижнем по схеме вы- воде резистора R4 с помощью резистора R6 настроить начало шкалы измери- тельной головки (стрелка должна быть ровно на делении -50°). Само напря- жение на выходе ОУ при этом должно быть равно нулю. От подобной штатной настройки нуля ОУ мы ранее отказались из принципа (см. главу 14), однако в этой не слишком точной схеме использовать ее целесообразно, в первую очередь, из-за простоты. Затем перемычку следует убрать, погрузить датчик в среду с температурой 0 °C (тающий снег или мелкоизмельченный лед в равновесии с водой, лучше все- го поместить это дело в термос и в процессе работы периодически переме- шивать) и установить с помощью резистора R2 стрелку головки на 0°. После этого датчик переносится в среду с температурой 40—50° (вот тут ой, как пригодится термостат!) и путем изменения R5 устанавливаются соответст- вующие показания стрелки. Ноль градусов у нас тоже при этом "уйдет", по- этому указанную процедуру следует повторить несколько раз (обычно доста- точно 3—4 раза), перенося датчик из среды с температурой 0 °C в среду с более высокой и обратно. Не забывайте каждый раз выждать, пока показа- ния установятся. Точность калибровки будет тем выше, чем больше разница между температурами в калибровочных точках, однако обязательно надо од- ну из точек выбирать равной или близкой к нулю градусов, потому что это критичное для практики значение. После этого переменные резисторы вы- паивают и помещают на их место постоянные резисторы с точно такими же номиналами, при необходимости составляя их из нескольких параллельно
Глава 16. Как измерить температуру? Электронные термометры 271 и/или последовательно включенных, особую точность при этом надо соблю- дать при подборе R2 (ноль градусов). Окончательно подобранный комплект резисторов можно впаять в плату "паучком", но для того, чтобы все выгляде- ло фирменно, на плате лучше заранее предусмотреть места для подключения параллельных и последовательных резисторов (показаны на схеме пунктиром для R2, аналогично следует поступить и для R5). Резисторы можно использо- вать обычные, типа МЛТ или С1-4, прецизионных резисторов типа С2-29В здесь не требуется. В схему можно добавить и светодиод, сигнализирующий о включении пита- ния, однако это повысит потребление, поэтому лучше без этого обойтись. ...ис цифровой индикацией Другую конструкцию — с цифровой индикацией — вы можете видеть на рис. 16.4. Внешний вид используемого индикатора типа PMLCD фирмы Velleman показан на рис. 16.4 сверху. Он представляет собой фактически го- товый вольтметр с диапазоном входного напряжения в пределах ±199,9 мВ (знак минус высвечивается автоматически). Соответственно входному диапа- зону, индикатор имеет четыре десятичных цифры, которые могут показывать число до 1999, причем положение запятой выбирается заранее перестановкой джампера на самом индикаторе. Чтобы индикатор показывал именно градусы температуры, нам придется подогнать шкалу выходных напряжений так, чтобы диапазону в 50° соответствовала величина 50 мВ на выходе ОУ (тогда при соответствующей установке джампера показания будут высвечиваться с десятыми, как на рисунке) — фактически нам придется ослабить напряже- ние с датчика более, чем в два раза, и использование ОУ нецелесообразно: усиливать нечего. Сам индикатор питается от нестабилизированного напря- жения 9 В прямо с батарейки, ток потребления — около 1 мА. Напряжение с датчика подается на делитель R2-R3, которым ослабляется в нужное количество раз и подается на вход (+Vin) индикатора (разводка выводов индикатора на рис. 16.4 не приводится, т. к. все указано на его корпусе). Другой способ установки нужного наклона характеристики — изменение делителя в самой схеме индикатора согласно примерам, приве- денным в техническом описании, тогда от делителя R2-R3 можно избавить- ся. Ноль показаний (соответствующий нулю температуры) устанавливается с помощью делителя R4-R5. Таким образом, процедура калибровки здесь аналогична описанной: вы устанавливаете на индикаторе ноль (подбирая резистор R5) и некоторое значение температуры (меняя резистор R3 или соотношение делителя индикатора), попеременно погружая датчик в воду с разной температурой.
272 Глава 16 Рис. 16.4. Электронный термометр с цифровым индикатором Учтите, что сам индикатор имеет погрешность измерения напряжения поряд- ка 5%, так что отражение десятых градуса тут есть бутафория вдвойне — по- грешность составила бы примерно градусов 10, если бы не наша процедура калибровки, которая позволяет избавиться от систематической составляющей и снижает погрешность раза в два-три. Если же уменьшить входное напряже- ние еще в десять раз, избавившись от десятых, то часть погрешности, обу- словленная индикатором, пропорционально возрастет: 5% отсчитывается от полной шкалы входных напряжений (200 мВ), и термометр начнет показы- вать почти в прямом смысле слова "погоду на Марсе". Но в таких конструк- циях от погрешности не избавишься — в принципе, надо делать все иначе, чем мы и займемся в главе 26. Общее потребление схемы здесь примерно такое же, как и у стрелочного термометра. У обеих конструкций потребление можно снизить практически раза в два, повысив тем самым время работы от батарейки, если вместо стан- дартного LM78L05 использовать более дорогой малопотребляющий стабили- затор, например, МАХ663 или аналогичный.
Глава 16. Как измерить температуру? Электронные термометры 273 В заключение остановимся еще на одной проблеме, которая имеет решающее значение для корректных измерений температуры воздуха (для воды все проще). Напомним основополагающий физический принцип, согласно кото- рому температуру воздуха можно измерять только в тени — "температура воздуха на солнце" не имеет никакого физического смысла, о чем часто за- бывают даже телевизионные ведущие. Это обусловлено тем, что воздух про- зрачен и лучами солнца не прогревается, зато термометр и окружающие его поверхности на солнце прогреваются очень даже, и степень этого прогрева зависит от материала, который освещается солнечными лучами: заверните при 20-градусном морозе термометр в черную ткань при полном безветрии, и вы получите "температуру воздуха на солнце" градусов в двадцать- тридцать тепла, что к действительности не имеет никакого отношения. По- этому место расположения датчика надо выбирать очень тщательно: он не только не должен сам подвергаться воздействию прямых солнечных лучей, но и не должен располагаться вблизи поверхностей, которые такому воздей- ствию подвергаются (особенно над ними — скажем, в случае расположения под козырьком, но на освещенной стене дома, козырек только усугубит си- туацию из-за того, что под ним будет скапливаться поднимающийся теплый воздух). Практически выбрать место установки датчика бывает очень непро- сто, и именно поэтому уличные термометры-табло часто врут.
Глава 17 Ошибаются все. Немного о метрологии и ошибках аналоговых схем — На следующий день после этого события вас посетил Кавуа, — продолжал карди- нал, — и просил явиться во дворец. Вы не отдали ему этого визита и сделали ошибку. А. Дюма, "Три мушкетера" Читатель, конечно, с неудовольствием заметил, что в двух предыдущих гла- вах наблюдался заметный перекос в сторону конструктивных особенностей приборов — об этом говорилось чуть ли не больше, чем о собственно элек- тронной части. Поделать тут ничего нельзя — успех в проектировании изме- рительной техники (термостаты могут быть тоже отнесены к измерительной технике) в значительной степени зависит именно от конструкции. Но в этом деле есть и еще одна сторона, которой мы касались часто, но как-то... бес- системно — это ошибки, неизбежно возникающие в любом измерительном устройстве. Пытаться проектировать измеритель любой физической величи- ны, не проведя хотя бы поверхностного анализа возникающих погрешностей, совершенно бессмысленно — даже при самых мягких требованиях к точно- сти можно основательно "залететь", зря потратив и время и деньги. Погреш- ностями занимается наука, носящая название метрологии. Метрологи — это не те, кто, согласно известной шутке, изучает столичное метро. Несмотря на внешнее сходство звучания, у слов "метр" и "метро" со- вершенно различное происхождение: метро (метрополитен) произошло от "metropolis", что значит "главный город", от названия областного центра Метрополь в римской провинции Фессалии (отсюда же, например, и "митро- полит"). А метр — от греческого корня, означающего "мера" (и одновремен- но — "стихотворный размер"). Так что метрология — наука о том, как правильно проводить измерения. Все началось с того, что возникшая в середине прошлого тысячелетия рацио- нальная наука поставила во главу угла принцип поверки теории эксперимен- том — а это возможно осуществить только в том случае, если эксперимент
276 Глава 17 воспроизводим, т. е. может быть повторен любым другим человеком (это по- ложение еще называют принципом "верификации"). События, невоспроизво- димые в принципе, к ведомству науки не относятся — об этом часто забыва- ют, например, когда упрекают ученых в том, что они не интересуются НЛО. Основная же проблема воспроизводимости состоит в том, что ни один экспе- римент не обходится без ошибок. Если мы представим себе экспериментальную систему наподобие объекта регулирования, изображенного на рис. 14.2, то кроме входов (входных воз- действий), которые контролируются исследователем, на систему действует еще множество различных факторов, которые можно поделить на несколько различных групп. Так, есть незначимые факторы — те, которые нам извест- ны, но для простоты мы их влиянием пренебрегаем (типичный пример — влияние базового тока в транзисторе на величину эмиттерного, туда же сле- дует отнести и отклонения в свойствах реальных физических тел от идеали- заций типа "абсолютно твердое тело" или "материальная точка"), есть факто- ры вполне значимые, но мы не можем ими управлять и часто даже их контролировать: скажем, разброс параметров электронных компонентов. В последнем случае приходится идти на всякие ухищрения, чтобы делать схемы, мало зависящие от конкретного экземпляра. А как бы все упрости- лось, если бы все транзисторы одного типа были бы совершенно одинаковы- ми! Наконец, во многих случаях играют роль и неизвестные нам факторы — содержание науки во многом состоит в том, чтобы такие факторы обнаружи- вать и влияние их исследовать. Во всяком случае, в любом эксперименте присутствует огромное количество неконтролируемых воздействий, которое не учитывать нельзя: это может привести к полной невоспроизводимости ре- зультатов эксперимента даже самим автором. Как же можно учитывать подобные воздействия? Тут на помощь приходит теория вероятностей — точнее, дочерняя прикладная дисциплина под назва- нием математическая статистика. Основное предположение, которое при этом высказывается, состоит в том, что все неучтенные факторы можно рас- сматривать как равномерный шум, приводящий к чисто случайному разбросу значений измеряемой величины. Излишне говорить, что довольно часто это предположение не совсем соответствует действительности, но все же в боль- шинстве практических случаев (по крайней мере, в технических приложени- ях) это есть неплохое приближение к истине, и применение методов матема- тической статистики дает на удивление хорошие результаты — если только помнить, что статистика — не панацея от всех бед, а всего лишь инструмент. Статистика не может повысить точность измерения, если прибор этого не позволяет, она всего лишь дает нам сведения о том, чего мы достигли в дей- ствительности, и рекомендации, как можно использовать данный прибор
Ошибаются все. Немного о метрологии и ошибках аналоговых схем 277 наилучшим образом. Об этом настолько часто забывают, что компетентные люди уже устали напоминать прописные истины: произвол, даже облечен- ный в наукообразную (или компьютеризованную) форму, все равно остается произволом; окончательное решение всегда остается за человеком и т. п. Удивительно, как самые разные слои общества от простых граждан до круп- нейших бизнесменов и политиков уже которое десятилетие делают особо важ- ную "морду лица" при словах "это рассчитано на компьютере". Как будто ком- пьютерам известно что-то такое, чего мы, грешные, не знаем и не дано нам это узнать никогда в силу скудоумия нашего... Точность и разрешающая способность Несколько слов о том, насколько вообще целесообразно стремиться к высо- кой абсолютной точности измерений. Измерительные приборы характеризу- ются тремя основными параметрами: точностью, разрешающей способно- стью и стабильностью (временным дрейфом). Что такое точность, понятно интуитивно, и большая часть этой главы посвящена тому, чтобы это интуи- тивное понимание как-то формализовать. Разрешающая же способность (иногда говорят о чувствительности) — это попросту минимальная разница в значениях измеряемого параметра, которую мы еще можем различить. Для аналоговых приборов (стрелочных или, например, ртутных термометров) это половина самого мелкого деления шкалы, а для цифровых — единица самого младшего разряда (или тоже половина ее, что каждый раз специально огова- ривается). Естественно, повышать точность сверх разрешающей способности бессмысленно — мы уже об этом говорили в главе 16 (но все же на практике, если это возможно, часто задаются точностью раза в два лучшей, чтобы пе- рестраховаться). Стабильность (дрейф) — самый сложный для оценки пара- метр, для хороших приборов он измеряется в десятых-сотых долях процента в год и обусловлен, в основном, старением чувствительных элементов датчи- ков и компонентов схемы, о котором чаще всего никто ничего внятного ска- зать не может. Единственный более-менее надежный путь оценки дрейфа — поставить партию приборов на испытания на длительное время. Я берусь утверждать, что в большинстве практических случаев точное значе- ние абсолютной величины — в определенных пределах, разумеется — не представляет особого интереса. При измерении температуры единственное исключение для бытовых приборов — точка замерзания воды, о чем мы го- ворили в главе 16. К тому же погрешность измерения будет в большинстве случаев определяться не возможностями прибора, а тщательностью выбора места установки датчика (о чем мы также говорили). Но обычно нам и не важно, 9 градусов на улице или 11, главное — весна, и можно снимать шубу.
278 Глава 17 Между тем, если мы очень сильно увеличим разрешающую способность по сравнению с точностью, то рискуем попасть в ситуацию, когда десятые про- сто будут мельтешить на дисплее, что еще хуже, чем если бы их не было во- все — так что приходится подтягивать и точность. Те же рассуждения справедливы и для многих специальных, например, научных измерений: то, что температура на дне океана равна 1,53 градуса или 1,78 — само по себе представляет интерес только для составителей океанских таблиц. А для прочих гораздо больший интерес представляет факт, что эта температура не меняется круглый год, или наоборот — если она ползет вверх со скоростью сотая градуса в десять лет. Для того чтобы обнаружить такой дрейф, абсолютное значение само по себе знать не тре- буется, и в игру вступает не точность, а разрешающая способность (чув- ствительность) измерительного прибора и его высокая стабильность. С другой стороны, обычно нет никакого смысла конструировать супер- стабильные, но неточные приборы — просто потому, что обеспечение стабильности и точности во многом взаимосвязаны, причем первое еще и существенно сложнее. Но не забывайте, что абсолютная точность зависит от тщательности градуировки и используемого эталона, а стабильность — никак. Кстати, об одном терминологическом нюансе. Точность и погрешность — величины взаимодополняющие, что совершенно ясно по смыслу терми- нов. Поэтому, вообще говоря, произнести что-то вроде ’’точность в преде- лах 1%" некорректно— тут идет речь о погрешности, а точность в данном случае выражалась бы числом 99%. Тем не менее, в повествовательной речи такое допустимо, и мы сами не раз прибегали к такому обороту про- сто потому, что совершенно ясно, о чем идет речь, и запутаться невоз- можно. Недопустимо же это, когда идет речь о написании официального документа, например, технических характеристик — тут уж выражение типа приведенного выше вызвало бы сомнения в технической грамотно- сти составителя. И в описаниях приборов на русском языке такой ляп встретишь достаточно редко. А вот в англоязычных странах почему-то в соответствующих случаях принят термин именно "accuracy", что даже без обращения к словарю легко перевести, как точность (вместо отве- чающего по смыслу "inaccuracy"). Мне задавали недоуменный вопрос по этому поводу даже носители языка — индусы, но я так и не смог разре- шить это противоречие. Вероятно, дело в традиции — "accuracy", скорее всего, означает по смыслу нечто вроде нашего "класса точности" (см. да- лее), хотя, возможно, знатоки технического английского могут точнее разъяснить, в чем тут дело.
Ошибаются все. Немного о метрологии и ошибках аналоговых схем 279 Систематические ошибки Ошибки измерения делятся на случайные (тот самый шум, о котором шла речь выше) и систематические. Прояснить, что такое систематическая ошиб- ка, можно на следующем примере: предположим, мы немного изменим в схеме (см. рис. 16.3) сопротивление резистора R2. При этом у нас на опре- деленную величину сдвинется вся шкала измерений: показания термометра будут соответствовать действительности, только если мы прибавим (или вы- чтем, неважно) некоторую константу к полученной величине: t = t' + 5, где t— "правильное" значение температуры (оно все же отличается от ис- тинного значения из-за наличия случайной ошибки); f — показания термо- метра; 8— величина систематической ошибки из-за сдвига шкалы. Более сложный случай систематической погрешности — если мы оставим R2 в по- кое, а немного изменим R5, т. е. наклон характеристики термометра, или, как еще это называют, крутизну преобразования. Это равносильно тому, что мы умножаем показания на некий постоянный множитель к, и "правильное" значение будет тогда определяться по формуле: t-k-t'. С обеими видами систематической ошибки тесно связаны понятия аддитив- ной ("суммирующейся") и мультипликативной ("умножающейся") погреш- ности. Так, напряжение сдвига в ОУ (см. главу 14) есть типичный пример по- грешности аддитивной: этот сдвиг при постоянном заданном коэффициенте усиления схемы есть величина постоянная и от величины сигнала не зависит. А вот неучет собственного коэффициента усиления ОУ, согласно формуле (1) из главы 14, приведет к погрешности мультипликативной: сдвиг выходного напряжения равен нулю при отсутствии сигнала на входе, но пропорцио- нально увеличивается с возрастанием абсолютной величины сигнала. В мос- тике Уитстона (см. рис. 16.1) погрешность выходного сигнала моста при из- менении напряжения питания носит типичный мультипликативный характер — именно поэтому от неё удается полностью избавиться, если все время держать мост в равновесии, т. е. соблюдать равенство выходного сиг- нала нулю. То же самое справедливо, если одновременно изменять сопротив- ления R2 и R3 в одинаковое количество раз. Но изменение сопротивления резйстора R1 или любого из R2 и R3 по отдельности приведет к аддитивной погрешности, которая от состояния моста — равновесное-неравновесное — не зависит, поэтому нам и приходится заботиться, чтобы они были как можно более точными. Тут мы немедленно сталкиваемся с ограничениями математических методов обработки ошибок: о систематических погрешностях математическая стати- стика "ничего не знает", она работает только с погрешностями случайными. Единственный способ избавиться от систематических погрешностей (кроме,
280 Глава 17 конечно, подбора прецизионных компонентов) — это процедуры калибровки и градуировки. Отличие этих способов заключается в следующем: при прове- дении калибровки мы меняем параметры схемы так, чтобы показания прибо- ра соответствовали показаниям образцового средства измерения. При гра- дуировке же мы в схеме ничего не меняем, а лишь фиксируем отклонения показаний и затем выводим зависимость "правильного" значения от сигнала на выходе прибора1. Чаще всего градуировку применяют в тех случаях, когда выходной сигнал прибора есть абстрактная электрическая величина— на- пряжение, сопротивление и т. п. Эта зависимость затем может быть пред- ставлена в виде градуировочной таблицы (ранее употребляли термин "тари- ровочная", но сейчас он практически вышел из употребления), которую вешают на стенку рядом с прибором, и по ней можно вручную вычислить значение измеряемой величины. Более современный способ с автоматизаци- ей процесса вычислений — представить зависимость в виде уравнения и за- тем вычислять физическое значение на компьютере или с помощью встроен- ного в систему микроконтроллера. Тогда процедура градуировки, в конечном счете, превращается в калибровку, только не изменением параметров схемы, а исправлением соответствующих коэффициентов в программе. Случайные ошибки измерения и их оценка Я предполагаю, что читатель знаком с таким понятием, как вероятность. Ес- ли же нет— настоятельно рекомендую книгу [21], которая есть переиздание труда от 1946 г. Расширить кругозор вам поможет классический учебник [22], который отличает исключительная внятность изложения (автор его, извест- ный математик Елена Сергеевна Вентцель, кроме научной и преподаватель- ской деятельности, известна также как писательница под псевдонимом И. Грекова). Более конкретные сведения о приложении методов математиче- ской статистики к задачам метрологии и обработки экспериментальных дан- ных, в том числе с использованием компьютера, вы можете найти, например, в [23,24]. Мы же остановимся на главном — расчете случайной погрешности. В основе математической статистики лежит понятие о нормальном распреде- лении. Не следует думать, что это нечто заумное — вся теория вероятностей и матстатистика как прикладная дисциплина, в особенности, основаны на здравом смысле в большей степени, чем какой-либо другой раздел математи- 1 Любопытно, что и здесь английский значительно беднее — хотя в нем есть слово graduation, но все же обычно в английском тексте и градуировка и калибровка обозначаются одним тер- мином: calibration. Впрочем, в современных приборах, которые сплошь "интеллектуальные" и показывают сразу измеряемый параметр в натуральных величинах, понятия действительно перемешались, см. далее по тексту.
Ошибаются все. Немного о метрологии и ошибках аналоговых схем 281 ки. Не составляет исключения и нормальный закон распределения. Пред- ставьте себе, что вы ждете автобус на остановке. Предположим, что автопарк работает честно, и надпись на табличке "интервал 15 мин." соответствует действительности. Пусть также известно, что предыдущий автобус отправил- ся ровно в 10:00. Вопрос — во сколько отправится следующий? Как бы идеально ни работал автопарк, совершенно ясно, что ровно в 10:15 следующий автобус отправится вряд ли. Причем тут, кроме обстановки на дороге, возможных пробок или задержек из-за непредвиденных обстоя- тельств, имеет место одно абстрактное соображение: что означает "ровно в 10:15"? Это когда водитель переключил передачу для трогания с места? Или когда закрылись двери? Или когда автобус уже сдвинулся с места и про- ехал 1 мм? Чем точнее мы определяем момент события, тем меньше вероят- ность того, что оно произойдет именно в этот момент. В пределе вероятность того, что любое событие произойдет ровно в указанный момент, равна нулю. Это рассуждение относится не только к отечественным автобусам или даже к славящимся своей пунктуальностью японским железным дорогам — вообще к любой случайной величине. Такое кажущееся противоречие (на которое, между прочим, обращал внимание еще великий отечественный математик Колмогоров) на практике разрешается стандартным для математики спосо- бом: мы принимаем за момент события не именно момент времени в физиче- ском смысле, а некий малый интервал времени Вероятность того, что со- бытие произойдет в этом интервале, уже равна не нулю, а некоей конечной величине а их отношение SP/St при устремлении интервала времени к нулю равна для данного момента некоей постоянной величине, именуемой плотностью распределения вероятностей р. Такое определение совершенно аналогично определению плотности физического тела (в самом деле, масса исчезающе малого объема тела также стремится к нулю, но отношение массы к объему есть величина постоянная), и поэтому многие понятия математиче- ской статистики имеют названия, заимствованные из соответствующих раз- делов физики. Вернемся, однако, к нашей аналогии с автобусом. Теперь мы понимаем, что означает "ровно в 10:15", но вынуждены принять во внимание и обстановку на дордге. Автобус выехал из парка ровно по графику, но тут же был вынуж- ден его нарушить из-за аварии на перекрестке. Потом его задержал перебе- гающий дорогу школьник. Потом он простоял на остановке из-за старушки с огромной клетчатой сумкой, которая застряла в дверях. Означает ли это, что автобус всегда только опаздывает? Отнюдь, у водителя есть план, и он заинтересован в том, чтобы двигаться побыстрее, поэтому он может кое-где и опережать график, не гнушаясь иногда и нарушением правил движения (благо "гаишники" не имеют права задерживать общественный транспорт). 10 Зак. 710
282 Глава 17 Потому правильно сформулированный вопрос звучал бы так: каково распре- деление плотности вероятностей во времени? Зная эту закономерность, мы можем всегда сказать, какова вероятность того, что автобус отправится в оп- ределенный промежуток времени. Интуитивно форму кривой распределения плотности вероятностей опреде- лить несложно. Существует ли вероятность того, что автобус отправится, к примеру, позже 10:30 или, наоборот, даже раньше предыдущего автобуса? А почему нет— подобные ситуации в реальности представить себе очень легко. Однако ясно, что эта вероятность меньше, чем вероятность прихода "около 10:15". Чем дальше в обе стороны мы удаляемся от этого центрально- го наиболее вероятного срока, тем меньше плотность вероятности, пока она не станет практически равной нулю (то, что автобус задержится на сутки — событие невероятное, скорее всего, это будет уже совсем другой автобус). То есть распределение плотностей вероятностей должно иметь вид некоей колоколообразной кривой. В теории вероятностей доказывается, что при некоторых предположениях относительно вероятности конкретных исходов нашего события, эта кривая будет иметь совершенно определенный вид, ко- торый называется нормальным распределением вероятностей или распреде- лением Гаусса. Вид кривой плотности нормального распределения и соответ- ствующая формула показаны на рис. 17.1. (х-и)2 Р(х) = —у=-е 2<jZ суп Рис. 17.1. Плотность нормального распределения вероятностей
Ошибаются все. Немного о метрологии и ошибках аналоговых схем 283 Ниже мы поясним смысл отдельных параметров в этой формуле, а пока отве- тим на вопрос: действительно ли реальные события, в частности, интере- сующие нас ошибки измерения, всегда имеют нормальное распределение? Строгого ответа на этот вопрос в общем случае нет, и вот по какой причине. Математики имеют дело с абстракциями, считая, что мы уже имеем сколь угодно большой набор отдельных реализаций события (в случае с автобусом это была бы бесконечная таблица пар значений "плотность вероятности — время"). В реальной жизни такой ряд невозможно получить не только пото- му, что для этого потребовалось бы бесконечно долго стоять около остановки и отмечать моменты отправления, но и потому, что стройная картина непре- рывного ряда реализаций одного события (прихода конкретного автобуса) будет, в конце концов, нарушена совершенно не относящимися к делу веща- ми: маршрут могут отменить, остановку перенести, автопарк обанкротится, не выдержав конкуренции с маршрутными такси... да мало ли что может произойти такое, после чего станет бессмысленным само определение собы- тия. Однако все же интуитивно понятно, что, пока автобус ходит, какое-то, пусть теоретическое, распределение имеется. Где оно имеется? Да там же, где все остальные математические абстракции, скажем, числа или фигуры — видимо, в некоем идеальном мире (мы еще будем говорить об этом "плато- новском мире идей", когда перейдем к системам счисления в главе 19). Такой идеальный бесконечный набор реализаций данного события носит название генеральной совокупности. Именно генеральная совокупность при некоторых условиях имеет, в частности, нормальное распределение. В реальности же мы имеем дело с выборкой из этой генеральной совокупности. Причем одна из важнейших задач, решаемых в математической статистике, состоит в том, чтобы, имея на руках две разных выборки, доказать, что они принадлежат одной и той же генеральной совокупности — проще говоря, что перед нами есть реализации одного и того же события. Другая задача состоит в том, чтобы по выборке определить вид кривой распределения и ее параметры. На свете сколько угодно случайных событий и процессов, имеющих распределение, совершенно отличное от нормального, однако считается, что в интересующей нас области ошибок измерений все распределения нормальные, и мы в даль- нейшем будем говорить только о них2. Полученные опытным путем характе- ристики распределения называются оценками параметров, и естественно, что они будут соответствовать "настоящим" значениям с некоторой долей 2 На самом деле утверждение о нормальности распределения для ошибок измерений не совсем голословное и отчасти доказывается с помощью так называемой центральной предельной тео- ремы, однако, все же предположений при этом делается столько, что правильнее будет гово- рить о многовековом опыте, обосновывающем данную гипотезу. Ничего в этом страшного нет — в конце концов, закон сохранения энергии тоже всего лишь предположение, которому, однако, до сих пор не найдено ни одного опровергающего факта.
284 Глава 17 вероятности — наша задача и состоит в том, чтобы определить интервал, в котором могут находиться отклонения оценок от "истинного" значения и со- ответствующую ему вероятность. Но настало время все же пояснить — что же это за параметры? В формуле на рис. 17.1 таких параметров два — величины цио. Они называ- ется моментами нормального распределения. Параметр ц называется матема- тическим ожиданием (или моментом распределения первого порядка), а ве- личина а— средним квадратическим отклонением. Чаще употребляют его квадрат, обозначаемый как D или просто а2, и носящий название дисперсии (или момента второго порядка). Математическое ожидание есть абсцисса максимума кривой нормального распределения (в нашей аналогии с автобу- сом это время 10:15), а дисперсия, как видно из рис. 17.1, характеризует "размытие" кривой относительно этого максимума — чем больше дисперсия, тем положе кривая. Эти моменты имеют прозрачный физический смысл (вспомните аналогию с физическим распределением плотностей): математи- ческое ожидание есть аналогия центра масс некоего тела, а дисперсия харак- теризует распределение масс относительно этого центра3. Оценкой тх математического ожидания Ц служит хорошо знакомое нам со школы среднее арифметическое: (1) п Здесь п — число измерений; i — текущий номер измерения (г = 1..п); х, — значение измеряемой величины в г-м случае. Оценка s2 дисперсии а2 вычисляется по формуле: s2= ~~wx)2 (2) Оценка среднеквадратического отклонения, соответственно, будет: s= 4^ (3) Здесь (%, - тх) — отклонения конкретных измерений от ранее вычисленного среднего. Следует особо обратить внимание, что сумму квадратов отклоне- 3 Кроме математического ожидания, средние значения распределения вероятностей характери- зуют еще величинами, называемыми модой и медианой. В случае нормального распределения все три величины совпадают, но в других случаях они могут оказаться полезными: именно мода есть абсцисса наивероятнейшего значения (т. е. максимума на кривой распределения, что полностью отвечает бытовому понятию о моде), а медиана есть геометрическая середина от- резка на оси абсцисс, представляющего интервал, в который укладываются все возможные значения случайной величины — для нормального распределения этот интервал бесконечен).
Ошибаются все. Немного о метрологии и ошибках аналоговых схем 285 ний делить следует именно на (и - 1), а не на п, как может показаться на пер- вый взгляд, иначе оценка получится смещенной. Второе, на что следует об- ратить внимание, — то, что разброс относительно среднего характеризует именно среднеквадратическое отклонение, вычисленное по формулам (2) и (3), а не среднее арифметическое, как рекомендуют в некоторых школьных спра- вочниках — последнее дает заниженную и смещенную оценку (не напомина- ет ли вам это аналогию со средним арифметическим и действующим значе- ниями переменного напряжения?). Кроме того, очень важный момент при расчете по формулам (1) и (2) заключается в том, что все измерения должны представлять собой единую серию: нельзя снимать показания целый день, ве- чером вычислить среднее значение, потом прийти на следующий день и при- бавлять к этому среднему новые результаты — среднее вычисляется по всей серии за один прием. Это легко показать на числовом примере. Допустим, мы имеет две группы измерений одной величины: 1, 2, 3, 3 и 2, 3, 1, 1. Среднее арифметическое (правильное) по всем 8-ми измерениям будет равно 2. Однако если мы вычислим среднее по первой группе из 4-х измерений (2,25), затем начнем прибавлять к нему результаты второй группы, считая среднее из пер- вой группы за одно измерение, то получим откровенную чушь: 1,85. То же самое относится к вычислению оценки дисперсии и даже в еще большей сте- пени: если мы вычислим средние для двух групп отдельно, затем сложим их и поделим на 2, то получим правильный результат, а вот для дисперсии такой фокус не пройдет — из-за наличия в знаменателе величины (п - 1), а не п. В принципе этими формулами для расчета случайных погрешностей можно было бы ограничиться, если бы не один важный вопрос: оценки-то мы полу- чили, а вот в какой степени они отвечают действительности? Правильно сформулированный вопрос будет звучать так: какова вероятность того, что среднее арифметическое отклоняется от "истинного" значения (т. е. матема- тического ожидания — мы упрямо считаем, что последнее где-то существует "на самом деле") не более, чем на некоторою величину 5 (например, на вели- чину оценки среднего квадратического отклонения 5)? Величина 5 носит название доверительного интервала, а соответствующая вероятность — доверительной вероятности (или надежности). Обычно ре- шают задачу, противоположную сформулированной: задаются величиной надежности и вычисляют доверительный интервал 5. В технике принято за- даваться величиной надежности 95%, в более критичных случаях— 99% (большей величиной задаются только в очень уж серьезных случаях). Про- стейшее правило для обычных измерений в этом случае таково: при условии достаточно большого числа измерений (практически более 10—20) довери- тельной вероятности в 95% соответствует доверительный интервал в 2s, а доверительной вероятности в 99% — доверительный интервал в 3s
286 Глава 17 (известное правило "трех сигма", согласно которому за пределы утроенного квадратического отклонения не выйдет ни один результат измерения). Если же число измерений мало или нужно все подсчитать точнее, то приходится обращаться к критерию Стьюдента — мы здесь не будем в это углубляться, потому что методика эта описана в любом пособии по матстатистике. Если же мы не поленимся провести не менее полутора десятков отдельных изме- рений величины х, то с чистой совестью можем записать, что результат будет равен: х = т + 2s. Регрессия Все сказанное относилось к случаю, когда мы измеряем одну величину, имеющую некоторую случайную погрешность. Однако на практике нам час- то требуется по экспериментальным данным получить оценку некоторой функции у(х) — фактически это задача построения кривой по результатам опытных данных, которую вам, несомненно, приходилось не раз решать, ес- ли вы обучались в техническом вузе. Провести кривую, аппроксимирующую4 опытные данные, можно от руки на миллиметровке, но как решать такую за- дачу "правильно"? Причем, как и в предыдущем случае, желательно бы иметь возможность оценить погрешности измерений. Принцип такого построения иллюстрирует рис. 17.2. Разумно было бы про- водить кривую (в данном случае — прямую) так, чтобы отклонения Ду, были бы минимальными (все сразу). Однако просто минимизировать сумму откло- нений не получится — они имеют разный знак, и минимум получился бы при очень больших отрицательных отклонениях. Можно минимизировать сумму абсолютных значений отклонений, однако это неудобно по ряду чисто мате- матических причин, поэтому используют уже знакомую нам сумму квадратов отклонений — только ранее это было отклонение от среднего арифметиче- 4 Процесс проведения кривой через какие-либо точки (расчетные или экспериментальные) в общем случае называется аппроксимацией, но когда речь идет о данных со случайными ошибками, употребляют термин "регрессия". Аппроксимацию следует отличать от интерполя- ции (когда по совокупности имеющихся значений функции и переменных рассчитывают зна- чение функции в некоторой точке между ними) и экстраполяции (когда рассчитывают значе- ния функции вне области, охваченной имеющимися значениями, в предположении, что там кривая ведет себя так же). Насчет последней операции следует отметить, что полиномы, полу- ченные регрессионным способом (см. далее по тексту), за исключением разве что прямой ли- нии, обычно для проведения экстраполяции не годятся, т. к. не несут в себе физического смыс- ла, и вне экспериментальной области могут очень сильно расходиться с реальной картиной. Это легко проверить, если добавить одну-две точки на краю диапазона к уже имеющимся: ко- эффициенты полинома, особенно высокого порядка, могут измениться кардинально.
Ошибаются все. Немного о метрологии и ошибках аналоговых схем 287 ского одной величины х, а теперь это отклонение опытных данных от кри- вой у(х'): W => min • Такой метод называется методом наименьших квадратов. Рис. 17.2. Проведение аппроксимирующей прямой по экспериментальным данным Кстати, а какую именно кривую выбрать? Ведь кривые бывают разные — прямая, парабола, экспонента, синусоида... Опыт показывает, что на практи- ке можно ограничиться полиномом, соответствующим разложению функции в ряд Тейлора (в математике доказывается, что любую другую непрерывную функцию всегда можно представить в виде такого ряда): у = ао 4- арс + а2х2 4- аух3 4- ... (4) Это уравнение называется уравнением регрессии. Отметим, что здесь мы разбираем наипростейший случай — зависимость у от одного параметра х. В общем случае независимых переменных может быть несколько, но для на- ших целей простейшего случая достаточно (в принципе многопараметрическая задача может быть сведена к нескольким однопараметрическим, но в любом случае принцип при переходе к большему числу переменных не меняется). Итак, в качестве исходных данных у нас имеется некий набор значений х, в количестве п штук5. Надо провести кривую, соответствующую уравнению (4), так, чтобы сумма квадратов отклонений была минимальна: А?/2 = Sn(yi “ - a\xi - a2x2...)2 => min. (5) 5 „ .... Отметим, что величины x, считаются неслучайными — если в каждой z-ои точке проводится несколько измерений, то надо брать среднее. Случайными же считаются только величины у.
288 Глава 17 Какой степени полином должен быть? Из элементарной геометрии известно, что через две точки можно провести прямую (полином первой степени), че- рез три — параболу (второй степени) и т. д., т. е. максимально возможная степень полинома на единицу меньше, чем число экспериментальных дан- ных. Однако через две точки можно провести только одну прямую, и мы ни- когда не сможем оценить погрешностей, т. е. узнать, насколько наша прямая отличается от того, что имеет место в действительности. Поэтому чем избы- ток точек больше, тем лучше (в идеале — на те же 10—20 точек, но на прак- тике можно обойтись и 3—5). Оптимальную же степень определяют так: строят несколько полиномов разной степени и смотрят на среднеквадратиче- ское отклонение. Когда оно с увеличением степени полинома перестанет уменьшаться (или это уменьшение незначительно), то нужная степень дос- тигнута. Я не буду здесь вдаваться в подробности реализации метода наименьших квадратов — это бессмысленно, т. к. его обычно реализуют в виде готовой программы. При необходимости все подробности вы легко найдете в указан- ных и других пособиях, я же изложу только общую идею: в уравнении (4) у нас у и х есть величины известные, а в качестве неизвестных выступают коэффициенты а,-. Поэтому записывают сумму квадратов отклонений (5), а затем в соответствии с правилом нахождения минимума приравнивают ну- лю частные производные этой суммы по каждому из коэффициентов. Полу- ченная система уравнений (они называются "нормальными") относительно коэффициентов решается обычными алгебраическими методами с помощью определителей. Результирующий полином есть некоторая аналогия матема- тического ожидания. Потом вычисляют дисперсию и среднеквадратическое отклонение (СКО) от полинома по обычным формулам (2) и (3). Для СКО действуют те же правила с доверительными вероятностями, что и в обычном случае, только доверительный интервал здесь — не отрезок на прямой, а не- кий коридор значений, окружающий нашу экспериментальную кривую. Следует предостеречь вот от чего: в некоторых пакетах статистики использу- ется иной метод определения коэффициентов экспериментального полинома, основанный на методе их подбора (когда-то метод наименьших квадратов реализовывался вручную похожим способом). В самом деле — зачем возить- ся с матрицами и определителями, если вычислительные мощности все равно простаивают? Так что зададимся некоторыми ("от фонаря") значениями ко- эффициентов и начнем их менять случайным образом, каждый раз отбрасы- вая те значения, которые увеличивают сумму квадратов, и фиксируя те, что уменьшают. После некоторого количества (до нескольких сотен) таких ите- раций мы, по идее, придем к наилучшему полиному. Я не специалист в ма- тематике и не могу объяснить, что именно в этом методе "не так" (скорее
Ошибаются все. Немного о метрологии и ошибках аналоговых схем 289 всего — плохи конкретные реализации, с которыми я сталкивался), однако во всех случаях результаты были хуже, чем полученные строгим методом с реше- нием системы нормальных уравнений. Поэтому я бы посоветовал использовать только те пакеты, которые основаны на корректной процедуре регрессии. Классы точности и расчет погрешностей нашего образцового термометра Точность, достигаемая в процессе калибровки или градуировки, не может превысить точность применяемого образцового средства— на самом деле она, как минимум, в два раза хуже. Эта величина будет пояснена далее, а здесь мы заметим, что в измерениях по схеме рис. 16.2 нас несколько спа- сает тот факт, что в окончательную формулу входят не абсолютные значения сопротивлений плеч магазина, а их отношение, что вносит погрешность меньшую, чем та, которая определяется классом точности прибора для абсо- лютных значений (см. расчеты далее). В предположении, что чувствитель- ность индикатора равновесия моста (в нашем случае — мультиметра) обес- печивает погрешность, много меньшую, чем остальные средства (если помните, мы специально увеличивали чувствительность сверх необходимой), класс точности нашего образцового термометра будет определяться классами термометра, резистора и магазина. Но для того чтобы подсчитать класс точ- ности, надо сначала понять — а что это такое? Мы в предыдущих главах часто употребляли понятие погрешности, приводя его то в процентах, то в абсолютных величинах. Систематизируем эти пред- ставления и определим следующие три вида погрешностей: □ абсолютная погрешность (в единицах измеряемой величины); □ относительная погрешность (абсолютная, но выраженная в процентах от значения измеряемой величины); □ относительная приведенная погрешность (абсолютная, но выраженная в процентах либо от всего диапазона измерений, либо от номинального значения измеряемого параметра). Последняя величина и есть класс точности6. Поясним на примере: платино- вый 100-омный термометр сопротивления с классом точности 0,01 имеет от- носительную приведенную погрешность O,Q1% от номинального значения 100 Ом, это означает, что его абсолютная ошибка составит 0,01 Ом (во всем 6 Формально это не совсем так: класс точности есть величина стандартизированная, и величины классов могут принимать только значения из ряда, определяемого стандартом, например 1,0; 0,75; 0,5; 0,25; 0,1 и т. п.
290 Глава 17 диапазоне). Относительная (не приведенная) погрешность будет при нуле градусов также 0,01%, а если температура будет равна -50°, то сопротивле- ние термометра станет равным примерно 80 Ом, и относительная погреш- ность при этой температуре будет выше: 0,0125%. При определении относи- тельной приведенной погрешности учитывают все ошибки (их абсолютные значения): и случайную7, и аддитивную, и мультипликативную погрешности. Причем в последнем случае за величину погрешности принимают значение мультипликативной погрешности в конце шкалы — ведь она зависит от из- меряемой величины. Отсюда видно, что если мультипликативная погреш- ность доминирует, то выгоднее как можно больше "ужимать" диапазон изме- ряемых значений. С другой стороны, аддитивная и случайная погрешности от диапазона не зависят, и уменьшение его приведет к тому, что их вклад уве- личится — в частности, именно поэтому мы старались в схеме на рис. 16.3 "раздуть" выходное напряжение ОУ до максимума. Итак, каков же будет класс точности нашего образцового термометра? Пред- положим, что мы используем резистор R1 с точностью 0,02% (абсолютная ошибка А/? = 0,2 Ом, т. е. 0,02% от номинала в 1 кОм), термометр сопротивле- ния с классом 0,05 (A/?t = 0,05 Ом) и магазин также с классом 0,05. Допустим, что магазин добавляет нам ошибку на каждое из плеч, пропорциональную их сопротивлению, т. е. общая ошибка, определяемая классом точности магази- на, делится между ними (А/?х = 0,5 • Rx/Rm Ом). Просто суммировать все эти значения было бы неправильно — мы получили бы сильно завышенное зна- чение погрешности. Правильную величину мы получим из следующих сооб- ражений: пусть все наши компоненты одновременно изменились на величину их погрешности. Тогда расчетная формула будет выглядеть так (ошибки под- ставляются здесь в абсолютном значении): Rt = 0,05 + (R1 + 0,2) • (Rx + 0,5Rx/Rm)/[(Rm + 0,5) - (Rx + 0,5Ях/Ям)] Ом. Проще всего подсчитать результат в числах: пусть имеется в виду случай, когда температура равна ровно 0° (можно показать, что при других темпера- турах в реальном диапазоне рассчитанные значения будут отличаться мало), тогда Rt номинально равно 100 Ом, отсюда Rx = 90,9 Ом (оставшаяся часть магазина будет 909 Ом, их отношение 1/10). Тогда получим: Rt = 0,05 + 1000,2 • (90,9 + 0,5 • 0,1)/[ 1000,5 - (90,9 + 0,5 • 0,1)] = 100,064 Ом. То есть ошибка будет составлять 0,064 Ом, что составит в пересчете на тем- пературу 0,16°. Довольно приличная точность, хотя для наших целей недос- 7 Все виды погрешностей включают в себя систематическую — за счет неточностей средств измерения — и случайную погрешность. Однако в рассуждениях, приведенных далее, случайную составляющую мы формально не учитываем — просто потому, что ее можно уста- новить только на основе эксперимента, и в рассмотренном случае у нас нет данных.
Ошибаются все. Немного о метрологии и ошибках аналоговых схем 291 таточная — мы же хотели обеспечить возможность градуировки приборов до 0,1°. Относительная приведенная погрешность в диапазоне от -2 до 98° (соответствующем возможному диапазону термостата) составит 0,16%. Не забудьте, что мы еще не учли случайную составляющую (за счет, напри- мер, шумов), что можно сделать только экспериментальным путем (см. сно- ску на предыдущей странице), так что спокойно можно было бы волюнтари- стски увеличить погрешность, скажем, до 0,2°, не слишком ошибившись. Заметим, что это максимальная ошибка: в реальности может случиться даже, что все ошибки будут иметь такие знаки и величины, что скомпенсируют друг друга, и наш прибор покажет совершенно точное значение сопротивле- ния. На практике такое совпадение, конечно, нереально, но можно показать, что наиболее вероятное значение ошибки составит половину от максималь- ной — 0,08°. Но метрология всяких таких вольностей не терпит — ведь мы никогда не сможем узнать, как обстоит дело в реальности. Для того чтобы увеличить класс нашего прибора, можно пойти несколькими путями: во- первых, повысить классы применяемых образцовых средств. Если увеличить их до предела, взяв наиболее дорогие компоненты с классами не хуже 0,01, то мы можем снизить ошибку раза в три — уже что-то! Другой (или парал- лельный первому) путь — оптимизировать схему так, чтобы использовать магазин и резистор с наименьшими возможными абсолютными значениями. Так как ток через образцовый термометр ограничен (обычно 2—5 мА), то на таком пути нет другого выхода, кроме как снижать напряжение питания, при этом на выходе придется использовать вместо обычного мультиметра что-то более приличное — скажем, чувствительный аналоговый гальванометр с зер- кальной шкалой. Снизив сопротивления R1 и магазина до 100 Ом8, мы полу- чим даже с указанными выше классами точности ошибку также примерно в три раза меньше — уже что-то! Однако кардинальным решением будет ка- либровка (или градуировка) прибора по образцовому эталону классом заве- домо выше — при этом также не исключается применение всех остальных мер, ведь калибровка может дать неудовлетворительный результат. Природу не обманешь: иерархическая система эталонов, о которой говорилось в главе 16, придумана не зря! Причем проведение такой операции является значительно более дешевым способом убедиться в том, что ваш прибор пока- зывает то, что надо, чем "догонять" класс используемых компонентов до предельных значений. Вопрос только в одном: иметь доступ к соответст- вующему оборудованию. Но эту проблему, как Говорится, каждый решает для себя самостоятельно. 8 Имейте при этом в виду, что прецизионные резисторы типов С5-54В или С5-61 с допуском 0,05% и лучше с такими маленькими номиналами вообще не выпускаются.
292 Глава 17 Доверительный интервал поверяемого средства Доверительный интервал эталона / Ось значений Значение эталона Истинное измеряемой величины (наихудший случай) значение Рис. 17.3. Погрешности поверяемого прибора и образцового средства измерения Кстати, мы обещали ответить на вопрос, почему погрешности образцового средства должны составлять не более чем половину от желаемых погрешно- стей поверяемого прибора. Понять это можно, например, из рис. 17.3. Если бы установленное значение образцового средства всегда совпадало с истин- ным, можно было бы потребовать равенства погрешностей. Однако реально установленное значение может оказаться и на краю 95%-го доверительного интервала. Тогда 95%-ный доверительный интервал поверяемого прибора, который ровно в два раза больше, займет положение, показанное на рисунке. Как мы видим, в него полностью включается доверительный интервал этало- на (напомним, что истинное значение величины нам неизвестно), и при лю- бом количестве точек градуировки мы никогда не выйдем за пределы допус- тимого интервала для поверяемого прибора. Разумеется, в этом рассуждении много слабых мест — но никто и не возражает против того, чтобы эталонное средство было как можно более точным. Просто в реальных условиях надо было выработать какой-то разумный критерий — вот он и перед вами. Способы снижения погрешностей аналоговых схем Предположим, мы все сделали классно и откалибровали наш датчик по са- мому образцовому эталону. Однако мы производили измерения при комнат- ной температуре, а что будет при ее изменении? В критичных случаях прово- дят специальные климатические испытания — т. е. градуируют схему при разных температурах, а затем учитывают это при определении "правильного" значения выходной величины. Этот путь довольно сложен — для автомати- ческого учета, во-первых, нужно параллельно вводить схему измерения тем- пературы самой платы (пусть даже она и не должна быть особо точной), во- вторых, где-то надо производить соответствующие расчеты, которые могут быть достаточно громоздкими (т. е. нужен, как минимум, контроллер с соот ветствующей программой). В особых случаях схему даже термостатируют
Ошибаются все. Немного о метрологии и ошибках аналоговых схем 293 (как, например, кварцевые генераторы в эталонах времени и частоты), но обычно это лобовое решение чересчур громоздко и неэкономично. Иногда стабильность работы схемы при разных температурах можно обеспе- чить аналоговой компенсацией — именно так мы советовали поступать для УМЗЧ в главе 9, когда рекомендовали приклеивать диоды смещения выход- ного каскада к радиатору выходных транзисторов. Для простых схем, таких как измерительные мосты (например, тензомосты для измерения давления или деформации) такой способ иногда применяют еще в процессе изго- товления — датчик при этом называется термокомпенсированным. Для более сложных случаев приходится вводить компенсацию в процессе разработки. Здесь очень помогает мостовая схема, придуманная Уитстоном: в самом де- ле, если все сопротивления моста имеют одинаковый температурный коэф- фициент, то в случае равновесия (и только в этом случае!) это никак не ска- жется на результатах. При разбалансе же температурная ошибка будет носить мультипликативный характер: чем больше разбаланс, тем она выше. Если ограничиться небольшими выходными сигналами, то можно значитель- но снизить влияние температуры: в R/AR раз, где R — номинальное сопро- тивление резистора моста, a AR— его изменение. Повторим, что это спра- ведливо только для случая строгой одинаковости температурных коэффициентов резисторов — на практике такое бывает редко. Можно попробовать индивидуально подкорректировать температурный коэффици- ент, устанавливая всякие термозависимые компоненты параллельно резисто- рам моста (не очень хороший путь) или в обратные связи усилителей (значи- тельно лучше). Есть и еще одна составляющая погрешности — нестабильность напряжения питания. У всех стабилизаторов конечны и выходное сопротивление, и коэф- фициент стабилизации, поэтому при изменении входного напряжения, а также сопротивления нагрузки, напряжение на выходе будет в той или иной степе- ни "гулять". В случае сбалансированного моста на это наплевать, но в боль- шинстве случаев автоматические измерения все же производятся при нерав- новесном состоянии моста — обеспечить автоматизированную балансировку очень сложно. Есть простой метод, позволяющий значительно — в десятки раз — снизить влияние изменений напряжения питания, но при одном усло- вии: если датчик питается от того же источника. Как это делается? Предпо- ложим, схема состоит из двух основных узлов: измерительного полумоста (т. е. обычного делителя, включающего резистивный датчик) и аналого- цифрового преобразователя (АЦП). Между ними часто включается усили- тель, но он выполняет лишь масштабирующие функции, поэтому не влияет на работу схемы. АЦП мы будем разбирать в главах 25 и 26, а здесь нам важ- но только то, что диапазон значений выходной величины у АЦП задается
294 Глава 17 с помощью опорного напряжения. Так вот, если запитать измерительный по- лумост и вход опорного напряжения АЦП от одного источника питания, лег- ко понять, что вместе с изменением напряжения питания величины на их вы- ходах будут изменяться пропорционально друг другу, так что общий коэффициент преобразования, равный отношению выходного диапазона ко входному, останется постоянным. Такие измерения называются относитель- ными или логометрическими. Если же источник входного напряжения и АПЦ запитать от отдельных источников — условия нарушатся, и тогда нуж- но все хорошо стабилизировать, то же самое будет, если вместо АЦП поста- вить отдельный показывающий прибор с собственным коэффициентом пре- образования — вроде стрелочного прибора на рис. 16.3. Более того, принцип относительности измерений сохранится, если мы используем вместо полу- моста обычный полный мост (типа моста Уитстона) с дифференциальным выходом. Хотя, как мы говорили раньше, у него погрешность от изменения питания носит мультипликативный характер, но и в делителе для формиро- вания опорного напряжения АЦП погрешность тоже мультипликативная (если принимать за выходную величину делителя само значение опорного напря- жения). Проще говоря, когда мост сбалансирован и сигнал вместе с его по- грешностью равен нулю, то и результат преобразования равен нулю незави- симо от значения опорного напряжения со всеми его изменениями. Когда же баланс нарушается, то погрешность вместе с выходным напряжением растет, но в процентах от его величины она такая же, как и погрешность опорного делителя в процентах от величины опорного напряжения, поэтому они ком- пенсируют друг друга. А вот любая погрешность, которая не одинакова для обоих напряжений, здесь фатальна. Так что прецизионные резисторы прихо- дится ставить. На всякий случай— во избежание иных ошибок— следует все же и стабилизировать напряжение питания, тем более что решение этой проблемы в современных условиях не представляет особых трудностей.
Глава 18 На пороге цифрового века. Математическая логика и ее представление в технических устройствах Нива засеяна, и нам нечего опасаться, что часть семян упала на камень или рассеялась по дороге и что птицы небесные поклюют остальную часть. А. Дюма, "Три мушкетера" Все началось, конечно, с Аристотеля, который жил в IV веке до нашей эры. Когда читаешь вступление к любой популярной книге, посвященной чему угодно — от изящных искусств до биологии, химии, физики и математики — возникает впечатление, что Аристотель был каким-то сверхчеловеком. В са- мом деле, гении встречаются, но нельзя же быть гением настолько, чтобы разработать основы вообще всего, на чем зиждется современная цивилиза- ция! Тем не менее, и авторы не врут, и Аристотель сверхчеловеком не был — тут сыграли роль несколько обстоятельств. Во-первых, знаний было тогда накоплено еще не очень много, и обозреть их все — задача вполне посильная для человека острого ума и выдающихся способностей, каким Аристотель, несомненно, был. Во-вторых, он работал не один, его метод — коллективный мозговой штурм, это просто история донесла до нас только его имя. Но глав- ное, пожалуй, в другом: древние рассматривали упомянутые нами дисципли- ны во взаимосвязи. Аристотель четко разделил только науку и ремесла ("тех- но" по-гречески), наука же делились на практические (этику и политику) и теоретические (физику и логику) дисциплины, но они рассматривались как составные части единой науки. В чем древние, конечно, были более правы, чем мы, поделившие области человеческой деятельности на множество яко- бы автономных разделов. И главной составной частью науки считалась именно логика— искусство рассуждения. Вот она-то и послужила той осно- вой, из которой выросла цифровая техника и все многообразие информаци- онных технологий, которые окружают нас теперь на каждом шагу. Раз уж мы заговорили на философские темы, уместно сделать одно замечание. Дело в том, что почти все "обычные" достижения технологического века
296 Глава 18 (паровой двигатель, телеграф, телефон, самолет, телевизор, автомобиль и т. п.) в некотором смысле изобретать было не надо — идеи передачи речи или изображения на расстояние (волшебное зеркальце) или передвижения с большой скоростью по воздуху (ковер-самолет) были выдвинуты задолго даже до Аристотеля. Нужно было придумать только способы технического воплощения этих идей, что, по классификации Аристотеля, относится к ре- меслу, "техно", но не к науке. А вот никаких таких "компьютеров" не суще- ствовало и в помине — в некотором смысле, это единственное действительно "настоящее" изобретение, основанное на чисто идеальных предпосылках, в материальном мире никаких аналогов не имевших — кроме, конечно, самого человеческого разума. Чтобы особенно не углубляться в историю, а поскорее перейти к современ- ным делам, мы аристотелевские силлогизмы рассматривать не будем, заме- тим только, что выдвинутые им законы логики, которые с его лихой подачи стали идентифицироваться с законами мышления вообще, неоднократно пы- тались привести в математическую форму. Некто Луллий в XIII веке попы- тался даже механизировать процесс логических рассуждений, построив "Всеобщий решатель задач" (несомненно, это была первая попытка построе- ния "думающей машины"). Затем этим делом — формализацией логики — занимался Лейбниц и, в конце концов, все сошлось в двух работах англий- ского математика Джорджа Буля, который жил и работал уже в середине XIX века. Любопытно название второй из этих работ— "Исследование законов мышления", первая же работа называлась поскромнее, но без "мышления" и тут не обошлось — в названии фигурировало слово "рассуждения". То есть и сам Буль, и еще почти сто лет после него, до 30-х годов XX века, и все его предшественники в течение двух с большим лишком тысяч лет, прошедших со времен Аристотеля — никто так и не усомнился, что в основе мышления лежит именно та логика, которая называется "аристотелевой". И лишь в XX веке, после работ Геделя и Тьюринга и особенно в связи с благополучно прова- лившимися (как и у Луллия за 700 лет до того) попытками создания "искус- ственного интеллекта", до ученых, наконец, начало доходить, что мышление вовсе не имеет логической природы, а логика есть лишь удобный способ сделать свои рассуждения доступными окружающим, т. е. перевести их в вербальную форму. Но для нашего повествования это лишь побочное следствие развития матема- тической логики — главное оказалось совсем не там, где его видели Лейбниц и Буль. Главное обнаружил в своей магистерской диссертации от 1940 г. ве- ликий Клод Шеннон — оказалось, что булевские законы в точности совпа- дают с принципами функционирования релейных электрических схем. Что самое поразительное— все компоненты, необходимые для моделирования
На пороге цифрового века. Математическая логика и ее представление...297 законов логики с помощью электрических устройств (реле, выключатели), были известны еще до опубликования Булем своих работ, но в течение еще почти ста лет никто не обращал на это внимания (Шеннон скромно утверждал, что случилось так, что до него просто никто не владел математикой и электро- техникой одновременно). Не обратил на это внимание даже Чарльз Бэббидж, сконструировавший еще задолго до работ Буля механическую вычислитель- ную ("аналитическую") машину — а ведь был знаком и с самим Булем и с его работами! Но довольно истории, перейдем к практике. Рис. 18.1. Клод Элвуд Шеннон (Claude Elwood Shannon), 1916—2001. Фото Lucent Technologies Inc./Bell Labs Основные операции алгебры Буля Булевская алгебра имеет дело с абстрактными логическими переменными. Эти переменные можно интерпретировать по-разному, но интерпретацию мы пока отложим (далее мы найдем адекватное нашим целям и математическое, и техническое представление булевских переменных). Важно, что для этих переменных (операндов) определены некоторые операции, подчиняющиеся определенным правилам: операция логического сложения двух операндов (операция объединения, операция ИЛИ или OR, обозначается обычным зна- ком сложения), операция логического умножения двух операндов (операция
298 Глава 18 пересечения, операция И или AND, мы будем обозначать ее крестиком, что- бы отличить от обычного умножения)1 и операция отрицания для одного операнда (операция НЕ или NOT, обозначается черточкой над символом опе- ранда). Остальные операции могут быть выведены из сочетания этих трех основных. Любая конкретная интерпретация булевских операндов — мате- матическая или техническая — должна отвечать этим установленным прави- лам. Например, оказалось, что им отвечают множества (отсюда названия операций "пересечение" и "объединение"). Но нас множества интересуют мало, поэтому мы найдем другую интерпретацию, следует только отчетливо понимать, что сути дела это не меняет: операция пересечения множеств со- вершенно адекватна операции И с логическими переменными или соответст- вующей манипуляции с выключателями в электрической сети (это попросту одна и та же операция). В булевской алгебре многое совпадает с обычной (например, правила типа А + В = В + А; или А + (В + С) = (А + В) + С), но для нас важны как раз отли- чия. Вот они: А +А =А (а не 2Л, как было бы в обычной алгебре), а также А хА =А (а не А2). Последнее уравнение в обычной алгебре, впрочем, имело бы решение, причем сразу два: 0 и 1.Таким путем обычно и переходят к ин- терпретации булевских операндов как логических переменных, которые мо- гут иметь только два состояния: 1 и 0 или "правда" (True) и "ложь" (False). Тогда мы действительно можем с помощью определенных выше действий записывать некоторые высказывания в виде уравнений и вычислять их зна- чения, что дает иллюзию формального воспроизведения процесса мышления. Но сначала надо определить, как и в обычной алгебре, правила, которым подчиняются операции — т. е. таблицу логического сложения и таблицу ло- гического умножения. Они таковы: 0 + 0 = 0 0x0 = 0 0+1 = 1 0x1=0 1+0=1 1x0 = 0 1 + 1 = 1 1X1 = 1 Операция отрицания НЕ, понятно, меняет 1 на 0, и наоборот. Примеры записи логических выражений обычно приводят для каких-нибудь бытовых высказываний (типичный пример см. в эпиграфе), но мы поступим нетрадиционно: приведем пример из области математики. Пусть высказы- вание состоит в следующем: "х меньше нуля или х больше 1 и у меньше 2". 1 В математике операция сложения (дизъюнкция) обозначается знаком v, а умножения (конъ- лонкция) — л, но мы не будем их применять, т. к. запомнить, что есть что, тут непросто. Кроме того, операция умножения часто обозначается знаком &, и это обозначение нам встретится, когда мы перейдем к микросхемам.
На пороге цифрового века. Математическая логика и ее представление...299 Как записать это высказывание? Введем следующие логические переменные: А = (х < 0); В = (х > 1); С = (у < 2). Как мы видим, все они могут принимать только два значения — "правда" (если условие выполняется) и "ложь" (если не выполняется). Обозначим значение всего выражения через D. Тогда вы- сказывание записывается так: D = (A+B)xC(X) Можно записать и так: D = (AHJMB)¥LC Или так: D = (A OR В) AND С Или, наконец, так: D = ((х < 0) OR (х > 1)) AND (у < 2) Последняя запись, заметим в скобках, хорошо знакома всем, кто изучал язык программирования Pascal. Пусть х = 0,5, у = 1. Чему будет равно D в этом случае? Очевидно, что выра- жение (А + В) примет значение "ложь" (или 0), т. к. х не удовлетворяет ни одному из условий А и В. А переменная С примет значение "правда" (или 1), но результату это уже не поможет, т. к. произведение 0 на 1, согласно табли- це логического умножения, равно 0. То есть D в данном случае есть "ложь". Если же принять значение х = -0,5, то D примет значение "правда". Интерес- ный оборот примут события, если вместо OR между А и В подставить AND — легко догадаться, что выражение в скобках тогда не выполнится ни при каком значении х, т. к. условия "х меньше 0" и "х больше 1" взаимоис- ключающие. Потому результирующее условие D всегда будет принимать значение 0, т. е. "ложь". Но вот если мы изменим выражение следующим об- разом: D = (AxB)xC (2) т. е. инвертируем выражение в скобках с помощью операции НЕ, то получим обратный результат: D всегда будет правдой (черточкой над символом или выражением как раз и изображается инверсия). Интересно, что тот же самый результат мы получим, если запишем выражение следующим образом: D=(A + B)xC (3) Это свойство выражается в правилах де Моргана (учителя Буля): АхВ = А +В А+В-АхВ
300 Глава 18 Отметим, что из таблиц умножения и сложения вытекает одно любопытное следствие. Дело в том, что ассоциация значения "ложь" с 0, а "правды" с 1 есть действие вполне произвольное — ничто не мешает нам поступить на- оборот. В первом случае логика носит название "положительной", во вто- ром — "отрицательной". Так вот, замена положительной логики на отрица- тельную приводит к тому, что все операции ИЛИ заменяются на И и наоборот (рассмотрите таблицы внимательно). А вот операция НЕ к такой замене индифферентна— 0 меняется на 1 в любой логике. В дальнейшем, если это специально не оговорено, мы всегда будем иметь в виду положи- тельную логику. Ниже приведены несколько соотношений, которые вместе с правилами де Моргана помогают создавать и оптимизировать логические схемы. Некото- рые из них очевидны, некоторые же — совсем нет. АхВхС = (АхВ)хС = Ах(ВхС) (ассоциативный закон умножения) А+В + С = (А + В) + С = А + (В + С) (ассоциативный закон сложения) АхА =А А+А=А А + А~1 АхА=0 Ах 1 =А А + 1 = 1 А хО = О А + 0 = А А х (В + С) =А х В + А х С А +АхВ = А А + В х С = (А + В) х (А + В) 1=0 0=1 Булева алгебра на выключателях и реле Для того чтобы представить булевские переменные и операции над ними с помощью технических устройств (то, что сделал Клод Шеннон в своей дис- сертации), надо придумать схемы, которые воспроизводили бы эти операции согласно вышеизложенным правилам. Самые простые варианты таких схем показаны на рис. 18.2. Здесь операции И и ИЛИ выполняются обычными кнопками без фиксации. Каждая из них соответствует одной логической переменной, которая прини- мает значение 1, если контакты замкнуты, и 0 — если разомкнуты. На выходе значению 0 соответствует погасший светодиод, значению 1— горящий. Лег- ко понять, что работать эти схемы будут именно так, как указано в правилах для соответствующих логических операций. Для технических устройств,
На пороге цифрового века. Математическая логика и ее представление...301 которые, как мы увидим далее, могут выполнять функции и отличающиеся от базового набора булевских операций, правила соответствия входов и выхода называются "таблицами истинности" (или "таблицами состояния") и оформ- ляются в следующем виде: ИЛИ Вх1 Вх2 Вых 0 0 0 0 . 1 1 1 0 1 1 1 1 и Вх1 Вх2 Вых 0 0 0 0 1 0 1 0 0 1 1 1 + Ц1ИТ + Ц1ИТ Рис. 18.2. Схемы реализации логических функций на кнопочных выключателях Рис. 18.3. Схемы реализации логических функций на реле
302 Глава 18 Однако если разобраться поглубже, то придется констатировать, что настоящими входными логическими переменными для таких схем будут движения пальца, нажимающего кнопку. В частности, операция НЕ здесь будет означать нажатие кнопки с нормально замкнутыми контактами, а каскадное соединение таких схем для реализации сложных выражений предполагает наличие человека, трансли- рующего выходной сигнал одной схемы (состояние светодиода) во входной дру- гой схемы (состояние контактов). Логично поставить вместо такого человека, тупо выполняющего предопределенные действия, техническое устройство. И здесь помогут уже хорошо нам известные электромагнитные реле. В схемах на рис. 18.3 как для входов, так и для выхода наличие напряжения со- ответствует логической 1, отсутствие его — логическому 0. (Можно для нагляд- ности подключить к выходу светодиод или лампочку, но суть дела от этого не изменится.) Способ подачи входного сигнала не указан, т. к. предполагается, что источник входного напряжения может быть самый разный (разумеется, его мощ- ность должна быть достаточной, чтобы заставить реле сработать) — в том числе и такая же схема на реле. Последний вариант представлен на рис. 18.3 справа, где изображена схема составного элемента И-НЕ на трех реле, представляющего со- бой объединение элемента И (такого же, как на рисунке слева) и элемента просто НЕ (инвертора), который есть не что иное, как одиночное реле с выходом через нормальнозамкнутые, а не нормальноразомкнутые контакты. Таблица истинно- сти для элемента И-НЕ будет инверсией таблицы для элемента И: И-НЕ Вх1 Вх2 Вых 0 0 1 0 1 1 1 0 1 1 1 0 Легко видеть, что она неадекватна таблице для ИЛИ, как могло бы показать- ся на первый взгляд. Аналогично составляется элемент ИЛИ-НЕ — из схемы ИЛИ, показанной на рис. 18.3 посередине, и инвертора. Таблица истинности для него будет такой: ИЛИ-НЕ Вх1 Вх2 Вых 0 0 1 0 1 0 1 0 0 1 1 0
На пороге цифрового века. Математическая логика и ее представление...303 В большинстве современных серий логических микросхем используются именно элементы И-НЕ и ИЛИ-HE, а не чистые И и ИЛИ (которые часто да- же вовсе отсутствуют в составе серии, см. главу 20). Для того чтобы было проще разбираться в логических схемах, не заучивая таблицы истинности, работу элементов можно запомнить следующим образом: элемент И дает единицу на выходе только если на входах одновременно есть единица ("оба одновременно"), элемент ИЛИ — если на любом из входов единица ("хотя бы один"). Возможно, вам еще проще будет запомнить так: элемент ИЛИ да- ет единицу на выходе, если на входах "хотя бы одна единица", а элемент И дает ноль на выходе, если на входах "хотя бы один ноль". Рассмотренные же элементы с инверсией по выходу будут давать в тех же случаях обратные значения. Интересно рассмотреть вопрос — а нельзя ли упростить схемы этих комби- нированных элементов, исключив из них третье реле, выполняющее инвер- сию? В самом деле, большинство реле имеет перекидные контакты, так за чем же дело стало — меняем нормальноразомкнутые контакты на нормаль- нозамкнутые — и все! Легко заметить, что такая замена не будет адекват- ной — мы инвертируем здесь не общий выход элемента, а выходы каждого реле в отдельности, что равносильно инвертированию входов. Если обра- титься к правилам де Моргана, то мы увидим, что такое изменение схемы приведет к тому, что элемент И превратится в ИЛИ-HE, а ИЛИ — соответст- венно, в И-НЕ. Или можно сказать так: мы получили желанный результат — но в отрицательной логике. Я советую читателю посидеть над этими сообра- жениями и вывести таблицы истинности самостоятельно, чтобы убедиться, что все сказанное — правда. Второе полезное упражнение состоит в том, чтобы попытаться самому построить трехвходовые элементы, соответствую- щие уравнениям А+В + СпА'Х.В'Х.С (они будет состоять из трех реле). В заключение для тех, кто не разобрался как следует в этом по необходимо- сти кратком изложении, среди прочих источников особенно порекомендую обратиться к [26] — книге, написанной простым и понятным языком, ориен- тированным на неподготовленного читателя, но вместе с тем излагающей предмет во всех подробностях. То же самое, но на транзисторах и диодах Ясно, что использование реле для построения логических схем — метод, мягко говоря, несовременный. Хотя в истории и отмечены случаи построения целых компьютеров на основе реле (к ним принадлежали, в частности, легендарные Магк-1 и Магк-П Говарда Эйкена, запущенные в эксплуатацию в 1944 и 1947 гг. соответственно), но слишком много у них недостатков — большое потребление
304 Глава 18 и крайне низкое быстродействие, порядка 20—30 Гц (не килогерц и тем более не мегагерц, а именно герц). Конечно, по сравнению с электромеханическими ручными калькуляторами это было просто сказкой (типовое время операции сложения у Mark-I составляло 0,3 с), поэтому и машины эти вовсе не были все- го лишь экспериментальными образцами, а широко использовались на практи- ке. Но все-таки такое быстродействие казалось уже тогда весьма недостаточ- ным, поэтому довольно быстро перешли к использованию ламп, что позволило достичь порогов в десятки и сотни килогерц, а затем и транзисторов, с которы- ми частота работы возросла до единиц и десятков мегагерц. С использование реле в компьютерной технике связана легендарная история о возникновении термина "баг" как ошибки в программе. В буквальном переводе bug означает "жучок". В 1947 г. между контактами одного из реле Mark-Il застряла мошка, вызвав неисправность. Когда мошку извлекли, молодая сотрудница Эйке- на Г рейс Хоппер (позднее — крупнейший авторитет в программировании и един- ственная женщина-адмирал флота США) приклеила ее между страницами лабо- раторного журнала с подписью: "первый случай выловленного бага". Страница эта сейчас хранится в музее Смитсониановского института. Рис. 18.4. Схемы реализации логических функций на диодах и транзисторах Как же можно построить наши логические элементы на транзисторах? На рис. 18.4 показаны для примера схемы диодно-транзисторной логики, ко- торая широко использовалась в производстве гибридных микросхем (еще до изобретения Нойсом и Килби твердотельной микросхемы, см. главу 12). В элементе И-НЕ (слева) в нормальном состоянии транзистор открыт, и на выходе его логический 0, так что подача логической 1 на входы ничего не изменит. А подача логического 0 хотя бы на один из входов приведет к тому, что соответствующий диод откроется и будет шунтировать переход база- эмиттер, в результате чего транзистор закроется, и на выходе возникнет ло- гическая 1, что соответствует функции И-НЕ. Диод в эмиттере нужен для обеспечения надежного запирания транзистора. На схеме справа наоборот, транзистор в нормальном состоянии заперт, и на выходе логическая 1, а по-
На пороге цифрового века. Математическая логика и ее представление... 305 дача хотя бы одной логической 1 на входы откроет соответствующий диод и через него — транзистор, на выходе тогда установится логический 0, что со- ответствует функции ИЛИ-НЕ. "Подпирающий" диод здесь не требуется, зато требуются токоограничивающие резисторы на входах (их номиналы могут быть примерно на величину р больше, чем у резистора в коллекторе). Схему инверсии НЕ специально рисовать не имеет смысла, т. к. любой транзистор, включенный по схеме с общим эмиттером, как мы знаем из главы 6, есть ин- вертор (именно по этой причине у нас получились не чистые булевские функции, а их инверсии). В случае необходимости обычные И и ИЛИ можно соорудить из этих схем, добавив к ним еще по одному транзисторному каскаду. В этих схемах всплывает один вопрос, который для релейных схем был неак- туален: с какого именно уровня напряжение считать логическим 0, а с како- го— 1? В релейных схемах ноль— это полный разрыв цепи, а единица — полное ее замыкание. Здесь же не совсем так: на коллекторе открытого тран- зистора в левой схеме будет напряжение около 0,8—1 В, в то время как в правой — всего около 0,2—0,3 В. В то же время при закрытом транзисторе вроде бы напряжение логической единицы должно быть равно напряжению питания (токами утечки пренебрегаем), однако оно тут же упадет, если мы нагрузим выход на вход другой схемы типа ИЛИ-НЕ, т. к. там требуется обеспечить определенный ток базы. В подобных схемах обычно выходят из положения, задавая не порог изменения, который, как мы видим, непостоя- нен, а пределы для 0 и 1: ниже определенного значения считать выход нахо- дящимся в состоянии 0 (для схем на рис. 18.4 подойдет значение 1,2—1,5 В), а выше другого значения (например, 3,5 В при питании 5 В) состояние при- нимать за логическую 1, в промежутке же считать схему находящейся в не- рабочем режиме. При этом приходится ограничивать число устройств, под- ключаемых одновременно к выходу (или потребляемый по выходу ток). Для того чтобы расширить возможности таких схем, в серию одинаковых по типу применяемой схемотехники микросхем вводят специальные чипы буферов, т. е. умощнителей сигнала, которые никакой логической функции не осуще- ствляют, а просто усиливают сигнал по току (простейший такой буфер может быть построен, например, на комплементарной паре транзисторов по рис. 9.2). Иногда такие буферы совмещают с функцией инверсии. Ну, а устройство твердотельных логических микросхем, которые в настоящее время только единственно и используются для производства логических опе- раций, мы будем подробно разбирать в главе 20. Впрочем, "только единст- венно" нужно сделать одну существенную оговорку: многие другие компо- ненты, такие, как компараторы или транзисторы в ключевом режиме также фактически оперируют с логическими величинами, просто это не всегда явно подчеркивается. В конце концов, обычный светодиод в режиме индикации— типичное логическое устройство!
Глава 19 По основанию два. О двоичной и других системах счисления —Теперь давайте сочтем, сколько у нас всего. Портос? — Тридцать экю. — Арамис? — Десять пистолей. — У вас, д'Артаньян? — Двадцать пять. — Сколько это всего? — спросил Атос. — Четыреста семьдесят пять ливров! — сказал д'Артаньян, считавший, как Архимед. А. Дюма, "Три мушкетера" О том, что мы считаем в десятичной системе потому, что у нас десять паль- цев на двух руках, осведомлены, вероятно, все. Персонажи из мультфильмов студии "Пилот ТВ"— Хрюн Моржов и Степан Капуста— считают, навер- ное, в восьмеричной системе, т. к. у них пальцев по четыре. У древних ацте- ков и майя в ходу была двадцатеричная система (вероятно потому, что за- крытая обувь в ихнем климате была не в моде). Вместе с тем, история показывает, что привязка к анатомическим особенностям строения человече- ского тела совершенно необязательна. Со времен древних вавилонян у нас в быту сохранились остатки двенадцатеричной и шестидесятеричной систем, что выражается в количестве часов в сутках и минут в часах, или, скажем, в том, что столовые приборы традиционно считают дюжинами или полудю- жинами (а не десятками и пятерками). Так что само по себе основание систе- мы счисления не имеет значения — точнее, есть дело привычки и удобства. Однако такое положение справедливо лишь для ручного счета — для компь- ютеров выбор системы счисления имеет более важное значение. Попробуем ответить на вопрос — почему? Для этого нам придется сначала разобрать- ся — как мы считаем, что при этом происходит, что такое вообще система счисления и ее основание. Число— одна из самых удивительных абстрактных сущностей. Нет ника- ких сомнений, что число, количество предметов — есть вполне объективно
308 Глава 19 существующая характеристика, т. е., в отличие от, к примеру, зрительных образов, она совершенно независима от самого факта наличия разума у счи- тающего субъекта и даже от наличия самого субъекта— если бы (и когда) цивилизации вообще не существовало, количество планет в Солнечной сис- теме осталось бы тем же. И тем не менее, материального воплощения числа не имеют — "количество", представленное в виде комбинации пальцев рук и ног, зарубок на палочке (вспомните, как Робинзон Крузо вел свой календарь), разложенных на земле веточек, костяшек на счетах или — что для нас самое главное! — черточек или значков на бумаге, есть всего лишь физическая мо- дель некоего идеального абстрактного понятия "числа". Умение считать в уме, которое отличает цивилизованного человека от дикаря, состоит в том, что мы можем оторваться от такой материальной модели и оперировать непосредственно с абстракцией. Y VT W > Й? Ж 1 2 3 9 5 6 7 8 9 77 № № 10 28 30 Рис. 19.1. Вавилонские глиняные таблички с записью чисел. Вверху перевод некоторых из них в десятичную систему В связи с этим возникает вопрос, который мы уже задавали раньше в связи с существованием "теоретического" распределения вероятностей — раз числа существуют объективно, то где они существуют? Этот вопрос совсем не ду- рацкий, потому что число есть лишь один из подобных объектов, несомненно наличествующих в природе и, тем не менее, не имеющих материального воплощения — это и геометрические фигуры, и другие математические объ- екты, в том числе и булевская алгебра вместе с ее операндами (см. главу 18).
По основанию два. О двоичной и других системах счисления 309 Причем если физические идеализации ("абсолютно твердое" или "абсолютно упругое" тело) есть сущности, действительно выдуманные человеком с це- лью упрощения изучения свойств реальных тел, и вне человеческого знания не существуют, то с математическими абстракциями вовсе не так. Это по- служило основанием для того, чтобы великий греческий философ Платон, из учений которого в той или иной степени проистекает вся современная фило- софия, предположил существование некоего идеального мира ("платоновско- го мира идей"), где все эти абстракции и "живут". Любопытно, что на этом основании Платона справедливо зачисляют в идеалисты, однако сказанное — хороший пример того, что часто отождествляемые понятия "идеалистическо- го" и "божественного" вовсе не одно и то же. Позиционные и непозиционные системы счисления. Десятичная система Но вернемся к системам счисления. Из понятия числа как объективно суще- ствующей абстракции вытекает, что его материальное представление может быть произвольным, лишь бы оно подчинялось тем же правилам, что и сами числа. Проще всего считать палочками (и в детском саду нас учат именно такому счету) — в качестве которых могут выступать и пластмассовые стер- женьки, и пальцы, и черточки на бумаге. Один — одна палочка, два — две палочки, десять — десять палочек. А сто палочек? Уже посчитать затрудни- тельно, потому придумали сокращение записи: доходим до пяти палочек, ставим галочку, доходим до десяти — ставим крестик: 1 2 5 7 10 11 I II V VII X XI Узнаете? Конечно, это всем знакомая римская система, сохранившаяся до настоящих времен на циферблатах часов или в нумерации столетий. Она представляет собой пример непозиционной системы счисления — потому что значение определенного символа, обозначающего то или иное число, в ней не зависит от позиции относительно других символов — все значения в записи просто суммируются. То есть записи "XVIII" и "IIIXV" в принципе должны означать одно и то же. На самом деле, это не совсем так: в современной тра- диции принято в целях сокращения записи использовать и позицию: скажем, в записи "IV" факт, что палочка стоит перед галочкой, а не после нее, означа- ет придание ей отрицательного значения, т. е. в данном случае единица не прибавляется, а вычитается из пяти (то же самое относится и к записи девят- ки "IX"). Если вы человек наблюдательный, то могли заметить, что на часах четверку пишут почти всегда, как "ПП", а не как "IV" (см. рис. 19.2), что,
310 Глава 19 несомненно, более отвечает духу непозиционной системы. Однако при всех возможных отклонениях главным здесь остается факт, что в основе системы лежит операция суммирования. Большие числа в римской системе записывать трудно. Поэтому были приду- маны позиционные системы, к которым, в частности, принадлежала и упомя- нутая выше вавилонская шестидесятеричная (см. рис. 19.1). Позднее в Европе позиционную систему переоткрыл (видимо) Архимед, затем от греков она была воспринята индусами и арабами, и на рубеже I и II тысячелетий опять попала в Европу1 - с тех пор мы называем цифры арабскими, хотя по спра- ведливости их следовало бы назвать индийскими. Это была уже современная десятичная система в том виде, в котором мы ее используем по сей день, у арабов отличается только написание цифр. С тем фактом, что заимствована она именно у арабов, связано не всеми осознаваемое несоответствие порядка записи цифр в числе и привычным нам порядком следования текста: арабы, как известно, пишут справа налево. Поэтому значение цифры в зависимости от позиции ее в записи числа возрастает именно справа налево, что в нашем случае нелогично— приходится заранее обозревать число целиком и гото- вить ему место в тексте. Впрочем, в быту к этому все привыкли и неудобств не испытывают, а вот для программистов, с чем мы столкнемся в дальней- шем, это приводит к некоторым сложностям: по мере чтения из памяти ком- пьютера числа располагаются по старшинству адресов, т. е. в естественном для европейца порядке записи текста, слева направо. Между тем, сами числа (при побайтном представлении) являются двухзнаковыми, и при их записи соблюдается обычный арабский порядок — справа налево. Поэтому получа- ются довольно неудобные для восприятия конструкции: скажем, десятичное число 1234 в такой записи имело бы вид 3412. Рис. 19.2. Циферблат часов с римскими числами 1 Перевод соответствующего трактата арабского ученого аль. Хорезми на латынь относится к 1120 году (на самом деле его звали Мухамед аль Хорезми, т. е. "Мухамед из Хорезма"; между прочим, от его прозвища произошло слово "алгоритм").
По основанию два. О двоичной и других системах счисления 311 Еще один нюанс, дошедший до нас от древнегреческих времен, связан с тем, что греки и римляне не знали нуля. Именно поэтому первым годом нового века и тысячелетия считается 2001, а не 2000 год— год с двумя нулями относится к предыдущему столетию или тысячелетию. Однако именно его логично считать первым, вдумайтесь: ведь когда мы говорим "первые годы XX века", мы имеем в виду именно 1903 или 1905, а не 1913 или 1915 — т. е. число десятков в первом десятилетии каждого века равно нулю, число сотен в первом веке каждого тысячелетия тоже равно нулю, и так далее, так почему при переходе от тысяч, сотен и десятков к единицам порядок должен быть иной? Однако после последнего года до нашей эры (минус первого) идет сра- зу первый год нашей эры, а не нулевой. Эти нюансы, связанные с наличием нуля в современном ряду целых чисел, имеют важное значение для произ- водства компьютерных вычислений, как мы увидим в дальнейшем. Пока же следует всегда иметь в виду вот что: древние греки были совсем не такие ду- раки и ноль игнорировали не по скудоумию. Дело в том, что в последова- тельности объектов, нумерованных от нуля до, например, девяти, содержится не девять предметов, а десять! Чтобы избежать этой путаницы, в быту обыч- но нумерацию производят, начиная с 1, тогда последний номер будет одно- временно означать и количество. В электронике же и в программировании обычно принято нумеровать объекты, начиная с 0, и всегда следует помнить, что номер и количество различаются на единицу (так, в байте 256 возможных символов, но номер последнего равен 255). На всякий случай всегда следует уточнять, откуда ведется нумерация, иначе можно попасть в неприятную си- туацию (скажем, элементы строки в языке Pascal нумеруются с единицы, а в языке С — с нуля). Так что такое позиционная система, и почему она позволяет записывать сколь угодно большие числа? Дело в том, что позиционные системы основа- ны не на простом сложении входящих в них цифр, а на сложении их с веса- ми, которые присваиваются автоматически в зависимости от положения циф- ры в записи. Так, запись "3" и в римской системе и в арабской означает одно и то же, а вот запись "33" в римской системе означала бы шесть, а в арабской — совсем другое число, тридцать три. Строгое определение позиционной сис- темы является следующим: сначала выбирается некоторое число р, которое носит название основания системы счисления. Тогда любое число в такой системе может быть представлено следующим образом: ап-р + ап_х-р + ... + а\р + а0- р (1) В самой записи числа степени основания подразумеваются, а не пишутся (и для записи основания даже нет специального значка), т. е. запись будет представлять собой просто последовательность ап...а$ (еще раз обратим
312 Глава 19 внимание на то, что запись производится справа налево по старшинству — обычная математическая запись выглядела бы наоборот). Отдельные позиции в записи числа называются разрядами. Например, в десятичной системе (т. е. в системе с основанием 10) полное представление четырехразрядного числа 1024 таково: 1 • 103 + 0- 102 4- 2 - 101 + 4- 10°. Так как любое число в нулевой степени равно 1, то степень в младшем разря- де можно и не писать, но ради строгости мы ее будем воспроизводить, т. к. это позволяет нам лучше вникнуть в одно обстоятельство: степень стар- шего разряда всегда на единицу меньше, чем количество разрядов, т. к. нуме- рация степеней ведется с нуля. Ну, а как можно представить число в системе счисления с другим основани- ем? Для любой системы с основанием р нужно не меньше (и не больше) чем р различных цифр — т. е. значков для изображения чисел. Для десятичной сис- темы их десять — это и есть известные всем символы от 0 до 9. Выбор на- чертания этих значков совершенно произволен — так, у арабов и по сей день 1 обозначается, как и у нас, палочкой. А вот цифра 2 обозначается знаком, похожим на латинскую строчную "г", причем тройка тоже имеет похожее начертание, и я плохо себе представляю, как Усама бен Ладен их там отлича- ет — дело, впрочем, привычки, у нас тоже знаки "5" и "6" в некоторых случа- ях различить непросто, не говоря уж о сходстве между нулем "0" и буквой "О". В ручном написании текстов программ, а также в матричных компью- терных шрифтах, которые были в ходу до появления графического интер- фейса, для этого ноль даже изображали перечеркнутым, наподобие знака диаметра: "0"2. Чтобы древним вавилонянам, несчастным, не приходилось выучивать аж 60 разных начертаний знаков, они придумали логичную систе- му наподобие римской (еще раз обратите внимание на рис. 19.1)— дейст- вующую, впрочем, только в пределах первых шестидесяти чисел, а далее у них система становилась вполне позиционной. Самые употребительные системы в настоящее время, кроме десятичной, свя- заны с электроникой и поэтому имеют непосредственное значение для наше- го повествования. Это знаменитая двоичная система и менее известная ши- рокой публике, но также очень распространенная шестнадцатеричная. 2 Попробуйте различить записи "15Ом" и "150м", если пробел забыли поставить в нужном мес- те — в случае матричных шрифтов или ручной записи, да и в любом случае, если символов "0" и "О" рядом нет, это неразрешимая задача, если только из контекста не ясно, когда идет речь об омах, а когда — о метрах. К одной из программ, которой я пользуюсь, производитель дал такой серийный номер: "RO-1T9O265...". Так как в одном из случаев там ноль, а во втором буква "О", то каждый раз, когда я эту программу переустанавливаю, приходится гадать на ко- фейной гуще.
По основанию два. О двоичной и других системах счисления 313 Двоичная система В двоичной системе необходимы всего два различных знака для цифр: 0 и 1. Это и вызвало столь большое ее распространение в электронике: смоделиро- вать два состояния электронной схемы и затем их безошибочно различить неизмеримо проще, чем три, четыре и более, не говоря уж о десяти. Правда, существовали и десятичные компьютеры, а вот с троичным компьютером, который под названием "Сетунь" был построен Н. Брусенцовым в МГУ на рубеже 60-х годов прошлого века, связана отдельная история. При разработ- ке первых компьютеров перед конструкторами встал вопрос об экономично- сти систем счисления с различными основаниями. Под экономичностью сис- темы понимается тот запас чисел, который можно записать с помощью данного количества знаков. Чтобы записать 1000 чисел (от 0 до 999) в деся- тичной системе, нужно 30 знаков (по десять в каждом разряде), а в двоичной системе с помощью 30 знаков можно записать 215 = 32768 чисел, что гораздо больше 1000. То есть двоичная система явно экономичнее десятичной. В об- щем случае, если взять п знаков в системе с основанием р, то количество чи- сел, которые при этом можно записать, будет равно р^. Легко найти максимум такой функции, который будет равен иррациональному числу е = 2,718282... Но поскольку система с основанием е может существовать только в вообра- жении математиков, то самой экономичной считается система счисления с основанием 3, ближайшим к числу е. В компьютере, работающем по такой системе, число элементов, необходимых для представления числа опреде- ленной разрядности, минимально. Реализацию троичной системы в электро- нике можно представить себе как схему с такими, например, состояниями: напряжение отсутствует (0), напряжение положительно (1), напряжение от- рицательно (-1). И все же брусенцовская "Сетунь" осталась историческим курьезом — слишком велики сложности схемной реализации3 4. Что еще важ- нее, двоичная система прекрасно стыкуется как с представленными в преды- дущей главе логическими переменными, так и с тем фактом, что величина, могущая принимать два и только два состояния и получившая названия 6um\ есть естественная единица количества информации. Это было установлено в 1948 г. одновременно упоминавшимся уже Клодом Шенноном и Нобертом Винером, "отцом" кибернетики — меньше, чем один бит, информации не бывает. 3 Точнее, сам Николай Петрович Брусенцов как раз сложностей не испытывал, т. к. использо- вал для представления троичных цифр — тритов — трансформаторы, в которых наличие тока в обмотке в одном направлении принималось за 1, в другом — за -1, а отсутствие тока обозначало 0. Но реализовать на транзисторах такое представление значительно сложнее, чем двоичное. 4 Bit— по-английски "кусочек, частица чего-либо". Существует и слово bite, которое также можно перевести, как "кусок”, но с несколько другим оттенком — "кусок пищи", "укус". 11 Зак. 710
314 Глава 19 Разряды двоичных чисел (т. е. чисел, представленных в двоичной системе) также стали называть битами. Хочу также отметить, что представление двоичных цифр с помощью уровней напряжения, как это делается в электронных устройствах, если точно такая же модель числа, как раскладывание на земле палочек и проведение черточек на бумаге. В последних случаях мы оперируем с числами вручную, по прави- лам арифметики, а в электронных схемах это происходит в автоматическом режиме, без участия человека— вот и вся разница! Это очень важный мо- мент, который следует хорошо осмыслить, если вы действительно хотите вникнуть в суть работы цифровых электронных схем. Итак, запись числа в двоичной системе требует всего две цифры, начертание которых заимствовано из десятичной системы, и выглядит как 0 и 1. Число, например, 1101 тогда будет выглядеть как: 1 23 + 1 • 22 + 0 • 21 + 1 • 2° = 13. Чтобы отличить запись числа в различных системах, часто внизу пишут ос- нование системы: И012= 1310. Если система не указана, то имеется в виду обычно десятичная, но не все- гда — часто, когда из контекста понятно, что идет речь об электронных уст- ройствах, не указывают не только основание два, но и под словом "разряд- ность" имеют в виду количество именно двоичных, а не десятичных разрядов (таков, скажем, смысл термина "24-разрядный цвет"). Шестнадцатеричная система Шестнадцатеричная система имеет, как ясно из ее названия, основание шест- надцать. Для того чтобы получить шестнадцать различных знаков, изобре- тать ничего нового не стали, а просто использовали те же цифры от 0 до 9 для первых десяти и заглавные латинские буквы от А до F для один над цатого- шестнадцатого знаков. Таким образом, известное нам число 13ю выразится в шестнадцатеричной системе, как просто D^. Соответствие шестнадцате- ричных знаков десятичным числам следует выучить наизусть: А - 10, В - 11, С - 12, D - 13, Е - 14, F - 15. Значения больших чисел вычисляются по обыч- ной формуле, например: A2FCi6 = 10 • 163 + 2 • 162 + 15 • 161 + 12 • 16° = = 40960 + 512 + 240 + 12 = 4172410.
По основанию два. О двоичной и других системах счисления 315 Перевод из одной системы счисления в другую Как следует из вышеизложенного, перевод в десятичную систему любых форматов не представляет сложности и при надлежащей тренировке может осуществляться даже в уме. Для того чтобы быстро переводить в десятичную систему двоичные числа (и, как мы увидим, и шестнадцатеричные тоже), следует выучить наизусть таблицу степеней двойки до 16: 21 22 23 24 25 26 27 28 2 4 8 16 32 64 128 256 29 2ю 211 212 213 214 215 216 512 1024 2048 4096 8192 16384 32768 65536 На первое время достаточно запомнить верхний ряд, остальное выучится позже само. Сложнее переводить из десятичной системы, и для этого в учебниках ре- комендуется устрашающая процедура, основанная на делении столбиком (см. [27]). Я сейчас попробую вам показать способ, который позволяет пере- водить числа в двоичную систему несколько более простым методом, причем небольшие числа можно переводить даже в уме. В сущности, это то же самое деление, но без излишних сложностей и формальностей. Для этого нужно сначала запомнить следующее правило: число, равное какой-либо степени двойки, имеет 1 в разряде с номером, на единицу большим степени, осталь- ные все нули: 21 = 2)0 = 102 22 = 41о=10О2 23 = 8|0 = 10002 и т. д. Способ состоит в следующем: пусть мы имеем, например, десятичное число 59. Подбираем наибольшую степень двойки из таблицы выше, не превышающую этого числа: 32, что есть 5-я степень. Ставим 1 в шестом разряде: 100000. Вычитаем подобранную степень из исходного числа (59 - 32 = 27) и подби- раем для остатка также степень, его не превышающую: 16 (24). Ставим единицу в 5-м разряде: 110000. Повторяем процедуру вычитания-подбора: 27 - 16 = 11, степень равна 8 (23), ставим единицу в 4-м разряде: 111000. Еще раз: 11-8 = 3, степень равна 2 (21), ставим единицу во 2-м разряде: 111010.
316 Глава 19 Последнее вычитание дает 1, которую и ставим в младший разряд, оконча- тельно получив 59]о = 1110112- Если бы исходное число было четным, к при- меру 58, то в последнем вычитании мы бы получили 0, и число в двоичной системе также оканчивалось бы на ноль: 58ю = 11IOIO2. Кстати, полезно также обратить внимание, что числа, на единицу меныпйе степени двойки, имеют количество разрядов, равное степени, и все эти разря- ды содержат единицы: 2'-1 = 1,0=12 22-1=3|0=112 23 - 1 =7,о= 1112 и т. д. Подобно тому, как наибольшее трехразрядное число в десятичной системе равно 999, и чисел таких всего 10 = 1000 (от 000 до 999), в двоичной системе з тех же трехразрядных чисел будет 2=8 штук, в диапазоне от 000 до 111, т. е. от 0 до 7. То есть наибольшее двоичное число с данным количеством разрядов будет всегда содержать все единицы во всех разрядах. А вот из двоичной системы в шестнадцатеричную и обратно перевод очень прост: все дело в том, что 16 есть 2 и без всяких вычислений можно утвер- ждать, что одноразрядное шестнадцатеричное число будет иметь ровно 4 двоичных разряда. Поэтому перевод из двоичной системы в шестнадцате- ричную осуществляется так: двоичное число разбивается на т. н. тетрады, т. е. группы по четыре разряда, а затем каждая тетрада переводится отдельно, и результаты выписываются в том же порядке. Так как в тетраде всего 16 ва- риантов, то их опять же легко выучить наизусть: 0 1 2 3 4 5 6 7 0000 0001 0010 ООН 0100 0101 ОНО 0111 8 9 А (10) в (11) с (12) 0(13) Е(14) F(15) 1000 1001 1010 1011 1100 1101 1110 1111 Например, число 59ю, т. е. 0011 10112, будет равно ЗВЬ. Точно так же осуществляется и обратный перевод— каждое шестнадцате- ричное число просто записывается в виде тетрады. Так, число A2FC16 выразится как 1010 0010 1111 11002- Заметьте, что пробелы между тетрадами введены просто для удобства восприятия, подобно пробелам между тройками разря- дов (классами) в записи больших десятичных чисел, и никакой иной нагрузки
По основанию два. О двоичной и других системах счисления 317 не несут. При записи двоичных чисел в тексте программ, как ассемблерных, так и программ на языках высокого уровня, естественно, эти пробелы ставить запрещается. В качестве упражнения можете поразмыслить над вопросом, как переводить числа из двоичной в восьмеричную и четверичную системы и наоборот: если вы справитесь с этим самостоятельно, считайте, что вы все поняли насчет систем счисления, применяемых в электронике. Байты Точное происхождение слова байт (byte) мне неизвестно, скорее всего, это видоизмененная форма слова bite (см. сноску 4 в этой главе), которое стало писаться через "у", чтобы не путать с bit. Байт — это просто восьмиразрядное двоичное число. Соответственно, он имеет ровно два шестнадцатеричных разряда или две двоичных тетрады. Такой байт был введен фирмой IBM в конце 50-х годов прошлого века, до этого (а в СССР — и после этого, вплоть до 1969 г.) применялись байты с другим количеством разрядов — 5, 6 и 7. Почему именно 8 разрядов? Да просто потому, что так удобно: число крат- но степени двойки, т. е. легко масштабируется, скажем, шестнадцатиразряд- ное число — просто два байта, записанные подряд, подобно тетрадам в са- мом байте. В то же время оно относительно невелико и одновременно достаточно емко: имеет 256 значений, которых с лихвой хватает, к примеру, для представления всех печатных знаков европейских алфавитов (во всяком случае, до нашествия фирмы Microsoft с ее системой Windows хватало — что, конечно же, следует рассматривать как шутку). Поэтому в настоящее время байт — общепринятая единица измерения информации, т. к. основную единицу — бит на практике применять неудобно из-за ее мелковатости, чис- ла получаются слишком большими. Применяют и меньшие единицы (кроме бита, это полубайт или просто одно шестнадцатеричное число), и большие — двухбайтовые (65 536 значений), четырехбайтовые (32 двоичных разряда или 4 294 967 296 значений) и даже восьмибайтовые числа. Все они часто назы- ваются словами — "word". Однако для практических нужд большее распро- странение получила запись больших количеств информации по системе, сли- занной с десятичной: это килобайт (1024 или 210 байта), мегабайт (1024 или 210 килобайта) и гигабайт (1024 или 210 мегабайта). Близостью значения 1024 к десятичной тысяче широко пользуются производители жестких дисков — так, емкость диска в 10 Гбайт может быть вовсе не 1024 1024 килобайта, как положено, а 1000 • 1000, что почти на пять процентов меньше. Пустячок — а ведь приятно обмануть покупателя, который потом будет с недоумением раздумывать, почему ему в настройках компьютера показывается вовсе не 10,
318 Глава 19 а 9,54 Гбайта, и куда исчезли "родные" 460 мегов? Однако имейте в виду, что подобные фокусы все же выкидываются только в отношении наивных поку- пателей, а в серьезной технической документации кило- и мегабайты обычно означают то, что положено. Впрочем, есть одна область, где традиционно употребляются именно биты (а также мегабиты и гигабиты), а не байты — это характеристики последова- тельных цифровых линий передач, к примеру, всем знакомая характеристика модемов в 56 К означает именно 56 кбит в секунду. Это связано с тем, что передача именно восьмиразрядными пакетами битов там применятся ред- ко — скажем, стандарт RS232, который мы будем еще разбирать, содержит восемь значащих разрядов (т. е. один байт), но помимо этого передается как минимум еще два бита— столовый и стартовый, итого 10. В Интернете пакеты и вовсе могут иметь переменную длину, поэтому байтами в сетях ин- формацию считают только, когда речь идет об отправленной или принятой информации, но не о той, которая реально передается — последняя может включать в себя достаточно много всяких служебных битов и целых байтов. Запись чисел в различных форматах Шестнадцатеричный формат записи часто еще обозначают как HEX (hexa- decimal), двоичный — как BIN (binary), а десятичный — как DEC (decimal). Кроме этого, в ходу еще т. н. двоично-десятичный формат BCD (binary-coded decimal), о котором далее. Так как с помощью матричных шрифтов на ком- пьютерах с текстовыми дисплеями воспроизводить индексы было невозмож- но, то вместо того, чтобы обозначать основания системы цифрой справа вни- зу, их стали обозначать буквами: "В" (или "Ь") означает двоичную систему, "Н" (или "h") — шестнадцатеричную, "D" (или "d") — десятичную. Отсутст- вие буквы также означает десятичную систему: 13= 13d = 00001101b = 0Dh. Такая запись принята, например, в языке ассемблера для процессоров Intel. Популярность языка С внесла в это дело некоторый разнобой: там десятичная система обозначается буквой "d" (или никак), двоичная буквой "Ь", а вот ше- стнадцатеричная буквой "х", причем запись во всех случаях предваряется ну- лем (чтобы не путать запись числа с идентификаторами переменных, кото- рые всегда начинаются с буквы): 13 = 0d 13 = ObOOOOl 101 = 0x0D. Такая запись также принята в ассемблере для микроконтроллеров AVR, кото- рыми мы будем пользоваться (запись типа ODh ассемблер AVR не понимает, зато понимает представление НЕХ-формата, принятое в языке Pascal: $0D).
По основанию два. О двоичной и других системах счисления 319 Обратите внимание, что запись в НЕХ-формате обычно ведется в двухраз- рядном виде, даже если число имеет всего один значащий разряд, как в на- шем случае, то в старшем пишется 0, то же самое относится и к двоичной записи, которая дополняется нулями до восьми разрядов. А вот для десятич- ного представления такой записи следует остерегаться5. Добавление незна- чащих нулей связано с тем обстоятельством, что запись и чтение чисел обычно ведется побайтно, а в байте именно два шестнадцатеричных разряда или восемь двоичных (см. также главу 21). Если число имеет разрядность больше байта, т. е. представляет собой слово, то для обозначения этого факта слева дописываются еще нули, так, шестнадцатиразрядное двоичное число 13 правильно записать как 0000 0000 0000 1101b, а в НЕХ-формате оно будет иметь 4 разряда, т. е. запишется как 000Dh. Поглядев на эти две записи, вы можете понять, для чего придумали использовать шестнадцатеричную сис- тему — запись получается намного компактней. Несколько слов о формате BCD. Электронные устройства "заточены" под использование двоичных и родственных им систем счисления, потому что основой являются два состояния, т. е. двоичная цифра. Так что, соединив несколько устройств вместе с целью оперирования с многоразрядными чис- лами, мы всегда будем получать именно двоичное число. При этом четыре двоичных разряда могут представлять шестнадцать различных состояний, и использовать их для представления десятичных чисел было бы попросту неэкономично: часть возможного диапазона осталась бы неиспользованной. Подсчитайте сами: для представления числа с шестью десятичными разряда- ми в десятичном виде нужно 6 • 4 = 24 двоичных разряда, а для представле- ния того же числа в двоичном виде с избытком хватит 20 разрядов (2 = 1048576). А меньше, чем четыре двоичных разряда, для представления одного десятичного числа не хватит (2 = 8). К тому же с чисто двоичными числами, как мы увидим в дальнейшем, оперировать значительно проще. И все же применять двоично-десятичный формат приходится всегда, когда речь идет о выводе чисел, например, на цифровой дисплей — двоичные или шестнадцатеричные числа человеку воспринимать, естественно, тяжело: представьте, что мы показываем температуру в виде 1E,D градуса по Цель- сию! Многие ли сразу подсчитают, что это означает (примерно) 30,81 граду- са? (В качестве упражнения попробуйте сообразить, почему именно так.) 5 Чтобы еще больше запутать пользователя, разработчики AVR-ассемблера приняли для пред- ставления редко употребляемых восьмеричных чисел запись просто с ведущим нулем, без букв: например, 77 означает просто десятичное 77, а вот 077 будет означать 7 • 8 + 7 = 63 ю- Нет, чтобы уж сделать и здесь, как в С, где восьмеричные числа записываются по аналогии со всем остальными, как ОоХХ.
320 Глава 19 Поэтому приходится преобразовывать шестнадцатеричные числа в десятич- ные и хранить их в таких же байтовых регистрах или ячейках памяти. Это можно делать двумя путями: в виде упакованного и неупакованного BCD. Неупакованный формат попросту означает, что мы тратим на каждую деся- тичную цифру не тетраду, как необходимо, а целый байт. Зато при этом не возникает разночтений: 05h = 05ю и никаких проблем. Однако ясно, что это крайне неэкономично — байтов требуется в два раза больше, а старший по- лубайт при этом все равно всегда ноль. Потому BCD-числа всегда упаковы- вают, занимая и старший разряд второй десятичной цифрой: скажем, число 59 при этом и запишется как просто 59. Однако это не 59h! 59 в шестнадцате- ричной форме есть 3Bh, как мы установили ранее, а наше 59 процессор прочтет как 5 • 16 + 9 = 89, что вообще ни в какие ворота не лезет! Поэтому перед проведением операций с упакованными BCD-числами их обязательно распа- ковывают, перемещая старший разряд в отдельный байт и заменяя в обоих байтах старшие полубайты нулями. Иногда для проведения операций с BCD в микропроцессоре или микроконтроллере предусмотрены специальные коман- ды, так что отдельно заниматься упаковкой-распаковкой не требуется. В ка- честве примера хранения чисел в BCD-формате можно привести значения часов, минут и секунд в энергонезависимых часах компьютера. Двоичная арифметика Правила двоичной арифметики значительно проще, чем десятичной, и вклю- чают две таблицы — сложения и умножения — несколько похожие на те же таблицы для логических переменных, однако немного отличающиеся от них: 0 + 0 = 0 0-0 = 0 0+1 = 1 0-1=0 1+0=1 1 -0 = 0 1 + 1 = 10 1-1 = 1 Как мы видим, правила обычного умножения одноразрядных двоичных ве- личин совпадают с таковыми для логического умножения. Однако правила сложения отличаются, т. к. в случае сложения двух единиц результат равен 2, и у нас появляется перенос в следующий разряд. Так как умножение много- разрядных чисел сводится к сложению отдельных произведений, то там при- дется этот перенос учитывать (как это делается на практике, мы увидим в следующей главе). Возможно, вы удивитесь, но любая электронная схема (и микропроцессор не исключение) умеет только складывать. Свести умножение к сложению легко. А как свести к сложению вычитание и деление? Для этого придется познако-
По основанию два. О двоичной и других системах счисления 321 миться с тем, как в электронике представляют отрицательные числа. А заод- но узнаем и насчет дробных, точнее — действительных чисел: ведь до сих пор все наши рассуждения относились только к целым. Отрицательные числа Самый простой метод представления отрицательных чисел — отвести один бит (логичнее всего — старший) для хранения знака. По причинам, которые вы поймете далее, значение 1 в этом бите означает знак "минус", а 0 — знак "плюс". Что произойдет с нашим числом при таком представлении? В области положительных чисел не произойдет ничего, кроме того, что их диапазон сократится вдвое: например, для числа в байтовом представлении вместо диапазона 0...255 мы получим всего лишь 0...127 (0000 0000— 0111 1111). А отрицательные числа будут иметь тот же диапазон, только старший бит у них будет равен 1. Все просто, не правда ли? Нет, неправда. Такое представление отрицательных чисел совершенно не со- ответствует обычной числовой оси, на которой влево от нуля идет минус единица, а затем числа по абсолютной величине увеличиваются. Здесь же мы получаем, во-первых, два разных нуля ("обычный" 0000 0000 и "отрицатель- ный" 1000 0000), во-вторых, оси отрицательных и положительных чисел никак не стыкуются, и производство арифметических операций превратится в головоломку. Поэтому поступим так: договоримся, что -1 соответствует число 255 (1111 1111), -2 — число 254 (1111 1110) и т. д., вниз до 128 (1000 0000), которое будет соответствовать -128 (и общий диапазон всех чисел получится от -128 до 127). Очевидно, что если вы при таком представлении хотите по- лучить отрицательное число в обычном виде, то надо из значения числа (на- пример, 240) вычесть максимальное значение диапазона (255) плюс 1 (256). Если отбросить знак, то результат такого вычитания (16 в данном случае) называется еще дополнением до 2 для исходного числа (а само исходное число 240 — дополнением до 2 для 16). Название "дополнение до 2" исполь- зуется независимо от разрядности числа, потому что верхней границей всегда служит степень двойки (в десятичной системе аналогичная операция называ- ется "дополнение до 10"). Что произойдет в такой системе, если вычесть, например, 2 из 1? Запишем это действие в двоичной системе обычным столбиком: 00000001 -00000010 В первом разряде результата мы без проблем получаем 1, а уже для второго нам придется занимать 1 из старших, которые сплошь нули, поэтому пред-
322 Глава 19 ставим себе, что у нас будто бы есть девятый разряд, равный 1, из которого заем в конечном итоге и происходит: (1)00000001 - 00000010 11111111 На самом деле девятиразрядное число 1 0000 0000 есть не что иное, как 256, т. е. то же самое максимальное значение диапазона + 1, и мы здесь выполни- ли две операции: прибавили к вычитаемому эти самые 256, а затем выполни- ли вычитание, но уже в положительной области для всех участвующих чисел. А что результат? Он будет равен 255, т. е. тому самому числу, которое, как мы договорились, представляет собой -1. То есть вычитание в такой системе происходит автоматически правильно, независимо от знака участвующих чи- сел. Если хотите, можете потренироваться и проверить: скажем, что будет, если мы вычтем 240 из 100? Дополняем 100 значением 256 и получаем: 356-240=116. Но ведь это равносильно тому, что произвести действие 100 - (-16), т. е. 100 + 16, как и должно быть, потому что 240 в нашем пред- ставлении именно -16 и есть. Именно таким образом вычитание сводится к сложению: мы вычисляем дополнение до 2 для вычитаемого (с поло- жительным знаком, естественно), а затем складываем уменьшаемое с этим дополнением. Посмотрим, как это выглядит для примера выше: 1 -2= 1 + (256 - 2) = 1 + 254 = 255. Все правильно! Немного смущает только эта самая операция нахождения дополнения до 2, точнее, в данном случае до 256 — как ее осуществить на практике, если схе- ма всего имеет 8 разрядов? В дальнейшем мы увидим, что иногда ее осуще- ствлять вовсе не надо: некоторые электронные схемы ведут себя так, что при осуществлении вычитания все сказанное осуществляется автоматически. Особенно наглядно это выглядит для двоичных реверсивных счетчиков, ко- торые мы будем разбирать в главе 24. В точности так же ведут себя и соот- ветствующие команды в микропроцессорах: так, если вы захотите произвести операцию вычитания числа 2 из содержимого восьмибитового регистра, со- держащего число 1, то в регистре окажется число 255 (все единицы). А как интерпретировать результат — это уже ваши трудности. Впрочем, в микро- процессорах есть обычно и команда, которая возвращает дополнение до 2, в большинстве ассемблеров она называется NEG, от слова "негативный", потому что меняет знак, если мы договариваемся считать числа "со знаком". А как ее можно было бы осуществить "вручную", не обращаясь в действи- тельности к 9-му разряду? Вернемся к примерам выше и выпишем столбиком исходные числа, результаты операции нахождения дополнения до 2, и ре- зультат еще одной манипуляции, которая представляет собой вычитание
По основанию два. О двоичной и других системах счисления 323 единицы из дополнения до 2, что то же самое, просто вычитания исходного числа из наивысшего числа диапазона (255): 2 00000010 256 - 2 = 254 11111110 255 - 2 = 253 11111101 240 11110000 256 - 240 = 16 00010000 255-240= 15 00001111 Если мы сравним двоичные представления в верхней и нижней строках в ка- ждом случае, то увидим, что они могут быть получены друг из друга путем инверсии каждого из битов. Эта операция называется нахождением "допол- нения до 1" (потому что число, из которого вычитается, содержит все 1 во всех разрядах; для десятичной системы аналогичная операция называется "дополнение до 9"). Для нахождения дополнения до 1 девятый разряд не тре- буется, да и схему можно построить так, чтобы никаких вычитаний не произ- водить, а просто переворачивать биты (так и делается, однако в микрокон- троллерах для инверсии битов вызывается именно команда нахождения дополнения до 1, определяемая как операция вычитания из FFh, а что уж там происходит на самом деле — тайна, покрытая мраком). То есть для полного сведения вычитания к сложению надо проделать три операции: 1. Найти дополнение до 1 для вычитаемого (инвертировать его биты). 2. Прибавить к результату 1, чтобы найти дополнение до 2. 3. Сложить уменьшаемое и дополнение до 2 для вычитаемого. Заметим, что все сложности с этими многочисленными дополнениями связа- ны с наличием нуля в ряду натуральных чисел — если бы его не было, до- полнение было бы всего одно и операция вычитания упростилась. Так может, греки все же были в чем-то правы? В заключение обратим внимание на еще одно замечательное свойство двоич- ных чисел, которое часто позволяет значительно облегчить операции умно- жения и деления: а именно, умножению на 2 соответствует операция сдвига всех разрядов числа на один разряд влево, а операции деления на 2 — вправо. Крайние разряды (старший при умножении и младший при делении) в общем случае при этом должны теряться, но в микропроцессорах есть специальный регистр, в один из битов которого (бит переноса) эти "потерянные" разряды помещаются. Противоположные крайние разряды (младший при умножении и старший при делении) в общем случае замещаются нулями, но могут и за- мещаться значением бита переноса, что позволяет без лишних проблем делить и умножать числа с разрядностью больше одного байта. Как можно догадаться, умножению и делению на более высокие степени двойки будет
324 Глава 19 соответствовать операция сдвига в нужную сторону на иное (равное степени) число разрядов. Я предоставляю читателю самому сообразить, почему это про- исходит. Излишне говорить, что операцию сдвига разрядов в электронных схе- мах производить неизмеримо проще, чем операции деления и умножения. Дробные числа Сразу заметим, что в некомпьютерной электронике дробными числами ста- раются не пользоваться. При необходимости их переводят в целые, умножая на соответствующую степень десяти (а чаще — даже на степень 2, что много проще, как мы видели ранее), при этом все остальные участвующие в расче- тах величины также масштабируются в нужное число раз. Затем при выводе, к примеру, на цифровой дисплей запятая просто устанавливается в нужном мес- те: для цифровой схемы не существует значения температуры, равного 30,81°, а есть число 3081 в BCD-формате, запятая же устанавливается отдельно и чаще всего имеет фиксированное положение (хотя и не всегда, конечно). Примерно те же действия мы производили, когда конструировали цифровой термометр в главе 16— на самом деле он показывает целое число милли- вольт в нужном масштабе. И все же — как мы можем при необходимости представить дробные числа, если двоичные разряды ничего о таковых не знают и могут воспроизводить только целые числа в соответствии с формулой (1)? Мы не будем рассматри- вать расширение этой формулы, включающее в себя представление в пози- ционной системе не только целых, но и всех действительных чисел "с пла- вающей запятой", т. к. в электронике такой вариант не используется (надеюсь, вы разобрались с примером насчет 1E,D градусов и уже сами сооб- разили, как это можно сделать при необходимости). В электронике и компь- ютерной технике используют другой способ представления действительных чисел: с помощью мантиссы и порядка в так называемом нормализованном виде. При этом место запятой фиксируется: 0,0125 = 0,125- 10-1 1254,81 =0,125481 • 104 Разумеется, в электронных схемах все это лучше делать в двоичной форме, записывая порядок как степень двух (скажем, операция выравнивания поряд- ков при сложении таких чисел сведется просто к сдвигу мантиссы, как мы видели выше). Легко заметить, что и саму запятую, и основание степени тут можно опус- тить, записывая в память лишь мантиссу и порядок— конечно, если всегда помнить, что мы имеем в виду. Например, можно сделать так: отвести в памяти
По основанию два. О двоичной и других системах счисления 325 три байта, из которых первые два хранят цифры мантиссы, а третий отведен под порядок. Легко также подсчитать, каков будет диапазон чисел, могущих быть представленными таким образом: число, которое представляет мантис- су, будет укладываться в диапазон от -32 768 до 32 767, т. е. иметь от 4 до 5 значащих десятичных цифр. Последнюю величину надо пояснить. Число, к примеру, 51 324 мы записать с помощью двух байт со знаком не сможем: нам придется записать его в виде 5 132 • 101, т. е. младший разряд "обрежет- ся" (степень десятки тут приведена лишь для иллюстрации, напомним, что на самом деле там будет степень двойки). То есть тут будет всего четыре знача- щих цифры, а вот число 21 324 обрезать не придется, и в нем будет уже 5 цифр. Гораздо лучше дело обстоит с порядком: он может принимать значения от -128 до 127, что равносильно десятичному порядку примерно от 10~39 до 1038. Ка- залось бы, четырех-пяти знаков мантиссы вполне достаточно для большинст- ва практических применений, однако все дело в том, что при выполнении арифметических действий будут накапливаться ошибки и реальная разряд- ность результатов вычислений значительно понизится. Поэтому мантиссу действительных чисел в компьютерной технике представляют обычно не ме- нее чем тремя байтами, а общее представление действительного числа в са- мом экономном виде будет занимать 4 байта6. Если учесть, что для повыше- ния точности вычислений (особенно при делении) приходится в процессе работы увеличивать разрядность чисел, как минимум, вдвое и при этом еще заниматься операциями типа выравнивания порядков при сложении чисел, то вы поймете, во-первых, почему от действий с действительными числами в обычной некомпьютерной электронике стараются по мере возможности отказаться, а во-вторых, почему именно скорость работы при операциях с "плавающей запятой" является одним из самых важных показателей быст- родействия компьютерных микропроцессоров. Более подробно мы на этом вопросе останавливаться не будем. 6 Что соответствует разрядности регистров в большинстве современных компьютерных 32-разрядных микропроцессоров.
Глава 20 Математическая электроника или игра в квадратики. Устройство логических микросхем и двоичные операции Трактирщик отворил дверь большой комна- ты, где совсем недавно вместо прежней дрянной печурки поставили прекрасный большой камин. А. Дюма, "Три мушкетера" Разновидностей логических (или цифровых — будем считать, что это сино- нимы) микросхем не так уж и много, и подавляющее большинство из них относится к одной из двух разновидностей — ТТЛ (TTL, Транзисторно- транзисторная логика) и КМОП (CMOS, Комплементарные [транзисторы ти- па] металл-окисел-полупроводник). Сразу следует усвоить, что различие ме- жду ними чисто технологическое, функционально одноименные элементы из этих серий делают одно и то же и на схемах обозначаются одинаково. С точ- ки же зрения электрических параметров они довольно сильно различаются, хотя и не настолько, чтобы можно было бы заявить об их полной несовмес- тимости. Транзисторно-транзисторная логика возникла раньше и явилась на- следницей диодно-транзисторной логики (ДТЛ), примеры которой мы при- водили в главе 18, и резисторно-транзисторной логики (РТЛ). Основной родовой признак ТТЛ— использование биполярных транзисторов, причем структуры только п-р-п. КМОП же, как следует из ее названия, основана на полевых транзисторах с изолированным затвором структуры МОП, причем комплементарных, т. е. обоих полярностей — и с п- и с p-каналом. Есть и другие логические серии, отличающиеся по технологии от этих двух ос- новных, но они либо используются исключительно в составе больших инте- гральных схем (БИС), таких, как микропроцессоры, либо имеют достаточно узкий и специфический диапазон применения, поэтому мы рассматривать их не будем. Заметим, что и ТТЛ мы тоже рассмотрим исключительно ввиду их практической важности и необходимости в связи с этим знать присущие им специфические особенности, а на практике в наших устройствах будем поль- зоваться только КМОП-микросхемами. Почему — вы поймете чуть позже.
328 Гпава 20 Сравнение основных характеристик ТТЛ и КМОП Схемотехника базовых логических элементов ТТЛ и КМОП приведена на рис. 20.1. На западе их еще называют вентилями — чем можно оправдать такое название, мы увидим в конце главы. Входной многоэмиттерный тран- зистор ТТЛ мы уже рисовали в главе 12 — он может иметь сколько угодно (на практике — до 8-ми) эмиттеров, и элемент тогда будет иметь соответст- вующее число входов. Если любой из эмиттеров VT1 замкнуть на "землю", то транзистор откроется, и фазорасщепляющий транзистор VT2 (с его рабо- той мы знакомы по рис. 6.7) закроется. Соответственно, выходной транзистор VT3 откроется, a VT4— закроется, на выходе будет высокий логический уровень или уровень 1. Если же все эмиттеры присоединены к высокому по- тенциалу (или просто "висят в воздухе"), то ситуация будет обратная — VT2 откроется током через переход база-коллектор VT1 (такое включение назы- вается "инверсным") и на выходе установится 0 за счет открытого транзисто- ра VT4. Таким образом такой ТТЛ-элемент будет осуществлять функцию И-НЕ (лог. 0 на выходе только при единицах на всех входах). Выходной кас- кад такого элемента представляет собой некое подобие комплементарного ("пушпульного") каскада класса В, хорошо знакомого нам по аналоговым усилителям (см. рис. 9.2 и приложение 3), однако воспроизведение р-п-р- транзисторов оказалось для ТТЛ-технологии слишком сложным, поэтому такой каскад носит еще название псевдокомплементарного — верхний тран- зистор VT3 работает в режиме эмиттерного повторителя, а нижний — в схе- ме с общим эмиттером*. Кстати, заметим, что из-за недоступности р-п-р- транзисторов воспроизведение схемы ИЛИ для ТТЛ-технологии оказалось крепким орешком, и ее схемотехника довольно существенно отличается от показанной на рис. 20.1 базовой схемы элемента И-НЕ, хотя по входам и вы- ходам они, естественно, ведут себя одинаково. Как видно из схемы, ТТЛ-элемент существенно несимметричен. Во-первых, по входу напряжение логического 0 должно быть достаточно близко к "зем- ле", при напряжении на эмиттере около 1,5 В входной транзистор уже запи- рается. Причем при подаче 0 нужно обеспечить отвод довольно значительного 1 На заре транзисторной техники такие псевдокомплементарные каскады использовались — о ужас! — для усиления звука. Это дало основания для многочисленных попыток приспосо- бить логические элементы, которые, в сущности, представляют собой усилитель с довольно большим (несколько десятков) коэффициентом усиления для усиления аналоговых сигналов. Излишне говорить, что результаты довольно плачевные даже с КМОП-каскадом, который по- строен куда более симметрично, но все же в некоторых случаях логические элементы в анало- говом режиме используются, на чем мы немного остановимся в главе 21.
Математическая электроника или игра в квадратики. Устройство логических... 329 ТТЛ "И-НЕ" Рис. 20.1. Схемы базовых элементов ТТЛ и КМОП +1/ПИТ Вых КМОП "НЕ" тока база-эмиттер (около 1,6 мА для каскада на рис. 20.1, причем, что лю- бопытно, количество входов, на которые подан логический 0, почти не влияет на суммарную величину этого тока), в то время как логическую еди- ницу можно не подавать вовсе (практически, однако, подавать следует — по правилам незадействованные входы ТТЛ должны быть присоединены к пи- танию через резисторы 1кОм, хотя входного тока при логической 1 на входе у ТТЛ практически и нет). Еще хуже дела обстоят на выходе: если напря- жение логического 0 обеспечивается открытым транзистором и действи- тельно довольно близко к нулю (даже при нагрузке в виде десятка входов других таких же элементов оно не превышает 0,5 В, в нормах же на сигнал ТТЛ оговорена величина не более 0,8 В), то напряжение логической 1 до- вольно далеко отстоит от питания и, в лучшем случае (без нагрузки), со- ставляет от 3,5 до 4 В, практически же в нормах оговаривается величина 2,4 В. Такое балансирование десятыми вольта (напряжение нуля 0,8 В, напряже- ние порога переключения от 1,2 до 2 В, напряжение единицы 2,4 В) приво- дит к тому, что все ТТЛ-микросхемы могут работать в довольно узком диа- пазоне напряжений питания— практически от 4,5 до 5,5 В, или даже от 4,75 до 5,25, т. е. 5 В ±5%. Максимально допустимое напряжение питания со- ставляет для разных ТТЛ-серий от 6 до 7 В, при превышении его они обычно горят ясным пламенем. Низкий и несимметричный относительно питания порог срабатывания элемента приводит и к низкой помехоустойчивости. Другим крупным (и даже более серьезным, чем остальные) недостатком ТТЛ является высокое потребление (до 2,5 мА на один такой элемент, так что приходится только удивляться, почему микросхемы ТТЛ, содержащие много базовых элементов, скажем, счетчики, не требуют охлаждающего радиа- тора). Сочетание низкой помехоустойчивости с высоким потреблением — смесь
330 Гпава 20 довольно гремучая, и при разводке плат с ТТЛ-микросхемами приходит- ся ставить фактически по развязывающему конденсатору на каждый кор- пус, как мы говорили в главе 10. Все перечисленное в совокупности давно бы заставило отказаться от технологии ТТЛ вообще, однако у них есть одно неоспоримое преимущество: высокое быстродействие, которое для базового элемента в виде, показанном на рис. 20.1, может достигать десят- ков МГц. В дальнейшем развитие ТТЛ шло по линии уменьшения потребления и улучшения электрических характеристик, в основном, за счет использования т. н. переходов Шоттки, на которых падение напряжения может составлять 0,2—0,3 В, а не обычные 0,6—0,7 В (технология ТТЛШ, обозначается буквой S в наименовании серии). Базовая технология, которая составляла основу ши- роко распространенной в 70-х годах серии 74хх (отечественные серии 155 и 133), сейчас практически не используется. ТТЛ-микросхемы в настоящее время можно выбирать из вариантов, представленных малопотребляющими сериями типа 74LSxx или быстродействующими типа 74Fxx, причем потреб- ление последних практически равно потреблению старых базовых серий при более высоком (до 100 МГц) быстродействии, а для первых все наоборот — быстродействие сохранено на уровне базового (10—30 МГц), зато потребле- ние питания снижено раза в три. Нормативные уровни логического сигнала ТТЛ остались прежними (0,8—2,4 В), но практически всегда можно считать, что выходной сигнал логической 1 составляет при ненагруженном выходе от 3,5 В и выше. КМОП-элементы намного ближе к представлению о том, каким должен быть идеальный логический элемент. Во-первых, как можно видеть из рис. 20.1, они практически симметричны, как по входу, так и по выходу. Открытый по- левой транзистор на выходе (либо p-типа для логической 1, либо n-типа для логического 0) фактически представляет собой, как мы знаем, сопротивление, которое для обычных КМОП-элементов может составлять от 500 до 1000 Ом (в зависимости от величины напряжения питания; у умощненных элементов эта величина составляет от 100 до 300 Ом), причем для дополнительной симметрии на выходе обычно ставят последовательно два инвертора, по- добных показанному на рис. 20.1 справа (жалко, что ли, транзисторов?). По- этому симметрию не нарушает даже то, что в нижнем плече для схемы И-НЕ стоят два таких транзистора последовательно (для схемы ИЛИ они будут стоять в верхнем плече— она полностью симметрична схеме И, что тоже плюс для технологии КМОП в отличие от ТТЛ). Обратите внимание, что вы- ходной каскад инвертора построен не по схеме "пушпульного" каскада, т. е. это не истоковые повторители напряжения, а транзисторы в схеме с общим истоком, соединенные стоками, что позволяет получить дополнительный
Математическая электроника или игра в квадратики. Устройство логических... 331 коэффициент усиления по напряжению. На практике особенности построе- ния элемента приводит к тому, что в КМОП-микросхемах: □ напряжение логической 1 практически равно напряжению питания, а на- пряжение логического 0 практически равно потенциалу "земли" (при нена- груженных выходах); □ порог переключения практически равен половине напряжения питания; □ входы практически не потребляют тока, т. к. представляют собой изоли- рованные затворы МОП-транзисторов; □ в статическом режиме весь элемент также не потребляет тока от источни- ка питания. Представляете: схема любой степени сложности, построенная с помощью КМОП-элементов, в "застывшем" состоянии или при малых рабочих часто- тах, не превышающих десятка-другого килогерц, практически не потребля- ет энергии! Отсюда ясно, как стали возможными такие фокусы, как наруч- ные часы, которые способны идти от малюсенькой батарейки годами (лично у меня часы Casio идут от одного элемента РЦ вот уже шестой год) или sleep-режим микроконтроллеров, в котором они потребляют от 1 до 50 мкА. Другое следствие вышеперечисленных особенностей — исключи- тельная помехоустойчивость, достигающая половины напряжения питания. Но это еще не все преимущества — обычные КМОП-микросхемы, подобно многим операционным усилителям, могут работать в диапазоне напряже- ний питания от 3 до 15 В! Единственное, что при этом происходит— при снижении питания довольно резко — в разы — падает быстродействие. Между прочим, выходные транзисторы КМОП, как и любые другие поле- вые транзисторы, при перегрузке, например, в режиме короткого замыка- ния, работают как источники тока — при напряжении питания 15 В этот ток составит около 30 мА, при 5 В — около 5 мА. Причем это штатный долгосрочный режим работы таких элементов, единственное, что при этом надо проверить — не превышается ли предельно допустимое значение рас- сеиваемой мощности для корпуса (0,5—0,7 Вт), т. е., возможно, придется ограничить число выходов, одновременно подключенных к низкоомной нагрузке. Естественно, о логических уровнях тут уже речи не идет, только о втекающем или вытекающем токе. И тут мы плавно переходим к основному недостатку КМОП-технологии — низкому (в сравнении с ТТЛ) быстродействию. Это обусловлено тем, что изолированный затвор МОП-транзистора представляет собой конденсатор довольно большой емкости — в базовом элементе до 10—15 пФ. В совокуп- ности с выходным резистивным сопротивлением предыдущей схемы такой конденсатор образует фильтр нижних частот. Обычно рассматривают не про-
332 Гпава 20 сто частотные свойства, а время задержки распространения сигнала на один логический элемент. Задержка возникает из-за того, что фронт сигнала не строго вертикальный, а наклонный и напряжение на выходе еще только начнет нарастать (или снижаться) тогда, когда напряжение на входе дос- тигнет уже значительной величины (в идеале — половины напряжения пи- тания). Время задержки может достигать у стандартного КМОП величины 250 нс (сравните— у базовой серии ТТЛ всего 10 нс), что соответствует одному периоду частоты 4 МГц. На практике при напряжении питания 5 В быстродействие стандартного КМОП не превышает 1—3 МГц— попро- буйте соорудить на логических элементах генератор прямоугольных сигна- лов по любой из схем, которые будут разобраны в главе 23, и вы увидите, что уже при частоте 1 МГц форма сигнала будет скорее напоминать сину- соиду, чем прямоугольник. Другим следствием наличия высокой входной емкости является то, что при переключении возникает импульс тока перезарядки этой емкости, т. е. чем выше рабочая частота, тем больше потребляет микросхема, и при макси- мальных рабочих частотах ее потребление может сравниться с потреблением ТТЛ (по крайней мере, ТТЛ серии 74LS). Дело еще усугубляется тем, что из- за затянутых фронтов импульсов элемент достаточно длительное время на- ходится в активном состоянии, когда оба выходных транзистора приоткрыты (т. е. возникает так называемый эффект "сквозного тока"). Это же затягивание фронтов в сочетании с высокоомным входом приводит к снижению помехо- устойчивости при переключении — если на фронте сигнала "сидит" высоко- частотная помеха, то это может приводить к многократным переключениям выхода, как это было у компаратора (см. главу 15). Незадействованные входы элемента КМОП нужно обязательно подключать куда-нибудь — либо к земле, либо к питанию (без всяких, конечно, резисто- ров), либо объединять с соседним входом — иначе наводки на столь высоко- омном входе полностью нарушат работу схемы. Причем в целях снижения потребления следует делать это и по отношению к незадействованным элемен- там в том же корпусе (но не выводам'.). "Голый" вход КМОП из-за своей вы- сокоомности может стать причиной повышенной "смертности" чипов при воздействии статического электричества, однако на практике входы всегда шунтируют диодами, как показано на рис. 12.4. Развитие КМОП было, естественно, направлено в сторону устранения или хотя бы сглаживания этих недостатков. Однако в отличие от ТТЛ, базовый вариант которой сейчас практически совершенно забыт, оригинальная серия 4000В (у крупнейшего производителя этих микросхем, уже упоминавшейся в главе 12 фирмы Fairchild Semiconductor, принято название CD4000B, и мы тоже так ее будем называть, а отечественные аналоги — это "бытовая" серия
Математическая электроника или игра в квадратики. Устройство логических... 333 К5612 в корпусе DIP или "военная" 564 в планарном корпусе SOIC или SOT3) применяется и по сей день — в основном, из-за неприхотливости и беспреце- дентно широкого диапазона питающих напряжений, что позволяет без из- лишних проблем совмещать цифровые и аналоговые узлы в одной схеме. Справедливости ради следует упомянуть, что до этого была еще серия 4000А (советский аналог — К176), однако она менее удачна, т. к. быстродействие ее было еще ниже, а диапазон питания (около 9 В) значительно уже и не пере- секался с ТТЛ-диапазоном, причем для совместимости пришлось придумы- вать специальные "преобразователи уровня". Вместе с тем, эту серию стоит помянуть добрым словом, т. к. в ней были реализованы некоторые устройст- ва, которые в более продвинутых сериях отсутствуют и по сей день (скажем, десятичный счетчик с одновременной дешифрацией сигналов в "семисег- ментный" код, т. е. пригодный для прямого управления ЖК или иными семи- сегментными цифровыми индикаторами — см. главу 21). В настоящее время доступны как упомянутая стандартная серия CD4000B (561 или 564), так и, например, быстродействующая КМОП с крайне неудачным названием 74НСхх (отечественный аналог называется логичнее— 1564 или КР1564). Номер серии, совпадающий с номером для ТТЛ, был, вероятно, первоначаль- но выбран из маркетинговых соображений, чтобы подчеркнуть ее быстро- действие, сравнимое с ТТЛ, однако это совсем не ТТЛ. Чтобы не запутаться, имейте в виду, что если в наименовании серии присутствует буква С (от "комплементарный", кроме НС; это, к примеру, серии АС и просто С), то это КМОП, все остальные многочисленные представители семейства 74 есть ТТЛ-микросхемы. Серия 74НС совмещает в себе некоторые удобства КМОП (симметричность уровней, отсутствие потребления в статическом режиме) и быстродействие ТТЛ, достигающее десятков МГц. Пожертвовать, однако, при- шлось расширенным диапазоном питания — номинальный диапазон напряжения питания для 74НС начинается, правда, от 2, но простирается всего до 6 В. Относительно электрической совместимости КМОП и ТТЛ: при едином на- пряжении питания 5 В особых мер принимать не нужно за исключением того, что количество входов ТТЛ, работающих от микросхемы КМОП, ограничено одним-двумя, иначе падение напряжения на выходном МОП-транзисторе в открытом состоянии (в состоянии логического 0) может превысить ТТЛов- ский порог в 0,8 В. Для того чтобы усилить выходы КМОП, применяют спе- циальные буферные элементы с мощным выходом: с инверсией— 561ЛН1 и ЛН2— или без нее— 561ПУ4. А так, кроме указанных выше различий по электрической части, ничего особенного в совместном применении этих 2 В дальнейшем букву К в наименовании серии мы будем опускать. Наименования аналогов КМОП отечественного и зарубежного производства см. в приложении 5. 3 По поводу наименований корпусов микросхем см. сноску 1 в главе 8.
334 Гпава 20 серий нет — правда, и смысла особенного тоже нет, если только это не сты- ковка узлов различной конструкции. Следует отметить, что наименования одинаковых по функциональности элементов для КМОП и ТТЛ различают- ся — так, микросхема, содержащая в одном корпусе четыре элемента И-НЕ, подобных показанным на рис. 20.1, в отечественном варианте КМОП носит имя 561ЛА7 (CD4011 для западного аналога), а в ТТЛ — 155ЛАЗ (7400, при- чем последнее наименование соблюдается не только для многочисленных типов ТТЛ из 74-й серии, но и для быстродействующих КМОП типа 74НС или АС — создается впечатление, что производители всеми силами стара- лись скрыть КМОП-происхождение этих серий). Традиционно отличается и разводка выводов. Правда, для выводов питания разработчики старались по мере возможности придерживаться единого принципа (это же касается и многих аналоговых микросхем): "земля" присоединяется к последнему вы- воду в первом ряду, а питание — к последнему во втором, т. е. к выводу с наибольшим номером для данного корпуса (скажем, для корпуса с 14-ю выво- дами это будут, соответственно, 7 и 14, для корпуса с 16-ю — 8 и 16 и т. д.), но это правило действует далеко не всегда. "И-НЕ" "ИЛИ-НЕ" "НЕ" "Исключающее ИЛИ" Рис. 20.2. Обозначения основных логических элементов на схемах: вверху — отечественное, внизу — западное На рис. 20.2 показаны условные обозначения основных логических элемен- тов на электрических схемах, причем нельзя не согласиться, что отечествен- ные обозначения намного логичнее, легче запоминаются и проще выполня- ются графически, чем западные, поэтому западные обозначения логических элементов у нас так и не прижились (как, кстати, и многие другие, например, обозначения резисторов и электролитических конденсаторов) и приведены здесь только для справки. Крайний справа элемент под наименованием ИСКЛЮЧАЮЩЕЕ ИЛИ нам еще неизвестен, но скоро мы его будем изучать. Далее в таблице приведена разводка выводов микросхем, содержащих логи-
Математическая электроника или игра в квадратики. Устройство логических... 335 ческие элементы— она одинакова для всех трех наиболее употребляемых логических типов (напомним еще раз, что для серий ТТЛ и быстродейст- вующей КМОП разводка будет другая). Естественно, все элементы абсолют- но идентичны и взаимозаменяемы, поэтому для таких микросхем часто избе- гают размещения номеров выводов корпуса на конкретной схеме, чаще всего не указывают и расположение выводов питания. Разводка выводов КМОП-микросхем с четырьмя двухвходовыми логическими элементами И-НЕ CD4011, 561ЛА7 (корпус DIP-14), 564ЛА7 (корпус SOP-14) ИЛИ-HE CD4001, 561ЛЕ5 (корпус DIP-14), 564ЛЕ5 (корпус SOP-14) Исключающее ИЛИ CD4030, 561ЛП2 (корпус DIP-14), 564ЛП2 (корпус SOP-14) Выв. 1 2 3 4 5 6 7 Функц. Вх1/1 Вх1/2 Вых1 Вых2 Вх2/1 Вх2/2 Общ Выв. 8 9 10 11 12 13 14 Функц. ВхЗ/1 ВхЗ/2 ВыхЗ Вых4 Вх4/1 Вх4/2 + пит Мы будем использовать в схемах и простые одновходовые инверторы — это микросхема 561ЛН2, содержащая 6 таких инверторов в одном корпусе DIP-14. Разводка выводов у нее такая (первая цифра — вход, вторая — выход): 1-2, 3-4, 5-6, 9-8, 11-10, 13-12, питание обычное, т. е. + к выводу 14, "зем- ля" — к выводу 7. Отметим, что точного импортного аналога этой микросхе- мы не существует, есть микросхема CD4049 в корпусе DIP-16, у которой раз- водка несколько другая и идентична разводке микросхемы, содержащей 6 просто буферных усилителей без инверсии (561ПУ4 или CD4050): питание (внимание!) к выводу 1, "земля" к выводу 8, сами же элементы расположены так: 3-2, 5-4, 7-6, 9-10, 11-12, 14-15, выводы 13 и 16— не задействованы (и, напомним, не должны никуда присоединяться!). Есть, разумеется, элемен- ты с большим количеством входов, и пример их применения мы увидим в следующей главе. Я не буду приводить здесь разводку выводов других ти- пов логических микросхем, т. к. наличие отдельного справочника по ним в любом случае обязательно, в дальнейшем будет показана разводка выводов на законченных конкретных схемах. В качестве справочника, в котором при- ведены не только основные сведения и разводка выводов, но и подробно объ- ясняется работа всех микросхем базовых серий с многочисленными приме- рами, я бы рекомендовал разыскать у букинистов книгу [29] — это суперпопулярное пособие вышло в свое время несколькими изданиями, но, к сожалению, давно не переиздавалось, хотя почти не устарело.
336 Гпава 20 Отдельно следует упомянуть, что многие микросхемы КМОП прекрасно коммутируют аналоговые сигналы наподобие реле, иногда даже специально делается отдельный вывод для подключения отрицательного напряжения пи- тания, чтобы можно было пропускать двуполярное напряжение, причем про- пускание это осуществляется как в направлении от входа к выходу, так и в обратном направлении (таковы микросхемы 561 КТЗ, КП1 и КП2 или, ска- жем, специально для этого предназначенные микросхемы серии 590КНх). При этом указанные микросхемы прекрасно работают также и с цифровыми сигналами, т. е. являются универсальными. Рис. 20.3. Объединение элементов с открытым коллектором по схеме "проводное ИЛИ" Другой широко употребляемой разновидностью логических микросхем яв- ляются элементы, имеющие выход с открытым коллектором (или с открытым истоком). Такой выход, как мы помним, имеет компаратор 521 САЗ (см. главу 15). Есть такие элементы и с чисто логическими функциями— в КМОП-серии это CD40107 (561 ЛАЮ), а в ТТЛ— 7403 (133ЛА7). Как правило, они могут коммутировать значительный ток (до 50 мА, причем интересно, что для схе- мы с открытым истоком типа ЛАЮ нагрузочная способность по току с уве- личением напряжения питания растет). Эти элементы используют не только для коммутации мощной нагрузки, но и для объединения на общей шине в так называемое "проводное" или "монтажное ИЛИ" (рис. 20.3). Название
Математическая электроника или игра в квадратики. Устройство логических... 337 это несколько неудачное, ибо соответствует отрицательной логике — на об- щей шине логическая единица будет только тогда, когда выходы всех эле- ментов установятся в 1, а если хотя бы один выход находится в нуле, то и на шине будет 0, что в положительной логике соответствует операции И. Отно- сительно входов вся система будет выполнять ту же операцию, что и каждый отдельный элемент— И-НЕ. Для объединения выходов служат и так называемые элементы с третьим состоянием выхода (что соответствует не логическому понятию состояния, а электрическому— третье состояние в данном случае обозначает просто обрыв, отключение выхода элемента от вывода микросхемы). Такие элементы часто применяются в составе более сложных микросхем, например микроконтроллеров. Выходы обычных логи- ческих элементов тоже можно объединять с целью умощнения; например, выход одного инвертора в составе упомянутой выше микросхемы ЛН2 номи- нально "тянет" ток до 3,2 мА (на самом деле гораздо больше, если выйти за пределы ограничений, накладываемых ТТЛ-уровнями), и если соединить вы- ходы всех шести входящих в состав микросхемы элементов, то можно под- ключать нагрузку до 20 мА. Однако, естественно, что при этом необходимо также объединить и входы, превратив всю микросхему как бы в один мощ- ный инвертор, иначе могут возникнуть всякие электрические коллизии. Еще одно обстоятельство, которое хорошо бы сразу иметь в виду — мы часто будем усиливать выходы микросхем с помощью отдельного ключевого тран- зистора (т. к. вышеописанные микросхемы с общим коллектором (о.к.) не всегда можно и целесообразно использовать), и схема его включения пред- ставляет собой в данном случае исключение из того правила, что в ключевом режиме обязательно "привязывать" базу к "земле", как это было оговорено в главе 6 (см. рис. 6.3 и относящийся к нему текст). Дело в том, что подклю- ченная к выходу логического элемента база транзистора всегда будет привя- зана (обычно через токоограничивающий резистор) к какому-нибудь потен- циалу и в воздухе никогда не "повиснет", поэтому и запирающий резистор можно не ставить. Однако это не относится к случаю, если база управляется от выхода ТТЛ-микросхемы через диод, включенный в прямом направлении, как это часто делают, чтобы обеспечить надежное запирание транзистора (см., например, уже упоминавшуюся в главе 6 книгу [9]) — на мой взгляд, ставить такой диод совершенно не требуется, но если уж вы построили схему именно так, то нужно ставить и запирающий резистор, потому что при нуле- вом потенциале на выходе микросхемы диод запирается и база тогда "пови- сает" в воздухе. Между прочим, для КМОП-микросхем можно даже и токо- ограничивающий резистор не ставить, т. к. выходы их, как мы видели выше, ограничивают ток короткого замыкания, но тогда резко возрастает потребле- ние, и базовые резисторы ставить все же следует (более подробно см. описа- ние "семисегментного" дешифратора в главе 21).
338 Гпава 20 В заключение этого затянувшегося обзора следует упомянуть, что серии 74хх и CD4000 (последнюю часто именуют 4К, как сейчас модно), естественно, были не единственные, существовали и другие аналогичные по функцио- нальности и технологии серии цифровых микросхем, но в настоящее время множеством производителей во всем мире выпускаются именно эти серии (различные буквенные префиксы вместо CD не должны вас смущать). Ис- ключение составляют разве что супермалопотребляющие логические микро- схемы или, скажем, микросхемы с очень низким напряжением питания, где общепринятых названий нет. Двоичный сумматор на логических микросхемах Заметим сразу, что схема этого устройства в том виде, в котором мы ее сей- час будем конструировать, сама по себе довольно бесполезна — если вы, ко- нечно, не хотите повторить подвиг советского конструктора Михаила Алек- сандровича Карцева, создавшего в 1970-х годах на микросхемах малой степени интеграции (т. е. фактически на отдельных логических элементах) очень удачную ЭВМ под названием М-10, отличавшуюся тем, что отдельные ее экземпляры в нашем оборонном комплексе, по слухам, продержались аж до начала нового тысячелетия. Учтите только, что основная проблема, кото- рую вам придется решать при использовании микросхем малой степени ин- теграции, состоит вовсе не в том, чтобы такую машину сконструировать схе- мотехнически— это не самая трудная часть работы. Самое трудное для подобных суперконструкций— решить проблему отвода тепла. В качестве примера можно привести построенный в 2003 г. в Вирджинском университе- те суперкомпьютер на основе 1100 серийных компьютеров G5 фирмы Apple, в каждом из которых в отдельности, казалось бы, проблема отвода тепла уже решена (и расчет разработчиков был именно на то, чтобы максимально уде- шевить проект и не заниматься лишними изысканиями). Однако если все "же- лезо", включая компьютеры, кабели, коммуникаторы и т. п. обошлось органи- заторам в $5 миллионов, то система охлаждения к этому хозяйству стоила еще почти $3 миллиона. Пришлось строить специальную холодильную уста- новку! А ведь в серийных процессорах для ПК проблемой тепловыделения занимаются уже десятилетиями. Если же попробовать построить нечто подобное хотя бы одному процессору G5 на обычной логике, то тепловыде- ление вырастет на много порядков (не говоря уж о том, что достичь быстро- действия порядка гигагерц и выше заведомо не удастся даже в первом при- ближении). Так что в настоящее время схемы сумматоров применяют исключительно в составе больших интегральных схем, БИС.
Математическая электроника или игра в квадратики. Устройство логических... 339 Зачем мы тогда будем конструировать сумматор? А затем, что его устрой- ство очень хорошо иллюстрирует две вещи: во-первых, использование ло- гических микросхем, во-вторых, — разве не любопытно знать, как устроен самый главный узел компьютера, арифметико-логическое устройство, АЛУ? Знание этого вам очень пригодится для лучшего понимания работы микроконтроллеров и принципов их программирования. Так как схема, ко- торую мы сейчас будем разбирать, не предназначена для того, чтобы ее воспроизводить физически, все технологические подробности мы опус- тим — если кто-то захочет воспроизвести такую схему, то это сделать очень просто, если использовать любую из тех серий логических микро- схем, которые мы разбирали ранее. Для определенности примем, что мы используем КМОП, и все названия микросхем будут именно для этой серии (в отечественном варианте). Итак, вспомним, что нам, собственно, нужно делать — а именно, воспроизве- сти таблицу сложения двоичных чисел, которая была показана для однораз- рядных чисел в предыдущей главе. Так как при сложении единиц получается двухразрядное число, то перепишем эту таблицу в двухразрядном представ- лении: Вх1 Вх2 Вых 0 0 00 0 1 01 1 0 01 1 1 10 Теперь разобьем таблицу на две: одну для разряда собственно суммы, другую для значения переноса в следующий разряд: Сумма Вх1 Вх2 Вых 0 0 0 0 1 1 1 0 1 1 1 0 Перенос Вх1 Вх2 Вых 0 0 0 0 1 0 1 0 0 1 1 1
340 Гпава 20 Сравним вторую таблицу с таблицей состояний для базовых логических функций (таблицы для И и ИЛИ приведены в главе 18, но я их повторю для того, чтобы не приходилось листать книгу туда-сюда): ИЛИ Вх1 Вх2 Вых 0 0 0 0 1 1 1 0 1 1 1 1 и Вх1 Вх2 Вых 0 0 0 0 1 0 1 0 0 1 1 1 Имеем полное совпадение с функцией И: итак, для того, чтобы обеспечить перенос, нам нужно всего лишь один логический элемент И, который полу- чается из стандартного И-НЕ плюс инвертор4. Не то с разрядом суммы: пер- вые три значения обеспечивает элемент ИЛИ, однако при сложении единиц возникает несоответствие (логическое и арифметическое сложения все же неадекватны друг другу). Нужен специальный элемент, который мог бы по- лучить название "элемент несовпадения": в самом деле, у него логическая единица на выходе тогда, когда входы имеют разное состояние, а если они одинаковы — на выходе 0. Для того чтобы его изобрести, взглянем на табли- цу истинности элемента И-НЕ (для наглядности я ее тоже повторю): И-НЕ Вх1 Вх2 Вых 0 0 1 0 1 1 1 0 1 1 1 0 4 Вообще-то, например, в ТТЛ-сериях, есть и непосредственно элементы И без инверсии, н< уже для ИЛИ таких элементов нет, а в КМОП вообще существуют элементы только с инверси ей, так что в целях унификации мы будем пользоваться только элементами И-НЕ и ИЛИ-HI (для КМОП это 561ЛА7 и 561ЛЕ5 соответственно).
Математическая электроника или игра в квадратики. Устройство логических...341 Сравним таблицы ИЛИ, И-НЕ и необходимой нам суммы — в первом случае мы получаем то, что надо, в верхних трех строках, во втором — в нижних. Как бы их объединить? Да очень просто — через функцию И: Сумма Вх1 Вх2 Вых ИЛИ Вых И-НЕ ИЛИ + И-НЕ (Исключающее ИЛИ) 0 0 0 1 0 0 1 1 1 1 1 0 1 1 1 1 1 1 0 0 Вх1 Вх2 & Рис. 20.4. Варианты реализации элемента Исключающее ИЛИ и его таблица истинности «Исключающее ИЛИ» Вх1 Вх2 Вых 0 0 0 0 1 1 1 0 1 1 1 0
342 Гпава 20 Элемент, который осуществляет функцию "несовпадения", носит название "Исключающее ИЛИ", и его обозначение уже было показано на рис. 20.25. Как это будет выглядеть на элементах И-НЕ и ИЛИ-НЕ, показано на рис. 20.4. Вариант вверху полностью соответствует нашим рассуждениям и потребует двух корпусов микросхем, а вариант внизу— пример того, как можно по- строить Исключающее ИЛИ с использованием только одного типа элемен- тов, в данном случае — И-НЕ, что позволяет еще и сэкономить один элемент, так что этот вариант потребует всего одного корпуса типа 561ЛА7. Попро- буйте построить таблицу истинности для второго варианта— и вы убеди- тесь, что он работает "как заказывали" (есть и много других способов). От- метьте, что в первом варианте специальных элементов-инверторов мы не используем, а с целью экономии корпусов микросхем образуем их из элемен- тов И-НЕ или ИЛИ-НЕ путем объединения входов (как вы можете убедиться, построив соответствующие таблицы состояний, такое объединение превратит в инвертор любой из этих элементов). Впрочем, как мы видели в таблице с разводкой выводов основных элементов, в любой логической серии есть и специальные микросхемы Исключающее ИЛИ (561ЛП2). Элемент Исключающее ИЛИ, помимо способности выдавать сумму одноразрядных чисел, обладает многими интересными свойствами, к которым мы обратимся далее. Все, одноразрядный сумматор мы построили. Его схема приведена на рис. 20.5 вверху. Разумеется, Исключающее ИЛИ можно заменить на одну из схем по рис. 20.4 или использовать отдельную микросхему, как больше понравится. Внизу на рис. 20.5 мы обозначили все устройство одним квадратиком. Одна- ко почему "полусумматор"? Такой одноразрядный сумматор носит название полусумматора, потому что он не умеет одной важной вещи: а именно разряд-то переноса он выдает, а вот учесть перенос от предыдущего разряда он не может. Поэтому, чтобы складывать настоящие многоразрядные числа, нужно в каждом разряде поставить по два таких полусумматора, причем объ- единить их выходы переносов через ИЛИ (рис. 20.6). Так мы получили одноразрядный полный сумматор, объединением которых несложно соорудить устройство для сложения чисел любой разрядности (на рис. 20.6 это условно показано тем, что данный сумматор складывает раз- ряды с номером i — подразумевается, что таких разрядов как бы много). Ес- ли вы попробуете разрисовать схему сумматора для, скажем, восьми разрядов 5 Признаюсь, что я никогда не мог понять, почему в отечественной практике Исключающее ИЛИ обозначают значком "=1". По смыслу это обозначение больше подошло бы обратному элементу "совпадения", который представляет собой инверсию выхода Исключающего ИЛИ и носит название Включающего ИЛИ.
Математическая электроника или игра в квадратики. Устройство логических... 343 Рис. 20.5. Схема одноразрядного полусумматора Рис. 20.6. Схема многоразрядного сумматора полностью, с использованием принципиальных схем логических элементов по рис. 20.1, то ужаснетесь— это же сколько транзисторов надо, чтобы по- строить такое устройство? Много— в восьмибитном КМОП-сумматоре их получается 480 штук! И это без учета того, что в систему должны входить еще, как минимум, два регистра6 для хранения исходных чисел и результата 6 Регистры мы будем разбирать в главе 24.
344 Гпава 20 (в целях экономии результат помещают в регистр одного из слагаемых, тем самым уничтожая это слагаемое ), а также другие логические схемы (для сдвига, для инверсии битов). То есть общее количество транзисторов состав- ляет порядка тысячи. Теперь понятно, почему микросхемы высокой степени интеграции содержат миллионы транзисторов и почему проблема отвода те- пла стоит так остро! Один логический элемент КМОП-типа из четырех тран- зисторов выделяет всего-навсего 4 мкВт тепла (при максимальной частоте в единицы мегагерц), но что будет, если таких элементов приходится ставить в количестве миллион штук? И еще при этом повышать рабочую частоту до предела? Сумматоры, построенные по описанной схеме, выпускают, естест- венно, в интегральном исполнении (в КМОП это микросхема четырехразряд- ного сумматора 561ИМ1, есть и схема более универсального АЛУ — ариф- метико-логического устройства— 561ИПЗ). В связи с многоразрядным сумматором возникает только один вопрос: а что делать со входом переноса самого первого, младшего разряда? Тут можно поступить двояко в зависимо- сти от того, что мы делаем. Если просто складываем двоичные числа разряд- ности, соответствующей возможностям нашего сумматора (например, вось- миразрядные, т. е. длиной в один байт), то вход переноса младшего разряда присоединяется к логическому 0, так что переноса "снизу" никогда не воз- никнет. Соответственно, выход переноса старшего разряда остается "висеть в воздухе". Легко сообразить, что при этом, если мы складываем числа, в сумме составляющие более величины диапазона, старший разряд суммы "потеряется". Это явление при всей своей очевидности стоит того, чтобы ра- зобрать его подробнее. Предположим, мы имеем байтовый сумматор и под числами имеем в виду обычные беззнаковые положительные числа, диапазон которых составит 0—255. Если мы сложим 128 (1000 0000) и 128 (1000 0000), то получим число 256 (1 0000 0000), которое имеет единицу в 9-м, отсутствующем у нас разряде (заодно отметим этот результат как хорошую иллюстрацию к положению, гласящему, что умножение на 2 есть просто сдвиг всех разрядов влево). Та- ким образом, мы получаем просто 0, что, конечно, есть результат некоррект- ный. То есть имеем правило: числа, дающие в сумме больше разрядов, чем имеется в сумматоре, складывать нельзя — надо наращивать разрядность (на самом деле для операции сложения достаточно добавить всего один раз- ряд — сумма максимальных чисел 255 + 255 есть 510, что не выходит за рам- ки девятиразрядного числа, укладывающегося в диапазон 0—511; не то, од- нако, для операции умножения, о чем мы поговорим позже). Если мы будем считать числа со знаками (см. главу 19), то все будет несколько запутаннее, но, в принципе, корректного сложения при ограничении числа разрядов мы все равно не получим — природу не обманешь. А как наращивать разряды,
Математическая электроника или игра в квадратики. Устройство логических...345 если, например, в микроконтроллере, все регистры восьмиразрядные? Да очень просто — надо взять два таких регистра и соединить выход пере- носа одного со входом переноса другого. Тогда мы получим двубайтовое число (или слово, как его чаще называют). В микропроцессорах, в том чис- ле и в микроконтроллерах, мы, конечно, физически такое объединение сде- лать не можем — схема уже сделана заранее7, но в них зато есть упоми- навшийся нами бит переноса (carry bit), в который автоматически (если мы только не отменили эту операцию) помещается перенос в результате опе- раций сложения, умножения и, кстати, вычитания и деления тоже. Так как операции сдвига битов есть, в сущности, как мы знаем, тоже умножение и деление, то и при этих операциях бит переноса также участвует. Чтобы пе- ренести значение переноса из бита переноса в старший байт двухбайтового слова, надо просто, например, сложить этот старший байт с 0, тогда бит переноса автоматически окажется в младшем двоичном разряде старшего байта (если мы выполнили операцию сложения именно с переносом). Точ- но так же складываются и двухбайтовые слова— в два приема, сначала младшие байты с переносом, а затем старшие, только теперь уже для них будет действовать правило, согласно которому сумма не должна превышать диапазона. В общем случае корректно сложатся два числа (беззнаковых), каждое из которых имеет на один разряд меньше, чем позволяет разрядность сумма- тора и регистра для размещения результата (практически это может пока- заться слишком жестким требованием — в самом деле, две единицы сло- жатся корректно в любом представлении, но мы "закладываемся" на оба числа, потому что заранее не знаем, каково будет их конкретное значение). Для умножения требования жестче: каждый из сомножителей должен иметь не более чем половинную разрядность от результата. Именно так происходит оперирование с многоразрядными числами в процессорах, и мы видим, что операция сложения с двубайтовым числом требует как минимум вдвое больше времени, чем с однобайтовым (а в случае перемножения двухбайтовых чисел все еще сложнее), что может выливаться в непрости- тельные временные затраты, и потому производители процессоров стара- ются наращивать их разрядность. В случае с микроконтроллерами это мо- жет быть и не так критично, поэтому большинство распространенных контроллеров и по сей день восьмиразрядные. 7 Но есть и целый класс устройств, в которых саму схему можно менять в процессе програм- мирования произвольным образом — они носят название "программируемые логические инте- гральные схемы" (ПЛИС). 12 Зак. 710
346 Гпава 20 Обработка двоичных сигналов с помощью логических элементов В начале главы мы упоминали, что логические элементы носят еще название вентилей. На самом деле вентиль — это устройство для регулирования пото- ка жидкости или газа. Каким же образом оправданно это название в прило- жении к нашим схемам? Оказывается, если на один из входов логического элемента подавать последовательность прямоугольных импульсов (некую аналогию потока), а на другой — логические уровни, то в этом случае эле- мент будет себя вести совершенно аналогично вентилю настоящему. Вх1 Вх2 Выход "И-НЕ" Выход "ИЛИ-НЕ" Выход "Пекл. ИЛИ" Рис. 20.7. Обработка цифровых сигналов при помощи логических элементов: а — диаграммы прохождения сигналов через основные типы логических элементов; б — "анитидребезг” на основе элемента Исключающее ИЛИ; виг— использование элемента Исключающее ИЛИ для выявления разности фаз (в) и частот (г) сигналов
Математическая электроника или игра в квадратики. Устройство логических... 347 Соответствующие диаграммы показаны на рис. 20.7, а. Из них вытекают сле- дующие правила: □ для элемента И-НЕ логический уровень 1 является "разрешающим", т. е. в этом случае последовательность на другом входе пропускается на выход без изменения (за исключением того, что она инвертируется, т. к. элемент у нас И-НЕ, а не просто И). При логическом уровне 0 вентиль запирается, на выходе будет логическая 1; □ для элемента ИЛИ-НЕ ситуация полностью обратная: "разрешающим" яв- ляется логический уровень 0, т. е. в этом случае последовательность на другом входе пропускается на выход (также с инверсией). При логическом уровне 1 вентиль запирается, на выходе будет логический 0; □ для Исключающего ИЛИ все еще интересней: в зависимости от того, 0 на входе или 1, относительно другого входа элемент ведет себя, соответст- венно, как повторитель или как инвертор, что дает довольно широкие возможности для управления двоичными последовательностями. На рис. 20.7, б показана интересная схема на основе элемента Исключающее ИЛИ. Эта схема устраняет неизбежный дребезг механических контактов, ко- торый может вызвать (более того, вызывает обязательно) многократное сра- батывание некоторых электронных схем, например, триггеров или счетчиков. Обычно с этим явлением борются с помощью RS-триггеров, и мы рассмот- рим, как это делается, в главе 24. Однако при наличии свободного элемента Исключающее ИЛИ устранить дребезг, как видите, очень просто. Чтобы по- нять, как это работает, надо учесть, что подвижные контакты кнопки, тумб- лера или реле никогда не пролетают несколько раз расстояние от одного не- подвижного контакта до другого— подвижной контакт только несколько (иногда до нескольких десятков) раз за короткое время оказывается "вися- щим в воздухе" (представьте себе, что он как бы подпрыгивает на неподвиж- ном контакте, причем как при размыкании, так и при замыкании). При этом подачи напряжения, соответствующего противоположному логическому уровню, не происходит, но этого достаточно, чтобы на выходе микросхемы вызвать нечто, похожее на дребезг выхода компаратора при наличии помехи. В схеме по рис. 20.7, б обязательно требуется именно перекидной контакт, для простой кнопки с двумя выводами нужно использовать иные способы (например, одновибратор, см. главу 23). В данном же случае происходит вот что. При наличии 0 на одном из входов Исключающее ИЛИ работает как по- вторитель. Если контакт был замкнут (надежно) с потенциалом питания (лог. 1), то на выходе будет также 1. Когда контакт в процессе дребезга разомкнется и "повиснет в воздухе", то потенциал на выходе все равно останется равным 1, т. к. поддерживается обратной связью, замыкающей выход со входом. Сколько бы контакт не дребезжал таким образом, потенциал останется равным 1
348 Гпава 20 до первого касания контактом "земли", когда элемент перебросится в другое состояние и будет в нем пребывать опять независимо от того, дребезжит кон- такт или нет. Разумеется, можно и инвертировать сигнал, если присоединить второй вход к питанию, а не к "земле". Самое, однако, интересное будет, если на входы Исключающего ИЛИ подать две последовательности импульсов с разными частотами и/или фазами. На рис. 20.7, в показано, что произойдет, если обе последовательности имеют одинаковую частоту, но фазы при этом сдвинуты на полпериода. На выходе при этом возникнет колебание с удвоенной частотой! Попробуйте изменить фазу— вы увидите, что скважность результирующего колебания будет ме- няться, пока фазы не совпадут, и тогда сигнал на выходе исчезнет — одина- ковые состояния выходов дают на выходе Исключающего ИЛИ всегда логи- ческий 0. Это позволяет использовать такой элемент в качестве "фазового компаратора", что широко используется в фазовых модуляторах и демодуля- торах сигнала. Не менее интересный случай показан на рис. 20.7, г— здесь на входы подаются последовательности с различающейся частотой. Мы ви- дим, что на выходе возникнет сигнал с изменяющейся скважностью, причем легко показать, что период изменения этой скважности от минимума к мак- симуму и обратно будет в точности равен периоду сигнала с частотой, равной разности исходных частот. Если при этом поставить на выходе элемента фильтр низкой частоты (если разность частот невелика в сравнении с исход- ными частотами, то достаточно простой RC-цепочки), то мы получим сину- соидальное колебание с частотой, равной этой разности! Это колебание можно как-то использовать (сравните с принципом работы усилителей в режиме D, приведенным в приложении 3) или, например, можно его подать в качестве сигнала обратной связи на генератор, управляемый напряжением (ГУН), ко- торый тогда изменит частоту одного из сигналов так, чтобы она в точности совпадала со второй (опорной). Так, скажем, делают схемы умножителей частоты, получая целый набор точных частот с использованием одного- единственного опорного кварцевого генератора. Другие, не менее интересные применения логических элементов мы разберем в следующих главах.
Глава 21 Закодированные. Коды, шифры и дешифраторы — Итак... — ответил д'Артаньян, нагибаясь к уху Атоса и понижая голос, — итак, ми- леди заклеймена на плече цветком лилии. А. Дюма, "Три мушкетера" Начнем с того, что с кодами вы имеете дело каждый день — все, что записа- но, есть код. Например, запись "48" есть не что иное, как код числа 48. Не правда ли, довольно необычно звучит? Между тем, это же самое утверждение уже не будет выглядеть столь же странно, если мы скажем, что запись "00110000" или "30" есть, соответственно, двоичный или шестнадцатерич- ный код числа 48, правда? Но с формальной точки зрения это одно и то же — есть некий объект — число, — который можно закодировать по-разному. Бо- лее того, код этот, как мы отмечали ранее, будет совершенно произвольным и является предметом договора между людьми, причем в одних случаях удобно употреблять одни коды, в других— другие. Скажем, то же самое число 48 есть не что иное, как код символа цифры 0 в таблице символов ASCII1. А "0011 0001" (49) в этой таблице есть код единицы (подчеркнем — не цифры 1, а символа этой цифры в европейской записи арабских цифр. Для символа той же 1 в арабской записи будет употребляться уже совершенно иной код). Поэтому, например, запись "ООН 0001 ООН 0000" может быть проинтерпретирована как: О запись числа 11 000 100 110 000 ю (11 биллионов 100 миллионов 110 тысяч); О запись числа 31ЗОЬ = 12592ю (проверьте!); О запись последовательности символов "1" и "0", т. е. просто как запись числа 10; и многими другими различными способами. 1 ASCII — American Standard Code for Information Interchange ("американский стандартный код для обмена информацией"). Базовый код ASCII является семибитным, т. е. включает только 128 символов. Все остальные современные кодировки (например, Win-1251 или Unicode) включают в себя ASCII как составную часть.
350 Глава 21 Любой абстрактный или даже реальный объект можно закодировать для его представления в человеческом сознании любым способом, вспомните из фильмов о войне "Чайка, Чайка, я — Ласточка, прием...". Здесь "Чайка" есть код, который обозначает конкретного командира конкретного взвода. А мо- жет и изображать не конкретного командира, но конкретного взвода. А мо- жет, наоборот, конкретного человека безотносительно к тому, каким взводом он командует. В эпиграфе приведен другой пример кода: клеймо в виде знака лилии, зафиксированное на теле жертвы палача, в данном случае, есть код, который обозначает, что уважаемая миледи в молодости занималась прости- туцией. Подобными способами на Диком Западе широко пользовались для клеймения рогатого скота и лошадей — чтобы не украли. Но самый удобный и часто употребляемый на практике — числовой код ("первый, я — третий, какие указания?"). Интересно, что к числовому коду прибегают даже для вы- ражения совершенно неисчислимых сущностей, таких, как эмоции и чувства, вспомните обыденные выражения: "от страха я наполовину потерял способ- ность соображать" или "я уверен на все сто процентов". Главное же предназначение любого кода, как вы, наверное, уже поняли — передача информации. Обыкновенный разговорный язык — тоже код. А ми- мика и жесты кодируют и передают собеседнику информацию о вашем со- стоянии, причем, отметьте две вещи: во-первых, таким кодом хорошо умеют пользоваться и животные, априорно лишенные возможности разговаривать, во-вторых, эти коды тоже часто есть результат договоренности, хрестома- тийный пример— покачивание головой в горизонтальной плоскости, кото- рое у нас обозначает "нет", а у болгар — наоборот, "да". Но вернемся к числовым кодам, которые, естественно, получили особое рас- пространение с развитием компьютерных технологий. Но и не только — еще задолго до всяких компьютеров числами кодировали, скажем, письменную речь. Основная задача при этом — чтобы текст никто не мог прочесть, кроме тех, кому это предназначено. Такое кодирование называется шифрованием. То есть шифр — это специальный код, который есть результат договоренно- сти между получателем и отправителем сообщения. Конечно, шифр может быть и не цифровым, что хорошо известно из шпион- ских романов: фраза "Тетушка Полли шлет вам новогодние поздравления" может означать, к примеру, "приступайте к выполнению задания". Когда вы слышите в новостях, что был приведен в действие план "Вулкан-5", то это тоже шифр, причем в данном случае подразумевается, что все знают, что это обозначает (а на самом деле — найдите мне хоть одного такого, если он, ко- нечно, не служит в милиции). Или вот яркий пример словесного шифра — попробуйте разгадать фразу: "Федька Костров обсморкнулся на штатских,
Закодированные. Коды, шифры и дешифраторы 351 президенты разрешил". Даю слово, что, если вы не вращались в кругах мос- ковской шпаны, то вам нипочем не понять, о чем здесь вообще речь— на самом деле эта фраза на арго (т. е. на специфическом языке определенной социальной группы, в данном случае, приблатненной московской молодежи) утверждает, что Фидель Кастро перепугался американцев и разрешил хожде- ние долларов. Очень эффективный шифр, не правда ли? Но все же настоящий шифр может быть только цифровым. Под "настоящим" тут имеется в виду шифр, обладающий следующими свойствами: □ его сложно разгадать; □ исходное сообщение восстанавливается однозначно. Буквенный шифр — когда одни буквы заменяют на другие или их сочета- ния— относится также к цифровым, потому что букву можно не только представлять ее цифровым кодом (например, ASCII), но и рассматривать как число, представленное в системе счисления с основанием, равным количест- ву букв в алфавите. Шифры есть предмет специальной и интереснейшей нау- ки — криптографии, и остается только пожалеть, что рассмотрение ее прин- ципов выходит за рамки этой книги. Шифрование производится не только для скрытия информации — обычное архивирование компьютерных файлов (архиваторы типа ZIP, RAR и др.) есть тоже шифрование, которое в данном случае ни от кого ничего не скрывает, а просто позволяет уменьшить избыточность информации и, тем самым, ее объем. Про избыточность мы поговорим в следующей главе, а пока вернемся к двоичным кодам. Различные двоичные коды Двоичным кодом является отнюдь не только запись числа в двоичной систе- ме (которую мы здесь будем называть простым или обычным двоичным ко- дом) — это всего лишь одна из разновидностей. Как мы видели, символы то- же можно представлять в двоичном коде. Например, известная азбука Брайля для слепых— типичный двоичный код. Двоичным часто называют и код Морзе — однако это, строго говоря, не так. В азбуке Морзе двух символов (точки и тире) недостаточно, там используется как минимум еще один знак— пауза. Его можно было бы и не считать за отдельный знак, т. к. он просто разделяет точки и тире между собой — если бы только не необходи- мость разделять буквы и слова. В азбуке Морзе количество точек и тире в коде отдельных символов не фиксировано, оно может быть равно всего од- ному, а может— двум, трем, вплоть до пяти, так что если вы просто фор-
352 Глава 21 мально запишете подряд точки и тире как единицы и нули, то прочесть ниче- го не сможете, не зная, где именно в данном случае заканчивается одна буква и начинается другая. Поэтому коды Морзе в двоичный вид переводят так: пусть 1 обозначает точку, а 0 — паузу (что удобно с точки зрения интерпре- тации их, как уровней напряжения или наличия-отсутствия тока в электриче- ской цепи). При этом две единицы подряд будут обозначать тире, а два ну- ля — паузу между буквами. Скажем, буква А (точка-тире-пауза) запишется как 101100 — как видите, здесь разрядов намного больше, чем требуется для простого двоичного представления комбинации одних только точек и тире. Между словами вставляют еще дополнительную пару нулей. Фактически, двоичное представление кода Морзе есть не простое переобозначение одних символов с помощью других (как это происходит, когда мы переводим, на- пример, число из арабской записи в европейскую), а отдельная разновид- ность двоичной кодировки для письменной речи, существующая наряду с ASCII или, к примеру, азбукой Брайля. Кстати, последняя отображается в двоичных кодах совершенно однозначно, если выпуклые точки обозначить за 1, а их отсутствие за ноль. Буква Азбука Морзе Азбука Брайля Коды ASCII точка-тире в двоими, записи прописная строчная А •им 101100 • • 0100 0001 (65) 0110 0001 (97) В 1101010100 • • • • 0100 0010 (66) 0110 0010(98) С мм»мм» 11010110100 • • 0100 0011 (67) 0110 0011 (99) D мм»» 11010100 *• 0100 0100 (68) 0110 0100 (100) Е • 100 • • * • 0100 0101 (69) 0110 0101 (101) F 1010110100 0100 0110(70) 0110 0110(102) G мм мм» 110110100 • • 0100 0111 (71) 0110 0111 (103) Н •••• 101010100 • • 01001000(72) 01101000(104) 1 • • 10100 • • • • 0100 1001 (73) 01101001 (105) Рис. 21.1. Некоторые коды первых десяти латинских букв. Для кодировки ASCII в скобках дано десятичное значение На рис. 21.1 показаны некоторые коды первых десяти латинских букв. Отметим, что, кроме всего прочего, кодировки эти отличаются следующим: в азбуке Морзе
Закодированные. Коды, шифры и дешифраторы 353 определены только заглавные (прописные) буквы, а в азбуке Брайля— на- оборот. Причем в азбуке Морзе строчные буквы не могут быть закодированы вообще, в то время как у Брайля заглавные буквы определяются отдельным специальным символом, код которого должен предшествовать коду буквы (такие символы носят название escape-переключателя). В кодах же ASCII, которые составляют основу любой современной компьютерной кодировки, присутствуют отдельно и строчные и прописные буквы, причем при внима- тельном рассмотрении вы можете определить, что код строчной буквы равен коду заглавной + 32. Почему это так? Очень просто — и Брайль и Морзе при составлении своих азбук экономили, стараясь использовать как можно мень- ше отдельных знаков для передачи сообщения. В шестибитном коде Брайля может быть закодировано всего 26 = 64 комбинации, чего для представления всех букв, строчных и заглавных (всего 52 в латинском алфавите), а также цифр и знаков препинания не хватит. А в семибитном ASCII имеется 128 возможных комбинаций и этого уже хватает с избытком — но только для одного алфавита. Кстати, коды, в которых число кодирующих бит (или иных знаков, если их больше двух) фиксировано, подобно кодам Брайля или ASCII — в отличие от кода Морзе — называются равномерными. Именно для того, чтобы выделить эту особенность, в двоичном представлении принято слева дописывать не- значащие нули до нужного количества символов (см. главу 19). Равномерные коды являются очень удобными для расшифровки и поэтому распространены на практике, но они не самые экономичные в смысле нужного количества знаков (об экономичности систем счисления также см. главу 19). Вполне можно создать гораздо более экономичный код, причем совершенно не обя- зательно он будет троичным, т. е. с использованием "паузы". В следующей главе мы покажем, как это можно осуществить на практике. Код для управления цифровыми индикаторами В электронике для разных целей используют и другие двоичные коды. Мы сейчас рассмотрим код, который для краткости будем называть "семисег- ментным" — т. е. код, использующийся для отображения численной инфор- мации на цифровых семисегментных индикаторах. Такой индикатор (или один десятичный разряд его — часто употребляются и многоразрядные ин- дикаторы) состоит обычно из семи сегментов-полосок (на светодиодах или жидких кристаллах), расположенных в пространстве определенным образом. На рис. 21.2 показано расположение и общепринятые обозначения этих сегмен- тов буквами (а, Ь, с и т. д.), а также соответствующий семисегментный код,
354 Глава 21 в котором 1 обозначает светящийся сегмент, а 0 — несветящийся. Сегмент h, который представляет собой запятую, в формировании цифры не участвует, управляется отдельно, и поэтому мы его не рассматриваем. Разумеется, на семисегментных индикаторах можно отобразить и некоторые другие сим- волы (знак минус, буквы С, A, F, П, Н или Р), но эти возможности мы также оставим пока в стороне. Для того чтобы отобразить больше символов, есть и другие типы цифровых индикаторов, например, шестнадцатисегментные или матричные, но управление ими сложнее, и мы пока остановимся на семисег- ментных. DEC BIN а ь с d е f 9 0 0000 1 1 1 1 1 1 0 1 0001 0 1 1 0 0 0 0 2 0010 1 1 0 1 1 0 1 3 0011 1 1 1 1 0 0 1 4 0100 0 1 1 0 0 1 1 5 0101 1 0 1 1 0 1 1 6 0110 1 0 1 1 1 1 1 7 0111 1 1 1 0 0 0 0 8 1000 1 1 1 1 1 1 1 9 1001 1 1 1 1 0 1 1 Рис. 21.2. Обозначения сегментов и таблица состояний семисегментного индикатора Нас сейчас интересует вопрос: как заставить электронную схему показывать цифру на семисегментном индикаторе? Ведь изначально мы всегда имеем цифру в двоичном представлении, причем чаще всего именно в двоичном, а не двоично-десятичном. Четырехразрядное двоичное число имеет диапазон от 0 до 16, что на одном семисегментном индикаторе отобразить невозмож- но, даже с привлечением шестнадцатеричных цифр, т. к. букву "В" нельзя будет отличить от восьмерки, a "D" — от нуля. Это означает, что, вообще го- воря, мы должны провести нашу перекодировку в два этапа — сначала пред- ставить число в распакованном двоично-десятичном виде (см. главу 19), затем преобразовать четырехразрядный двоично-десятичный код в семисегмент- ный. Здесь мы ограничимся рассмотрением только последней задачи, т. к. первая практически всегда уже решена— двоично-десятичное число пред- стает либо, как результат счета с помощью двоично-десятичного же счетчика (см. главу 24), либо формируется в регистрах микроконтроллера программно. К тому же решить задачу двоичного/двоично-десятичного преобразования на основе только логических микросхем не так уж и просто — решение получа- ется весьма громоздким, и на практике стараются это дело обойти — теми же самыми двоично-десятичными счетчиками, к примеру.
Закодированные. Коды, шифры и дешифраторы 355 Задача формирования семисегментного кода в некоторых устройствах также часто решена — кроме так называемых драйверов цифровых дисплеев, один из которых описан ниже, выпускаются, к примеру, чипы, представляющие законченный цифровой вольтметр с выходом на семисегментные индикаторы (мы будем разбирать такое устройство в главе 25). Но мы все же рассмотрим, как ее можно решить самостоятельно — это поможет нам понять, как вообще проектируют логические схемы и как они устроены. Нам предстоит создать устройство из класса дешифраторов (хотя это в данном случае и не совсем точное название, но так принято их называть), т. е. дешифратор двоично- десятичного кода в семисегментный, который осуществляет операцию в со- ответствии с таблицей на рис. 21.2. Как проектируются такие устройства? В соответствии с моей принципиаль- ной установкой все максимально упрощать и без нужды во всякие теории не углубляться, мы не будем рассматривать "научные" методы типа "карт Кар- но", а построим дешифратор "в лоб" —т. е. составим логические уравнения и 2 затем нарисуем схему, которая их моделирует . Так как выходов у нас не один, а много — целых семь, то для каждого выхо- да придется писать свое уравнение. Входов четыре, и уравнение для каждого выхода должно выражать его состояние в зависимости от состояния этих че- тырех входов. По ходу дела придется вспомнить правила логического сложе- ния и умножения, а также правила де Моргана (см. главу 18). Итак, обозна- чим логическое состояние выходов через А, В, С и т. д., а состояния входов — через Х\, х2, х^ и х4 (где — младший разряд исходного двоичного кода, ах4 — старший). Сформулируем вслух первое уравнение, используя эти обозначения: "Выход А равен 0 тогда, когда х^ = 1 И х2 = О, И х?, = О, И х4 = О, ИЛИ тогда, когда %] = О И х2 = О, И х$ = 1, И х4 = 0" (см. таблицу на рис. 21.1). Можно сформулировать и соответствующее, притом равносильное предыду- щему утверждение для состояния А = 1, но оно получилось бы неоправданно длинным — у нас А принимает значение 0 только в двух из десяти случаев, а так пришлось бы расписывать все для восьми вариантов. Запишем полу- ченное словесное выражение в виде уравнения: А = (%! х х2 х х3 х х4) + (%i х х2 х х3 х х4). 2 Использование метода, известного под названием "карты Карно", не упрощает процедуру, даже усложняет ее, но зато оно позволяет сразу получить оптимальный (минимизированный) вид логических уравнений для каждого из выходов. Однако оптимальный вид для каждого выхода еще не означает оптимального вида для всей схемы с точки зрения экономии количест- ва и номенклатуры корпусов, кроме того, здесь мне важно разобрать сам принцип построения логических схем без лишних "наворотов".
356 Глава 21 Так как фактически наличествуют элементы с инверсией по выходу, то вспомним правила де Моргана и преобразуем: А = (JCj х х2 х х3 х х4) х (jiq х х2 х х3 х х4). Давайте сразу нарисуем по этому уравнению схему для управления сегмен- том "а" (рис. 21.3). Заметьте, что мы не стараемся использовать только двух- входовые элементы, как в предыдущей главе. 1 Рис. 21.3. Схема дешифратора для управления сегментом "а" Распишем уравнения для остальных выходов (я привожу только их оконча- тельный вид, без промежуточных выкладок): В = (%! Хх2 Хт3 Xl4)x(lj Хх2 X%3 ХХ4) С = ( X] X х2 X Х3 X х4) D = (Xj X х2 X Х3 X х4 ) X (Xj X х2 X Х3 X Х4 ) X (Xj X х2 X Х3 X х4) Е = (xlxx2xx3xx4)x(xlxx2xx3xx4)x (х} хх2 хх3 xx4)x(xt Хх2 Хх3 Хх4) F = (Х1ХХ2ХХ3ХХ4)Х(Х1ХХ2ХХ3ХХ4)Х (Xj X х2 х х3 X х4 ) X (Xj х х2 х х3 х х4) G = (Xj X х2 X х3 X х4 ) X (Х| X х2 X х3 X х4 ) X (Xj х х2 X х3 X х4 ) Для выхода Е число единиц меньше, чем нулей, поэтому уравнение получи- лось "наоборот". Можно было бы его оставить в виде логической суммы, а не произведения, подобно самому первому уравнению для выхода А, но в целях экономии типов элементов я его привел к виду, аналогичному всем остальным.
Закодированные. Коды, шифры и дешифраторы 357 Рис. 21.4. Полная схема дешифратора для управления семисегментным индикатором
358 Глава 21 Обратим внимание, что у нас встречаются одинаковые произведения четы- рех переменных в скобках, и типов этих произведений всего 9. Некоторые встречаются всего по одному разу, некоторые — по два и даже по три. С учетом этого обстоятельства и нарисуем полную схему дешифратора (рис. 21.4). Как видим, она довольно громоздкая. Нам требуется: 10 инверторов, 11 че- тырехвходовых И-НЕ, 2 трехвходовых И-НЕ, 2 двухвходовых И-НЕ. Под- считаем количество необходимых корпусов микросхем с учетом того, что в одном корпусе размещается 6 инверторов (561ЛН2, корпус DIP-16), по четыре двухвходовых элемента И-НЕ (561ЛА7, корпус DIP-14), по три трехвходовых элемента И-НЕ (561ЛА9, корпус DIP-14) и по два четырех- входовых элемента И-НЕ (561ЛА8, корпус DIP-14). Считаем: 2 корпуса ЛН2 (12 инверторов, 10 нужно по схеме, один используем, см. далее, один останется), 5 корпусов ЛА8 (10 четырехвходовых И-НЕ), 1 корпус ЛА7 (2 двухвходовых И-НЕ, еще один используем, см. далее, один останется), 1 корпус ЛА9 (2 трехвходовых И-НЕ, оставшийся элемент используем, см. далее). Из свободных одного двухвходового, одного трехвходового элементов И-НЕ и одного инвертора соорудим недостающий 11-й четырех- входовой элемент (рис. 21.5) — не вводить же еще один корпус только ради этого! Итого— 9 корпусов. Не забудем свободные входы незадействован- ных элементов (их осталось два — инвертор и элемент И-НЕ) присоединить к "земле" (или питанию) — если мы их не будем использовать (см. далее). Заметим, что схему можно оптимизировать, сэкономив несколько элемен- тов, но мы не будем этим заниматься, т. к. практически, надеюсь, ее никому воспроизводить не придется. По этой же причине мы здесь не приводим разводку выводов микросхем — в случае чего ее легко выяснить из табли- цы в главе 20 и по справочнику. Рис. 21.5. Схема четырехвходового элемента И-НЕ, собранного на основе двух- и трехвходового элементов
Закодированные. Коды, шифры и дешифраторы 359 Впрочем, один из напрашивающихся способов сокращения количества элементов я укажу — если убрать инверторы по выходам (а для выходов С и Е, наоборот, поставить, причем для С лучше поставить отдельный инвертор, а не использовать имеющийся в схеме инвертированный сигнал, причину см. далее), то все выходы станут инвертированными, и светящемуся элементу будет соответствовать состояние 0, а не 1. Это позволит сэкономить целый корпус с инверторами (для инвертирования выходов С и Е у нас есть свобод- ные элементы). Для управления цифровыми индикаторами изменение поляр- ности выхода принципиальной роли не играет — на случай таких "переворо- тов" специально выпускаются индикаторы двух видов, с общим катодом (т. е. зажигаемые подачей положительного напряжения) и с общим анодом (зажи- гаемые коммутацией на "землю"). Любопытно исследовать, что будет показывать индикатор, если подать на вход такого дешифратора комбинацию бит, выходящих за пределы двоично- десятичного представления числа. В самом деле, никто нам не запрещает по- дать на все четыре входа все единицы, правда? Для решения этой задачи надо просто подставить значения в выписанные выше уравнения. Я не буду здесь приводить все вычисления, изложу только конечный результат: при любом коде, который содержит 1 в старшем разряде, кроме кода 8 (1000), индикатор будет показывать цифру 9. Любопытно, не так ли? Но это прямое следствие того, что мы составляли уравнения для совершенно определенных комбина- ций, остальные комбинации просто игнорируются, приводя к тому, что сум- мы в скобках будут всегда равны 0 (а их инверсии — 1). Если бы мы захоте- ли интерпретировать "лишние" комбинации каким-то определенным образом (скажем, присвоить значение "1111" символу минус — одному из светящихся сегментов "g"), нам надо было бы расширить наши уравнения и, соответст- венно, добавить логических элементов. Отметим, что напрямую управлять сегментами светодиодного индикатора от этой схемы, т. е. прямо с выходов КМОП, вообще говоря, не рекомендуется. Хотя мне известны прецеденты, когда умельцы использовали свойство поле- вых транзисторов переходить в режим источника тока (см. главу 20) при пе- регрузке и запускали сегменты индикаторов напрямую от выхода КМОП- дешифратора даже без ограничительных резисторов. И все работало! Но тут следует учесть, что ток в таком режиме устанавливается довольно большой: от 5 мА при 5 В питания до 30 мА при 15 В (последнее, кстати, может быть выше предельно допустимого тока для целого ряда светодиодных индикато- ров). Если мы примем значение тока одного вывода 20 мА при 12—13 В пи- тания, например, от автомобильного аккумулятора, то легко подсчитать рас- сеиваемую кристаллом мощность при всех семи зажженных сегментах: она составит почти 2 Вт, что много превышает предельно допустимое значение для микросхем в корпусе DIP. Причем учтите, что выходы инверторов типа
360 Глава 21 ЛН2 более мощные3, чем у обычных логических элементов, так что ток мо- жет быть еще выше — но вот рассеиваемая мощность кристалла у них такая же. Резюме: режим включения светодиодов напрямую (или с небольшим ог- раничительным резистором) использовать можно, но: □ на свой страх и риск; □ при этом надо тщательно все считать. Учтите еще, что при токе через сегмент 20 мА яркость любого индикатора бу- дет запредельной, и к тому же в схеме с четырьмя, к примеру, индикаторами общий потребляемый ток (при индикации восьмерок во всех разрядах) соста- вит более 500 мА, что приведет к лишним затратам. Однако никто не запреща- ет подключать светодиоды и сегменты индикаторов к выходу КМОП через достаточно большие ограничительные резисторы (несколько сотен Ом), т. е. использовать их при токах 3—5 мА, что обеспечивает нормальную яркость у большинства импортных светодиодов и индикаторов. Разумеется, при этом те же самые выходы использовать для управления входами других элементов нужно с осторожностью — "просадка" напряжения может быть слишком вели- ка (в данной схеме это касается выхода С, поэтому лучше ставить для выхода С отдельный буферный элемент, как указано выше). Если же вы хотите все сде- лать совсем грамотно, то лучше устанавливать дополнительные ключевые транзисторы, причем это становится обязательным, если вы управляете доста- точно большим по размерам индикатором от схемы с основным напряжением питания 5 В, как чаще всего и бывает. Падение напряжения на сегменте такого индикатора может достигать 4,5 В и более (т. к. там в каждом сегменте уста- новлено по два LED последовательно), поэтому от напряжения на выходе мик- росхемы с учетом "просадки" он просто не будет светиться. Как правильно подключать управляющие транзисторы в таких случаях, мы разберем в главе 32, когда будем управлять индикатором при помощи микроконтроллера. Управлять же ЖК-индикаторами, которые тока практически не потребляют, естественно, можно напрямую, но следует учесть, что питать их сегменты следует от пульсирующего напряжения, иначе они "застынут" в одном со- стоянии — поэтому все равно придется ставить какие-то управляющие эле- менты по выходу нашей схемы4. 3 На самом деле микросхемы ЛН1 (шесть инверторов с разрешением), ЛН2 (просто шесть ин- верторов) и ПУ4 (шесть буферных элементов без инверсии) обеспечивают больший ток (до 40 мА в режиме к.з.) только при нулевом уровне на выходе, т. к., в принципе, они предназна- чены для управления ТТЛ-микросхемами, которые при уровне лог. 1 тока практически не по- требляют (см. главу 20). И в состоянии лог. 1 выходной каскад у них идентичен обычному. 4 Можно, например, использовать на выходе стробируемые (т. е. управляемые отдельным внешним импульсным сигналом) инверторы типа 561ЛН1, принудительно периодически пере- ключая их из активного состояния в состояние 0 и обратно с частотой 20—50 Гц.
Закодированные. Коды, шифры и дешифраторы 361 + ^ПИТ “ ^пит 16| 7| 8Т , 5 1 х2 2 Х3“ К561 ИД5 1^ь 11 _ 12-d 13 _ 15—f 1*-9 4 9 -— а 3 6 1 —— с ---- е Рис. 21.6. Разводка выводов дешифратора 561ИД5 В качестве примера дешифраторов двоичный/семисегментный код в инте- гральном исполнении можно привести микросхему 561ИД5, которая "заточе- на" под управление ЖК-дисплеями и обладает несколько расширенной функциональностью по сравнению с построенной нами схемой: так, она по- дает пульсирующий, как это полагается, сигнал на ЖК-сегменты, причем может быть использован расширенный в отрицательную сторону диапазон питания, так что микросхема может управлять большими люминесцентными индикаторами, для которых требуется повышенное напряжение. Кроме этого, в ней имеется возможность "защелки" состояния выходов, что важно, как мы увидим в главе 24, при использовании ее для управления индикацией состоя- ния счетчиков, а также может осуществляться индикация букв L, R, Р, Н и знака минус. Несложно приспособить эту микросхему и для управления све- тодиодными индикаторами — для этого придется поставить ключевые тран- зисторы по выходу, как описано выше. Разводка выводов этой микросхемы показана на рис. 21.6. На вход "защелки" Е следует подавать высокий уро- вень (лог. 1), когда нужно, чтобы результаты сменились, в противном случае состояние выходов a-g "зависнет" независимо от входных кодов. На вход F подают частоту несколько десятков герц. Если нужно управлять светодиод- ными индикаторами, для которых частота не требуется, то на вход F подают напряжение лог. 1.
362 Глава 21 Двоичный/десятичный дешифратор Среди дешифраторов мы познакомимся еще с одной разновидностью, кото- рая позволяет избавиться от надоевших двоичных величин и представить ре- зультат в привычным десятичном виде. То есть мы должны иметь устройст- во, имеющее десять различных и однозначно интерпретируемых состояний. Но, спросите вы, а разве семисегментный дешифратор не делает того же са- мого? В общем, да, — ответим мы, — но он преобразует двоичное представ- ление числа не в десятичный код, а именно в семисегментный, т. е. в пред- ставление десятичной цифры в виде принятого в европейской традиции символа, причем для отображения его на конкретном устройстве. Для полу- чения же однозначного десятичного кода удобнее всего иметь устройство, в котором есть десять выходов, нумерованных от 0 до 9, которые все нахо- дятся в состоянии лог. О, кроме выхода, номер которого соответствует вход- ному коду. Это легко интерпретировать как табло с десятью лампочками, подсвечивающими нужные цифры — в каждый момент только одну. Так мы будем иметь то, что "заказывали" — устройство, имеющее десять состояний выхода. 2 2 — К561 ИД1 — + 1Л1ИТ 1®3 1*1 13 — х2 х3 10 v ~ Х1 — 8 а Рис. 21.7. Дешифратор 561 ИД: а — разводка выводов; б — схема двоично/шестнадцатеричного дешифратора Мы не будем городить принципиальную схему, т. к. особенности построения таких схем вы уже достаточно изучили на примере управления семисегмент-
Закодированные. Коды, шифры и дешифраторы 363 ным индикатором, и сразу обратимся к благословенным производителям микросхем, которые за нас уже все, как водится, придумали. Это микросхема 561ИД1, разводка выводов которой приведена на рис. 21.7, а. Здесь цифрами 1—2—4—8 внутри прямоугольника, обозначающего микросхему, условно обозначены веса двоичных разрядов х\ - хд, что является общепринятым обо- значением для выводов микросхем, представляющих двоичное число. Сна- ружи цифрами 0—9 обозначены десятичные выходы. Ниже приведена таблица состояний для микросхемы 561ИД1, в том числе и для состояний выхода при входном коде, превышающем девятку (пустые клеточки означают нулевое состояние выхода). Мы наблюдаем тут почти ту же самую картину, что и в нашем дешифраторе — при бессмысленной с точ- ки зрения двоично-десятичного числа комбинации на входе выходы повто- ряют то восьмерку, то девятку, так что такой режим не представляет ничего интересного. Состояния дешифратора К561ИД1 Входы Выходы *2 *3 х4 0 1 2 3 4 5 6 7 8 9 0 0 0 0 1 0 0 0 1 1 0 0 1 0 1 0 0 1 1 1 0 1 0 0 1 0 1 0 1 1 0 1 1 0 1 0 1 1 1 1 1 0 0 0 1 1 0 0 1 1 1 0 1 0 1 1 0 1 1 1 1 1 0 0 1 1 1 0 1 1 1 1 1 0 1 1 1 1 1 1
364 Глава 21 На двух дешифраторах ИД1 можно построить аналогичный преобразователь двоичного кода в шестнадцатеричный. Его схема приведена на рис. 21.7, б. При значении входного кода менее 8 работает только верхняя микросхема — по таблице легко убедиться, что подача единицы на разряд равносильна запрету на дешифрацию состояний входов jq -ху Эту функцию выполняет инвертор, который во входном диапазоне чисел от 0 до 7 на выходе всегда имеет 1 и запрещает функционирование второй — нижней — микросхемы. Когда же входной код принимает значения 8 и выше, то на входе второй микросхемы оказывается фактически код, соответствующий тому же диапа- зону 0—7 (из входного кода вычитается восьмерка), и она выдает состояния для выходов 8—F всей схемы. При этом верхняя микросхема, в свою оче- редь, заперта состоянием единицы на хд, и неоднозначности не возникает. Выходы 8 и 9 у каждой из микросхем, естественно, не используются. Другие употребляющиеся в электронике двоичные коды мы частично рас- смотрим в главе 22, но следует отметить, что вообще их вариантов довольно много, и чаще всего эти варианты "заточены" под конкретные задачи, подоб- но семисегментному коду. Так что все, даже только широко известные, коды в этой книге рассмотреть нет возможности. Частично этот пробел может вос- полнить уже упоминавшаяся книга [10].
Глава 22 Страхуемся от ошибок. Как хранить и передавать информацию без искажений — Черт возьми, вы правы, Атос! — сказал Арамис. — Сочинить такое письмо — зада- ча очень щекотливая. Сам господин канцлер затруднился бы составить столь многозна- чительное послание, а господин канцлер очень мило сочиняет протоколы. А. Дюма, "Три мушкетера" В 1948 году уже упоминавшийся на этих страницах Клод Шеннон (см. гла- ву 18) опубликовал работу "Математическая теория связи" (Mathematical Theory of Communication). Шеннон поставил себе задачу проанализировать условия, при которых возможна передача информации без потерь (или с за- ранее оговоренными потерями) по линиям связи в условиях помех, т, е. по так называемым "зашумленным" линиям. Для начала ему пришлось приду- мать численную меру для информации — именно так возникло понятие бита (см. главу 19). Величина, противоположная информации, была названа тер- мином, пришедшим из термодинамики (где она означает меру неупорядочен- ности системы молекул газа)— энтропия. Чем больше информации, тем меньше энтропия, и наоборот. Позднее была показана строгая эквивалент- ность понятий физической и информационной энтропии — они означают од- но и то же, только в разных областях человеческого знания. Окончательно теория информации была оформлена в работах Шеннона 1957—60 гг., и некоторое время была очень модной во всех областях знания — от лингвистики до биологии. Сам Шеннон, впрочем, предупреждал насчет неправомерности излишне широкого толкования понятий информации и эн- тропии, но тогда его никто не слушал. В 1949 г. Шеннон опубликовал другой эпохальный труд под названием "Communication Theory of Secrecy Systems" ("Теория связи в секретных системах"), который положил начало современ- ной криптографии (см. главу 21). Все эти идеи работают в настоящее время
366 Гпава 22 повсюду, где передается и используется информация, так что за все заслуги Клод Шеннон, вероятно, более чем кто-либо другой, имеет право считаться основоположником века информационных технологий. Что, впрочем, ни в коей мере не должно умалять заслуг других великих — Чарльза Бэббиджа, Алана Тьюринга, фон Неймана, С. А. Лебедева... Идеи, легшие в основание "Математической теории связи" служат яркой ил- люстрацией положения, которое было мной озвучено при рассказе о теорети- ческих основах построения систем регулирования (см. главу 15). А именно — теория, как бы она ни была далека от практической жизни, часто может нам указать на нечто, о чем мы не могли даже и подозревать, если бы этой теории не существовало. Причем в данном случае речь идет о более чем практиче- ских делах. Десятилетиями инженеры считали, что чем хуже качество канала связи (т. е. чем больше в нем шумов), тем медленнее нужно передавать дан- ные— и все образуется. Например, если передавать точки-тире азбукой Морзе (фактически— прямоугольные импульсы напряжения) по проводам на расстояния от Европы до Америки, то при быстрой передаче они могут просто потеряться — как мы знаем, проводная линия есть распределенный интегрирующий RC-фильтр, да еще на это дело накладываются шумы, кото- рые могут быть приняты за точки и тире. Так давайте удлиним каждый им- пульс насколько возможно — и вероятность что-то перепутать или потерять резко уменьшится. Разве это не очевидно? Оказалось, что на самом деле все не так — точнее, не совсем так. Каждая ли- ния имеет свой физический предел пропускной способности — если частота импульсов выше, чем частота среза соответствующего ФНЧ, естественно, мы ничего передать не сможем, и тут против природы не попрешь. Однако в ли- нии с шумами совершенно нет никакой необходимости снижать саму по себе скорости передачи — Шеннон указал метод, который в принципе позволяет приблизиться к физическому пределу сколь угодно близко. Практических реализаций этого метода очень много, но все они основаны на одном: а именно на понятии избыточности информации. Понять, что такое избыточность, очень легко на примере обычной разго- ворной или письменной речи. Классический пример передачи избыточной информации по зашумленному (в прямом смысле) каналу представляет со- бой передача слова по буквам при диктовке по телефону: "... запишите фа- милию ученого — Шеннон, повторяю по буквам: Шура, Евгения, Николай, Николай, Ольга, Николай". Информация тут очень избыточна, и перепутать практически ничего нельзя — даже если вы не расслышите половину букв ("...ура, Е...ген..., Н...ко..., ...олай, Оль..., ...кол..."), исходный текст со- общения восстановить достаточно просто. В крайнем случае, можно попро-
Страхуемся от ошибок. Как хранить и передавать информацию без искажений 367 сить повторить — вероятность того, что при повторе потеряются в точно- сти те же буквы, исчезающе мала. Повтор — один из методов внесения из- быточности. Сама по себе человеческая речь с точки зрения теории информации очень избыточна— сможете ли вы расшифровать фразу "пшт псьм д встрбвн"? Конечно, это означает "пишите письма до востребования" — только без единой гласной буквы! Теоретики подсчитали, что русский язык избыточен более чем на 50, а английский — даже на 60%. Кроме того, в речи огром- ную роль играет контекст, который сам по себе есть очень важная избы- точная информация, которой, как предполагается, мы уже обладаем: на- пример, само по себе словосочетание "тридцать шесть и тридцать две" вообще не несет в себе информации, пока мы не узнаем, что это последняя котировка нефти марки "Брент" на лондонской бирже. Но и тут эта инфор- мация бесполезна, пока нам не объяснят, что это цена за баррель в USD. Причем еще надо знать, что баррель — это 180 литров, a USD — американ- ские доллары. И все же и тогда для нас это малоинформативное сообщение, пока мы не узнаем как минимум еще несколько вещей: что вчера котировки были меньше, а месяц назад вообще не превышали тридцати долларов, что Россия живет за счет нефти, и потому котировки эти напрямую сказывают- ся на нашем благосостоянии и притом двояким образом..., но довольно чи- тать политинформацию, надеюсь, вы уяснили главное: чтобы передать ин- формацию, которая представляет собой человеческие знания адекватно, недостаточно просто передать сообщение. Формально нужно одновременно с ним передать и весь контекст, что задача эта едва ли практически разре- шима, т. к. контекст этот есть в пределе весь опыт, который человек накап- ливает за жизнь. Именно на этот счет предостерегал ученое сообщество сам Шеннон, когда выступал против слишком широкого толкования понятия информации, именно этим обусловлены, к примеру, трудности машинного перевода, и именно поэтому термин "базы знаний" из научного термина постепенно стал просто расхожим рекламным слоганом для производите- лей соответствующего ПО — создать их так и не удалось. Обратите внимание, что сама по себе фраза "тридцать шесть и тридцать две" при этом подходе обладает минимальной избыточностью — если, конечно, не считать собственной избыточности языка в смысле наличия "необязатель- ных" букв. Цели сокращения избыточности служат и различные профессио- нальные жаргоны и арго, как в примере фразы на языке московской шпаны из главы 21, но в любом случае в этом участвует скрытая избыточная инфор- мация в виде знаний конкретного человека.
368 Гпава 22 Экономичные коды Но вернемся к информации, представленной в цифровом виде. Об аналого- вых ее разновидностях мы говорить не будем, считая, что все аналоговое можно представить в виде набора цифр (подробнее мы остановимся на этом вопросе в главе 25 при рассказе про АЦП и ЦАП). Итак, для представления символов обычно используются равномерные коды типа ASCII (см. главу 21). Легко подсчитать, что для представления 52 латинских букв (прописных и строчных), 10 цифр и примерно полутора десятков специальных знаков (прежде всего, пробела, а также точки, запятой, кавычек, плюса, минуса и т. п.) с запасом хватит 128-ми вариантов, т. е. числа 2 — двоичного се- миразрядного числа. Именно поэтому код ASCII — семибитный. Но кроме английского языка есть и другие, поэтому очень удобно в качестве равно- мерного кода использовать байт, который имеет 256 вариантов. Для того чтобы уместить в представлении символа все языки сразу, используют и большее количество разрядов (пример — двухбайтовый Unicode), но их все равно передают побайтно, поэтому мы остановимся на восьмиразрядном коде. Неэкономичность равномерного кода легко понять из-за наличия не- значащих нулей — в самом деле, при посылке, скажем, кода символа " 1" — "ООП 0000", два нуля слева в принципе можно было бы и не посылать. Но, как мы видели на примере азбуки Морзе, при этом коды имели бы не- одинаковую длину, и пришлось бы вводить знак "пауза" для разделения кодов, что еще хуже, чем избыточность равномерного кода, т. к. пришлось бы посылать его каждый раз. Другая причина неэкономичности кодов типа байтового двоичного — они сами по себе избыточны, т. к. число допусти- мых комбинаций обычно больше необходимого, в результате чего, напри- мер, код "0000 0000", как и некоторые другие, практически не использу- ют— точнее, нулевой код как раз очень даже используют, но не для представления символов как таковых. Хорошо бы кодировать символы последовательностями переменной длины и, кроме того, именно столько символов, сколько нужно. Решить эту задачу не- сложно — надо только кодировать символы так, чтобы более короткие по- следовательности, в отличие от случая азбуки Морзе, никогда не повторяли начало более длинных. (Морзе простим — он изобретал свою азбуку тогда, когда не только этого решения, но самой постановки задачи не существова- ло.) Жертва, которую придется при этом принести— большая сложность расшифровки, чем в случае равномерных кодов. Далее в таблице приведен пример экономичного кодирования алфавита из шести символов с различными частотами, который взят из книги [28].
Страхуемся от ошибок. Как хранить и передавать информацию без искажений 369 Номер буквы Частота встречаемости Код 1 0,4 1 2 0,2 01 3 0,2 001 4 0,1 0001 5 0,05 00001 6 0,05 00000 Это так называемый код Шеннона — Фано, который строится по следующей методике: сначала нужно расположить буквы в порядке убывания частоты (вообще-то частота встречаемости букв есть оценка соответствующей веро- ятности, но мы будем пользоваться термином частота, что более корректно). Затем на первом шаге все буквы разбиваются на две группы — верхнюю и нижнюю — так, чтобы суммы частот для каждой из этих групп были прибли- зительно одинаковыми (не нарушая порядка). В данном случае в одну группу попадает всего один самый верхний символ, во вторую — все остальные. Для букв первой группы в качестве первого символа кода используется 1, для второй— 0 (в принципе можно и наоборот). Затем каждую из двух групп опять делим по тому же принципу примерного равенства частот на две и для каждой из получившихся более мелких групп выбираем второй символ ко- да— для верхней 1, для нижней 0. Если бы группы у нас были равными, то на этом этапе получились бы коды 11, 10, 01 и 00, но в нашем случае на са- мом первом шаге в верхней группе всего один символ (и на последующих шагах будет то же самое), так что код с первой 1 у нас всего один. Такие ша- ги повторяют до того момента, пока в любой из групп не останется всего один символ. Метод Шеннона — Фано дает код, обладающий следующим свойством — количество информации, которое содержится в каждой цифре кода, максимально. Хотя в нем встречаются, как видим, и пятизначные коды, но среднее число бит, которое мы должны будем пересылать, равно 2,3. Если мы учтем, что теоретический предел равен 2,22, а при использовании равно- мерного кода нам пришлось бы пересылать 3 бита (т. е. примерно на 25% больше), то поймем, зачем нужно использовать такой код. Причем можно построить еще более экономичный код (и еще более трудный для расшифровки) — если кодировать не символы, а их сочетания. Известно, что, скажем, сочетание "про" встречается куда чаще, чем "пру" (загляните в словарь), а многие сочетания ("щйк") вообще не встречаются. Дело тут ос- ложняется тем, что для получения действительно экономичного кода нужно определить частоты для этих сочетаний, что еще для двухбуквенных вариан-
370 Гпава 22 тов сделать реально, но уже для трехбуквенных и выше — очень сложно. По- этому я даже не могу с уверенностью сказать, используются ли подобные вещи на практике. Метод Шеннона — Фано не единственный для построения экономичных кодов, кроме него известен еще более общий метод Хаффмана. Передача в линии с помехами Все сказанное относится к передаче по линиям без помех. Отметим, что на практике вы будете иметь дело большей частью именно с такими случаями, т. к. вероятность возникновения ошибки при передаче бита по проводникам на одной плате между микросхемами очень мала, и при этом борются с самой помехой, а не с ее последствиями — правильной разводкой питания (см. главу 10) и увеличением помехоустойчивости самих микросхем (см. главу 20). При пе- редаче информации на большие расстояния через компьютер вы сами обычно дела с избыточностью не имеете, а просто посылаете нужный символ — ос- тальное делает за вас аппаратура. Однако при проектировании электронных устройств вам придется, как правило, делать все самому— скажем, микро- контроллеры могут обеспечивать передачу данных по последовательному порту, но организовывать при необходимости проверку на четность (см. да- лее) и на приемном и на передающем конце вам придется, что называется "ручками". Поэтому разберем, как это в принципе делается — хотя бы в про- стейших случаях. Разумеется, передавать хоть равномерные, хоть экономичные коды в чистом виде в случае наличия помех уже не удастся — если мы, конечно, хотим из- бежать ошибок. Но, как мы говорили ранее, саму по себе скорость передачи снижать при этом не требуется — придется просто передавать больше бит. Это, конечно, равносильно некоторому Снижению скорости (т. к. доля полез- ной информации в общем объеме передаваемых данных при этом снижает- ся), однако такое изменение прежде всего намного удобнее тем, что резуль- тат будет гораздо более предсказуем и мало зависим — в определенных пределах — от особенностей конкретной линии передачи. Мало того, увели- чением избыточности можно даже добиться того, что значительную часть ошибок можно будет исправить, не прибегая к повторной передаче! Великий фон Нейман в одной из своих статей так проиллюстрировал прин- цип избыточности в применении к представлению цифр (я излагаю его идею своими словами): предположим, что мы считаем в простейшей непозицион- ной системе счисления. Напомним (см. главу 19), что в непозиционной сис- теме счисления мы просто суммируем результаты счета без всяких разрядов, и в простейшем случае это просто палочки или черточки на бумаге. Допус- тим, мы хотим досчитать до миллиона. Для этого нам придется выложить
Страхуемся от ошибок. Как хранить и передавать информацию без искажений 371 миллион палочек, однако результаты счета будут очень устойчивы к возмож- ным ошибкам: действительно, от того, что мы недоложим или переложим с десяток-другой палочек, результат изменится крайне незначительно. Со- вершенно другая картина будет, если использовать позиционную, например, двоичную систему: в ней число миллион выразится намного экономнее, с помощью всего 20 разрядов (как "11110100 0010 0100 0000"), но одна- единственная ошибка в старших разрядах может исказить результат принци- пиально, скажем, число "0111 0100 0010 0100 0000", которое отличается от исходного всего одним битом, будет совсем не миллион, а всего-навсего 475 712. Какой же выход— пересылать миллион битов вместо 20? К сча- стью, этого не требуется. Вместо этого используются разные методы, которые сводятся к тому, что мы добавляем к исходному числу (или к целой совокупности таких чисел) несколько "лишних" битов, но не просто так, а по определенному закону. А на приемном конце мы, пользуясь тем же законом, эти числа проверяем. В простейшем случае это позволяет нам установить наличие ошибки и, на- пример, послать повторный запрос, в более сложных — мы даже можем вос- становить ошибочные биты, не прибегая к повторному запросу. Рассмотрим простейший вариант, который применяется (или до недавнего времени при- менялся) почти во всех системах передачи данных, где ошибки достаточно редки, но очень критичны. К таким системам относится, скажем, обмен дан- ными между памятью (как ОЗУ, так и жестким диском) и процессором в компьютере. Вероятность ошибок там очень невелика— примем, что она составляет порядка одной на миллион (т. е. 10-6), хотя на самом деле она су- щественно меньше. Однако учтите огромный объем перекачиваемых дан- ных — даже относительно медленные жесткие диски могут обмениваться информацией со скоростью, не меньшей, чем десятки мегабайт в секунду, так что ошибки будут возникать довольно часто. Между тем, сбой даже в одном бите из сотен миллиардов передаваемых может привести к зависанию про- граммы или к чему еще похуже. Разбираемый нами метод известен под названием "проверка на четность" и заключается в следующем: к каждым восьми битам, составляющими байт, добавляется еще один — девятый — бит четности, таким образом, чтобы общее количество бит, равных 1, было бы всегда четным (или, наоборот, нечетным, это неважно). На приемном конце мы проверяем четность приня- того числа и, таким образом, знаем, что если пришел девятиразрядный код с нечетным количеством битов, то в нем ошибка, потому что этого не может быть. Увеличение количества передаваемых данных, т. е. избыточность, здесь получается равной всего 12,5%. Конечно, остается вероятность того, что ошибки возникнут одновременно в двух разрядах девятибитного числа
372 Гпава 22 и компенсируют друг друга, однако эта вероятность на много порядков меньше, чем у однократной ошибки. Я не буду углубляться в теорию вероят- ностей, а просто приведу результат: при исходной вероятности ошибки 10’6 вероятность необнаруженной ошибки при использовании проверки на чет- ность будет равна 3,8 • 10-П, т. е. снизится в 30 тысяч раз! Причем чем мень- ше сама исходная ошибка, тем более эффективным становится метод провер- ки на четность. Метод не обнаруживает примерно половину двойных ошибок, которые заключаются в том, что одновременно изменились два бита. Если это произошло одновременно с нулями или одновременно с единицами, то четность не изменится и ошибка будет пропущена. Рис. 22.1. Схема проверки на четность для девятибитного числа Если вы сталкивались вплотную с компьютерами, то, вероятно, помните, что еще недавно модули памяти содержали не 8, а 9 микросхем — лишняя мик- росхема как раз и предназначена была для хранения битов четности (см. гла- ву 28). Теперь же, в связи с увеличением объема памяти, ее разрядности и скоростей передачи метод проверки на четность себя исчерпал, и исполь- зуются другие, более эффективные методы.
Страхуемся от ошибок. Как хранить и передавать информацию без искажений 373 Простейшая схема для проверки на четность — элемент Исключающее ИЛИ, если вы внимательно посмотрите на таблицу его состояний, то увидите, что он это самое и делает, т. к. на выходе у него 1 тогда, когда сумма входов нечетна и 0 — когда она четна. На рис. 22.1 приведена схема простого девя- тиразрядного устройства для проверки четности, которое может использо- ваться как на приемном конце для проверки, так и на передающем для того, чтобы формировать девятый бит. На выходе схемы будет лог. О, если число единиц во входном коде четно и лог. 1 — если нечетно. Подобное устройство в серии 561 реализовано в виде отдельной микросхемы, работающей с трина- дцатью разрядами — 561СА1. При проверке девятиразрядных чисел незадей- ствованные входы надо присоединить к лог. 0. А как можно построить код с исправлением ошибок? Догадаться, как это сделать, непросто, но теория в лице К. Шеннона и другого замечательного ученого — Р. Хэмминга нам поможет. Шеннон еще в "Теории связи" рас- смотрел пример с четырьмя информационными битами, который я сейчас буду разбирать, а Хэмминг в 1950 г. решил задачу в общем виде для любых кодов. Предположим, мы используем четырехзначный двоичный код (т. е. полу- байт— с его помощью можно закодировать 16 различных символов). Обозна- чим его биты как а^, щ, «2 и as. Добавим к нему еще три контрольных бита а4, as и ас, таким образом, чтобы в каждом случае были четными три суммы1: Sj — а$ + а\ + а2 + а^ ^2 = «о + + as + as S3 — а$ + а2 + а^ + а^ Вот 16 семизначных кодов, которые удовлетворяют этому условию: ООО 0000 101 0100 011 1000 011 1100 111 0001 001 0101 001 1001 100 1101 0110010 110 0110 101 1010 000 1110 100 ООП 001 0111 010 1011 1111111 На приемном конце мы будем проверять на четность все три суммы S. Если хотя бы один из 7-ми сигналов был принят неправильно, то хотя бы одна из сумм окажется нечетной, поэтому: □ если все суммы четные, то либо все правильно, либо произошла необна- руживаемая двойная ошибка; 1 Я вперемешку употребляю выражения "четная сумма" и "четное количество единиц" — легко понять, что это одно и то же.
374 Гпава 22 □ если нечетная одна сумма, то неверно принят один из контрольных битов («4, С15 ИЛИ Яб); □ если нечетные две суммы, то неверно принят тот из битов, который вхо- дит одновременно в эти две суммы (ai, сь или аз); □ если нечетные все три суммы, то неверно принят бит а0- Как видим, во всех вариантах ошибку легко исправить — если только это не была необнаруживаемая двойная ошибка. Увеличением количества кон- трольных битов можно справиться и с этой ситуацией. Я не привожу варианты кодов для восьмиразрядных чисел — при нужде их легко подсмотреть в литературе или получить самому с учетом того обстоя- тельства, что контрольных битов при этом должно быть пять (т. е. результи- рующий код будет тринадцатиразрядным, что и объясняет количество разря- дов, с которыми может действовать микросхема 561СА1 — ее разработчики оказались весьма предусмотрительны). Вообще эта глава по необходимости носит скорее ознакомительный, чем практический характер — тема уж боль- но обширна, а на любительском уровне, к счастью, приходится сталкиваться с подобными вещами редко. Но если вдруг вам придется изобретать подоб- ные системы передачи, то теперь вы знаете, как это делается.
Глава 23 Импульсные устройства. Генераторы, формирователи и одновибраторы Сердце молодого гасконца билось так силь- но, что готово было разорвать ему грудь. Видит бог, не от страха — он и тени страха не испытывал — а от возбуждения. А. Дюма, "Три мушкетера" Из описания устройства логических элементов (см. главу 20) ясно, что любой логический элемент есть, в сущности, не что иное, как усилитель. Мы даже упоминали там, что логические микросхемы иногда используют в качестве аналогового усилителя. В самом деле, с формальной точки зрения, между ин- вертирующим усилителем на ОУ без обратной связи (т. е. включенным в ре- жиме компаратора) и логическим инвертором разницы нет никакой, кроме того, что инвертор имеет всего один (инвертирующий) вход, а не два (инверти- рующий и неинвертирующий), как у ОУ. Входной сигнал у логического инвер- тора при этом сравнивается с одним наперед заданным порогом (порогом пере- ключения, который у КМОП-элементов будет равен примерно половине напряжения питания), так что не будет большой ошибкой представлять логиче- ский элемент компаратором, у которого неинвертирующий вход раз и навсегда присоединен к определенному напряжению. Правда, операционным усилителем логический элемент будет очень плохим — коэффициент усиления у КМОП- элементов составляет всего несколько десятков в отличие от сотен тысяч и миллионов у ОУ и компараторов. И все же, если ввести стабилизирующую об- ратную связь, которая выводит логический элемент в линейный режим, то он вполне способен усиливать аналоговые сигналы. На схеме рис. 23.1 в таком усилителе используется три инвертора, включенных последовательно с целью увеличения собственного коэффициента усиления без обратной связи. Разуме- ется, как мы и говорили в главе 20, выдающихся характеристик от такого уси- лителя ждать не приходится, но схема вполне работоспособна. В схеме можно использовать как инверторы из микросхемы 561ЛН2, так и объединенные по входам .элементы И-НЕ или ИЛИ-HE (561ЛА7 или ЛЕ5), причем последние предпочтительнее из-за большей симметричности выхода.
376 Гпава 23 Рис. 23.1. Схема аналогового усилителя на КМОП-инверторах Генераторы Если логический элемент с помощью обратной связи можно вывести в линей- ный режим, то этот прием можно применять и в других случаях, традиционно требующих аналоговой техники. До сих пор мы рассматривали только два спо- соба построения генераторов колебаний — один раз это был релаксационный генератор коротких импульсов на однопереходном транзисторе (рис. 11.3) для фазового управления тиристорами, второй раз — чисто аналоговый генератор синусоидальных колебаний на ОУ (рис. 14.6). Так как синусоидальные коле- бания в цифровой технике не нужны, то рассмотрим релаксационные генера- торы прямоугольных импульсов. Не составляет сложностей построить такой генератор на ОУ (рис. 23.2, а). Работает он следующим образом. Мы помним, что в первый момент заря- жающийся конденсатор эквивалентен короткозамкнутой цепи. Поэтому по- сле включения питания коэффициент усиления по инвертирующему входу будет равен бесконечности, и на выходе ОУ будет фактически положитель- ное напряжение питания. Конденсатор начнет заряжаться через резистор R1, но в силу большого коэффициента усиления ОУ напряжение на выходе оста- нется вблизи напряжения питания, пока потенциал на конденсаторе не дос- тигнет порога, заданного делителем R2/R3 — в данном случае, половины по- ложительного напряжения питания. Тогда выход ОУ скачком перебросится в состояние, близкое к отрицательному напряжению питания, и конденсатор начнет разряжаться через тот же резистор R1. Напряжение на неинверти- рующем входе окажется равным половине отрицательного напряжения пита- ния, и, чтобы привести схему в первоначальное состояние, конденсатору придется перезарядиться до этого напряжения. Затем все повторится сначала. Таким образом на выходе мы получим меандр с периодом, который опреде- ляется параметрами RC-цепочки (см. формулу на рис. 23.2, а)1. Здесь можно 1 А на инвертирующем входе, между прочим, напряжение, очень близкое к треугольной форме, которое можно где-нибудь использовать (например, см. приложение 3, работу усилителей класса D). если подключить потребителя через отдельный развязывающий повторитель.
Импульсные устройства. Генераторы, формирователи и одновибраторы 377 применять любой ОУ или компаратор, который способен работать в нужном диапазоне напряжений питания. Отметьте, что если исключить из рассмотре- ния интегрирующую цепочку R1C1, то остальная часть схемы есть упрощен- ный вариант компаратора с гистерезисом, приведенного на рис. 15.4. Для то- го чтобы генератор работал от одного напряжения питания, придется неинвертирующий вход подключить в точности так же, как там — к искусст- венной средней точке. Подобные генераторы ранее были широко распро- странены, и поныне разными производителями выпускается специальная микросхема, которая известна под названием "таймер 555" и может служить как в качестве генератора, так и одновибратора, т. е. формирователя одно- кратных импульсов, в том числе большой длительности. Вообще для микро- схемы 555 было в свое время придумано около 500 различных применений! Но с появлением микроконтроллеров и дешевых кварцевых резонаторов это дело сошло на нет — с их помощью можно получить все то же самое, но го- раздо точнее. Рис. 23.2. Схемы релаксационных генераторов: а — на ОУ, б — зуммер на реле б На схеме рис. 23.2, б приведена схема генератора на одном реле, которую мы уже один раз рисовали (рис. 7.3) — это не что иное, как простейший элек- тромеханический зуммер, т. е. звонок. Естественно, здесь частота на выходе схемы не регулируется и зависит, как мы указывали в главе 7, только от ме- ханической инерции подвижных деталей реле (ее грубо можно оценить, зная время срабатывания для конкретного типа реле, один полупериод колебаний зуммера будет равен именно этому времени). Перерисовывал я эту схему не зря — в виде, показанном на рис. 23.2, б в ней легко узнать релейный инвер- тор с рис. 18.3, у которого выход управляет входом. Не получится ли провес- ти тот же самый фокус, если замкнуть вход с выходом у обычного инвертора 13 Зак. 710
378 Гпава 23 в интегральном исполнении? К сожалению, нет — ранее мы видели, что та- кое включение просто выведет инвертор в режим усилителя. Что же надо предпринять, чтобы логический элемент тоже "загенерил"? Очевидно, в него надо дополнительно ввести элемент положительной обратной связи (ПОС), как это сделано с помощью гистерезиса в схеме на рис. 12.2, а. Причем тео- рия гласит, что для получения устойчивых колебаний необходимо, чтобы действие отрицательной обратной связи (ООС) отставало от действия ПОС — именно это и происходит в схеме на компараторе за счет использо- вания RC-цепочки и в зуммере за счет механической инерции деталей. Дей- ствие только одной ПОС приведет к тому, что выход устройства "зависнет" в одном из крайних положений, а одной только ООС — как мы знаем, к тому, что на выходе установится некое среднее состояние равновесия2. Вместе они дадут то, что надо. Существует огромное количество схем мультивибраторов, т. е. генераторов прямоугольных колебаний, реализующих вышеуказанные теоретические по- ложения. Признаюсь, что мне даже невдомек, зачем в пособиях их обычно приводится так много, если они все равно делают в принципе одно и то же, и нет никакого смысла городить схемы с двумя RC-цепочками на пяти инвер- торах, если можно обойтись всего двумя инверторами и одной цепочкой. Ес- ли кому любопытно, то не меньше десятка разнообразных схем можно найти только в одной книге [15], и этим их многообразие далеко не исчерпывается. Я приведу только одну из них, выбранную из многих с точки зрения мини- мального количества используемых компонентов, и два ее варианта, разница между которыми заключается в используемых элементах (И-НЕ или ИЛИ-НЕ). Схема по рис. 23.3, а — базовая. При включении питания она начинает рабо- тать сразу и, как и остальные схемы подобного рода, выдает меандр с разма- хом от 0 до t/пит- Частота на выходе определяется параметрами R1 и С1: пе- риод Т ~ 2R1C1. Резистор R2 в этом деле практически не участвует и нужен только для того, чтобы оградить защитные диоды микросхемы от перегрузки током разряда конденсатора С1. Величина его может изменяться от сотен Ом до нескольких кОм, при условии, что он много меньше R1 (о необходимости установки этого резистора см. далее). Величина же резистора R1 может из- меняться от единиц кОм до 10 МОм, что есть достаточный диапазон для то- го, чтобы избежать искушения при малых частотах использовать электроли- тические конденсаторы — напомним, что они очень нестабильны при работе во времязадающих цепях. Поэтому конденсатор С1 может применяться лю- бой, с емкостью, начиная от нескольких десятков пФ, только неэлектролити- 2 Сравните поведение одновибраторов (конец этой главы), в которых ООС наличествует, и RS- триггеров (см. главу 23), в которых присутствует только ПОС.
Импульсные устройства. Генераторы, формирователи и одновибраторы 379 ческий. Практически указанные параметры элементов позволяют получить частоты от сотых долей герца вплоть до верхней границы рабочей частоты КМОП-микросхем в 1—2 МГц. Для получения более высоких частот целесо- образно использовать быстродействующие КМОП-серии, а не ТТЛ, т. к. там ограничения совсем другие — например, резистор R1 не должен выходить за пределы 0,5—2 кОм. Рис. 23.3. Схемы мультивибратора на логических элементах: а — базовая схема на инверторах, б — схема на двухвходовых элементах с управлением; в — диаграмма состояний схемы на двухвходовых элементах И-НЕ; г — диаграмма состояний схемы на двухвходовых элементах ИЛИ-НЕ Если в схеме на рис. 23.3, б объединить входы логических элементов между собой, она превратится в схему по рис. 23.3, а (чаще всего именно так базо- вую схему и делают). Но дополнительные входы можно и использовать для управления генерацией. Нередко возникает задача на время остановить гене- рацию и при этом обеспечить совершенно определенный логический уровень на выходе генератора. Эти задачи как раз и решаются с помощью дополнитель- ных входов. Диаграммы состояния выхода в зависимости от состояния входов при использовании разных типов логических элементов приведены на рис. 23.3, виг. Запоминать эти диаграммы нет необходимости, если обра- титься к рис. 20.7. Из него следует, как описано в главе 20, что единица на входе И-НЕ и ноль на входе ИЛИ-НЕ являются разрешающими уровнями, следовательно, при этих уровнях на управляющих входах наша схема будет функционировать, как если бы эти входы были объединены, т. е. подобно
380 Гпава 23 схеме на рис. 23.1, а. При запрещающих же уровнях на входе уровень на вы- ходе будет устанавливаться так, как если бы никаких RC-цепочек не сущест- вовало. Рис. 23.4. Схема звуковой сигнализации с динамиком на выходе Простейшие применения схемы с управлением — генерация пачек импуль- сов (если управляющий вход одного генератора присоединить к выходу дру- гого, с меньшей частотой) либо решение задачи приостановки генератора на время переходных процессов при включении питания, для чего по управ- ляющему входу нужно поставить простейшую интегрирующую RC-цепочку, как в схеме задержки (см. далее). На рис. 23.4 показана схема звуковой сиг- нализации на одной микросхеме 561ЛА7 и одном транзисторе— пример случая, когда требуется определенный логический уровень при выключенной генерации, чтобы избежать протекания постоянного тока через динамик и не ставить при этом разделительный конденсатор. Схема выдает сигнал около 500 Гц с периодом повторения около 0,5 с, если на управляющий вход подать сигнал высокого уровня. При сигнале низкого уровня на управляющем входе, на выходе также низкий уровень, и постоянный ток через динамик не течет. Транзисторный каскад лучше питать нестабилизированным напряжением от входа стабилизатора питания микросхем, потому что тогда достаточно мощ- ные импульсы тока через динамик будут фильтроваться стабилизатором и не окажут вредного воздействия на остальные элементы схемы. Кроме того, кол- лекторное напряжение насыщения транзистора КТ972 составляет около 1,5 В,
Импульсные устройства. Генераторы, формирователи и одновибраторы 381 поэтому при питании от 5-вольтового источника звук может быть достаточно тихим. В случае же питания цепи динамика и микросхем от одного и того же источника нужно разделить их RC-фильтром, как показано пунктиром на рис. 23.4. Номинал базового резистора выбран в расчете на напряжение питания микросхем 5 В, тогда ток на выходе логического элемента составит около 1 мА, и выходной каскад не будет перегружаться. Динамик можно за- менить и на пьезоэлектрический звуковой излучатель, тогда дарлингтонов- ский транзистор ставить не обязательно. А о пьезоэффекте мы сейчас под- робнее и поговорим. Кварцы Точность поддержания частоты в вышеприведенных схемах невысока. Час- тота "уходит" примерно на 10—20% при изменении напряжения питания от 5 до 15 В и в достаточно большой степени зависит от температуры (использо- вание высокостабильных резисторов и конденсаторов не поможет и потому нецелесообразно). Чтобы избавиться от этого, необходимо использовать кварцевый резонатор (в просторечии— просто кварц). Здесь не место для того, чтобы подробно излагать принципы работы кварцевого (или реже упот- ребляемого керамического, который обладает несколько меньшей стабиль- ностью) резонатора — это нужно делать в курсе радиотехники в сравнении со свойствами колебательного контура. Вкратце дело заключается в следую- щем: если приложить к кварцевому параллелепипеду, выпиленному из цело- го кристалла в определенной ориентации относительно его осей, напряжение, то кристалл деформируется (очень не намного, но все же достаточно, чтобы на этом принципе даже делать прецизионные манипуляторы, например, для электронных микроскопов). Имеет место и обратный эффект— если такой кристалл деформировать, то у него на гранях появляется разность потенциа- лов. Получается, что если мы включим такой кристалл в схему с обратной связью, то она начнет генерировать, причем частота генерации будет зави- сеть исключительно от размеров кристалла— и ни от чего больше! Как, спросите вы, даже от температуры не будет зависеть? Да от нее же зависит вообще все на свете— и геометрические размеры в первую очередь! Вот именно— пьезоэлектриков, как называют вещества, ведущие себя подобно кварцу, много, но используют именно кварц, т. к. он помимо пьезоэлектриче- ских свойств, обладает еще и одним из самых низких температурных коэф- фициентов расширения. В результате кварцевые генераторы без каких-либо дополнительных ухищрений дают погрешности порядка 10-5 — т. е. уход часов с таким генератором составляет не более 1 секунды в сутки. Именно распространение кварцевых генераторов привело к тому, что все измерения сейчас стараются свести к измерению интервалов времени — к этому вопро-
382 Гпава 23 су мы еще не раз вернемся. Но помимо этого на кварцах работают все быто- вые электронные часы, и вообще, в любом современном бытовом электрон- ном устройстве вы обязательно найдете кварц. Причем природа приготовила здесь и еще один подарок — т. к. сам кварц является полным изолятором, то никаких токов через него не течет, и кварцевые генераторы в сочетании с КМОП-микросхемами почти не потребляют энергии, кроме описанных в предыдущей главе потерь в самом элементе. 62 пф Рис. 23.5. Схема кварцевого генератора на КМОП-инверторе Все почти без исключения кварцевые генераторы в цифровой технике строят по одной и той же схеме, которая очень проста и требует всего один инвер- тор, резистор и два конденсатора. Схема эта показана на рис. 23.5, и вы убе- дитесь в дальнейшем, что в точности так же, например, устроен тактовый генератор у некоторых микроконтроллеров. Параметры всех элементов мож- но менять в довольно больших пределах — так, емкость конденсаторов мо- жет меняться от 20 до 200 пФ (причем они не обязательно должны быть оди- наковыми), а сопротивление резистора — от 100 кОм до 10 МОм. Однако целесообразно использовать как можно меньшие емкости и как можно боль- шие сопротивления, иначе возрастает потребление от источника питания. Иногда для дополнительного снижения потребления последовательно с кварцем со стороны выхода инвертора ставят еще один резистор в несколь- ко сотен кОм. Естественно, инвертор при таких сопротивлениях может быть только КМОП-типа (ТТЛ-генераторы с кварцевым возбуждением строят по иным схемам). Частота кварца снизу ограничена только их номенклатурой (для низких частот обычно употребляют т. н. часовой кварц с частотой 32 768 Гц, почему именно такой — мы увидим в главе 24), верхний же предел при использовании серии CD4000 ограничивается 1 МГц. Для более высоких частот нужно использовать быстродействующие КМОП-серии 74АС и 74НС (К 1564). Инвертор, естественно, может представлять собой и просто инвер- тор, и многовходовой логический элемент с объединенными входами.
Импульсные устройства. Генераторы, формирователи и одновибраторы 383 Кварцы выпускают на определенные частоты, причем если нужна повышен- ная точность, то можно приобрести специализированные очень стабильные резонаторы с погрешностью до 10 . Выпускаются и готовые генераторы на разные частоты (особенно большой выбор предлагает в этом отношении фирма, название которой обычно ассоциируется совсем с другими продукта- ми— Epson, которая приобрела в свое время компанию, известную своей часовой торговой маркой Seiko). Установив вместо одного из постоянных конденсаторов подстроечный, можно менять частоту в очень небольших пре- делах (порядка 0,01% от номинала), но сейчас этим почти никто не пользует- ся, т. к. подстройку лучше осуществить цифровым способом или можно просто приобрести высокостабильный кварц. Кстати, мало кто знает, что ес- ли под рукой нет подходящего кварца, то схему на рис. 23.4 вполне можно "завести", заменив резонатор на малогабаритную индуктивность (частоту можно грубо прикинуть, если учесть, что постоянная времени LC-контура равна л/LC, причем в качестве величины С нужно подставить сумму емкостей обоих конденсаторов, тогда частота будет примерно равна единице, деленной на удвоенную величину этой постоянной). Естественно, главное преимуще- ство кварца — высокая стабильность — при этом пропадет, зато могут резко снизиться габариты, т. к. кварцевые резонаторы далеко не всегда отличаются миниатюрностью. И такая замена вполне допустима, если высокой точности в отношении времени от схемы не требуется. Кстати, не спешите "кидаться" на миниатюрные кварцевые резонаторы, подобные часовым — кроме номи- нальной частоты кварцы характеризуются предельно допустимым напряже- нием, и если резонатор, предназначенный для наручных часов с питанием от литиевой батарейки 3 В, включить в схему с напряжением питания даже 5 В, он вполне может треснуть от механических перегрузок — в моей практике такие случаи бывали. Формирователи импульсов Все эти схемы выдают "чистый" меандр, в котором длительность паузы стро- го равна длительности импульса (с точностью, конечно, до "гуляния" порога переключения элемента в течение одного периода, которое на самом деле крайне мало). А как можно получить импульсы с другим значением скважно- сти? На рис. 12.6, а показана схема, которая формирует импульсы со скваж- ностью 4 из исходного меандра. В ней используется делитель частоты на два (счетный триггер)— элемент, который мы еще "не проходили", но будем разбирать в следующей главе, а пока он приводится без пояснений, функция его ясна из диаграммы на рис. 23.6, б. Следует отметить, что за счет задерж- ки сигнала в триггере в момент, соответствующий фронту второго сигнала,
384 Глава 23 на выходе может возникнуть короткая "иголка", т. к. спад импульса на выхо- де триггера наступит несколько позже наступления этого фронта. Она не страшна для статических схем (например, дешифраторов с выводом на инди- каторы) или для управления внешними достаточно инерционными устройст- вами, но может вызвать срабатывание другого триггера или одновибратора (см. далее), если к его входу подключить выход этой схемы. Если это кри- тично, то в таких схемах обычно используют синхронные счетчики, которые мы будем рассматривать в следующей главе. Использованная микросхема 561ТМ2 (CD4013) содержит два триггера, поэтому схему легко дополнить, получив на выходе скважность 8. Применяя дополнительные логические элементы, можно получить 4 выхода, на каждом из которых фаза сдвинута ровно на полпериода — такие схемы применяют, например, для управления шаговыми двигателями или для управления елочной гирляндой "бегущие ог- ни" (попробуйте составить такую схему сами!). Большое значение на практике имеют формирователи коротких импульсов, называемые еще "схемы выделения фронтов"3. На рис. 23.7, а приведена схе- ма, которая делает это как положено. При поступлении положительного фронта на вход он сразу же переключает выход последнего элемента И-НЕ в состояние лог. 0. На выходе цепочки из трех инверторов также возникнет лог. 0, который вернет выход в состояние лог. 1, но это произойдет не сразу, а спустя время, равное утроенной задержке срабатывания логических эле- ментов. Поэтому на выходе возникнет короткая "иголка", достаточная по длительности (задержка-то тройная!) для надежного срабатывания других элементов схемы. Длительность таких импульсов составит для КМОП не- сколько сотен наносекунд. При желании можно выделить не фронт, а спад импульса (и получить при этом на выходе "иголку" положительной полярно- сти4), для этого нужно использовать элементы ИЛИ-HE. А если использовать Исключающее ИЛИ, то можно получать положительные импульсы при каж- дом переключении сигнала — и по фронту и по спаду. 3 В интуитивно понятном термине "фронт импульса" имеется некоторая неоднозначность, свя- занная с тем, что термином этим иногда обозначают только положительный перепад напряже- ния (т. е. переход из состояния лог. 0 в лог. 1), чтобы отличить его от отрицательного (перехо- да из состояния лог. 1 в лог. 0), который тогда называют "спадом импульса", а иногда вообще любой перепад напряжения (чтобы уточнить, о чем конкретно идет речь, говорят о положи- тельном или отрицательном фронте или перепаде). В западной литературе соответствующие термины звучат, как "rising edge" и "falling edge" (букв, "возрастающая кромка" и "падающая кромка"), что более соответствует смыслу. См. также сноску 4. 4 Подобно тому, как термин "отрицательный перепад" (см. сноску 3) отнюдь не означает нали- чия отрицательного напряжения относительно "земли", так и "полярность сигнала" в приложе- нии к логическим уровням означает не полярность напряжения относительно той же "земли", а просто состояние лог. 1 (положительный сигнал, высокий уровень) или лог. 0 (отрицательный сигнал, низкий уровень).
Импульсные устройства. Генераторы, формирователи и одновибраторы 385 Вход Выход триггера Выход Рис. 23.6. Схема формирователя последовательности со скважностью 4: а — принципиальная схема; б — диаграмма работы Рис. 23.7. Схемы формирователей коротких импульсов: а — стандартная схема; б, в, г — схемы с использованием дифференциальных RC-цепочек
386 Гпава 23 Все здорово, но схема уж больно громоздкая для такой простой функции — целый корпус! На рис. 23.4 мы использовали один корпус вон для какого сложного устройства, а тут — всего только выделение фронта. К тому же та- кие короткие импульсы очень сложно наблюдать на осциллографе. Поэтому на рис. 23.7, б и рис. 23.7, в приведены гораздо более экономные схемы, ко- торые делают то же самое, но неправильно. Почему неправильно? Потому что разработчики микросхем не рекомендуют использовать аналоговые узлы для построения цифровых схем. Вообще говоря, схемы генераторов выше (рис. 23.3) и одновибраторов ниже (рис. 23.8) тоже неправильные схемы. Но все же они широко используются, и нет причин для того, чтобы не использо- вать те же принципы и при построении схем выделения фронтов. С одним только условием — если вы знаете, что делаете. В схемах генераторов на рис. 23.3 это знание вылилось в установку дополнительного резистора R2, ограничивающего ток через защитные диоды микросхемы. Здесь также тре- буется применить этот прием, и для этого в схемах на рис. 23.7, б и 23.7, в установлены ограничительные резисторы 1 к, которые с функциональной точки зрения не требуются. Дело в том, что дифференцирующая RC-цепочка, составляющая основу этих схем, вырабатывает импульсы не только по нуж- ному переключению сигнала, но и по противоположному, и при этом им- пульсы выходят за пределы питания, в чем вы можете убедиться, если взгля- нете на рис. 5.7. Замечу, что во всех этих схемах (и мультивибраторов выше, и одновибраторов ниже) можно обойтись и без токоограничивающих рези- сторов — как мы знаем, у диодов достаточно высокая перегрузочная способ- ность, если только они не перегреваются, Обязательно же такой резистор ставить при больших выдержках времени, т. е. при низких частотах, которые предполагают использование конденсатора большой емкости, а при обычных емкостях порядка 0,1 мкФ и менее резистор можно не использовать. Дли- тельность импульса на выходе схем выделения фронтов при указанных на схеме номиналах составит около 10 микросекунд. А на рис. 23.7, г показано использование интегрирующей цепочки для задерж- ки импульса на фиксированное время. Диаграмм я не привожу, т. к. работа схемы понятна— импульс задерживается на время, необходимое для заряда конденсатора до порога срабатывания инвертора. Задний фронт импульса, со- ответственно, задерживается на время разряда. Если при этом входной импульс сравним по длительности с постоянной времени RC, то на выходе импульс мо- жет быть уменьшенной длительности. А если входной импульс короткий — выходной может вообще пропасть, поэтому такой схемой на практике пользу- ются редко, предпочитая чисто цифровые методы. Однако ничто не мешает использовать такую задержку в схемах для выделения фронта или спада по схеме рис. 23.7, а вместо цепочки из трех инверторов.
Импульсные устройства. Генераторы, формирователи и одновибраторы 387 Одновибраторы Одновибратор — это устройство, которое по внешнему сигналу выдает один- единственный импульс определенной длительности, не зависящей от дли- тельности входного импульса. Запуск происходит либо по фронту, либо по спаду входного импульса и до возникновения на входе нового перепада на- пряжений той же полярности уровень на входе больше не будет оказывать влияния на выход. Как и в случае мультивибраторов, существует огромное количество схемотехнических реализаций этого устройства. Мы изучим ва- риант, который получается небольшой модификацией схем выделения фрон- та — нужно только ввести в них положительную обратную связь, которая будет фиксировать состояние выхода на время заряда конденсатора. Рис. 23.8. Одновибраторы Схема на рис. 23.8, а работает следующим образом: в состоянии покоя на вы- ходе схемы состояние лог. 1, т. к. вход второго (выходного) элемента И-НЕ заземлен через резистор. Так как на входе тоже лог. 1, то на выходе первого (входного) элемента И-НЕ лог. О, конденсатор разряжен. При поступлении на вход положительного уровня на выходе первого элемента типа И-НЕ возни- кает состояние лог. 1, которое через дифференцирующую цепочку RC пе- редается на вход второго элемента, так что на выходе схемы и на втором входе первого элемента оказывается лог. 0. Это состояние схемы, уже неза- висимо от уровня входного сигнала, будет устойчиво (обратная связь как бы перехватила и зафиксировала уровень нуля на выходе) — пока конденсатор
388 Гпава 23 заряжается от выхода первого элемента через резистор R. Через время, при- мерно равное произведению R • С, конденсатор зарядится до порога срабаты- вания выходного элемента И-НЕ и схема скачком перейдет обратно в состоя- ние логической единицы по выходу. Так как по входу уже давно уровень лог. 1, то первый элемент также перебросится в начальное состояние, и кон- денсатор С быстро разрядится через ограничительное сопротивление 1 кОм (если оно установлено) и входные защитные диоды второго элемента. Схема придет в начальное состояние в ожидании следующего запускающего им- пульса. Длительность импульса на выходе всегда будет примерно равна RC, даже если входной импульс длиннее (в этом случае конденсатор просто раз- рядится не сразу, а только тогда, когда закончится входной импульс). Анало- гично работает схема на рис. 23.8, б, только с противоположными полярно- стями импульсов. Основное применение одновибраторов — в качестве таймера, который фор- мирует сигнал определенной длительности вне зависимости от работы всей остальной схемы. Естественно, о высокой точности выдержки времени тут говорить не приходится, но часто это и не требуется. Например, если вы хо- тите ограничить по времени тревожный сигнал, подающийся с помощью уст- ройства по рис. 23.4, то целесообразно управлять им от одновибратора, кото- рый запускается, скажем, нажатием кнопки. В одновибраторах для больших выдержек не возбраняется использовать электролитические конденсаторы, хотя даже при использовании только керамических или полимерных типов с максимальными емкостями порядка 1—3 мкФ вполне достижимы выдерж- ки в несколько десятков секунд (напоминаю, что использование токоограни- чивающего резистора при этом обязательно). Разобранные одновибраторы представляют собой схемы "без перезапуска", т. е. длительность импульса не зависит от того, пришел ли еще раз входной импульс во время действия выходного или нет. Одновибраторы "с перезапус- ком", в которых выходной импульс в этом случае продлевается (отсчет вре- мени как бы начинается заново с нового импульса, когда бы он ни пришел), мы проектировать не будем, потому что в этом случае проще использовать готовую микросхему (561АГ1, см. главу 27). Возможно, вы уже сообразили, что одновибратор может служить довольно эффективным средством подавления дребезга механических контактов (см. главы 20 и 24), т. к. будет запускаться только от первого перепада уровней, причем даже независимо от того, пролетают подвижные контакты весь про- межуток "туда-обратно" или нет (впрочем, на практике такого "пролета" и не случается). Главным его преимуществом в этом качестве, несмотря на до- вольно сложную схему, является возможность использования двухвыводной кнопки, а не переключающей, как в схемах по рис. 20.7, б или с использова-
Импульсные устройства. Генераторы, формирователи и одновибраторы 389 нием RS-триггеров. Вход одновибратора при этом соединяют с питанием (в схеме рис. 28.8, а) или с "землей" (в схеме рис. 28.8, б) через резистор, а кнопкой замыкают этот вход, соответственно, на "землю" или на питание. Недостатком такого варианта является то, что приходится четко рассчиты- вать необходимую длительность импульса, иначе дребезг можно пропустить. Вторым недостатком схемы с одновибратором является неясность ситуации с размыканием ранее замкнутой кнопки, т. к. если кнопка удерживается в замкнутом состоянии дольше, чем длится импульс, то из-за дребезга одно- вибратор может выдать импульс повторно. Для борьбы с этим явлением можно попробовать присоединить кнопку ко входу одновибратора не напря- мую, а через одну из дифференцирующих цепочек по рис. 23.6, б или 23.6, в, а также поставить защитный резистор увеличенного сопротивления. Укажем, кстати, на недопустимость использования часто рекомендуемых и заманчивых по своей простоте схем "антидребезга" с использованием интег- рирующей цепочки, т. е. элементарного ФНЧ (см., например, [15, рис. 5.11]). Опыт показывает, что такие схемы крайне ненадежны даже при использова- нии так называемого триггера Шмидта, который представляет собой обыч- ный логический элемент с гистерезисной характеристикой, подобно компа- ратору на рис. 15.4. Гистерезис в случае логических элементов чаще всего не защищает от дребезга вообще, т. к. помеха располагается обычно вблизи пи- тания или "земли" за пределами зоны нечувствительности. А что касается ФНЧ, то даже если вы умудритесь подобрать параметры фильтра так, что данная конкретная кнопка, как вам кажется, не дребезжит, то это не гаранти- рует, что в случае очень короткого или, наоборот, долгого нажатия схема сработает как надо или что другая аналогичная кнопка будет так же нор- мально работать с теми же параметрами RC-фильтра.
Глава 24 Электронные счеты. Триггеры, счетчики, регистры... Атос выпросил у г-на де Тревиля шесть дней вместо четырех и присоединил к ним еще две ночи — они уехали двадцать чет- вертого в пять часов вечера, а г-н де Тре- виль любезно пометил отпуск двадцать пя- тым числом. А. Дюма, "Три мушкетера" Хотя по названию можно подумать, что счетчики и сумматоры предназначе- ны для выполнения похожих функций, но это совершенно не так. Отличие заключается в том, что сумматор оперирует с числами вообще, с числами как абстрактными сущностями — именно этим обстоятельством, которое мы уже неоднократно подчеркивали (см. главу 19), и объясняется пресловутая уни- версальность микропроцессоров, которым все равно, что считать — деньги на банковском счету или координаты опорных вершин трехмерной фактуры в очередной "стрелялке". Счетчики же только суммируют импульсы, приходя- щие с течением времени, представляют их в виде двоичного числа и фактиче- ски больше ничего не умеют, хотя, как мы увидим далее, и это очень неплохо. В состав процессора, кроме собственно АЛУ с сумматорами, входит и другие составляющие, в том числе регистры и память, которые являются прямыми род- ственниками счетчиков — потому что для построения тех и других используются триггеры. Вот со знакомства с классическими типами триггеров мы и начнем. Потом познакомимся со счетчиками и регистрами — а несколько позднее, в дру- гих главах, перейдем уже и к микропроцессорам, и к устройствам памяти. Триггер1 — это устройство для записи и хранения информации в количестве одного бита2. Любая элементарная ячейка памяти, будь то магнитный домен 1 Между прочим, одно из главных "неэлектронных" значений слова "trigger" — спусковой крючок у огнестрельного оружия. 2 Существуют— по большей части в теории— и многостабильные триггеры, которые могут хранить более одного бита, но на практике они не используются, кроме очень экзотических конструкций, вроде упоминавшейся в главе 19 ЭВМ "Сетунь".
392 Глава 24 на пластинах жесткого диска, отражающая область на поверхности CD-ROM или конденсаторная ячейка электронного ОЗУ, обязательно обладает триг- герными свойствами, т. е. может хранить информацию спустя еще долгое время после того, как она была в нее введена. Самый простой Самый простой триггер можно получить, если в схемах одновибраторов на рис. 23.8 удалить RC-цепочку и соединить напрямую выход первого элемента со входом второго. Если схема находится в состоянии, при кото- ром на выходе уровень лог. 1, то кратковременная подача отрицательного уровня на вход, как и в случае одновибратора, перебросит выход в состоя- ние лог. О, но теперь уже нет конденсатора, который осуществляет отрица- тельную обратную связь и, в конце концов, возвращает схему в исходное состояние, поэтому в таком состоянии схема останется навечно, если мы что-то(не предпримем. Чтобы вернуть ее в исходное состояние, надо подать точно такой же сигнал, но на вход второго элемента, который (вход) в схе- ме одновибратора у нас отсутствует. Если мы его введем, то получим сим- метричную схему с двумя входами, которые обозначаются буквами R и S (от слов Reset и Set, т. е. "сброс" и "установка"). Само же устройство носит название RS-триггера. Оба варианта такой схемы на элементах И-НЕ и ИЛИ-HE показаны на рис. 24.1. а б Рис. 24.1. Схемы триггеров: а — на элементах И-НЕ; б — на элементах ИЛИ-НЕ Нет нужды перебирать все состояния этих схем и приводить соответствую- щие таблицы истинности, нужно только твердо запомнить, что подача им-
Электронные счеты. Триггеры, счетчики, регистры... 393 пульса на вход R всегда устанавливает на выходе Q состояние лог. О3. При- чем соответствующий вход у любого устройства, его имеющего — от микро- процессоров до счетчиков — является асинхронным, т. е. вся система обну- ляется в момент подачи импульса по входу R независимо от того, что в этот момент она делает (говорят еще, что вход Reset — вход обнуления — имеет "наивысший приоритет"). Именно это происходит, скажем, когда вы нажи- маете на кнопку Reset на системном блоке вашего компьютера. Вход S, есте- ственно, означает ровно противоположное — установку выхода Q в состоя- ние лог. 1, но в отличие от входа R, который всегда означает обнуление, вход S в различных устройствах может использоваться и в немного других целях, а чаще вообще отсутствует. Суть дела не меняется от того, что входы R и S могут управляться различными полярностями сигнала в зависимости от по- строения триггера — для схемы на элементах И-НЕ по рис. 24.1, а это низкий уровень, поэтому входы R и S обозначены с инверсией (уровни, которые меняют состояние триггера, называются "активными", так, для схемы по рис. 24.1, а активным является низкий уровень). "Более правильная" схема в этом смысле— на элементах ИЛИ-HE по рис. 24.1, б. Обратите внимание, что установка дополнительных инверторов по входу, казалось бы, превраща- ет схему по рис. 24.1, а в схему по рис. 24.1, б, но только в смысле полярно- сти активных уровней, прямой и инверсный выходы при этом останутся на своих местах. а б Рис. 24.2. Схемы триггеров с предустановкой при включении питания В схемах RS-триггеров подача активного уровня на R-вход ничего не меняет, если выход Q уже был в состоянии лог. О, то же самое справедливо для 3 Естественно, на инверсном выходе Q при этом будет лог. 1. Легко сообразить, что если по- менять все обозначения местами (R на S, а прямой выход на инверсный), то в схеме ничего не изменится.
394 Глава 24 S-входа при выходе в состоянии лог. 1. Однако пока на соответствующем входе действует напряжение активного уровня, подача активного уровня на второй вход запрещена. Это не означает, что триггер при этом сгорит, просто он потеряет свои триггерные свойства — на обоих выходах установится один и тот же уровень, а после одновременного снятия активного уровня со входов состояние будет неопределенным (точнее, будет определяться тем элемен- том, который переключится чуть позже другого). Неопределенное состояние будет и после подачи питания, поэтому нужно принимать специальные меры для установки схемы в нужное состояние после включения. Наиболее рас- пространенной мерой является подача определенного уровня в начальный момент на один из нужных входов с помощью RC-цепочки. Ввиду практиче- ской важности этого способа я приведу вариант соответствующей схемы, не- смотря на ее очевидность (рис. 24.2, а). В ней конденсатор в первый момент после подачи питания разряжен, и на входе логического элемента оказывает- ся положительный уровень (еще раз напомним, что разряженный конденса- тор при подаче напряжения в первый момент равносилен короткому замыка- нию цепи), который устанавливает триггер в состояние лог. О на выходе Q. Затем конденсатор заряжается, и в дальнейшем RC-цепочка больше не ока- зывает влияния на работу схемы. Постоянную времени RC лучше выбирать побольше, чтобы к моменту зарядки конденсатора успели пройти все пере- ходные процессы, на схемах по рис. 24.2 она равна примерно 0,5 мс. Естест- венно, при этом следует позаботиться, чтобы на "настоящих" RS-входах к моменту окончания заряда конденсатора был неактивный уровень, иначе все пойдет насмарку. Чтобы избежать нагромождения инверторов, можно в этой схеме использовать трехвходовые элементы (561 ЛЕ 10), как показано на рис. 24.2, б. Естественно, RS-триггеры выпускают и в интегральном исполнении (561ТР2 содержит четыре простых RS-триггера). Все более сложные триггеры, а так- же счетчики в интегральном исполнении обязательно имеют отдельные RS- или хотя бы только R-асинхронные входы. Использование RS-триггера является самым капитальным способом решения проблемы дребезга контактов (см. главы 20 и 23). Стандартная схема вклю- чения показана на рис. 24.3, а, однако нет никакой нужды городить такую схему с резисторами, относительно которых еще нужно соображать, к чему их подключать (для варианта с ИЛИ-ИЕ их пришлось бы присоединять с "земле"). На рис. 24.3, б показана упрощенная схема, которая работает точно так же, и при этом в ней можно использовать любые инверторы, в том числе и одновходовые. Общим недостатком схем "антидребезга" как с RS-триггерами, так и с использованием элемента Исключающее ИЛИ (рис. 20.7, б), является необходимость использования переключающей кнопки с тремя выводами,
Электронные счеты. Триггеры, счетчики, регистры...395 которых на рынке предлагается гораздо меньше, чем обычных замыкающих и размыкающих с двумя контактами. Попробуйте приспособить двухвывод- ную кнопку к любой из указанных схем, и вы сами придете к выводу, что это невозможно. Поэтому на практике часто приходится использовать схему "ан- тидребезга" с использованием одновибратора (в том числе реализованного программными способами в микроконтроллерах) — при всех ее недостатках. 4Л1ит а Рис. 24.3. Схемы "антидребезга" на RS-триггерах D-триггеры D-триггеры получили свое название от слова "delay", что означает "задерж- ка". На самом деле существует две их разновидности, формально различаю- щиеся только тем, что первая из них (статический D-триггер или триггер- защелка) управляется уровнем сигнала, как и все схемы, рассмотренные ра- нее, а вторая (динамический D-триггер) управляется фронтом импульса. Фак- тически же это разные по устройству и области использования схемы, поэто- му объединение их под одним названием представляется неудачным. Для того чтобы отличить статический D-триггер от динамического, мы будем в обозначении на схемах для первого ставить букву L (от слова "level" — уровень), а для второго — букву "Е" (от слова "edge" — фронт). Эти обозна- чения не являются общепринятыми, но лучше так, чем никак. Если же такая буква будет отсутствовать, то определить тип триггера можно по типу мик- росхемы: 561ТМЗ содержит четыре статических триггера-защелки, а ТМ2 — два динамических D-триггера с дополнительными входами R и S (см. рис. 23.6).
396 Гпава 24 Если тип вообще не указывается, то обычно по умолчанию предполагается, что речь идет о динамических D-триггерах. Рис. 24.4. D-триггеры: а — схема статического D-триггера; б — схема динамического D-триггера на основе двух статических; в — счетный триггер на основе динамического D-триггера Статический D-триггер легко получить из RS-триггера путем небольшой мо- дификации его схемы (рис. 24.4, а). Если из приведенной схемы исключить вход С (например, объединив входы каждого элемента и превратив их тем са- мым в простые инверторы), то получится довольно бесполезное устройство, которое на выходе Q будет просто повторять входные сигналы, а на втором выходе, соответственно — выдавать их инверсии. Наличие тактового входа С (от слова "clock", которое в цифровой электронике значит "тактовый импульс") все меняет. Если мы обратимся к диаграммам на рис. 20.7, а, мы увидим, что при наличии на этом входе уровня лог. 1 входные сигналы будут пропус- каться на вход RS-триггера и схема будет повторять на выходе Q уровни на входе D, как и выше. Если же мы установим на входе С уровень лог. О, то схе- ма немедленно "зависнет" в состоянии выхода, соответствующем входному уровню непосредственно перед приходом отрицательного фронта на вход С — т. е. запомнит его! Поэтому такой триггер и называют "защелкой" — при пода- че на вход С короткого тактового импульса он как бы "защелкивает" состояние входа. Мы увидим в дальнейшем, как можно использовать статический D-триггер в качестве буферного регистра для хранения результатов счета им- пульсов, т. е. на то время, пока идет сам процесс счета. Динамические D-триггеры более универсальны, и область применения у них куда шире, чем у статических. Динамический триггер сложнее по устройству. Один из способов построения динамического D-триггера из двух статических
Электронные счеты. Триггеры, счетчики, регистры...397 показан на рис. 24.4, б. Эта схема работает следующим образом: когда на общем входе С наличествует отрицательный уровень, состояние входа D пе- реписывается на выход первого (слева) триггера, при этом второй триггер за- перт. Сразу после положительного фронта на входе С это состояние перепи- сывается во второй триггер и появляется на выходе Q, а первый триггер запирается. Таким образом, запоминание состояния общего D-входа проис- ходит в точности в момент положительного перепада уровней и никогда больше. Если изменить местоположение инвертора и присоединить его ко входу второго триггера, а на первый триггер подавать тактовые импульсы напрямую, то срабатывание будет происходить по отрицательному фронту, и такой тактовый вход будет считаться инверсным. Для того чтобы вывести дополнительные входы асинхронной принудительной установки триггера в нулевое и единичное состояние (R- и S-входы), нужно оба статических триггера реализовать на трехвходовых элементах и объединить соответст- вующие входы у обоих триггеров — устанавливать по входам R и S только выходной триггер недостаточно (подумайте почему?). На рис. 24.4, в показана самая простая схема счетного триггера на основе ди- намического D-триггера, уже знакомая нам по рис. 23.6. Из вышеописанного ясно, как она работает — при каждом положительном перепаде на выход Q будет переписываться состояние противоположного выхода Q, т. е. система будет с приходом каждого тактового импульса менять свое состояние на про- тивоположное, в результате чего на выходе будет симметричный (независимо от скважности входных импульсов) меандр с частотой вдвое меньшей, чем входная. Такой триггер можно считать делителем частоты на два или одно- разрядным двоичным счетчиком — в зависимости от того, для чего он ис- пользуется. В отличие от всех остальных типов триггеров (а кроме описан- ных, распространены еще и т. н. JK-триггеры, но мы их разбирать не будем), счетные триггеры в интегральном исполнении отдельно не выпускаются (при случае их легко, как вы видели, соорудить, например, из D-триггеров), а вы- пускаются только готовые многоразрядные двоичные счетчики, из таких триггеров составленные. К рассмотрению счетчиков мы перейдем чуть позд- нее, а пока кратко остановимся на регистрах. Регистры Регистрами называют устройства для хранения одного двоичного числа. Ко- личество разрядов в регистрах, выпускаемых отдельно, обычно не превышает восьми, но в составе других микросхем могут быть и регистры с большей разрядностью — вплоть до 64 и даже 128 бит в процессорах типа Intel Itanium. Большинство типов электронных ЗУ, вообще говоря, можно рассматривать
398 Глава 24 как совокупность регистров4, но собственно регистры, как входящие в состав процессоров, так и выпускаемые отдельно, отличаются тем, что позволяют не только записывать и считывать информацию, но и производить некоторые простейшие операции, например, сдвиг разрядов. Простейший регистр — это упомянутый выше статический D-триггер. Четы- ре таких триггера, входящие в микросхему 561ТМЗ, образуют четырехраз- рядный регистр с параллельной записью и считыванием, причем тактовый вход в этой микросхеме у всех четырех разрядов общий. Как и сам триггер, такой регистр называют "защелкой". Мы еще столкнемся с этой микросхе- мой, а пока рассмотрим другие типы регистров. Если регистр-защелка позволяет осуществлять только параллельную запись, то последовательный регистр (пример— 561ИР2), наоборот, имеет возмож- ность записи только через один вход, который является D-входом самого младшего разряда. Последовательный регистр является неким обобщением конструкции D-триггера. Работу динамического D-триггера можно рассмат- ривать как процесс сдвига информации от входа через первый триггер ко второму при поступлении соответствующих перепадов на тактовом входе. В последовательном регистре, который в простейшем случае представляет собой последовательное соединение таких триггеров, происходит нечто по- добное— с каждым фронтом тактового импульса информация сдвигается от младшего разряда к старшему, при этом в младший разряд записывается со- стояние входа. Считывать информацию при этом можно из каждого разряда в отдельности, как и в случае регистра-защелки. Такие регистры получили еще название сдвиговых. Они широко используются для последовательного ввода и вывода информации — скажем, для вывода восьми бит через после- довательный порт RS-232 достаточно записать их в такой регистр, а потом подать на него восемь тактовых импульсов с нужной частотой. Сдвиговый регистр можно закольцевать — соединить выход старшего разря- да со входом и получить нечто подобное слону из анекдота, который засунул хобот себе в известное место. Однако в случае простого сдвигового регистра такое соединение приведет к тому же результату, что и для слона, т. е. до- вольно бесполезно практически, ибо мы без дополнительных ухищрений запись информации производить уже не сможем. Большее распространение получило объединение возможностей параллельной и последовательной записи/считывания в одном устройстве (пример — четырехразрядный ре- гистр 561ИР9 или восьмиразрядный 561ИР6). Обычно эти регистры также делаются на D-триггерах. Они являются наиболее универсальными устройст- 4 Но не такие устройства, как магнитные диски, которые представляют собой просто набор отдельных битов.
Электронные счеты. Триггеры, счетчики, регистры...399 вами, которые позволяют изменять и читать каждый бит отдельно, а также сдвигать всю информацию с записью ее с одного последовательного входа и чтением с одного последовательного выхода. Такие регистры— неотъемле- мая часть устройств памяти большой емкости, без них чтение и запись были бы невозможны. Рис. 24.5. Схема использования сдвиговых регистров для последовательного вывода информации из устройства с матричной организацией На рис. 24.5 схематически показан один из способов, как с помощью сдвиго- вых регистров можно организовать чтение информации из устройства, орга- низованного по матричному типу, через единственный выход. Это могут быть устройства памяти или, например, светочувствительные матрицы ПЗС5. На этой схеме матрица условно показана, как массив точек 8x8, хотя на деле она обычно гораздо больше. Все строки матрицы представляют собой сдви- говые регистры, а справа стоит последовательно/параллельный сдвиговый регистр, в который запись информации производится во все разряды сразу, а вывод — последовательным сдвигом. В схеме по рис. 24.5 сначала подается сигнал сдвига на все строки одновременно (вход Сстр), после чего информа- ция оказывается на входах сдвигового регистра справа, после чего подается 5 ПЗС-матрицы (CCD, от "приборы с зарядовой связью") — устройства, которые под действи- ем света накапливают в ячейках определенный заряд. ПЗС (и похожие на них КМОП-матрицы) являются основным компонентом теле- и видеокамер, а также цифровых фотоаппаратов и мо- гут служить типичным примером аналого-цифровых устройств, потому что содержат инфор- мацию в виде дискретного массива, который, однако, состоит не из двоичных единиц (битов), а из зарядов, величина каждого из которых пропорциональна освещенности данной точки (пиксела). Аналоговый принцип представления информации сути дела не меняет, если выход- ной регистр умеет оперировать с отдельными зарядами, а не просто с логическими уровнями.
400 Гпава 24 сигнал параллельной записи в этот регистр (вход Р), а затем восемь тактов для сдвига информации на выход (вход Срег). Легко подсчитать, что для чте- ния всех 64 ячеек нужно 64 + 8 = 72 такта времени. Это может показаться слишком медленным процессом, поэтому на практике в подобных устройст- вах используют более сложную организацию, позволяющую "выплевывать" наружу за один такт по 8, 16 и более разрядов одновременно. Самым быст- рым способом считывания информации из устройств, организованных по принципу матрицы, является полностью параллельное чтение. Мы его будем рассматривать в главе 28 вместе с устройствами памяти. Подробнее регистры мы изучать не будем, а перейдем к другим широко при- меняемым динамическим устройствам — счетчикам. Счетчики Самый простой счетчик можно получить, если соединить последовательно ряд счетных триггеров, как показано на рис. 24.6, а (мы уже упоминали этот способ в главе 23). В этой схеме есть две особенности. В первой из них легко разобраться, если построить диаграмму работы этого счетчика, начиная с со- стояния, в котором все триггеры находятся в состоянии низкого уровня на выходе ("0000"). В самом деле, при подаче первого же импульса триггеры перейдут в состояние со всеми единицами ("111 1")! Если строить диаграмму дальше, то мы увидим, что последовательные состояния будут такими: "1110", "1101" и т. д. В этом легко узнать последовательный ряд чисел 15, 14, 13 — т. е. счетчик получился вычитающим, а не суммирующим. А как можно по- лучить суммирующий счетчик? Очень просто — надо ко входу каждого сле- дующего триггера подсоединить не прямой выход предыдущего, а инверс- ный. Порядка ради можно тактовые импульсы подавать также через инвертор (рис. 24.6, б), тогда счетчик будет срабатывать по заднему (отрицательному) фронту входного импульса, а не по переднему. Разумеется, можно использо- вать просто триггеры с инверсным тактовым входом. В этом случае будет все в порядке — входные импульсы будут суммироваться (см. диаграмму) и мы получим ряд последовательных состояний: "0000", "0001", "00010", "0011" и т. д. Удивительная все же штука— электроника! Сначала мы получили полную аналогию между абстрактной математической теорией и состояниями пере- ключателей на реле, теперь вот — между не менее абстрактным арифметиче- ским счетом и последовательными состояниями счетчика на триггерах. Чем этот счетчик отличается от дикаря, раскладывающего на земле палочки? Ничем, кроме того, что он раскладывает не палочки, а уровни напряжений, причем выгодно отличается от первобытного сознания тем, что еще владеет позиционной системой счисления. Начинаешь понимать, почему ученые
Электронные счеты. Триггеры, счетчики, регистры... 401 середины прошлого века были так обольщены возможностями электронных схем, что даже заговорили о "машинном разуме". Но это уже другая тема... сЩШШШЛШШП ао JTTIJTrLn.J си ц_1тШХЦГ Q3 н : Н н I Рис. 24.6. Схемы счетчиков на D-триггерах: а — вычитающего; б — суммирующего У счетчиков, построенных по такой простейшей схеме, есть еще один круп- ный недостаток, которого мы также отчасти касались в предыдущей главе. А именно — переключение триггеров происходит асинхронно, сигнал от входа должен пройти всю цепочку, пока на выходе также изменится уровень. Эти, казалось бы, незначительные задержки, могут, однако, привести к зна-
402 Гпава 24 читальным неприятностям, типа возникновения лишних "иголок" при де- шифрировании состояний выхода. А при больших частотах входных импуль- сов на пределе возможностей конкретных логических элементов, фронты сигналов на выходах вообще могут приобрести совершенно хаотическое рас- положение относительно входного сигнала так, что дешифрировать состоя- ние счетчика будет невозможно. Поэтому практически все счетчики в инте- гральном исполнении делают по иным, синхронным, схемам, когда входной тактовый сигнал подается одновременно на все разряды, и фронты выстраи- ваются строго "по линеечке", независимо от задержек в том или ином тригге- ре. Подробно разбирать мы такие схемы не будем, т. к. самим их строить не придется, а для понимания сущности происходящих в счетчиках процессов достаточно и вышеизложенного. Обратимся лучше к конкретным типам серий- но выпускаемых счетчиков. Все типы счетчиков, входящих в КМОП-серии, мы не рассмотрим — их довольно много. Подробно мы обратимся только к нескольким микросхемам, функциональность которых, пожалуй, может перекрыть большинство потребностей разработчика, а другие типы рассмот- рим по мере необходимости, при описании соответствующих схем с их ис- пользованием. Первый из счетчиков, который мы рассмотрим подробно,— 561ИЕ10. Мик- росхема включает два одинаковых четырехразрядных синхронных счетчика в одном корпусе. Разводка выводов ее показана на рис. 24.7, а, где вроде бы все понятно, кроме назначения вывода Е. Четырехразрядный счетчик, вхо- дящий в состав этой микросхемы, работает так: если на выводе Е присутст- вует напряжение высокого уровня, то счетчик будет переключаться по поло- жительному фронту на входе С, однако это касается только первого триггера, все остальные будут работать в соответствии с диаграммой по рис. 24.6, б, т. е. счетчик будет суммировать импульсы. Общая диаграмма будет выгля- деть так, как если бы мы взяли строку входных импульсов от диаграммы на рис. 24.6, а, и подставили бы ее в диаграмму на рис. 24.6, б. Вывод Е тут яв- ляется разрешающим ("enable") для тактового входа С. Однако если же оста- вить на входе С напряжение лог. О, а тактовые импульсы подавать на вход Е, то счетчик будет срабатывать от отрицательного перепада напряжений на этом входе, т. е. диаграмма его окажется в полном соответствии с диаграм- мой на рис. 24.6, б. Как видите, можно было бы поменять обозначения Е и С местами, однако в этом случае их следует дополнить знаком инверсии. По- этому если вы хотите каскадировать два счетчика из этой микросхемы, полу- чив в результате один восьмиразрядный счетчик, то выход Q3 первого счет- чика нужно присоединить именно ко входу Е второго, подав на вход С потенциал лог. 0. Учтите, однако, что при этом обе половинки результирую- щей конструкции (старшая и младшая тетрады) будут работать асинхронно
Электронные счеты. Триггеры, счетчики, регистры... 403 относительно друг друга, и срабатывание разряда номер 4 (выход Q0 второго счетчика), как и всех остальных трех старших разрядов, будет происходить позднее, чем срабатывание младших. Это обычно, впрочем, не так чувстви- тельно, как если бы все разряды работали асинхронно. Так как вывод обну- ления R обозначен без инверсии, то установка всех разрядов в состояние О будет происходить при подаче высокого уровня на этот вход, и пока этот уровень присутствует, счетчик будет игнорировать любые изменения на так- товых входах. Максимальная рабочая частота микросхемы ИЕ10 при напря- жении питания 5 В— 1,5 МГц, минимальная длительность импульса сбро- са — 250 нс. с,- К561 — + VflMT SE - K561 — +^ПИТ см | ИЕ10 —r2 Q3 - ИЕ11 15 _ — ооД —Q32 S3 — —Q2 снД SO — — S2 О2Д —Q12 - 5 Pbx"“ — S1 Q3,- —qo2 Q0 - — Q1 Ri — 15 E, _ 7_ Рвых — U/D £ — c2 I1 9-R Рис. 24.7. Разводка выводов счетчиков: а — 561ИЕ10; б — 561ИЕ11; в — организация автоматической предустановки счетчиков типа ИЕ11 Счетчик 561ИЕ11 — более универсальный, и управляющих выводов у него значительно больше, поэтому в 16-выводном DIP'e умещается только один четырехразрядный счетчик. Разводка и обозначение выводов для него по- казаны на рис. 24.7, б. Не правда ли, запутаться можно? Однако на самом деле все гораздо проще, чем выглядит.
404 Гпава 24 Если на выводах R, SE, Рвх присутствуют низкие уровни напряжения, а на входе U/D — высокий, то счетчик считает по положительному фронту на входе С в точности так же, как это делает половинка ИЕК) при высоком уровне на входе Е. Со входом обнуления R все понятно — при подаче на него высокого уровня все обнуляется. Вход U/D служит для реверсии (поэтому такой счетчик еще называется реверсивным): если на него подать напряже- ние лог. О, то счетчик будет не суммировать, а вычитать подобно тому, как это делает счетчик, показанный на рис. 24.6, а. Самый интересный — вход SE ("set enable" — разрешение установки). Если на него подать напряжение логической единицы, то в триггеры счетчика за- пишутся значения, установленные на входах SO-S3. Возможность такой па- раллельной предустановки, как мы увидим дальше, значительно расширяет возможности счетчика. А вход и выход переноса Рвх и Рвых предназначены для каскадирования счетчиков — для получения синхронного (в отличие от ИЕ10) счетчика большей разрядности надо входы С у всех микросхем объе- динить, а выход Рвых предыдущего счетчика соединить со входом Рвх сле- дующего. У самого первого счетчика, естественно, Рвх присоединяется к "земле". Сколько удовольствия можно получить от этой схемы! Я покажу только пару вариантов того, как ее использовать. Начнем с того, что наличие возможно- сти предустановки произвольного значения позволяет соорудить из этой микросхемы счетчик с любым коэффициентом деления входной частоты (в пределах емкости исходного счетчика, если используется один корпус ИЕ11, то это значения от 1 до 16). В самом деле, если счетчик считает в стан- дартном режиме, то частота на выходе Q3 будет равна 1/16 частоты на входе, т. е. коэффициент деления составит 16. Принцип установки другого коэффи- циента проще всего показать на примере обратного (вычитающего) режима счета. Арифметика тут простая: предположим, мы установили на входах пре- дустановки число 3 (0011) и организовали схему так, чтобы в состоянии, когда все выходы Qj равны нулю, это число каждый раз записывалось бы в счетчик. Так как режим вычитающий, то при подаче тактовых импульсов на вход счетчик будет последовательно проходить состояния: предустанов- ка — "ООП" — фронт тактового импульса — "0010" — фронт тактового им- пульса — "0001" — фронт тактового импульса — "0000" — предустановка — "ООН"— фронт тактового импульса— "0010" и т. д. по новой. После каж- дых трех тактовых импульсов счетчик будет возвращаться в исходное состояние (если предустановки нет, то он это делает после каждых 16 им- пульсов). То есть мы получили коэффициент деления, равный 3. Можно
Электронные счеты. Триггеры, счетчики, регистры... 405 резюмировать: в вычитающем режиме коэффициент деления будет такой, каково число на входах предустановки. Сразу и подумаем — а что будет, ес- ли запустить счетчик в обычном режиме, суммирующем? Нетрудно подсчи- тать, что коэффициент деления при этом будет равен разности между макси- мально возможным коэффициентом (16) и установленным числом (3) — в данном случае 13. Я так подробно на этом останавливаюсь, кроме всего прочего еще и потому, что счетчики-таймеры в микропроцессорных системах (и в составе микро- контроллеров типа AVR, и в других микроконтроллерах, и системный счет- чик в IBM PC, который без изменений воспроизводится во всех системах от Intel) работают совершенно аналогично описанному. И для того, чтобы ус- пешно программировать микроконтроллерные системы, необходимо очень хорошо понимать принцип их работы — без таймеров микроконтроллеры, можно сказать, вообще не нужны. Но в микроконтролерах все остальное за нас уже сделали, а если вернуться к обычной интегральной логике, то сразу встают два вопроса. Первый их них звучит так: а откуда, собственно, считы- вать эту поделенную частоту? При использовании вычитающего режима считывать частоту придется с того выхода счетчика, который соответствует реальной разрядности делителя — по приведенной "диаграмме" видно, что в случае коэффициента, равного 3, старшие разряды вообще не используются. Это приемлемо, если мы хотим иметь раз и навсегда установленный коэффициент, но в общем случае не- удобно — если коэффициент по ходу дела меняется. Поэтому нужно либо: использовать суммирующий режим, при котором старший разряд всегда за- действован, и результирующая частота снимается именно с него (например, при значениях, приведенных выше, счетчик будет все время считать от 3 до 15), либо... либо есть еще одна возможность, для знакомства с которой придется ответить сначала на второй вопрос: как организовать предустановку значения счетчика каждый раз при достижении им состояния "0000"? На схеме рис. 24.7, в показано, как это можно сделать (это не единственный вариант, но нам подойдет). Диаграмма работы схемы (справа) показана начи- ная с момента, когда вот-вот должен прийти такт, при котором счетчик уста- новится в состояние "0000". В любом другом состоянии на входе четырех- входового элемента ИЛИ-HE присутствует хотя бы одна единица и на выходе его, соответственно, логический ноль. Выход же элемента И-НЕ пребывает по этой причине в состоянии лог. 1, а на входе SE— лог. 0. Как только с очеред- ным положительным тактовым перепадом счетчик установится в состояние "0000", то на выходе элемента ИЛИ-HE появится лог. 1. Так как тактовый им- пульс пропускается через инвертор, то на нижнем по схеме входе И-НЕ в этот момент лог. 0 и на выходе его по-прежнему 1. И только после отрицательного
406 Гпава 24 перепада на тактовом входе С (который для остальной схемы является нера- бочим) на обоих входах И-НЕ установится лог. 1, на выходе — лог. О, и на SE появится, наконец, долгожданный высокий уровень, разрешающий запись значений, установленных по входам SO-S3. Как только запись произойдет, все немедленно отработает назад, т. к. на выходе ИЛИ-HE высокого уровня уже не будет. Импульс на входе SE окажется очень кратковременным, но нам длиннее и не надо. Заметим вскользь, что в этой схеме можно было бы обой- тись без инвертора для тактовых импульсов — тогда предустановка бы про- исходила сразу после того, как на выходах счетчика установится "0000", од- нако это состояние было бы очень кратковременным. Теоретически это безразлично, т. к. состояние "0000" в любом случае присутствует некоторое время, но могут возникнуть сложности с дешифрацией этого состояния и во- обще... так красивее. Так вот, легко сообразить, что частота коротких импульсов перезаписи на входе SE как раз в точности равна частному от деления входной частоты на установленный коэффициент. И ее в этом качестве использовать удобнее, чем выходы разрядов, потому что не нужно гадать, с какого разряда снимать частоту при вычитающем режиме. Но самое интересное впереди: что такое частота? Частота— это количество импульсов в единицу времени. Поэтому, если взять определенный интервал времени, то количество импульсов X на выходе счетчика в таком режиме будет равно частному от деления количест- ва входных импульсов п\ на установленный коэффициент деления пг. Но ни- кто нас не оговаривает— откуда именно брать информацию для входов пе- резаписи SO-S3. Это может быть состояние точно такого же счетчика (именно поэтому я обозначил число входных импульсов и коэффициент одинаковыми буквами). Типичная задача, которая решается в этом случае: если количества импульсов И] и «2 есть результат измерения неких временных интервалов (т. е. заполнения их известной частотой — подробности см. далее), то опи- санная методика позволяет получить их отношение. А такая задача возникает сплошь и рядом — например, результат работы интегрирующих АЦП, опи- санных в следующей главе, есть именно интервал времени, пропорциональ- ный измеряемой аналоговой величине, и нередко — обратно пропорцио- нальный. Для переворота характеристики с целью получения линейной зависимости в этом случае нужно произвести операцию деления, и пришлось бы использовать не иначе, как микропроцессор, однако счетчики, как видите, дают возможность обойтись и без него. Выпускается и микросхема 561ИЕ14, которая аналогична ИЕН за исключе- нием того, что у нее есть еще вход переключения двоичного/десятичного счета. Так как все выводы корпуса DIP-16 у ИЕН заняты, для этого при- шлось пожертвовать входом R, вместо которого имеется вывод В/D. Если
Электронные счеты. Триггеры, счетчики, регистры...407 на этом входе напряжение низкого уровня, счетчик ИЕ14 считает в двоично- десятичном коде, если высокого — становится полностью аналогичным ИЕ11. Постойте, а как же обнулять, если вход R отсутствует? Очень просто — надо подать на все входы предустановки SO-S3 потенциал "земли", а импульс об- нуления подавать на вход SE вместо R. Напоследок мы разберем две типичных практических схемы на счетчиках. Одна из них — давно обещанный (см. главы 2 и 14) цифровой лабораторный генератор, для которого нам придется использовать еще один тип счетчика, "заточенного" для работы именно в качестве делителя частоты. Цифровой лабораторный генератор Счетчик 561ИЕ16, который мы будем использовать, ничего особенного не представляет, и является простым асинхронным счетчиком, подобным пока- занному на рис. 24.6, б. Мы могли бы спокойно соорудить его сами из от- дельных триггеров, но для этого их понадобилось бы целых 14 штук, т. е. семь корпусов. А микросхема 561ИЕ16 в 16-выводном корпусе не только за- ключает в себе 14-разрядный счетчик, но и включает специальные буферные усилители по выходу каждого каскада деления, для того чтобы случайная перегрузка одного каскада не привела к остановке всех последующих. Кроме выходов Q0-Q13, наружу выведен вход С и вход сброса R. Позвольте, спро- сите вы, но ведь еще два вывода заняты под питание, так что из 16 выводов на выходы приходится всего 12, а не 14, куда же девать еще два? Разработчи- ки пошли по пути наименьшего сопротивления — почему-то вместо того, чтобы использовать корпус, например, DIP-20 (заодно еще и вход S вывести, и еще что-нибудь, например, поставить буферный усилитель для входной частоты), они просто исключили выходы второго и третьего каскадов Q1 и Q2. Ну, да ладно, обойдемся и тем, что дают. Итак, с помощью этого счетчика мы получим генератор, который выдает 13 значений частоты (считая входную), каждая в два раза меньше предыду- щей, за исключением небольшого "провала". Чтобы получить при этом са- мые низкие частоты, кратные целым, без дробных частей, значениям, выра- женным в герцах, нужно на входе использовать генератор с частотой, равной какой-нибудь степени двойки. Генератор можно, конечно, соорудить по одной из приведенных выше схем мультивибраторов, но это не есть приемлемое решение для лабораторного прибора. Для цифрового генератора в данном случае важна именно стабильность частоты, т. к. мы собираемся испытывать с его помощью разные измерительные схемы — это одна из главных причин, почему лучше сделать для себя такой генератор, а не использовать аналого- вые серийные приборы с плавной перестройкой частоты. Есть, разумеется,
408 Гпава 24 в продаже и кварцованные генераторы промышленного производства, но они на много порядков дороже того, что мы можем соорудить на двух микросхе- мах и пяти навесных деталях— одним, как говорится, взмахом паяльника. И при этом функциональность полученного генератора будет перекрывать наши потребности если и не на все 100, то, по крайней мере, на 99% совер- шенно точно. Мы возьмем кварц, который в народе называют часовым, потому что точно такие же кварцы употребляют во всех без исключения электронных часах. Он имеет частоту ровно 32 768 Гц, что есть, как вы догадались, 215. Применив двоичный счетчик из пятнадцати каскадов, мы получим на выходе частоту ровно 1 Гц, которукГможно использовать для отсчета времени в привычных нам секундах. Учтите, кстати, что продолжительность положительного или отрицательного импульса с частотой 1 Гц, полученной на выходе счетчика, составляет не секунду, а полсекунды, так что для получения интервала дли- тельностью в 1 секунду, надо поделить частоту еще раз пополам. Но это мы отвлеклись, тем более что в нашем случае мы 1 Гц все равно не получим, ибо разрядов у нас только 14. Но и минимальной частоты в 2 Гц будет вполне достаточно. Кстати, немаловажной и очень удобной особенностью нашего генератора будет то, что частоты будут точно (ну, почти точно, т. к. счетчик асинхронный) сфазированы, что позволит нам получать импульсы разной скважности, если использовать дополнительные логические элементы. Прежде чем представить вам схему, которую вы, надеюсь, уже и сами почти придумали, несколько слов о часовых кварцах. То, что они бывают рассчита- ны на пониженное напряжение в целях миниатюризации, я уже рассказывал в предыдущей главе. Миниатюрные кварцы нам не годятся заведомо, т. к. мы хотим использовать свойство КМОП-микросхем работать в диапазоне пита- ния 3—15 В на полную катушку. Самые ходовые часовые кварцы, выдержи- вающие такой диапазон напряжений, выпускают в корпусах длиной порядка 12 мм, высотой и шириной миллиметра по три-четыре— в народе такие кор- пуса зовут "гробиками". Они обычно имеют точность частоты ±1 Гц в при комнатной температуре. Сама схема представлена на рис. 24.8. Как видите, она крайне проста. Если вы не достанете резистор 5,1 МОм — не упирайтесь рогом, поставьте 1—2 МОм, все будет работать отлично. То же касается и емкости конденсаторов— со- вершенно не обязательно использовать именно 62 пФ, подойдут и другие близкие номиналы. Не забудьте, что остаются свободные элементы И-НЕ, и если вы их не планируете использовать (см. далее), их входы надо присое- динить к "земле". Схему следует собрать на макетной плате и вывести все тринадцать значений частоты на ее край, оформив в виде клеммника с соеди- нениями под винт. Внешний вид такого клеммника показан на рис. 24.8 сбоку.
Электронные счеты. Триггеры, счетчики, регистры... 409 Они бывают несколько разной конструкции и разных размеров, а также сдво- енные (как на рисунке), строенные или счетверенные, но все отличаются тем, что их можно соединять друг с другом в одну линейку наподобие деталей конструктора "Лего", получая таким образом клеммники с любым количест- вом выводов. Естественно, каждую клемму следует надписать, чтобы не за- ниматься каждый раз отсчетом выводов от края. Да, а питание? А отдельного блока питания для этой конструкции делать вовсе не надо — т. к. предпола- гается использовать генератор для проверки разных других схем, то целесо- образно будет питать его от того же напряжения, что и эти схемы, чтобы сра- зу получить нужные логические уровни. Но обязательно нужно поставить развязывающий конденсатор по питанию, как указано на схеме. 5,1 м 32768 Гц к выв. 14 DD1 К выв. 7 DD1 Рис. 24.8. Схема цифрового лабораторного генератора Если вы хотите сразу несколько расширить функциональность генератора, добавьте микросхему 561ТМ2 с двумя триггерами, которые нужно превра- 14 Зак. 710
410 Гпава 24 тить в счетные по схеме рис. 24.4, в и присоединить один к выводу частоты 2 Гц (получив таким образом частоту в 1 Гц), а второй можно к первому (чтобы получить интервал 1 с), а можно— к выходу частоты 16384 Гц, что- бы хоть частично заполнить "провал". При этом нужно иметь в виду, что триггеры в ТМ2 работают по фронту, а не по спаду, поэтому чтобы сохра- нить правильную фазировку, выходные частоты надо брать с инверсного вы- хода— того же, куда присоединяется вход D (фазировка входной частоты у нас правильная за счет использования инвертора). Можно, конечно, поста- вить и инверторы по входу С, для чего задействовать свободные два элемента ЛА7 — так будет даже "правильнее". Однако логические элементы лучше иметь еще и отдельно — они позволят собирать выходы счетчика для полу- чения нужной скважности для разных других целей. Так что удобно добавить еще одну микросхему типа ЛА7 или ЛЕ5, выводы которой также выведены на отдельный клеммник. Можно добавить к схеме и ключевой транзистор, т. к. довольно часто приходится подключать различные мощные нагрузки типа динамика или светодиодов. В общем, творите, как сумеете. Частотомер Частотомер в радиолюбительской практике прибор очень полезный, но не позарез необходимый. Мы отчасти именно для того и городили "кварцова- ный" генератор, чтобы заранее всегда знать точно, какая у нас частота и дли- тельность импульса. А приблизительно померить частоту всегда можно ос- циллографом. Иное дело с аналоговым генератором, который мы конструировали в главе 14 — там частотомер может понадобиться хотя бы для того, чтобы генератор этот откалибровать. Он может иногда оказаться полезен и для измерения интервалов времени, например, при отладке управ- ления мощной нагрузкой (см. главу 11) или получаемых с интегрирующих АЦП (см. главу 25). Так что если вы его сделаете— лишним он отнюдь не окажется. Однако конструкция хорошего частотомера (а плохой делать не имеет смысла), как вы увидите, куда сложнее генератора. Причем главная трудность заключается не в принципе— он очень прост— а в том, чтобы обеспечить универсальность, удобство и корректность работы и достаточную разрешающую способность во всех диапазонах. В результате конструкция получается довольно громоздкая. Эту громоздкость можно было бы свести к минимуму, если использовать микропроцессор в совокупности с многораз- рядным драйвером семисегментных индикаторов (типа, скажем, МАХ7219). Тогда все трудности построения такой схемы, кроме аналогового входного формирователя, перешли бы в область программирования. Однако тут есть один подводный камень— обычный универсальный микропроцессор типа
Электронные счеты. Триггеры, счетчики, регистры... 411 популярных PIC или AVR скорее всего не справится с такой задачей из-за относительно медленной работы. Придется брать и осваивать быстродейст- вующие типы, и еще не факт, что вам сразу удастся среди них подобрать чип, удобный для нашей задачи. Как видите, везде свои трудности, и поскольку мы еще микропроцессоров "не проходили", то остановимся на "сермяжном" варианте на основе микросхем средней степени интеграции, тем более, что при проектировании на более современной основе принципы работы будут те же, а знание "кухни" никогда не помешает. Начнем с технического задания. При его составлении мы не будем слишком сильно раздувать функциональность, чтобы не усложнять схему сверх необ- ходимости. Однако не будем и жаться, иначе устройство получится беспо- лезное на практике. За основу возьмем КМОП стандартной серии, которые нормально работают до частоты 1 МГц, поэтому ограничимся индикатором в 6 десятичных разрядов. Если хотите расширить пределы измеряемых час- тот, то можете использовать серию 74НС, которая позволит работать до 10 МГц и выше, но тогда и количество разрядов индикатора придется увели- чить, а также расширить и доработать некоторые другие узлы. Здесь же мы остановимся на базовой серии КМОП. Итак, наш частотомер будет уметь: □ измерять частоту в пределах 0,1—99 999,9 Гц с разрешающей способно- стью 0,1 Гц; □ измерять частоту в пределах 1—999 999 Гц с разрешающей способностью 1 Гц; □ измерять период колебания в пределах 1 мкс—999 999 мкс; □ измерять длительность временного интервала в пределах 1 мкс—999 999 мкс. Погрешности здесь зависят практически только от применяемого кварца и отчасти от построения схемы. Если считать кварц совершенно точным, то погрешность составит половину разрешающей способности. На самом де- ле обычные кварцы имеют, как мы уже неоднократно упоминали, при ком- натной температуре погрешность порядка 10~5, т. е. в этом случае частоту 999 999 Гц можно измерить с систематической погрешностью ±10 Гц, а в нашем случае некоторое упрощение схемы добавит еще случайную по- грешность +30 Гц (максимально, причем знак + означает, что ошибка всегда в сторону увеличения), но и такая погрешность (0,003% от полной шкалы) более чем приемлема для практических целей. О причинах появления слу- чайной погрешности при измерении частоты см. сноску 6 в этой главе. В случае же измерения периода и временного интервала указанная случайная ошибка пропадет, а систематическая (от разброса частоты кварца) станет от- носительной, т. е. в процентах от измеренной величины, а не от полной шка- лы — с учетом ограничений по разрешающей способности, конечно.
412 Гпава 24 Сам принцип измерения очень прост: частота есть количество колебаний в секунду, поэтому мы, не долго думая, берем импульс длительностью в 1 секунду и подсчитываем счетчиком число импульсов за время этого ин- тервала. Полученный результат и будет частота. Чтобы повысить разрешаю- щую способность в 10 раз, надо подсчитать число импульсов за 10 секунд и при индикации не забыть высветить запятую перед младшим разрядом. По- лучим частоту с точностью до долей герца (импульсов получится, естествен- но, в 10 раз больше, поэтому мы ограничили в этом случае измеряемую час- тоту значением 99 999,9 Гц, иначе число не влезет в индикатор). Можно, в принципе, и не задаваться таким большим временем счета, а повысить раз- решающую способность, используя "принцип нониуса", как у штангенцирку- ля, но это усложнит схему и любопытствующих я отсылаю к [10], а мы со- чтем 10 секунд приемлемым временем. Аналогично измеряется и интервал времени (длительность импульса), только наоборот: подсчетом числа импульсов 1 МГц, которые прошли за это время, мы получаем время в микросекундах. Период будем измерять, как и интервал времени, только останавливать счетчик придется не по следующему проти- воположному перепаду входного сигнала, а по перепаду той же полярности. Следует предусмотреть и возможность измерения длительности как положи- тельных импульсов (от фронта до спада), так и отрицательных (от спада до фронта). При измерении периода, кстати, проще обеспечить высокую разре- шающую способность, чем при измерении частоты, т. к. можно взять 10, 100 и более периодов, получая при этом в общем случае не слишком большое время счета. Можно даже автоматизировать выбор количества периодов с целью достижения максимальной разрешающей способности. Можно и частоту измерять по периоду, а затем "переворачивать" результат с помощью реверсивного счетчика с предустановкой, как описано выше. Много чего можно, но мы все же пойдем самым простым путем. Проектирование мы начнем со входного формирователя импульсов. Это очень важный узел, т. к. мы собираемся измерять частоту сигналов произ- вольной формы и амплитуды, и любой такой сигнал надо превратить в пря- моугольный с амплитудой, соответствующей напряжению питания цифровой части. Можно сказать, что половина успеха в проектировании частотомера зависит от этого узла — все остальное есть лишь соединение стандартных кирпичиков нужным образом. Вариант его построения с помощью компара- тора показан на рис. 24.9. Как видите, он получился не таким уж и простым. Формирователь имеет входное сопротивление около 300 кОм (минимально). Потенциометр "Уровень" служит для регулирования амплитуды входного сигнала. Если она все же превышает напряжение питания (от пика до пика), то защитные диоды, присоединенные к "земле" и питанию, не позволят ей
Электронные счеты. Триггеры, счетчики, регистры...413 выйти за его пределы. Резистор 10 кОм служит для ограничения тока через эти диоды. Потенциометром "Порог" можно регулировать уровень срабаты- вания (почти от нуля до примерно +2,2 В, считая от среднего значения вход- ного напряжения). Делители по входам должны быть настроены так, чтобы в нижнем по схеме положении этого потенциометра напряжение на отрица- тельном входе примерно на 0,1 В превышало напряжение на положительном (при полном отсутствии, естественно, сигнала на входе, т. е. при замыкании входа на "землю"), для чего суммы сопротивлений в верхнем и нижнем плече сделаны не совсем равными. В этом случае на выходе компаратора при от- сутствии сигнала будет всегда лог. 0. Величина 0,1 В при этом будет харак- теризовать максимальную чувствительность частотомера, меньше ее делать не следует во избежание ложных срабатываний. Конденсатор входного фильтра, показанный пунктиром, для повышения четкости срабатывания лучше не устанавливать вообще, однако в этом случае также возможны лож- ные срабатывания, и лучше его установить, подобрав величину емкости так, чтобы при частоте 1 МГц форма прямоугольных импульсов на входе компа- ратора не слишком искажалась по сравнению с исходной. Переключатель на выходе, условно обозначенный символами фронта и спада, переключает вы- ход формирователя с прямого представления полученного сигнала на ин- версное — в целях обеспечения возможности работы как с положительными, так и с отрицательными импульсами. В дальнейшем мы будем считать, что работаем с импульсами только положительной полярности. +9 в Рис. 24.9. Схема входного формирователя импульсов для частотомера Заметьте, что я уже задался напряжением питания схемы. 9 В у меня выбрано потому, что такое напряжение удобно для управления светодиодными инди- каторами, кроме того, быстродействие КМОП при этом напряжении будет выше, стабильность работы компаратора также повысится. Если вы захотите
414 Гпава 24 использовать быстродействующую КМОП-логику, вам придется снизить пи- тание до стандартных 5 В, использовать отдельное напряжение для управле- ния индикаторами и потому ввести дополнительные ключи (см. главу 32). Второе, что мы сделаем — сконструируем узел индикации. Его можно по- строить самым различным образом. Условия такие: на входе имеется двоично- десятичный код (6 десятичных разрядов по 4 бита каждый). На выходе мы должны иметь светящиеся индикаторы — также 6 штук. В принципе можно достать старинные микросхемы 176ИЕ4, в которых семисегментный дешиф- ратор совмещен с десятичным счетчиком (забудем пока про то, что серия 176 менее быстродействующая). Но такое лобовое решение не будет корректным. Во-первых, т. ^к. счет у нас долгий (да и в любом другом случае), грамотное построение узла индикации обязательно включает в себя регистр-защелку, чтобы на то время, пока идет счет, информация на индикаторах не менялась. Можно тогда тупо подключить к выходу каждого десятичного разряда де- шифратор 561ИД5 (см. рис. 21.6), а к нему— индикатор (этот дешифратор умеет "защелкивать" данные). Итого 6 корпусов дешифраторов. Годится? В общем, да, но подсчитаем количество внешних соединений: 7 • 6 = 42 про- водочка только для соединения сегментов с дешифраторами, и еще — пита- ние. Да, мы же забыли, что напрямую подключать к выходам дешифраторов светодиоды не рекомендуется, и потому еще понадобится либо 42 транзистора (и 84 резистора к ним) либо соответствующее количество буферных элемен- тов типа ЛН2 или ПУ4 (7 корпусов)! Нельзя ли это дело как-то подсократить? Можно, но при этом схема усложнится, т. к. придется добавить на каждый разряд по корпусу "защелок" 561ТМЗ и сооружать еще схему управления, но транзисторов понадобится меньше, и схема соединений самих индикаторов окажется проще. Такая схема, которую мы будем сейчас изобретать, называется "динамиче- ской индикацией". Забегая вперед, заметим, что ее целесообразно применять, если количество разрядов индикации четыре и выше. Смысл ее в следующем: в каждый отдельный момент напряжение питания подается только на один разряд индикаторов. В это же время на сегменты, которые все соединены меж- ду собой параллельно, подается код, соответствующий именно этому разряду. В следующем такте код меняется, а напряжение подается на следующий раз- ряд, и так все время. Чтобы мигание было незаметно для глаза, полный цикл смены разрядов должен повторяться с частотой не менее 150—200 Гц. Естест- венно, потребуется увеличение мгновенного значения тока через сегменты по сравнению со статическим режимом. При таком режиме требуется всего семь соединений для управления сегментами и столько для управления разрядами, сколько разрядов— т. е., в данном случае, шесть. Итого— 13 вместо 42. Неплохо! А почему эту схему невыгодно использовать при числе индикато-
Электронные счеты. Триггеры, счетчики, регистры...415 ров, меньшем четырех? Потому что при двух индикаторах нам хотя и потре- буется меньше соединений (9 против 14), но усложнение схемы себя не оп- равдает — число корпусов окажется слишком большим. А в случае управле- ния от микропроцессора, соответственно, усложнится программа. Случай трех индикаторов пограничный: динамический режим целесообразно зате- вать, если вы управляете от микропроцессора, где может элементарно не хва- тить управляющих выводов. В случае же использования микросхем средней степени интеграции это опять же невыгодно. Однозначно выгодно это только при большом числе разрядов. Для обеспечения такого режима нам потребуется один дешифратор, четыре корпуса мультиплексоров/демультиплексоров, счетчик-распределитель до 6 (два корпуса + логика), шесть транзисторов для управления разрядами и семь транзисторов для управления сегментами. Сначала разберемся, что такое мультиплексоры. Это микросхема, которая коммутирует единственный вход- ной/выходной вывод с одним их восьми других (нам потребуется 6). Номер коммутируемого вывода определяется трехразрядным кодом на управляю- щих выводах. Такова микросхема 561КП2 (561 КП 1 делает то же самое, но содержит два четырехразрядных мультиплексора). Кстати, мы упоминали уже (см. главу 20), что эти микросхемы прекрасно коммутируют аналоговые сиг- налы. Это происходит потому, что здесь выход и вход просто соединяются между собой с помощью ключа, подобно электронному реле. По этой же причине микросхемы эти можно использовать и как мультиплексор (8 —» 1) и в обратном направлении, как демультиплексор (1 —» 8), что, впрочем, требуется значительно реже. Для работы с аналоговыми сигналами у них предусмотрен дополнительный вывод для подключения отрицательного питания (как у дешиф- ратора ИД5), который в нашем случае коммутируется просто на "землю". Теперь разберемся со счетчиком-распределителем. По функциональности это расширенный вариант рассмотренного нами в главе 21 дешифратора 4 —> 10 (561ИД1), только счетчик выдает сигнал не по комбинации бит на входе^ а пе- ребирает выходы по мере поступления тактовых импульсов. То есть это не что иное, как двоично-десятичный счетчик, объединенный с дешифратором. Такая конструкция выпускается в виде отдельной микросхемы (561ИЕ8 или ИЕ9), но нам потребуется не только дешифрованный сигнал для управления разрядами, но и сам двоичный код для управления мультиплексорами, поэтому мы ее со- орудим сами из знакомых нам счетчиков 561ИЕ10 и дешифратора 561ИД1, а чтобы считать именно до 6, применим дешифратор на логических элементах. Если бы число разрядов было кратно 8, дешифратор бы не понадобился. Теперь рассчитаем параметры схемы управления. Выберем индикаторы с общим катодом (дешифратор ИД5 выдает низкие уровни на выходах управ- ления сегментами, поэтому ими удобно управлять через р-п-р-транзисторы,
416 Гпава 24 подключенные к питанию). Получается, что нужны семь р-п-р-транзисторов и шесть n-p-п, более мощных. Кстати, о токе — а сколько будет потреблять такая индикация? Положим средний ток через сегмент 3 мА (для современ- ных импортных индикаторов этого более, чем достаточно), всего у нас 42 сегмента, итого почти 130 мА (крайний случай, когда горят все восьмер- ки). Заодно прикинем общее потребление схемы — с учетом остальных эле- ментов примем его равным примерно 150 мА. Будем использовать стабили- затор LM7809 в корпусе ТО-220 (при входном напряжении 12—14 В радиатор не потребуется). Импульсный ток через сегмент при этом должен быть на уровне 6-3=18 мА. Если вычесть из 9 В примерно 2 В падения на управляющих транзисторах и еще 2 В на самом сегменте, то токоограничи- вающий резистор для сегмента должен составить 270 Ом (если вы захотите использовать индикаторы большого размера, где в каждом сегменте по два светодиода, его придется уменьшить до 160 Ом). В базе управляющего тран- зистора для сегмента (выберем тип КТЗ 107) поставим резистор 9,1 кОм, в базу транзистора управления разрядом (импульсный ток до 130 мА, потому выбираем п-р-п-транзисторы средней мощности с "супербетой", типа КТ972) ставим такой же резистор. Все, параметры схемы индикации мы рассчитали. Теперь ее можно нарисо- вать (см. рис. 24.10). На чертеже для сокращения числа линий соединений между устройствами применен широко употребляемый прием объединения проводников в так называемую "шину". Шина обозначается более толстой линией, и все выходные и входные концы у нее нумеруются — у каждой из шин нумерация своя. Точки на пересечении не ставятся. Сверху справа на рис. 24.10 нарисован стабилизатор питания для всего уст- ройства. Он ничем не примечателен, кроме RC-фильтра, который на всякий случай разделяет питание измерительной части и индикаторов. Нумерация микросхем на рис. 24.10 продолжена с рис. 24.9. Заметьте, что в совокупности у нас остаются свободными три двухвходовых элемента И-НЕ (DD1), два трехвходовых И-НЕ (DD3) и один двухвходовой ИЛИ-НЕ (DD4) — мы их потом постараемся использовать. Второй счетчик в корпусе ИЕ10 (DD2) мы также используем. Не забудьте при раскладке плат присое- динить свободные входы оставшихся элементов к шине "земли" — я этого на схемах не указываю, чтобы их не загромождать. Иногда удобно при расклад- ке поменять элементы из одного корпуса местами — не забудьте при этом изменить нумерацию выводов на схеме, иначе разобраться в дальнейшем бу- дет очень сложно. Если вы будете модернизировать схему с использованием быстродействующей логики типа 74НС (1564), не забудьте также, что раз- водка выводов аналогичных микросхем там другая.
Электронные счеты. Триггеры, счетчики, регистры... 417 1 1 *9 В DD4/3 1000,0 х16 В Питание микросхем ---------------~+9В Питание индикаторов (к эмиттерам VT1-VT7) ------------------^+9 в- 33 1000,0 х16 В выход вход LM7809 Общий .4-12-14 В 1000,0 х16 В ХО, — Х0: Х0,— Х0. — Х0,— Х0,— 10 DD2 561ИЕ10 DD3 561ЛА8 DD4 561Л Е5 DD5-DD8 561КП2 DD9 561ИД1 DD10 561ИД5 4-9 В - к выв. 16 DD2, DD5 - DD10, к выв 14 DD3, DD4 -L. к выв. 8 DD2, DD5 - DD10, к выв 7 DD3, DD4, DD5 -DD8, DD10 Х2,— 15 Х2,— Х2.— Х2,— Х2,— Х2.— Рис. 24.10. Схема блока индикации и стабилизатора питания для частотомера Схема узла индикации работает так: счетчик DD2/1 считает непрерывно при поступлении на его вход частоты 1024 Гц (которую мы возьмем от основного счетчика-делителя, см. далее). Когда на выходе счетчика оказывается код 101, соответствующий пятому пришедшему тактовому импульсу, если счи- тать за начальное состояние код 000, то на выходе трехвходового элемента И-НЕ (DD3/1) оказывается лог. 0. Так как на втором входе элемента ИЛИ-НЕ (DD4/2) при этом еще действует положительный уровень входного тактового
418 Гпава 24 сигнала (счетчик ИЕК), напомним, срабатывает по положительному фронту), то на выходе ее также лог. О, который сменяется единицей, когда тактовый импульс закончится. В момент прихода следующего (шестого) тактового им- пульса, который должен был бы привести счетчик в состояние 110, выход ИЛИ-HE переключается в состояние лог. 0, а счетчик обнуляется по входу R через дифференцирующую цепочку и элемент DD4/3. Гарантированно избе- жать конфликта между фронтом тактового и обнуляющего импульса позво- ляет тот факт, что задержка в триггерах асинхронного счетчика однозначно больше, чем задержка в отдельном логическом элементе (впрочем, если даже на выходах и возникнет вдруг "иголка", это в данном случае никак не по- влияет на работу нашей схемы, во-первых, потому что вся остальная логи- ка — статическая, а не динамическая, и кратковременное состояние 110 пройдет просто незамеченным, во-вторых, потому что состояние 110 вообще не дешифрируется, см. далее). Импульс на выходе дифференцирующей це- почки составляет примерно 1/100 такта или около 10 мкс. После этого счет- чик начинает считать сначала, пробегая таким образом равномерно по време- ни шесть состояний от 000 до 101. Эти состояния подаются на управляющие входы мультиплексоров DD5-DD8, которые подключают к своим выходам двоичные разряды каждого из 6 десятичных знаков — при комбинации 000 подключается четыре бита самого младшего знака и так далее, до комбина- ции 101, когда подключается самый старший. Эти биты поступают на де- шифратор DD10, который превращает двоичный код в семисегментный. Вы- ходы дешифратора управляют транзисторами VT1-VT7, подключенными, в свою очередь, к объединенным выводам a-g индикаторов. Одновременно код с выхода счетчика поступает на дешифратор DD9, который выдает лог. 1 на том из 6 выходов, номер которого совпадает со значением кода. Эти вы- ходы управляют транзисторами VT8-VT13, коммутирующими катод соответ- ствующего индикатора на "землю". Таким образом, в каждый момент време- ни включен тот индикатор, номер которого соответствует коду счетчика, и на него при этом подается код цифры знака, также соответствующего коду. Час- тота смены индикаторов составит при этом 1024/6 = 170 Гц и глаз не заметит мерцания. При раскладке платы следует обратить внимание на то, чтобы не перепутать порядок расположения индикаторов — они должны располагать- ся слева направо как на схеме, самому старшему знаку соответствует индика- тор с номером Н6, код "Х0|, XI ь Х2ц Х3|" при этом должен соответствовать самому младшему, а код "Х06, Х16, Х2б, ХЗб" — самому старшему десятич- ному разряду. Обратите внимание, что запятая на индикаторе Н2, которая загорается в случае измерения частоты с точностью до 0,1 Гц, с целью вы- равнивания яркостей подключается через резистор несколько большего номинала, чем остальные сегменты, т. к. при этом нет падения напряжения
Электронные счеты. Триггеры, счетчики, регистры...419 на ключах. Сами индикаторы SC05-11H (фирмы Kingbright) имеют высоту цифры полдюйма (05 в обозначении), т. е. 12,7 мм, и красный цвет свечения (буква Н в обозначении). Можно без каких-то переделок, кроме разводки выво- дов самих индикаторов, заменить их на любые другие (с общим катодом), только в случае индикаторов большого размера (размер цифры 20 мм и более) нужно не забыть уменьшить номиналы ограничительных резисторов (см. выше). Теперь все вспомогательное мы сделали и, наконец, перейдем к конструкции собственно частотомера. В него должны входить: генератор частот, основной счетчик для формирования двоично-десятичного шестизначного кода, управ- ляющая логика и переключатель режимов. Начнем с основного счетчика — его мы сделаем на шести корпусах 561ИЕ14, включенных для работы в двоично- десятичном режиме. Не забудем, что обнуление у ИЕ14 ненормальное, по- этому сигнал обнуления придется подавать на вход SE. К счетчику необхо- димо добавить регистр-защелку (6 микросхем 561ТМЗ). Теперь о генераторе частот. Основной генератор мы сделаем на кварце 1 МГц. Однако нам еще потребуются импульсы длительностью 1 с и 10 с — для измерения частоты (и, кстати, частота 1 кГц для индикации). Тут мы по- ступим нестандартно — сделаем еще один генератор на кварце 32768 Гц, по- добный тому, что мы уже делали ранее. Это позволит нам сэкономить корпу- са, иначе пришлось бы ставить семь делителей на 10 или вообще переходить на другую элементную базу. Наше же решение имеет тот недостаток, что оба генератора не синхронизированы и вносят каждый свою ошибку, но суммар- ная ошибка будет невелика. Итак, нам понадобится счетчик ИЕ16, с одного из выходов которого мы возьмем частоту 1024 Гц для индикации. (Кстати, если вам покажется, что индикаторы все же мерцают, то просто подайте на узел индикации частоту 2048 Гц с другого выхода.) Выход частоты 2 Гц мы подсоединим ко входу оставшегося двоичного счетчика из микросхемы ИЕ10 (DD2) и с его выхода Q1 получим частоту 0,5 Гц, т. е. импульсы продолжительностью 1 с. Для по- лучения импульсов 10 с будем использовать десятичный счетчик 561ИЕ8, на вход которого подадим частоту 0,5 Гц, а с выхода переноса получим как раз то, что надо — ИЕ8 представляет собой десятичный счетчик-распределитель с симметричным меандром на выходе переноса. Осталось построить устройство управления. Причем надо учесть одно об- стоятельство — в случае измерения периода и длительности импульса необ- ходимо предусмотреть ситуацию, когда измеряемая частота вдруг пропадает или имеет недопустимо большой период — иначе наш частотомер так и за- виснет в режиме счета. Это можно сделать, принудительно обнуляя основной счетчик по прошествии некоего заданного интервала.
420 Гпава 24 В общих чертах схема управления будет выглядеть так. В режиме измерения частоты на вход SE основного счетчика подается импульс длительностью либо 1 с, либо 10 с (т. н. "ворота"), во втором случае одновременно нужно подсоединить вывод запятой индикатора Н2 в схеме индикации к питанию + 9 В. На вход С счетчика при этом подается измеряемая частота. По окончании интервала времени содержимое разрядов счетчика переписывается в регистр- защелку, а сам счетчик вслед за этим должен быть обнулен. Одновременно должны быть обнулены и счетчики-делители ИЕ16, ИЕ10 и ИЕ8. В этом слу- чае новый счет начнется сразу6. В режиме измерения длительности интервала времени надо просто сде- лать наоборот —на вход SE счетчика подать измеряемую частоту, а на вход С — частоту 1 МГц. Весь остальной алгоритм остался бы тем же, но остается вышеуказанный нюанс с пропаданием входной частоты. Это усложняет дело, но никуда не денешься, иначе наш частотомер будет работать некорректно. Для того чтобы уберечься от "зависания", нужно подавать обнуляющие им- пульсы на вход SE через логический элемент, на второй вход которого завес- ти импульс, формируемый по окончании секундного интервала с выхода Q1 счетчика ИЕ10. Счетчик будет обнуляться либо по входному фронту, либо по этому импульсу. Естественно, в режиме измерения частоты этот импульс следует отключать. При измерении периода входной частоты проще всего поделить входную частоту на два с помощью одного счетного триггера, получив "ворота" в один период, и далее использовать алгоритм для измерения длительности интервала времени. Укажем и недостаток придуманного нами алгоритма — первое измерение как при включении питания, так и при переключении режимов будет некоррект- ным. Для режимов измерения частоты от ошибок при включении питания, когда счетчики оказываются в произвольном состоянии, избавиться легко (см. ранее об установке RS-триггеров), а вот для измерения периода и интер- вала куда сложнее, т. к. мы попадаем в неизвестный момент относительно 6 Так как обнуление наступает в момент между фронтами частоты генератора 32 768 Гц, то при этом интервал 1 или 10 с может быть чуть-чуть длиннее заданного— в пределах 30 мкс, т. е. одного периода частоты 32 768 Гц (более точной оценке мешает то, что длительность обну- ляющего импульса нестабильна и неизвестны величины задержек в счетчиках, тем более что они асинхронные). Мы могли бы синхронизировать импульс обнуления с частотой генератора или сделать задающий генератор от одной частоты 1 МГц (тогда "гуляние" происходило бы в пределах 1 мкс, а не 30), но не имеет смысла возиться, т. к. ошибка составит максимум 3 • 10-5 от полной шкалы. Это приведет к вышеуказанной погрешности +30 Гц на пределе измерения 1 МГц и +3 Гц на пределе измерения 100 кГц. Учтите, что это максимальная случайная по- грешность, средняя будет равна ровно половине этих величин.
Электронные счеты. Триггеры, счетчики, регистры... 421 входной частоты. Если делать все корректно, то надо бы на это время запирать индикацию, но мы не будем усложнять нашу и без того громоздкую схему. Осталось все эти замечательные придумки реализовать в виде готовой схемы. При ее составлении учтем, что нам надо при переключении режимов одно- временно коммутировать много всяких мест, и есть два пути реализации пе- реключателя: обойтись простым переключателем на одно направление и че- тыре положения, а все остальное реализовать на логических элементах, а можно взять сложный переключатель на много направлений, но сократить при этом количество корпусов микросхем. Мы пойдем по второму пути, хотя задача приобретения нужного переключателя (4 положения, 4 направления) может оказаться непростой. В случае использования быстродействующих микросхем лучше было бы все организовать по первому способу, чтобы не тащить мегагерцовые сигналы к переключателю через весь корпус прибора (это относится и к механическому переключателю полярности входа). Но конструкция и так получается сложной, потому остановимся на этом. Получившаяся в результате схема показана на рис. 24.11. В верхней части ее расположен основной счетчик на 6 микросхемах 561ИЕ14 (DD11—DD16) и регистр-защелка на 6 корпусах 561ТМЗ (DD17—DD22). Выходы "защелки" должны присоединяться к соответствующим входам мультиплексоров (DD5—DD8) на схеме индикации. Генераторы собраны в соответствии с опи- санным, каждый на одном элементе из корпусов DD23 и DD24. В теории ре- комендуется не использовать оставшиеся элементы из корпуса, который ис- пользован для построения схемы релаксационного генератора любого типа, в особенности кварцевого — могут наблюдаться помехи (по тем же сообра- жениям генераторы собраны на разных корпусах). Однако опыт показывает, что для обычной КМОП на низких частотах это не критично, поэтому мы все же использовали в схеме управления оставшиеся два инвертора из корпуса DD24, на первом элементе из которого собран генератор 32768 Гц. Главный персонаж схемы управления— переключатель S1 на 4 положения и 4 направления. Первое направление используется для переключения частот, а второе — для переключения "ворот". Оба этих сигнала затем смешиваются на элементе ИЛИ-НЕ (DD4/4), и заполненные нужной частотой "ворота" посту- пают на вход счетчика. Как только "ворота" заканчиваются, формирователь на элементе DD1/2 (использованы оставшиеся элементы из корпуса DD1 на рис. 24.9) выдает импульс длительностью около 100 мкс, по которому про- исходит перезапись состояния счетчика в регистр-защелку. По окончании этого импульса следующий формирователь (DD1/3) выдает импульс обнуления дли- тельностью около 10 мкс, который, однако, подается на счетчики не напрямую, а через два дополнительных логических элемента. Первый из них (DD1/4), кроме функции инверсии, осуществляет начальную установку всех счетчиков
422 Гпава 24 при включении питания. Второй (DD24/3) передает сигнал обнуления либо с выхода DD1/4, либо с выхода элемента DD24/4, который работает следую- щим образом. Если переключатель S1 установлен в одно из положений для из- мерения частоты, то на входе (вывод 12) напряжение "земли" и элемент заперт. Если же производится измерение интервала времени или периода, то по задне- му фронту импульса 1 с на выходе DD24/4 формируется импульс длительно- стью 10 мкс, который передается на обнуление счетчиков, если к тому времени задний фронт входных "ворот" этого еще не сделал. Оставшееся направление переключателя S1 используется для того, чтобы в режиме "Частота 10 с" под- ключать питание на запятую в индикаторе Н2 (рис. 24.10). DD11 -DD16 DD17-DD22 DD23 DD26 D, LT О, D, Оз D, Оз 0. Q. Р S DD11 D, LT Q, d2 Оз D, Q, о. 0. Р S DD12 D, LT Q, Оз Оз О, Оз 04 О. Р и DD16 3 13 з 13 — Х2. J5 6 5 5 СТ S0 СТ S0 Q0 S1 Q1 S1 Q1 Q1 Q2 Q2 Q2 S2 S2 S3 Q3 S3 B/D U/D DD22 Г1 SE DD18 & & 10 DD1/2 DD1/3 10 DD24/3 +9 В- к выв. 16 DD11-DD22, к выв. 14 DD23-DD27 10 +9 В J. -к выв. 8 DD11 -DD22, к выв. 7 DD23-DD27 —хз; 1S-X3. 15-хз, —хо, 1Р-Х1. 11X2, Q0 И 11 2 Q0 — •1-ХОг 12-Х1, •1-хо, 11X1, — Х2, Q3 B/D U/D & 5 DD4/4 DD23/2 H 'Частоте 1 c" DD1/4 "Интервал" “Период" 4 DD27/1 & & 5 СТ DD24/4 3 14 DD24/2 Q13 Q4 DD26 DD2/2 Рис. 24.11. Схема измерительной части частотомера 561ТМЗ 561ИЕ14 561ЛА7 DD27 561ТМ2 S1 S2 S3 B/D SE SO Q3 — U/D 10 +9 В 3,0 M 3 6- DD23/1 1 МГц . 62 пф 62пф Вх.частота 3,0 м 3 р- DD24/1 . 32768Гц -А- 62 пф 62 пф 5 13 1024 Гц Kynp запятой & &
Электронные счеты. Триггеры, счетчики, регистры...423 Вот, собственно, и все. Хочу заметить, что хотя схема частотомера действи- тельно довольно громоздкая (и то мы еще везде упрощали, как могли), на самом деле использование цифровых микросхем отличается от аналоговой техники в выгодную сторону тем, что схемы на них можно не макетировать (в данном случае, за исключением аналогового узла входного формировате- ля). Если вы не допускали ошибок, то все должно заработать сразу. Для улучшения схемы можно только придумать, как уменьшить количество кор- пусов микросхем и тем самым сложность печатных плат, раскладка которых в данной конструкции будет самым трудоемким и дорогим процессом. Именно для этого и предназначены микропроцессоры, которые являются универсальными логическими устройствами. Но прежде чем мы перейдем к их изучению, надо рассмотреть еще один класс электронных устройств — аналого-цифровые преобразователи.
Глава 25 Откуда берутся цифры. Цифроаналоговые и аналого-цифровые преобразователи Орудуйте мушкетом и шпагой, мой милый, в этих двух занятиях вы проявляете боль- шое искусство, а перо предоставьте госпо- дину аббату, это по его части. А. Дюма, "Три мушкетера" Все природные явления носят непрерывный, аналоговый характер. За двумя большими оговорками — о первой из них мы уже осведомлены, и касается она такой категории, как количество (см. главу 19). Но, несмотря на свою универсальность и вездесущность, дискретное "количество" лежит все же в области абстрактных понятий, а не физических свойств и явлений, а вот другое исключение немало потрясло ученых, когда его обнаружили. Речь идет об атомно-молекулярной структуре вещества и всей огромной совокуп- ности явлений, которые являются следствием этого феномена. И все же даже это универсальное свойство материи нашими органами чувств непосредст- венно не обнаруживается, для нас все протекает так, как если бы явления природы были полностью непрерывными и характеризовались бы рядом дей- ствительных чисел, отстоящих друг от друга по числовой оси на бесконечно малые отрезки. Природа даже устроила нам некоторые препятствия на пути к полной дис- кретизации всего и вся — так, все элементарные частицы, как известно, мо- гут вести себя и как дискретные частицы, и как непрерывные волны — в за- висимости от условий эксперимента. Показательным в этом смысле являются попытки получить идеальные дискретные величины в таких условиях, когда, казалось бы, аналоговым величинам нет места вообще. Одна из таких по- пыток — построение лазеров: теоретически они должны выдавать электро- магнитную волну одной строго определенной частоты, потому что излучение их связано с квантовыми переходами электронов с одной орбиты на другую, а орбиты эти в каждом случае строго фиксированы. Между тем, можно легко показать, что излучение с одной точно определенной длиной волны при ненулевой мощности должно иметь бесконечную амплитуду. Это несколько
426 Гпава 25 напоминает процесс заряда или разряда конденсатора через нулевое сопро- тивление, при котором, как мы помним, величина тока в цепи в первый момент также обязана быть бесконечно большой. В реальности частота из- лучения лазера не является абсолютно точной величиной, а занимает неко- торую, хотя и очень узкую, непрерывную полосу частот. Точно так же обсто- ит дело и с резонансной частотой изученного нами в главе 23 кварцевого резонатора. По понятным причинам наши органы чувств за время эволюции отлично приспособились к восприятию аналоговых величин, но плохо воспринимают дискретные. Почему вредны для глаз старые компьютерные мониторы? Эк- раны и компьютеров, и телевизоров, и традиционных кинотеатров отличают- ся тем, что на них изображение принципиально дискретное. Глаз пытается распознать в калейдоскопе мелькающих кадров отдельные сцены, никак не желая "понять", что перед ним одно движущееся изображение. (Братья Люмьеры, изобретатели кинематографа, были, среди прочих, провозвестни- ками цифрового века.) Частота 80 Гц, которая считается порогом безопасного восприятия, есть просто предел, выше которого перестает хватать быстро- действия канала передачи глаз-мозг, он работает подобно фильтру низких частот, отрезая пульсации, и мозгу кажется, что перед ним действительно непрерывный процесс. Но в природе, повторим, все величины и процессы действительно непрерыв- ные — вплоть до масштабов, которыми занимается уже атомная физика. В этих масштабах все обстоит совершенно по-другому, чем в привычном нам мире — например, такие характеристики, как температура или давление, те- ряют смысл, ибо они применимы только к очень большому, непрерывному ансамблю частиц. В то же время мы обнаружили, что считать и обрабатывать информацию лучше все-таки в цифровой форме, которая является универ- сальной и не зависит от природы физической величины, с которой мы мани- пулируем. Встает задача преобразования аналоговой величины в дискретную. Между прочим, термин "аналоговый" не слишком хорошо отражает сущ- ность явления (что чему там "аналогично"?) — точнее сказать "непрерыв- ный", а "аналоговый" есть лишь дань традиции, подобно "операционному" усилителю. Естественно, когда мы хотим, чтобы преобразованная информация опять предстала перед нами в форме, воспринимаемой нашими органами чувств, то мы вынуждены делать и обратное преобразование — цифроаналоговое. Именно этим занимаются звуковые или видеокарты в компьютере. Однако такая задача возникает далеко не всегда, потому что во многих случаях ин- формацию можно оставить в цифровом виде, так ее и отобразив — в виде совокупности цифр, к примеру, на семисегментном индикаторе. Интересно,
Откуда берутся цифры. Цифроаналоговые и аналого-цифровые преобразователи 427 что такой способ отображения, хотя и значительно более корректный, чем аналоговый (мы не теряем информации), но не всегда оказывается более пра- вильным. Если вглядеться в пульт управления каким-нибудь сложным уст- ройством — не обязательно атомной электростанцией, достаточно торпеды обычного автомобиля, — увидим, что большинство показывающих приборов там — стрелочные. Хотя, как вы понимаете, нет никаких проблем в совре- менном автомобиле демонстрировать скорость, уровень топлива или темпе- ратуру двигателя непосредственно в цифрах, но этого не делают сознательно, потому что в очень многих случаях человека не интересует точное значение того или иного параметра. Его интересует только отклонение от некоторого значения, или превышение некоторого порога, или тенденция изменения ве- личины — но не сама эта величина и не сам порог. Информация о том, что температура двигателя составляет 80 °C, для водителя лишняя, ему важно знать, что если вот эта стрелочка не достигла вот этой красненькой черточ- ки — значит, все в порядке. Но бывают и другие случаи: например, отсчет пробега того же автомобиля имеет смысл только будучи представленным именно в цифровом виде, поэтому еще на заре автомобилестроения при- шлось придумывать разные — тогда еще, конечно, механические — счетчи- ки, отображающие число пройденных километров. Все это следует учитывать при проектировании различных показывающих устройств и при необходимо- сти приходится даже идти на усложнение схемы, причем, что обидно, неред- ко с заведомой потерей информации или даже с ее искажением. Типичный пример из этой области — датчик количества топлива в том же автомобиле, который проектировщики традиционно заставляют врать, занижая показания, иначе слишком много водителей оказывалось бы на дороге с сухими баками в полукилометре от ближайшей заправочной станции. Как видите, проектирование показывающих устройств— не слишком про- стое дело, т. к. не может производиться только из соображений компактности схемы или высокой точности измерений, а непременно должно учитывать требования эргономики и "usability". Последний термин трудно перевести одним словом, он означает что-то вроде "удобства пользования". Но как мно- го нарушений этого правила мы встречаем в современном электронном мире! Начнем с того, что обычные часы с цифровым дисплеем — крайне неудобная вещь. Все мы уже к этому привыкли, но ведь большинство практических за- дач заключаются не в определении точного времени, а в определении интер- вала— сколько мы уже ждем или сколько осталось до некоторого момента. Для этого знание самого значения часов и минут не требуется, и обладателю часов с цифровым дисплеем приходится в уме производить довольно слож- ные арифметические действия, вычисляя этот интервал вместо того, чтобы просто мысленно передвинуть стрелки на циферблате. Но, повторяю, мы
428 Гпава 25 к этому привыкли, как привыкли к ненормальной для европейца "арабской" записи чисел (см. главу 19) и перестали это неудобство замечать. Но проек- тировщику электронных приборов подобные вещи всегда нужно иметь в ви- ду и хорошо понимать, что именно и для чего он делает. Если читателю кажется, что меня очередной раз занесло несколько в сторону от темы книги, то это не так, потому что проектирование аналого-цифровых и особенно цифроаналоговых устройств неразрывно связано с проблемами человеко-машинного взаимодействия, ибо не будь потребителя, незачем все это было бы и затевать. Компьютеры в общении между собой спокойно обойдутся и двоичным кодом. Оцифровка Основной принцип оцифровки любых сигналов прост, он показан на рис. 25.1, а. В некоторые моменты времени t\, t-2, /3 мы берем мгновенное значение анало- гового сигнала и как бы прикладываем к нему некоторую меру, линейку, проградуированную в двоичном масштабе. Обычная линейка у нас содержит крупные деления (метры), поделенные каждое на десять частей (дециметры), каждая из которых также поделена на десять частей (сантиметры), и так да- лее. Двоичная линейка содержала бы деления, поделенные пополам, затем еще раз пополам и так далее — сколько хватит разрешающей способности. Если вся длина такой линейки составляет, допустим, 2,56 метра, а самое мел- кое деление 1 см (т. е. мы можем померить ей длину с точностью не хуже 1 см, точнее, даже половины его), то таких делений будет ровно 256 и их можно представить двоичным числом размером 1 байт или 8 двоичных раз- рядов. Ничего не изменится, если мы меряем не длину, а напряжение или со- противление, только смысл понятия "линейка" будет несколько иной. Так мы получаем последовательные отсчеты величины сигнала X], л2, Х3. Причем заметьте, что при выбранной разрешающей способности и числе разрядов мы можем померить величину не больше некоторого значения, которое соответ- ствует максимальному числу, в данном случае, 255. Иначе придется или уве- личивать число разрядов (длину линейки), или менять разрешающую спо- собность в сторону ухудшения (растягивать линейку). Все изложенное и есть сущность работы аналогово-цифрового преобразователя — АЦП. На рис. 25.1, а график демонстрирует этот процесс во времени. Если мы из- меряем меняющуюся во времени величину, то приходится производить изме- рения регулярно. Если стоит задача восстановить первоначальный сигнал, то эти измерения удобно проводить со строго равными промежутками времени между ними — иначе нам будет трудно узнать, какому измерению какой момент сигнала соответствует. Получаем массив чисел, который и есть наш исходный
Откуда берутся цифры. Цифроаналоговые и аналого-цифровые преобразователи 429 сигнал в цифровом виде. Зная частоту дискретизации (частоту оцифровки) и принятый масштаб (т. е. какому значению физической величины соответст- вует максимальное число в принятом диапазоне двоичных чисел), мы всегда можем восстановить исходный сигнал, отложив точки на графике и соединив их плавной линией. б Рис. 25.1. Оцифровка аналоговых сигналов: а — основной принцип; б — к теореме Котельникова — Найквиста Но что-то мы при этом теряем? Посмотрите на рис. 25.1, б, который иллюст- рирует знаменитую теорему Котельникова (как водится, за рубежом она но- сит другое имя — Найквиста, на самом деле они оба придумали ее независи- мо друг от друга). На этом рисунке показана синусоида предельной частоты, которую мы еще можем восстановить, располагая массивом точек, получен- ных с частотой дискретизации/д. Так как в выражении для синуса y4sin(27T/T) имеется два независимых коэффициента (А — амплитуда и f— частота),
430 Гпава 25 то для того, чтобы его вид восстановить однозначно, нужно как минимум две точки на каждый период1, т. е. частота оцифровки должна быть как мини- мум в два раза больше, чем самая высокая частота в спектре исходного аналогового сигнала. Это и есть теорема Котельникова — Найквиста. В урав- нении синусоиды может быть и третий коэффициент, определяющий фазу колебаний (см. главу 4), но в данном случае принимается, что фаза равна ну- лю (исходное колебание — именно синусоида). Попробуйте сами нарисовать другую синусоиду без сдвига по фазе, проходящую через указанные на гра- фике точки — и вы убедитесь, что это невозможно. В то же время можно на- рисовать сколько угодно разных синусоид, проходящих через эти точки, если их частота в целое число раз выше частоты дискретизации /д. В сумме эти синусоиды. или гармоники (т. е. члены разложения сигнала в ряд Фурье, см. главу 5) дадут сигнал любой сложной формы, но восстановить их нельзя, и если такие гармоники присутствуют в исходном сигнале, то они пропадут навсегда. Гармонические же составляющие с частотами ниже предельной восстанавливаются однозначно. То есть процесс оцифровки равносилен дей- ствию ФНЧ с прямоугольным срезом характеристики на частоте, равной ров- но половине частоты дискретизации. Углубляться в особенности дискретизации аналоговых периодических сигна- лов мы не будем, т. к. это обширная область в современной инженерии, свя- занная в первую очередь с оцифровкой, хранением, тиражированием и вос- произведением звука, и об этом нужно, как минимум, писать отдельную книгу. Для наших же целей достаточно изложенных сведений, а теперь мы перейдем непосредственно к задаче оцифровки и обратного преобразования отдельного значения сигнала и способам ее решения. Не забывая, впрочем, что любой сигнал, не только звуковой — это процесс, который происходит во времени. ЦАП Начнем мы с конца, т. е. с цифроаналоговых преобразователей. Будем счи- тать, что на входе мы имеем числа в двоичной форме — неважно, результат оцифровки сигнала или синтезированный код. Нам его нужно преобразо- вать в аналоговый уровень напряжения в соответствии с выбранным мас- штабом. 1 Если сами параметры синусоиды А и /не меняются во времени, то достаточно вообще двух точек на все время. Именно такой случай показан на графике рис. 25.1, б.
Откуда берутся цифры. Цифроаналоговые и аналого-цифровые преобразователи 431 В сущности, никакого преобразования цифра-аналог в ЦАП, которые мы будем здесь рассматривать, на самом деле не происходит2, просто мы выражаем дво- ичное число в виде пропорциональной величины напряжения, т. е. занимаемся, с точки зрения теории, всего лишь преобразованием масштабов. Вся аналого- вая шкала поделена на кванты— градации, соответствующие разрешающей способности нашей двоичной "линейки". Кроме этого, отсчеты отстоят друг от друга по времени. Если максимальное значение сигнала равно, к примеру, 2,56 В, то при восьмиразрядном коде мы получим квант в 10 мВ, и что проис- ходит с сигналом между этими значениями и в промежутки времени между отсчетами, мы не знаем и узнать не можем. Если взять ряд последовательных отсчетов некоего сигнала, например, тех, что показаны на рис. 25.1, а, то в ре- зультате получим ступенчатую картину, показанную на рис. 25.2. Рис. 25.2. Восстановление оцифрованного сигнала с рис. 25.1, а Если вы сравните графики на рис. 25.1, а и на рис. 25.2, то увидите, что вто- рой график представляет первый, мягко говоря, весьма приблизительно. Для того чтобы повысить степень достоверности полученной кривой, следует, во- первых, брать отсчеты почаще, во-вторых, увеличивать разрядность. Тогда ступеньки будут все меньше и меньше, и есть надежда, что при некотором достаточно высоком разрешении как по времени, так и по квантованию, кри- вая станет, в конце концов, неотличима от непрерывной аналоговой линии. Есть и еще один способ получения гладкой кривой — пропустить получен- ный сигнал через ФНЧ, в результате чего ступеньки сгладятся. (Практически равносильно тому, как если бы мы вычисляли промежуточные значения методом интерполяции, считая, что от отсчета к отсчету кривая меняется по 2 Напомним, что под аналоговым сигналом мы понимаем сигнал непрерывный. В описанных в этом разделе ЦАП непрерывного сигнала не получается, этого приходится достигать допол- нительными мерами.
432 Гпава 25 линейному или какому-нибудь еще закону.) В этом случае сигнал уже обре- тает право называться действительно аналоговым, а не только приближением к нему. Но применение ФНЧ вносит свои особенности, и не всегда в лучшую сторону, поэтому их стараются избегать, руководствуясь тем, что при соблю- дении условий теоремы Котельникова — Найквиста и при достаточно мелком квантовании всякие ухищрения и не требуются. Правда, это только теорети- чески так, на деле многие люди с хорошим музыкальным слухом утвержда- ют, что они безошибочно отличают цифровой звук CD-качества (полностью соответствующий указанным выше условиям "правильной" дискретизации) от настоящего аналогового звука, например, с виниловой пластинки или с маг- нитофонной ленты, но это уже тонкости, которые мы опустим. Самыйдфостой ЦАП — десятичный или шестнадцатеричный дешифратор- распределитель, подобный 561ИД1 (рис. 21.7). В самом деле, если на него подать четырехразрядный код, то на выходе мы получим значения в десятич- ной или hex-форме — для каждого значения кода на отдельном выводе. При- соединив к выходам этого дешифратора линейку светодиодов, получаем полосковый (шкальный) индикатор, который с разрешением в 10 или 16 сту- пеней на весь диапазон будет показывать уровень некоей величины. Причем очень часто для практики такого относительно грубого индикатора, заме- няющего стрелочные приборы, вполне достаточно. Выпускаются специаль- ные микросхемы для управления дискретными шкальными индикаторами, которые позволяют показывать значение не в виде отдельной точки или по- лоски, а в виде светящегося столбика. Есть и микросхемы, которые могут управлять не дискретными, а линейными вакуумными индикаторами (они, в сущности, представляют собой полноценные ЦАП, которые мы будем рас- сматривать далее). Есть даже микросхема К1003ПП1 (аналог зарубежной UAA180), которая преобразует аналоговую величину (напряжение) сразу в код для вывода на шкальный индикатор. Довольно эффектная конструкция может получиться, если в схеме термометра по рис. 16.3 или 16.4 заменить показывающую головку на такую микросхему и шкальный индикатор — как бы полноценная имитация термометра традиционного! У такого примитивного ЦАП есть два недостатка— во-первых, повысить его разрешение свыше 16—20 градаций нереально, т. к. выходов тогда получится чересчур много. Но главное, что он предназначен для узкой задачи управле- ния шкальными индикаторами и за пределами этой области беспомощен. Ку- да более широкое применение имел бы преобразователь, осуществляющий функцию по рис. 25.2, т. е. выдающий на выходе напряжение, пропорцио- нальное коду на входе. "Тупой" метод получения такого напряжения состоял бы в модификации вышеописанного метода с дешифратором. Для этого надо выстроить делитель из цепочки одинаковых резисторов, подключить его
Откуда берутся цифры. Цифроаналоговые и аналого-цифровые преобразователи 433 к источнику опорного напряжения и коммутировать отводы этого делителя клю- чами, управляемыми от дешифратора-распределителя. Для двух-трехразрядного кода можно использовать описанные в главе 24 мультиплексоры типа 561 КП 1 и 561КП2. Но для большего количества разрядов такой ЦАП с непо- средственным преобразованием превращается в совершенно чудовищную конструкцию. Для восьмиразрядного кода потребовалось бы 256 резисторов (строго одинаковых!), столько же ключей и дешифратор с таким же количе- ством выходов, а ведь восьмиразрядный код — довольно грубая "линейка", разрешающая способность ее не превышает четверти процента. Поэтому на практике такой метод употребляют для построения АЦП, а не ЦАП (потому что, несмотря на сложность, он обладает одним уникальным свойством, о котором скажем позже), а здесь мы даже не будем рисовать такую схему. Рассмотрим один из самых распространенных методов, который позволяет осуществлять преобразование код-напряжение без использования подобных монструозных конструкций. Рис. 25.3. ЦАП: а — двухразрядный с отрицательным выходом; б — цепочка R-2R произвольной длины; в — с положительным выходом На рис. 25.3, а показан вариант реализации ЦАП на основе ОУ с коммути- руемыми резисторами в цепи обратной связи. В качестве коммутирующих ключей можно применить, например, малогабаритные электронные реле се- рии 293 того типа, что мы применяли в конструкции термостата по рис. 15.5, или специализированные ключи из серии 590. Однако для осуществления переключающего контакта потребовалось бы ставить по два таких ключа на каждый разряд, поэтому в серии 561 предусмотрена специальная микросхема 561 КТЗ, которая содержит четыре одинаковых ключа, работающие именно так, как показано на данной схеме, т. е. если подать на вход управления сиг-
434 Гпава 25 нал лог. 1, то выход ключа коммутируется на вход, а если сигнал управления равен лог. О, то выход замыкается на "землю". Самим нам строить такие ЦАП, конечно, вряд ли придется. Хотя никто и не запрещает— это тот самый слу- чай, когда дискретная схемотехника может достичь ничуть не худших резуль- татов, чем интегральная, если, конечно, не брать во внимание габариты. Для лучшего уяснения принципов я нарисовал всего лишь двухразрядный вариант. Два разряда — это четыре градации, т. е. выходное напряжение ОУ должно принимать 4 значения с равными промежутками, в данном случае эти напряжения равны 0, а также %, Уг и % от опорного напряжения t/on. Как это происходит? Рассмотрим сначала цепочку резисторов с номиналами R и 2R. Так как оба нижних по схеме резистора 2R в исходном состоянии присоединены к "зем- ле", т. е? включены параллельно, то их суммарное сопротивление равно R. Тогда верхний по схеме резистор R и эти два резистора образуют делитель, напряжение на котором равно ровно половине от Uon. Предположим, на вхо- дах управления ключами оба разряда имеют нулевые значения, т. е. код при- нимает значения "00". В этом случае цепочка резисторов отсоединена от вхо- да и на выходе ОУ будет напряжение, равное 0. Пусть теперь код примет значение "01". В этом случае резистор с номиналом 2R младшего разряда пе- реключается ко входу усилителя. Для самой цепочки "все равно" — к "земле" присоединен этот резистор или ко входу, потому что потенциал инверти- рующего входа ОУ равен потенциалу неинвертирующего, т. е. тому же по- тенциалу "земли". Ко входу ОУ через сопротивление с номиналом 2R потечет ток, величина которого будет равна величине напряжения на его входе, т. е. £70П/2, деленной на величину этого резистора (2R). Итого значение тока будет Uonl4R, и ток этот создаст на резисторе обратной связи ОУ, сопротивление которого также R, падение напряжения, равное С/оп/4. Можно считать и по- другому — рассматривать инвертирующий усилитель с коэффициентом уси- ления 0,5, что определяется отношением сопротивлений R/2R, и напряже- нием на входе £/оп/2. Итого на выходе всей схемы будет напряжение £/оп/4 (но с обратным знаком, т. к. усилитель инвертирующий). Пусть теперь код принимает значение "10". Тогда все еще проще — ко входу ОУ подключается напряжение Uon через резистор 2R. Коэффициент усиления тот же самый, так что на выходе будет напряжение £/оп/2. Самый сложный случай, когда код принимает значение "11", и подключаются оба резистора. В этом случае ОУ надо рассматривать как сумматор (см. главу 14, рис. 14.5, в). Напряжение на выходе будет определяться суммой токов через резисторы 2R, умноженной на величину сопротивления обратной связи R, т. е. будет равен (Uon/2R + £70П/4/?) • R или просто 3t/on/4.
Откуда берутся цифры. Цифроаналоговые и аналого-цифровые преобразователи 435 Я так подробно рассмотрел этот довольно искусственный пример, чтобы на- глядно продемонстрировать свойства цепочки R-2R. Способ ее построения с любым количеством звеньев ясен и показан на рис. 25.3, б. Крайние рези- сторы 2R включены параллельно и в сумме дают сопротивление R, поэтому следующее звено оказывается состоящим из тех же номиналов по 2R и в сумме тоже даст R и так далее. Какой бы длины цепочку не сделать, она бу- дет делить входное напряжение в двоичном соотношении: на самом правом по схеме конце цепочки будет напряжение t/on' на следующем отводе £/оп/2, на следующем f/on/4 и так далее. Поэтому можно малой кровью, всего с по- мощью двух типономиналов резисторов, отличающихся ровно в два раза, строить ЦАП в принципе любой разрядности. Так, восьмиразрядный ЦАП будет содержать всего 16 резисторов и 8 ключей (с переключением), не счи- тая резистора обратной связи, который у нас для наглядности был равен так- же R, но может быть любого удобного номинала. В интегральных ЦАП часто этот резистор вообще не устанавливают, а выносят соответствующие выводы наружу, так что можно легко получать любой масштаб напряжения по выхо- ду. Например, если в нашей схеме сделать этот резистор равным 1,33/?, то на выходе мы получим напряжения, равные Uon, 2t/on/3, Uon/3 и 0. Правда, неудобство в такой простейшей схеме заключается в том, что выходные напря- жения будут с обратным знаком, но эта проблема легко решается. На рис. 25.3, в показан простейший вариант ЦАП с "нормальным" выходом. Проанализиро- вать работу этой схемы я предоставляю читателю самостоятельно. Как обыч- но, подсказка: выходные напряжения по абсолютной величине у нее будут такими же, как и в варианте по рис. 25.3, а. Недостатком этого варианта, в отличие от инвертирующего, будет то, что коэффициент усиления не регули- руется, и масштаб будет определяться только величиной Uon. Но и этот не- достаток легко исправить небольшим усложнением схемы. Я не буду рассматривать серийные интегральные схемы ЦАП, основанные на этом принципе, потому что в основе они работают так же, а ЦАП требуются сами по себе, без использования в составе других микросхем, нечасто. Не- сколько слов о проблемах, связанных с метрологией. Ясно, что получить точные значения резисторов при изготовлении микросхемы такого ЦАП не- просто, поэтому на практике абсолютные величины R могут иметь довольно большой разброс, хотя между собой номиналы их тщательно согласовывают с помощью лазерной подгонки. Собственное сопротивление ключей также может оказывать большое влияние на работу схемы, особенно в старших раз- рядах, где токи значительно больше, чем в младших. Для этого в интеграль- ном исполнении даже делают эти ключи разными — в старших разрядах ста- вят более мощные с меньшим сопротивлением. Еще один момент связан с получением стабильного опорного напряжения, т. к. это непосредственно сказывается на точности преобразования. В на-
436 Гпава 25 стоящее время успехи электроники позволили почти забыть про эту пробле- му— все крупные производители выпускают источники опорного напряже- ния, позволяющие достигать стабильности порядка 16 разрядов (т. е. 65536 градаций сигнала). К тому же всегда можно исхитриться построить схему так, чтобы измерения стали относительными, как описано в главе 17. При необходимости же достижения точности в абсолютном выражении прихо- дится применять калибровку по эталонам высокого класса, что недешево — но отнюдь не всегда и требуется. Впрочем, я уже забегаю вперед— все эти проблемы более актуальны для АЦП, а не для ЦАП. Быстродействие ЦАП разобранного типа в основном определяется быстро- действием ключей и типом применяемой логики, и в случае КМОП не слиш- ком высокое — примерно такое же, как у обычных КМОП-элементов. Большинство интегральных ЦАП построено с использованием описанного принципа суммирования взвешенных токов или напряжений. Другой класс цифроаналоговых преобразователей составляют интегрирующие ЦАП, кото- рые используются для преобразования величин, меняющихся во времени. Эти ЦАП в идеале позволяют сразу получить действительно аналоговый не- прерывный сигнал без признаков ступенек. В дальнейшем мы рассмотрим один из широко распространенных методов такого преобразования, исполь- зующихся для воспроизведения цифрового звука (см. главу 34 и приложение 3). АЦП Номенклатура аналого-цифровых преобразователей существенно больше, чем ЦАП. Однако все разнообразие их типов можно свести к трем разновид- ностям: это АЦП параллельного действия, АЦП последовательного прибли- жения и интегрирующие АЦП. АЦП параллельного действия АЦП параллельного действия — это зеркально отраженный простейший ЦАП на основе дешифратора. В таких АЦП имеется делитель из к одинако- вых резисторов, к каждой ступени которого подключен компаратор, сравни- вающий напряжение на делителе со входным сигналом. Выходы компарато- ров образуют равномерный код типа того, что используется для управления шкальными индикаторами в описанном ранее ЦАП. Они подключены к шифратору с к входами, который преобразует этот код в двоичный с чис- лом разрядов п, равным log(&). Естественно, трудности тут те же, что и при построении основанных на подобном принципе ЦАП — для и-разрядного кода требуется к = 2Н резисторов и компараторов, причем резисторов, точно
Откуда берутся цифры. Цифроаналоговые и аналого-цифровые преобразователи 437 согласованных между собой, и компараторов также с как можно более иден- тичными характеристиками. Поэтому более, чем 8-разрядные, такие АЦП почти и не делают. А зачем их делают вообще? По одной простой причине— этот тип АЦП является самым быстродействующим из всех, преобразование происходит фактически мгновенно и лимитируется только быстродействием применяемых компараторов и логики. На практике быстродействие АЦП та- кого типа может составлять десятки и сотни мегагерц (наиболее экстремаль- ные типы, как МАХ 108, даже до 2,2 ГГц). Все остальные типы АЦП, как мы увидим, значительно медленнее. АЦП последовательного приближения АЦП последовательного приближения мы рассмотрим чуть подробнее ввиду их практической важности. Хотя самим в настоящее время такие АЦП стро- ить не приходится, но для успешного использования их в интегральном ис- полнении следует хорошо понимать, как они работают. Именно такого типа АЦП встроены в микроконтроллеры семейства AVR (см. главу 33). Такой АЦП работает по следующему принципу. Берется ЦАП нужной раз- рядности (именно поэтому мы рассматривали ЦАП раньше, чем АЦП). На его цифровые входы подается код по определенному правилу, о котором ни- же. Выход ЦАП соединяется с одним из входов компаратора, на другой вход которого подается преобразуемое напряжение. Результат сравнения подается на схему управления, которая связана с регистром — формирователем кодов. Есть несколько вариантов реализации процедуры преобразования. Самый простой выглядит следующим образом: сначала все разряды кода равны ну- лю. В первом такте самый старший разряд устанавливается в единицу. Если выход ЦАП при этом превысил входное напряжение, т. е. компаратор пере- бросился в противоположное состояние, то разряд возвращается в состояние лог. 0, в противном же случае он остается в состоянии лог. 1. В следующем такте процедуру повторяют для следующего по старшинству разряда. Такой метод позволяет за число тактов, равное числу разрядов, сформировать в ре- гистре код, соответствующий входному напряжению. Способ довольно эко- номичен в смысле временных затрат, однако имеет один существенный недостаток— если за время преобразования входное напряжение меняется, то схема может ошибаться, причем иногда вплоть до полного сбоя. Поэтому в такой схеме обязательно приходится использовать устройство выборки- хранения (УВХ). В другой модификации этой же схемы для формирования кодов используется реверсивный счетчик, подобный 561ИЕ11, с нужным числом разрядов. Выход
438 Гпава 25 компаратора попросту подключают к выводу переключения направления счета. Изначально счетчик полностью сбрасывают, после чего подают на не- го тактовые импульсы. Как только счетчик досчитает до соответствующего значения кода и выход ЦАП превысит входное напряжение, компаратор пе- реключает направление счета, и счетчик отрабатывает назад. После оконча- ния этого периода установления, в идеале, если напряжение на входе меняет- ся мало, величина кода все время колеблется в пределах младшего разряда. Здесь выбросы не так страшны, но большое время установления и неизвест- ное заранее время реакции на быстрые изменения входного сигнала являются недостатком такого АЦП, получившего название "следящего". В большинстве случаев для АЦП последовательного приближения приходит- ся использовать на входе устройства выборки-хранения. В простейшем слу- чае это аналоговый электронный ключ, на вход которого подается измеряе- мый сигнал, а на выходе стоит конденсатор. До начала измерения ключ открыт, и напряжение на конденсаторе равно входному напряжению со все- ми его изменениями. По команде начала измерения ключ запирается, и в дальнейшем в качестве измеряемого фигурирует уже напряжение, запа- сенное на конденсаторе, изменения на входе на измерительную схему не влияют. Все, казалось бы, просто, но наличие УВХ, прежде всего, достаточно сильно замедляет процесс, т. к. ключ имеет конечное сопротивление и кон- денсатор должен иметь время для зарядки. Кроме того, ключ вместе с кон- денсатором образует ФНЧ, который может искажать форму сигнала. Как бы ни было велико входное сопротивление компаратора, оно конечно, и притом ключ также имеет не бесконечно большое сопротивление в закрытом состоя- нии. В схеме обычно присутствует и элемент для сброса конденсатора, нако- нец, конденсатор также имеет собственные утечки — все это вынуждает уве- личивать емкость конденсатора и еще больше снижать быстродействие схемы. В интегральных АЦП подобного рода иногда даже предоставляется выбор между точностью и быстродействием. Кроме выборки-хранения, в АЦП последовательного приближения требуется также время на вывод данных и подготовку к следующему циклу измерения. Все указанные причины приводят к тому, что наиболее распространенные 12-разрядные АЦП последовательного приближения имеют реальное быст- родействие не выше 50—200 кГц. Как пример достаточно продвинутой мо- дели приведем МАХ1132, который имеет разрешение 16 бит при частоте вы- борок 200 кГц. И, тем не менее, АЦП последовательного приближения очень распространены и применяются там, где требуется средняя точность (до 12 разрядов) при достаточно высоком быстродействии.
Откуда берутся цифры. Цифроаналоговые и аналого-цифровые преобразователи 439 Интегрирующие АЦП Наиболее точными и одновременно самыми медленными являются интегри- рующие АЦП. Их мы разберем наиболее подробно, потому что, во-первых, они могут быть достаточно просты, и иногда даже целесообразно самому со- орудить такой узел схемы, чем подбирать подходящий чип, во-вторых, пото- му что это наиболее часто применяемый тип АЦП в радиолюбительской практике. В главе 26 мы сконструируем на основе готового АЦП такого типа цифровой термометр с довольно приличными характеристиками, а пока рас- смотрим подробно несколько вариантов построения интегрирующего АЦП на дискретных элементах. Разных типов интегрирующих АЦП существует не меньше десятка, но здесь мы подробно рассмотрим только три разновидно- сти. Кстати, интегрирующие АЦП являются примером того, что цифровая техника не всегда достигает наивысшей точности по сравнению с аналого- вой — центральным узлом этих, как мы уже сказали, наиболее точных пре- образователей, является чисто аналоговый интегратор на ОУ. Рис. 25.4. АЦП однократного интегрирования Схема самого простого интегрирующего АЦП показана на рис. 25.4. Это так называемый АЦП с однократным интегрированием. В начале преобразования на С-вход динамического D-триггера поступает положительный фронт, кото- рый устанавливает выход Q в состояние лог. 1. Она является разрешающим уровнем для элемента И-НЕ, и на вход счетчика поступают импульсы. Одно- временно через выход Q запирается транзистор VT1. Конденсатор начинает заряжаться от источника стабильного тока. При равенстве значения входного измеряемого напряжения и напряжения на конденсаторе компаратор сраба- тывает и обнуляет триггер ("ворота" на логическом элементе И-НЕ запира-
440 Гпава 25 ются, транзистор открывается и разряжает конденсатор, счетчик обнуляется). Количество импульсов, накопленных в счетчике к этому моменту, пропор- ционально входному напряжению. Источник тока вместе с конденсатором в данном случае образуют так называе- мый ГЛИН — генератор линейно изменяющегося напряжения. Схему можно упростить, если в качестве источника стабильного тока поставить простой ре- зистор, питающийся от стабильного источника напряжения, но т. к. форма кри- вой нарастания напряжения при этом не линейная, а экспоненциальная (см. рис. 5.6), то придется ограничиться небольшим диапазоном входных на- пряжений, где форма кривой еще близка к прямой линии. На практике так час- то и поступают, поэтому источник тока я подробно не рисовал. Если все же задаться целью расширения входного диапазона вплоть до зна- чений, близких к напряжению питания, то придется делать "нормальный" источник тока. Использование простого полевого транзистора, как мы делали в схеме лабораторного источника питания (рис. 10.8), не выход, т. к. он все же является достаточно грубым источником. С другой стороны, чем городить источник тока (например, по варианту 14.5, г), проще вообще построить ГЛИН по-иному, в виде обычного интегратора по рис. 14.5, а, добавив к нему ключ для сброса по окончании преобразования. У схемы по рис. 25.4 много недостатков и единственное достоинство— про- стота. При взгляде на нее непонятно, чего это я распинался насчет супервы- соких характеристик интегрирующих АЦП. Главным ее недостатком являет- ся то, что результат преобразования тут зависит от всего на свете — от источника тока, от стабильности ГЛИН (и каждого его элемента в отдельно- сти, в первую очередь — конденсатора), от стабильности порога компаратора, от неидеальности ключа для сброса и т. п. Еще хуже то, что схема в данном варианте срабатывает от мгновенного значения входного сигнала и поэтому весьма восприимчива к его дребезгу и вообще любым помехам. Если такто- вая частота случайно окажется кратной частоте помехи (в первую очередь сетевой с частотой 50 Гц), то мы вообще можем получать каждый раз значе- ния, весьма далекие от истины3. В то же время преобразование длится все равно достаточно долго, т. к. обычные значения тактовой частоты, при кото- рых схема еще работает приемлемо, лежат в диапазоне максимум десятков килогерц (если, конечно, специально не использовать быстродействующие компараторы и логику), т. е. для достижения разрешающей способности 3 На практике добиться полной некратности частоты измерения и помехи можно только, если сделать тактовую частоту изменяющейся по случайному закону. Так как отношения обычных чисел всегда образуют периодическую дробь, то на выходе мы получим биения выходной ве- личины с частотой повторения периода этой дроби.
Откуда берутся цифры. Цифроаналоговые и аналого-цифровые преобразователи 441 в восемь разрядов (больше все равно не выжмешь) частота отсчетов составит в лучшем случае 100 Гц, на практике же— гораздо меньше. Может быть, можно использовать этот факт, раз уж все равно измерения медленные, и из- мерять среднее значение сигнала за время преобразования? Сделать это несложно —- достаточно подать измеряемое напряжение на вход ГЛИН, а опорное—- на компаратор. Тогда сигнал будет интегрироваться за время преобразования, причем интегрироваться очень точно, мы будем полу- чать истинное среднее арифметическое значение сигнала за это время. Но легко увидеть, что сама функция преобразования при этом окажется обрат- ной — т. е. время заряда (и значение выходного кода на счетчике) окажется обратно пропорциональным значению входного напряжения. Это неудобно, т. к. сильно усложняет обработку результата. Можно использовать метод де- ления частоты с использованием реверсивного счетчика с параллельной за- писью, как это предложено в главе 24, можно также попробовать инвертиро- вать входной сигнал и затем сдвинуть его в положительную область (инвертированный сигнал будет возрастать, когда оригинальный сигнал уменьшается, проверьте!). Все это приводит к усложнению схемы, причем неоправданному — сама по себе точность преобразования в любом случае не увеличится, избавляемся мы только от помехи. По всем этим причинам АЦП с однократным интегрированием, несмотря на его простоту, в настоящее время не употребляют вообще и даже не выпускают в виде специализирован- ных микросхем. Единственная область, где можно было бы рекомендовать использовать такой метод— использование микропроцессоров, имеющих встроенный компаратор. В этом случае с помощью одного внешнего рези- стора, конденсатора и транзистора для сброса можно получить простейший преобразователь аналогового сигнала в код, организуя процесс обработки уже в самом микропроцессоре с использованием его таймеров-счетчиков и возможности проведения любых преобразований полученного кода. Но и эта рекомендация потеряла в настоящее время всякий смысл, т. к. доступны микроконтроллеры со встроенными "нормальными" АЦП, без всяких внеш- них элементов, причем мультиканальные с гарантированной точностью и разрешением до 10-ти или даже 12-ти разрядов, чего для большинства прак- тических нужд более чем достаточно. Единственное мне известное массовое применение АЦП, построенного именно по приведенной примитивной схеме (и при этом вполне справляющегося со своими обязанностями) —- это схема считывания координат положения рукоятки джойстика на входе игрового порта PC. Правда, я не совсем уверен, что эта схема в современных материн- ских платах в действительности осталась той же, какой ее сделали еще в начале 80-х (впервые — в малоизвестной "домашней" модели IBM PC под названием PCj), но интерфейс для внешнего мира остался тем же.
442 Гпава 25 Пожалуй, рассказ об АЦП однократного интегрирования получился чересчур затянутым, но это оправданно, т. к. мы теперь знаем, к чему нам стремиться. И я предвкушаю изумление читателя, когда он узнает, как можно преодолеть чуть ли не все перечисленные ранее недостатки, как говорится, одним махом, и притом не слишком усложняя схему. Интегрирующие АЦП не получили бы такого распространения и заслуженной репутации "самых стабильных", если бы не это обстоятельство. Рис. 25.5. Цикл работы АЦП двойного интегрирования: 1 — идеальный случай; 2 — при сдвиге порога компаратора; 3 — при изменении емкости конденсатора Идея метода, который называется "двойным" или "двухстадийным" интегри- рованием, показана на рис. 25.5. Посмотрим сначала на график, обозначен- ный цифрой 1. В первую часть цикла работы за фиксированное время такта Ц — t\ конденсатор интегратора заряжается током, который определяется входным напряжением £/вх. Во второй части этот конденсатор разряжается точно известным током, определяющимся опорным напряжением Uon, до момента t2 равенства напряжения 0. Чем больше входное напряжение, тем до большей величины зарядится конденсатор в первой части, и тем дольше он будет разряжаться во второй. Легко показать, что отношение интервала вре- мени /3 — t2 к известному времени такта t2 — будет равно отношению входного напряжения t/BX к опорному t/on, таким образом, измерив получен- ный интервал времени — t2 обычным методом с помощью счетчика, как это сделано в схеме на рис. 25.4, мы получим на выходе код, пропорциональ- ный входному напряжению. На самом деле напряжение, до которого разря- жается конденсатор, задается порогом компаратора и может в общем случае быть отличным от нуля на величину 5 за счет "гуляния" порога, например, при изменении температуры. Но т. к. следующий цикл измерения начнется в точности с того же значения порога, то, как вы видите из графика 2, в данном случае имеет значение только изменение порога за время преобразования, которое обычно не превышает долей секунды. На результате не скажется
Откуда берутся цифры. Цифроаналоговые и аналого-цифровые преобразователи 443 и изменение емкости конденсатора (при тех же условиях), т. к. при этом на- клон прямой и заряда и разряда изменится в одинаковой степени (график 3). В самых точных АЦП такого типа дополнительно проводят цикл "автокор- рекции нуля", когда на вход подают нулевое напряжение и результат потом вычитают из значения кода, полученного в рабочем цикле. Мало того, здесь даже не требуется "кварцованная" частота, и всю схему можно заводить от любого RC-генератора — при условии, что время такта — t\ и частота за- полнения "ворот" для подсчета длительности результирующего интервала Ц — Ц задаются от одного и того же генератора. Но чудес не бывает — точность и стабильность преобразования здесь полно- стью определяются точностью и стабильностью значения Uon. От этого нику- да не денешься, и это общее условие для всех без исключения конструкций АЦП и ЦАП. Между прочим, обратите внимание, что Ц!Х и Uon образуют в совокупности нечто вроде неинвертирующего и инвертирующего входа ОУ. Эта аналогия куда более полная, чем кажется, и, манипулируя этими ве- личинами, можно выделывать с выходным кодом всякие штуки, в частно- сти — подгонять масштаб преобразования к нужному диапазону. Другое об- легчение, которое можно получить от этой связи, заключается в возможности проведения относительных измерений, когда входное и опорное напряжения получаются от одного источника и тем самым имеют одинаковую относи- тельную погрешность (см. главу 17). Получается нечто вроде явления ослаб- ления синфазного сигнала в ОУ. В идеале тогда мы получаем очень точные измерения, однако идеал этот, к сожалению, редко достижим на практике — в отличие от указанной выше независимости результата от характеристик элементов самой схемы. Кстати, в интегрирующих АЦП такого рода для более полного подавления по- мех нужно делать первую часть цикла интегрирования именно кратным перио- ду помехи. Тогда в цикле укладывается целое число периодов помехи, и она усредняется. Практически наибольшее влияние оказывает сетевая помеха час- тотой 50 Гц, поэтому частоту циклов стараются делать в круглых числах. Простой вариант практической схемы АЦП двойного интегрирования показан на рис. 25.6. Счетная часть на схеме не показана. Для понимания того, как ра- ботает схема, следует обратить внимание, что управляющий вход у ключей типа 590КН2 (D1) инверсный, т. е. при низком уровне на управляющем входе ключ распахнут, при высоком — заперт. Рассмотрим диаграмму работы (рис. 25.6, справа). В момент отрицательного перепада на тактовом входе Т, RS-триггер устанавливается в единицу по выходу Q. Так как на входе Т в этот момент отрицательный уровень, ключ D1/1 открывается, остальные ключи за- перты. Конденсатор подключается в обратную связь верхнего ОУ (DA1/1) и начинается цикл интегрирования входного напряжения (напряжение на кон-
444 Гпава 25 денсаторе возрастает по абсолютной величине, т. е. на выходе DA1/1 падает, т. к. интегратор инвертирующий). В момент окончания отрицательного полу- периода тактовой частоты ключ D1/1 запирается, а ключ Dl/З открывается, заряженный конденсатор оказывается подключенным в обратную связь второ- го ОУ (DA1/2). Начинается цикл интегрирования опорного напряжения (изме- нение напряжения на конденсаторе показано на диаграмме пунктирной лини- ей). Так как обратная связь в первом ОУ теперь отсутствует, то он сработает как компаратор — сначала на его выходе установится напряжение, равное от- рицательному питанию (или близкое к нему), а в момент равенства напряжения на конденсаторе нулю выход резко устремится от отрицательного к положи- тельному питанию (но его ограничит на уровне примерно +0,6 В диод, вклю- ченный в обратную связь, который нужен для того, чтобы не затягивать пере- ходной процесс).'Положительный перепад передастся на обнуляющий вход RS-триггера и установит его выход Q в состояние лог. 0. При этом откроется ключ Ц1/2 и закоротит конденсатор, прерывая таким образом процесс интегри- рования. На входе верхнего ОУ установится напряжение, равное 0, а на выхо- де, вообще говоря, т. к. обратная связь по-прежнему отсутствует, оно станет неопределенным (на диаграмме оно показано условно в виде нулевого уровня). Это состояние длится до конца периода тактовой частоты, а с отрицательным перепадом на входе Т ключи Dl/З и D1/2 закроются и все начнется сначала. На выходе схемы возникает положительный импульс напряжения, длитель- ность которого /3— /2 пропорциональна входному напряжению, согласно со- отношению, сформулированному выше. Рис. 25.6. Простой вариант АЦП двойного интегрирования (ПНВ)
Откуда берутся цифры. Цифроаналоговые и аналого-цифровые преобразователи 445 Схема рассчитана для получения разрешающей способности 12 разрядов или 4096 градаций. Стабильность схемы напрямую зависит от стабильности рези- сторов, поэтому их нужно выбирать с точностью не хуже 0,1 %, в этом случае абсолютная точность может достигнуть 10 разрядов без дополнительной ка- либровки. Однако Uon тоже должно иметь не меньшую стабильность, поэто- му для его получения следует использовать прецизионные источники опор- ного напряжения. В данном случае подойдет микросхема МАХ875, дающая на выходе 5 В с точностью 0,04%. Подробный анализ всех погрешностей этой схемы, в том числе температурных, занял бы слишком много места, по- этому рассмотрим еще только принцип выбора частоты преобразования и требования к ОУ. Максимальная частота отсчетов может быть подсчитана из следующих сооб- ражений. Так как мы имеем дело с КМОП, то максимальную частоту счетных импульсов примем равной 1 МГц. Нам требуется обеспечить 12 разрядов, т. е. число импульсов за время "ворот" при максимально возможном входном напряжении, равном опорному, должно составить как минимум 4096 штук. Поделив 1 МГц на это число, мы получим частоту около 244 Гц, однако ее еще надо уменьшить вдвое, т. к. у нас в рабочем периоде должно быть два таких такта— прямого и обратного интегрирования. Итого получаем 122 Гц, что и есть максимальная частота при выбранной элементной базе. Исходя из этого, выбраны величины сопротивлений и емкость конденсатора. При ука- занных на схеме их величинах, напряжение на выходе интегратора при вход- ном напряжении 5 В достигнет примерно 9 В за время интегрирования, рав- ное половине периода частоты 122 Гц. Входное напряжение ограничено для данной схемы диапазоном от 0 до при- мерно 4,95 В. Напряжение выше этого значения расстроит работу схемы, по- тому что импульс обнуления за счет RC-цепочки будет еще длиться, когда уже придет импульс установки. Его можно сократить за счет введения "кор- ректной" дифференцирующей цепочки по рис. 23.7, а. В этом случае следует на выходе ОУ поставить согласователь-формирователь уровня для получения более четкого фронта (я его не показал, чтобы не усложнять схему). В каче- стве такого согласователя удобнее всего использовать компаратор типа 521 САЗ. Но к ограничению уровня входного напряжения ведет и другое об- стоятельство — а именно конечное время разряда конденсатора через ключ при приведении схемы в исходное состояние. При использованных на схеме элементах и при условии достаточно полного разряда оно составит не менее 2—3 десятков микросекунд (сопротивление ключа около 50 Ом), т. е. до 1% от максимальной длительности, что и ограничивает время рабочего импульса и максимальное напряжение примерно на эту величину. Избавиться от этого можно только усложнением схемы и введением дополнительного интервала
446 Гпава 25 специально для обнуления — в серийных АЦП, как мы увидим в следующей главе, так и поступают. О выборе элементов. При указанных частотах скорость нарастания сигнала на выходе верхнего по схеме ОУ, служащего компаратором, должны быть такой, чтобы она изменялась от напряжения насыщения до 0 не более чем в пределах одного импульса счетной частоты, длящегося 1 мкс. То есть ско- рость нарастания должна быть не меньше 10 В/мкс, иначе получим ошибку за счет неточного определения момента окончания интегрирования (то же требование справедливо и для скорости срабатывания ключей). Второе тре- бование к ОУ — для более точного интегрирования желателен достаточно малый входной ток смещения, не более нескольких нА (он рассчитывается, исходя из величины максимального тока интегрирования, в данном случае около 250 мкА, деленного на ту же величину в 12 разрядов, т. е. 4096. Вход- ной ток ОУ должен удовлетворять условию "много меньше", чем полученная величина около 60 нА). Если принять во внимание допустимое напряжение питания (не менее 12 В), то не так уж и много ОУ удовлетворят указанным требованиям. Микросхема ОРА2132 (два ОРА132 в одном корпусе DIP-8) фирмы Texas Instruments представляет собой прецизионный ОУ с высоким быстродействием (полоса 8 МГц, скорость нарастания до 20 В/мкс), очень малым входным током смещения (50 пикоампер) и допустимым напряжени- ем питания до ±18 В. Ни наш классический цА741, ни даже любимый МАХ478 сюда решительно не подойдут (у последнего подкачало быстродей- ствие). Из классических отечественных ОУ в коридор требований с некото- рой натугой влезет 544УД2 или ОУ серии 574. Впрочем, номенклатуру при- годных чипов можно значительно расширить, если снизить напряжение питания до ±5 В (при этом допустимый диапазон входного напряжения не- обязательно снизится, т. к. оно может превышать напряжение питания ОУ, просто манипулировать многими питаниями неудобно) и/или уменьшить частоту счета, например, до 100 кГц (частота отсчетов снизится до 12 Гц, а требования к быстродействию ОУ соответственно упадут). Все это иллюст- рирует сложности, которые приходится преодолевать разработчикам при проектировании подобных АЦП в интегральном исполнении, и объясняет, почему интегрирующие АЦП обычно работают так медленно — у большин- ства прецизионных АЦП частота отсчетов не превышает величины несколько десятков или сотен Гц. Сконструированное нами АЦП относится к типу ПНВ — преобразователей напряжение-время. Ранее широко использовались ПНЧ— преобразователи напряжение-частота (в основном на основе микросхемы 555, см. главу 23), однако большинство их реализаций обладает тем же недостатком, что и од- нократный интегратор, т. е. в них точность зависит от качества компонентов
Откуда берутся цифры. Цифроаналоговые и аналого-цифровые преобразователи 447 напрямую. Куда лучше будет результат, если в основе лежит "кварцованная" частота, как мы видим на примере ПНВ. Сейчас мы рассмотрим интегри- рующий преобразователь, который также использует двойное интегрирова- ние, но на выходе его получается не интервал времени, который еще нужно сосчитать, а число-импульсный код, т. е. число импульсов за определенный промежуток времени, пропорциональное входному напряжению. Это не час- тота, как можно бы подумать, точнее, не совсем частота. АЦП такого типа (ПНК) называются еще дельта-сигма-преобразователями или АЦП с уравновешиванием заряда. Они широко распространены в инте- гральном исполнении, большинство наиболее высокоразрядных АЦП по- строены именно так. Я не буду рисовать подробную схему с указанием типов компонентов и разводкой выводов, потому что принципы подбора комплек- тующих сильно зависят от необходимой точности и разрешающей способно- сти (разрядности), ниже мы эти принципы укажем. Принципиальная же схе- ма работы ПНК показана на рис. 25.7. Рис. 25.7. Принцип работы АЦП с уравновешиванием заряда Работает она следующим образом. Как только напряжение на выходе инте- гратора DA1 становится меньше нуля, компаратор D1 переключается и так- товые импульсы начинают поступать на вход счетчика и одновременно на ключ, коммутируя источник опорного тока к суммирующей точке интеграто- ра. Входной ток /вх и опорный /оп имеют разные знаки, поэтому с каждым тактовым импульсом напряжение на конденсаторе будет уменьшаться, а на выходе интегратора— стремиться обратно к нулю. Как только оно опять сравняется с нулем, компаратор опять переключится и тактовые импульсы перестанут поступать на счетчик и на ключ. Заряд, который сообщается ин- тегратору за каждый тактовый импульс, строго одинаков, поэтому количест- во таких тактовых импульсов N в единицу времени, необходимых для урав- новешивания заряда, сообщаемого источником входного напряжения, будет в точности пропорционально входному напряжению. Разумеется, токоза-
448 Гпава 25 дающие резисторы в цепи входного и опорного напряжения вовсе не обязаны быть равны друг другу, но в любом случае число N будет пропорционально входному току и обратно пропорционально опорному, поэтому должно со- блюдаться соотношение /оп > /вх. При их равенстве число импульсов N за се- кунду будет равно тактовой частоте. Манипулируя величиной Uon и номина- лами резисторов, можно получать различный масштаб. Отметьте, что импульсы на входе счетчика, представляющие число N, могут быть неравно- мерно распределены во времени, и тем самым ПНК отличается от ПНЧ. Здесь точность преобразования зависит практически только от стабильности 4п (^оп)— при условии, конечно, выбора остальных компонентов по быст- родействию в соответствии с рекомендациями для АЦП двойного интегриро- вания выше. Автор этих строк строил схему подобного ПНК на самых что ни на есть рядовых элементах---ключах 590КН2, ОУ 544УД1 и КМОП 561-й сери^, в качестве источника тока использовалась схема по типу рис. 14.5, г на ОУ 140УД20 и стабилитроне КС 170. Тем не менее, при тактовой частоте 2048 Гц (т. е. разрешающей способности 11 разрядов при времени измерения 1 с), стабильность схемы составляла не хуже 3 единиц кода (0,15%) в диапазоне от -18 до +40 градусов! А если тщательно проработать вопрос стабильности и бы- стродействия элементов, то можно получить нечто вроде МАХ 1400— пре- цизионного 18-разрядного АЦП с быстродействием 4800 отсч./сек.
Глава 26 Продолжаем измерять температуру. Конструируем цифровой термометр Это обеспечит вам счастье в вашей семей- ной жизни и, не сомневаюсь, укрепит вашу славу за рубежом. Л. Дюма, "Три мушкетера" Эта глава будет посвящена одной-единственной конструкции, которая сум- мирует многое из изложенного ранее. Цифровые термометры конструировать самостоятельно имеет смысл по крайней мере по двум причинам: во-первых, фирменные приборы для расположения на стенке комнаты или производст- венного помещения обычно имеют невзрачный дизайн с корпусами белого или "компьютерного" серого цвета и с ЖК-индикаторами, которые из-за их "слепоты" я бы категорически не рекомендовал применять в бытовых прибо- рах, особенно тех, что предназначены для разглядывания издалека. При всех этих явных признаках массовой продукции приборы эти не так уж и дешевы. Второй же недостаток — измеритель "заточен" под то, чтобы повесить его на стенке в офисе или в цехе, и приспособить его под иные нужды очень непро- сто. Рынок подобных бытовых устройств вообще достаточно беден, чему есть одна веская причина — сделать дешевый и при этом достаточно точный цифровой термометр, притом термометр универсальный, который, подобно традиционным цифровым или ртутным, можно и в воду опускать, и на мороз зимой выставить, очень непросто. Определенный успех достигнут только разве что в области медицинских термометров, но исключительно в силу массовости их применения. По всем этим причинам терпеливый радиолюби- тель вполне может сделать конструкцию куда лучше фирменной — удобную, красивую и приспособленную под свои нужды, а "приставить" к такому тер- мометру измеритель влажности, давления и еще чего угодно — вопрос толь- ко денег, и мы займемся этим в главе 27.
450 Гпава 26 АЦП 572ПВ2 и ПВ5 Основой принципиальной схемы нашего термометра будет выпускающаяся уже более 20 лет очень удачная разработка 572ПВ2 (ICL7107), которая пред- ставляет собой АЦП двойного интегрирования с выходом в параллельном семисегментном коде с расчетом на 3,5 десятичных разряда. Что означает цифра 3,5 — не может же использоваться полразряда? Действительно, при использовании полного выходного диапазона этой микросхемы, который со- ставляет число ±1999, нужно подключать 4 индикатора, однако последний (старший) из них будет использоваться только для индикации цифры 1 (и, при необходимости, знака минус)— число 3,5 и означает, что старший разряд используется не полностью. Заметим, что разрешающая способность (а при соблюдении некоторых требований — и точность) этого АЦП эквивалентна приблизительно 11 двоичным разрядам, т. е. приведенная погрешность со- ставит 0,05%, что очень неплохо. Рис. 26.1, Типовое включение микросхемы 572ПВ2 (ICL7107) в корпусе DIP-40
Продолжаем измерять температуру. Конструируем цифровой термометр 451 Основная (типовая) схема включения микросхемы 572ПВ2 показана на рис. 26.1. Микросхема имеет два собственных питания (LED-индикаторы целесообразно подключать к отдельному источнику) — положительное 5 В (от 4,5 до 6 В) и отрицательное, которое может варьироваться в довольно большом диапазоне от -9 до -3,5 В (последнее обстоятельство позволяет при необходимости использовать для отрицательного питания не слишком ста- бильные преобразователи-инверторы). LED-индикаторы можно подключать напрямую без каких-либо дополнительных резисторов (ток через сегмент при этом равен 5—8 мА). Управление индикаторами осуществляется коммутаци- ей на "землю", поэтому нужен индикатор с общим анодом. Однако выходы управления дисплеем не являются выходами с открытым коллектором (точ- нее — истоком), а есть обычный псевдокомплементарный КМОП-выход (см. рис. 20.1, схему инвертора справа), у которого вытекающий ток в со- стоянии лог. 1 может составить примерно 0,5 мА, а в лог. 0, как уже говори- лось, примерно 5—8 мА (для вывода 19, который управляет одновременно двумя сегментами при засветке 1 в старшем разряде, этот ток составляет 10— 16 мА). Это обстоятельство можно использовать для управления индикато- рами через внешние ключи. Дело в том, что для питания LED, потребляющих достаточно большой ток (при максимальном количестве зажженных сегмен- тов, т. е. при индикации-1888, он может составить в сумме от 120 до 200 мА), естественно было бы использовать нестабилизированное повышенное на- пряжение, например, от входа положительного стабилизатора +5 В. Это осо- бенно актуально при подключении крупных индикаторов с повышенным па- дением напряжения, т. к. иначе они будут светиться очень тускло (если загорятся вообще). К сожалению, в технической документации ни один из производителей не упоминает о возможности подключения LED-индикатора к повышенному напряжению напрямую, и как будет вести себя выходной каскад в состоянии лог. 1 при подаче на него напряжения выше напряжения питания — неизвестно. В то же время ставить более 20 штук ключей (по схе- ме, аналогичной рис. 24.10) очень не хочется. Автор этих строк на свой страх и риск провел долгосрочный эксперимент по питанию LED в такой схеме от пульсирующего напряжения 7 В с амплитудным значением, соответственно, около 10 В (от отдельной обмотки трансформатора через один диод в качест- ве выпрямителя). Опыт показал, что такой режим микросхема вполне выдер- живает. При этом из-за "однополупериодности" напряжения средний ток че- рез сегменты примерно в полтора раза ниже номинального, чего вполне достаточно для нормальной яркости горения. Здесь мы также применим этот режим питания, однако в некоторых случаях это неудобно, и приходится ста- вить мощный стабилизатор, как и положено. Выпускается идентичная по функциональности и разводке выводов микро- схема 572ПВ5 (ICL7106), которая отличается только тем, что она предназна-
452 Глава 26 чена для управления ЖК-индикаторами, а не светодиодными, так что, если вам душу греет малое потребление (или есть такая необходимость), можно почти без изменений основной схемы использовать такой вариант. Просто заменить LED-индикатор на ЖК и наоборот нельзя не только из-за тока по- требления, различающегося на порядки, но и потому, что для управления ЖК-индикаторами требуется переменное напряжение, иначе отключенные сегменты "зависнут" в поглощающем свет состоянии. Поэтому при замене ПВ2 на ПВ5 отличие в схеме заключается в том, что вывод 21 представляет собой не "цифровую землю" (GNDu), а подсоединяется к общему выводу ЖК-индикатора. При этом отдельное питание, естественно, не требуется. Управление сегментами происходит так— на общем выводе 21 все время присутствует меандр, а на тот сегмент, который нужно засветить, подается тО)Чно такой же меандр, но в противофазе. При отключении сегмента фаза на выводе его управления меняется на противоположную и становится такой же, как на выводе 21, таким образом, постоянное напряжение на сегмент ни- когда не подается. Отдельный вопрос в этом случае представляет засветка запятой, если ее по ходу дела надо гасить. В LED-варианте это несложно, а для ЖК нужно для нее также обеспечить подобный режим управления, при подаче постоянного напряжения она просто засветится навсегда и к тому же будет резко выделяться большим контрастом. Разработчики рекомендуют использовать для этой цели инвертор, подключенный к выходу 21. При этом (как и в случае подключения внешнего генератора, см. ниже), в качестве "цифровой земли" в ПВ5 следует использовать вывод 37 (TEST). Ввиду отсутствия у микросхемы ПВ5 "цифровой земли" как таковой, эту микросхему можно питать от одного источника, напряжение которого может составлять от 9 до 15 В (что эквивалентно диапазону от ±4,5 до ±7,5 В). Только при этом не следует забывать, что для обеих микросхем опорное и входное напряжения не должны выходить за пределы, на 1 В отступающие от потенциалов +£/пит и -t/nHT- Для микросхемы ПВ2, вообще говоря, требуется двуполярное питание, т. к. "цифровая земля" GNDn должна иметь общую точку с аналоговой частью для внутреннего согласования уровней управ- ляющих сигналов. Однако можно обойтись одним питанием +5 В (подсоеди- нив вход -t/пит к "земле"), если, в соответствии со сказанным, опорное и из- меряемое напряжения по абсолютной величине не превышают 1,5 В, причем эта величина должна отсчитываться от середины t/riHT. Есть и более современные варианты этих разработок — например, с очень малым потреблением, но параметры разобранных выше микросхем и так достаточно хороши— при тактовой частоте 50 кГц время преобразования составляет 0,32 секунды (16000 периодов тактовой частоты), а потребление
Продолжаем измерять температуру. Конструируем цифровой термометр 453 при этом не превышает 0,6 мА (не считая, конечно, потребления индикаторов в LED-варианте). Удобство микросхем ПВ2 и ПВ5 заключается и в том, что они оперируют с двуполярными входными напряжениями, автоматически определяя и вы- свечивая знак. На схеме рис. 26.1 показан вариант с общими "землями". Диа- пазон входного измеряемого напряжения определяется опорным, с помощью которого и задается масштаб, при этом опорное должно находиться в преде- лах 0,1—1 В, а измеряемое может по абсолютной величине превышать его в соответствии с разрешающей способностью ровно в два раза. Если, напри- мер, опорное напряжение равно 1 В, то измеряемое может быть в пределах ±2 В (точнее ±1,999 В), а в общем случае выходной код определяется выра- жением N= 1000—^- При превышении значением входного напряжения предела +2£/оп три младших разряда гаснут, а при снижении ниже -2£/оп — гаснет все, кроме знака минус. Однако оба входных напряжения — опорное и измеряемое — могут быть "плавающими" без общей "земли", единственное требование — чтобы их значения не выходили за пределы питания (а по абсолютной величине они, естественно, должны соответствовать указанным выше требованиям). В этом случае вывод 32 ("аналоговая земля") не используется. На этом выводе тогда присутствует напряжение, равное (£/+пит-2,8) В. Если очень надо, его можно использовать в качестве опорного (не само напряжение относительно "зем- ли", которая в данном случае есть довольно условное понятие, а именно раз- ность между положительным питанием и выводом 32). Однако стабильность этого напряжения невелика, и так рекомендуется поступать только в уж очень экономичных схемах. Особенно это плохо в случае ПВ2, в которой вы- ходные каскады за счет большого тока сильно (и неравномерно по времени из-за разного количества подключенных сегментов) нагревают кристалл и напряжение это начинает "плавать". Ошибка при этом может составить до 0,5%, т. е. точность снижается до 9 разрядов вместо 11. Тактовую частоту микросхем следует выбирать из ряда 200, 100, 50 и 40 кГц, при этом частота помехи 50 Гц будет укладываться в длительность фазы ин- тегрирования входного напряжения целое число раз, и такая помеха будет интегрироваться полностью. Тактовую частоту можно задавать тремя спосо- бами — с помощью RC-цепочки, как показано на рис. 26.1, с помощью квар- ца, подключаемого к выводам 39 и 40, а также внешним генератором, выход которого подключается в выводу 40 (в ПВ2 в качестве общего провода ис- пользуется выв. 21 "цифровая земля", а в ПВ5 — вывод 37 "TEST"). На прак- тике используется чаще всего первый способ, при этом частота примерно бу- дет равна 0,457?гСг. В фирменной документации на этот счет есть некоторая
454 Гпава 26 неясность, т. к. рекомендуется /?г = 100 кОм при Сг = 100 пФ, и тогда соглас- но вышеприведенной формуле частота должна составить 45 кГц. Это далеко и от 40 и от 50 кГц, рекомендуемых для частоты помехи 50 Гц, и не очень совпадает с 48 кГц, рекомендуемыми для помехи 60 Гц. Все отечественные описания микросхем ПВ2—ПВ5 изящно обходят этот вопрос, просто повто- ряя фирменные рекомендации. Думается, что составители документации имели в виду все же 60-герцовую помеху (т. е. тактовую частоту 48 кГц), по- этому в отечественных пенатах следует снизить емкость Сг до 91 пФ — так будет корректнее. Вообще, ошибка в ±5%, конечно, тут вполне допустима. Из особенностей внутреннего функционирования этих микросхем нам инте- ресен вот какой момент. Цикл работы ПВ2-ПВ5 состоит из трех фаз, первые две из которых идентичны циклу работы ПНВ по рис. 25.5. После окончания фазы интегрирования опорного напряжения и формирования собственно из- мерительного интервала, начинается последняя (или первая для следующего измерения) часть цикла, носящая название фазы автокоррекции. В этой фазе происходит не только сброс интегрирующей емкости (который у нас в схеме по рис. 25.6 занимал некоторое время из отведенного для фазы интегрирова- ния), но и, кроме этого, на конденсаторе Сак происходит накопление напря- жения смещения всех участвующих в процессе ОУ и компараторов. В рабо- чих циклах это напряжение учитывается. Но для нас еще интереснее, что в этой фазе одновременно происходит заряд емкости Соп до значения опор- ного напряжения, и последующее интегрирование в рабочем цикле опериру- ет именно с этой величиной, а вход опорного напряжения при этом отключа- ется. Собственно, сделано это для того, чтобы была возможность автоматического внутреннего инвертирования опорного напряжения при смене знака измеряемого. Однако для нас это важно потому, что позволяет сгладить наличие высокочастотных помех на входе опорного напряжения. К сожалению, длительность фазы автокоррекции является неопределенной (т. к. она занимает всю оставшуюся часть фазы интегрирования опорного на- пряжения плюс фиксированный интервал времени в 4000 периодов тактовой частоты), и низкочастотная помеха при этом интегрируется плохо. Номиналы емкостей и резисторов на рис. 26.1 приведены для случая опорно- го напряжения, равного 1В (и тактовой частоты 50 кГц). При опорном напряжении 0,1 В Сак нужно увеличить до 0,47 мкФ, Синт уменьшить до 0,1 мкФ, а /?инт уменьшить до 47 кОм. В остальных случаях эти номиналы должны быть изменены в указанных пределах примерно пропорционально изменению опорного напряжения. К выбору типов компонентов следует под- ходить весьма тщательно, от этого сильно зависит в первую очередь линей- ность преобразования. Резисторы все могут быть С1-4, хотя при наличии
Продолжаем измерять температуру. Конструируем цифровой термометр 455 стоит предпочесть металлопленочные МЛТ. Конденсатор тактового генера- тора Сген может быть керамическим (типа КМ-5, КМ-6). Остальные конден- саторы (Синт, Соп и Сак) должны быть с органическим диэлектриком, лучше всего фторопластовые (К72П-6, К72-9) или полистироловые (К71-4, К71-5), но сойдут и полиэтилентерефталатные (К73-16, К73-17). Эти конденсаторы могут ужаснуть вас своими размерами, но ничего не поделаешь — такова плата за стабильность. Высокие конденсаторы (как К73-17) следует устанав- ливать лежа — хотя при этом площадь платы увеличивается, но зато конден- саторы не торчат над всеми остальными компонентами, что, кроме всего прочего, повышает надежность монтажа, ибо меньше вероятность выкорче- вать конденсатор с корнем, случайно положив поверх платы каталог продук- ции фирмы MAXIM. Практическая схема термометра Теперь, вооружившись всеми этими знаниями, приступим, наконец, к наше- му термометру. И сначала нам нужно посчитать, что мы имеем на входе и что мы хотим при этом получить на выходе? Начнем с выхода — температура традиционно демонстрируется в виде "XX,X". Таким образом, мы должны использовать только три младших раз- ряда, при этом диапазон температур получится от -99,9 до +99,9 градусов. Собственно говоря, такой диапазон чересчур широкий — измерять темпера- туру ниже, скажем, -40 °C вряд ли когда-нибудь случится. Практически для "погодного" термометра хватило бы и диапазона от -50 до +50 °C. В чем и состоит недостаток использования готовых микросхем — мы вынуждены устанавливать диапазон в соответствии с возможностями отображения чисел с помощью ПВ2. И при этом теряем ровно два точностных разряда, ужимая диапазон в 4 раза, ведь без какого-либо изменения в измерительной части никто нам не запретит подключить все четыре индикатора и демонстриро- вать температуру от-199,9° до 199,9°. И если диапазон выше 100° еще может пригодиться в быту (скажем, признаком готовности варенья служит темпера- тура 105—106°), то отрицательный диапазон аж до минус 200° вряд ли по- требуется даже для самых специфических производственных нужд, а для на- учных задач такие температуры измеряются совсем другими способами. Если бы мы проектировали АЦП сами, то нам бы ничего не стоило растянуть 11 разрядов разрешения на нужный выходной диапазон отображаемой вели- чины и таким образом максимально использовать возможности данного АЦП, а здесь приходится смириться с тем, что мы фактически будем исполь- зовать только четверть возможного диапазона. Но, конечно, никто не запре- щает вам использовать диапазон полностью, или, скажем, половину его
456 Гпава 26 со сдвигом: от -50 до +150 — все будет определяться возможностями калиб- ровки. Мы здесь ограничимся тем, что калибровку будем производить от 0 до 50°, полагая (и это оправдывается на практике), что датчик при не слишком большом углублении в отрицательную область ведет себя линейно (см. главу 16). Однако считать придется на весь возможный диапазон — исходя из того, что входное напряжение АЦП £/вх при изменении температуры от 0 до +99,9° должно изменяться от 0 до Uon в соответствии с приведенной формулой для отображаемого числа N. О выборе датчиков см. главу 16. Так как мы собираемся делать более-менее точный прибор, то выберем медный датчик и прикинем, какое было бы жела- тельно иметь его сопротивление. Обычные токи через датчик должны со- ставлять порядка 1—3 мА, иначе медная катушка приемлемых размеров будет сама нагреваться. Если взять серийный датчик ТСМ 100 Ом1, то в ин- тервале 100° изменение его сопротивления составит 40 Ом (у меди, напом- ним, ТКС составляет примерно 0,4%/°). Таким образом, мы получим мини- мально рекомендуемую величину t/on = 0,1 В, если зададим через датчик ток, равный 2,5 мА. Это подходит для наших целей, однако нет никакого смысла приобретать дорогой серийный датчик— калибровку производить придется так и так. Проще всего в качестве датчика использовать обмотку малогаба- ритного реле из серий, например, РЭС-60, РЭС-80, РЭС-79 или РЭС-49 — какое окажется под рукой, и чем старше возрастом, тем лучше, т. к. медь при хранении стабилизирует свои характеристики. Нет проблем использовать и любое другое реле, только крупные конструкции будут иметь значительную тепловую инерцию, к тому же многие, особенно старые реле не герметизиро- ваны. Указанные мной типы имеют полностью герметизированный металли- ческий корпус, остается только изолировать от внешней среды выводы. У меня "под рукой" оказалось реле типа РЭС-60 с обмоткой 800±120 0м (пасп. РС4.569.435-01). Изменения на диапазон 100° составят в среднем 320 Ом. Выберем Uon = 0,5 В, тогда ток через датчик-обмотку должен соста- вить 0,5 В/320 Ом = 1,5 мА. Так как рабочие напряжения здесь не превышают по абсолютной величине 0,5 В, то мы сможем обойтись для АЦП одним пи- танием +5 В, только надо будет постараться, чтобы величины этих напряже- ний располагались вблизи середины питания. Общая схема термометра показана на рис. 26.2. Рассмотрим сначала включе- ние датчика. Для того чтобы при нуле градусов термометр показывал 0, нуж- но на вход АЦП подавать разность текущего напряжения на датчике и значе- ния его при нулевой температуре. В данном случае это делается с помощью 1 Платиновый ТСП выбирать не имеет смысла из-за его нелинейности.
Продолжаем измерять температуру. Конструируем цифровой термометр 457 мостовой схемы. Два идентичных источника тока 1,5 мА (ОУ DA1, транзи- сторы VT1-VT2 и резисторы R16-R19) образуют верхнюю половину моста, а нижняя состоит из датчика температуры Rt и опорного резистора R20, со- противление которого равно сопротивлению датчика при О °C. Разность этих напряжений подается на АЦП в качестве входного напряжения. Фильтр R22-C6 нужен для лучшего сглаживания помех (конденсатор С6 может быть керами- ческим). Н1-Н5 SA05-11G Рис. 26.2. Прецизионный цифровой термометр на микросхеме 572ПВ2 Обратим теперь внимание на хитрую схему включения самого датчика, кото- рая носит название "трехпроводной". Такая схема позволяет избежать влия- ния соединительных проводов и, главное, помех, которые наводятся на них. Сами по себе провода влияют слабо, т. к. в данном случае достаточно, чтобы
458 Гпава 26 они имели сопротивление, меньшее, чем 1/2000 сопротивления датчика,2 что составляет примерно 0,4 Ом. Это вполне обеспечит провод МГТФ-0,35, если его суммарная длина не превысит 40 м. Конечно, у нас провод будет много короче, даже если вы будете выносить датчик за окно. Однако в этой схеме и столь малые изменения нивелируются тем, что два одинаковых провода, со- единяющие опорный резистор с датчиком и датчик с источником тока, ока- зываются включенными в разные плечи моста, потому их изменения взаимно компенсируются. Наведенные на этих проводах помехи ведут себя точно так же. А третий провод, соединяющий датчик с "землей", оказывается включен- ным в оба плеча сразу и создает чисто синфазную помеху. Дополнительный резистор R23, включенный в этот провод, "подтягивает" напряжение разба- ланса моста к середине напряжения питания (падение напряжения на R23 составляет около 1 В). При возможном изменении напряжения питания опорное напряжение и сигнал с выхода моста будут меняться пропорцио- нально, поэтому ошибки не возникнет (см. главу 17). Цепочка R21-C7 есть дополнительный фильтр по питанию ОУ в источниках тока. Остальные компоненты схемы вызвать вопросов не должны. Все рези- сторы, закрашенные на схеме темным цветом, должны быть с точностью не хуже 1%, например, типа С2-29В. Номиналы их, естественно, необязательно должны быть именно такими, как указано на схеме, и могут меняться в очень широких пределах, но соотношения должны быть выдержаны точно. При ином сопротивлении датчика соотношения этих резисторов, а также сопро- тивления резисторов R20 и R23 придется пересчитать, при этом желательно приблизительно сохранить значения напряжений в схеме, особенно это каса- ется близости к середине напряжения питания. Индикаторная часть также не должна вызвать вопросов. Питание индикато- ров в этой схеме обязательно должно осуществляться от отдельной обмотки трансформатора. Индикаторы зеленого свечения (с буквой G) можно заме- нить на любые другие по вкусу, однако напомню, что индикаторы больших размеров, чем указаны на схеме (с цифрой высотой более 0,5 дюйма) придет- ся подключать через дополнительные ключи с повышенным напряжением питания подобно тому, как это сделано в схеме частотомера (см. главу 24). Так как мы четвертый разряд не используем, то не имеет смысла ставить це- лый индикатор для одного только знака минус, и его индикация производит- ся с помощью одного плоского светодиода. Они бывают разных размеров, и чтобы схема выглядела красиво, следует подогнать светящуюся полоску по ширине сегментов индикатора. В данном случае светодиод L113 имеет раз- 2 На самом деле это даже слишком жесткое требование, т. к. не само сопротивление подводя- щих проводов вносит погрешность, а только его температурные изменения.
Продолжаем измерять температуру. Конструируем цифровой термометр 459 меры 5x2 мм, но сегменты заметно уже, поэтому часть торцевой поверхности нужно аккуратно закрасить любой непрозрачной краской. Залить такой крас- кой следует и боковые поверхности светодиода, иначе вместо минуса вы по- лучите неопределенное светящееся пятно. Лучше всего использовать густую нитроэмаль, если она очень жидкая — дайте ей постоять на воздухе несколь- ко часов. Жидкая краска, например, из баллончика, обязательно будет про- свечивать, даже будучи положенной в три слоя. Если яркость минуса, запятой (выв. 5 индикатора Н2) и индикаторов Н4-Н5, постоянно демонстрирующих знак "°C", будет отличаться от яркости основ- ных разрядов, нужно подобрать резисторы R1-R10. Источник питания нужно рассчитывать на 250 мА по напряжению ~6,3 В (по напряжению +5 В по- требление не достигает и 10 мА). Конечно, в целях экономии места, стоимо- сти и потребления тока индикаторы Н4-Н5 можно исключить. Рис. 26.3. Конструкция датчика на основе реле РЭС-49, РЭС-60, РЭС-79, РЭС-80 и аналогичных: 1 — реле; 2— места пайки выводов; 3 — пластмассовая трубка; 4 — эпоксидная смола; 5 — кембрик Датчик можно изготовить следующим образом (рис. 26.3). Берется трубка (лучше пластмассовая) длиной примерно 10 см и такого диаметра, чтобы все выводы реле, в том числе, выводы обмотки с припаянными проводами, сво- бодно помещались внутри. Места пайки на всякий случай следует изолиро- вать термоусадочным кембриком. Затем нужно пропустить провода через трубку и обязательно в месте выхода из трубки также надеть на них отрезок кембрика, чтобы ограничить радиус перегиба (позиция 5 на рис. 26.3). Потом нужно залепить пластилином щели между корпусом реле и торцом трубки и залить внутренность ее эпоксидной смолой. Пластилин удаляется начисто с помощью бензина. Схему следует собрать всю сразу (проверив отдельно, конечно, источник пи- тания). Измерив величину сопротивления датчика при комнатной температу- ре, следует рассчитать необходимую величину резистора R20 (на схеме дана его величина, исходя из сопротивления датчика ровно 800 Ом при 20 °C). За- тем на место калибровочных резисторов R14 и R20 следует впаять резисторы
460 Гпава 26 большего номинала, а параллельно им — переменные резисторы с таким значением сопротивления, чтобы вместе они составляли номинал примерно на 5—10% больший расчетного. Вместо параллельных резисторов большо- го номинала можно наоборот, взять последовательные небольшого номи- нала (при этом основной резистор должен быть изначально, естественно, несколько меньше необходимого), но параллельные резисторы удобнее впаивать в готовую схему — прямо к выводам основного. Наладку надо начинать с проверки правильности разводки индикаторов. Для этого вывод "TEST" следует замкнуть с напряжением питания — индикаторы должны загореться все, показав значение "888". Затем можно приступать к процедуре калибровки. Набейте термос толченым льдом (зимой лучше использовать для этой цели снег) пополам с водой — это будет первая калибровочная точка. Вторая может быть обеспечена просто теплой водой с температурой от 40 до 60 °C, причем поддерживать точную температуру необязательно, только за ней нужно все время следить, хотя, разумеется, наличие термостата предпочтительнее. Помещая датчик в смесь льда и воды, с помощью резистора R20 устанавливают нулевые показания термометра. Затем датчик помещают в теплую воду вместе с образцовым термометром и с помощью резистора R14 устанавливают показания, соответ- ствующие показаниям этого термометра. В обоих случаях размещать датчик нужно так, чтобы и он, и эталонный термометр не касались стенок, причем воду и смесь в термосе при этом следует обязательно перемешивать. Так как у нас при 0 °C мост находится в равновесии, то в принципе корректировки нуля и крутизны независимы, и одной итерации достаточно, но на всякий случай следует несколько раз перенести датчик из нулевой температуры в теплую воду и обратно и при необходимости подкорректировать показания. Не забывайте, что каждый раз датчик следует выдерживать при соответст- вующей температуре не менее нескольких минут. Окончательно переменные резисторы заменяют на постоянные (на схеме они показаны пунктиром). Эти дополнительные резисторы могут быть типа С1-4 или МЛТ — при условии, что основной резистор не слишком отличается от окончательного номинала. Если все сделано аккуратно, то погрешность такого термометра в диапазоне от-50 до +50 °C не превысит его разрешающей способности, равной 0,1 °C. При использовании иных типов датчиков, например, полупроводниковых, отрицательное напряжение питания в 572ПВ2 может все же понадобиться. Самый лучший способ, безусловно, — сделать нормальный двуполярный ис- точник ±5 В. На рис. 26.4 приведены различные варианты паллиативных ре- шений. Первый вариант (рис. 26.4, а) представляет собой однополярный источник +10 В с искусственным расщеплением. Расщепитель представляет собой просто повторитель напряжения на ОУ с умощненным выходом
Продолжаем измерять температуру. Конструируем цифровой термометр 461 на комплементарных транзисторах. Обратите внимание на включение стаби- лизатора LM78L09, которое позволяет получить напряжение большее, чем номинальное. Излишне предупреждать, что питание индикаторов при такой схеме обязательно должно осуществляться от отдельного источника. Вторая схема (рис. 26.4, б) представляет собой инвертор-преобразователь положительного питания +5 В в отрицательное. Различных типов таких ин- верторов выпускается очень много, здесь выбран простейший нестабилизиро- ванный вариант. Преимущество преобразователя 1168ЕП1 (ICL7660, МАХ 1044) в простоте включения, недостаток — высокое выходное сопротивление, так что при входном напряжении +5 В уже при потребляемом токе 20 мА отри- цательное выходное напряжение снижается по абсолютной величине до 4,0 В (величина -4,4 В показана условно). Однако для нужд микросхемы 572ПВ2 этого вполне достаточно. Это вполне иллюстрирует рис. 26.4, б, на котором приведена схема инвертора напряжения, рекомендуемая разработчиками АЦП. Это на самом деле просто ухудшенный вариант того же инвертора, ра- ботающий от тактовой частоты АЦП. Микросхема CD4009 может быть заме- нена на 561ПУ4 (или CD4050; т. к. она содержит усилители без инверсии, все шесть можно просто включить параллельно) или на 561ЛН2 с соответствую- щей коррекцией разводки выводов. Подобные схемы могут особенно приго- диться и для ПВ2 и для ПВ5 в случае батарейного питания, ведь обеспечить напряжение порядка 12—14 В, требующееся для нормального двуполярного источника ±5 В, в этом случае непросто, а схемы по рис. 26.4, б и 26.4, б, в, кроме всего прочего, отличаются высокой экономичностью (у ICL7660 КПД достигает 99%).
Глава 27 Метеорологическая лаборатория. Измерение физических величин Назовите тех из подмастерьев, которые мо- гут вам понадобиться, и укажите, какие ин- струменты они должны принести. А. Дюма, "Три мушкетера" Еще недавно проектирование измерителей различных физических величин требовало незаурядных физических знаний, потому что даже имеющиеся универсальные датчики приходилось приспосабливать к конкретным нуждам каждый раз заново. Нередко серийно выпускающихся датчиков вообще не было, и в этом случае достаточно глубокое физическое образование было просто необходимо. Во mhoi их специфических случаях и сейчас так, однако промышленность шагнула далеко вперед и чаще всего датчик нужного пара- метра можно найти в продаже. Можно и купить готовую метеорологическую лабораторию, только стоимость ее будет сравнима со стоимостью престиж- ной иномарки типа BMW 5-й серии. Нам же интересно — можно ли попро- бовать самому соорудить такую лабораторию? Заметьте, что даже в случае успеха этого мероприятия официальный метеопункт организовать вряд ли удастся — для этого нужно пройти дорогостоящую сертификацию ваших средств измерений, в результате чего вы выясните в конце концов, что де- шевле было бы купить готовые. Но отчего бы не сделать метеолабораторию для себя, любимого? Измеряемые параметры Сначала выясним, что же именно мы хотим и можем измерять. Стандартная метеорологическая лаборатория (ее еще называют обсерваторией) должна включать в себя измерители таких параметров, как температура воздуха, ат- мосферное давление, влажность, скорость и направление ветра. Кроме этого, желательно измерять различные характеристики солнечного излучения: об- щее его количество по часам дня, а также долю времени прямого солнца (что характеризует степень облачности). Неплохо, в соответствии с последними
464 Гпава 27 веяниями, приставить к такой лаборатории и некоторые экологические изме- рители — например, радиационного фона. Некоторые из датчиков перечисленных величин соорудить самому очень сложно. Так, мы не будем рассматривать задачу определения солнечного из- лучения прежде всего потому, что хоть как-то калибровать такой измеритель в домашних условиях представляется решительно невозможным. Что же ка- сается радиационного фона, то в Интернете можно найти огромное количест- во радиолюбительских конструкций, единственная сложность при воспроиз- ведении которых— приобретение собственно чувствительного элемента, счетчика элементарных частиц. Но это задача также решаемая. Мы же рас- смотрим остальные параметры. Давление Измерителей давления существует довольно много разновидностей, и прак- тически все они используют один и тот же принцип — измеряется изменение какого-либо физического параметра под действием деформации, вызванной механическим воздействием давления на некую мембрану. Мембрана делает- ся чаще всего из не подверженных коррозии металлов, и ее упругость опре- деляет диапазон измерения. А вот собственно воспринимающие деформацию сенсоры могут быть основаны на различных физических принципах, среди которых есть очень остроумные — скажем, под действием деформации некая струна меняет натяжение, от чего ее собственная частота колебаний меняется, подобно тому, как это происходит при подтяжке колков у гитары. Колебания струны, которая выполняется из ферромагнитного материала, возбуждаются с помощью катушек индуктивности, и частота полученного электронно- механического генератора и есть мера давления. Другой принцип, распро- страненный и по сей день — приклеить к мембране кварц, который также под действием деформации будет менять свою частоту колебаний. Еще один грубый, но надежный принцип — когда под действием деформации меняется зазор в магнитопроводе катушки индуктивности, отчего индуктивность ее меняется, также меняется частота колебаний LC-генератора, построенного на основе этой катушки. Есть и другие принципы. Самый главный враг разработчиков таких измерителей — температура. Струна меняет свои размеры, частота LC-контура и параметры магнитопро- вода также зависят от температуры. Казалось бы, использование кварца ре- шает проблему (отчасти), но у него есть другая особенность — такие кварцы подвержены старению. Не одна сотня диссертаций посвящена тому, как уве- личить точность подобных преобразователей. В результате в промышленных масштабах победил принцип, который еще лет двадцать назад казался
Метеорологическая лаборатория. Измерение физических величин 465 неприметной золушкой среди своих сестер. Почти все выпускаемые сегодня датчики давления для любых применений построены по одному принципу — на мембрану наклеивается кристалл, содержащий тензометрический мост. Тензометр — это резистор, который меняет свое сопротивление в зависимо- сти от деформации, в принципе, любая металлическая пластинка обладает тензометрическими свойствами. Естественно, для металлов эффект очень мал и на практике применяют его только в мостовой схеме измерения (см. гла- ву 16), когда два противоположных резистора моста растягиваются, а вторые два — сокращаются в размерах. Все современные датчики используют не металлические тензометры, а полупроводниковые, у которых эффект на по- рядки выше, именно поэтому ранее шла речь о кристалле. Рассмотрим этот эффект подробнее. Когда все резисторы моста одинаковы, как мы знаем, температурные изменения их на выходном дифференциаль- ном сигнале не сказываются. Но, во-первых, строго одинаковыми (не толь- ко по тензо- и термочувствительности, но и по всем остальным характери- стикам) сделать их на практике не представляется возможным. Во-вторых, в режиме измерения, когда номиналы резисторов моста изменяются, мост выходит из баланса, и теперь температурные изменения присутствуют на выходе в полной мере, смешиваясь с полезным сигналом. Как мы уже уяснили, полупроводники крайне чувствительны к температуре, скажем, термисторы имеют на порядок большую крутизну температурной характе- ристики, чем обычные металлические термосопротивления, да еще и нели- нейного характера. Именно вследствие этих причин тензометрический метод мало применялся до некоторого времени, в чистом виде тензометри- ческий полупроводниковый датчик может давать единицы процентов при- веденной погрешности в рабочем диапазоне температур, причем погрешно- сти, нелинейно зависящей от температуры. В нашем случае для измерения атмосферного давления это совершенно неприемлемые значения — вся шкала датчика так или иначе начинается от 0, но используется только узкий участок, примерно от 700 до 800 мм рт. ст. При этом всего 1% приведенной погрешности даст нам ошибку в 8 единиц, что для метеорологии запре- дельная величина — разница между 740 и 748 мм рт. ст. весьма и весьма существенна. Для удобства мы будем и далее пользоваться величиной мм рт. ст., хотя характеристики датчиков обычно указывают в барах или паскалях: 1 мм рт. ст. равен ровно 4/3 (1,3332) бара или гектопаскаля (сот- ни паскалей, гПа). То есть нормальное давление на уровне Москвы (750 мм рт. ст.) равно при этом ровно 1000 бар или гПа, или 105 Па. При- близительно также можно считать, что это давление равно 1 атм, или 10 метрам водяного столба. В западной документации часто указывают давление в фунтах (pounds или 1b, от древнеримской единицы веса "либре")
466 Гпава 27 на квадратный дюйм (inches), обозначается оно тогда, соответственно, Ibi или psi, но самим нам переводить эти единицы в бары вряд ли придется. Для того чтобы победить температурную зависимость сигнала тензомоста, напрашивается простой способ: надо поместить рядом с кристаллом полу- проводниковое сопротивление, которое имеет такие же температурные ха- рактеристики, как и сам мост, и как-то вычитать его показания из показаний моста. Дело несколько осложняется тем, что температурная ошибка тензомо- ста представляет собой сложную смесь аддитивной и мультипликативной составляющих, но не будем углубляться — эта задача в настоящее время почти решена за нас. Почти — потому, что в массовом производстве, естест- венно, полной компенсации достичь сложно. Но в большинстве случаев того, что достигается в серийных датчиках, например, фирм Honeywell или Motorola, вполне достаточно. А оставшуюся погрешность за счет производ- ственного разброса вполне можно скомпенсировать калибровкой. Рис. 27.1. Датчик атмосферного давления МРХ4115 фирмы Motorola Для измерения атмосферного давления подойдет, например, датчик МРХ4115 фирмы Motorola с диапазоном 1150 гПа (примерно 860 мм рт. ст.). Внешний вид его показан на рис. 27.1. Шесть выводов его имеют шаг 2,5 (2,54) мм и легко влезают в любую панельку под микросхемы в DIP-корпусах. Из вы- водов задействованы только первые три (вывод №1 — с ключом в виде выре- за), которые представляют собой, соответственно, выход, "землю" и питание. Питание должно составлять от 4,85 до 5,35 В (типовое почему-то равно 5,1 В), при этом ошибка без дополнительной калибровки не превышает 1,5% (на практике сдвиг нуля примерно раза в два меньше). В датчик встроен уси- литель (с термокомпенсацией), поэтому выходной сигнал его составляет от 0 до примерно 4,8 В при максимальном значении давления, для включения
Метеорологическая лаборатория. Измерение физических величин 467 в АЦП типа 572ПВ2 его надо поделить с помощью резистивного делителя. Так как сигнал не дифференциальный, то схема включения будет совпадать с основной схемой включения АЦП (рис. 26.1), причем опорное напряжение тут можно формировать тоже от основного питания +5 В с помощью делите- ля, ибо выходной сигнал датчика меняется пропорционально питанию (хотя и в ослабленной степени, но общая ошибка в комнатном диапазоне темпера- тур будет невелика). Если подгонка нуля потребуется, то отрицательный вы- вод входного напряжения следует подсоединить не к "земле", а к делителю напряжения, подключенному между плюсом и минусом питания. Само пита- ние при этом, естественно, должно быть двуполярным. Я не буду рисовать всю схему ввиду ее тривиальности. Калибровку же можно выполнить, если сравнивать показания датчика с дан- ными по давлению, которые публикуются в Интернете (есть сайты, которые публикуют погоду каждые 3 часа — это так называемый метеорологический интервал), причем лучше не ограничиваться данными одной какой-то службы,* а обращаться к нескольким, отбрасывая явные ошибки и усредняя правдопо- добные данные. Используя данные, сообщаемые по радио и телевидению, следует учитывать, что они могут сообщаться с большим запаздыванием. Еще один момент, который следует учесть при калибровке — атмосферное давление падает примерно на 1 мм рт. ст. на каждые 20 метров высоты над уровнем моря. Скажем, для Москвы, как и для большей части территории Европейской части России, превышение над уровнем моря составляет в сред- нем 200 м, и нормальное давление равно 750 мм рт. ст., но разброс может со- ставлять 100—150 м даже в пределах территории столицы, поэтому ошибка может достигать 4-х единиц. Для выполнения калибровки дождитесь, пока давление на улице не станет достаточно низким, а затем, наоборот, высо- ким — экстремальные значения давления в регионе Москвы составляют примерно 720 и 770 мм рт. ст. — и постройте калибровочную прямую в ко- ординатах показания датчика— действительное давление, из которой вы сможете вычислить поправку для сдвига нуля и крутизны (последняя регули- руется с помощью величины опорного напряжения). Влажность Влажность— это количество паров воды, которое содержится в воздухе. Различают абсолютную влажность и относительную. Абсолютная влаж- ность— концентрация воды, например, в граммах в кубическом метре воз- духа. Это величина лимитирована так называемой точкой росы — концен- трацией насыщения, когда дальнейшее добавление водяных паров уже не приводит к их распределению в воздухе, а вызывает выпадение влаги в виде
468 Гпава 27 тумана. Эта величина зависит от температуры воздуха и тем меньше, чем ниже температура, поэтому на холодных поверхностях всегда происходит выделение влаги в первую очередь. Для практики имеет большее значение не абсолютная, а относительная влажность — концентрация паров по отноше- ние к концентрации в точке росы при данной температуре. Она выражается в процентах, и чем она выше, тем медленнее идет испарение, например, хуже сохнет белье. Для точки росы относительная влажность равна 100%. Простейший психрометр (так называют традиционный измеритель влажно- сти, к психологии это не имеет отношения) основан на измерении разности показаний термометров, смоченного водой и сухого. Чем выше относитель- ная влажность, тем меньше разнятся эти показания (т. к. при испарении смо- ченный водой термометр охлаждается, а с повышением влажности испарение замедляется). Для автоматизированного измерения это очень неудобный ме- тод (приходится все время следить, чтобы один из термометров был влаж- ным) и к тому же неточный. Поэтому большинство промышленных методов используют изменения электрических свойств воздуха при изменении влаж- ности — удобнее всего, диэлектрической проницаемости, от которой, как мы знаем из главы 5, зависит емкость конденсатора. Например, датчики серии HIH фирмы Honeywell устроены так: между обкладками из платины находит- ся пористый полимерный материал с доступом наружного воздуха, емкость такого конденсатора измеряется и преобразуется в аналоговый сигнал. Один бог ведает, почему не сделать его сразу цифровым (например, в виде частоты или интервала времени), возможно, это сделано в целях унификации средств измерения. Чувствительность датчиков составляет примерно 0,044 В/% влажности, т. е. выходной сигнал равен примерно 4,4 В при влажности 100%. Для термокомпенсации на том же кристалле расположен терморезистор. Схему включения я приводить также не буду, т. к. особых сложностей там нет, нужно просто следовать рекомендациям производителя. Но один под- водный камень имеется: датчик влажности ни в коем случае нельзя распола- гать внутри корпуса прибора, т. к. даже при небольшом нагреве элементов значения влажности внутри и снаружи будут существенно отличаться, не го- воря уж о термозависимости самого датчика. Ветер "Ветер, ветер, ты могуч..."— в этих знакомых нам с детства строчках за- ключено больше правды, чем виделось поэту. Неизвестно, растают ли ледни- ки Антарктиды в результате глобального потепления, но факт, что это потеп- ление сказывается уже сейчас в том, что климат начинает все больше "раскачиваться"— ни о каких ураганах в средней полосе России во времена
Метеорологическая лаборатория. Измерение физических величин 469 моего детства и не слыхивали, в то же время только за последние несколько лет в Москве их было как минимум три, самый памятный— летом 1998-го года, второй, затопивший город — в 2001 году. Во время этого урагана мне случи- лось ехать по только что построенной трассе третьего транспортного кольца, и машину буквально сдувало с дороги. Какова скорость ветра при таких ано- малиях? При сильной буре порывы могут достигать 20 м/с, при скорости в 30 м/с уже сдувает крыши с домов. Последнее значение характерно только для тропических циклонов, в нашей полосе такое наблюдать вроде бы не приходилось, но кто знает... Построить измеритель скорости ветра— анемометр— довольно просто, сложно его отградуировать. А вот измеритель направления ветра (флюгер), наоборот, построить сложно, а градуировать и вовсе не надо, достаточно ориентировать его по компасу. Попробуем понять, как можно самому сделать и то и другое. Имейте в виду, что направление ветра (северный N, или, к примеру, юго-западный SW) означает то, откуда ветер дует (в противопо- ложность морским течениям, для которых "северное" означает, что течение направлено на север). Анемометр Устройство самого распространенного чашечного анемометра хорошо видно из рис. 27.2, а. Его преимущество состоит в том, что показания мало зависят от ориентации прибора в пространстве — как ни крути, а вертеться он будет одинаково и тем быстрее, чем выше скорость ветра. Единственное положе- ние, в котором он будет врать — когда ось направлена навстречу ветру, но чтобы этого избежать, достаточно расположить ее вертикально. Для само- дельной конструкции не обязательно выпиливать чашки, достаточно изгото- вить крыльчатку с загнутыми лопастями по типу показанной на рис. 27.2, б, хотя такая "вертушка" будет менее чувствительна, и ее показания будут больше зависеть от положения в пространстве. Еще проще изготовить пропеллер1, в простейшем случае это круг из жести, надрезанный на четыре сектора, которые немного развернуты в одном на- правлении. Такой пропеллер правильно будет показывать, только если он развернут навстречу потоку ветра, поэтому его целесообразно совместить с флюгером. Я не буду загромождать книгу по электронике описаниями ва- риантов изготовления таких вертушек, сведения по этому делу вы можете найти в любом пособии, например, по авиамоделизму. Хочу только отметить, что для успеха мероприятия необходимо очень тщательно продумать конст- 1 Более правильное название в данном случае — импеллер, т. к. не он гонит воздух своим вра- щением, а наоборот, воздух его вращает.
470 Гпава 27 рукцию крепления вала вертушки, который должен обязательно вращаться как можно более свободно, например, во фторопластовых подшипниках скольжения, причем момент его трогания не должен меняться со временем из-за коррозии, попадания грязи и т. п. Мы же сосредоточимся на том, как автоматически измерять скорость вращения. Рис. 27.2. Анемометр: а — ручной серийной конструкции, б — вариант самодельной крыльчатки Обычный метод измерения скорости вращения состоит в том, что на вал на- девается диск с отверстиями, равномерно расположенными по окружности. В одной из точек закрепляется оптический датчик "на просвет", который вы- дает импульс каждый раз, когда между приемником и источником света про- ходит отверстие. Так как число отверстий п на окружности известно, то ско- рость вращения ф будет равна попросту fin оборотов в секунду, где f — частота следования импульсов на выходе оптического датчика в Гц. Если от- верстие всего одно, то скорость вращения равна/. Оптический датчик может быть и не "на просвет", а "на отражение", причем отверстия можно оставить (отражение будет от поверхности диска) или заменить их чередующимися темными и светлыми участками. Кроме оптических, есть и другие конструк- ции датчиков, например, индукционный или герконовый (в последнем случае по окружности вместо отверстий приклеиваются маленькие магнитики) или датчик на основе эффекта Холла, как в распределителе зажигания "Жигулей" 8-й модели и старше. Следует отметить, что самое сложное в этом деле — обеспечить хорошую форму импульсов на выходе датчика при всех возмож- ных скоростях вращения, т. к. при слишком медленном пересечении границы отверстия возможен дребезг, неважно, какой при этом используется принцип. Далее мы используем один из вариантов с использованием оптического дат- чика "на просвет".
Метеорологическая лаборатория. Измерение физических величин 471 Рис. 27.3. Схема формирования импульсов для измерения скорости вращения анемометра с помощью оптического датчика На рис. 27.3 показана схема этого варианта. Излучающий инфракрасный свето- диод АЛ107Б выдерживает очень большие импульсные токи (до 1 А), и если его питать короткими мощными импульсами, то чувствительность схемы повысится, а если при этом сделать скважность импульсов достаточно большой, то будет экономиться питание. Мы сделаем частоту следования импульсов через него та- кой, чтобы она превышала возможную частоту следования отверстий при самой высокой скорости вращения. В данном случае мы ориентируемся на число отвер- стий, равное 10. Пусть наибольшая скорость вращения вертушки составляет 20об/с, тогда частота составит 200 Гц. Выберем частоту импульсов через свето- диод с запасом, равной 1 кГц (после градуировки, о которой далее, можно в слу- чае чего подкорректировать). Пусть время самого импульса составит 10 мкс, т. е. скважность будет равна 100. При включении светодиода, как показано на рисун- ке, без ограничительного сопротивления, импульсный ток через него будет дос- тигать 40 мА, в то время как средний потребляемый ток составит всего 0,4 мА. Кстати, никто не мешает включить все шесть инверторов в корпусе ЛН2 парал- лельно и получить импульс тока через светодиод на уровне 200—250 мА, просто здесь это не требуется ввиду близкого расположения фотоприемника. Предположим, что ширина отверстия и промежутка между ними по окружно- сти совпадают (это, впрочем, не очень существенно, просто так удобнее счи- тать). Тогда полупериод одного входного импульса при максимальной частоте будет равен 2,5 мс, т. е. за это время уложится в среднем не меньше 2,5 им- пульсов от светодиода. Как наличие пачек таких импульсов преобразовать в частоту вращения? Для этого мы воспользуемся серийной микросхемой одновибратора 561АГ1 (CD4098), который представляет собой т. н. одновибра- тор с перезапуском. Это означает, что если во время действия выходного сиг- нала такого одновибратора пришел еще один запускающий фронт, то он пере- запустится и начнет отсчет времени как бы заново (наши конструкции по рис. 23.8 являются одновибраторами без перезапуска— пришедший во время действия импульса фронт будет просто проигнорирован). Время импульса на выходе одновибратора выберем несколько превышающим период импульсов
472 Гпава 27 со светодиода, тогда у нас на выходе получится один непрерывный импульс, действующий все время, пока светоприемник находится напротив отверстия, и даже еще немного сверх того. Расчет в плане защиты от дребезга делается на то, что столь короткий (10 мкс) импульс просто не успеет расщепиться на два и более — либо пройдет полный импульс, либо вообще никакого, но даже если это расщепление и произойдет, то одновибратор в подавляющем большинстве случаев все, как говорится, спишет. Частота импульсов светодиода и привязан- ная к ней длительность импульса на выходе одновибратора будут определять верхнюю границу диапазона скорости вращения вертушки. При налаживании схемы надо сначала подобрать резистор R4 так, чтобы обеспечить четкое срабатывание фотоприемника (погрейте его рукой, чтобы убедиться, что он не выходит из диапазона при повышении температуры), а затем — резистор R6 так, чтобы длительность импульса на выходе АП со- ставляла примерно 1,3—1,5 мс. ИК-светодиод АЛ107Б можно заменить на любой другой подобный, отечественный или импортный, а фотодиод ФД2 также можно заменить на любой другой фотодиод, фототранзистор или даже использовать в качестве приемника такой же светодиод, как и излучающий. Конечно же, имеются серийные конструкции фотоисточник-приемник (или фотоприемники отдельно), которые формируют готовый логический сигнал, но их не всегда просто приспособить к нашим нуждам. Полученная на выходе одновибратора частота импульсов измеряется обыч- ным методом с помощью счетчика. Измерительная часть и задающий дели- тель частот на схеме не показаны, т. к. если вы одолели описание работы час- тотомера в главе 24, то, без сомнения, знаете, как это делается. Так как отверстий 10, то за время измерения 1 с мы получим частоту вращения с раз- решением в десятые доли герца. Ее можно прямо вывести на индикатор, но в готовом приборе удобно сразу показывать скорость ветра в метрах в секун- ду. Для этого следует сначала прибор отградуировать. Как же это сделать? Лучше всего взять серийный чашечный анемометр и, сняв несколько точек зависимости скорости вращения от скорости ветра при разной погоде, затем подогнать время измерения частоты вращения так, чтобы получить на инди- каторе метры в секунду2. Если доступа к серийному анемометру у вас нет, “ При этом необходимо обеспечить учет порога трогания вертушки, т. к. из-за него диапазон показаний прибора должен начинаться не с нуля. Простейший способ преодолеть эту труд- ность— использовать счетчик с предзагрузкой, например, 561ИЕ14, который в начале каждо- го измерения устанавливается не в нулевое состояние, а в состояние с уже загруженным чис- лом, равным порогу трогания, и оно суммируется с последующими импульсами. Сложнее будет обеспечить "ворота" произвольной длительности, которая понадобится для индикации скорости в м/с. Это можно сделать путем комбинирования выходов делителя времязадающей частоты (счетчика ИЕ16) с помощью логических элементов. Капитальным выходом, конечно, будет использование микропроцессора.
Метеорологическая лаборатория. Измерение физических величин 473 то отградуировать можно так: погрузить всю конструкцию в автомобиль, вы- ехать на прямой участок шоссе в безветренную погоду, выставить вертушку в окно и произвести градуировку по спидометру машины. Скорость 36 км/час при этом будет соответствовать скорости ветра 10 м/с. Конечно, это довольно грубый способ (спидометры обычно врут, особенно на малых скоростях), но зато доступный. Если применить в качестве показывающего ЖК-индикатор, то всю конструкцию можно питать от одной батарейки "Крона" (ток потреб- ления измерительной части не превышает нескольких миллиампер). Флюгер Как уже говорилось, флюгер изготовить сложнее анемометра. К нему предъяв- ляются все те же требования в части механической конструкции, причем с учетом значительных боковых нагрузок на вал, т. к. флюгер обычно на валу этом располагается консольно. Но опять же не будем заострять внимание на механике, а подумаем, как мы можем обеспечить автоматизированный съем информации. В данном случае первичной измеряемой величиной является угол поворота вала, который нужно преобразовать в цифровой код. Для этого ис- пользуется кодирующий диск, закрепленный на валу, подобный тому, что в измерителе скорости вращения, но не с одним рядом отверстий, а с несколь- кими, где сами отверстия расположены по определенному закону. Есть несколько способов расположения отверстий, отличительной чертой которых служит то, что при переходе от одного кода к другому не должно одновременно меняться несколько разрядов кода, иначе может возникать неоднозначность. В самом деле, представим, что у нас диск поделен на четыре ряда, в каждом из которых размеры отверстий меняются по двоичному закону (разверткой такого диска может служить временная диаграмма четырехразрядного счетчика, см. рис. 24.6). Тогда при переходе от состояния "0000" (нет отверстий ни в одном ряду) к состоянию "ИИ" (отверстия во всех рядах) из-за разницы в порогах срабатывания фотодатчиков на выходе может возникать в принципе любой код. Если же при переходе от одного состояния к другому меняется только один разряд (или система отслеживает предыдущее состояние, как это сделано в некоторых конструкциях), то такой неопределенности не возникает. Код, ко- торый обладает таким свойством, называется кодом Грея, и четырехразрядный его вариант приведен в таблице (читать нужно сверху вниз, слева направо). Четырехразрядный код Г рея 0000 0110 1100 1010 0001 0111 1101 1011 0011 0101 1111 1001 0010 0100 1110 1000
474 Гпава 27 Как видите, с двоичным кодом он почти не совпадает, кроме старшего разря- да. Однако все коды разные, так что состояния легко различаются. А хватит ли нам 16 состояний? Для наших целей вполне — если поделить 360° на 16, то мы получим 22,5°, или одну четвертушку каждого из четырех секторов по 90°, соответствующих сторонам света. Это соответствует принятому словес- ному обозначению направления ("север", "северо-северо-восток", "северо- восток", "северо-восток-восток", "восток" и т. д.) и для практических целей более чем достаточно. Рис. 27.4. а — кодирующий диск для измерения угла поворота; б — преобразователь кода Грея в двоичный код б Чертеж кодирующего диска приведен на рис. 27.4, а, им можно воспользо- ваться как шаблоном. Для съема информации целесообразно использовать ту7 же самую экономичную схему, что и для измерения частоты в анемометре, только в четырех экземплярах. На выходе четырех каналов будет получаться код Грея. Перекодировать его в двоичный код можно, например, по схеме, показанной на рис. 27.4, б. Вопрос, однако — а что с ним делать дальше? По- лученный двоичный код можно пропустить через дешифратор по рис. 21.7, б и подключить к его выходам светодиоды, расположенные по окружности с нанесенными сторонами света (имейте при этом в виду, что направление на север принимается за 0°, и далее отсчет ведется по часовой стрелке, т. е. вое-
475 Метеорологическая лаборатория. Измерение физических величин ток— это 90°). На самом деле в результате получится не столько измерение (стороны света можно нанести и на лимб вокруг самого флюгера, как обычно и делают), сколько дистанционная передача информации. Удобно, чтобы эта информация отображалась на некоем дисплее в привычном для восприятия виде, например, в виде принятых буквенных обозначений направления ("N", "NNE", "NE" и т. п.) или хотя бы в виде числа градусов направления. Дешиф- ратор, который может осуществлять такие функции, на логических элементах получится очень громоздким, поэтому придется либо применить микропро- цессор, либо... А вот как еще можно выйти из положения, мы рассмотрим в следующей главе.
Глава 28 Лечение амнезии. О памяти и ее разновидностях Право, у вас чудесная память, любезный шевалье! Кстати, прибавьте еще кое-что. А. Дюма, "Три мушкетера" Микросхемы памяти — самая, пожалуй, бурно развивающаяся отрасль полу- проводниковой промышленности. Конкуренцию ей в этом плане могут со- ставить только микропроцессоры для ПК и еще, пожалуй, видео- и аудио- процессоры. Если для операционных усилителей или дискретной логики считается нормальным использовать в современных разработках чипы, в сво- ей основе разработанные 20 и 30 лет назад1, то с памятью это не имеет ника- кого смысла. В 1965 г. в Иллинойском университете был запущен один из самых передовых компьютеров по тому времени ILLIAC-IV. Это был первый компьютер, в котором была использована быстрая память на микросхемах — каждый чип (производства Fairchild Semiconductor) имел емкость 256 бит, а всего было набрано 1 Мбайт. Стоимость этой памяти составила ощутимую часть от всей стоимости устройства, обошедшегося заказчику — NASA — в $31 млн. А один из первых персональных ПК Altair 8800 (1975 г.), прода- вавшийся в виде набора "сделай сам", при стоимости порядка $500 имел все- го 256 байт (именно байт, а не килобайт) памяти. В том же году для распро- странения языка Basic for Altair Биллом Гейтсом и Полом Алленом была создана фирма, получившая первоначальное название Micro-Soft. Одна из самых серьезных проблем, которую пришлось решать— нехватка памяти, потому что созданный ими интерпретатор Basic требовал аж 4 Кбайт! Проблема объемов памяти и ее дороговизна преследовала разработчиков до самого последнего времени, еще в конце 90-х стоимость памяти для ПК мож- но было смело прикидывать на уровне $1/Мбайт, что при требовавшихся уже 1 Они — точнее, в большинстве случаев их более продвинутые аналоги — только резко поде- шевели. К примеру, 16-разрядный АЦП последовательного приближения с быстродействием около 2 МГц в конце 70-х мог стоить почти $2000. Сейчас, конечно, цены на аналогичные из- делия примерно на два порядка ниже.
478 Глава 28 тогда для комфортной работы объемах ОЗУ порядка 128—256 Мбайт могло составлять значительную часть стоимости устройства. И сейчас (не улыбай- тесь те, кому вдруг случится читать эти строки лет этак через 10) необычайно перспективное направление в производстве долговременной памяти на заме- ну не очень надежным и относительно медленным магнитным хард-дискам под названием "твердотельные диски" или "флэш-диски" сдерживается отно- сительно высокой стоимостью твердотельных ПЗУ— порядка $300—500 и выше за 1 Гбайт. Все это хорошо иллюстрирует необходимость соблюдения одного из основ- ных принципов фон Неймана, которые до сих пор являются основополагаю- щими для разработчиков компьютерных систем. Принципы эти были выве- дены великим математиком в 1946 г. на основе опыта эксплуатации ЭВМ ENIAC, и в 1948 г. переоткрыты С. А. Лебедевым в СССР. Один из этих принципов гласит: память должна быть организована иерархически, от памя- ти малого объема, но с высоким быстродействием, до медленной памяти большой емкости. Именно так и проектируют современные компьютеры, ко- торые содержат очень быструю кэш-память на одном кристалле с процессо- ром (а иногда два или три уровня такой памяти), затем идет быстродейст- вующее ОЗУ (оперативное запоминающее устройство, та самая память, которая указывается в характеристиках ПК), а затем более медленные уст- ройства типа хард-дисков или CD- и DVD-ROM. Кроме этого, в любом ком- пьютере обязательно присутствует ПЗУ (постоянное запоминающее устрой- ство), которое хранит базовые программы для взаимодействия с системой. В основном в соответствии с этими задачами и выработана классификация различных устройств памяти. И мы начнем с самого простого — ПЗУ, но сначала рассмотрим принципы организации запоминающих устройств (ЗУ) вообще. Устройство ЗУ Любая память имеет матричную структуру по типу показаной на рис. 24.5. Матрица имеет в данном случае 8x8 = 64 ячейки. Доступ к каждой ячейке может производиться так, как показано на рис. 24.5, но это слишком неудоб- ный и медленный способ, поэтому его применяют при большом числе ячеек, как в светочувствительных матрицах для цифровых фотоаппаратов. Обычно же вывод и загрузку информации в память производят с помощью мульти- плексоров/демультиплексоров (вроде 561КП2, что мы использовали в схеме частотомера, см. рис. 24.10). На рис. 28.1 в первом приближении показано, как это делается. Код, поступающий на мультиплексор слева (Х3-Х5) подклю- чает к строке с номером, соответствующим этому коду, активирующий уро-
Лечение амнезии. О памяти и ее разновидностях 479 вень напряжения (это может быть лог. I или 0, неважно). Код на верхнем мультиплексоре (xq-xi) выбирает столбец, в результате к выходу этого мульти- плексора подключается ячейка, стоящая на пересечении выбранных строки и столбца. Легко заметить, что сама по себе организация матрицы при таком од- нобитовом доступе для внешнего мира не имеет значения. Если она будет вы- глядеть как 4x16 или 32x2 или даже 64x1 — в любом случае код доступа (он называется адресным кодом) будет 6-разрядным, а выход один-единственный. Поэтому всем таким ЗУ приписывается организация Ух1 бит, где N— общее число битов. Для того чтобы получить байтную организацию, надо просто взять 8 таких микросхем и добавить к адресной линии еще три разряда, кото- рыми через отдельный мультиплексор можно управлять выборкой одной из этих микросхем (для этого каждая такая микросхема имеет специальный вы- вод, называемый "выбор кристалла" — chip select, или CS). В данном приме- ре мы получим в сумме 9 адресных разрядов, что соответствует емкости па- мяти (64 • 8 = 512 бит или 29). Большинство выпускаемых интегральных ЗУ имеют 8 или 16 параллельных выходов. Вход- Рис. 28.1. Схематическое устройство ЗУ с однобитным выходом Как же можно обустроить ячейку памяти? Давайте сконструируем простей- шее ПЗУ сами.
480 Глава 28 ROM Всем известное благодаря распространению лазерных дисков сокращение ROM — Read Only Memory — и есть не что иное, как западное название ПЗУ. На самом деле это название ("память только для чтения") не очень точно характеризует суть дела, отечественное "постоянное запоминающее устройство" есть более корректный термин, самое же правильное назы- вать такую память "энергонезависимой". ПЗУ отличается от других типов памяти не тем, что его можно только читать, а записывать нельзя (хотя встречаются и такие разновидности), а тем, что информация в нем не пропадает при выключении питания. Сама по себе невозможность записи теперь нехарактерна даже для компакт-дисков, однако название ROM со- хранилось. Простейший вариант ПЗУ представлен на рис. 28.2. В данном случае он представляет собой не что иное, как преобразователь из десятичного кода в семисегментный (сравните с таблицей рис. 21.2 с учетом того, что здесь входной код должен быть в отрицательной логике, т. е. уровень на вы- бранной входной линии — лог.О). Если на входе поставить дешифратор типа 561ИД1 (инвертировав его выходы), то мы получим аналог микро- схемы 561ИД5. Преобразователь не содержит активных элементов и по- тому возможности таких схем ограничены — например, создать преобра- зователь непосредственно из двоичного кода в семисегментный было бы затруднительно без привлечения транзисторов. Обычная микросхема ПЗУ построена на транзисторных ячейках и поэтому без всяких хитростей (вроде нагрузочных резисторов) принимает и выдает обычные логические уровни. Постойте, а при чем тут ПЗУ? Дело в том, что любое ПЗУ есть не что иное, как универсальный преобразователь кодов. Адресный код можно рассматривать как входной, а код, получающийся при обращении к нужной ячейке — как выходной. Причем удобство состоит в том, что изначально в ПЗУ не записано ничего (одни нули или единицы), и мы можем реали- зовать на нем любую логическую функцию, все зависит только от емко- сти. В том числе, такую простую, как преобразователь кодов. Или такую сложную, как операционная система Windows. Последнее мы каждый раз и делаем, когда устанавливаем Windows на компьютер, причем в качестве ПЗУ выступает жесткий диск. Из этого примера отчетливо видно, что каким бы сложным не был алгоритм, он все равно в конечном итоге сводится к совокупности однозначных логических уравнений, которые можно реа- лизовать как через ПЗУ, так и с помощью устройства памяти любого дру- гого типа.
Лечение амнезии. О памяти и ее разновидностях 481 Для примера мы можем сконструировать дешифратор, который преобразо- вывал бы код Грея, полученный с выхода флюгера, разработанного нами в прошлой главе, в код для отображения направления ветра в буквенной форме на шестнадцатисегментном индикаторе. Для этого надо составить сначала таблицу, в которой будет отражено, что мы имеем на входе и что бы мы хотели получить на выходе. Сам шестнадцатисегментный индикатор и обо- значения его сегментов показаны на рис. 28.3, для отображения направления
482 Гпава 28 нам понадобится их три, в соответствии со следующей таблицей (буквой "х" показаны несветящиеся индикаторы): Код 0000 0001 0011 0010 0110 0111 0101 0100 Направ- ление xNx NNE NEx NEE xEx SEE SEx SSE Код 1100 1101 1111 1110 1010 1011 1001 1000 Направ- ление xSx SSW SWx SWW xWx NWW NWx NNW Рис. 28.3. Шестнадцатисегментный индикатор Таблицы соответствия кодов входа и выхода дешифратора для каждого из трех индикаторов приведены ниже. Лог. 1 соответствует светящемуся сег- менту. Для сегментов здесь приведено состояние только тех, которые задей- ствованы в написании букв N, S, Е и W, остальные (m, п и s) просто остаются неприсоединенными. Таблицы я разбил на три части в соответствии с коли- чеством индикаторов. Сами индикаторы могут быть типа, например, PSC05 фирмы Kingbright. Индикатор 0 (левый) Код Знак a b c d e f g h u p k t r 0000 — 0 0 0 0 0 0 0 0 0 0 0 0 0 0001 N 0 0 1 1 0 0 1 1 0 0 1 0 1 0011 N 0 0 1 1 0 0 1 1 0 0 1 0 1 0010 N 0 0 1 1 0 0 1 1 0 0 1 0 1 0110 — 0 0 0 0 0 0 0 0 0 0 0 0 0
Лечение амнезии. О памяти и ее разновидностях 483 (окончание) Индикатор 0 (левый) 0111 S 1 1 0 1 1 1 0 1 1 1 0 0 0 0101 S 1 1 0 1 1 1 0 1 1 1 0 0 0 0100 S 1 1 0 1 1 1 0 1 1 1 0 0 0 1100 — 0 0 0 0 0 0 0 0 0 0 0 0 0 1101 S 1 1 0 1 1 1 0 1 1 1 0 0 0 1111 S 1 1 0 1 1 1 0 1 1 1 0 0 0 1110 S 1 1 0 1 1 1 0 1 1 1 0 0 0 1010 — 0 0 0 0 0 0 0 0 0 0 0 0 0 1011 N 0 0 1 1 0 0 1 1 0 0 1 0 1 1001 N 0 0 1 1 0 0 1 1 0 0 1 0 1 1000 N 0 0 1 1 0 0 1 1 0 0 1 0 1 Индикатор 1 (посередине) Код Знак а ь с d е f g h u p k t r 0000 N 0 0 1 1 0 0 1 1 0 0 1 0 1 0001 N 0 0 1 1 0 0 1 1 0 0 1 0 1 0011 Е 1 1 0 0 1 1 1 1 1 0 0 0 0 0010 Е 1 1 0 0 1 1 1 1 1 0 0 0 0 0110 Е 1 1 0 0 1 1 1 1 1 0 0 0 0 0111 Е 1 1 0 0 1 1 1 1 1 0 0 0 0 0101 Е 1 1 0 0 1 1 1 1 1 0 0 0 0 0100 S 1 1 0 1 1 1 ' 0 1 1 1 0 0 0 1100 S 1 1 0 1 1 1 0 1 1 1 0 0 0 1101 S 1 1 0 1 1 1 0 1 1 1 0 0 0 1111 W 0 0 1 1 0 0 1 1 0 0 0 1 1 1110 W 0 0 1 1 0 0 1 1 0 0 0 1 1 1010 W 0 0 1 1 0 0 1 1 0 0 0 1 1 1011 W 0 0 1 1 0 0 1 1 0 0 0 1 1 1001 W 0 0 1 1 0 0 1 1 0 0 0 1 1 1000 N 0 0 1 1 0 0 1 1 0 0 1 0 1
484 Глава 28 Индикатор 2 (правый) Код Знак а ь с d е f g h u p k t r 0000 — 0 0 0 0 0 0 0 0 0 0 0 0 0 0001 Е 1 1 0 0 1 1 1 1 1 0 0 0 0 0011 — 0 0 0 0 0 0 0 0 0 0 0 0 0 0010 Е 1 1 0 0 1 1 1 1 1 0 0 0 0 0110 — 0 0 0 0 0 0 0 0 0 0 0 0 0 0111 Е 1 1 0 0 1 1 1 1 1 0 0 0 0 0101 — 0 0 0 0 0 0 0 0 0 0 0 0 0 0100 Е 1 1 0 0 1 1 1 1 1 0 . 0 0 0 1100 — 0 0 0 0 0 0 0 0 0 0 0 0 0 1101 W 0 0 1 1 0 0 1 1 0 0 0 1 1 1111 — 0 0 0 0 0 0 0 0 0 0 0 0 0 1110 W 0 0 1 1 0 0 1 1 0 0 0 1 1 1010 — 0 0 0 0 0 0 0 0 0 0 0 0 0 1011 W 0 0 1 1 0 0 1 1 0 0 0 1 1 1001 — 0 0 0 0 0 0 0 0 0 0 0 0 0 1000 W 0 0 1 1 0 0 1 1 0 0 0 1 1 Осталось разобраться, как это реализовать на практике. Во-первых, заметим, что у нас 13 управляющих линий, так что желательно выбрать микросхему памяти, которая бы выдавала на выходе параллельный код с не меньшим числом разрядов, иначе таблицы придется разбивать на более мелкие части. Большинство микросхем памяти имеют байтовую организацию (например, 64кх8, где к обозначает килобиты, микросхемы памяти вообще обычно мар- кируются в килобитах), но есть и микросхемы, которые выдают параллельный двухбайтовый код, тогда выходных линцй получится 16. Таких микросхем понадобится также три. Объем памяти нам годится самый минимальный. Так как у нас всего 16 управляющих кодов, то объем этот по минимуму ра- вен 16 • 13 = 208 бит, на самом же деле в любом случае он получится не ме- нее чем 256 бит (13 выходных линий не бывает, только— 16). Заманчиво было бы решить дело одной микросхемой, но представляете, сколько у нее должно быть выводов? Таких микросхем, конечно, не делают. Поэтому вы- бор только такой — либо шесть по 8 бит (с соответствующим разбиением таблиц), либо три по 16. В принципе по объему нам достаточно микросхем типа той, что применялась еще в ILLIAC-IV, но в настоящее время микро-
Лечение амнезии. О памяти и ее разновидностях 485 схем с таким маленьким объемом памяти не выпускают, и из имеющихся нам подойдет, скажем, ПЗУ с организацией 64кх16 типа АТ27С1024 фирмы At- mel. Это однократно программируемое КМОП ПЗУ с напряжением питания 5 В (к сожалению, насчет питания выбора особого не предлагают). Следует отметить, что в области микросхем памяти сложилась счастливая ситуация, когда все они, независимо от производителя и даже технологии, совпадают по выводам, разводка которых зависит только от организации матрицы (даже не от объема) и, соответственно, от применяемого корпуса (в данном слу- чае — DIP-40). Для разных типов (RAM, ROM, EEPROM и т. д.) разводка различается в части выводов, управляющих процессом программирования, но можно спокойно заменять одну микросхему на другую (с той же органи- зацией и, соответственно, в таком же корпусе) без переделки платы. Разводка выводов АТ27С1024 и порядок их соединения для нашего случая показаны на рис. 28.4. Разумеется, в нашем случае можно применять только те ЗУ, ко- торые могут работать в статическом режиме. Сама по себе схема нашего дешифратора понятна — мы подсоединяем младшие четыре адресных разряда АО-АЗ к выходу нашего флюгера (у всех трех микро- схем параллельно), а выходные разряды (младшие 13 из 16, от ОО до 012) осу- ществляют управление сегментами (характеристики выходного каскада соответ- ствуют ТТЛ, потому придется подключать дополнительные ключи или буферные микросхемы типа ПУ4 или ЛН2 — в зависимости от типа индикаторов — с об- щим катодом или общим анодом). Рисовать я эту схему ввиду тривиальности не буду, зададимся лучше вопросом: а как же запрограммировать эти микросхемы? Если вы возьмете фирменную техническую документацию, то увидите, что алго- ритм программирования не так уж и прост. Но вам не придется осуществлять его самим — любой универсальный программатор из имеющихся в продаже может программировать подобные микросхемы (любого типа и производителя). Конеч- но, на один раз программатор покупать накладно, но вы можете, предварительно проконсультировавшись, попросить запрограммировать вам их в той фирме, ко- торая продаст вам микросхемы (или в любой другой подобной за небольшую плату). Обычно для этого требуется бинарный файл (т. ,е. файл, состоящий только из чисел в двоичном коде), составленный в соответствии с вашими таблицами. Как его составлять — отдельная история, для разных программаторов эта проце- дура может различаться, поэтому мы оставим этот вопрос, тем более что по ходу нашего дальнейшего повествования в этой книге универсальным программато- ром мы пользоваться почти не будем. Подобным образом, например, в серии 155 были реализованы дешифраторы двоичного кода в двоично-десятичный и обратно (ПР6 и ПР7), которые, как мы помним, представляют непростую задачу для обычной комбинационной логики. Рассмотрим, какие типы ПЗУ бывают вообще.
486 Глава 28 Масочные (PROM — от слова "Programmable" — программируемые) и однократно программируемые (ОТР— "One Time Programmable", АТ27С1024 относится именно к этому типу) ПЗУ как раз и дали название всему классу, потому что в них информация записывается действительно один раз и боль- ше изменяться не может. Отличаются они тем, что масочные программируют прямо в процессе производства с помощью шаблона-маски (ясно, что это де- лается только, когда нужно выпустить пару десятков миллионов одинаковых ПЗУ), а в однократно программируемые информация может быть записана самим пользователем. Наше ПЗУ на диодах может быть отнесено, очевидно, к первому типу. ОТР (иногда еще называемые BPROM, от слова "bipolar") обычно представляют собой устройства с плавкими перемычками. Пред- ставьте себе наше диодное ПЗУ, в котором изначально во всех ячейках стоят диоды, один из выводов каждого из которых сделан из тоненькой проволоч- ки. При программировании на нужную строку подают напряжение логиче- ского нуля, а непосредственно на нужный столбец (минуя резисторы) — спе- циально повышенное напряжение питания. Тонкая перемычка при этом сгорает, и соответствующий диод исключается из матрицы. Ячейки, пропу- щенные в ходе подобной операции, будут определять записанный в ПЗУ код. ППЗУ (перепрограммируемые ПЗУ)— наиболее распространенный в на- стоящее время тип ПЗУ. На Западе они получили название EPROM — Erasable (стираемая) Programmable Read Only Memory. Исторически пер- вым их типом, и еще недавно очень распространенным, было так называемое УФППЗУ, т. е. перепрограммируемое ПЗУ, стираемое ультрафиолетом, и на Западе именно за ним сохранилось аббревиатура EPROM. В таком ПЗУ ин- формация находилась в виде заряда на конденсаторах, которые при обычных условиях могли сохраняться годами. Но стоило осветить такой кристалл ультрафиолетом через специально сделанное для этой цели кварцевое око- шечко, как заряды рассасывались и информация стиралась. Освещать, впро- чем, приходилось довольно долго (несколько минут). Естественно, заряды могли медленно рассасываться и при обычном освещении, поэтому после программирования окошечко рекомендовалось заклеивать. В настоящее время наиболее распространены микросхемы EEPROM (Electricaly Eraseable Programmable Read Only Memory) или, по-нашему — ЭСППЗУ (электрически стираемое ППЗУ). Кроме этих названий, к такому типу ПЗУ прочно приклеилось название Flash memory, которое по-русски даже не переводится, а так и звучит как флэш-память. Существует, как ми- нимум, две разновидности такой памяти (на самом деле их больше, но с точ- ки зрения интерфейса они делятся именно на два класса)— собственно EEPROM (иногда называемая еще NVRAM) и Flash EEPROM. Первая позво- ляет записывать/читать в произвольную ячейку памяти, правда, это происхо- дит довольно медленно, единицы миллисекунд. Вторая стирается и програм-
Лечение амнезии. О памяти и ее разновидностях 487 мируется очень быстро (flash — молния), но только сразу целыми блоками, пер- воначально даже приходилось очищать весь кристалл, а затем его заново про- граммировать. Ясно, что каким бы ни было медленным — в разумных, конечно, пределах— перепрограммирование одного отдельно взятого бита, сложности, подстерегающие разработчика при необходимости записывать содержимое в бу- фер, стирать всю память, менять в буфере необходимый бит и затем записывать все заново, не всегда были оправданны. Дело усугублялось двумя обстоятельст- вами: во-первых, для программирования/стирания требовалось повышенное на- пряжение, во-вторых, число циклов перезаписи обычно было ограничено вели- чиной порядка 1000 из-за деградации полевых транзисторов на кристалле. К счастью, в настоящее время пользователь может почти не заморачивать себе голову этими трудностями, именно поэтому любую память такого рода называют одинаково — флэшью. ПЗУ, с которыми придется иметь дело радиолюбителю (обычно это память программ и пользовательская часть EEPROM в микрокон- троллерах), позволяют программировать произвольную ячейку в один прием при одном напряжении питания 5 В, причем прямо в системе без необходимости из- влечения. А если кто хочет понять, как эти типы различать — то обычно устрой- ства большой емкости (128 кбайт и более) с параллельным (например, побайт- ным) интерфейсом — это именно флэш, а менее емкие чипы (64 кбайт и менее) с последовательным интерфейсом — это чистая EEPROM. Но что там на самом деле происходит — один черт разберет, потому что ввиду востребованности про- дукта, особенно в связи с распространением всякой цифровой фото- видеотехники, новые технологии появляются каждый день. Одной из самых распространенных областей применения ПЗУ (после флэш- карточек для фотоаппаратов или МРЗ-плееров и SIM-карт для мобильных те- лефонов) является изготовление микросхем, содержащих BIOS (basic input/ output system, базовую систему ввода-вывода) компьютеров. В разное время для этого дела использовали все, вероятно, технологии, включая масочное ПЗУ и УФППЗУ. Сейчас остановились на флэши, что позволяет обновлять BIOS прямо в системе. Вы можете задать вопрос — почему же для пользовательских установок (например, даты и времени и установок BIOS) традиционно исполь- зуют энергозависимую память в комплекте с резервной батарейкой? Во- первых, потому что там идут часы реального времени, для которых батарейка нужна в любом случае. Во-вторых, потому что адреса этих установок к BIOS не относятся, а с самого начала хранились в автономной микросхеме (в IBM PC АТ это была микросхема MCI46818, которая совмещала в себе функции часов и небольшого ЗУ). Теперь эти функции интегрированы в чипсет. Отметим, что такие вещи, как, скажем, обычное энергозависимое статиче- ское ЗУ, но со встроенной прямо в чип литиевой батарейкой (такие модели традиционно выпускает фирма Dallas, ныне объединенная с MAXIM), также иногда попадают под название flash memory.
488 Гпава 28 RAM Традиционное название энергозависимых типов памяти, как и в случае ROM, следует признать довольно неудачным. RAM значит Random Access Memory, т. е. "память с произвольным доступом", по-русски это звучит как ЗУПВ — "запоминающее устройство с произвольной выборкой". При чем тут произ- вольная выборка, неясно, когда главным признаком класса является то, что при выключении питания память стирается. EEPROM, к примеру, тоже по- зволяет произвольную выборку и при записи, и при чтении. Но так сложи- лось исторически, и не нам нарушать традиции. Устройства RAM делятся на две больших разновидности — статические и динамические ЗУПВ. Про- стейшее статическое ЗУПВ (SRAM, от слова "static") — это обычный триг- гер. И "защелки" из микросхемы 561ТМЗ, и регистры типа 561ИР2, и даже счетчик с предзагрузкой типа ИЕ11 (см. главу 24) — все это статические ЗУПВ с различными дополнительными функциями или без них. Регистры и доступная пользователю область ОЗУ (оперативного запоминающего устрой- ства) микроконтроллеров — все они также относятся к классу SRAM, и мы с ними познакомимся позже. По счастью, с динамическими разновидностями RAM (DRAM) нам в схемо- техническом плане иметь дело не придется, а если вам все же приспичит, то для этого нужно читать совсем другую литературу. Но кратко остановимся на этом ввиду того, что если не строить, то использовать схемы на основе DRAM приходится ежедневно. Вся основная компьютерная память всегда построена на DRAM, так было сделано еще в самом первом IBM PC и даже до него. По- чему? А потому что динамические ЗУ — самый простой, а потому самый де- шевый, но одновременно и самый емкий и самый "скорострельный" тип памя- ти. Ей-богу, за это стоит пожертвовать некоторыми неудобствами. Сравните — модуль DIMM объемом в 256 Мбайт на момент, когда пишутся эти строки, стоит порядка $50, а такая же по объему флэш-карточка— раза в два дороже при несравнимых скоростях чтения/записи, которые различаются как минимум на два порядка. К слову, самым дешевым устройством ЗУ в расчете на единицу емкости уже давно являются жесткие диски, в которых стоимость 1 Мбайта на данный момент примерно в сто раз ниже, чем у указанных выше типов, но бы- стродействие, естественно, оставляет желать много лучшего. Вернемся к динамическим ЗУПВ. Что же в них такого неудобного? Дело в том, что DRAM хранят информацию подобно УФППЗУ на конденсаторах, но даже при включенном питании быстро ее теряют— менее чем за секунду. Поэтому каждые несколько миллисекунд на такую память приходится пода- вать т. н. регенерирующий импульс, который восстанавливает информацию в ячейках, где имеется заряд. Это неудобно, но что поделаешь! В канониче-
Лечение амнезии. О памяти и ее разновидностях 489 ской структуре IBM PC для этого был предусмотрен специальный счетчик- таймер (точнее, один из трех каналов имевшегося в системе счетчика- таймера i8253), который производил регенерацию памяти каждые 2 мс. Но это не очень хороший способ, т. к. в течение регенерации обращение к памя- ти запрещено, и программе приходится ждать. В настоящее время за регене- рацией следит специальный контроллер памяти, который синхронизирует циклы регенерации и обращения к памяти так, чтобы они не мешали друг другу. Современные модули памяти DRAM делятся также на две разновид- ности: уже устаревшую просто DRAM (модули SIMM) и более продвинутую синхронную SDRAM (модули DIMM). Есть и другие разновидности DRAM, которые, как и типы флэш-памяти, плодятся подобно грибам в дождливое лето. Интересно, что самую первую память на конденсаторах с регенераци- ей применил в своей машине АВС еще Дж. Анатасов, которого принято считать создателем первого электронного компьютера (1941 г.). Сейчас же прогресс технологий достиг такого уровня, что в модули памяти для ПК перестали встраивать специальные средства контроля типа битов четности (см. главу 22) ввиду ненадобности, проще и дешевле осуществлять сквозной контроль на производстве. К тому же проверка на четность в старых моделях материнских плат все равно часто либо вообще отсутствовала, либо была фиктивной, "для видимости". Но для более ответственных применений, типа серверов, применяют микросхемы DIMM, содержащие средства контроля ошибок (метод ЕСС). Отметим, что при использовании современных дорогих быстродействующих модулей памяти успех в равной степени зависит от самой памяти и от приме- няемого чипсета, если это дешевая материнская плата, то разницу между ти- пами памяти можно и не заметить. В то же время сама целесообразность это- го мероприятия — использования супербыстродействующих процессоров, чипсетов и памяти — в подавляющем большинстве случаев весьма сомни- тельна, т. к. современные компьютеры среднего уровня для традиционного применения уже имеют более чем достаточное быстродействие. Если заво- дить речь об имеющихся недостатках, то они кроются, в первую очередь, в интерфейсных устройствах, в линиях передач данных, в непомерном тепло- выделении, а отнюдь не в собственно быстродействии компьютеров. А для тех применений, которые хотелось бы увидеть (действительно живая нату- ральная графика, трехмерные изображения и т. п.) этого самого быстродей- ствия не хватает настолько катастрофически, что путь повышения тактовых частот еще на 5 или даже 10?/о с каждой новой моделью представляется тупи- ковым — нужны совершенно иные принципы. Интересно, как будут воспри- няты эти строки через, скажем, 10 лет?
Глава 29 Как работает микропроцессор. Анатомия микропроцессора Людовик XIV поглотил все мелкие созвез- дия своего двора, затмив их своим ослепи- тельным сиянием. А. Дюма, "Три мушкетера" В предыдущей главе было сказано, что любой алгоритм можно реализовать через память. Но память сама по себе ничего не делает — нужно некое уст- ройство, которое бы занималось именно реализацией этого алгоритма шаг за шагом по времени. В примере с дешифратором-преобразователем десятично- го кода в семисегментный роль такого устройства играет источник входного кода. А в общем случае? Так возникла идея процессора— универсального логического устройства, которое, руководствуясь командами, поступающими из памяти, осуществ- ляло бы нужные действия. Хочется отметить, что в музыкальных автома- тах, механических счетных машинах или, скажем, в ткацких станках Жак- карда (начало XIX века, они явились первым в истории примером станков с ЧПУ) процессора как такового не было — или, если угодно, все устройство можно считать специализированным процессором. Особенностью всех этих устройств было то, что они спроектированы для производства совершенно оп- ределенных действий, в то время как процессор — универсальная вещь. В ана- литической машине Бэббиджа, которая была настоящим компьютером, про- цессор уже был, как и в первых ЭВМ на дискретных элементах, но по- настоящему этот термин стал ключевым, когда выделение единицы под на- званием "процессор" на основе функционального признака совпало с выде- лением по признаку физическому — в виде отдельной микросхемы. Первоначально корпорация Intel не помышляла ни о каких процессорах и зани- малась разработкой и продажами микросхем памяти, на которые тогда как раз начиналось увеличение спроса. В 1969 г. в Intel появились несколько человек из Busicom — молодой японской компании, занимающейся производством калькуляторов. Им требовался набор из 12 интегральных схем в качестве ос- новного элемента нового дешевого настольного калькулятора. Проект был раз-
492 Гпава 29 работай Масатоши Шима, который и представлял японскую сторону. Тед Хофф (Marcian Е. "Ted" Hoff, р. 1937), руководитель отдела, занимавшегося разработ- кой применений для продукции Intel, ознакомившись с проектом, понял, что вместо того, чтобы создать калькулятор с некоторыми возможностями про- граммирования, можно сделать наоборот, компьютер, программируемый для работы в качестве калькулятора. Развивая идею, в течение осени 1969 г. Хофф определился с архитектурой будущего микропроцессора. Весной в отдел Хоф- фа пришел (все из той же уже известной нам Fairchild) новый сотрудник Фреде- рик Фэггин (Federico Faggin), который и придумал название для всей системы: "семейство 4000". Семейство состояло из четырех 16-выводных микросхем: 4001 содержал ROM на 2 Кбайта; 4002 содержал RAM с 4-битным выходным портом для загрузки программ; 4003 представлял собой 10-битный расшири- тель ввода-вывода с последовательным вводом и параллельным выводом для связи с клавиатурой, индикатором и другими внешними устройствами; наконец 4004 был 4-битным ЦПУ (центральным процессорным устройством). Он состо- ял из 2300 транзисторов и работал с тактовой частотой 108 кГц. 15 ноября 1971 г. было объявлено о создании первого микропроцессора. Busicom приоб- рела разработку, заплатив Intel $60 000. Но в Intel решили возвратить Busicom эти деньги, чтобы вернуть себе права на микропроцессор. 14004 обладал вычислительной мощностью, сравнимой с первым электронным компьютером ENIAC. Свое первое практическое применение 4004-й нашел в таких системах, как устройства управления дорожными светофорами и ана- лизаторы крови. Он использован в бортовой аппаратуре межпланетного зонда Pioneer-Ю, который поставил рекорд долгожительства среди подобных аппара- тов: он был запущен NASA в 1972 г., а к 1 сентября 2001 г. Pioneer-Ю удалился от Земли на 11,78 млрд км и все еще работал. Рис. 29.1. Микропроцессор 4004 Для того чтобы понять, как работает микропроцессор, зададим себе во- прос — а как он должен работать? Есть теория (в основном созданная пост- фактум: после того как первые ЭВМ были уже построены и функционировали).
Как работает микропроцессор. Анатомия микропроцессора 493 которая указывает, как именно строить алгоритмы и что процессор в соот- ветствии с этим должен делать. Мы, естественно, углубляться в это не будем, просто констатируем, что любой алгоритм есть последовательность неких действий, записанных в виде набора последовательно выполняемых команд (операторов). При этом среди таких команд могут встречаться команды пе- рехода, которые в некоторых случаях нарушают исходную последователь- ность выполнения операторов строго друг за другом. Среди прочих должны быть также команды ввода и вывода данных (программа должна как-то об- щаться с внешним миром?), а также команды выполнения арифметических и логических операций. Результаты выполнения одних команд должны быть доступны последующим командам. Команды должны где-то храниться, поэтому неотъемлемой частью всей сис- темы должно быть устройство памяти. Где-то надо складывать и данные, как исходные, так и результаты работы программы, поэтому должно быть устрой- ство памяти данных. Так как команды и данные, в конечном счете, все равно есть числа, то память может быть общая, только надо не забывать, где имен- но у нас команды, а где — данные. Это есть один из упомянутых в прошлой главе принципов фон Неймана, хотя и в микроконтроллерах, скажем, тради- ционно используют не фоннеймановскую, а так называемую гарвардскую архитектуру, когда память данных и программ разделены (это разделение, впрочем, может нарушаться в обе стороны). В соответствии со сказанным основной цикл работы процессора должен быть таким: выборка очередной команды (из памяти), если необходимо— выбор- ка исходных данных для нее, выполнение команды, размещение результатов в памяти (опять же если это необходимо). Вся работа в этом цикле должна происходить автоматически по командам некоторого устройства управления, содержащего тактовый генератор — системные часы, по которым все син- хронизируется. Кроме того, где-то это все должно происходить — складиро- вание данных, кода команды, выполнение действий и т. п., так что процессор должен содержать некий набор регистров, определенным образом связанных между собой, а также с устройством управления и АЛУ, которое неизбежно должно присутствовать. Заметим, что команды вместе с исходными данными, вообще говоря, могут быть неодинаковой длины. Так, часто используемая и присутствующая во всех микропроцессорных системах команда запрета внешних прерываний (т. е. реакции на события от внешних устройств), не требует указания каких- либо адресов или других данных для своего выполнения — это просто число (в тех системах, с которыми мы будем иметь дело, — однобайтовое число). Естественно, цикл работы при этом будет максимально упрощенным: выбор- ка команды, ее выполнение и все— можно приступать к выполнению еле-
494 Гпава 29 дующей команды. Другой пример— команда, например, сдвига разрядов некоторого числа (что эквивалентно, как мы знаем из главы 19, умножению или делению на два в зависимости от направления сдвига). Эта команда (сама по себе — такое же число) требует загрузки операнда — адреса регистра, в котором хранится число, подлежащее сдвигу (в некоторых системах данная операция может быть упрощена, если заранее указать, что все подобные опе- рации выполняются в одном и том же регистре). То есть процессор теперь должен загрузить команду, определить, что ей нужен операнд, загрузить этот операнд (адрес регистра, который, как правило, хранится в памяти сразу по- сле собственно кода команды), потом только проделать нужные действия. Еще пример — сложение чисел, при котором нужно уже два операнда, адреса первого и второго слагаемых. Опять же в некоторых системах это может быть упрощено, если слагаемые могут находиться только в определенных регистрах. Но даже и в таких системах есть команда обмена с памятью, кото- рая, как ни крути, требует указания адреса в памяти. В таких случаях возни- кает искушение сделать все команды одинаковой длины (например, по три байта), чтобы не тратить драгоценное процессорное время на определение типа команды и последующую дополнительную загрузку, а считывать сразу три байта, а там уже разбираться, все они нужны или нет. Легко понять, что время-то при этом экономится, а память — не очень. В микроконтроллерах AVR эта задача решена похожим способом — там все команды являются 16- разрядными словами, но сам код команды имеет переменную длину; другую часть этого слова занимают операнды. Правда, особо памятью там не разбра- сываются, и все разряды обычно нужны для дела. Усложнение устройства управления позволило за один такт считывать команду и выполнять ее. Но это не касается обмена с памятью, который в таких случаях должен, как пра- вило, осуществляться отдельно, и занимает больше тактов, чем операции с регистрами. Впрочем, в разных системах устроено по-разному, скажем, в популярном до сих пор процессоре 8051 команда обычно занимает 12 так- тов, в PIC-процессорах — четыре, а в микроконтроллерах Atmel AVR — все- го один. Можно, конечно, просто завести 51-й процессор от тактовой частоты 24 МГц, PIC— от 8 МГц, a AVR— от 2 МГц и считать, что они работают одинаково быстро... Познакомившись теперь с тем, как процессор выполняет команды, мы можем нарисовать блок-схему типичного микропроцессора (МП). Она показана на рис. 29.2. Сразу отметим, что мы включили в состав процессора память программ, которая у ПК-процессоров находится всегда отдельно — сами знаете, программы какого объема бывают в персональных компьютерах. В то же время в большинстве современных микроконтроллеров ПЗУ программ входит в состав чипа и обычно составляет от 1 до 8 кбайт, чего для подав- ляющего большинства применений вполне достаточно, а если вдруг не хва-
Как работает микропроцессор. Анатомия микропроцессора 495 тит— всегда можно подключить внешнюю память. А вот внутреннее ОЗУ в том или ином количестве имеется во всех современных процессорах, у про- цессоров для ПК это называется кэш-памятью (иногда— нескольких уров- ней). Типичный размер ОЗУ у микроконтроллеров — от 256 байт до 1 Кбайта. Рис. 29.2. Блок-схема типичного микропроцессора Главное устройство в МП, которое связывает все узлы в единую систему — внутренняя шина данных. По ней все устройства обмениваются сигналами. Например, если МП требуется обратиться к внешней памяти, то при испол- нении соответствующей команды на шину данных выставляется нужный ад- рес, от устройства управления поступает через нее же запрос на обращение к нужным портам ввода/вывода. Если порты готовы, адрес поступает на вы- ходы портов, затем принимающий порт выставляет на шину данных приня- тые из внешней памяти данные, которые загружаются в нужный регистр, по- сле чего шина данных свободна. Для того чтобы все устройства не мешали
496 Гпава 29 друг другу, все это строго синхронизировано, при этом каждое устройство имеет, во-первых, собственный адрес, во-вторых, может находиться в трех состояниях— работать на ввод, на вывод или находиться в третьем состоя- нии, не мешая другим работать. Другой вариант организации общей шины, не требующий третьего состояния — так называемое "монтажное ИЛИ", ко- гда активным является только низкий уровень (см. главу 20, рис. 20.3). Микроконтроллер (МК) отличается от микропроцессора вообще тем, что он предназначен для управления другими устройствами, и поэтому имеет встро- енную развитую систему ввода-вывода, но относительно более слабое АЛУ. Большинство микроконтроллеров — 8-разрядные, т. е. они оперируют дан- ными в один байт, хотя есть и 16-разрядные типы. Если же необходимо уве- личить разрядность, как при операциях умножения и деления, то приходится писать специальные подпрограммы с участием нескольких регистров. Раз- рядность регистров как раз и определяет разрядность МП, которая у ПК- процессоров, как известно, может достигать 32 и даже 64 разрядов. Интерес- ная штука получилась с процессором i8086, который послужил, как известно, прототипом всех современных МП для Wintel-компьютеров. Разработчики IBM PC в 1981 г. остановились сначала на восьмиразрядном 18088. К тому времени Intel уже год как выпускала и 16-разрядную модификацию под на- званием 8086, но то ли это показалось излишеством, то ли распространенные тогда повсеместно восьмиразрядные системы просто были роднее. Так что на самом деле прототипом-то является он, а на 8086 выпускались только неко- торые IBM-совместимые клоны. Однако это большой роли не играет, потому что разницы между 8086 и 8088 практически никакой нет— 16-разрядной у 8086 является только внутренняя шина данных, а по внешним выводам и системе команд они полностью совместимы. А вот данные, с которыми мани- пулировали операционные системы DOS и Windows 3.x, были 16-разрядными, и этому требованию отвечал 286 процессор. Число 65 536, естественно, мало- вато для практики, но первым 32-разрядным процессором стал только 386-й (любопытно, что при этом сами ОС оставались 16-разрядными довольно долго). С тех пор на этой величине ПК фактически и застряли (232 = 4 294 967 296, и большее целое число требуется очень нечасто). 64-разрядные процессоры (например, Intel Itanium) пока еще используются исключительно в серверах, но с удешевлением МП и чипсетов, несомненно, в конце концов, окажутся у нас на столе. Только не совсем ясно — а надо ли? Если вернуться к микро- контроллерам, то в них 8-разрядные системы занимают, пожалуй, большую долю рынка. Число разрядов не имеет отношения к числу адресных линий, которое, в принципе, должно быть чем больше, тем лучше — оно определяет количе- ство внешней памяти, которое может адресовать процессор. Обычная ширина
Как работает микропроцессор. Анатомия микропроцессора 497 адресной линии для 8-разрядных МК— 16 разрядов, т. е. количество непо- средственно адресуемой внешней памяти (адресное пространство) может максимально составлять 64 Кбайт. Впрочем, большинство МК позволяют при нужде обойти это ограничение. А как вообще начинается работа МП при включении питания? Очень просто — большинство МП обращаются к ячейке номер 0 в памяти программ (последняя обычно организована так, что внут- ренняя и внешняя память имеют общее адресное пространство, в котором младшие адреса занимает внутренняя память, а по ее истечении начинается память внешняя, так что нулевая ячейка физически имеется всегда). Что именно бывает записано в этой ячейке — мы увидим далее, а сейчас укажем только на одно, но важное исключение. У микропроцессора 8088 и 8086 ад- ресное пространство составляло 1 Мбайт (20 адресных линий), и разработчи- ки заставили его после инициализации обращаться по адресу, расположен- ному за 16 байт до конца этого пространства: а именно по адресу FFFFOh, который был зарезервирован под BIOS. Зачем это было сделано — понятно, а именно затем, чтобы не отъедать BIOSom драгоценную основную память. На то, что в ПК будут устанавливать весь мегабайт полностью, они и не рас- считывали, поэтому, например, под видеоадаптер также отводились адреса ближе к концу адресного пространства. В МК все проще — обычно внутрен- няя и внешняя память программ имеют одно и то же адресное пространство, так что первые адреса внешней памяти "пропадают". Точно так же там об- стоит дело с памятью данных (в ПК, напомним, они объединены) — регист- ры, порты ввода-вывода, внутренняя и внешняя SRAM имеют общую адреса- цию. А вот внутренняя EEPROM, если она имеется, имеет отдельное адресное пространство, и доступ к ней осуществляется через порты. Несколько слов о счетчике команд. Он автоматически устанавливается на ноль в начале работы, что соответствует начальному адресу памяти, и авто- матически же инкременируется (т. е. увеличивается на единицу) с каждой выполненной командой. (В некоторых системах он инкременируется не на единицу, а на число байт, содержащихся в команде, но для нас это не суще- ственно). Если по ходу дела порядок команд нарушается, например, встреча- ется команда перехода (ветвления), то в счетчик загружается соответствую- щий номер команды (или, соответственно, байта) от начала программы. К счастью, нам самим фактически не придется иметь дело со счетчиком команд, потому что все указания на этот счет содержатся в самой команде и процессор все делает автоматически. Если подробности внутреннего функционирования МП нас волнуют не очень (достаточно иметь общее представление о структуре, чтобы понимать, что именно происходит при выполнении команд), то обмен с внешней средой нас как раз интересует во всех деталях. Для этого служат порты ввода/вывода,
498 Гпава 29 которые на схеме рис. 29.2 показаны в количестве трех — А, В и С. В разных МП их может быть и больше, и меньше, еще важнее число выводов этих пор- тов, которое чаще всего совпадает с разрядностью процессора (но не всегда, как это было у 8086). Если мы заставим эти порты общаться с внешней памя- тью, то на двух из них можно выставить 16-разрядный адрес, а на оставшем- ся — принимать данные. А как быть, если портов два или вообще один? (К примеру, в микроконтроллере AVR 2313 портов формально два, но один усеченный, так что общее число линий составляет 15.) Для этого все порты в МП всегда двунаправленные. Скажем, если портов два, то можно сначала выставить адрес, а затем переключить их на вход и принимать данные. Есте- ственно, для этого порты должны позволять работу на общую шину — т. е. либо иметь третье состояние, либо выход с общим коллектором для объеди- нения в Монтажное ИЛИ. Варианты для обоих случаев организации выход- ной линии порта показаны на рис. 29.3, где приведены упрощенные схемы выходных линий микроконтроллеров (МК) семейства 8048 — широко ис- пользовавшегося ранее (например, он был выбран в качестве контроллера клавиатуры в IBM PC) предшественника суперпопулярного МК 8051. В са- мом 8051 построение портов несколько сложнее (в частности, вместо рези- стора там полевой транзистор), но для уяснения принципов работы это несу- щественно. Рис. 29.3. Упрощенные схемы портов ввода/вывода МК 8048: а — портов 1 и 2; б — порта 0 По первому варианту (рис. 29.3, а) в МК 8048 построены порты 1, 2 (всего там три порта). Когда в порт производится запись, то логический уровень поступает с прямого выхода защелки на статическом D-триггере на вход схемы И, а с инверсного— на затвор транзистора VT2. Если этот уровень равен лог. 0, то транзистор VT1 заперт, a VT2 открыт, на выходе также лог. 0. Если уровень равен лог. 1, то на время действия импульса "Запись" транзи-
Как работает микропроцессор. Анатомия микропроцессора 499 стор VT1 открывается, а транзистор VT2 запирается (они одинаковой поляр- ности). На самом деле VT1 должен находиться в "непонятном" состоянии, т. к. при запертом VT2 неподключенный выход фактически "висит в возду- хе". Если на выходе присутствует емкость (а она всегда имеется в виде рас- пределенной емкости проводников и емкости входов других компонентов), то через VT1 протекает достаточно большой ток заряда этой емкости, позво- ляющий сформировать хороший фронт перехода из 0 в 1. Как только им- пульс "Запись" заканчивается, оба транзистора отключаются, и лог. 1 на вы- ходе поддерживается резистором R1. Выходное сопротивление открытого транзистора VT1 примерно 5 кОм, а резистора — 50 кОм. Любое другое устрой- ство, подключенное к этой шине, при работе на выход может лишь либо под- держать лог. 1, включив свой подобный резистор параллельно R1, либо занять линию своим логическим нулем — это, как видите, и есть схема Монтажное ИЛИ. При работе на вход состояние линии просто считывается со входного буфера (элемент "В" на рис. 29.3, а). Второй же вариант, по которому устроен порт 0, (рис. 29.3, б) есть обычный выходной каскад КМОП с третьим состоянием, т. е. такой порт может рабо- тать на выход, только полностью занимая линию, остальные подключенные к линии устройства при этом должны смиренно внимать монополисту, вос- принимая сигналы. Это обычно не создает особых трудностей и схемотехни- чески даже предпочтительно (ввиду симметрии выходных сигналов и высо- кого сопротивления для входных). Единственная сложность возникает при сопряжении такого порта с линией, работающей по первому варианту, т. к. при лог. 1 на выходе могут возникнуть электрические конфликты, если кто- то попытается выдать в линию лог. 0. Для обеспечения работы трехстабиль- ного порта по схеме "монтажное ИЛИ" (в том числе для их параллельной ра- боты) применяют хитрый прием: всю линию "подтягивают" к напряжению питания с помощью внешнего резистора (во многих МК существует встроен- ный отключаемый резистор, установленный аналогично R1 в схеме рис. 29.3, а), и нормальное состояние всех участвующих трехстабильных портов — работа на вход в третьем состоянии, тогда на линии всегда будет лог. 1. На выход же линию переключают только, когда надо выдать лог. 0, в этом случае, даже при одновременной активности нескольких портов, кон- фликтов не возникнет. Многих устройств, имеющихся в большинстве современных микропроцессо- ров, мы не показали. Для ПК-процессоров важным узлом является аппаратный блок производства операций с плавающей точкой — т. е. с действительными числами, который иногда оказывает решающее влияние на быстродействие всей системы. У микроконтроллеров подобные весьма сложные узлы обычно отсутствуют (кроме специализированных типов), зато имеются встроенные
500 Гпава 29 таймеры, последовательные порты, встроенный контроллер прерываний, АЦП и другие полезные дополнения, отчего МК еще часто называют микро- ЭВМ или "computer-on-chip". Чип МК является полнофункциональной сис- темой, в принципе не требующей для своей работы других компонентов, кроме некоторых навесных деталей типа кварцевого резонатора. Для ПК- процессоров это совсем не так. они "заточены" под выполнение арифметико- логических операций, а весь обмен с внешней средой, включая память, воз- ложен на окружение, называемое чипсетом. Потому чипсет и платы расши- рения часто играют решающую роль в функциональности конкретного ПК, зато такая система является более гибкой и быстродействующей. Самый главный вопрос — как же программировать микропроцессор? К сча- стью, эта процедура в настоящее время значительно облегчена, и мы позна- комимся с ней в главе 31. Но сначала рассмотрим более подробно устройство одного из самых распространенных типов микроконтроллеров — Atmel AVR.
Глава 30 Знакомство с микроконтроллером. Микроконтроллер Atmel AVR 8515 Кроме утреннего приема у короля и у карди- нала, в Париже происходило больше двухсот таких "утренних приемов", пользовавшихся особым вниманием. А. Дюма, "Три мушкетера " Программирование и схемотехника, как и, к примеру, вождение автомобиля, относятся к искусствам, которые могут быть постигнуты только на практике. Подобно тому как вождению можно учиться на любом автомобиле, так и постигать премудрости обращения с микропроцессорами можно на приме- ре любого процессора. При этом еще лет десять назад я бы обязательно вы- брал в качестве учебной платформы процессор х86, т. к. программирование на ассемблере для ПК не замутнено различными практическими сложностя- ми, которые можно научиться преодолевать позднее, уже умея писать сами программы. Однако с тех пор обстоятельства изменились: во-первых, ас- семблер для платформы Wintel почти полностью потерял свою практическую актуальность, и конкретные знания, которые вы можете приобрести, останут- ся невостребованными, а учиться, как я неоднократно повторял в этой книге, следует по возможности на практически значимых примерах. Во-вторых, процесс программирования контроллеров теперь, благодаря наличию флэш- памяти программ и удобному интерфейсу для программирования, значитель- но облегчен. Теперь вам не нужно для малейшего исправления программы вынимать микросхему из панельки, долго стирать ее под кварцевой лампой, перепрограммировать, вставлять обратно, рискуя повредить тонкие ножки DIP-корпуса или перепутать полярность питания. Так что будем учиться на живом примере, ъ качестве которого выберем Atmel AVR— модель 8515, которая занимает среднее положение в продуктовой линейке фирмы Atmel. AT9OS8515— так полностью называется данный контроллер, чем вводит пользователей в некоторое заблуждение, ибо букву "S" хочется прочесть как
502 Гпава 30 обозначающую ТТЛ-логику на диодах Шоттки, в то время как на самом деле контроллеры AVR сделаны по КМОП-технологии. Что, впрочем, имеет небольшое практическое значение, если вы внимательно читаете характе- ристики и руководствуетесь именно ими. Но и "общие соображения" тоже не помешают — так, можно предположить, что выходные порты имеют симметричный выход, будут спокойно переносить к. з., ограничивая ток, а при работе на вход сопротивление будет высоким. Все это действительно так, ключевые электрические характеристики контроллеров вы можете уз- нать из приложения 4. Все контроллеры семейства AVR имеют одинаковое ядро, к которому добавляются те или иные "навороты", так, контрол- лер 2313 имеет меньше портов (всего 2, причем один "недоделанный" — но и корпус у этой модели всего с 20-выводами), а также на один таймер меньше некоторых других моделей. Модель 8535 есть почти тот же самый 8515, к которому добавлено восьмиканальное 10-разрядное АЦП (разводка выводов, в том числе питания, несмотря на идентичный 40-выводной кор- пус, у него другая). Наиболее "навороченным" является Atmegal28, но в радиолюбительской практике я бы не рекомендовал им пользоваться без крайней нужды, т. к. выпускается он только в 64-выводном планарном кор- пусе с шагом 1,27 мм между выводами, и развести под него плату вручную практически невозможно. Вся линейка, естественно, непрерывно обновляется (хотя, к счастью, не так часто, как это случается в мире ПК-процессоров). AT90S8515, наряду с неко- торыми другими AVR-контроллерами, рассматриваемыми в этой книге, от- носится к семейству "AVR Classic", которое постепенно выходит из употреб- ления, и заменяется на семейства "AVR Mega" и "AVR Tiny". Отличаются новые контроллеры в основном возможностью эксплуатации при повышен- ной частоте и/или сниженном напряжении питания, а также некоторыми до- полнительными командами (например, в "mega" — аппаратного умножения). Однако новые микроконтроллеры с соответствующими названиями (Напри- мер, ATmega8515) совместимы со старыми по выводам и обратно совмести- мы по программному коду— т. е. все наработанное для "классики" можно применять для новых контроллеров без изменения. Если в мире ПК долго соблюдавшаяся совместимость программного обеспечения "сверху вниз" (ко- гда ранее разработанные программы "идут" и на модернизированном обору- довании более позднего выпуска) была, в общем, удобной прихотью произ- водителей, то в мире микроконтроллеров это, как и электрическая совместимость, есть обязательный закон. Так, и сейчас программы, разрабо- танные для контроллера i8051 в начале 80-х годов XX века, без переделок можно запускать на современной модели AT89S51 производства той же Atmel или Philips.
Знакомство с микроконтроллером. Микроконтроллер AtmelAVR 8515 503 8 о г* (ч m v 3 £ § § I 3 s tn tn 2 tn о Il a i $ I I3 tn Рис- 30-1. Структура AT90S8515
504 Гпава 30 На рис. 30.1 показана внутренняя структура МК 8515. Нумерация выводов приведена для корпуса D1P-40, кроме этого, процессор выпускается в 44- выводных корпусах PLCC и TQFP (рис. 12.6). Даже короткого взгляда на ри- сунок достаточно, чтобы понять, что для подробного рассмотрения структу- ры этого МК здесь просто не хватит места. Поэтому мы не будем переписы- вать фирменное описание (с некоторыми подробностями мы познакомимся по ходу дальнейшего изложения), а рассмотрим только некоторые ключевые узлы этой структуры и особенности их функционирования. Начнем с портов. В этой модели их четыре, и если подсчитать выводы (8 • 4 = 32), прибавить к ним обязательные выводы питания (контакты 20 и 40), тактового генератора (контакты 18 и 19) и вывод Reset (контакт 9), также присутствующий во всех моделях МК без исключения, то получится, что на все остальное остается три вывода. Это, конечно, недостаточно, поэтому поч- ти все выводы портов, кроме своей основной функции (двунаправленного ввода/вывода), несут также и дополнительную. А как они (функции) разби- раются между собой? А никак. Никакого специального переключения выво- дов портов не требуется, просто, если вы, к примеру, в своей программе ини- циализируете последовательный порт UART, то соответствующие выводы порта D (PD0 и PD1, выводы 10 и И микросхемы) будут работать именно в альтернативной функции как ввод и вывод UART. При этом считается, что вы — разумный человек и иных устройств, кроме драйвера RS232, туда под- ключать не будете (хотя особо ничего страшного и не случится, если под- ключите, просто система не будет работать как надо). Аналогично со всеми остальными альтернативными функциями — они начинают работать, когда инициализированы соответствующие устройства МК в программе. По умолчанию все дополнительные устройства отключены, а порты работа- ют на вход, причем находятся в состоянии с высоким импедансом (т. е. высо- ким входным сопротивлением). Работа на выход требует специального ука- зания, для чего в программе нужно установить соответствующий нужному выводу бит в регистре направления данных (обозначается DDRx, где х — буква, обозначающая конкретный порт). Если бит сброшен (т. е. равен лог. 0), то вывод работает на вход (это и есть установка по умолчанию), если установлен (т. е. равен лог. 1) — то на выход. Причем для установки выхода в состояние 1 нужно установить соответствующий бит в регистре данных порта (обозначается PORTx), а для установки в 0 — сбросить этот бит, т. е. регистр данных фактически есть просто выходной буфер, все, что в него за- писывается, тут же оказывается на выходе. Но если установить вывод порта на вход (т. е. записать в регистр направления лог. 0), как это сделано по умолчанию, то регистр данных будет играть несколько иную роль — уста- новка его в 0 (она такая опять же по умолчанию) означает, что вход находится
Знакомство с микроконтроллером. Микроконтроллер AtmelAVR 8515 505 в третьем состоянии с высоким сопротивлением, а установка в 1 подключит к выводу "подтягивающий" pull-up-резистор сопротивлением около 35 кОм (подобно рис. 29.3, я; вернитесь в главе 29 к описанию работы подобного вы- ходного каскада на "общую шину" — и вы поймете, зачем он нужен). Сразу здесь и отметим, что встроенный pull-up-резистор можно употреблять при работе на "общую шину" в пределах одной платы, но в большинстве слу- чаев, когда требуется такой резистор (например, если вы подключаете ко входу кнопку с двумя выводами, которая коммутируется на "землю", или при работе на "общую шину" с удаленными устройствами), лучше устанавливать дополнительный внешний резистор параллельно этому внутреннему, с со- противлением от 1 до 5 кОм. Для "общей шины" достаточно одного такого резистора на всю шину, естественно. В ответственных устройствах, во-первых, такой резистор следует устанавливать на выводе 9 (Reset), во-вторых, если выводы 6, 7 и 8, которые используются для программирования, подключены к программирующему разъему (особенно, если они используются в вашем устройстве в качестве входных, см. главу ЗГ), то их также следует "подтяги- вать" к напряжению питания таким резистором. Этих рекомендаций вы не найдете в технической документации, но жизнь показала необходимость их выполнения из-за того, что сопротивление "родного" резистора слишком ве- лико для того, чтобы электромагнитные помехи ("наводки") на нем эффек- тивно "садились", и у вас могут происходить ложные срабатывания, переза- пуски системы, а при очень мощных помехах— даже порча программы в памяти программ из-за наводок на выводы программирования и Reset. Это, конечно, не касается ситуации, когда вход порта подсоединен к низкоомному выходу другой микросхемы или, скажем, транзисторного ключа, т. к. у них на выходе всегда имеется какой-то сигнал, и резистор тогда не требуется вообще, лучше всего ставить вывод микросхемы в третье состояние. Не забы- вайте только об этих резисторах в ситуации, когда используете один из ре- жимов экономии питания — все выводы тогда следует установить в состоя- ние, при котором через эти резисторы не протекает тока. Добавим еще, что, как вы, очевидно, уже поняли из изложенного, выводы портов в достаточной степени автономны, и их режим может устанавливать- ся независимо друг от друга. Кстати, а как прочесть состояние порта, если он находится в состоянии работы на вход? Возникает искушение прочесть дан- ные из регистра данных PORTx, но это ничего не даст— вы прочтете только то, что там записано вами же. А для чтения того, что действительно имеется на входе (непосредственно на выводе микросхемы) предусмотрена другая возможность. Чтение происходит из буферного элемента, который в первом приближении соответствует элементу В на схемах по рис. 29.3, т. е. для чте- ния нужно обратиться к некоторому массиву, который обозначается PINx.
506 Гпава 30 Обращение осуществляется так же, как и к регистрам (см. главу 31), но PINx не есть регистр, это просто некий диапазон адресов, чтение по которым пре- доставляет доступ к информации из буферных элементов на входе порта. За- писывать что-то по адресам PINx, естественно, нельзя. Теперь об экономии питания. AVR предлагает три вида такой экономии, ко- торые мы подробно описывать не будем, чтобы не дублировать инструкцию. Но хочу отметить, что при использовании любого из Sleep-режимов нужно быть очень аккуратным и предусмотрительным, иначе вся затея обессмыс- лится. В нормальном режиме (без учета потребления по выходам портов) МК 8515 потребляет до 10 мА (при 5 В питания и частоте тактового генера- тора 4—8 МГц). В режиме Sleep он будет потреблять от 1 до 50 мкА (в зави- симости от типа режима: Power Down или Power Save; есть и третий режим Idle, при котором экономится только около трети питания) — но только он сам, т. е. его внутренности! Если у вас при этом к выходу, скажем, порта А подключены семь транзисторных ключей для управления цифровым индика- тором с базовыми резисторами, к примеру, 5 кОм, то они все вместе в со- стоянии лог. 1 на выходах будут потреблять примерно столько же, сколько МК в нормальном режиме, и от режима микросхемы это не зависит никак. Поэтому в программе команде Sleep, которая вводит МК в режим экономии, должна предшествовать процедура, в которой все внешние соединения уста- навливаются в соответствующее состояние. Кое-что нужно сделать и по внутренностям (например, отключить аналоговый компаратор, если он был включен). Поскольку обычно такой режим используется в случае отключения основного (сетевого) питания и перехода на питание резервное (от батареек), то для полного успеха этого мероприятия нужно очень тщательно проекти- ровать всю остальную схему, внимательно просматривая ее на предмет того, что будет происходить в ней при таком отключении. Так, следует отключать (например, переводить в третье состояние) выходы, которые окажутся под- ключенными к обесточенным КМОП-микросхемам (об этом мы уже писали в главе 12). Теперь о других функциях МК. Рассмотрим еще три, ввиду их наибольшей практической важности и некоторых особенностей практического примене- ния. Сначала о прерываниях (interrupts). Как и в ПК, прерывания в микроконтроллерах бывают двух видов. Но если в ПК прерывания делятся на аппаратные (например, от таймера) и программ- ные (фактически не прерывания, а процедуры, т. е. подпрограммы, записан- ные в BIOS), то в МК, естественно, все прерывания — аппаратные, а делятся они на внутренние и внешние. Внутренние прерывания могут (если их специ- ально включить, конечно) возникать от любого устройства, которое является дополнительным по отношению к ядру системы — от таймеров, от аналоге-
Знакомство с микроконтроллером. Микроконтроллер AtmelAVR 8515 507 вого компаратора, от последовательного порта и т. д. Внутреннее прерыва- ние— это событие, которое возникает в системе и прерывает выполнение основной программы. Система внутренних прерываний в AVR довольно раз- ветвленная и представляет собой основную систему взаимодействия уст- ройств с ядром системы, и мы еще к этому вопросу будем неоднократно воз- вращаться. Кстати, а что вообще происходит в МК, когда возникает то или иное преры- вание? Очень просто: процессор обращается по адресу, который зарезерви- рован у данного типа МК именно для данного прерывания. По этому адресу должен быть записан оператор перехода на процедуру, которую вы хотите выполнить при возникновении прерывания, которая носит название обработ- чика прерывания. Этот вопрос мы более подробно рассмотрим в следующей главе. Внешних же прерываний у МК типа 8515 два, INTO и INT1 (а вот в mega 128 — целых восемь), естественно, они могут возникать независимо друг от друга. Внешнее прерывание — событие, которое возникает при появлении сигнала на одном из входов, специально предназначенных для этого (контакт 12 или 13). Различаются три вида событий, вызывающих прерывание, и их можно уста- навливать в программе: это может быть низкий уровень напряжения, а также положительный или отрицательный фронт на соответствующем выводе. Кратко рассмотрим особенности использования этих режимов. Учтите, что для инициализации прерываний надо в программе сделать два действия: раз- решить соответствующее прерывание и установить для него режим. И, ко- нечно, написать подпрограмму-обработчик, иначе все это будет происходить вхолостую. Прерывание по низкому уровню (режим установлен по умолчанию, для его инициализации достаточно разрешить соответствующее прерывание) возни- кает всякий раз, когда на соответствующем входе присутствует низкий уро- вень. "Всякий раз" — это действительно всякий, т. е. если отрицательный импульс длится какое-то время, то прерывание, закончившись (т. е. когда выполнится соответствующая процедура), повторится снова и снова, не давая основной программе работать. В отличие от этого, прерывания по фронту или спаду выполняются один раз на импульс. (Любопытно, что прерывания по всем этим событиям выполняются, даже если соответствующий вывод порта сконфигурирован на выход, хотя зачем это может понадобиться, я представляю с трудом.) Конечно, от дребезга контактов там никакой защи- ты нет и быть не может, потому что МК не способен отличить дребезг от се- рии коротких импульсов. В связи с этим, если это критично, нужно либо принимать внешние меры по защите от дребезга, либо проделать следующее: внутри процедуры обработчика прерывания первой же командой запретить
508 Гпава 30 само прерывание (процедура при этом, раз уж началась, выполнится до кон- ца), а через некоторое время в другой процедуре (по таймеру, например, или по иному событию) опять его разрешить (способ "антидребезга", фактически идентичный применению одновибратора, см. главу 23). А когда же это кри- тично — выполнение процедуры прерывания несколько раз? Например, если мы по нажатию кнопки хотим что-то считать, тогда из-за дребезга счет про- изойдет произвольное число раз. А если по нажатию кнопки просто что-то устанавливается в фиксированное состояние, то ничего страшного не случит- ся, если оно установится несколько раз подряд, просто окончание этого про- цесса совпадет с отпусканием кнопки. В МК 8515 два таймера-счетчика, один 8-разрядный (Timer 0), второй — 16-разрядный (Timer 1). Оба счетчика представляют собой счетчики с пред- загрузкой и могут работать от тактовой частоты процессора непосредственно или поделенной на 8, 64, 256 или 1024, представляя собой таймеры. Могут они работать и как счетчики, т. е. от внешних импульсов с выводов ТО (выв. 1) для Timer 0 и Т1 (выв. 2) для Timer 1 (по спаду или по фронту), час- тота которых не должна превышать частоты тактового генератора МК. При наступлении переполнения счетчика возникает событие, которое может вы- зывать соответствующее прерывание. Счетчик Timer 0 фактически этим и ограничивается. 16-разрядный счетчик Timer 1 — более продвинутая штука и может вызывать прерывания по совпадению с определенным заранее за- данным числом (точнее, даже два отдельных прерывания с двумя разными числами А и В), при этом счетчик может обнуляться или продолжать счет, и на специальных выводах OSC1A (выв. 15) или OSC1B (выв. 29) могут возни- кать импульсы (автоматически, без участия программы). Также возможно прерывание по внешнему событию на специальном выводе ICP (31), при этом содержимое счетчика помещается в некий регистр ICR1, а счетчик может обнуляться и начинать счет заново или просто продолжать счет. Источником таких событий может быть встроенный аналоговый компаратор — удобная "фича" для того, чтобы построить на основе МК частотомер. В общем, все во имя человека, все во благо человека. В AVR 8535 и mega есть третий таймер, который может выполнять еще более интересные вещи (например, работать автономно от остальной системы, когда весь процессор находится в режиме экономии, что позволяет этот таймер использовать в качестве часов реально- го времени, RTC). С помощью всех этих примочек можно осуществлять са- мые заковыристые временные алгоритмы. Но и это не все. Эти таймеры мо- гут работать в т. н. PWM-режиме, специально сделанном для того, чтобы использовать их в качестве широтно-импульсных модуляторов (ШИМ). Некоторые из этих функций мы разберем при рассмотрении конкретных кон- струкций в дальнейшем.
Знакомство с микроконтроллером. Микроконтроллер AtmelAVR 8515 509 Кроме таймеров-счетчиков в любом AVR-контроллере есть сторожевой (Wathcdog) таймер. Он предназначен для вывода МК из состояния Power Down через определенный интервал времени или просто периодического пе- резапуска МК и для других целей обычно не используется. Наконец, поговорим еще об одной важнейшей функции — UART (Universal Asynchronous Receiver-Transmitter, универсальный асинхронный приемопе- редатчик). Он имеет еще другое название — последовательный (serial) порт или последовательный интерфейс. Его подробное описание можно встретить во всех технических пособиях по IBM-совместимым компьютерам, где он известен как RS-232 (RS означает "recommended standard"), serial port, или COM-порт. На самом деле все это немного разные вещи, и ввиду важности вопроса нам придется рассмотреть его подробнее. Идея передачи по этому порту заключается в передаче целого байта по одно- му проводу в виде последовательных импульсов, каждый из которых может быть 0 или 1. Если в определенные моменты считывать состояние линии, то можно восстановить то, что было послано. Однако эта простая идея натыкается на определенные трудности. Первоначально для приемника и передатчика, свя- занных между собой двумя проводами ("земля" и сигнальный провод), задают- ся скорости передачи и приема, которые должны быть одинаковы для обоих концов линии. Эти скорости стандартизированы и выбираются из ряда 1200, 2400, 4800, 9600, 14 400, 19 200, 28 800, 38 400, 57 600, 115 200 (более мед- ленные скорости я опустил, а более быстрые не стандартизированы и для RS-232 обычно не употребляются), это число обозначает количество пере- даваемых/принимаемых бит в секунду (бод). Проблема состоит в том, что приемник и передатчик — это физически совершенно разные системы, и скорости эти для них не могут быть строго одинаковыми в принципе (из- за разброса параметров тактовых генераторов), и даже если их каким-то фантастическим образом синхронизировать в начале, то они в любом слу- чае быстро "разъедутся". Поэтому такая передача всегда сопровождается начальным (стартовым) битом, который служит для синхронизации. После него идут восемь (или девять, если используется проверка на четность) ин- формационных битов, а затем стоповые биты, которых может быть один, два и более, но это уже не имеет принципиального значения — почему, мы сейчас увидим. Общая диаграмма передачи таких последовательностей показана на рис. 30.2. Хитрость заключается в том, что состояния линии передачи, называемые стартовый и столовый бит, имеют разные уровни. В данном случае старто- вый бит передается высоким уровнем, а столовый— низким, потому фронт стартового бита всегда однозначно распознается. В этот-то момент и проис-
510 Гпава 30 ходит синхронизация. Приемник отсчитывает время от фронта стартового бита, равное % периода заданной частоты обмена (чтобы попасть примерно в середину следующего бита), и затем восемь (или девять, если это задано заранее) раз подряд с заданным периодом регистрирует состояние линии. После этого линия переходит в состояние стопового бита (в данном слу- чае нулевое) и может в нем пребывать сколь угодно долго, пока не придет следующий стартовый бит. Задание минимального количества стоповых би- тов, однако, производится тоже — для того, чтобы приемник знал, сколько времени минимально ему нужно ожидать следующего стартового бита (как минимум, это может быть один период частоты обмена, т. е. один столовый бит). Если по истечении этого времени стартовый бит не придет, приемник может регистрировать так называемый timeout, т. е. перерыв, и заняться своими делами. Обычная схема, по которой мы будем работать, обозначается 8N1, что читается так: 8 информационных бит, no parity, 1 столовый бит. "No parity" означает, что проверка на четность не производится. Это самая рас- пространенная схема работы такого порта, причем т. к. никакими тайм- аутами мы себе голову забивать не будем, то нам все равно, сколько стопо- вых битов будет, но во избежание излишних сложностей следует их устанав- ливать всегда одинаково — у передатчика и у приемника. На диаграмме рис. 30.2 показана передача некоего кода, а также, для наглядности, передача байта, состоящего из всех единиц и из всех нулей в режиме, опять же для на- глядности, 8N2. Причем, как вы можете заметить, передача осуществляется в отрицательной логике, т. е. лог. 1 соответствует низкий уровень напряжения. Рис. 30.2. Диаграмма передачи данных по последовательному интерфейсу RS232 в формате 8N2
Знакомство с микроконтроллером. Микроконтроллер Atmel AVR 8515 511 Для работы в обе стороны нужно две линии, которые у каждого приемопере- датчика обозначаются RxD (приемная) и TxD (передающая). В каждый мо- мент времени может работать только одна из линий, т. е. приемопередатчик либо передает, либо принимает данные, но не одновременно (это сделано по- тому, что у UART-микросхем обычно один регистр и на прием, и на переда- чу). Для нормальной работы выводы эти, естественно, нужно соединять на- крест — TxD одного устройства с RxD второго и наоборот. Кабели RS-232, которые устроены именно таким образом, называются еще нуль-модемными (в отличие от простых удлинительных). Из описанного алгоритма работы по- нятно, что погрешность несовпадения скоростей обмена может быть такой, чтобы фронты не "разъезжались" за время передачи/приема всех десяти- двенадцати бит более чем на полпериода, т. е. в принципе фактическая раз- ница скоростей может достигать 4—5%, но на практике их стараются все же сделать как можно ближе к стандартным величинам. Однако во всем этом деле есть еще один крупный нюанс. На диаграмме рис. 30.2 мы показали работу линии при передаче данных, а для UART-порта уровни, во-первых, нормальные (т. е. лог. 1 соответствует высокий уровень), во-вторых, они находятся в пределах напряжения питания схемы (обычно 5 В, но может быть и 3,3 В или другая величина) — короче, это обычные однопо- лярные логические уровни КМОП или ТТЛ. А передача в стандарте RS-232 подразумевает, что логическая единица в нем передается уровнем напряже- ния, номинально равным -12 В, а логический ноль уровнем +12 В, в отрица- тельной логике, как на диаграмме. (Кстати, в компьютерах питание -12 В существует исключительно для этой цели.) Стандарт оговаривает, что любой из этих уровней может меняться (независимо друг от друга) по абсолютной величине от 3 до 15 В. Именно такие уровни воспринимает, например, СОМ- порт компьютера. Это сделано для надежности передачи — фактически для регистрации стартового бита тогда достаточно компаратора, который бы за- фиксировал переход через ноль. Если скорость передачи не выбирать слиш- ком высокой (фактический стандарт для МК — 9 600 бод, что составляет примерно 1000 байт в секунду, хотя этой величины придерживаться совер- шенно не обязательно), то на практике такая линия может надежно работать на десятки метров (автору этих строк удавалось без дополнительных ухищ- рений наладить обмен с компьютером на скорости 4800 по кабелю, правда, довольно толстому, длиной около полукилометра). Приемник RS-232 часто дополнительно снабжают схемой, которая фиксирует уровень не единожды за период действия бита, а трижды, при этом за окончательный результат принимается уровень двух одинаковых из трех полученных состояний линии, таким образом, удается избежать случайных помех. В контроллерах AVR та- кая же процедура происходит уже прямо на входе порта UART.
512 Гпава 30 Рис. 30.3. Вариант самодельного преобразователя уровней RS232 — UART при соединении контроллера с компьютером Встает вопрос о том, как преобразовать уровни UART в уровни RS-2321. За- метим, что RS-232, кроме всего прочего, устанавливает стандарты на разъе- мы для обмена— во-первых, это всем известный 9-контактный разъем типа DB-9, который стоит в большинстве компьютеров. (Это если они вообще имеют COM-порты, потому что во многих современных системах решили "комами" пожертвовать, т. к. USB, без сомнения, куда более продвинутый последовательный интерфейс, вот только МК пока с ним почти не умеют общаться). Есть и 25-контактный разъем DB-25 (он был принят изначально, но потом от него постарались избавиться ввиду ненадобности такого количе- ства контактов). На обоих этих разъемах имеются, кроме указанных трех ли- ний RxD, TxD и "общего", дополнительные линии, позволяющие организо- вать синхронный обмен "по запросу". На практике этой возможностью пользовались редко, однако наличие таких линий оказалось очень кстати — скажем, все мыши, которые еще не так давно подключались исключительно через СОМ, питались именно от этих линий. Можно наладить отрицательное питание передающей схемы от этих линий (если у вас в системе такого пита- ния нет и если, конечно, у вас соответствующий кабель). Есть и более уни- 1 Есть еще стандарты R.S-485 (более помехоустойчивый) и R.S-422 (более быстрый), которые позволяют использовать UART в качестве приемопередатчика, но мы здесь не будем ими за- ниматься.
Знакомство с микроконтроллером. Микроконтроллер AtmelAVR 8515 513 версальная, хотя и еще менее "официальная" возможность — запасать отри- цательное напряжение, поступающее с линии связи TxD, находящейся боль- шую часть времени в состоянии лог. 1 (т. е. с уровнем стопового бита, рав- ным 12 В) на конденсаторе, а затем его использовать для передачи, оставив положительный уровень равным +5 В. Поскольку UART и RS232 оперируют с логикой противоположной полярности, то и для приема и передачи при этом удобно использовать простые транзисторные ключи, которые инверти- руют сигнал (ах, как разработчики стандарта были предусмотрительны!). Та- кая схема преобразователя уровня показана на рис. 30.3. И это все прекрасно работает, поэтому используется довольно часто, но "официальный" путь все же состоит с том, чтобы применять специальные микросхемы приемопере- датчиков RS232 (правильнее их было бы называть преобразователями уров- ня, это, например, МАХ202 и подобные), которые содержат внутри преобра- зователь-инвертор напряжения, подобный тому, что показан на рис. 26.4, б. Микроконтроллер 8515, как следует из первой цифры названия, имеет память программ 8 Кбайт (это достаточно много, как мы увидим из главы 31). Дос- тупное пользователю ОЗУ (SRAM) для хранения данных составляет 512 байт, но самое главное, что в AVR-контроллерах аж 32 регистра общего назначения (больше, чем в каком-либо другом процессоре или контроллере), что позволяет во многих случаях не использовать ОЗУ вообще и резко уско- ряет выполнение программы (работа с регистрами занимает один такт, а об- ращение к памяти — минимум два). Обращение с EEPROM пользователя (512 байт) — отдельная "песня". В принципе это полезная штука, с помощью которой, например, можно сохранять константы, загруженные или вычис- ленные в процессе работы, чтобы при включении питания система не требо- вала каждый раз инициализации. Но все дело в том, что при выключении пи- тания оно обычно не снижается до нуля скачком, и в какой-то момент контроллер начинает выполнять непредсказуемые операции. Если в про- грамме имеется процедура записи в EEPROM, то с высокой степенью веро- ятности информация в ней может быть испорчена. Кардинальным методом разрешения проблемы является просто не писать в EEPROM из программы (тогда информация, конечно, не испортится), а заполнять ее заранее, при программировании, но это не имеет большого смысла, потому что в этом случае нужные константы можно просто зафиксировать в самой программе2. А если все же писать из программы в EEPROM требуется — приходится осуществлять внешний мониторинг питания и при его снижении ниже допус- 2 Исключение из этого правила — например, когда вы хотите пронумеровать ваши серийные приборы с присвоением каждому уникального номера. Тогда удобно записывать этот номер в EEPROM отдельно при программировании каждого прибора, не меняя саму программу.
514 Глава 30 тимых пределов как-то останавливать процессор. Для этого есть специальные микросхемы-мониторы — например, у МС34064 в трехвыводном корпусе ТО-92 при снижении питания ниже 4,6 В на выходе с открытым коллектором появляется напряжение лог. 0. Остановить процессор по такому сигналу можно разными способами — например, "загнать" его в режим Power Down, но я предпочитаю самый простой способ, когда выход такого монитора пита- ния подсоединяется к выводу Reset. При нулевом уровне на Reset процессор приходит в исходное состояние и выполнять какие-то команды не может. Естественно, такой монитор можно сделать и самому с использованием ста- билитрона и транзистора или, например, использовать встроенный в процес- сор аналоговый компаратор. На этом мы закончим краткое знакомство с микроконтроллером и перейдем к вопросу о том, как его программировать.
Глава 31 Персональный компьютер вместо паяльника. О программировании МК — Чтобы найти дорогу в Лондон, надо уметь говорить по-английски. По-моему, дело это очень трудное. А. Дюма, «Три мушкетера» Внедрение любой новой технологии требует начальных затрат. Не составляет исключения и микропроцессорная технология. В данном случае прямые за- траты будут состоять в том, что вам, во-первых, придется приобрести про- грамматор, во-вторых, компьютер — если по какой-то непостижимой слу- чайности вы до сих пор его не имеете. Имейте в виду, что затраты эти могут быть сведены к минимуму— программатор лучше приобрести специализи- рованный, а он стоит на порядок меньше универсального, а компьютер для наших целей сгодится любой, лишь бы он был из семейства PC, т. е. умел бы работать с DOS или Windows. Сойдут даже IBM PC XT или ЕС-1840, если вдруг вы такую древность раскопаете, а уж 386-486-е подойдут просто иде- ально. Более того, многие современные модели, особенно ноутбуки, как раз не подойдут— прежде всего, из-за отсутствия в них COM-портов. СОМ- порты нужны обязательно, в количестве не менее 2-х штук (при одном вам придется все время переключаться между программатором и схемой). Если COM-портов нет, а также если вы человек бережливый и предусмотритель- ный, то лучше купить специальную карту с дополнительными портами, кото- рая вставляется в свободный PCI-слот. Нагло пользуясь тем, что производи- тели материнских плат от COM-портов повсеместно отказываются, продавцы таких плат задрали цену за них до небес (шутка ли — плата с четырьмя пор- тами FireWare стоит в три раза дешевле, чем с двумя СОМ, притом что пер- вая по себестоимости существенно дороже). Но даже с учетом этого обстоя- тельства лучше поступить именно так — при наличии такой платы вы застрахованы от того, чтобы случайно вывести из строя COM-порты на мате- ринской плате. В моей практике был один-единственный случай, когда мне
516 Глава 31 случилось вывести COM-порт из строя, и надо же так случиться, что компь- ютер при этом оказался ноутбуком, где ни дополнительную плату не вста- вишь, ни материнскую плату не заменишь. Но моей вины в том не было — прибор, который я подключал, был до этого неоднократно проверен, так что это чистая случайность (возможно, виновато пресловутое отсутствие нор- мального заземления). Железо Раз уж мы начали с необходимого "железа", то закончим эту тему, а потом перейдем к собственно программированию. Программатор, о котором идет речь, называется ISP-программатором (in system programming). Лучше всего покупать, естественно, фирменный, от Atmel, но его может и не быть прямо в продаже, так что придется заказывать и ждать, пока привезут. Фирменный программатор удобен тем, что он работает с фирменным же софтом непо- средственно из-под Windows (впрочем, обязательно прилагаются и DOS- программы — недаром было отмечено, что сгодится даже XT). Однако в продаже есть и "самопальные" отечественные разработки. У некоторых из них софт работает в DOS-режиме, так что для них требуется Windows 95/98/МЕ. Под другими ОС, начиная с 2000-й, эти программаторы эксплуа- тировать не получится. Конечно, продается и множество универсальных про- грамматоров, среди которых есть весьма продвинутые, но мы будем ориен- тироваться на специализированный ISP под контроллеры AVR. Для того чтобы работать с ISP-программатором, естественно, его надо куда- то подключать. Для этого на плате специально устанавливают разъем. Все известные мне программаторы используют один и тот же тип разъема — PLD (PL double, т. е. двухрядный), который хорошо знаком всем, кто когда-нибудь подсоединял жесткий диск с IDE-интерфейсом к материнской плате. Естест- венно, для ISP-программаторов требуется гораздо меньше контактов, чем для жесткого диска. Минимальное их количество равно 6. и они должны быть соединены со следующими контактами МК (в скобках указана разводка для 8515): MOST (6), MISO (7), SLK (8) и Reset (9). Оставшиеся два вывода под- соединяются к питанию +5 В и "земле" (ISP-программаторы питаются от схемы). Некоторые программаторы имеют больше контактов1. Имейте в виду, 1 Фирменная разводка для ISP-программаторов Atmel предполагает два стандарта— мини- мальный 6-выводной, который мы будем использовать в этой книге, а также 10-выводной в котором для лучшей помехоустойчивости добавлены 3 дополнительных "земли", разделяю- щих сигнальные проводники, и один еще вывод под названием "LED", который чаще всего не используется.
Персональный компьютер вместо паяльника. О программировании МК 517 что нумерация контактов PLD-разъемов отличается от обычной и делается не в обход, как у микросхем, а так: если глядеть на "папу" сверху, то вывод номер 1, как и положено, находится слева внизу, вывод 2 — над ним, вывод 3 — следующий за первым в нижнем ряду и так далее, т. е. нижний ряд — это все нечетные, а верхний — все четные контакты (это сделано потому, что разъе- мы PL могут иметь не строго фиксированное количество контактов, а при любом их количестве имеющиеся контакты будут нумероваться одинаково). Если не поняли, то посмотрите на разводку разъема IDE на материнской плате. Разводку выводов программирующего разъема указывать бессмысленно, т. к. она зависит от типа программатора, но мы в своих схемах будем ориентировать- ся на фирменный ISP-программатор от Atmel (см. сноску 1) с 6-контактным разъемом в надежде, что они разводку в ближайшее время не сменят. А как быть, если все же сменят, или вы перешли на другой тип? В этом случае лег- ко сделать переходник, потому что сами используемые контакты остаются те же, меняется только их порядок. Наверняка читатели зададут вопрос — а как быть, если указанные выше вы- воды в схеме используются как просто выводы порта В и они к чему-то при- соединены? Отвечаю: в большинстве случаев это неважно. Единственный вариант, который приведет к конфликту между программатором и схемой, это если выводы MOSI, MISO и SLK подсоединены к активным выходам других микросхем (или, например, к коллектору открытого транзистора) или к конденсатору большой емкости. Поэтому в схеме эти контакты лучше ис- пользовать в качестве выходных линий, а если хватает других портов — вообще эти контакты не использовать. Кстати, сама по себе конфигурация в рабочем состоянии (на вход или на выход) никакого значения не имеет, т. к. цикл программирования начинается с того, что "зажимается" (т. е. ком- мутируется на "землю") контакт Reset, от чего процессор приходит в началь- ное состояние, в котором все контакты сконфигурированы на вход. Естест- венно, при работе схемы программатор лучше отключать. А если вы работаете с универсальным программатором, то в большинстве случаев они используют параллельное программирование, и МК приходится вставлять в специальную колодку на корпусе программатора, а в схеме, есте- ственно, они тогда устанавливаются на панельку, а ISP-разъем вообще не требуется. Преимущество универсальных программаторов в том, что можно легко переходить с одного семейства процессоров на другое, причем незави- симо от типа корпуса, а также программировать любые микросхемы памяти. Но в процессе отладки сложной программы пользоваться универсальным программатором неудобно — МК все время приходится вынимать и встав- лять, что сильно замедляет процесс, к тому же есть риск повредить выводы.
518 Глава 31 Поэтому универсальный программатор следует рекомендовать в тех случаях, когда программа уже более-менее отлажена, например, при тиражировании 2 конструкции . Софт Если мы имеем какой-то программатор с софтом, то, в сущности, нам нужна еще только одна специальная программа— ассемблер (assembler значит "сборщик"). Ее можно бесплатно скачать с сайта Atmel. DOS-версия AVR- ассемблера запускается из командной строки. В качестве параметров там указывается имя файла с исходным текстом программы и имена выходных файлов. Чтобы каждый раз не вводить длинную командную строку, пишется соответствующий bat-файл. Рассказывать об этом я подробно не буду, т. к. опыт показывает бесполезность подобных быстро устаревающих сведений — при всей консервативности разработчиков электронной техники, им также приходится идти в ногу с прогрессом, хотя они всячески этому сопротивля- ются. Из полученных в результате ассемблирования файлов нас будет инте- ресовать только hex-файл (все остальные можно удалять). Это текстовый файл (а не бинарный, как обычные исполняемые компьютерные файлы), но содержащий только числа в байтовом представлении, в шестнадцатеричной записи. Он имеет строго определенную структуру, разработанную в свое время фирмой Intel, и его можно править вручную, но для начинающего эти сведения необязательны, в случае чего, их несложно раздобыть в Интернете или, например, в журнале "Радио". Для нас же важно то, что полученный hex- файл — это и есть та программа в процессорных кодах, которую мы загружа- ем в МК с помощью программатора. При этом программатор автоматически располагает ее в памяти программ МК, начиная с нулевого адреса. С помо- щью программатора можно также записать информацию и в пользователь- скую флэш-память (EEPROM) МК. То есть вы при загрузке программы в МК проводите следующие операции: ассемблируете исходный текст, затем полу- ченный hex-файл загружаете в МК. Если это происходит в режиме ISP, то процессор сразу же должен заработать. Вернемся к тексту программ. Atmel предлагает свой редактор, но можно ис- пользовать любой, который умеет создавать чистые текстовые файлы. Коди- 2 Естественно, что какой бы программатор вы не использовали, в случае тиражирования изде- лий с отработанной программой программирующий разъем устанавливать не имеет смысла — он будет только занимать место на плате и снижать общую помехоустойчивость (см. главу 30). Поэтому в этом случае не лишним будет изготовить маленькую плату с панелькой, ISP- разъемом и кварцевым резонатором, и использовать ее вместо универсального программатора, если у вас его нет.
Персональный компьютер вместо паяльника. О программировании МК 519 ровка тоже не имеет значения, т. к. по-русски в программе будут только ком- ментарии. Microsoft Word, между прочим, не подойдет, т. к. чистого текста по неясной причине он создавать не умеет — в конец файла могут включать- ся лишние символы. Это, пожалуй, единственное известное мне исключение, но, несмотря на широкий выбор, можно найти, по крайней мере, три причи- ны, по которым лучше все же использовать специализированные редакторы. Эти причины хотя и второстепенные (текст— он и есть текст), но их учет может сильно облегчить жизнь. Первая причина — это т. н. highlighting (бук- вально— "выделение"), проще говоря, это то, что называют "подсветкой синтаксиса". Те, кто пользовался любыми средами высокоуровневого про- граммирования (от Turbo Pascal до Delphi или Visual Basic), хорошо знают, что это такое. Служебные слова, комментарии, разные типы выражений мо- гут выделяться каждый своим цветом, что сильно облегчает чтение текста и служит неплохим средством проверки правильности написания. Но если эту опцию предлагают множество фирменных и не очень редакторов, то вот вто- рая желательная функция есть лишь у считанных единиц. Я имею в виду возможность прямо из редактора с помощью "горячих" клавиш запускать процесс ассемблирования (почему это встречается так редко, мне совершен- но непонятно, ибо обеспечить такую возможность проще простого — и уж куда проще, чем возиться с "подсветкой"). В этом случае вы можете "не от- ходя от кассы", т. е. не покидая редактор, одним нажатием клавиши сразу же ассемблировать написанный текст и ознакомиться с сообщениями об ошиб- ках. Это экономит много времени и даже важнее "подсветки". Еще одна при- чина для использования специализированных редакторов — они автоматиче- ски нумеруют строки. Причем пустые строки также входят в нумерацию — так проще считать. Фирменный редактор от Atmel это делает превосходно, но, к сожалению, у него есть другие неудобства, отчего я в свое время даже подумывал написать свой собственный редактор, пока не наткнулся на один из "самопальных" вариантов под названием Asmedit, который сделан на удивление профессионально, хотя и не без некоторых досадных огрехов. Все это относится к программированию на языке ассемблера, но программы для AVR-контроллеров можно писать и на С. Для тех, кто владеет этим язы- ком, это может показаться более удобным способом, но для начинающих я бы его не стал рекомендовать — не столь важно то, что в результате на ас- семблере получается более быстрый и компактный код, сколько то, что лю- бой посредник (а компилятор С есть именно посредник) в этом деле только мешает. Не так уж и сложно освоить несколько приемов написания, напри- мер, циклов или условных переходов, которые на С уже сделаны за вас, зато вы живете своим умом и не полагаетесь на чужого дядю. Красиво написанная программа— это примерно то же, что красивый самолет, конструкторы авиационной техники утверждают, что они лучше летают. Ну, а красивая
520 Глава 31 программа лучше работает, это проверено. На С можно тоже написать краси- вую программу, но это будет именно программа на С, а не для контроллера AVR. Есть огромная разница между программированием для ПК и для мик- роконтроллера— для современных ПК писать нормальные программы на ассемблере (по крайней мере, целиком на ассемблере) неудобно и глупо, по- тому что вы все равно используете чужие (микрософтовские) библиотеки, и сама идея полностью вырождается. Исполняемые файлы современных про- грамм для ПК занимают сотни и тысячи килобайт и еще используют объем библиотек гораздо большей величины. В то же время программа для МК редко превышает несколько килобайт (занимаемых в памяти контроллера, а не в исходном тексте, конечно) — причем это уже должна быть довольно большая и "навороченная" программа, типичный размер же составляет от нескольких сотен байт до 2-х килобайт (точный размер сообщается при ас- семблировании, по hex-файлу судить нельзя). И написать такую программу на ассемблере не только несложно, но и вполне целесообразно. Мне рассказы- вал один разработчик, что им пришлось написать для некоей системы контроля нефтяных скважин целую операционную систему — так вот, эта сйстема впол- не влезла в 16 Кбайт собственной памяти программ микроконтроллера от фирмы Phillips. Но не исключаю, что насчет предпочтения ассемблеру мно- гие со мной не согласятся, и потому оставляю читателю самому сделать окончательный вывод, а для того, чтобы он был осознанным, я и рекомендую начинать изучение именно с ассемблера. Пожалуй, это и все, что нужно знать до того, как вы приступите к собственно программированию, конкретные вещи вы доберете из руководств к програм- маторам и софту, которые нужно изучить обязательно. Программирование Написание программ — целое искусство, поэтому здесь можно на конкрет- ных примерах попытаться дать только общее представление о том, как это делается, заостряя внимание на специфических особенностях программиро- вания для МК, а не программирования вообще. Полного обзора команд вы также здесь не увидите, это лучше делать, читая инструкцию, а переписывать ее нет никакого смысла. Прежде всего, нужно твердо уяснить, что программирование процессора и составление логических схем есть в полном смысле слова один и тот же про- цесс, только выраженный на разных языках — либо в виде последовательно- сти команд процессора, либо в виде схемы. Грубо говоря, при переходе на МК вы заменяете паяльник персональным компьютером. Причем програм- мировать еще и проще, потому что гораздо легче поправить ошибку. Между
Персональный компьютер вместо паяльника. О программировании МК 521 программированием и аппаратными средствами есть некоторая взаимозаме- няемость. Скажем, если контроллер не имеет порта UART, то его несложно сымитировать с помощью специальной подпрограммы, если не имеет тайме- ров — их тоже можно воспроизвести, тактовый-то генератор всегда имеется. Так мы будем в дальнейшем имитировать интерфейс 12С, который у AVR се- мейства "classic" отсутствует. С другой стороны, именно таким образом, с помощью подпрограмм, процессор 8086 выполнял операции с действитель- ными числами, но выполнение программы всегда медленнее, чем работа "железок", поэтому к нему сначала добавили арифметический сопроцессор (8087), а потом (начиная с 486-х) и вовсе интегрировали блок обработки чи- сел "с плавающей точкой" внутрь процессора. В результате программы упро- стились, а процессор усложнился, но с точки зрения пользователя ничего (кроме ускорения работы) не произошло. Давайте напишем самую простую программу, которая будет включать свето- диод сразу при включении питания и больше ничего не делать. Светодиод мы подключим к выводу, например PD4 (т. е. к контакту 14, здесь и далее в скобках будут даваться номера для 8515), и управляться он будет от лог. 1 (т. е. при лог. 1 он горит, при лог. 0 — погашен). В принципе программа должна состоять из двух команд: первая конфигурирует этот вывод порта на выход, записывая в регистр направления лог. 1 (по умолчанию все выводы, как вы помните, сконфигурированы на вход), вторая — записывает в регистр данных значение лог. 1. Однако не все так просто. Дело в том, что в регистры портов записывать непосредственное значение нельзя, можно только инфор- мацию из какого-нибудь рабочего регистра. Поэтому добавится третья ко- манда — сначала мы установим в 1 нужный бит в выбранном рабочем реги- стре, затем загрузим весь полученный байт в регистр порта. Причем установить непосредственное значение можно также не в любом из рабочих регистров, а только в номерах с 16 по 32. Выберем себе регистр rl 6 в качест- ве рабочего. Тогда последовательность команд будет выглядеть так: Idi г16,ОЬОООЮООО /устанавливаем бит номер 4 в регистре г16 out DDRD,rl6 /выводим это значение в регистр направления порта D out PortD,rl6 /выводим это же значение в регистр данных порта D Здесь Idi — команда загрузки непосредственного значения (load immediate), out— команда вывода в какой-либо порт ввода/вывода (не путать с внешними портами ввода/вывода А, В, С и D: I/O ports — так называются все регистры, ко- торые не входят в ядро, кроме рабочих и некоторых вспомогательных). А что озна- чает запись ОЬОООЮООО? Это хорошо знакомое нам двоичное представление числа, 0Ь впереди означает, что это именно двоичная запись (см. главу 19). Так в данном случае удобнее отсчитывать биты, но если мы запишем 0x10 (или $10 — в hex-форме) или просто 16 (т. е. в десятичном виде), ничего не изменится.
522 Глава 31 Обратите внимание на синтаксис — сначала пишется, куда писать, а потом через запятую откуда или что. Это справедливо для всех команд и для всех ассемблеров. То, что после точки с запятой, ассемблером игнорируется, и представляет собой комментарии, которые нужно писать обязательно, ина- че вы через пару месяцев и сами в программе не разберетесь. Если коммента- рий переходит на другую строку, то точку с запятой нужно ставить заново — в начале строки. Каждая команда пишется в отдельной строке. В отличие от знака перевода строки, все пробелы и табуляции игнорируются (а там, где есть другой разделительный знак, в данном случае запятая, как видите, про- белов вообще может не быть), так что украшать текст отступами можно, а для удобства чтения и нужно. Строчные и прописные буквы не различают- ся: запись LDI, Ldi и ldi есть одно и то же. Ну и все? Можно компилировать? Ишь разбежались — нет, не все. Во-первых, никаких таких DDRD и PortD AVR-ассемблер не понимает. Если соответст- вия мнемонических обозначений команд (ldi) и их кодов, а также рабочих регистров (rl 6) и их адресов "зашиты" в ассемблере, то названия и само на- личие регистров портов ввода/вывода могут меняться от модели к модели, и поэтому ассемблер понимает только конкретные числа, представляющие собой адреса этих регистров. Но писать без мнемонических обозначений бы- ло бы неудобно, т. к. портов много, запомнить их все невозможно, и про- грамма оказалась бы совершенно нечитаемой (первая команда out, к приме- ру, тогда выглядела бы так: out $11, rl 6). Поэтому к нашей программе надо "пристегнуть" файл с мнемоническими обозначениями, который поставляет- ся Atmel, и в данном случае называется "8515def.inc" (при компиляции он должен находиться в одной директории с файлом программы). Это делается почти в точности, как в языке С, строкой: .include "8535def.inc" /точка впереди обязательна Этот файл состоит из строк, начинающихся с директивы . equ (точка также обязательна), и мы могли бы не включать его (хотя в память процессора он все равно не записывается), а в данном случае просто дописать к программе в начале текста строки: .equ DDRD = $11 .equ PortD = $12 Другая полезная директива — дефиниция, т. е. определение переменной. Не- удобно каждый раз писать г1б и помнить, что это у нас рабочая переменная для всяких текущих надобностей, а лучше дописать еще такую строку: .def temp = г16 /рабочая переменная, от слова temporary - временный Тогда окончательно исходный текст программы будет выглядеть так: /программа зажигания светодиода /процессор 8515, частота 4 Мгц
Персональный компьютер вместо паяльника. О программировании МК 523 .include "8535def.inc" .def temp = rl6 ;рабочая переменная ldi temp,ОЬОООЮООО /устанавливаем бит номер 4 в рабочем регистре out DDRD,temp /выводим это значение в регистр направления порта D out PortD,temp /выводим это же значение в регистр данных порта D sleep . exit Программа займет в памяти программ контроллера ровно 8 байт. Последняя команда sleep означает выход в режим экономии— ведь должен процессор что-то делать по окончании программы? Директива .exit предназначена для ассемблера и означает конец программы, указывать ее необязательно. А за- чем мы указали тактовую частоту процессора? В данном случае это также не обязательно, но при использовании любых процедур, связанных со временем, это критично, и в дальнейшем можно просто забыть, на какую частоту мы рассчитывали, поэтому следует ее на всякий случай указывать в комментариях. Кстати, команду ldi можно было бы заменить на sbr ("set bits in register") в том же самом виде. Мало того, в данном случае можно было бы избежать применения лишней команды с участием temp и установить нужный бит в регистрах DDRD и PortD командой sbi ("set bit in I/O register" — число в порты I/O записывать непосредственно нельзя, а вот биты устанавливать — вполне), но она, во-первых, действует не на все регистры ввода/вывода, а во- вторых, с ее помощью можно менять только по одному биту за раз (указыва- ется номер бита, а не загружаемое число, т. е. команды sbi и sbr, несмотря на внешнее сходство, работают по-разному), поэтому использование temp оказывается более универсальным приемом. При использовании команд sbi и sbr не портятся остальные биты, но если, к примеру, нужно вывести все единицы во всех выводах порта D, то лучше просто загрузить в temp число $ff и делать, как указано выше. Мутно? Мутно, но не огорчайтесь, дальше будет еще мутнее. Одно облегче- ние, впрочем, есть: запоминать все особенности типа, в какой регистр можно писать непосредственное число, в какой — нельзя, первое время необяза- тельно. Если вы допустили где-то синтаксическую ошибку, при компиляции вам на нее укажут, с указанием номера строки и типа ошибки. Разбираясь с ними, вы быстро все выучите. Давайте теперь заставим наш процессор управлять этим светодиодом так, чтобы он мигал с частотой примерно I раз в секунду. Для этого придется воспользоваться таймером, а значит— прерываниями. А значит— текст программы придется оформить несколько по-иному. Если помните, я гово- рил, что при возникновении прерывания процессор обращается по некоторому
524 Глава 31 фиксированному адресу. Для каждой модели МК количество и типы преры- ваний несколько различаются, поэтому они зафиксированы именно для дан- ного типа процессоров. На самом деле это первые адреса памяти программ, начиная с адреса 0:0 и дальше, столько адресов, сколько имеется прерыва- ний. В МК 8515 имеется 12 прерываний, соответственно, они занимают пер- вые 12 адресов памяти программ. Следует указать на одну тонкость в нуме- рации этих адресов — т. к. коды команд все двухбайтовые, то память программ организована по 16-битовым словам, а не по байтам, поэтому адре- са в памяти программ означают адреса слов, а байтовый адрес будет в два раза больше (не 0, 1, 2 ..., а 0, 2, 4...). Это вас ни в коей мере не должно вол- новать, потому что при обращении по абсолютным адресам памяти программ используется команда 1pm ("load program memory") — она организована так умно, что делает преобразование адресов автоматически (можно обращаться как к словам, так и к байтам), просто иногда в техдокументации указывают байтовый адрес, а иногда — адрес по ячейкам памяти, и тут можно запутать- ся. Мы здесь этими адресами морочить голову себе не будем, а просто ука- жем, как оформлять первые 12 строк программы (напоминаю, что для других моделей AVR количество и расположение адресов прерываний будет дру- гим). С учетом сказанного, ваша программа всегда должна начинаться с та- кой последовательности команд (их еще называют векторами прерываний): rjmp RESET ; обработчик прерывания по Reset rjmp EXT_INT0 ; обработчик внешнего прерывания 0 rjmp EXT_INT1 ; обработчик внешнего прерывания 1 rjmp Т1М1_САРТ ; обработчик прерывания захвата внешнего события ;Timer 1 rjmp TIM1_COMPA ; обработчик прерывания сравнения A Timer 1 rjmp TIMl—COMPB ; обработчик прерывания сравнения В Timer 1 rjmp TIMl—OVF ; обработчик прерывания переполнения Timer 1 rjmp TIMO_OVF ; обработчик прерывания переполнения Timer 0 rjmp SPI_STC; ; обработчик прерывания интерфейса SPI rjmp UART__RXC ; UART прием закончен rjmp UART_DRE ; регистр данных UDR в UART пуст rjmp UART__TXC ; UART передача закончена rjmp ANA_COMP ; прерывание аналогового компаратора Здесь rjmp— команда безусловного перехода, a reset, ext_into и т. п. — метки в тексте программы, откуда начинается текст процедуры (подпрограм- мы) обработки прерывания. Метки могут выглядеть и по-иному, тут полный произвол. Подобным образом должна выглядеть программа, если вы исполь- зуете все 12 прерываний, чего на самом деле, конечно, не бывает. Но каждой записи rjmp <метка> должно соответствовать наличие метки далее в тексте,
Персональный компьютер вместо паяльника. О программировании МК 525 иначе вам укажут на ошибку (посылать по неизвестному адресу нехорошо). Поэтому если некоторые прерывания не используются, то, вообще говоря, можно вместо г jmp'oe наставить в соответствующих строках команд пор (по operation — ее код равен просто нулям во всех разрядах), но на практике вме- сто них ставят команду reti, которая означает возврат из процедуры преры- вания к выполнению основной программы. Какие команды в этих строках ставить — в общем случае не имеет значения, т. к. они выполняться никогда не будут, если соответствующие прерывания не активированы, нам только нужно занять память, чтобы нужный г jmp используемого прерывания оказал- ся по нужному адресу. Особое место занимает вектор, расположенный по самому первому, нулево- му адресу. Вообще говоря, Reset — это даже не прерывание (хотя его и мож- но вызвать программным путем), мы ведь неоднократно говорили, что МК начинает выполнение программы с нулевого адреса. В коротенькой про- грамме выше процессор больше ничего не делал, поэтому мы просто распо- ложили нашу программу, начиная с нулевого адреса. А в более сложных про- граммах так делать нельзя, потому что процессор начнет выполнять команды по порядку и выйдет неизвестно что. Поэтому в самой первой строке про- граммы обязательно должен стоять указатель на процедуру, которая осуще- ствляется в самом начале работы и обычно так и называется — Reset. Эта процедура должна начинаться со следующих обязательных строк RESET: ldi temp,low(RAMEND) /загрузка указателя стека out SPL,temp ldi temp, high (RAMEND) ,-загрузка указателя стека out SPH, temp Этими командами вы загружаете в соответствующие регистры (SPL и SPH) т. н. указатель стека— область памяти, куда будут записываться адреса точек возврата. Если этих строк нет, то МК с использованием прерываний не заработает (по умолчанию во всех регистрах 0, а указатель стека не мо- жет указывать на самый первый адрес памяти). Происходит там вот что: когда некое прерывание начинает выполняться, то первым делом по адресу, записанному в регистрах указателя стека, запоминается адрес, на котором было остановлено выполнение основной программы (т. е. в стек заносится со- держимое программного счетчика). По окончании процедуры обработки (по команде reti) этот адрес считывается в программный счетчик, и выполнение основной программы продолжается. Если во время выполнения обработчика данного прерывания происходит другое прерывание с большим приоритетом (это нужно специально устанавливать, в AVR по умолчанию любое прерыва- ние будет ожидать окончания обработки предыдущего), то в стек записыва-
526 Глава 31 ется также и этот текущий адрес команды, таким образом ошибиться при по- следовательном возврате невозможно. Вы и сами можете использовать стек (командами push и pull — например, для сохранения текущего значения ра- бочих регистров3), но неопытным программистам лучше этого не делать, иначе могут быть всяческие коллизии, ramend означает "конец памяти RAM", т. е. адрес последнего слова в памяти (соответствие реальному адресу зафик- сировано в файле с расширением inc), а т. к. он в случае 8515 двухбайтовый, то команды две — для старшего (high) и младшего (low) байта (в AVR 2313, например, адрес этот однобайтовый, и соответствующая команда всего одна). С учетом сказанного напишем программу, переключающую светодиод. В данном случае она будет это делать по событию переполнения таймера- счетчика Timer 1. Так как счетчик 16-разрядный, то событие переполнения будет возникать при каждом 65536-м импульсе входной частоты. Для того чтобы светодиод переключался раз в секунду, зададим коэффициент деления тактовой частоты на входе Timer 1 равным 64, и при 4 МГц частоты генера- тора мы получим примерно то, что надо: 4000000/64/65536 = 0,953674 Гц. К тому, как сделать частоту равной точно 1 Гц, мы вернемся, а пока подума- ем: как, собственно, осуществить само переключение? Для того чтобы с каж- дым прерыванием от таймера выход порта переключался в противоположное состояние, программа должна "помнить" его предыдущее состояние или ка- ждый раз "выяснять" его. В последнем варианте при каждом прерывании мы должны считывать состояние нужного бита порта D и менять его на проти- воположное, например, так: TIM1_OVF: /процедура обработки прерывания по переполнению таймера in temp,PortD /загружаем в temp регистр данных порта D sbrc temp,4 /если бит 4 в temp обнулен, /то пропустить следующий оператор rjmp SET_0 /если не обнулен, то переход на метку SET_0 sbi PortD,4 /установить в регистре данных порта бит 4 rjmp END__I /и перейти на конец процедуры SET_0: cbi PortD,4 /очистить в регистре данных порта бит 4 END_I: reti /выход из прерывания Тот, кто изучал высокоуровневое программирование, несомненно, заметит, что вся эта конструкция есть не что иное, как реализация оператора IF ... THEN ... ELSE. Словами это можно выразить примерно так: "ЕСЛИ бит 4 в переменной temp равен 0, ТО установить его, ИНАЧЕ сбросить". Есть и другой метод. Мы запоминаем состояние порта в специальной пере- менной, которую назовем flag (флагами называют биты или целые перемен- 3 Именно с этой целью стек широко используется в IBM PC — но там не 32 рабочих регистра, а всего 4, так что это жизненная необходимость.
Персональный компьютер вместо паяльника. О программировании МК 527 ные, которые сигнализируют нам о некоем состоянии). Тогда процедура мо- жет выглядеть так: TIM1_OVF: sbr с г jmp sbi sbr г jmp SET_0: cbi cbr END_I: reti flag,0 SET_0 PortD,4 flag,0 END_I PortD,4 flag,0 Как видите, и команд здесь больше, да еще и лишний регистр заняли. Можем поступить немного хитрее. В данном случае мы используем всего один (са- мый первый) бит переменной flag, остальные можно использовать еще для чего-нибудь, но если мы пожертвуем этой возможностью, то мы можем с ка- ждым прерыванием просто увеличивать flag на 1. Тогда любой из битов это- го регистра будет попеременно меняться с 0 на 1 и обратно. После 256 цик- лов регистр переполнится— ну и что, счет просто начнется с начала. Тогда процедура будет выглядеть так: TIM1_OVF: flag,0 SET_0 PortD,4 END_I sbrc r jmp sbi r jmp SET_0: cbi PortD,4 END_I: inc reti flag Для инициализации переменной flag (пусть это будет регистр г!7) в начале текста должна быть строка .def flag = г 17. Любопытно, что если сделать так, чтобы и flag, и temp указывали на один и тот же регистр, то на ошибку вам не укажут — эти переменные будут занимать одну и ту же область памяти (один и тот же регистр), в результате чего все действия с temp будут изменять и flag, и наоборот. Это может иногда приводить к довольно странным результатам, если это действительно ошибка, но иногда это делают специально. Конечно, если мы используем порт D только для управления светодиодами, то можно вообще просто выводить в порт значение flag без всяких хитростей. При этом на первом выводе порта (PD0) переключение будет происходить примерно раз в секунду, на втором (PD1) —= в два раза реже и так далее. Все эти последние варианты я привел скорее для иллюстрации, правильней всего будет поступить по первому варианту. Полностью программа тогда бу- дет выглядеть так: /программа мигания светодиода /процессор 8515, частота 4 Мгц .include "8535def.inc"
528 Глава 31 .def temp = rl6 /рабочий регистр rjmp RESET /на обработчик прерывания по Reset reti /обработчик внешнего прерывания 0 отсутствует reti /обработчик внешнего прерывания 1 отсутствует reti /обработчик прерывания захвата Timer 1 отсутствует reti /обработчик прерывания сравнения A Timer 1 отсутствует reti /обработчик прерывания сравнения В Timer 1 отсутствует rjmp TIM1_OVF /на обработчик прерывания переполнения Timer 1 reti /обработчик прерывания переполнения Timer 0 отсутствует reti /обработчик прерывания интерфейса SPI отсутствует reti /UART прием закончен - обработчик отсутствует reti /регистр данных UDR в UART пуст - обработчик отсутствует reti /UART передача закончена - обработчик отсутствует reti /прерывание аналогового компаратора - обработчик отсутствует TIM1—OVF: /процедура обработки прерывания по переполнению таймера in temp,PortD /загружаем в temp регистр данных порта D sbrc temp,4 /если бит 4 в temp обнулен, /то пропустить следующий оператор rjmp SET__0 /если не обнулен, то переход на метку SET_0 sbi PortD,4 /установить в регистре данных порта бит 4 rjmp END_I /и перейти на конец процедуры SET_0: cbi PortD,4 /очистить в регистре данных порта бит 4 END_I: reti /выход из прерывания RESET: /процедура при запуске Idi temp,low(RAMEND) /загрузка указателя стека out SPL,temp Idi temp,high(RAMEND) /загрузка указателя стека out SPH,temp Idi temp,ОЬОООЮООО /устанавливаем бит номер 4 в temp out DDRD,temp /выводим это значение в /регистр направления порта D Idi temp,ObOOOOOOll /устанавливаем нужные биты в temp out TCCRlB,temp /запускаем Timer 1 с делителем 1/64 Idi temp,(1<<ТО1Е1) /устанавливаем бит TOIE1 out TIMSK,temp /разрешаем прерывание /Timer 1 по переполнению Cykle: rjmp Cykle /зацикливаем процессор
Персональный компьютер вместо паяльника. О программировании МК 529 Я не буду комментировать подробно каждый оператор, т. к. в данном случае это нецелесообразно — абсолютно все команды при обращении ко всем ре- гистрам я все равно прокомментировать не смогу, а останавливаться только на приведенных случаях не имеет смысла. Единственное, на что стоит обра- тить внимание— на запись ldi temp, (1<<toiei). Поскольку бит, обозна- чаемый как T0IE1, в регистре TIMSK имеет номер 7, то эта запись эквива- лентна записи ldi temp, оыооооооо — можно писать так и так. Для того чтобы разобраться как следует, нужно взять описание AVR 8515, а также ко- манд AVR-ассемблера и посидеть с ним над этим текстом. Разберем логику самой программы. Вначале выполняется все то, что написа- но после метки reset (при компилировании ассемблер заменяет обозначения меток в командах на реальные адреса). После того как все установки будут выполнены, процессор зациклится, выполняя пустой цикл перехода на адрес самой команды перехода (метка cykie), и поэтому ничего не будет делать. Как только запущенный таймер-счетчик переполнится, программа перейдет к процедуре прерывания по метке timi_ovf и выполнит переключение све- тодиода. Затем опять начнется выполнение пустого цикла— и так далее. А как можно переключать светодиод точно 1 раз в сек? Для этого надо задей- ствовать другое прерывание таймера — по сравнению. Для того чтобы полу- чить точно одну секунду из частоты 4 МГц/64, нам надо сделать так, чтобы прерывание возникало при появлении в счетчике числа 62 500 (посчитайте!), затем счетчик бы обнулялся и начинал считать заново. Это можно сделать следующим образом (строки нужно включить в Reset в качестве строк ини- циализации таймера): ldi temp,high(62500) /значение делителя для 1 сек out OCR1AH,temp /старший байт делителя ldi temp,low(62500) out OCRlAL,temp /младший байт делителя ldi temp,ObOOOOlOll out TCCRlB,temp /запуск таймера с пред, делителем 1/64 /уст. бит 3=1 означает / "очищать счетчик при совпадении" Осталось изменить само прерывание: ldi temp,(1<<ОС1Е1А) /разрешение прерывания /по сравнению A Timer 1 out TIMSK,temp Наконец, не забудьте переставить вектор обработки этого прерывания в на- чале программы на две строки выше, чем старого. Фактически в таком режиме счетчик-таймер Timer 1 по функциональности идентичен счетчикам с пред- загрузкой типа 5 61ИЕ11.
530 Глава 31 Естественно, значение, загружаемое в регистры сравнения ocriah-l, не обя- зательно должно быть равно в точности 62 500, и это дает удобный способ для точной подстройки интервала времени, могущего иметь определенный разброс из-за неточностей используемого кварца. К сожалению, подстройка получается достаточно грубая: 1/62500 часть соответствует уходу часов при- мерно на 1 с за 18 часов, т. е. более чем на 1 с за сутки, и попасть в точное значение можно только случайно. Если это критично, то единственный спо- соб увеличить разрешающую способность подстройки заключается в сле- дующем. Вы делаете все то же самое, но частота на входе счетчика должна составлять не 1/64 часть тактовой частоты, а частоту кварца напрямую (младшие три бита в регистре TCCR1B при этом должны быть установлены в величину 001). Тогда вы получаете прерывание с частотой 64 Гц. Заведите переменную-счетчик counter (.def counter = г17, вместо ri7 может быть любой другой незанятый регистр) и заставьте его увеличиваться на единицу с каждым прерыванием (inc counter). Как только он достигает величины 63 (cpi counter, 63— команда cpi означает "сравнить с непосредственным значением", как и idi, она годится не для всех регистров), вы его обнуляете и делаете то, что требуется (в данном случае переключаете светодиод). Полу- чается искусственное деление на 64. Тогда, варьируя эту величину, с которой counter сравнивается, вы получите как бы переключение диапазонов под- стройки с помощью изменения числа, загружаемого в регистр сравнения. Скажем, если изменить это число с 62 500 на 62 499, то при отсчете 64 пре- рываний вы получите общий коэффициент деления 3 999 936 вместо ровно 4 000 000 — что эквивалентно изменению исходной частоты сразу на 64 Гц. Но измените количество прерываний на 63, а число в счетчик загрузите, рав- ное 63 492, — и вы получите общий коэффициент деления, равный 3 999 996— изменение частоты всего на 4 Гц. А при сочетании 62/64516 вы получите 3 999 992 — еще на 4 Гц. А вот еще меньшее значение числа пре- рываний вам взять не удастся — превысится емкость регистров сравнения, зато в большую сторону вы можете увеличивать как угодно. Чтобы расши- рить диапазон, можно счетчику для сравнения предлагать число вдвое мень- шее, зато число прерываний отсчитывать равное 128. Так что, "играя" этими величинами, можно в конце концов добиться почти абсолютного совпадения коэффициента деления с частотой кварца, и все это я привел не только в ка- честве примера — при продаже прецизионного кварца вам гарантируют его долговременную и температурную стабильность, но абсолютную точность получить на производстве очень сложно, поэтому саму частоту придется при необходимости так или иначе подстраивать. В заключение укажем несколько неожиданную вещь: весь пример в некото- ром роде чересчур усложнен, потому что в данной задаче можно обойтись вовсе без процедуры обработки прерывания, если подключить светодиод
Персональный компьютер вместо паяльника. О программировании МК 531 к определенному выходу, а именно ocia (15). Нужно сделать тогда все то же самое, но вместо ссылки на процедуру прерывания подставить просто reti (в этом случае действительно эту команду, а не что-то еще), а в начале про- граммы (после Reset) добавить строки: ldi temp, ОЬОЮООООО ; это означает переключающую моду out TCCR1A,temp ;для выхода PD5 (ОС1А) То же самое можно сделать через второе прерывание сравнения (В), для ко- торого имеется вообще отдельный выход: ocib (29). Можно одновременно сделать и то и другое — например, со сдвигом по фазе. Но пример выше все же не совсем зряшный и искусственный, потому что процедуру, подобную нашему обработчику, приходится использовать довольно часто, и она вели- колепно иллюстрирует некоторые приемы программирования для AVR. Так что советую разобраться в ней как следует и повторить, меняя различные па- раметры для лучшего понимания работы. Программирование UART Основной своей задачей в этой главе я поставил дать читателю представле- ние о том, как делаются реальные программы для AVR. Тонкости работы с регистрами и командами, повторяю, можно прочесть в описании, но не все- гда ясно, как полученные сведения объединить между собой в одной про- грамме. Но книга не резиновая, и мы остановимся еще только на одной важ- ной вещи: программировании UART. Дело в том, что даже если вы не собираетесь использовать коммуникацию с компьютером в своем устройстве, при отладке программ UART — незаменимая штука, я недаром в прошлой главе так подробно останавливался на его схемотехнике и практических реа- лизациях. На практике это выглядит так: вы соединяете схему с компьюте- ром через RS232, занимая один СОМ, а ко второму подсоединяете програм- матор. В нужные места программы вы вставляете команды посылки байт через UART и на экране компьютера наблюдаете результаты работы про- граммы живьем. Все это несколько напоминает отладку в средах программи- рования для ПК (т. н. прогон программы в отладочном режиме с контроль- ными точками). Альтернативный способ отладки — использование AVR Studio, где вы с реальной схемой практически не работаете, моделируя ее на ПК. Излишне говорить, что этот вариант гораздо медленнее. Конечно, можно приобрести и некий "kit" — одну из специальных плат для отладки программ, но они весьма недешевы и в радиолюбительской практике не используются. Начнем опять с конца — как принять результаты обмена через COM-порт на компьютере? Для этого нужна программа, которая традиционно носит назва- ние "эмулятор терминала". В режиме DOS можно было воспользоваться пре-
532 Глава 31 красной программой term90 (или term95), которая входила в состав пакета Norton Commander, а в Windows (по крайней мере, в Windows 95-98) предла- гается программа HyperTerminal, которая сделана настолько "криво", что я не знаю ни одного человека, который сумел бы ей на практике воспользоваться. После долгих поисков я сам написал такую программу, "заточенную" именно под указанные задачи (так, она "умеет" принимать и посылать байты в коди- ровке шестнадцатеричной, десятичной или ASCII, в том числе, посылать из файла, ведет журнал обмена, поддерживает различные скорости и т. п.). Эту программу, а также компонент Delphi для работы с COM-портом (с исход- ными текстами и описанием) вы можете скачать со странички автора: http://uproar.fortunecity.com/puzzler/292/programm.htm. Отмечу, что в неко- торых случаях при использовании этой программы пришлось столкнуться с недоступностью COM-портов в некоторых Wintel-системах, но в каждом таком случае эта проблема решается по-своему и к предмету данной книги отношения не имеет. Теперь о собственно программировании UART. Как вы видите из перечисле- ния прерываний, за UART зарезервировано аж три прерывания. Пусть нужно принять один байт команды сверху (из компьютера) и передать в ответ не- сколько байт данных. На практике правильно организованный протокол приема/передачи может, например, выглядеть следующим образом. Задача (довольно типичная) состоит в том, чтобы принять команду (1 байт) от ком- пьютера и послать в ответ нужную последовательность байт. Прежде всего, надо установить скорость обмена (сама величина устанавлива- ется только по договоренности, и автоматизировать этот процесс довольно сложно, хотя в отдельных случаях и возможно, но обычно игра не стоит свеч). Она устанавливается, например, в процедуре по Reset сразу после за- пуска и последовательность команд выглядит так: ldi temp,25 /скорость передачи 9600 при 4 МГц out UBRR,temp /устанавливаем ldi temp, (1«RXEN | 1«TXEN | 1«RXB8 | 1<<TXB8 ) out UCR,temp / разрешение приема/передачи 8 бит Выбор делителя тактовой частоты (25 в данном случае) делается по таблице или по формуле, которая приведена в руководстве. Далее вы инициализируе- те прерывание "прием закончен" (все три прерывания uart инициализируют- ся старшими битами rxcie, txcie и udrie в регистре ucr). Возникновение этого прерывания означает, что в регистре данных udr имеется принятый байт. Процедура обработки этого прерывания тогда выглядит так: UART_RXC: in temp,UDR ;принятый байт - в переменной temp cbi UCR,RXCIE /запрещаем прерывание "прием закончен"
Персональный компьютер вместо паяльника. О программировании МК 533 <готовим данные, самый первый посылаемый байт должен быть в переменной temp> sbi UCR,UDRIE /разрешение прерывания "регистр данных пуст" reti Далее у нас почти немедленно возникает прерывание "регистр данных пуст". Обработчик этого прерывания состоит в том, что мы посылаем байт, содер- жащийся в переменной temp, и готовим следующие данные: UART_DRE: out UDR,temp /посылаем байт cbi UCR,UDRIE /запрещаем прерывание "регистр данных пуст" сготовим данные, следующий байт - в temp. Если же был отправлен последний нужный байт, то опять разрешаем прерывание "прием закончен" и далее rjmp на метку END__, иначе выполняем следующий оператор:> sbi UCR,TXCIE /разрешаем прерывание "передача закончена" END_: reti Обратите внимание на то, что переменная temp не должна в промежутках между прерываниями использоваться еще где-то, в противном случае ее надо сохранять, например, в стеке, но удобнее все же отвести для этого дела спе- циальный регистр. Осталось только написать обработчик прерывания "пере- дача закончена", он будет состоять из следующих двух команд: UART_TXC: cbi UCR,TXCIE /запрещаем прерывание "передача закончена" sbi UCR,UDRIE /разрешаем прерывание "регистр данных пуст" reti Такой относительно навороченный алгоритм хорошо работает, если мы должны организовать штатный протокол обмена с компьютером — при та- кой организации действий у нас контроллер не простаивает зря в ожидании, пока отправка (или прием) очередного байта закончится — в самом деле, т. к. при скорости 9600 отправка одного байта занимает более миллисекунды, то за это время можно успеть выполнить много полезной работы — несколько тысяч команд. Но когда экономия времени не критична, то хорошо работает упрощенный алгоритм, который вообще не использует прерывания. Он со- стоит в следующем: в начале программы (например, после перечисления век- торов прерываний) вы записываете две коротких процедуры: Out_com: /посылка байта из temp с ожиданием готовности sbis USR,UDRE /ждем готовности буфера передатчика
534 Глава 31 rjmp out_com out UDR,temp /собственно посылка байта ret /возврат из процедуры Out_com In_com: /прием байта в temp с ожиданием готовности sbis USR,RXC /ждем готовности буфера приемника rjmp in_com in temp,UDR /собственно прием байта ret /возврат из процедуры In_com Обращение к процедуре in_com при этом вставляется в пустой цикл в конце программы: Cykle: rcall In_.com <анализируем полученный в temp байт и что-то с ним делаем, например, посылаем ответ через процедуру Out_com> rjmp Cykle /зацикливаем процессор При таком способе контроллер большую часть времени ожидает приема, вы- полняя проверку регистра udr (в процедуре in_.com), этот процесс прерывает- ся только на время выполнения настоящих прерываний. Прерывания все рав- но должны выполняться много быстрее, чем байт, если он пришел, успевает в udr смениться следующим, так что мы ничего особо не потеряем. А проце- дура посылки Out_.com сама по себе может выполняться долго (если посылать несколько байт подряд), но также в основном будет заключаться в том, что контроллер будет ожидать очищения udr, и т. к. это не прерывание, то про- цедура в любой момент может быть прервана настоящим прерыванием, и мы опять же ничего не теряем. Но чтобы ничего действительно не потерять, при таком способе нужно быть очень внимательным: так, нужно следить за ис- пользованием temp. Правда, если мы будем применять процедуру out_com внутри процедуры прерывания, куда другое прерывание "влезть" не может, то temp меняться не будет, но тогда контроллер будет терять время на ожи- дание, так что лучше, кроме разве что расстановки контрольных точек при отладке программы, так не поступать. На этом мы закончим тему программирования для AVR "в общем" — наде- юсь, читатель получил представление, как это делается, ну, а постичь эту премудрость в полной мере можно только на практике, к чему мы и перейдем в следующей главе. Кстати, с сайта Atmel можно скачать т. н. "applicaiton notes" — т. е. описания реализаций некоторых типичных процедур, например, 16-битовой арифметики, деления и умножения, преобразования двоичный/
Персональный компьютер вместо паяльника. О программировании МК 535 двоично-десятичный, записи в EEPROM и т. п. К сожалению, те "аппноты", которые доступны в настоящее время, для практического применения не слишком полезны, ибо содержат просто описание алгоритма в виде блок- схемы в "квадратиках". Ранее они представляли собой исходные asm-тексты, и это было намного удобнее. Забавно, что все ошибки, содержавшиеся в ис- ходных текстах (в процедуре умножения, в реализации интерфейса I С), пе- рекочевали в новые "аппноты" без изменения, а на все недоуменные письма (в том числе от собственных дилеров) в Atmel просто не отвечают — сказы- вается бюрократическая структура крупной корпорации. Так, с ошибками, эти "аппноты" и существует уже много лет, так что при их изучении нужно быть предельно внимательным и относиться к их содержанию критично.
Глава 32 Изобретаем велосипед. Настольные часы на микроконтроллере — В таком случае, купите мне, сударь, ча- сы, — попросил Планше. — Возьми вот эти, — сказал Атос, со свой- ственной ему беспечной щедростью отдавая Планше свои часы. А. Дюма, "Три мушкетера" "Изобретением велосипеда" я назвал занятие по конструированию часов по- тому, что готовых часов предлагается много и на все вкусы, включая даже такие экзотические конструкции, как наручные часы, объединенные с мо- бильником или с флэш-драйвом. Сконструировать свои первые часы "для дома для семьи" меня заставила судьба: ЖК-индикаторы я не переношу как вообще, так и в частности — надо, чтобы часы было видно и ночью, т. к. бу- дильником пользоваться не привык, а знать, стоит ли вставать или можно еще поваляться, следует. Между тем, я тогда попал в неудачный момент, ко- гда во всей Москве не было часов со светящимися индикаторами — старин- ные советские конструкции, в которых малюсенькие голубенькие цифирки были еле видны за густой сеткой анода (такие люминесцентные индикаторы сделаны по технологии на основе сульфидов, которую применял еще Резер- форд в начале XX века для наблюдения за радиоактивным распадом), уже исчезли из продажи, а импортных на светодиодах еще "не завезли". В резуль- тате пришлось делать самому такие, какие нравится. Хотя я потом сделал еще пару конструкций, но эти часы безотказно работают уже вот скоро — на момент написания этих строк — седьмой год. И слава богу, что я их сделал, потому что то, что, наконец, появилось в продаже, проигрывает моей само- дельной конструкции, по крайней мере, по двум статьям: по точности хода и по тому обстоятельству, что имеет ядовито-красные индикаторы без какой- либо возможности выбора. Правда, фирменные несколько меньше размерами и обладают функциями будильника, но последние мне без надобности, а реали- зовать их при надобности ничего не стоит. Причем выбор, как ни странно, по- прежнему очень мал. Так что, как видите, часы конструировать самостоятельно 183ак. 710
538 Гпава 32 стоит. В дальнейшем мы попробуем объединить их с термометром, который мы сконструируем заново, на той же элементной базе. Кстати, отдельный вопрос — на какой же именно элементной базе все это делать? Во-первых, существуют, естественно, специальные микросхемы для часов. Мы их рассматривать не будем, потому что, как все специализирован- ное, они "заточены" под определенную конструкцию (например, под ЖК- индикаторы), и изображать из себя Кулибина, подстраивая их под свои нуж- ды, мы не будем — получится однозначно плохо. Есть и неспециализирован- ные микросхемы часов, называемые еще RTC (Real Time Clock), которые умеют отсчитывать время (включая календарь и функции будильника), по- требляют очень мало (типичная величина — 0,8 мкА), обладают встроенным прямо в чип кварцем (иногда — с возможностью подстройки) и выпускаются с самыми разнообразными интерфейсами: от параллельного до I С. Особенно преуспели в этом деле две фирмы: Dallas, он же MAXIM, и бывшая Seiko, ныне Epson. Это очень заманчивая возможность, т. к. за вас все сделано, и в то же время вам не навязывают саму конструкцию, которую вы можете сделать любой: от простых индикаторов до стрелочного варианта с шаговым двигателем. Как ни странно, несмотря на гибридную начинку, микросхемы эти не очень дороги — видимо, сказывается большой спрос. Альтернативой является реализация функций часов прямо на микропроцес- соре, что проще в части проектирования системы и ее программирования. Такую конструкцию мы и рассмотрим. Наши часы будут простейшими, т. е. не будут осуществлять функции будильника и индикацию секунд (послед- няя в настольных часах не нужна и только раздражает своим постоянным миганием). Для того чтобы выбрать микроконтроллер из предлагаемых фирмой Atmel, подсчитаем, сколько нам надо выводов. Нам надо, во-первых, управлять че- тырьмя разрядами индикации (ЧЧ:ММ). Это мы будем делать в динамическом режиме, т. к. непосредственное управление предполагает 28 задействованных выводов, а динамическое всего 7 + 4=11. Затем нам надо засвечивать разде- лительный символ — в часах это традиционно двоеточие. Его, конечно, мож- но засветить постоянно, но лучше, когда оно мигает с не слишком высокой частотой (иногда можно увидеть конструкции, где разделительное двоеточие мигает быстро-быстро — это, конечно, недоработка, оно должно показывать недостающие на дисплее секунды). Наконец, нам надо часы устанавливать. Для этого минимально необходимо две кнопки (включение режима установ- ки и собственно установка). Итого получилось по минимуму 14 выводов. Об- ратим внимание на МК 2313 — он выпускается в 20-выводном корпусе, в ко- тором минимум 5 выводов должно быть занято под системные нужды (мы их перечисляли в главе 30 — это два питания, Reset и два вывода для подключе-
Изобретаем велосипед. Настольные часы на микроконтроллере 539 ния кварца). Итого нам остается на все про все 15 выводов, что нас устраива- ет. Мы даже вроде получаем 1 резервный вывод, но ниже увидим, что на са- мом деле под все желательные дополнительные функции выводов нам будет не хватать, и придется изворачиваться. Итак, намечаем общий план действий. Во-первых, внешняя схема. Выбираем индикаторы большого размера (цифра 1" или 25,4 мм высотой) с общим ано- дом, т. е. типа SA10, если брать продукцию Kingbright. Лично я предпочитаю желтого свечения (например, SC10-21Y), но это не имеет значения. Посколь- ку падение напряжения у них может достигать 4 В, то от того же питания, что требует МК (5 В) питать их нельзя, и это даже удобно, как мы увидим в дальнейшем. Нам потребуется два питания: одно стабилизированное +5 В и второе нестабилизированное +12 В. Управлять разрядами индикаторов мы будем от транзисторных ключей с преобразованием уровня, а сегментами — от простых транзисторных ключей (т. к. питание индикаторов повышенное, то, к сожалению, управлять прямо от выводов процессора не получится). Эти ключи будут инвертировать сигнал, поэтому мы и выбрали индикатор с об- щим анодом — разряды нужно коммутировать на "землю", так что на транзи- сторы придется подавать лог. 1, чтобы их открыть. В то же время двойной ключ с преобразованием уровня сигнал инвертировать не будет, и выбранно- му разряду также будет соответствовать лог. 1, так что в обоих случаях управление получается в положительной логике (что совершенно не принци- пиально, но удобно для простоты понимания, что мы делаем). Резисторы в управлении сегментами (будем ориентироваться на напряжение питания 12 В) примем равными 470 Ом, тогда пиковый ток через сегмент составит примерно 20 мА, а средний — 5 мА (при динамическом управлении 4-мя раз- рядами). Всех восьмерок у нас быть не может, максимальное число одновре- менно горящих разрядов равно 24 ("20:08"), поэтому общее максимальное потребление схемы составит 24 • 5 = 120 мА + 10 мА схема управления, итого 130 мА. В качестве блока питания используем внутренности блока питания со встро- енной вилкой с номинальным напряжением питания 10 В и током не менее 500 мА (такие продаются для некоторых игровых консолей). Напряжение на холостом ходу у него будет составлять примерно 13—14 В, под нагрузкой 130 мА оно сядет как раз до 11—12 В. Еще нам понадобится монитор пита- ния и переключатель с сетевого питания на батарейки. Чтобы сделать схему совсем "юзабельной", добавим небольшую схему для сигнализации при не- обходимости замены резервной батарейки — пусть это будет наше ноу-хау, т. к. такого ни у кого нет. Эту схему удобно реализовать, "не отходя от про- цессора", на встроенном компараторе, но тогда нужно задействовать аж 18 выводов (12 под индикацию, 2 кнопки, 2 входа компаратора, 1 для его
540 Гпава 32 выхода и еще 1 для монитора питания), а использовать процессор большего размера только для этой цели не хочется. Но еще больше не хочется добав- лять какие-то внешние схемы. Поэтому мы поступим так. Мы используем один из входов компаратора также и под вторую кнопку. А на второй вход компаратора "повесим" дополнительно функцию монитора— сигнализиро- вать о пропадании внешнего питания. Остается придумать, как обеспечить сигнализацию разряда батареи (т. е. обеспечить выход компаратора) — тут мы сделаем просто: пусть разделительный символ (двоеточие) мигает, когда все нормально, а когда батарея разряжена — горит постоянно. Таким обра- зом мы получим наиболее экономичную схему с минимумом внешних эле- ментов. Все это можно сделать проще, если использовать МК с большим числом портов (тот же 8515), но он и потреблять будет в два раза больше, и места займет немеряно — и все только потому, что мы захотели контроли- ровать батарейку, которая, может быть, сядет этак лет через пять. 4 5 6 10 Reset PD0 PD1 XTAL2 XTAL1 INT0(PD2) PD3(INT1) PD4 PD5 GND t/пит (SLK) PB7 (MISO) PB6 (MOSI) PB5 PB4 (PB3) OC1 PB2 (PB1) AIN- (PBO) AIN + PD6 20 19 18 17 16 15 14 13 12 11 +5 В 1 2 з 7 8 9 AT90S2313 Рис. 32.1. Разводка выводов МК AT90S2313 (функции показаны применительно к нашей задаче) Теперь посмотрим на схему разводки выводов AT90S2313 (рис. 32.1) и выбе- рем, что и к чему мы будем коммутировать. Во-первых, удобно использовать вход внешнего прерывания, например, INT1 (7) под кнопку, которая будет вводить часы в режим установки. От порта D (портов А и С в этом микрокон- троллере нет) осталось шесть разрядов, четыре из которых мы задействуем под управление разрядами индикаторов: PD0 (2), PD1 (3), PD2 (6) и PD4 (8). Из восьми выводов порта В два задействованы под входы компаратора AIN+
Изобретаем велосипед. Настольные часы на микроконтроллере 541 (12— к нему мы подсоединим опорный источник для контроля батареи и с него будем снимать информацию о состоянии питающего напряжения и второй кнопки) и A1N- (13 — к нему подключим батарейку). Для управления миганием разделительного двоеточия удобно использовать вывод ОС1 (15), который управляется автоматически от таймера (см. главу 31). Под управле- ние сегментами мы задействуем оставшиеся выводы: PD5 (9), PD6 (11), РВ2 (14) и РВ4—РВ7 (16—19). То, что выводы для управления индикаторами расположены не по порядку— это, конечно, не здорово, нам фактически придется управлять каждым разрядом по отдельности, но обойдемся. Режим Sleep мы использовать не будем, т. к. во всех его вариантах все зами- рает, и его применение обессмысливается — нам нужно, чтобы часы шли и при отключении от сети, иначе при малейшем сбое в подаче электроэнергии их придется устанавливать заново. При питании 4—5 В 2313 потребляет около 5 мА, так что можно рассчитывать на непрерывную работу от алкалайновой батарейки (трех экземпляров типа ААА) с емкостью порядка 1,5—2 А • ч в те- чение не менее 3-х недель. Кстати, именно этими сроками простейшая схема на микропроцессоре отличается в худшую сторону от схемы с использовани- ем RTC. Там часы идут отдельно до тех пор, пока есть хоть какое-то питание (типичное минимально допустимое значение — 2 В). МК, который использу- ется только в качестве устройства управления индикацией и установкой вре- мени, спокойно можно "загонять" в Power Down, в результате при грамотном проектировании можно обеспечить время работы от батарейки в сотни раз большее, чем у нас. Но мы все же пока ограничимся простейшим вариан- том — дело в том, что настольные часы и не предназначены для работы в автономном режиме, а для того, чтобы перенести их из комнаты в комнату или "пережить" отключение электричества на пару часов, возможностей на- шей системы вполне хватит. Схема Вот, собственно, и все предварительные наметки, можно рисовать схему пла- ты управления. Она показана на рис. 32.2. Схема проста, правда, некоторую громоздкость ей придают ключи управления индикаторами, однако все равно ее (без блока питания) можно без напряжения сил уместить на плату пример- но 70x100 мм, а с некоторым напряжением — на меньшую. Игольчатый разъем XI типа PLD с 6 контактами — программирующий (в главе 31 мы до- говаривались, что я буду разводить его в соответствии с фирменным ISP- программатором Atmel). Все остальные внешние соединения, кроме пита- ния — через такой же разъем, но с 16 контактами, два из которых — контак- ты "земля" и питание. Обратите внимание, что "подтягивающие" резисторы
542 Гпава 32 по программирующим входам (кроме Reset, где он и так имеется) здесь не требуются, т. к. в нормальном режиме эти входы работают как выходы на достаточно низкоомную нагрузку. Рис. 32.2. Схема часов на МК AT90S2313 (плата управления) Х2 (PLD-16) 16 +12 В 15 GND 14 Кн2 13 Кн1 12 LED 11 Сегмент g 10 Сегмент( 9 Сегмент е 8 Сегмент d 7 Сегменте 6 Сегмент b 5 Сегмент а 4 Ед мин 3 Дес мин 2 Ед часов 1 Дес часов Плату индикации мы делаем отдельно (рис. 32.3). На ней мы ставим четыре индикатора и две управляющих кнопки, а также в точности такой же разъем PLD-16, как и на плате контроллера, причем он должен стоять на стороне платы, противоположной индикаторам. Разводка у него также должна быть идентичной. Эти разъемы мы соединим плоским кабелем наподобие того, что употребляется для подключения IDE-дисков в компьютере, только поуже — на 16 линий. Можно употребить и любой готовый кабель с равным или большим количеством линий, т. к. гнездовые части под разъемы PLD с лю- бым количеством контактов можно надеть хоть всего на два контакта (если, конечно, не установлен чехол-направляющая, но нам вроде это ни к чему). Это решение не очень красивое, т. к. при этом кабельная часть разъема будет выходить за пределы ответной на плате, и это нужно предусмотреть в раз- водке, иначе такой большой разъем может во что-нибудь упереться. Изгото- вить же плоский кабель с разъемами самостоятельно без наличия специаль-
Изобретаем велосипед. Настольные часы на микроконтроллере 543 ного инструмента практически невозможно, потому либо придется такой ин- струмент приобрести, либо попросить установить разъемы на кабель в любой фирме, которая занимается сборкой и ремонтом компьютеров. Минимальный стандартный разъем на кабель, подходящий под наш случай, будет скорее всего иметь 16 контактов, именно столько мы и предусмотрели. Рис. 32.3. Схема часов на МК AT90S2313 (плата индикации) Схема должна работать следующим образом. При включении питания цепоч- ка R1C1 обеспечивает надежный Reset. Ставить эту цепочку необязатель- но— производитель МК гарантирует нормальный Reset и без каких-либо внешних элементов, однако для лучшей защиты от помех это не помешает, ведь часы у нас должны работать по идее годами в круглосуточном режиме. После установления питания диод VD2 "запрет" батарею, которая имеет на- пряжение заведомо ниже, чем на выходе стабилизатора. Оба диода — с пере- ходом Шоттки, падение напряжения на них не превышает 0,2—0,4 В. Собственно часы заработают сразу, однако их надо установить. Для этого надо кратковременно нажать кнопку Кн1 (S1 на рис. 32.3). Тогда младший
544 Гпава 32 разряд ("ед. минут", индикатор Н4) начнет мигать. При длительном нажатии кнопки Кн2 (S2) цифры на этом разряде будут меняться с частотой раз в секунду. "Поймав" нужное число, отпустите кнопку Кн2, еще раз кратко нажмите Кн1, тогда начнет мигать следующий разряд и т. п. Чтобы выйти из режима установки, надо "пройти" все разряды. Чтобы установить часы точно на нужное время, установите число минут равным текущему, "пройдите" все разряды и, когда последний разряд десятков часов еще мигает, коротко на- жмите кнопку Кн1 примерно за секунду до момента, когда должна произойти смена минут (если нажимать долго, то часы опять перейдут в режим установ- ки с начала). В момент следующего после нажатия отсчета времени в наших часах — в пределах секунды — эта смена тоже произойдет, и часы продол- жат идти синхронно с теми, по которым производилась установка. В дейст- вительности происходит следующее: когда вы нажимаете кнопку Кн1 первый раз, ход часов прекращается, и начнется он только после последнего в цикле установки (пятого по счету) нажатия кнопки Кн1, при этом число секунд во внутренних регистрах часов устанавливается равным 59 и через секунду часы начинают ход со следующей минуты. С кнопками разобрались, теперь разберемся с нашими компараторными "примочками". В нормальном режиме кнопка Кн2 разомкнута и на работу схемы не влияет. Напряжение батареи фактически напрямую (делитель R4/R5 делит сигнал в отношении ЗОО/ЗО1, и эта ошибка не имеет значения) попадает на инвертирующий вход компаратора. Это напряжение сравнивает- ся с напряжением на стабилитроне VD3, равном примерно 3,9 В (стабили- трон обязательно используем маломощный в стеклянном корпусе или соот- ветствующий импортный, в другом случае сопротивление резистора R35 надо снизить примерно в два-три раза). Когда напряжение батареи упадет ниже этого уровня (выбранного с некоторым запасом, т. к. часть напряжения батареи упадет на диоде VD2, кроме того, смена батарейки может произойти не сразу), то компаратор перебросится в состояние лог. 1 по выходу, про- грамма МК это зарегистрирует, и разделительная точка (пара светодиодов VD1 и VD2, рис. 32.3) перестанет мигать и будет гореть постоянно. Восста- новление произойдет, как только батарею сменят на свежую. Та же реакция будет, если отключить батарею тумблером "Бат" (S1 на рис. 32.2) или уда- лить ее. Для того чтобы в этих случаях вход компаратора не оказывался "ви- сящим в воздухе", предназначен резистор R5. Ток через него настолько мал (около 1,5 мкА), что на разряд батареи это не оказывает влияния. С7 защища- ет вход от наведенных помех. При пропадании внешнего питания запирается диод VD1, а диод VD2 откры- вается, и напряжение батареи попадает на питание МК. Резистор R6 вкупе с развязывающим конденсатором С2 служат для большей устойчивости
Изобретаем велосипед. Настольные часы на микроконтроллере 545 работы МК в момент перепада напряжений при переключении питания, для той же цели служит конденсатор С7, установленный параллельно кнопке Кн1 (иначе может спонтанно возникать прерывание, и часы войдут в режим уста- новки). Одновременно с переключением питания становится равным нулю напряжение на стабилитроне, а т. к. при этом стабилитрон представляет со- бой обрыв в цепи, то установлен резистор R36, который служит тем же це- лям, что и резистор R5. Компаратор работать перестает (точнее, он всегда будет показывать "нормальную" батарею), но нас это не волнует, т. к. инди- кации все равно нет. Программа контроллера периодически опрашивает зна- чение логического уровня на этом выводе (3,9 В эквивалентно лог. 1) и, когда оно становится равным нулю, принимает меры к снижению потребления, в первую очередь за счет отключения внешних портов. Как только внешнее питание восстанавливается, автоматически возобновляется нормальный ре- жим работы. Тумблер "Бат" нужен для отключения батареи, если вы хотите остановить часы надолго, а вот тумблер для включения питания ставить не следует (разве что на время отладки). Рис. 32.4. Кнопка с лапкой-рычагом В качестве псевдосенсорных кнопок с легким нажатием удобно использовать обычные микропереключатели (известные в отечественном варианте под на- званием МП-1), но со специальной металлической лапкой-рычагом, которая предназначена для того, чтобы уменьшить усилия нажатия и увеличить его зону (вообще эти кнопки предназначены для использования в качестве кон- цевых выключателей). Подойдут импортные кнопки типа SM5 (см. рис. 32.4). Тогда нам не придется портить внешний вид фальшпанели кнопками или ус- танавливать их где-то сзади, а можно установить их прямо на плату индика- торов и просверлить в дымчатом оргстекле напротив них маленькие отвер- стия, через которые кнопку можно нажимать зубочисткой или другим острым предметом. Чтобы отверстие в оргстекле выглядело "фирменно", сверлить следует осторожно, на малых оборотах, затем вручную сверлом сделать аккуратную фаску с лицевой стороны и обработать отверстие мае-
546 Гпава 32 лом, чтобы оно не белело. Подобное решение еще хорошо тем, что случайное нажатие кнопок совершенно исключено. После изготовления платы индикации сначала следует установить с обратной стороны разъем, а затем "обдуть" лицевую часть платы черной автомобиль- ной эмалью из баллончика не слишком густо (достаточно одного слоя), что- бы краска не затекла в отверстия. Потом на черную плату уже монтируются индикаторы, светодиоды разделительной точки и кнопки. Светодиоды нужно выбирать того же цвета, что и индикаторы (имейте в виду, что сама по себе характеристика "желтый" или "зеленый" еще ни о чем не говорит— только в таблице, приведенной в главе 7, два зеленых цвета и три красных, а у раз- ных фирм их может быть еще больше, и чтобы разница не бросалась в глаза, приготовьтесь к тому, что покупать придется несколько разновидностей и подбирать оттенок по месту). Под индикаторы указанного выше типораз- мера подойдут светодиоды диаметром 3 мм, обычные 5-миллиметровые бу- дут слишком выделяться, а под меньшие индикаторы потребуются светодио- ды с еще меньшим диаметром. "Суперяркие" светодиоды сюда не подойдут решительно. Светодиод при этом желательно иметь с диффузным рассеива- нием, чтобы было одинаково видно со всех углов зрения. Так что вопрос подбора LED может оказаться непростым — так, в упомянутой выше конст- рукции мне так и не удалось подобрать тип, удовлетворяющий всем перечис- ленным требованиям, и пришлось устанавливать светодиоды в прозрачном корпусе. Для каждого типа светодиодов придется подобрать резистор R34 (см. рис. 32.2) согласно необходимой яркости (для прозрачных светодиодов номинал его будет больше, для диффузных— меньше). Устанавливать эту пару диодов следует не прямо друг над другом, а с некоторым наклоном со- ответственно наклону цифры индикатора. Неплохо будет выглядеть исполь- зование прямоугольных (5x2 мм) светодиодов под наклоном. Я останавлива- юсь на всех этих подробностях потому, что они имеют решающее значение для того, будет ли ваша конструкция выглядеть фирменно или напоминать продукт творчества членов кружка юных техников из деревни Гадюкино. За- трачивать столько сил и средств на конструирование и пренебречь при этом внешним видом просто не имеет смысла — если вы, конечно, конструируете бытовой прибор, а не утилитарную схему для рабочих нужд, но и в послед- нем случае гораздо удобнее брать в руки аккуратную и удобную в работе конструкцию, а не голую плату с болтающимися проводами. Когда мы соединим плату управления с платой индикации кабелем и под- ключим питание, схема заработать сразу не может, потому что нужно запро- граммировать МК. Для этого вы должны подключить к разъему XI програм- матор (пометьте на плате первый вывод разъема, чтобы не перепутать при подключении) и загрузить hex-файл с программой. К написанию последней мы и перейдем.
Изобретаем велосипед. Настольные часы на микроконтроллере 547 Программа Полностью текст программы приведен в приложении 6. Здесь мы опишем на словах общую логику ее работы. При включении питания процессора все регистры обнулены, программа на- чинает работу с команды по метке RESET. Здесь она устанавливает соответ- ствующие порты на выход (все, кроме двух входов компаратора и входа кнопки Кн1), затем делает нужные установки для таймеров и разрешает соот- ветствующие прерывания. Timer 0 у нас будет по событию переполнения управлять разрядами в режиме динамической индикации. При заданной час- тоте на входе счетчика Timer 0, равной 1/8 от тактовой частоты (4 МГц), час- тота управления разрядами получится равной 4 МГц/8 = 500 кГц/256 (ем- кость счетчика), т. е. чуть меньше 2 кГц, а сами разряды (4 шт.) будут сменяться с частотой почти 500 Гц, что однозначно превышает порог воспри- ятия мигания. Timer 1 у нас будет управлять собственно отсчетом времени по прерыванию сравнения. Для этого в регистр сравнения загружается число 62 500, а предварительный коэффициент деления задается равным 1/64, тогда прерывание таймера будет возникать с частотой 1 Гц (см. главу 31). Кроме этого, разрешается прерывание от кнопки Кн1 (INT1). По окончании всех установок МК переходит в непрерывный замкнутый цикл, в котором он отслеживает состояние вывода 12, куда подключен стабилитрон. Если на этом выводе лог. 0, то для МК это означает, что внешнее питание пропало, и он выполняет процедуру Disable, в которой все порты переводятся в состоя- ние "на вход" и обнуляются (чтобы не остался подключенным "подтягиваю- щий" резистор). При этом устанавливается бит 1 регистра Flag, и при уста- новленном этом бите процедура управления разрядами через прерывание Timer 0 начавшись, ничего не делая, сразу же заканчивается. Запрещается также переход в режим установки. Как только питание восстанавливается, МК выполняет процедуру Restore и часы начинают работать как ни в чем не бывало. Проверяется работа этой части очень просто: если режим установки не инициализирован кнопкой Кн1, то нажатие кнопки Кн2 имитирует пропа- дание питания, при этом все индикаторы должны погаснуть и восстановиться после ее отпускания. В режиме же установки пропадание питания не может отслеживаться, поэтому, если вдруг (невероятный случай) это произойдет, то придется, видимо, доделывать установку после восстановления питания (при этом потребление от батарейки будет повышенным). Состояние компаратора отслеживается через его прерывание. Имейте в виду, что аналоговый компаратор (почему-то) изначально включен, так что для этого никаких специальных действий производить не надо. Достаточно раз- решить прерывание (по умолчанию оно возникает при любом переключении
548 Гпава 32 компаратора в обе стороны), в котором затем отслеживать состояние выхода, т. е. бита 5 (АСО) в регистре ACSR. Если указанный бит равен лог. 1 (бата- рейка села, компаратор переключился из 0 в 1), то мы вместо переключаю- щего режима для выхода ОС1 заставляем при каждом прерывании Timer 1 записываться туда лог. 1, и двоеточие горит все время. При обнулении бита (компаратор переключился из 1 в 0) восстанавливаем переключающий ре- жим, и двоеточие опять станет мигать. Проверить эту процедуру тоже лег- ко — отключением батарейки с помощью тумблера. В нормальном режиме сразу после включения питания каждые 0,5 мс будет выполняться процедура управления индикаторами по прерыванию Timer 0. Счетчик разрядов POS увеличивает свое значение с каждым этим прерывани- ем (в конце процедуры), но реально считает лишь в пределах двух бит (т. е. принимает значения 0, 1, 2 и 3), т. к. остальные биты каждый раз обнуляются командой andi POS,3. Сначала все выводы портов (управляющие и разряда- ми, и сегментами) обнуляются, затем устанавливается в лог. 1 разряд, соот- ветствующий текущему значению счетчика POS. Однако в режиме установки для разряда, выбранного состоянием регистра set_up (т. е. того, над которым производятся манипуляции), это происходит только, если младший бит счет- чика count = 0. Так как счетчик count инкременируется в процедуре Timer 1 (если задан режим установки), то выбранный разряд каждую вторую секунду не зажигается, в результате чего мигает с частотой в 0,5 Гц. В свою очередь это происходит только, если не нажата кнопка Кн2 (бит 0 порта В равен лог. 1), в противном случае индикация происходит нормально (иначе уста- новка была бы неудобна). Далее в процедуре происходит определение того, чему соответствует текущий разряд (единицы минут, десятки минут и т. д.), и вызывается процедура установки бит в выводах портов, управляющих сег- ментами, в соответствии с текущим значением разряда. Сама процедура установки сегментов в три этапа (вызов SEG SET, перебор значений и вызов одной из процедур OUT x, наконец, собственно установка) может показаться слишком громоздкой, но поскольку у нас разряды управле- ния разрознены, лучше придумать что-то трудно. Два слова о том, как можно было бы организовать эту процедуру, если бы семь сегментов соответствовали бы, к примеру, семи первым битам одного порта (В). В этом случае можно бы- ло бы разместить прямо в программе (побайтно) так называемые маски битов, соответствующие включенным сегментам для каждой цифры подряд по воз- растающей от 0 до 9, тогда каждой цифре бы соответствовал адрес в памяти, равный адресу маски для 0, плюс сама цифра. Загружая такой байт-константу из памяти программ (для этого есть специальная команда LPM), его можно бы- ло бы сразу помещать в. порт В, т. е. устанавливать сегменты буквально двумя- тремя командами. Однако в нашем случае пришлось бы такую маску еще рас- пределять между разными битами разных портов, так что вся красота пропала
Изобретаем велосипед. Настольные часы на микроконтроллере 549 бы, а фактическое сокращение времени выполнения было бы небольшим, т. к. реально в нашей программе выполняются только несколько команд ветвления подряд (плюс, конечно, вызовы процедур). Причем для нашей программы вре- мя выполнения в таких пределах вообще несущественно. Впрочем, пытливый читатель, несомненно, укажет мне на еще одну, прямую возможность: реализо- вать программный дешифратор в соответствии с уравнениями в главе 21 (зря что ли старались?). Это, разумеется, возможно, но хотел бы я посмотреть на того программиста, который будет писать программы для МК (и не только для МК) в таком стиле. Попробуйте — попытка не пытка. Процедура посекундного отсчета времени по Timer 1 сначала отслеживает ре- жимы (есть ли питание и задан ли режим установки). Если режим установки задан (предварительным нажатием кнопки Кн1), то осуществляется процедура установки с отслеживанием состояния кнопки Кн2 и количества предваритель- ных нажатий Кн1, которыми через состояние регистра set_up задается текущий номер устанавливаемого разряда. Счета времени при этом не происходит. Пре- рывание INT1 задано по уровню лог. О, т. е. должно происходить все время, пока нажата кнопка Кн1. Чтобы этого не произошло, при возникновении пре- рывание тут же запрещается и разрешается только по прошествии двух преры- ваний от Timer 1, т. е. минимум через 1, максимум через 2 с — смотря в какой момент между прерываниями вы попали. При последнем (пятом) нажатии ре- жим установки отменяется, и число секунд устанавливается равным 59. Если никаких режимов не задано, то происходит отсчет времени в соответствии с двадцатичетырехчасовым циклом, и каждый раз устанавливаются значения единиц и десятков минут и часов. Двенадцатичасовым циклом, когда еще надо указывать "AM" и "РМ", пусть развлекаются супостаты. Без сомнения, вы легко сможете доделать эту конструкцию, добавив в нее, к примеру, функции будильника. Причем это можно сделать даже без передел- ки схемы, если "повесить" функции установки и включения будильника на те же кнопки, разделив их с простой установкой за счет отсчета времени удержа- ния кнопки (т. е. между нажатием и отпусканием). Сложнее, правда, будет обеспечить выход на "пищалку", но его можно "повесить" на ту же мигалку (управление разделительными светодиодами), если при срабатывании будиль- ника заполнять включенное состояние мигалки частотой 2 кГц управления раз- рядами — например, переключая с этой частотой вывод ОС 1 то на вход, то на выход (при этом в обычном режиме "пищалка" будет еле слышно тикать). Но, разумеется, никто вас не заставляет жаться и применять именно МК 2313 — возьмите 8515, где выводов гораздо больше и все окажется куда проще. Тем более что в этом случае можно придумать и еще что-то, например, добавить маленькие разряды секундомера в углу передней панели. А мы сейчас перей- дем к другой "примочке": как грамотно добавить к таким часам термометр.
Глава 33 Шампунь и кондиционер в одном флаконе. Как соединить часы с термометром ... но подробности мне неизвестны,— до- говорил Арамис. А. Дюма, "Три мушкетера" Собственно, в чем проблема, спросите вы: вставьте в один корпус с часами тот весьма достойный термометр, который мы конструировали в главе 26, и все дела. Но такое решение некрасиво, и вот почему: а если вы захотите добавить еще и датчик давления? Измеритель влажности? Тоже делать для каждого из них отдельную схему? Это, как говорил один мой начальник, есть "неконцептуальное" решение. Концептуальным здесь было бы использование многоканального общего АЦП, которое управляется от МК. Таких АЦП предлагается очень много, но в данном случае, самое удобное — использовать АЦП, прямо встроенное в контроллер. Почему в данном случае, а не вообще и всегда? Потому что такие АЦП имеют довольно средненькие характеристики: всего 8 или 10 раз- рядов, чего в целом ряде случаев может оказаться недостаточно (10 разря- дов— это 1024 градации или 0,1% разрешающей способности). К тому же рядом процессор шумит, что не здорово. Но поскольку мы не конструируем "супер-пупер"-измерительную систему, нас это устроит. Итак, выбираем МК AVR 8535 со встроенным 8-канальным 10-разрядным АЦП. Восьми каналов нам хватит хоть на целую измерительную лаборато- рию. Второй вопрос: как организовать индикацию? Если мы пойдем тради- ционным путем, т. е. организуем индикатор термометра отдельно, то тут и обсуждать нечего: просто добавится еще три (соответственно числу разрядов в термометре) линии управления разрядами и несколько расширится проце- дура управления индикаторами по Timer 0. Однако добавление еще одной тройки индикаторов (давления) такая система еще выдержит (получится де- сять управляемых разрядов), а вот с дальнейшим расширением (влажность,
552 Гпава 33 два разряда) может получиться уже не очень хорошо: при динамическом управлении с частотой 2 кГц каждый разряд будет меняться с частотой 166 Гц, и это может быть заметным для глаза. Есть несколько путей выхода из этого положения, причем решение с увеличением частоты включения раз- рядов отбросим как неэффективное: при 4 МГц МК может уже не справиться (надо ведь еще и АЦП опрашивать и обсчитывать результаты для каждого канала). Более приемлемый выход из положения: разделить индикаторы на две группы, управляя одновременно двумя разрядами, причем чем больше индикаторов, тем выгоднее такое управление: при 12 разрядах нам понадо- бится только один лишний вывод управления (было 12 разрядных и 7 сег- ментных, стало 6 разрядных и 14 сегментных), при 14 — их количество оста- нется тем же, а при 16 — даже один выигрываем. В случае 17 разрядов (часы с секундами, температура внутри и снаружи, давление и влажность) это во- обще единственный путь, но не забудьте, что нам банально может не хватить выводов: как минимум 2 под кнопки установки часов, 2 под RS232-nopT (ко- эффициенты для датчиков корректировать удобно через компьютер), 1 под светодиоды для разделительной точки (при наличии секунд необязательна), 2 под знаки "минус"/"плюс" для температуры (хотя для внутреннего термо- метра это и необязательно), наконец, 5 под входы АЦП (четыре датчика и контроль батарейки). Итого (без отдельных кнопок для будильника и с выче- том необязательных) 10 выводов, да еще 9 + 14 = 23 вывода управления ин- дикацией, всего 33, и одного вывода нам уже не хватает (в 8535 всего 40 вы- водов, причем под системные нужды занято целых 8: кроме тех, что и в 2313, еще 2 отдельных питания и опорное напряжение АЦП). Так что без внешнего демультиплексора (лучше всего на управление разрядами) в такой системе не обойтись. А если еще захочется использовать внешнюю микросхему RTC (самое грамотное решение, вообще-то), да вдруг и с параллельным выходом, с которым иметь дело куда проще, чем с последовательным... Придется пе- реходить на mega!03 или mega 128, а с ними иметь дело из-за планарного корпуса несколько сложнее. Впрочем, есть и еще один путь, традиционный для уличных табло: все вывести на один индикатор (4-разрядный) и подклю- чать к нему попеременно все величины. Это удобное решение с точки зрения построения системы и ее компактности, но результат нельзя назвать краси- вым: индикатор для часов должен отличаться промежутком между разряда- ми, даже если разделительная точка не используется. Можно, наконец, как-то скомбинировать эти решения. В общем, простор для творчества имеется. Ввиду такого большого количества вариантов описывать схему полностью я не буду, простейший вариант индикации с одним каналом измерения темпе- ратуры читатель сам сможет реализовать несложной модификацией про- граммы часов из предыдущей главы. Остановимся на том, как реализовать функции АЦП и какие подводные камни тут могут встретиться.
Шампунь и кондиционер в одном флаконе. Как соединить часы с термометром 553 Подключение датчиков давления и влажности проблемы не представляет ввиду их однополярного выхода со стандартизированным диапазоном, укла- дывающимся в напряжение питания 5 В (см. главу 27), остается только пре- образовать масштабы, чтобы получить физические величины. Правда, с этим связан один нюанс, который также справедлив и для контроля батарейки — если датчик температуры мы конструируем сами и нам несложно (и даже предпочтительно) в нем реализовать принцип относительных (логометриче- ских) измерений, заведя опорное напряжение АЦП от того же питания, что и датчики, то в измерителях давления и влажности влияние изменения на- пряжения питания на выходной сигнал, естественно, специально ослаблено. Не говоря уж о батарейке, в которой оно вообще не зависит от питания схе- мы. Поэтому в этих случаях нам бы следовало устанавливать отдельный пре- цизионный источник опорного напряжения. Однако опыт показывает, что можно вполне обойтись и одним напряжением питания 5 В в качестве пита- ния цифровой части, аналоговой и опорного сигнала АЦП, если аккуратно развязать питание цифры и аналога и не питать от этого напряжения сильно потребляющие схемы вроде индикации. Если вы уж очень въедливый, то можно поставить отдельный источник для аналоговой части (он же опорное напряжение), как мы и поступим в дальнейшем. Использовать прецизионные опорные источники типа МАХ875 для этой цели не получится, т. к. они не позволяют получить большой выходной ток из-за перегрева кристалла (он ограничен величиной порядка 10 мА) и для питания нескольких датчиков их выход придется умощнять, что сводит на нет всю прецизионность. Практиче- ски проще поставить что-то типа обычного LM78L05 в надежде, что темпе- ратура внутри корпуса не будет слишком меняться. Вариант схемы по минимуму — датчик температуры и контроль батареи — показан на рис. 33.1. Показана только аналоговая часть и блок питания (из функциональности выводов процессора показано только то, что может по- требоваться в нуждах обсуждаемой схемы). Она обеспечивает для канала температуры достаточно малую (из-за относительности измерений) погреш- ность порядка 0,2—0,3 °C на диапазон от -50 до +50°, а для батареи погреш- ность, сами понимаете, нам не столь уж и важна, пусть будет хоть 5% (реаль- но это гораздо меньше, в пределах 1—2% без дополнительной калибровки). Сначала о блоке питания. Он выдает четыре напряжения, два из которых (+5 Ва и -5 В) используются для питания аналоговой части, +5 Вц использу- ется для питания цифровой части, а +12 В (нестабилизированное и даже без сглаживающего фильтра, т. е. пульсирующее) — для пйтания индикаторов. Решение с отсутствием фильтра по напряжению для питания индикаторов не только экономит место, но и ведет к уменьшению влияния бросков тока (при заряде емкости фильтра в канале с большим током потребления) через сетевой
554 Гпава 33 трансформатор на остальные напряжения питания (броски, естественно, ос- танутся, но они будут носить не импульсный, а синусоидальный характер с частотой 100 Гц, что отрабатывается стабилизаторами несравненно лучше). Учтите, что напряжение питания индикаторов при этом надо считать по дей- ствующему значению на выходе трансформатора, как для переменного тока, за вычетом падения напряжения на выпрямительном мосте, поэтому напря- жение обмотки должно быть на уровне 14 В. Рис. 33.1. Схема датчика температуры и контроля батареи на МК AT90S8535 и блок питания для нее "Земель" образуется целых три, все они, как вы видите, объединены в одной точке — у источника питания, там, где расположены сглаживающие конден- саторы фильтров на выходе выпрямительных мостов, далее их нужно "та- щить" раздельно. Привычным знаком "±" при этом обозначена аналоговая земля (GNDa). Чтобы отслеживать пропадание сетевого питания, нужно либо ставить монитор питания, либо делитель напряжения, подсоединенный ко входу стабилизатора +5 Вц, так, чтобы на выходе этого делителя напряжение
Шампунь и кондиционер в одном флаконе. Как соединить часы с термометром 555 составляло около 4 В, и подсоединять его к отдельному входу МК. Штатное решение с монитором (типа, например, МС34064) хорошо тем, что в случае, если вам требуется только сохранять содержимое EEPROM, то можно его прямо присоединить к выводу Reset, экономя драгоценные выводы. Зато де- литель срабатывает раньше (т. к. присоединен ко входу стабилизатора). Вы- вод, к которому присоединен делитель, следует защитить от случайного пе- ренапряжения диодом (мало ли что с сетью бывает), катод которого присоединить к напряжению на выходе стабилизатора. Стабилизаторы типа LM2931 вместо любимых LM7805 выбраны не случайно — выход такого стабилизатора запирается при исчезновении напряжения на входе, что позволяет обойтись без лишнего диода при переключении на бата- рейное питание (сравните со схемой на рис. 32.2). Выбрать готовый трансформатор для такого блока питания — не совсем про- стое дело. Поэтому, если вам обмоток не будет хватать, смело выбирайте то- роидальный трансформатор на напряжение 10—14 В (которое будет исполь- зоваться для индикаторов), измерьте на нем количество витков на вольт (как описано в главе 10) и поверх существующих обмоток домотайте три одина- ковых обмотки на 7—8 В каждая, проводом не меньше, чем 0,3 мм в диамет- ре. Удобнее всего их мотать одновременно сложенным втрое проводом зара- нее рассчитанной длины. Батарея подключена ко входу АЦП напрямую. Аналоговая часть схемы включает токовый мост для датчика температуры (идентичный тому, что мы использовали в главе 26, но с несколько иными параметрами) и измеритель- ный усилитель, все это построено на счетверенном операционном усилителе МАХ479. Как и в схеме на рис. 26.2, темным цветом выделены прецизионные резисторы (типа, например, С2-29В). Схема рассчитана на использование та- кого же датчика, как и там (т. е. обмотка малогабаритного реле с сопротивле- нием примерно 800 Ом при 20 °C). Ток задан на уровне 1,33 мА, тогда весь диапазон изменения напряжений на выходе моста при диапазоне 100 °C со- ставит 400 мВ. Коэффициент усиления измерительного усилителя мы уста- навливаем чуть больше 12, тогда диапазон выходных напряжений всей схемы составит около 4,9 В, т. е. мы будем использовать весь диапазон АЦП (от 0 до Uon) в полной мере с некоторым запасом. Резистор R4, который устанав- ливает нижнюю границу диапазона, нужно выбирать равным не сопротивле- нию датчика при 0°, как в той схеме, а равным сопротивлению его при нижней требуемой температуре, т. к. АЦП контроллера не умеет рабо- тать с отрицательными (относительно (/оп) напряжениями. При указанных на схеме номиналах нижняя граница диапазона температур будет около -47°, а верхняя — около 55 °C. Разумеется, все эти величины придется пересчитать
556 Гпава 33 на реальный датчик, но высокой точности не требуется, достаточно устано- вить все с некоторым (минимальным) запасом, потому что окончательную калибровку мы будем производить путем изменения коэффициентов пере- счета в программе МК. С подобной схемой объединенного устройства часы-термометр-барометр можно ознакомиться в публикации автора [30]. Программа Поскольку МК у нас 8-разрядный, а АЦП — 10-разрядный, то коды на его выходе в диапазоне от 0 до 1023 будут содержаться в двух байтах: назовем их AregLB (младший) и AregHB (старший) для батареи и AregLT (младший) и AregHT (старший) для температуры и выберем для их хранения регистры от roi до г04. Как организовать получение кодов АЦП и запись их в эти ре- гистры, мы узнаем далее, а пока предположим, что они имеются, и начнем с их обработки. Для этого мы также предположим, что уже есть программа часов, организованная так же, как и в предыдущей главе, и в ней есть проце- дуры TIM1 (раз в секунду) и ттмо (примерно каждые 0,5 мс). Итак, АЦП будет нам выдавать числа в диапазоне от 0 до 1023 при измене- нии входного напряжения от 0 до Uon, т. е. в данной схеме примерно до 5 В. Для датчика температуры точное значение Uon не имеет значения, т. к. ка- либровка будет производиться по показаниям прибора ("сквозным каналом"), но для батареи, строго говоря, надо измерить точное значение на выходе ста- билизатора +5 Ва. Мы будем здесь предполагать, что оно равно ровно 5 В. Батарейка Для батарейки расчет процедуры преобразования в физические величины элементарно прост. Пяти вольтам будет соответствовать код 1023, что с по- грешностью менее 2,5% равно удвоенному значению этого напряжения в милливольтах. Просто поделим число на выходе АЦП на 2 (сдвигом разря- дов вправо командой isr) и получим почти то, что надо. Вся "фишка", одна- ко, заключается в том, что нам это не требуется вообще — не будем же мы ставить индикаторы для того, чтобы показывать напряжение? Контролиро- вать полученную величину удобно трехпозиционным индикатором, напри- мер, двухцветным светодиодом, который горит зеленым — если с батарейкой все в порядке, красным — если она полностью села и ее надо менять, и мига- ет с красного на зеленый — если она подсела, но еще работоспособна. Поро- ги выберем такие: норма— если напряжение выше примерно 4 В, нижний допустимый предел — примерно 3 В (предельно допустимое минимальное
Шампунь и кондиционер в одном флаконе. Как соединить часы с термометром 557 напряжение для обычного AVR составляет 2,7 В), в промежутке надо бы оза- ботиться заменой. Вообще-то, несложно ввести и четвертое состояние — когда батарейка полностью отсутствует— и гасить при этом светодиод во- обще, но мы не будем усложнять. Имейте в виду, что при отсутствующей ба- тарейке на высокоомном входе АЦП может накапливаться потенциал за счет токов утечки диода VD5 и система будет "делать вид", что батарейка имеет- ся. Для устранения этого эффекта достаточно зашунтировать конденсатор СЮ резистором примерно в 3 МОм, как и в схеме из предыдущей главы. Со- ответствующие значениям порогов коды рассчитываются по формуле: U 1023/5, т. е. они будут равны 614= 266h = 0010 ОНО ОНОЬ(ЗВ) и 818 = 332h = ООН ООН 0010b (4 В). Вот как можно организовать обработку этих значений. Светодиод (двухцветный) подключен к выводам 20 (PD6 — горит красным) и 21 (PD7 — горит зеленым), установленный бит 3 в регистре Flag означает, что в процедуре Т1М1 эти биты надо попеременно переклю- чать. Естественно, их заранее нужно сконфигурировать на выход. Для реги- стров от 0 до 15 нельзя осуществлять операции с непосредственным значени- ем, потому сравнение делается через рабочий регистр temp. Куда именно вставлять эту процедуру, мы обсудим позже. ADC_proc: ;обработка кода батареи cbr Flag, ОЬООООЮОО /сбрасываем бит мигалки mov temp,AregLB /загружаем в temp младший АЦП cpi temp,0x66 /сравниваем с младшим от 3 В ldi temp,0x02 /загружаем в temp старший от 3 В ср с AregHB,temp /сравниваем старшие brsh contC /если больше или равно, то далее cbi PortD,7 / гасим, если горел зеленым sbi PortD,6 / горим красным rjmp contT /на обработку температуры contC: mov temp,AregLB mov ’ temp,AregLB /загружаем в temp младший АЦП cpi temp,0x32 /сравниваем с младшим от 4 В ldi temp,0x03 /старший от 4 В cpc AregHB,temp /сравниваем старшие brsh contG /если больше, то далее sbr Flag, ОЬООООЮОО /напр. упало - мигать будем rjmp contT /на обработку температуры contG: cbi PortD,6 sbi PortD,7 /если норма, будем гореть зеленым
558 Гпава 33 COntT: <обработка температуры> ret ;конец процедуры ADC_proc Процедура мигания (в процедуре по таймеру 1): sbrs Flag,3 /если флаг стоит, будем мигать rjmp TIME__calc /иначе на продолжение sbis PinD,7 /PD7=1, если горели зеленым rjmp GREEN sbi PortD,6 ;горим красным cbi PortD,7 rjmp TIME_calc / на продолжение GREEN: sbi PortD,7 /горим зеленым cbi PortD,6 Т1МЕ_са1с: <счет времени> Температура Теперь обратимся к тому фрагменту, который в процедуре выше обозначен как <обработка температуры>. Здесь все куда сложнее не только потому, что нам нужно преобразовывать код в физическую величину для отображения на индикаторе, но и потому, что характеристика выходного кода в зависимости от показаний АЦП должна "ломаться" в нуле — она симметрично возрастает слева и справа от 0°, причем слева нам еще нужно высвечивать знак "минус" в то время, как коды АЦП возрастают равномерно от 0 до 1023. Как же нам справиться с этой проблемой? Оказывается, это элементарно просто: нужно без всяких хитростей вычесть из текущего значения кода АЦП код, который соответствует 0 °C, если теку- щий код АЦП больше, и наоборот, из нулевого кода текущий — если мень- ше, причем сравнивать все равно надо, чтобы определить знак. В данном случае код при нулевой температуре будет равен примерно середине диапа- зона, предположим, числу 486. Теперь после вычитания полученный код бу- дет равномерно возрастать в обе стороны от нулевого значения, которое и соответствует нулевой температуре. Но дальше сложностей будет больше. Во-первых, с какой крутизной возрастает код в зависимости от температуры?
Шампунь и кондиционер в одном флаконе. Как соединить часы с термометром 559 Очень просто: числу 537 (1023—486) будет соответствовать температура 55 °C, как мы выяснили ранее, поэтому для преобразования в физическую величину с тремя разрядами (с десятыми, но без учета запятой) нам надо ум- ножить код на величину 550/531 = 1,036. А как это сделать, если дробных чисел процессор не понимает? Поступим так: увеличим этот коэффициент в 1024 раза. Теперь он представляет собой также двухбайтовое целое. 16-разрядные числа МК перемножать умеет (см. далее), при нашем диапазо- не мы в результате получим не более, чем 220, т. е. трехбайтовое число. Его мы поделим на 1024 (сдвигом на 10 разрядов вправо) и получим опять двух- байтовое значение, равное тому, что мы получили бы, если бы просто умно- жили код на 1,036. Итак, необходимые нам для расчетов значения кодов ко- эффициента для 0 (tZ) и коэффициента для крутизны преобразования (tK) будут такими: tZ = 486 = 01E6h и tK = 1,036 • 1024 = 1061 = 0425h. Для того чтобы произвести расчеты, надо эти коды коэффициентов где-то хранить. Так как доступные рабочие регистры по мере написания програм- мы будут таять с устрашающей быстротой, то отводить под хранение двух- байтовых констант целых четыре регистра — это роскошь. Поэтому мы бу- дем tZ и tK хранить в памяти SRAM. При инициализации программы (при включении питания) туда будут записываться предопределенные значения, которые можно изменить перепрограммированием, а по ходу дела (при ка- либровке) их легко изменить, подключившись к внешнему компьютеру через COM-порт (как это делается, вы уже знаете, см. главу 3J). Стоит ли хранить их в EEPROM? В данном случае, на мой взгляд, это нецелесообразно, т. к. процедура чтения их оттуда много дольше, чем из памяти SRAM; надо при- менять специальные меры к сохранности EEPROM при выключении питания, иначе это вообще бессмысленно, а после первичной калибровки вам уже вряд ли потребуется менять коэффициенты в скором времени, так что, все отла- див, можно разок и перепрограммировать, изменив начальные значения пря- мо в программе. Следует отметить, что перед использованием SRAM полезно изучить ее структуру, чтобы не получить непредсказуемых результатов. Дело в том, что пространство адресов у SRAM и у регистров общее, поэтому, если вы попы- таетесь записать в SRAM по адресу 0:0, то попадете аккурат в регистр г0 (ни на какие ошибки при этом, естественно, не указывается — а вдруг вы именно этого и хотели?). Свободная часть SRAM начинается во всех МК семейства AVR с адреса 00:60h (кроме самых навороченных, типа Atmegal28, у которо- го оно начинается с адреса 01:00h). Если вам не нужно все пространство этой памяти, то удобно писать, начиная с адреса 01:00h (т. е. с ячейки номер 256), заодно вы избавляетесь от необходимости исправлять программу при смене
560 Гпава 33 процессора на более "крутой". Тогда вы просто устанавливаете старший байт адреса в значение 01 навсегда, а через младший пишете по адресам, начи- нающимся с нуля. При этом вам доступно в 2313-м 96 байт, а в большинстве остальных (кроме семейства tiny) 256 и более байт SRAM (если не менять значение старшего адреса, конечно). Сами адреса устанавливаются через один из трех объединенных попарно регистров, последних по номерам в ре- гистровом файле, которые в этом случае называются х (г2б + г27), Y (г28 + г29) и z (гЗО + г31). Их можно использовать и как обычные ре- гистры по отдельности, но мы зарезервируем, к примеру, регистр Y за памя- тью и установим старший байт равным 1 в самом начале выполнения про- граммы в процедуре Reset: idi г29,01. Другой вариант записи той же команды: idi yh,oi. Перед записью теперь нужно указать однобайтовый адрес в регистре r2 8 (yl). Адреса мы распределим так (это надо вставить в начало программы): . equ Tram = 0x0 ;0x0,0x01 старш. и младш. байт темп, в НЕХ-формате . equ TdH = 0x02 /температура старший BCD .equ TdM = 0x03 /температура средний BCD .equ TdL = 0x04 /температура младший BCD equ tZH = 0x20 / CT . разряд коэффициента tz температуры equ tZL ~ 0x21 / МЛ . разряд коэффициента tz температуры equ tKH = 0x22 / CT . разряд коэффициента tK температуры equ tKL = 0x23 / МЛ . разряд коэффициента tK температуры По адресу, начиная с 01:00, в двух байтах будет храниться физическое значе- ние температуры в шестнадцатеричном представлении, а по трем адресам далее — в распакованном BCD-коде, подготовленные для индикации. Все это мы получим далее. Начиная с адреса 01:20h будут храниться вожделенные коэффициенты. Запись в память производится командой st, обозначение Y+ означает, что запись производится с постинкрементом, т. е. после записи адрес в yl автоматически увеличивается на 1: /запись коэффициентов tZ = 461 = lE6h и tK = 1061 = 425h Idi r28,tZH /начальный адрес Idi temp,0x01 /старший tZ st Y+,temp / записываем Idi temp,ОхЕб /младший tZ st Y+,temp /записываем Idi temp,0x04 /старший tK st Y+,temp /записываем Idi temp,0x57 /младший tK st Y,temp /записываем
Шампунь и кондиционер в одном флаконе. Как соединить часы с термометром 561 Эту процедуру надо включить в начало программы при выполнении Reset. Во время калибровки вы через uart записываете по этим адресам другие зна- чения, а потом, когда убедитесь, что все верно, запишите в эти строки про- граммы окончательные значения коэффициентов и перепрограммируйте МК. Кстати, точно так же можно поступить с числом в регистре сравнения Timer 1 для подстройки хода часов. Чтение производится командой id, во всем аналогичной команде st. Рабочие регистры обозначим как Koeffb и KoeffH (пусть это будут г05-г0б). Проце- дуры вычитания для значения кода выше и ниже 0° будут немного разли- чаться, заодно мы определяем и высвечиваем, если надо, знак (через РВ6): ldi r28,tZH /установка начального адреса Id temp,Y+ mov KoeffH,temp Id temp,Y mov KoeffL,temp /получили из памяти коэфф. tZ температуры ср AregLT,KoeffL /сравнили младшие cpc AregHT,KoeffH /сравнили старшие с переносом brsh Ь0 /если больше, то далее sub KoeffL,AregLT sbc KoeffH,AregHT /вычли код АЦП из коэффициента mov AregLT,KoeffL /записали обратно в регистры mov AregHT,KoeffH sbi PortB,6 / знак - rjmp mO ЬО: /если больше sub AregLT,KoeffL /вычли наоборот sbc AregHT,KoeffH cbi PortB,6 /знак + mO : /продолжение Перед тем как писать продолжение, надо сконструировать процедуру умно- жения двух 16-разрядных чисел. Она стандартная, но, как я уже говорил, в Application Notes от Atmel есть ошибка, которую мы исправим. В общем случае, в результате будет 4-байтовое число, и хотя у нас старший регистр всегда будет равен 0, а младший пропадет при последующем делении на 1024, все же нам придется их задействовать. Поскольку процедура у нас предназначена для конкретной цели, то мы сразу укажем рабочие регистры
562 Гпава 33 сомножителей. В тексте я сохранил оригинальные комментарии от Atmel подробно разбирать эту процедуру я не буду: Мр16: /умножение двух 16-разрядных величин ;AregLT (гОЗ) множимое low byte /AregHT (г04) множимое high byte /KoeffL (r05) множитель low byte ;KoeffH (r06) множитель high byte ;ResL (г07) результат byte 0 (LSB) ;ResM (г08) результат byte 1 ;ResH (г09) результат byte 2 ;temp (г16) результат byte 3 (MSB) ;count_m (r27) счетчик clr temp ;clear 2 highest bytes of result clr ResH ldi count_m,16 ;init loop counter ml6u_l:Isr KoeffH ror KoeffL brcc noad8 /if bit 0 of multiplier set add ResH,AregLT ;add multiplicand Low to byte 2 of res adc temp ,AregHT ;add multiplicand high to byte 3 of res noad8: ror temp /shift right result byte 3 ror ResH /rotate right result byte 2 ror ResM /rotate result byte 1 and multiplier High ror ResL /rotate result byte 0 and multiplier Low dec countjn /decrement loop counter brne ml6u_l /if not done, loop more ret ;выход их процедуры умножения Регистр temp у нас везде задействован, но в данном случае его использование безопасно, потому что сама процедура используется внутри прерывания и никакое другое прерывание нам ничего испортить между делом не может. Итак, вот, наконец, полная процедура обработки данных АЦП: ADC_proc : <обработка батарейки> contT: <определение знака и симметрирование кода>
Шампунь и кондиционер в одном флаконе. Как соединить часы с термометром 563 mO: /умножение на коэффициент tK ldi r28,tKH /установка адреса Id temp,Y+ mov KoeffH,temp Id temp,Y mov KoeffL,temp /получили из памяти tK температуры rcall Mpl6 /умножили /деление на 1024 mov AregLT,ResM /загрузили в мл. байт температуры ResM mov AregHT,ResH /а в старший - ResH /тем самым сразу поделили результат на 256 Isr AregHT /сдвинули старший вправо ror AregLT /сдвинули младший - поделили еще на 2 Isr AregHT /еще раз: сдвинули старший гог AregLT /сдвинули младший, еще на 2, всего на 1024 ldi r28,TdH /установка адреса Т для BCD-кода rcall bin2BCD16 /преобразование в упакованный BCD (см. ниже) st Y+,ResH /запоминаем в памяти старший разряд mov temp,ResL /младший распаковываем: swap temp /меняем тетрады местами andi temp,ObOOOOllll st Y+,temp /средний разряд mov temp,ResL /еще раз andi temp,ObOOOOllll st Y,temp /младший разряд ret /конец процедуры ADC_proc Ниже приведена процедура преобразования в двоично-десятичный код bin2BCDi6, которая целиком взята из рекомендаций Atmel (только названия регистров приспособлены под наш случай), оригинальные комментарии со- хранены. В отличие от умножения, здесь ошибок нет и все надежно работает. Обратите внимание, что команда возврата из процедуры ret стоит в середине текста, а не в конце, как обычно: bin2BCD16: /преобразование 16-разрядного hex в упакованный BCD /input: hex value low=AregL hex value high = AregH /output: BCD value digits 1 and 0 ResL /BCD value digits 2 and 3(=0) ResH ldi clr clr tempi, 16 ,-Init loop counter ResH ResL
564 Гпава 33 clr ZH /clear ZH (not needed for AT90Sxx0x) bBCDx_l:Isl AregL ;shift input value rol AregH ;through all bytes rol ResL rol ResH dec tempi /decrement loop counter brne bBCDx_2 /if counter not zero ret ;return to program bBCDx_2:Idi bBCDx_3: r30,AtBCD2+l ;Z points to result MSB + 1 Id temp,-Z /get (Z) with pre-decrement subi temp,-$03 ;add 0x03 sbrc temp,3 /if bit 3 not clear st Z,temp /store back Id temp,Z /get (Z) subi temp,-$30 /add 0x30 sbrc temp,7 /if bit 7 not clear st Z,temp /store back cpi ZL,AtBCD0 /done all three? brne bBCDx_3 /loop again if not rjmp bBCDx_l Процедуру Ып2всп1б, как и Мр1б, можно помещать в начало или в конец текста программы, это понятно. В процедуре индикации по Timer о про- грамма должна просто извлекать данные из памяти (по адресам тан, там и таь) и демонстрировать их на дисплее в режиме динамической индикации так же, как и часы-минуты. Обсудим теперь вопрос, куда "воткнуть" основ- ную процедуру обработки данных. В том виде, как это написано, ее лучше всего вставить в обработчик события по Timer 1, тогда измерение будет еже- секундным. На этом можно и остановиться, но есть один нюанс: АЦП может работать достаточно быстро (от 70 до 280 мкс на преобразование, т. е. от 3,5 до 14 тысяч измерений в секунду), а мы из этого потока данных выделяем один-единственный результат и думаем, что он и есть то, что надо. Это мо- жет быть не так: допустим, мы-то приняли все меры для устранения шума, но ведь и сам процессор контроллера шумит, а он расположен на одном кри- сталле с АЦП. Переводить на время преобразования контроллер в режим idle, как советуют разработчики, — слишком большая роскошь, не одно АЦП у нас работает, а мы вообще-то и время должны отсчитывать. Потому лучше будет, если мы сделаем несколько измерений — например, 64 — и возьмем среднее. Это делается так: мы запускаем АЦП на однократное преобразова- ние 64 раза и по адресу Tram (именно для этого он нам и понадобился) склады-
Шампунь и кондиционер в одном флаконе. Как соединить часы с термометром 565 ваем сумму отдельных значений кода. Так как мы выбрали 64 значения, то двухбайтового числа сумма 10-разрядных чисел не превысит. Это удобно делать в процедуре по Timer о, вставив в конец обработчика вот такую про- цедуру: TIMO : Спроцедура индикации> rADC: inc countCyk /обработка АЦП sbrs countCyk,5 /если бит 5 в countCyk равен 1, / TO 1 прошло 32 такта таймера 0, инициализируем АЦП reti /иначе выход из обработчика clr countCyk / обнуляем счетчик тактов inc count /счет измерений cpi count,65 /если прошло 64 измер., breq ADC_bat /то на отсчет батареи ldi temp,0 /0 - канал температуры out ADMUX,temp /установили канал АЦП sbi ADCSR,ADSC /запуск нов. преобразования для температуры reti /выход из обработчика ADC_bat: ldi temp,1 /1 - канал батареи out ADMUX, temp /установили канал АЦП sbi ADCSR,ADSC /запуск нов. преобразования для батареи sbi Flag,0 /если битО установлен - чтение батареи /а далее будем обрабатывать текущие данные - /для батареи то, что было измерено в предыдущий раз. /Обработка данных температуры: ldi r28,Tram /установка адреса Id AregHT,Y+ /загрузка суммы из памяти Id AregLT,Y clr count div64L: /деление на 64 - осреднение Isr AregHT /сдвинули старший ror AregLT/сдвинули младший inc count cpi count,6 brne div64L subi r28,1 / /сдвинули-поделили на 64 вычесть из адреса единицу
566 Гпава 33 clr temp st Y+,temp st Y,temp /очистили память для следующего цикла rcall ADC_proc reti /выход из TIMO Мы привели здесь простейший вариант, когда усредняются только значения температуры, батарею, как видите, мы считываем отдельно и однократно. Само измерение температуры происходит каждое 32-е прерывание таймера О, т. е. если прерывания идут с частотой примерно 2 кГц (см. главу 32), то это случается с частотой примерно 64 Гц, а расчет и обновление величины тем- пературы тогда происходит примерно раз в секунду. Теперь, когда мы завели АЦП, наконец, поговорим о том, как получать из него собственно данные. Это делается по прерыванию, которое мы разрешаем, как обычно, в процеду- ре Reset (и заодно производим всякие установки): /установка АЦП, разр. прерывания, /такт, частота 1/32 частоты МК = 128 кГц, однократный запуск Idi temp, (1«ADEN) | (1«ADIE) | (1«ADPS2) | (1«ADPSO) out ADCSR,temp He забудьте записать адрес обработчика в начале программы (третий снизу, т. е. пятнадцатое прерывание для 8535): rjmp readADC / преобразование АЦП закончено Наконец, сама процедура обработчика: readADC: /чтение АЦП по прерыванию sbrc Flag,0 /если битО установлен rjmp R_batt /сразу на чтение канала батареи Idi r28,Tram /иначе установка адреса температуры Id AregHT,Y+ /читаем из памяти Id AregLT,Y in ’tempi,ADCL /получаем из АЦП младший in temp,ADCH /получаем из АЦП старший add AregLT,tempi /суммируем adc AregHT,temp dec r28 /вычитаем из адреса 1 st Y+,AregHT /запоминаем сумму st Y,AregLT /в памяти rjmp END_adc /выход из обработчика R_batt: cbr Flag,0 /сбрасываем бит 0 в регистре Flag in AregLB,ADCL /получаем из АЦП младший
Шампунь и кондиционер в одном флаконе. Как соединить часы с термометром 567 in AregHB,ADCH /получаем из АЦП старший END_adc: reti /конец обработчика прерывания АЦП Познакомившись со всем этим процессом, вы можете подумать, что МК про- сто не будет успевать выполнять такие громоздкие процедуры, но это не так: опыт показывает, что 8535 вполне справляется, ведь большинство команд у нас выполняются за один такт, т. е. за 0,25 мкс, если частота кварца равна 4 МГц. Исключение составляют команды записи в память и чтения из памя- ти, а также переходы, но их все же сравнительно немного. Даже если принять время выполнения одной команды за 0,5 мкс в среднем, то за время цикла индикации Timo успеет выполниться 1000 команд— больше, чем вся наша программа. Более того, в моей конструкции [30] этот процессор справлялся и с обработкой трех каналов (дополнительно к температуре и батарейке изме- рялось еще и давление), причем все каналы усреднялись, правда, счет проис- ходил попеременно, так, что показания обновлялись по каждому каналу че- рез 3 с, иначе контроллер и правда мог бы не справиться с обработкой. Второй вывод, который вы можете сделать, — что все это очень сложно. Что ж, не зря на ПО в проектах часто отпускают куда большие суммы, чем на "желе- зо^но назначение у них другое — в основном они уходят на зарплату про- граммистов, а не на изготовление плат и макетов. А в чем вы выигрываете? В универсальности, надежности, потреблении, габаритах. Экономите вы и на макетах, потому что тут ничего макетировать не надо. Причем когда надо измерять что-то другое, то не надо принципиально переделывать ни схему, ни программу, и вот тут разработка ускоряется в разы (особенно, если вы не забыли вставить в свои старые программы комментарии). Между прочим, именно указанным обстоятельством обусловлена консервативность разработ- чиков микроконтроллерных систем, ведь новый процессор еще надо освоить, запастись проверенной библиотекой процедур, изучить его тонкости — а ка- кая, собственно, разница? Старый справляется не хуже, а в рекламе системы не напишешь, что, мол, "в нашей последней модели пылесоса использовано новое быстродействующее семейство микроконтроллеров", т. к. пользовате- лю на это глубоко плевать — внешне никакой разницы нет, не то, что с ком- пьютерами. Типичный пример— редкостная живучесть семейства 18051, ко- торое сама Intel бросила поддерживать еще в середине 90-х, но они до сих пор выпускаются чуть ли не всеми основными производителями (в том чис- ле, кстати, и Atmel) — модернизированные, с флэш-памятью, АЦП и прочи- ми современными "примочками", но по-прежнему упорно выполняющие по одной инструкции за 12 тактов. И это в то время, когда уже в начальники со- ответствующих подразделений полупроводниковых фирм выходят ровесники этого контроллера...
Глава 34 Заставить камни заговорить. Микроконтроллер и голосовая сигнализация Он издал слабый крик, который можно бы- ло принять за последний стон умирающего, и лишился чувств. А. Дюма, "Три мушкетера" Все вы, вероятно, встречались с приборчиками, которые выдают осмыслен- ные фразы или отрывки музыкальных мелодий. К чему далеко ходить — производители сотовых телефонов просто замучили своей "полифонией". Сидя в маршрутке, невольно вздрагиваешь, когда у соседки в сумочке вдруг то ребенок заплачет, то котенок замяукает. Не многие, однако, задавались вопросом —а как это делается? Всякие декодеры МР-3 и флэш-карты с запи- сью музыки появились лишь недавно, но это довольно сложные и относи- тельно дорогие устройства, не говоря уж. о цифровой музыке вообще — всех этих CD- и DVD-плеерах. Неужели в мобильник встраивают настоящий циф- ровой тракт, со всеми этими ЦАПами, фильтрами и усилителями? Вовсе нет. Главная идея, которая заложена в простую реализацию воспроизведения цифрового звука, изложена в приложении 3 и называется "усилитель в режи- ме D", от слова digital — цифровой. Ознакомившись с необычайно простым принципом действия этого режима, вы вправе задаться вопросом: а если у меня уже есть оцифрованная музыка, зачем мне компаратор и прочие ана- логовые штучки, если в микроконтроллере я могу просто сравнить два числа и, в зависимости от этого, выдать наружу импульс нужной длительности? Действительно, так можно поступать, причем программу реализации такого ШИМ'-режима писать самому не надо — разработчики МК уже решили эту проблему за вас. Счетчики-таймеры в МК семейства AVR могут работать в PWM-режиме. В этой главе мы рассмотрим простейшую реализацию такого режима и воспроизведем какую-нибудь фразу или отрывок мелодии. 1 Широтно-импульсная модуляция — pulse-wide modulation, PWM. 19 Зак. 710
570 Гпава 34 Рис. 34.1. Диаграмма работы счетчика таймера Timer 1 в PWM-режиме В дальнейшем мы будем ориентироваться на контроллер 85152. Работа счет- чика Timer 1 в режиме ШИМ состоит в следующем. Счетчик все время рабо- тает как реверсивный с заданной разрядностью. Если это 8 бит, то он считает от 0 до 255 и обратно. Если в регистр сравнения OCR1А заносится некоторое число в этих пределах, то при счете на увеличение в момент совпадения со- держимого счетчика с этим числом на выходе ОС1А появится высокий уро- вень, который сбросится при том же значении при обратном счете. Все это показано на диаграмме (рис. 34.1). Регистр сравнения OCR1A двухбайтовый, поэтому при 8-разрядных данных старший разряд OCR 1 АН нужно обнулить и записывать данные в младший OCR1AL. Максимальное число разрядов, с которым может работать Timer 1 в режиме PWM, равно 10, но мы остано- вимся на 8-разрядном звуке, потому что большее число градаций использо- вать нецелесообразно — как мы увидим, качество при этом способе получит- ся не ахти, и разрядность тут нам не поможет. Прежде чем писать программу и рисовать схему, разберемся, откуда можно взять звук. Нам требуется чистый 8-битный оцифрованный звук (без сжатия), т. е. набор байт должен соответствовать картинке на рис. 25.1. Частота оциф- ровки (т. е. то, что называется битрейтом) не должна быть высокой — если она будет выше 8 кГц, то придется использовать, например, каждый второй отсчет и расходовать память зазря. Практически достаточно 4 кГц. Эти зна- чения для аудиофилов могут показаться возмутительно низкими, но в нашем случае спроектировать hi-end-плеер все равно не выйдет, а практически все реальные звуки (особенно речь) в этот диапазон укладываются (например, обычный телефон работает именно в такой полосе частот). Итак, мы берем любой звуковой редактор, который позволяет регулировать указанные выше параметры (типа, скажем, Sound Forge), и записываем звук (моно!) в формате WAV. А сколько можно по длительности? Это зависит от 2 В некоторых современных моделях семейства tiny ШИМ-режим таймеров реализован не- сколько по-иному, в частности, там не требуется выбирать тактовую частоту контроллера как можно выше (см. дальше по тексту). Но я специально остановился на "классической" реализа- ции, т. к. для остальных AVR-контроллеров, в том числе и семейства mega, приходится дейст- вовать именно так, как описано ниже.
Заставить камни заговорить. Микроконтроллер и голосовая сигнализация 571 объема памяти, которую вы будете использовать. Подсчитать очень просто: если битрейт равен 4 кГц, то на секунду звучания необходим объем памяти в 4 Кбайт. Тогда память объемом 256 Кбайт даст нам чуть больше минуты звучания. Этого достаточно, чтобы произнести стандартную предвыборную речь кандидата в президенты, если предварительно ее отредактировать и вы- бросить все фразы, не несущие смысловой нагрузки. Хорошо, а какую память использовать? Проще всего взять флэш-память с двухпроводным интерфейсом I С, которая занимает мало места— напри- мер, АТ24С256 от той же Atmel в корпусе LAP-8 ("под панельку") или DIP-8. Программировать ее придется с помощью какого-нибудь универсального программатора, поэтому без панельки в схеме тут не обойдешься. Просто перепишите содержимое полученного WAV-файла в память, и все. К сожалению, процедура доступа к устройствам, работающим по интерфейсу I С, довольно сложна (и, кстати, в атмеловских Application Notes есть, как водится, ошибка в реализации этой процедуры). Я без дополнительных ком- ментариев привожу полный текст проверенной процедуры работы с интер- фейсом I С в приложении 7 . Она рассчитана на использование выводов РА6 и РА7, но ничто не мешает использовать любые другие выводы. Просто вставьте приведенный текст процедуры чтения read_i2c (и все остальные подпрограммы, на которые она ссылается, приведенные ниже по тексту) в свою программу. Можно создать отдельный файл с этими подпрограммами и включить его в вашу программу директивой . include, как вы включаете inc-файлы с определениями имен. Там же имеется процедура записи write_i2c, которая в данном случае не требуется, но может использоваться, например, при "общении" микроконтроллера с часами реального времени с таким интерфейсом. Теперь нарисуем схему — она очень проста (рис. 34.2). Цепи питания тут не показаны, все микросхемы питаются от +5 В, включая микросхему усилителя МС64119 (полная схема включения этого мини-усилителя показана на рис. 13.4). Вместо этого усилителя можно взять любой другой аналогичный, только отечественные из серии 174 лучше не использовать, т. к. у них низкое входное сопротивление и они будут шунтировать фильтр НЧ. Вот как раз RC-фильтр тут играет довольно важную роль, и выбирать его параметры нужно достаточно аккуратно. Этот вопрос мы сейчас и обсудим. 3 В большинстве последних mega-контроллеров интерфейс 12С реализован аппаратно, и работа с ним несколько напоминает работу с портом UART (хотя и сложнее — описание этого интер- фейса занимает' в руководстве страниц 30), но, тем не менее, процедура, которая приведена здесь, может пригодиться не только при использовании старого семейства classic, но и других современных типов, аппаратным ГС не обладающих.
572 Гпава 34 Рис. 34.2. Схема воспроизведения цифрового звука с помощью AVR-контроллера Тактовую частоту МК для такой схемы нужно выбирать максимально воз- можной, для обычного AT90S8515 это 8 мГц. Легко подсчитать, что ревер- сивный 8-разрядный счетчик будет при такой входной частоте считать туда и обратно с частотой/такт/510, т. е. в данном случае около 16 кГц. Это и будет несущая частота на выходе ШИМ. Чтобы ее отфильтровать простой RC- цепочкой, нам желательно, чтобы частота среза (она равна 1/2л/?С) не пре- вышала ее четверти, в данном случае частота 16 кГц будет затухать в 4 раза быстрее по сравнению с верхней частотой диапазона 4 кГц. Этому условию удовлетворяют параметры R = 10 кОм и С = 3,9 нФ. Для воспроизведения речи это удовлетворительно, хотя люди с развитым высокочастотным слухом будут слышать непрерывный свист. Выйти из этого положения можно, если использовать либо фильтр НЧ с более высокими характеристиками (с боль- шей крутизной), либо использовать AVR из более современной серии mega, например, mega8515, который имеет тактовую частоту до 16 МГц, соответст- венно несущая тогда будет иметь частоту примерно 31—32 кГц и выйдет за пределы восприятия. Интерфейс 12С— довольно капризная вещь, поэтому лучше пользоваться контроллерами, в которые он встроен (из серии mega). В данном же случае, если после загрузки программы схема сразу не заработает, то следует доба- вить "подтягивающие" резисторы 3—5 кОм по выводам 33 и 32 контроллера, подсоединив их к напряжению питания. Наконец, разберем программу. В начале нужно установить Timer 1 в PWM- режим и задать ему переключающий режим по выходу ОС1А такой, чтобы там устанавливался низкий уровень, а также запустить его со входной частотой, равной тактовой. Прерываний от Timer 1 никаких не требуется, он будет ра- ботать непрерывно, пока мы его не выключим. Управление битрейтом мы будем осуществлять по прерыванию переполнения Timer 0. Если каждый раз в него записывать некоторое число, то можно регулировать частоту таких прерываний. Включим его с частотой на входе, равной 1/8 тактовой (послед-
Заставить камни заговорить. Микроконтроллер и голосовая сигнализация 573 няя должна быть равна 8 МГц), тогда минимальная частота на выходе будет равна почти 4 кГц (3906 Гц = 8 МГц/8/256). Мы хотим частоту ровно 4 кГц (не следует окончательно портить звук еще и растяжением битрейта), поэто- му мы будем записывать каждый раз в него число 6, и он будет считать от 6 до 255, т. е. отсчитывать ровно 250 тактов, тогда прерывание будет происхо- дить с частотой ровно 4 кГц. Меняя эти параметры (указанное число и часто- ту на входе Timer 0), можно устанавливать любой битрейт. В процедуре пре- рывания мы производим загрузку очередного байта в Timer 1 и будем устанавливать некий флаг, а в основной программе заведем непрерывный цикл, в котором, если этот флаг установлен, производится чтение из памяти следующего байта. Текст этой несложной программы приведен ниже, при этом программа для чтения памяти находится в отдельном файле с именем i2c.prg. В этой программе число воспроизводимых байт ограничено 65 536 (64 Кбайт), т. к. для упрощения мы используем для их отсчета 16-разрядный регистр X, но при необходимости несложно добавить еще один регистр счет- чика и задействовать любую емкость памяти. ;==== программа вывода цифрового звука ==== /процессор 8515, частота 8 Мгц .include "8535def.inc" .equ T_Sample - б /предварительное значение для Timer 0 при 4 кГц .equ bSample = 0 /бит готовности к чтению /регистры temp и DATA определены в "12С.ргд" (Прилож. 8) .def FLAGS = rl9 rjmp RESET /на обработчик прерывания по Reset reti reti reti reti reti reti rjmp TIMO /обработчик прерывания переполнения Timer 0 reti reti reti reti reti .include "I2C.prg" RESET:
574 Гпава 34 ldi temp,ObOOlOOOOO out DDRD,temp /ОС1А - на выход ldi temp,(1«COM1A1)|(1<<PWM1O) /инициализация РИМ out TCCR1A,temp ldi temp,1<<CS1O /включаем Timerl, 1/1 out TCCRlB,temp ldi temp,1<<CSO1 ; включаем TimerO, 1/8 out TCCRO,temp out TCNTO,T_Sample ;T_Sample=6, заряжаем таймер на 4 kHz ldi temp, (1«TOIEO) /разрешаем прерывание TimerO out TIMSK,temp clr temp /очищаем все регистры out OCRlAH,temp out OCRlAL,temp out OCRlBH,temp out OCRlBL,temp ldi XH,high(Nbytes) ldi XL,low(Nbytes) /зарядка счетчика выводимых байт /вместо Nbytes подставить объем записи в байтах, не более 64К ldi YH,high(ADrWord) ldi YL,low(ADrWord) /вместо ADrWord подставить начальный адрес байт во флэши, /он может быть отличен от 0:0 loop_voice: /читаем байт для последующего вывода rcall read_i2c /чтение памяти, в YL,YH - адрес, в DATA - получ. байт sleep /Idle-mode, проснется по прерыванию TimerO sbrs FLAGS,bSample / бит встает в 1 в обработчике прер. TIM0 r jmp loop_voice /если еще не установлен, то на начало цикла adiw YL,1 /иначе увеличиваем адрес на 1 cbr FLAGS,l<<bSample /сбрасываем бит готовности к чтению sleep /Idle-mode, проснется по прерыванию TimerO in temp,TCCRO /проверяем, не остановлен ли таймер tst temp brne loop_voice /если не остановлен, то следующий цикл /иначе вывод звука закончен - делаем что-то еще /========= обработчик прерывания от Timer 0 ============ TIMO : out TCNTO,T_Sample /перезаряжаем TimerO
Заставить камни заговорить. Микроконтроллер и голосовая сигнализация 575 clr temp out OCR1AH,temp out OCR1AL,DATA /занесение байта в PWM sbr FLAGS,l<<bSample /бит готовности к чтению - в 1 sbiw XL,1 /уменьшаем счетчик прочитанных байт brne rt_pwm_ /если он равен 0 out TCCR0,XL /то выключаем таймер 0 out TCCR1B,XL /и Timer 1 также rt_pwm_: reti /возврат из обработчика TimerO Кстати, нетрудно организовать даже стереозвук, если подключить второй переключающий вывод— ОС1В. При этом данные второго канала надо по- давать одновременно на регистр OCR1B. Надеюсь, читатель сам сообразит, как из этой программы попробовать со- орудить, например, говорящие часы или часы с боем. В память записываются фрагменты звучания, и в нужный момент программа обращается по нужному адресу. Единственная сложность— нехватка таймеров, так что непрерывный счет времени становится затруднительным. Проще всего это препятствие преодолеть использованием МК 8535 или семейства mega, в которых есть еще один, третий таймер — ему и надо поручить счет на время "разговора". Еще лучше использовать внешнюю микросхему RTC. Несомненно, читатели также придумают что-то свое.
Глава 35 Страна советов. Некоторые полезные схемы — Мне нужно знать, по какой дороге ехать, — сказал д'Артаньян. А. Дюма, "Три мушкетера” В заключение этого изложения приведу несколько схем, которые либо не вошли в соответствующие разделы, либо не укладываются ни в один из них. Общей отличительной чертой их является неочевидность — самому такое придумать трудно, а между тем схемы эти могут быть полезны для использо- вания в радиолюбительской практике. Схема мультивибратора на транзисторах Это классическая схема мультивибратора, которая ранее разбиралась в каж- дом учебнике по электронике, а (сейчас почти забыта ввиду распространения микросхем (рис. 35.1). Не привести ее в книге, посвященной началам схемо- техники, было бы просто неприлично. Однако она представляет собой не только историческую ценность, но и может понадобиться на практике, в ос- новном, потому, что компактна, разводка ее на плате не привязана к сетке с шагом 2,5 или 1,25 мм и в устройстве, где микросхемы не используются вообще, удобнее применять именно ее. Другим плюсом схемы является то, что напряжение питания здесь, вообще говоря, может быть любым в преде- лах допустимого для применяемых транзисторов, хотя и на базах транзисто- ров возникают отрицательные выбросы, но на надежность схемы это, как по- казывает практика, не влияет. Частота работы зависит только от транзисторов и может колебаться в широ- ких пределах от долей герца до десятков мегагерц. При очень низких часто- тах, естественно, потребуются электролитические индикаторы, тогда поляр- ность их должна быть такой, как указана на рисунке. Обычно применяют симметричный мультивибратор, при этом /?2 = Дз = а Q = ^2 = С (коллек- торные резисторы могут и несколько различаться, но должно соблюдаться
578 Гпава 35 известное соотношение Rq/Rk < р), тогда рабочая частота будет равна -1/2RC. Если взять разные конденсаторы и резисторы в базовых цепях, то выходной сигнал будет несимметричным. Подсчитать частоту на выходе мультивибра- тора в зависимости от параметров тогда проще всего из тех соображений, что каждый полупериод будет длиться соответственно постоянной времени сво- его плеча и не зависит от противоположного: так, при /?3 = R2= 10 кОм, С| =0,1 мкФ и С2= 1 мкФ один полупериод будет равен R2C2 = 0,01 с, а вто- рой /?3С] = 0,001 с, и сигнал на выходе будет иметь скважность 10 с частотой 1/(0,01 + 0,001) ~ 100 Гц (т. е. частота в данном случае фактически будет оп- ределяться одним плечом). Скважность можно менять плавно одним из рези- сторов, но в небольших пределах, чтобы не выйти за усилительные возмож- ности транзистора. Трудность плавного изменения частоты, особенно при сохранении скважности, равной 2, является недостатком этой схемы. Рис. 35.1. Простейший мультивибратор на двух транзисторах Чувствительный детектор Детектор— это другое название выпрямителя, одно- или двуполупериодно- го. Обычно оно употребляется там, где идет речь не о силовом напряжении, а о сигналах более высокой частоты, например, в радиоприемниках. Простой диодный детектор обладает тем недостатком, что нечувствителен к малым напряжениям, попадающим на начальный участок вольтамперной характери- стики, поэтому, кстати, в детекторах обычные кремниевые диоды чаще всего не ставят, а используют германиевые или диоды с переходом Шоттки, у ко- торых прямое падение меньше. Но принципиально это не решает пробле- мы — малых напряжений порядка десятков милливольт такой детектор про- сто не чувствует (посмотрите на схему защиты входа усилителя на рис. 7.5). Для того чтобы детектировать такие сигналы, используются разные методы,
Страна советов. Некоторые полезные схемы 579 из которых мы рассмотрим два варианта однополупериодных детекторов, годящиеся для низкочастотных сигналов и могущие быть примененными, например, в схеме мультиметра для измерения переменных напряжений. Рис. 35.2. Чувствительные детекторы: а — с диодом; б — с n-канальным полевым транзистором Схема на рис. 35.2, а является самой простой. Работа ее несложна: для поло- жительных сигналов это фактически повторитель, причем напряжение на вы- ходе на 0,6 В превышает входное (обратите внимание, что выход схемы не является выходом ОУ). Вблизи нуля они сравниваются, а ниже нуля выход- ное напряжение равно практически точно нулю, т. к. диод при этом заперт и на работу схемы не влияет. Недостатка у схемы два. Первый — высокое вы- ходное сопротивление, которое /равно сопротивлению резистора, т. е. в дан- ном случае 10 кОм. Поэтому либо воспринимающая схема должна иметь очень высокое входное сопротивление, либо необходим дополнительный бу- ферный повторитель. Второй недостаток состоит в том, что при переходе от отрицательного напряжения к положительному, ОУ выходит из состояния отрицательного насыщения, и это может длиться довольно долго— если скорость нарастания равна 0,5 В/мкс, как для нашего любимого цА741, то при напряжении питания ±10 В время выхода составит 20 мкс, что соответст- вует полному отрезанию частот выше 50 кГц и сильному искажению более низких. Если это несущественно (например, при детектировании напряжения с частотой промышленной сети 50 Гц), то можно наплевать, но лучше, во- первых, здесь использовать быстродействующие усилители, во-вторых, ус- ложнить схему введением второго диода. При этом детектор придется делать инвертирующим, и у него упадет на этот раз входное сопротивление, так что мы эту схему рассматривать не будем. Частично свободный от этих недос- татков вариант дву полу периодного детектора подробно разобран в [20]. Второй вариант детектора, причем очень чувствительного, показан на рис. 35.2, б. Здесь ОУ фактически представляет собой компаратор (коэффи-
580 Гпава 35 циент усиления его ограничен на уровне 1000 для повышения стабильности работы, в принципе цепочку обратной связи можно убрать), который управ- ляет ключом на полевом МОП-транзисторе с п-каналом. Если напряжение на входе отрицательное, транзистор заперт, если положительное— открыт и пропускает на выход входное напряжение. Этот детектор в принципе может "ловить" входные напряжения хоть в единицы милливольт, все зависит толь- ко от используемого ОУ. Подстройка нуля, как понимаете, здесь обязательна, особенно при необходимости "ловли блох", и поэтому на схеме показан соот- ветствующий переменный резистор, подключение которого зависит от типа ОУ. Подстройка нуля также может понадобиться, если транзистор не обога- щенного, а обычного типа и у него полное запирание происходит при отри- цательном напряжении на затворе (например, КП305). Все требования по бы- стродействию ОУ здесь те же самые, что и в предыдущей схеме. Электронное реле Самодельное электронное реле можно получить, если использовать тири- сторный (точнее его назвать динисторным, но так уж принято) оптрон в со- вокупности с симистором. Схема реле показана на рис. 35.3. ззо г-* ~ 220 в АОУЮЗВ КЦ407 Рис. 35.3. Самодельное электронное реле переменного тока 220 В на нагрузку 1 кВт Особых пояснений схема не требует: при подаче тока через светодиод оптро- на тиристор включается при любой полярности напряжения на симисторе и тем самым обеспечивает ток управляющего электрода в обоих полупериодах. Если ток выключить, то по окончании очередного полупериода и тиристор, и симистор закроются. Разумеется, никакой zero-коррекции здесь нет. Величи- на управляющего тока— порядка 5—10 мА. Чтобы сделать схему более эко- номичной по управляющим цепям, вместо одного длительного импульса можно подавать пачку коротких, с частотой не менее нескольких сотен герц. Можно приспособить эту схему и к фазовому управлению нагрузкой (см. главу 11). Между прочим, на резистор 330 Ом отнюдь не действует пол- ное сетевое напряжение, как может показаться на первый взгляд, т. к. в ра-
Страна советов. Некоторые полезные схемы 581 зомкнутом состоянии тиристора оптрона мост представляет собой обрыв це- пи, а при замыкании его посреди полупериода, симистор открывается прак- тически мгновенно, так что на резистор действует только очень небольшое напряжение. И все же следует его выбирать не менее чем полуваттным — так положено при работе в высоковольтных цепях. Реле при указанных на схеме типономиналах может обеспечить мощность в нагрузке до 1 кВт, тиристор, однако, при этом следует поставить на радиатор порядка 50—100 см2. Схема реле с управлением одной кнопкой Эта схема по выполняемым функциям представляет собой кнопку с фиксаци- ей. Однако сами по себе кнопки с фиксацией употребляют нечасто, т. к. они менее надежны и удобны, чем обычные подпружиненные. Реализовать такую функцию можно, если объединить схему антидребезга, например, на RS- триггере (см. рис. 24.3) и счетный триггер. Решается это на одной микросхе- ме 561ТМ2, но: во-первых, требуется переключающая кнопка (с тремя выво- дами), во-вторых, выход такой схемы для управления мощной нагрузкой тре- буется умощнять — ставить транзистор и реле. Приведенная на рис. 35.4 конструкция, как видите, очень проста и реализована на самом реле и одном транзисторе. При первом нажатии на кнопку транзистор открывается током разряда конденсатора, реле замыкается и блокируется по базовой цепи тран- зистора своими же контактами. Конденсатор при этом отключается от пита- ния и, если отпустить кнопку, быстро разряжается через диод и резистор 1,6 кОм. Если теперь нажать кнопку вторично, то транзистор запрется (кон- денсатор в первый момент представляет собой к. з., как мы помним) и от- ключит реле. Естественно, чтобы делать еще что-то полезное, реле должно иметь вторую пару контактов. J Рис. 35.4. Управление реле одной кнопкой
582 Гпава 35 Если вы хотите таким образом управлять включением сетевого питания, то возникает проблема, заключающаяся в том, что в начале работы схема обес- точена. В телевизорах для включения их от пульта или в компьютерах с кор- пусами АТХ это решается тем, что при подключении шнура питания подоб- ная схема сразу получает питание, а уж включать основное питание или нет — ваше дело. Однако это довольно заковыристый метод и не очень кор- ректный с точки зрения пожарной безопасности (инструкция к телевизору советует отключать его от сети при длительном перерыве в эксплуатации). Решить это можно гораздо изящнее: надо использовать кнопку с двумя пара- ми контактов, такую, у которой есть ощутимый дополнительный ход между замыканием одной пары контактов и другой. Подойдут сдвоенные отечест- венные кнопки на микропереключателях МП-1. Через ту пару, которая замы- кается раньше, нужно завести напряжение сети и подать его на блок питания, а вторую включить в приведенную схему. Тогда процедура включения стано- вится такой: вы слегка нажимаете кнопку, питание при этом включается, но, чтобы зафиксировать его, надо кнопку дожать до конца, иначе при отпуска- нии питание выключится. Необходимая пауза зависит от мощности транс- форматора и емкости конденсаторов фильтров. Если вам кажется, что такая процедура слишком заумная, то вы ошибаетесь: во-первых, вы гарантиро- ваны от случайного включения (например, детьми), во-вторых, привыкнуть к двухступенчатому нажатию довольно просто, как показывает опыт обра- щения с цифровыми фотокамерами. Датчик воды В том смысле "датчик воды", что он показывает наличие воды, омывающей его контакты. Датчик прост (рис. 35.5), и схема его особых пояснений не тре- бует (логический элемент— любой из серии 561, а диод нужен на всякий случай, чтобы продублировать защитные диоды по входу микросхемы), но в нем есть два нюанса. Нюанс первый заключается в том, что вода бывает разная: дистиллированная, талая, дождевая, речная, водопроводная, морская, наконец. У всех этих разновидностей электропроводность может различаться на порядки. Измерить ее очень сложно (из-за процессов электролиза и сопут- ствующей поляризации контактов), поэтому придется настраивать датчик подбором сопротивления резисторов делителя прямо на готовой конструкции так, чтобы при наличии воды элемент уверенно перебрасывался в состояние лог. 1, а при ее отсутствии, но при смоченном промежутке между контакта- ми — так же надежно устанавливался в 0. Для того чтобы смачивание было меньше, следует контакты поместить в обрамление из полиэтилена (который водой не смачивается). Второй нюанс— вопрос стабильности при длитель- ной работе. Как ни малы здесь токи, но электролиз неизбежно будет идти,
Страна советов. Некоторые полезные схемы 583 что, в конце концов, вызовет коррозию контактов, причем в первую очередь того, что подсоединен к более высокому потенциалу. Кроме того, что еще важнее, контакты в стоячей воде летом могут обрастать всякими микроорганизмами. Самый хороший выбор материала для контакта в этой ситуации — свинец или сплавы меди, которые выделяют микроскопические (незаметные для че- ловека) количества вредных веществ и тем препятствуют обрастанию, и в то же время достаточно химически инертны, чтобы долгое время противостоять коррозии. Рис. 35.5. Датчик наличия воды Датчик может быть использован в регуляторе для автоматического поддер- жания постоянного запаса воды. Расположив два таких датчика вверху и вни- зу резервной емкости, по нижнему— мы включаем насос, по верхнему — отключаем. Если корпус емкости с водой металлический и некрашеный, то, естественно, специальный нижний контакт не требуется. Детектор электромагнитного поля Слово "детектор" здесь употребляется в несколько ином смысле, чем ра- нее — а именно в изначальном его значении, как "определитель", "датчик". Это единственная, пожалуй, в этой книге схема, которая (штатно) работает в радиочастотном диапазоне, но вы увидите, что ничего особенного в ней, кроме выбора транзисторов, нет. Устройство относится к разряду антишпи- онских штучек и предназначено для поиска в помещении источников радио- сигнала— радиомикрофонов. Собственно говоря, защита от подобных вещей (а заодно и от многих других, например, от сканирования компьютерных из- лучений) довольно проста — нужно поставить в помещении источник "белого" (т. е. чисто случайного) радиочастотного шума, проще говоря — глушилку,
584 Гпава 35 действие которых памятно нам по советским временам. Однако делать это без крайней надобности не рекомендуется — маломощная глушилка неэф- фективна, а достаточно эффективная не только заткнет все радиоприемники и мобильники в ближайших окрестностях, но и вызовет обоснованный инте- рес со стороны органов, контролирующих радиочастотный спектр. Кстати, чтобы защитить компьютеры с критичной информацией от радиопрослуши- вания, можно рекомендовать дорогой, но эффективный метод: установите их в помещении без окон, в стены, полы и потолки которого заштукатурена дос- таточно мелкая металлическая сетка. Рис. 35.6. Детектор электромагнитных излучений А вот такое пассивное поисковое устройство недорого и не требует никаких разрешений. Можно придумать много его модификаций разной степени сложности, и я остановился на одной наиболее универсальной и надежной, хотя и достаточно громоздкой реализации. Сама схема (рис. 35.6) заимство- вана из книги [31]1. В данном варианте схема немного модернизирована, и в ней исправлены некоторые ошибки, содержавшиеся в оригинале. Питается схема от батарейки типоразмера "Крона". Входные каскады усили- теля ВЧ питаются от дополнительного стабилизатора на стабилитроне КС156Г, генератор прерывистого сигнала на микросхеме 561ЛА7 (см. главу 23), естественно, следует питать прямо от батарейки. В качестве антенны лучше всего использовать телескопическую антенну от радиоприемника. Наведен- ный в антенне сигнал усиливается транзисторами VT1-VT3 и поступает на детектор, собранный на диодах VD1-VD2 (по схеме с удвоением напряже- ния). Эти диоды следует выбирать высокочастотные либо германиевые (Д9), 1 В целом довольно малосодержательной, несмотря на громкое название, и изрядно устарев- шей, но пару-тройку интересных вещей там найти можно: например устройство направленных микрофонов различных типов.
Страна советов. Некоторые полезные схемы 585 либо с переходом Шоттки (КД922). Если сигнала нет, то конденсатор на вы- ходе детектора заряжен, а транзистор VT4 открыт током через регулирую- щий потенциометр и остальные резисторы в базовой цепи. На его коллекторе лог. О, и генератор "заткнут". Когда высокочастотный сигнал появляется, напряжение на выходе детектора снижается, и транзистор запирается, гене- ратор начинает выдавать сигналы прерывистого тона 1 кГц через пьезокера- мическую "пищалку" Q1. Потенциометром можно регулировать чувстви- тельность, которую следует сделать такой, чтобы в отсутствие излучений приборчик "молчал". Низкочастотные наводки (сетевые) отфильтровываются за счет малости переходных конденсаторов усилительного каскада. Граница частоты, до которой работает детектор, обусловлена в основном вы- бором транзисторов VT1-VT3 (VT4 может быть любым маломощным, на- пример, из серий КТЗ 15 или КТЗ 102). Авторы рекомендуют ставить супер- высокочастотные транзисторы КТ3101 (4 ГГц!) с полосковыми выводами и утверждают, что граница частоты при этом (с учетом "любительского" ха- рактера монтажа и без тщательного выбора остальных деталей) составит примерно 1 ГГц. Лично я не стал бы гнаться за сверхвысокими частотами по той причине, что радиомикрофоны работают обычно на частотах в диапазоне 28—30 МГц, иногда на других, но того же порядка, зато сейчас существует множество вполне мирных СВЧ-устройств, которые будут сбивать вас с тол- ку: это сотовые телефоны (GZM900 и CDMA), беспроводные телефоны DECT, беспроводные мыши и клавиатуры, WiFi и Bluetooth-устройства и т. п. Конечно, в том, что касается шпионского оборудования, уверенным нельзя быть ни в чем (лично я бы сделал радиомикрофон на основе мобильника, если бы передо мной поставили такую задачу), поэтому окончательный вы- бор — за вами. Если очень высокая частота не требуется, то можно обойтись и транзисторами типа КТЗ 15 или КТЗ 102 (диапазон тогда составит порядка 200—300 Мгц). Если продолжить эту тему, то можно привести идею еще одного антишпион- ского устройства, конкретную схему которого я рисовать не буду ввиду ее тривиальности и большого количества возможных вариантов реализации. Это устройство сможет защитить вас от такого распространенного метода про- слушивания помещений, как регистрация звуковых колебаний по дрожанию оконных стекол. Сам метод был, кстати, еще в 50-х годах XX века придуман Львом Терменом, более известным как изобретатель первого электронного музыкального инструмента под названием "терменвокс". Настоящее второе рождение метод получил с распространением лазеров — ваше окно облуча- ется ИК-лазером, и частота отраженного излучения оказывается модулиро- ванной колебаниями стекла. Чтобы защититься от этого, можно просто... от- крыть окно. Но, во-первых, это не всегда возможно, во-вторых, тогда вас
586 Глава 35 могут прослушивать направленным микрофоном. Поэтому проще всего уста- новить глушилку, причем, в отличие от радиоглушилок, никаких неудобств она никому практически не доставит— будет себе тихонько зудеть. Идея состоит в том, что вы берете схему генератора качающейся частоты (ГКЧ) и присоединяете к его выходу несколько "пищалок", соединенных последо- вательно. Никаких усилителей не требуется, достаточно выхода простой КМОП-микросхемы, работающей от 5—10 В. "Пищалки" расклеиваются по стеклам окон (внутренним), желательно в самом их центре. ГКЧ должен выдавать меняющуюся частоту в диапазоне от 100—200 Гц до примерно 2—4 кГц. Его можно соорудить из генератора, управляемого напряжением, схемы которых многочисленны (есть и специальные микросхемы — МАХ654, к примеру), и генератора треугольных импульсов, который делает- ся из мультивибратора и интегрирующей RC-цепочки. Причем чем неста- бильнее составляющие ГКЧ, тем, в данном случае, лучше.
ПРИЛОЖЕНИЯ
Приложение 1 Резисторы Международная цветная маркировка резисторов 1 — первая цифра, 2 — вторая цифра, 3 — множитель, 4 — до- пуск (красный — 2%, золоти- стый— 5%, серебряный — 10%, отсутствует — 20%), 5 — необя- зательный элемент (надеж- ность). Цифра 1 и 2 Цвет Множитель Серебряный 0,01 Ом Золотистый 0,1 Ом 0 Черный 1 Ом 1 Коричневый 10 Ом 2 Красный 100 Ом 3 Оранжевый 1 К 4 Желтый 10 К 5 Зеленый 100 К 6 Голубой 1 М 7 Фиолетовый 10 М 8 Серый 9 Белый Пример: красно-желто-оранжево-золотистый — резистор на 24 кОм с допуском 5%
590 Приложения Таблица номиналов резисторов и конденсаторов с допуском 5% (ряд Е24) и 10% (ряд Е12) 10 16 27 43 68 11 18 30 47 75 12 20 33 51 82 13 22 36 56 91 15 24 39 62 Примечание: Ряд Е12 выделен жирным. Таблица номиналов 1%-ных резисторов (ряд Е96) 100 140 196 274 383 536 750 102 143 200 280 392 549 763 105 147 205 287 402 562 787 107 150 210 294 412 576 806 110 154 215 301 422 590 825 113 158 221 309 432 604 845 115 162 226 316 442 619 866 118 165 232 324 453 634 887 121 169 237 332 464 649 903 124 174 243 340 475 665 931 127 178 249 348 487 681 953 130 182 255 357 499 698 976 133 187 261 365 511 715 137 191 267 374 523 732
Приложение 2 Стандартные обозначения и размеры некоторых гальванических элементов Тип Обозначение Размеры, мм Масса, г Междунар. Отечествен. Диаметр Длина 6F22 6LR61 Крона 17.5x26.0 48 40 ААА R03, LR03 286 10.5 45 8,5 АА R6, LR6 316 14.5 50,5 16.5 С R14, LR14 343 26.2 50 49 D R20, LR20 373 34.2 61.8 90
Приложение 3 Классы усилителей В зависимости от режима работы выходных транзисторов усилители (не только УМЗЧ) делятся на классы. Различают классы А, В, АВ, С, D, G и Н, недавно был также предложен еще один класс — Т. Классы D и Т относятся к дискретным (цифровым) усилителям, остальные — к линейным (аналого- вым). Рассмотрим особенности режимов работы выходного каскада для этих классов. Для того чтобы в дальнейшем рассмотрении важнейшего (особенно в случае УМЗЧ) вопроса о КПД для различных классов сделать более понят- ным, приведем точное определение действующего значения напряжения пе- ременного тока ил (именно действующее значение определяет мощность на нагрузке и выходных транзисторах, а следовательно, и КПД): I i т ил=и — f:<2(T)dr (1) V У0 о Здесь Ua— амплитудное значение напряжения u(t), Т— период (в данном случае мы рассматриваем полпериода от 0 до тс). Для синусоидального на- пряжения z/(0 = sin(r): ,, ГТ f • 2/XJ ГТ Ц|Tt sin 2t LL L'a=L'ai -Jsm (0Л=1/ -Io-,, --------T- =-A (2) у я Q у 71 ( 2. J у/2 Г 2 При выводе учитывается, что Jsin (t)dt = t/2 + sin(2r)/4. Это соотношение для действующего значения (без вывода) уже приводилось в главе 4. Итак, рассмотрим классы усилителей. Класс А (рис. П3.1) — это фактически режим, соответствующий усилитель- ному каскаду с общим эмиттером (см. рис. 6.7). В классе А на коллекторе транзистора устанавливается ровно половина питания. Если считать пере- ходную характеристику каскада строго линейной (сплошная линия на рис. П3.1), то амплитуда выходного сигнала может достигать напряжения пи- тания. Для оценки КПД в этом идеализированном случае обратим внимание, что незатемненная область на графике выходного напряжения соответствует
Приложение 3. Классы усилителей 593 мгновенным (в каждый момент времени) значениям напряжения на нагрузке, а затемненная — напряжениям на выходном транзисторе. Как мы видим из графика, эти области строго равны друг другу по площади, поэтому соответ- ствующие интегралы (1) и действующие значения напряжения на нагрузке и на транзисторе также будут равны, так что КПД будет равен ровно 50% — половина затрачиваемой мощности выделяется на нагрузке, половина— на транзисторе. В реальности же переходная характеристика имеет S-образный вид (пунктир на рис. П3.1), поэтому во избежание искажений приходится ог- раничивать амплитуду сигнала, так что в действительности КПД может быть значительно меньше. Да и реальный сигнал никогда не достигает максималь- ных амплитудных значений. Другим крупнейшим недостатком класса А яв- ляется то, что в отсутствие входного сигнала через транзистор течет большой ток (причем легко показать, что именно в отсутствие сигнала мощность, вы- деляющаяся на транзисторе, будет максимальной, и в этом случае КПД фак- тически равен 0). Вместе с тем режим класса А позволяет без лишних про- блем получить неискаженный сигнал, усиленный как по току, так и по напряжению, и поэтому широко используется в маломощных каскадах, где КПД не имеет существенного значения. Например, в этом режиме работает "раскачивающий" каскад на транзисторе VT3 в УМЗЧ из главы 9. Рис. П3.1. Режим работы усилителя класса А
594 Приложения Режим усилителя класса В фактически используется только в двухтактных схе- мах эмитгерных повторителей, подобных показанной на рис. 9.2. На рис. П3.2 изображены соответствующие графики для одной (положительной) полови- ны такого каскада (для второй половины все— в случае идеального согласо- вания характеристик выходных транзисторов— строго симметрично). Как мы видим, выходное напряжение представляет собой половину синусоиды, и в отсутствие входного сигнала ток через транзистор(ы) равен нулю. Примем, как и выше для класса А, что переходная характеристика строго линейна, и попробуем оценить теоретический КПД. Рис. П3.2. Режим работы усилителя класса В Действующее значение напряжения на нагрузке равно, как следует из фор- мулы (2), UH = Ua /д/2 (в общем случае Ua Ф £/пит), отсюда мощность в на- грузке будет равна U 2 NH = —— (R — сопротивление нагрузки). 27?
Приложение 3. Классы усилителей 595 Мгновенное значение напряжения на транзисторе можно определить как "ос- таток" от того, что выделяется на нагрузке (затемненная область на рис. П3.2), то есть ит = £/пит - (Маленькими буквами мы здесь обозначаем мгновен- ные значения.) Ток через транзистор тот же самый, что и через нагрузку, и его величина будет равна гн = uH(t)/R. Тогда мгновенная мощность на транзи- сторе выразится формулой: «Т = мтгн = Кит - мн • Средняя же мощность в одном плече определится формулой (обратите вни- мание, что хотя мы считаем для одного плеча, осреднение происходит по полному значению периода 2л, просто в течение второго полупериода плечо не работает): 1 л 7VT ~ ~ ~ J[^пит “ мн (0]ин (t)dt. 2лк J Для синусоидального напряжения подставим ин(г) = £/asin(r), fsin(?)^ = - cos(z), f 2 а также выражение для J sin (t) (см. выше), и получим: Ат 1 и и и 1 а*-7 пит _ а R л 4 к 7 Суммарная мощность, потребляемая от источника, будет равна сумме мощ- ностей на обоих транзисторах и нагрузке, а КПД выразится формулой (вели- чина сопротивления нагрузки R в числителе и знаменателе сокращается): N КПД =------У--- (7VH+27VT) л/7а2 а___ 4^пит Учтем, что в данном случае £/пит = Ua, и окончательно получим, что теорети- ческий КПД для усилителя класса В составляет л/4 = 0,785 = 78,5%. Практи- чески же КПД будет существенно меньше псУуелому ряду причин. Первая причина — та, что мы считали для максимального значения сигнала, а в ре- альности, как и для случая класса А, сигналы достигают этой величины толь- ко изредка. На рис. ПЗ.З приведены графики распределения мощностей и изменения КПД в зависимости от амплитуды сигнала. Интересно, что в от- сутствие сигнала КПД, как и для класса А, равен 0, но есть одно существен- ное различие— сама мощность, потребляемая от источника питания, при этом также равна 0.
596 Приложения Кроме этого, есть и другие.причины снижения КПД. Во-первых, переходная характеристика, как и для случая класса А, не является прямой линией — практически это выражается в том, что напряжение на выходе будет ограни- чиваться величинами, меньшими, чем напряжение питания. Напряжение на выходе будет всегда ниже входного, по крайней мере, на величину падения напряжения база-эмиттер. Все это само по себе уменьшит незатемненную область на графике и увеличит затемненную. Рис. ПЗ.З. Распределение мощностей и величина КПД в зависимости от относительной амплитуды выходного сигнала в усилителях класса В: 1 — мощность на каждом из транзисторов; 2 — мощность в нагрузке; 3 — суммарная мощность, потребляемая от источника; 4 — КПД Главное же, что в чистом виде класс В для усиления аналоговых сигналов не используют— из-за больших искажений типа "ступенька" (см. главу 9). По- этому практически классы В и А объединяют, создавая некоторый начальный ток смещения комплементарной пары — такой режим усилителя известен как класс АВ, и большинство аналоговых схем построено по этому принципу (в главе 9 мы обеспечивали режим АВ с помощью цепочки диодов). Все это касается случая, когда выходной каскад составлен из биполярных транзисто- ров. Применение комплементарных полевых транзисторов может существен- но снизить искажения, однако там появится новая напасть — в момент ра- венства сигнала нулю оба транзистора пары будут приоткрыты (эффект "сквозного тока", аналогичный тому, что происходит при переключении в КМОП-микросхемах), что равносильно принудительному смещению бипо- лярных транзисторов. Все это приводит к тому, что КПД "хороших" усилите- лей класса АВ составляет от силы 60%, а часто еще меньше (именно поэтому в главе 9 мы рассматривали схемы с величиной мощности на выходных тран- зисторах, равной мощности в нагрузке).
Приложение 3. Классы усилителей 597 На остальных аналоговых классах мы подробно останавливаться не будем. Класс С есть "усугубленный" класс В — то есть выходной сигнал может быть обрезан как сверху, так и снизу. Излишне говорить, что такой режим приво- дит к очень большим искажениям, однако усилители класса С все же находят применение— в основном там, где наличие гармоник в спектре либо не имеет значения, либо, наоборот, используются именно гармоники (скажем, в неко- торых радиочастотных конструкциях). Классы G и Н есть вариации на тему АВ — в них обоих, несколько по-разному, с целью повышения КПД проис- ходит изменение напряжения питания в соответствии с уровнем выходного сигнала (примерно так же, как в главе 10 было предложено управлять им для повышения КПД аналоговых стабилизаторов). Очень популярен в настоящее время класс D. Аналоговый сигнал там не усиливается сам по себе— сначала он переводится в цифровую форму, то есть в последовательность прямоугольных импульсов, для усиления которых не нужно никаких ухищрений — чаще всего используют комплементарную пару подобно режиму В (так же, как усиливается сигнал на выходе логиче- ских КМОП-микросхем, см. главу 20). Выгода заключается в том, что теоре- тически КПД импульсного усилителя может быть равен 100%. Это происхо- дит потому, что какой-то из транзисторов пары всегда заперт, а второй транзистор в это время полностью открыт, и мощности на них не выделяется. Это, конечно, в теории, потому что из глав, посвященных транзисторам, вы знаете, что, во-первых, падение напряжения на открытом транзисторе все же имеет место (у биполярного транзистора оно может составлять от 0,3 до 1 В в зависимости от мощности, а у полевых оно происходит за счет конечного сопротивления канала), во-вторых, как мы уже говорили, при использовании полевых транзисторов имеют место и сквозные токи. Еще одно важное об- стоятельство, снижающее КПД, — то, что переключение не происходит мгно- венно и транзисторы некоторое время находятся в линейном режиме, тогда на них также теряется энергия. Так что реальный КПД составляет 85—90%, что, конечно, все равно много лучше аналоговых режимов, особенно учитывая то обстоятельство, что КПД здесь никак не зависит от уровня входного аналого- вого сигнала. Так что большинство современных "ширпотребовских" усили- телей, в том числе очень мощных, выполняют именно в классе D. Рассмотрим подробнее, как это происходит — ведь мы еще ни слова не сказали о том, как именно кодируется аналоговый сигнал и как его потом "извлекают обратно". В классе D используется т. н. ШИМ— широтно-импульсная моду- ляция, когда скважность импульсов некоторой частоты (заведомо более вы- сокой, чем высшая частота аналогового сигнала) зависит от амплитуды аналогового сигнала. Традиционный способ такого преобразования показан на рис. П3.4.
598 Приложения Рис. П3.4. Блок-схема классического усилителя класса D Опорная частота (/оп на рис. П3.4) обычно составляет порядка 200—500 кГц. Чем она выше, тем меньше искажения сигнала, причем при возможности ис- пользования более простого ФНЧ (в данном случае— обычной интегри- рующей RC-цепи, хотя часто используют и LC-фильтры1), но и тем выше требования к быстродействию компаратора и потери при переключении мощных транзисторов двухтактного каскада. Сигнал опорной частоты имеет треугольную форму, и обычно его получают из прямоугольного меандра с помощью интегратора на ОУ (см. рис. 14.5, а) — требования к стабильно- сти частоты невысоки, а вот форма сигнала должна быть как можно ближе к треугольной, иначе возникнут искажения. Искажения особенно заметны при малых сигналах, так как в дело вступают неидеальности компаратора и нало- женные на сигналы шумы. Класс Т, предложенный фирмой Tripath Technology, позволяет существенно улучшить характеристики усилителя класса D — там опорная частота изменяется в зависимости от величины входного напряже- ния (аналогично тому, как в усилителях класса Н и G изменяется напряжение питания). Усилители класса D широко распространены в современной рядовой аппара- туре из-за простоты реализации, экономичности (что особенно важно при батарейном питании) и еще одного обстоятельства, на котором мы здесь кратко остановимся. Дело в том, что при условии наличия уже оцифрованно- го аналогового сигнала (например, считанного с аудио-CD или загруженного из WAV-файла) весь цифровой узел, включая источник опорного сигнала и компаратор, можно смоделировать внутри микроконтроллера с помощью ре- версивного счетчика, которые в состав МК обычно и так входят. Такая мо- дель будет значительно дешевле обычной схемы, но для получения высоких характеристик нужен достаточно быстрый микроконтроллер (см. главу 34). 1 Теоретически фильтр можно не ставить вообще, так как динамическая головка все равно воспроиз- водит только слышимые частоты, практически же ставить в большинстве случаев приходится.
Приложение 4 Справочные данные компонентов Ниже приведены справочные данные некоторых компонентов, которые мы использовали в схемах, размещенных в этой книге. Разумеется, поместить данные всех упомянутых в тексте компонентов, и к тому же в полном объеме невозможно, поэтому были выбраны лишь самые характерные и часто упо- минающиеся полупроводниковые приборы, таким образом, что они в сово- купности образуют некий базовый набор, достаточный, чтобы повторить примерно 9 из 10 радиолюбительских конструкций. Данные о некоторых ти- пах приводятся также при описании соответствующей конструкции в тексте глав. Данные профильтрованы на предмет реальной информативности — к примеру, нет никакой необходимости размещать информацию о прямом падении напряжения на кремниевых диодах, т. к. оно одно и то же для всех без исключения низковольтных типов, в то же время такие, к примеру, пара- метры, как емкость коллекторного перехода или граничное напряжение1 транзисторов просто бесполезны для радиолюбителя и, поэтому, также не приводятся. Такие характеристики, как предельно допустимая мощность рас- сеяния для транзисторов малой (но не средней и не большой!) мощности, также на практике требуются очень редко — можете спокойно принимать ее равной примерно 0,2—0,4 Вт, в зависимости от корпуса. Не привожу я и дан- ные логических микросхем, т. к. характеристики для них в целом одинаковы и описаны в главе 20, а самая важная характеристика — разводка выводов — приведена на ряде схем и в тексте. Источники, откуда взяты приведенные данные, слишком многочисленны (это неофициальные справочники, и спра- вочные данные, размещенные в литературе и Интернете, и информация из каталогов торгующих организаций, и фирменная документация как в виде бумажных каталогов, так и в формате PDF), чтобы их перечислить — вы не поверите, сколько бумажной макулатуры пришлось перелопатить и сколько интернет-часов потратить, чтобы найти, систематизировать и привести к более- менее единому знаменателю данные даже о таком небольшом количестве 1 Характеристика, фактически дублирующая значение предельно допустимого напряжения эмиттер-коллектор.
600 Приложения компонентов. Производители (и зарубежные не исключение) просто сгово- рились в своем стремлении скрыть от пользователя как можно больше кри- тически важных параметров. Часто для компонентов, аналогичных по назна- чению, но от разных производителей, приводится разный набор параметров, из-за чего сравнение приборов становится довольно нетривиальной зада- чей2 — этот недостаток я по мере возможности также постарался устранить. Следует учесть, что упор я делаю на отечественные компоненты, т. к. нахож- дение справочных данных для них представляет наибольшие трудности. Ко- нечно, информация о производителе того или иного компонента, особенно отечественного, является ориентировочной: кроме приведенных, это могут быть и другие фирмы, а отечественные заводы могли и позакрываться с тех пор, когда была собрана информация. Обращаю внимание, что это издание ни в коем случае не является официаль- ным, и поэтому помещенные ниже данные не могут служить основанием для претензий к тому или иному производителю в случае несоответствия данных реальным характеристикам того или иного компонента. Диоды КД521 Рис. П4.1. Габаритные размеры диодов КД521 2 Яркий пример такой ситуации, к нашему изложению, правда, отношения не имеющий: харак- теристики чувствительности светочувствительных матриц для цифровых фотоаппаратов при- водятся в единицах ISO, как для фотопленок, а для цифровых видеокамер — в единицах осве- щенности, хотя матрицы часто одни и те же! В нашем же случае, можно привести пример статического коэффициента передачи тока для транзисторов, который у одних типов приво- дится для режима, близкого к насыщению, для других — для активного режима, есть и третьи, не очень понятные случаи, поэтому я величину t/к, при которой производились измерения [3, опускаю, т. к. это только запутывает пользователя, не давая никакой реальной информации, ибо справочная величина коэффициента все равно есть величина ориентировочная.
Приложение 4. Справочные данные компонентов 601 Кремниевые диоды. Производитель: неизвестен (СНГ). Назначение: предназначены для применения в импульсных устройствах. Выпускаются в стеклянном корпусе с гибкими выводами. Для обозначения типа и полярности диодов используется условная маркировка— одна широ- кая и две узкие цветные полоски на корпусе со стороны положительного (анодного) вывода: КД521А— полосы синие; КД521Б— серые; КД521В — желтые; КД521Г — белые; КД521Д — зеленые. Тип КД521А КД521Б КД521В КД521Г КД521Д Макс, постоянное обратное напряжение, В 75 60 50 30 12 Постоянный или средний прямой ток при Т° = -60...+50 °C— не более 50 мА. Перегрузка по прямому току не более 5 мин при Т° = -60.. .+50 °C — 200 мА. Постоянный обратный ток при Uoqp = UMax: при Т ° = -60 и +25 °C ... 1 мкА; при Т° = +125 °C ... 100 мкА. 1 Nxxxx 1N54xx 1N400X Рис. П4.2. Габаритные размеры и разводка выводов диодов 1 Nxxxx Кремниевые диоды. Производитель: Fairchild Semiconductor (США) и др. Назначение: выпрямление переменного тока. 20 Зак. 7I0
602 Приложения Максимальные режимы: и, в 1, А 50 100 200 400 600 800 1000 1,0 1N4001 1N4002 1N4003 1N4004 1N4005 1N4006 1N4007 3,0 1N5400 1N5401 1N5402 1N5404 1N5406 1N5407 1N5408 Примечание 1. Частота выпрямления — до 1 МГц. Примечание 2. Для диодов lN54xx максимальная рассеиваемая мощность 6,25 Вт, макс, импульсный ток (одиночная синусоидальная полуволна 8,3 мс) — 200 А. КД202 Рис. П4.3. Габаритные размеры и разводка выводов диодов КД202 Кремниевые диоды. Производитель: неизвестен (СНГ). Назначение: выпрямление переменного тока. Тип КД202 А КД202 В КД202 Д КД202 Ж КД202 К КД202 М КД202 Р Макс, обратное напряжение, В 50 100 200 300 400 500 600
Приложение 4. Справочные данные компонентов 603 Постоянное обратное напряжение — 0,7 t/обр. макс. Постоянный (средний) прямой ток при Г ° = -60 до +75 °C — 5 А. Макс, импульсный ток (одиночная синусоидальная полуволна 10 мс) — 30 А. Частота выпрямления — до 1,2 кГц. КЦ407А Рис. П4.4. Габаритные размеры и разводка выводов выпрямительного моста КЦ407А Кремниевый выпрямительный мост. Производитель: неизвестен (СНГ). Назначение: выпрямление переменного тока. Максимальное обратное напряжение — 400 В. Средний выпрямленный ток при Т° = -60...+55 °C — не более 500 мА. Частота выпрямления — до 20 кГц. КУ202Н Рис. П4.5. Габаритные размеры и разводка выводов тиристора КУ202Н
604 Приложения Кремниевый тиристор. Производитель: неизвестен (СНГ). Назначение: ключи средней мощности. Напряжение в открытом состоянии — 1,5 В. Импульсное отпирающее напряжение на управляющем электроде при /отп > 10 мс — 7 В. Импульсный отпирающий ток управляющего электрода при ?отп > 10 мс — не более 200 мА. Постоянное прямое напряжение в закрытом состоянии — не более 400 В. Постоянный ток в открытом состоянии при Т° <50 °C — не более 10 А. Транзисторы КТ315, КТ361 Рис. П4.6. Габаритные размеры и разводка выводов транзисторов КТ315, КТ361 Транзисторы кремниевые малой мощности высокочастотные. Производитель: "Кремний" (г. Брянск, Россия), НИИПП (г. Томск, Россия). Структура: п-р-п (КТЗ 15), p-n-p (КТ361). Тип прибора указывается на корпусе в виде буквы номинала: для КТЗ 15 бук- ва слева, для КТ361 увеличенная и посередине корпуса. Назначение: усилители НЧ и ВЧ. Тип корпуса: КТ-13.
Приложение 4. Справочные данные компонентов 605 Статический коэффициент передачи тока (/к = 1мА): □ КТЗ 15А, КТЗ 15В — 30—120; □ КТ315Б, КТ315Г, КТ315Е, КТ361Б, КТ361Г, КТ361Е — 50—350; П КТ315Д, КТ361 А, КТ361Д — 20—90; □ КТ315Ж —30—250; П КТ315И —>30; □ КТ361В —40—160. Максимальное постоянное напряжение коллектор-эмиттер, В: П КТ315А, КТ361А—25; □ КТ315Б, КТ315Ж, КТ361Б — 20; □ КТЗ15В, КТЗ15Д, КТЗ61 В, КТ361Д — 40; □ КТ315Г, КТ315Е, КТ361Г, КТ361Е — 35; П КТ315И —60. Максимальный постоянный ток коллектора, мА: □ КТЗ 15А, КТЗ 15Б, КТЗ 15В, КТЗ 15Г, КТЗ 15Д, КТЗ 15Е — 100; П КТ361 (все буквы), КТЗ 15Ж, КТЗ 15И — 50. Граничная частота — 250 МГц. КТ3102, KT3107 Рис. П4.7. Габаритные размеры и разводка выводов транзисторов КТ3102, КТ3107 Транзисторы кремниевые малой мощности высокочастотные. Производитель: АО "Светлана" (Санкт-Петербург, Россия), АО "Кремний" (г. Брянск, Россия), Нальчикский завод полупроводниковых приборов (г. Нальчик, Россия).
606 Приложения Структура: n-p-n (КТЗ102), p-n-p (КТЗ107). Тип прибора указывается на корпусе или непосредственно, или на торце кор- пуса наносится метка: КТ3102А— темно-красная, КТ3102Б— желтая, КТЗ 102В— темно-зеленая, КТ3102Г— голубая, КТ3102Д— синяя, КТЗ 102Е — белая, КТЗ 102Ж — две темно-красные, КТЗ 102И — две желтые, КТ3102К— две темно-зеленые, КТ3107А— голубая и розовая, КТ3107Б — голубая и желтая; КТЗ 107В— голубая и синяя; КТ3107Г — голубая и беже- вая; КТЗ 107Д — голубая и оранжевая; КТЗ 107Е — голубая и цвета электрик; КТ3107Ж— голубая и салатовая; КТ3107И— голубая и зеленая; КТ3107К— голубая и красная; КТ3107Л— голубая и серая. Другой способ маркировки состоит в том, что тип транзистора указывается условным значком- треугольником (см. рис. П4.7). Иногда вместо этих значков ставится просто цифра (2 или 7). Кроме этого, на маркировочной поверхности ставится буква, соответствующая группе (А, Б, В и т. п.) и иногда еще дополнительно два значка, условно означающие год и месяц выпуска (например, М 6 означает июнь 2000 г.). Назначение: для низкочастотных устройств с малым уровнем шумов, пере- ключающих, усилительных и генераторных устройств средней и высокой частоты. Тип корпуса: КТ-26 (ТО-92). Статический коэффициент передачи тока при (/э = 2 мА: Т°= +25 °C): □ КТЗ 102А, КТЗ 102Ж —100—250; □ КТЗ 102Б, КТЗ 102В, КТЗ 102Г, КТЗ 102И, КТЗ 102К — 200—500; П КТ3102Г, КТ3102Е — 400—1000; □ КТ3107А, КТ3107В —70—140; □ КТЗ 107Б, КТЗ 107Г, КТЗ 107Е — 120—220; П КТЗ 107Д, КТЗ 107Ж, КТЗ 107И — 180—460; П КТЗ 107К, КТЗ 107Л —380—800. Максимальное постоянное напряжение коллектор-эмиттер, В: П КТЗ 102А, КТЗ 102Б, КТЗ 102Ж, КТЗ 102И — 50; □ КТЗ 102В, КТ3102Д, КТ3102К — 30; П КТЗ 102Г, КТЗ 102Е, КТЗ 107Е, КТЗ 107Ж, КТЗ 107Л — 20; П КТ3107А, КТ3107Б, КТ3107И —45; П КТЗ 107В, КТЗ 107Г, КТЗ 107Д, КТЗ 107К — 25. Максимальный постоянный ток коллектора, мА — 100. Граничная частота — 200 МГц (КТЗ 102А-Е — 150 Мгц).
Приложение 4. Справочные данные компонентов 607 КТ814, КТ815, КТ816, КТ817 Рис. П4.8. Габаритные размеры и разводка выводов транзисторов КТ814—К817 Транзисторы кремниевые средней мощности низкочастотные. Производитель: АО "Кремний" (г. Брянск, Россия), "Искра" (г. Ульяновск, Россия). Структура: n-p-n (КТ815, КТ817), p-n-p (КТ814, КТ816). Тип прибора указывается на корпусе. Назначение: усилители низкой частоты, импульсные устройства. Тип корпуса: КТ-27 (ТО-126). Статический коэффициент передачи тока при (/э = 1 А: Т°= +25 °C): □ КТ814А-В, КТ815А-В —40; □ КТ814Г, КТ815Г —30; □ КТ816А-Г, КТ817А-Г — 25. Максимальное постоянное напряжение коллектор-эмиттер, В: □ КТ814А, КТ816А, КТ817А — 25; □ КТ814Б, КТ815А —40; □ КТ816Б, КТ817Б — 45; П КТ815Б —50; П КТ814В, КТ816В, КТ817В — 60; П КТ815В —70; П КТ814Г, КТ816Г, КТ817Г — 80; П КТ815Г — 100.
608 Приложения Максимальный постоянный ток коллектора, А: КТ814, КТ815 — 1,5 А; КТ816, КТ817 — 3 А. Постоянная рассеиваемая мощность коллектора, Вт: П без теплоотвода КТ814—КТ817 — 1 Вт; □ с теплоотводом КТ814, КТ815 — 10Вт; □ с теплоотводом КТ816, КТ817 — 25 Вт. Граничная частота — 3 МГц. KT972, KT973 Чертеж корпуса и разводку выводов см. КТ814 - КТ817. Транзисторы кремниевые средней мощности высокочастотные структуры Дарлингтона. Производитель: "Транзистор" (г. Минск, Белоруссия). Структура: n-p-n (КТ972), p-n-p (КТ973). Тип прибора указывается на корпусе3. Назначение: управление импульсными устройствами. Тип корпуса: КТ-27 (ТО-126). Статический коэффициент передачи тока при (/э = 1 А: Т° = +25 °C): КТ972А,Б, КТ973А,Б — 750. Максимальное постоянное напряжение коллектор-эмиттер, В: П КТ972А, КТ973А — 60; П КТ972Б, КТ973Б — 45. Максимальный постоянный ток коллектора — 4 А. Постоянная рассеиваемая мощность коллектора (с теплоотводом) — 8 Вт. Напряжение насыщения коллектор-эмиттер— 1,5 В. Напряжение насыщения база-эмиттер — 2,5 В. Граничная частота — 100 МГц. 3 У других производителей — не всегда.
Приложение 4. Справочные данные компонентов 609 КТ818, КТ819 Рис. П4.9. Габаритные размеры и разводка выводов транзисторов КТ818, КТ819 Транзисторы кремниевые большой мощности низкочастотные. Производитель: АО "Кремний" (г. Брянск, Россия). Структура: n-p-n (КТ819), p-n-p (КТ818). Тип прибора указывается на корпусе. Назначение: усилители НЧ и переключающие устройства. Тип корпуса: КТ-28 (ТО-220)4. Минимальный статический коэффициент передачи тока при (7Э = 5 А: Т° = +25 °C): П КТ818А, КТ818В, КТ819А, КТ819В — 15; П КТ818Б, КТ819Б —20; П КТ818Г, КТ819Г — 12. Максимальное постоянное напряжение коллектор-эмиттер, В: П КТ818А, КТ819А —40; П КТ818Б, КТ819Б —50; 4 Есть модификации в корпусах типа ТО-3 (металлическом), а также ТО-218 (с шагом выводов 5,5 мм).
610 Приложения П КТ818В, КТ819В — 70; П КТ818Г — 90; □ КТ819Г—100. Максимальный постоянный ток коллектора — 10 А. Постоянная рассеиваемая мощность коллектора (с теплоотводом) — 60 Вт. Граничная частота — 3 МГц. КТ829 Чертеж корпуса и разводку выводов см. КТ818, КТ819. Транзистор кремниевый большой мощности низкочастотный структуры Дар- лингтона. Производитель: АО "Элиз" (г. Фрязино, Россия). Структура: п-р-п. Тип прибора указывается на корпусе. Назначение: усилители НЧ и переключающие устройства. Тип корпуса: КТ-28 (ТО-220). Статический коэффициент передачи тока при (/э = 3 А: Т°= +25 °C) — 750. Макс, постоянное напряжение коллектор-эмиттер, В: П КТ829А — 100; □ КТ829Б —80; П КТ829В —60; П КТ829Г —45. Максимальный постоянный ток коллектора — 8 А. Постоянная рассеиваемая мощность коллектора (с теплоотводом) — 60 Вт. Напряжение насыщения коллектор-эмиттер — 2 В. Напряжение насыщения база-эмиттер — 2,5 В. Граничная частота — 10 МГц.
Приложение 4. Справочные данные компонентов 611 BDW93, BDW94 # ' ' 1 2 3 I.Base 2.Collector 3.Emitter Рис. П4.10. Разводка выводов транзисторов BDW93, BDW94 Транзисторы кремниевые большой мощности низкочастотные структуры Дарлингтона. Производитель: Fairchild Semiconductor (США), ST Microelectronics (Европа). Структура: n-p-n (BDW93), p-n-p (BDW94). Тип прибора указывается на корпусе. Тип корпуса: ТО-220. Минимальный статический коэффициент передачи тока: □ при 1К = 3 А — 1000; □ при 7К = 10 А — 100. Максимальный статический коэффициент передачи тока — 20 000. Максимальное постоянное напряжение коллектор-эмиттер, В: □ BDW93,BDW94 — 45; □ BDW93A, BDW94A — 60; □ BDW93B, BDW94B — 80; □ BDW93C, BDW94C — 100. Максимальный постоянный ток коллектора — 12 А. Постоянная рассеиваемая мощность коллектора (с теплоотводом): □ при Т°=+25 °C —60 Вт; □ при Т°= +100 °C — 35 Вт.
612 Приложения Напряжение насыщения коллектор-эмиттер (мах) — ЗВ. Напряжение насыщения база-эмиттер (мах) — 4 В. Граничная частота5 — 1 МГц. кпзоз Корпус Рис. П4.11. Габаритные размеры и разводка выводов транзисторов КПЗОЗ Транзистор кремниевый полевой малой мощности с затвором на основе р-п- перехода и каналом п-типа. Производитель: АООТ "Элекс" (г. Александров, Россия). 5 На основе косвенных данных.
Приложение 4. Справочные данные компонентов 613 Тип прибора указывается на корпусе. Назначение: общего назначения. Тип корпуса: КТ-1-12 (ТО-17). Начальный ток стока при U3ii = 0, мА: □ КПЗОЗА, КПЗОЗБ — 0,5—2,5; □ КПЗОЗВ, КПЗОЗИ — 1,5—5; □ КПЗОЗГ — 3—12; □ КПЗОЗД —3—9; □ КПЗОЗЕ —5—20; □ КПЗОЗЖ —0,3—3. Напряжение отсечки при /с = 10 мкА, В: □ КПЗОЗА, КПЗОЗБ — 0,5—3; □ КПЗОЗВ — 1—4; □ КПЗОЗГ, КПЗОЗД, КПЗОЗЕ <8; □ КПЗОЗЖ —0,3—3; □ КПЗОЗИ —0,5—2. Максимальное напряжение сток-исток, В — 25. Максимальное напряжение затвор-сток, В — 30. Максимальный постоянный ток стока — 20 мА. Электронные реле и оптроны АОД130 Рис. П4.12. Внешний вид и разводка выводов оптрона АОД130
614 Приложения Диодный оптрон. Производитель: з-д "Протон" (Россия). Тип прибора указывается на корпусе. Тип корпуса: модифицированный DIP-86. Постоянное прямое входное напряжение, В — 1,5. Максимальный входной ток, мА — 20. Максимальный импульсный входной ток, мА — 100. Максимальное входное обратное напряжение, В — 3,5. Максимальное выходное обратное напряжение, В — 30. Коэффициент передачи тока, % — 1. Максимальное напряжение изоляции, В — 1500. АОР124Б Рис. П4.13. Габаритные размеры и разводка выводов оптрона АОР124Б Резисторный оптрон со светодиодом на входе. Производитель: неизвестен (Россия). Тип прибора указывается на корпусе. Тип корпуса: советский вариант ТО-39. Постоянное прямое входное напряжение, В — 3,8. Максимальный входной ток, мА — 15. Максимальный импульсный входной ток, мА — 100. 6 По поводу наименования корпусов микросхем см. сноску 1 в главе 8.
Приложение 4. Справочные данные компонентов 615 Максимальное входное обратное напряжение, В — 6. Максимальное выходной ток, мА — 9. Максимальное напряжение изоляции, В — 1000. КР293КП1 (5П14) Рис. П4.14. Разводка выводов электронного реле КР293КП1 (5П14) Электронное реле малой мощности. Производитель: з-д "Протон" (Россия). Тип прибора указывается на корпусе. Тип корпуса: DIP-6. Постоянное прямое входное напряжение, В — 1,5. Максимальный входной ток, мА — 25. Минимальный входной ток, мА — 5. Максимальный импульсный входной ток, мА —150. Максимальное коммутируемое напряжение, В: □ КР293КП1А — 60; □ КР293КП1Б —230; □ КР293КП1И —400. Максимальный коммутируемый ток, мА: □ КР293КП1А —250; □ КР293КП1Б — 100; □ КР293КП1И —80. Максимальное напряжение изоляции, В — 1500.
616 Приложения PF240D25 Рис. П4.15. Габаритные размеры и разводка выводов электронного реле PF240D25 Электронное реле большой мощности. Производитель: CRYDOM (San Diego, США). Тип прибора указывается на корпусе. Управляющее входное напряжение, В — 3—15. Входной ток при упр. напряж. 5В, мА — 15. Максимальное коммутируемое напряжение, В— 12—280 (действ, зна- чение). Коммутируемый ток, А — 0,06—25. Перегрузка по току (1 полуперирод 50—60 Гц), А — 250. Примечание. При коммутируемых токах более 10 А требуется принудитель- ный обдув корпуса.
Приложение 4. Справочные данные компонентов 617 Микросхемы 1019ЕМ1 Рис. П4.16. Габаритные размеры и разводка выводов датчика 1019ЕМ1 Термодатчик с линейной зависимостью выходного напряжения от темпера- туры. Производитель: АООТ "Фотон" (г.Ташкент, Узбекистан). Тип прибора указывается на корпусе. Тип корпуса: ТО-18 (см. сноску 6). Ток питания, мА — 0,5... 1,5. Выходное напряжение, мВ при токе питания 1 мА и температуре □ 298 К (25 °C) — 2952.. .3012; □ 398 К (125 °C) —3932...4032; □ 263 К (-10 °C) — 2582...2682 для К1019ЕМ1 А; □ 228 К (-45 °C) — 2232...2332 для К1019ЕМ1. Рабочий температурный интервал, °C: □ К1019ЕМ1—от-45 доу-125; □ К1019ЕМ1А — от-10 до+125.
618 Приложения 7805, 7809, 7812, 7815, 7905, 7909, 7912, 7915 GND 1 2 3 1. Input 2.GND 3.Output Рис. П4.17. Разводка выводов стабилизаторов 78(79)хх Стабилизаторы постоянного тока большой мощности. Производитель: National Semiconductor (США), Fairchild Semiconductor (США), ST Microelectronics (Европа). Отечественные аналоги: КР142ЕН5А (7805), КР142ЕН8А (7809), КР142ЕН8Б (7812), КР142ЕН8В (7815), КР1162ЕН5 (7905), КР1162ЕН9 (7909), КР1162ЕН12 (7912), КР1162ЕН15 (7915). Тип прибора указывается на корпусе. Тип корпуса: ТО-220. Выходное напряжение, В: □ 7805 —+5 ±0,2; □ 7809 —+9 ± 0,36; □ 7812 —+12 ±0,5; □ 7815 —+15 ±0,6; □ 7905----5 ±0,2; □ 7909----9 ±0,36; □ 7912----12 ±0,5; □ 7915----15 ±0,6.
Приложение 4. Справочные данные компонентов 619 Максимальный постоянный выходной ток (внутреннее ограничение), А: □ 7805,7905 — 2,1; □ 7809,7909— 1,8; □ 7812,7912— 1,5; □ 7815,7915— 1,2. Максимальное входное напряжение, В — 35 (для 78хх), -35 (для 79хх). Максимальная рассеиваемая мощность, Вт (Т° = 0 ...+75 °C): □ без теплоотвода — 3; О с теплоотводом — 20. 78L05,78L09,78L12,78L15, 79L05, 79L09, 79L12, 79L15 Рис. П4.18. Разводка выводов стабилизаторов 78(79)Lxx в корпусе ТО-92 Стабилизаторы постоянного тока малой мощности. Производитель: National Semiconductor (США), Fairchild Semiconductor (США), ST Microelectronics (Европа). Отечественные аналоги: KPI 157ЕН5 (78L05), KPI 157ЕН9 (78L09), KPI 157ЕН12 (78L12), KPI 157ЕН15 (78L15), КР1168ЕН5 (79L05), КР1168ЕН9 (79L09), КР1168ЕН12 (79L12), КР1168ЕН15 (79L15). Тип прибора указывается на корпусе. Тип корпуса: ТО-92. Выходное напряжение, В: ) □ 78L05 — +5 ± 0,2; □ 78L09 —+9 ± 0,36; □ 78L12 —+12 ± 0,5; □ 78L15 — +15 ±0,6;
620 Приложения □ 79L05---5 ±0,2; □ 79L09---9 ±0,36; □ 79L12---12 ±0,5; □ 79L15---15 ±0,6. Максимальный постоянный выходной ток, мА — 100. Максимальное входное напряжение, В — 35 (для 78хх), -35 (для 79хх). Максимальная рассеиваемая мощность, Вт: □ при Т° = О °C — 1 Вт; □ при Т° =+75 °C — 0,5 Вт. LM311 (521 САЗ, 554САЗ) (баланс 2) -1Л1ИТ Вкл/выкл (баланс 1) ТО-99, DIP-8 (DIP-14) Рис. П4.19. Разводка выводов компаратора LM311 (521САЗ, 554САЗ) Быстродействующий компаратор. Производитель: National Semiconductor (США). Тип прибора указывается на корпусе. Тип корпуса: DIP-8, ТО-99 (металлический круглый), DIP-14. Максимальное напряжение питания, В — ±18 или +36. Максимальное выходное напряжение (коллектор — отриц. напр. пит.), В — 50. Максимальный выходной ток, Ма — 50. Входной ток смещения, нА — < 10. Входное напряжение сдвига при сопротивлении источника <10 кОм, мВ — <2.
Приложение 4. Справочные данные компонентов 621 (1А741 (140УД7) Рис. П4.20. Разводка выводов ОУ цА741 (140УД7) Операционный усилитель общего назначения. Производитель: Philips Semiconductors (Европа), ST Microelectronics (Европа) и др. Тип прибора указывается на корпусе. Тип корпуса: DIP-8. Максимальный ток потребления (/?н = «», £/пит = ±15 В), мА — 2,8. Напряжение питания, В — ±5 ±18. Максимальное входное напряжение, В — ±15. Максимальное выходное напряжение (Unm = ±15 В), В: □ при Rh = 10 кОм — ±14; □ при Rh = 2 кОм — ±13. Выходное сопротивление, Ом — 75. Коэффициент усиления — 50 000—200 000. Входной ток смещения, нА — 80—500. Разность входных токов смещения, нА — 20—200. Входное напряжение сдвига при сопротивлении источника < 10 кОм, мВ — 2. Температурный дрейф напряжения сдвига (ТКЕ), мкВ/°С — 10. Частота единичного усиления, МГц — 1. Скорость нарастания, В/мкс — 0,5.
622 Приложения цА747 (140УД20) Два операционных усилителя типа рА741 в одном корпусе. Производитель: Texas Instruments (США) и др. Тип прибора указывается на корпусе. Тип корпуса: DIP-14. Максимальный ток потребления (/?н = А7ПИ1 = ±15 В), мА— 5,5. Остальные характеристики см. рА741. МАХ478 Два прецизионных операционных усилителя в одном корпусе. Производитель: MAXIM/DALLAS (США).
Приложение 4. Справочные данные компонентов 623 Тип прибора указывается на корпусе. Тип корпуса: DIP-8 (SO-8). Максимальный ток потребления (/?н = ©о, £/пит = ±15 В), мкА — 50. Напряжение питания, В — ±2,2 + ±18. Максимальное входное напряжение, В — ± £/пит. Максимальное выходное напряжение ([7ПИТ = ±15 В, 7?н = 2 кОм), В —±12,7. Коэффициент усиления — 300 000—1200 000. Входной ток смещения, нА — 5. Разность входных токов смещения, нА — 0,25. Входное напряжение сдвига при сопротивлении источника <10 кОм, мкВ — 100. Температурный дрейф напряжения сдвига (ТКЕ), мкВ/°С — 0,9. Частота единичного усиления, кГц — 60. Скорость нарастания, В/мкс — 0,02. TDA3020 + и Output -U Inverting Input Noninverting Input Рис. П4.23. Внешний вид и разводка выводов усилителя TDA3020 Усилитель мощности звуковой частоты. Производитель: ST Microelectronics (Европа).
624 Приложения Тип прибора указывается на корпусе. Тип корпуса: пятивыводной ТО-220. Напряжение питания, В — ±6 -е- ±18. Максимальный выходной ток, А — 3,5. Максимальная рассеиваемая мощность, Вт — 20. Входной ток смещения, мкА — 2. Входное напряжение сдвига, мВ — 20. Ширина полосы пропускания по уровню ЗдБ, Гц — 10—140 000. AT90S2313, AT90S8515, AT90S85357 RESETZ ’RXD) PD0-Z 18 xrvi [Z (INTO) РО2 Z (INTI) РОЗ LZ (ТО) PD4Z 'JDPO5Z gndCZ' 10 16 14 13 ^2]Р97 (SCK) ZJP36 (miso) Z’P35 (MOSI) ZPB4 ZJPB3-.OC1) ZP32 ZP91 (AlNl) ZpBO JAINO) Zp06 (iCP) AT90S2313 AT90S8515 (TO) P8G (TD PB1 (AINO) PS2 (AIN_JJ PB3 (SS) PB4 (MOSI) PB5 (MISO) PB6 (SCK)PB7 RESET GND XTAL2 XTAt.1 (RXD) PDO (TXD) PD1 (INT0) PD2 (INT') РОЗ (OC1B)PD4 (CC1A) PD5 (ICP) PD8 12 15 18 РАО (ADCO) PA1 (ADC1) PA2 (ADC2) РАЗ (AOC3) PA4 (ADC4) 35 □ PA5 (ADC5) □ pa6 (ADC6) 3 PA7 (ADC7) □ AREF □ AGND □ AVCC 3 PC7 (TOSC2) □ PC6 (TOSC1) 3 PC5 □ °C4 □ PC3 □ »C2 □ PC1 36 34 33 32 30 29 28 27 26 25 24 23 22 21 PQ7 (OC2) AT90S8535 8 2 5 6 8 9 40 □ Рис. П4.24. Разводка выводов микроконтроллеров AT90S2313, AT90S8515, AT90S8535 в корпусе DIP Микроконтроллеры AVR. Производитель: Atmel (США). Тип прибора указывается на корпусе. Тип корпуса; DIP-20 (AT90S2313), DIP-40 (AT9OS8515, AT90S8535) и др. 7 Микросхемы с буквой L в наименовании обладают пониженным энергопотреблением. В на- стоящее время указанные типы микроконтроллеров AVR "classic" заменяются на более разви- тые версии, в названиях которых присутствуют приставки "mega" (например, ATmega8515). Эти кристаллы полностью совместимы с классическими чипами по выводам и обратно совмес- тимы по программному коду. Они имеют аналогичные электрические параметры, но обладают повышенным быстродействием (до 16 МГц) либо расширенным диапазоном питания (от 1,8 В) и увеличенным набором команд.
Приложение 4. Справочные данные компонентов 625 Основные электрические параметры. Напряжение питания, В — 2,7—6,0. Входное напряжение лог. О, не более, В — 0,2£/пит. Входное напряжение лог. 1, не менее, В — 0,6(/пит. Входное напряжение лог. 1 выводов XTAL, не менее, В —0,8(/пит. Входное напряжение лог. 1 вывода Reset, не менее, В — (/пит. Максимальное входное напряжение лог. 1, В — £/пит + 0,5 В. Минимальное входное напряжение лог. О, В--0,5 В. Выходное напряжение лог. О, не более, В — 0,6. Выходное напряжение лог. 1, не менее, В: □ £/пит = 5 В — 4,2; □ £/пит = 3 В — 2,3. Потребляемый ток в режиме: □ £/пит = 3 В, FT = 4 МГц — 3,5 мА; □ Power Down — 1 мкА; □ Power Down + WDT — 50 мкА. Входной ток утечки в режиме входа, мкА — 8. Нагрузочный резистор по входу, кОм — 35—120. Входное напряжение сдвига аналогового компаратора, мВ — 20. Входной ток смещения аналогового компаратора, нА — 10. Максимальный ток через вывод питания или "земли", мА: □ AT90S2313, AT9OS8515 — 140; □ AT9OS8535 — 200. Максимально допустимый ток одного вывода порта, мА — 40. Максимальный постоянный ток одного вывода порта, мА — 20. Максимально допустимый суммарный ток всех выводов порта, мА: □ для AT90S2313 — 80 (каждый из портов В и D); □ для AT90S8515 — 80 (порт А), 80 (порты В, С и D в сумме); □ для AT90S8535 — 100 (порт А), 100 (порты В, С и D в сумме). Максимальная частота тактового генератора, МГц: □ при £/пит = 2,7 - 6,0 В — 10 (AT90S2313), 4 (AT9OS8515, AT9OS8535); □ при Ц1ИТ = 4,0 - 6,0 В — 16 (AT90S2313), 8 (AT90S8515, AT9OS8535).
Приложение 5 Соответствие наименований зарубежных и отечественных микросхем КМОП 4000 К561 4000 К561 4000 К561 CD4000 ЛП4 CD4023 ЛАЭ CD4061 РУ2 CD4001 ЛЕ5 CD4025 ЛЕЮ CD4066 КТЗ CD4002 ЛЕ6 CD4027 ТВ1 CD4093 ТЛ1 CD4006 ИР10 CD4028 ИД1 CD4098 АГ1 CD4007 ЛП1 CD4029 ИЕ14 CD40107 ЛАЮ CD4008 ИМ1 CD4030 ЛП2 CD40108 ИР12 CD4009 ПУ2 CD4034 ИР6 CD40109 ПУ6 CD4010 ПУЗ CD4035 ИР9 CD40181 ИПЗ CD4011 ЛА7 CD4039 РП1 CD40182 ИП4 CD4012 ЛА8 CD4042 ТМЗ МС14502 ЛН1 CD4013 ТМ2 CD4043 ТР2 МС14516 ИЕ11 CD4015 ИР2 CD4046 ГГ1 МС14520 ИЕЮ CD4016 КТ1 CD4049 ЛН2 МС14531 СА1 CD4017 ИЕ8 CD4050 ПУ4 МС 14554 ИП5 CD4018 ИЕ19 CD4051 КП2 МС14580 ИР12 CD4019 ЛС2 CD4052 КП1 МС14581 ИПЗ CD4020 ИЕ16 CD4056 ИД5 МС14582 ИП4 CD4022 ИЕ9 CD4059 ИЕ15 МС14585 ИП2 Примечание. CD4xxxx— наименование серии 4000, принятое в фирмах Fairchild Semiconductor и Texas Instruments, МС14хххх — в фирме Motorola. У других фирм могут быть свои префиксы, например, НСС или HCF — у фирмы ST Microelectronics. Сами обозначения микросхем остаются одинаковыми независимо от производителя.
Приложение 6 Программа часов Описание схемы и программы часов см. в главе 32. Программа занимает в памяти МК 596 байт. ;============== Программа часов ================== /AT90S2313 4 МГц .include "2313def.inc" ===== Управление сегментами ==== equ segA = 5 ; PD5 (pin 9) equ segB = 6 ; PD6 (pin 11) equ segC = 2 ; PB2 (pin 14) equ segD = 4 ; PB4 (pin 16) equ segE = 5 ; PB5 (pin 17) equ segF = 6 ; PB6 (pin 18) equ segG = 7 ; PB7 (pin 19) ==== Управление разрядами ==== equ em = 0 ; PDO (pin2) equ dm = 1 ; PD1 (pin 3) equ eh = 2 ; PD2 (pin 6) equ dh = 4 ; PD4 (pin 8) ==== Рабочие переменные ==== . def POS = rl6 Г^тсчет разрядов для динамической индикации . def . def sek. = rl7 ;число секунд temp = rl8 ;рабочая переменная , def emin = rl9 ;число единиц минут . def dmin - г20 /число десятков минут , def ehh = г21 /число единиц часов . def dhh = г22 /число десятков часов
628 Приложения .def set_up = r23 /отсчет разрядов при установке .def count = г24 /счетчик для мигания .def Flag = г2 5 /флаги режимов /в регистре Flag: если бит0=1, то идет установка часов /если бит1=1, то внешнее напряжение пропало /======== Прерывания ========= гjmp RESET /процедура Reset reti гjmp INTT1 /прерывание INTI по нажатию Кн1 reti гjmp TIM1 /прерывание Timerl по сравнению CompareA (счет времени) reti гjmp TIMO /прерывание TimerO по переполнению (управл. разрядами) reti reti reti гjmp ACOMPI /прерывание аналогового компаратора /========== Программа ================ /процедуры для отображения цифр на семисегментном индикаторе /ABCDEF(O)/ВС(1)/ABDEG(2)/ABCDG(3)/BCFG(4)/ACDFG(5) /ACDEFG(6)/ABC(7)/ABCDEFG(8)/ABCDFG(9) OUT_0: sbi PortD,segA sbi PortD,segB sbi PortB,segC sbi PortB,segD sbi PortB,segE sbi PortB,segF — ret OUT_1: sbi PortD,segB sbi PortB,segC ret OUT_2: sbi PortD,segA
Приложение 6. Программа часов 629 sbi sbi sbi sbi ret 0UT_3: sbi sbi sbi sbi sbi ret 0UT_4: sbi sbi sbi sbi ret 0UT_5: sbi sbi sbi sbi sbi ret 0UT_6: sbi sbi sbi sbi sbi sbi ret 0UT_7: sbi sbi sbi PortD,segB PortB,segG PortB,segE PortB,segD PortD,segA PortD,segB PortB,segG PortB,segC PortB,segD PortD,segB PortB,segG PortB,segF PortB,segG PortD,segA PortB,segF PortB,segG PortB,segC PortB,segD PortD,segA PortB,segF PortB,segG PortB,segC PortB,segE PortB,segD PortD,segA PortD,segB PortB,segC ret
630 Приложения OUT_8: sbi PortD,segA sbi PortD,segB sbi PortB,segC sbi PortB,segD sbi PortB,segE sbi PortB,segF sbi PortB,segG ret OUT_9: sbi PortD,segA sbi PortD,segB sbi PortB,segC sbi PortB,segD sbi PortB,segF sbi PortB,segG ret ;===== прерывание по нажатию кнопки Кн1 ==== INTT1: sbrc Flag,1 ;если бит1=1, напряжения нет rjmp END_SET /какая к черту установка - на выход clr temp out GIMSK,temp /запрещаем INTI sbr Flag,1 /устанавливаем бит 0 флага - идет установка inc set__up /отсчет, какой разряд устанавливаем clr count /очищаем счетчик мигания cpi set_up,5 /если счетчик разрядов brne END_SET /еще не больше 4, то на выход clr set_up /если больше, то обнуляем счетчик Idi sek,59 /и устанавливаем число секунд = 59 cbr Flag,1 /сбрасываем бит 0 флага - конец установки END_SET: reti /конец прерывания INT1 /===== прерывание Timer1 - ход часов ===== TIM1: sbrc Flag,1 /если бит1=1, напряжения нет rjmp mtime / сразу посылаем на счет времени
Приложение 6. Программа часов 631 sbrs Flag,0 /если битО=1, идет установка гjmp mtime /иначе сразу на счет времени ldi temp, 0Ы0000000 ;на всякий случай out GIFR,temp /очищаем прерывание INT1 cpi count,0 / если счетчик =0 breq CONT_1 /то на продолжение ldi temp, 1«INT1 /иначе разрешаем прерывание INT1 out GIMSK,temp CONT_1: /установка inc count /увеличиваем счетчик мигания на 1 cpi set_up,1 /если первый разряд, устанавливаем его brne mml /иначе на следующий sbis PinB,0 /если Кн2 нажата inc emin /увеличиваем число ед минут на 1 cpi emin,10 /если число ед минут еще не равно 10 brne END_TIM1 /то на выход из процедуры clr emin /если =10, то обнуляем гjmp END_TIM1 /на выход mml: cpi set_up,2 /если второй разряд, устанавливаем его brne mm2 /иначе на следующий sbis PinB,0 /если Кн2 нажата inc dmin /увеличиваем число дес. минут на 1 cpi dmin,б /если число дес. минут еще не равно б brne END_TIM1 /то на выход из процедуры clr dmin /если = б, то обнуляем гjmp END_TIM1 /на выход mm2: cpi set_up,3 /если третий разряд, устанавливаем его brne mm3 /иначе на следующий sbis PinB,0 /если Кн2 нажата inc ehh /увеличиваем число ед. часов на 1 cpi ehh,4 /если число ед. часов еще меньше 4 brio END_TIM1 / ip на выход из процедуры cpi dhh,2 /если число дес. часов не равно 2, то brne mm21 / на метку mm21 clr ehh /иначе обнуляем число ед. часов гjmp END_TIM1 /на выход из процедуры mm21: cpi ehh,10 /если число ед. часов не равно 10 brne END TIM1 /то на выход
632 Приложения clr ehh /иначе обнуляем число ед. часов rjmp END_TIM1 /на выход mm3: sbis PinB,О /четвертый разряд inc dhh /увеличиваем число дес. часов на 1 cpi dhh,3 /если оно еще не равно 3 brne END_TIM1 /то на выход clr dhh /иначе обнуляем rjmp END—TIM1 /на выход /счет времени mtime: inc зек /увеличиваем число секунд на 1 cpi зек,60 /если оно не равно 60 brne END_TIM1 /то на выход clr зек /иначе обнуляем секунды inc emin /и увеличиваем ед. минут cpi emin,10 /если число ед. минут не равно 10 brne END__TIM1 /то на выход clr emin /иначе обнуляем ед. минут inc dmin /и увеличиваем число дес. минут cpi dmin,6 /если оно не равно 6 brne END_TIM1 /то на выход clr dmin /иначе обнуляем число дес. минут inc ehh /и увеличиваем число ед. часов cpi ehh,4 /если число ед. часов не равно 4 brio END_TIM1 /то однозначно на выход cpi dhh,2 /если число дес. часов при этом не равно 2 brne mhh /то на метку mhh clr ehh /иначе обнуляем число ед. часов clr dhh /и сразу число дес. часов тоже (это полночь) rjmp END_TIM1 /на выход mhh: cpi ehh,10 /если число ед. часов не равно 10 brne END_TIM1 /на выход clr ehh /иначе обнуляем ед. часов inc dhh /увеличиваем число дес. часов
Приложение 6. Программа часов 633 END_TIM1: reti ;выход ид прерывания Timerl ;===== прерывание TimerO управление разрядами ===== TIMO : sbrc Flag,1 ;если бит1=1, напряжения нет гjmp END_TIMO ;тогда сразу на выход clr temp ;все очищаем out PortD,temp out РогtB,temp andi POS,3 ;счет разрядов от 0 до 3 sbis PinB,0 ; пока нажата кнопка Кн2 clr count; разряд при установке не мигает cpi POS,0 ;если счетчик разрядов не О brne mO ;то на метку тО - следующий разряд cpi set_up,1 ; если set_up=l, мигает этот разряд brne sm_l ;иначе на включение разряда sbrs count, 0 /если бит 0 в count=0 sm_l: sbi PortD,em /то уст. PDO в 1, разряд ед. мин. светится ;иначе он останется темным, то есть мигает с частотой count mov temp,emin /в temp - число ед. минут rcall SEG_SET /устанавливаем сегменты гjmp END_0 / на выход mO: cpi POS,1 ;если счетчик разрядов не 1 brne ml ;то на сл. разряд cpi set_up,2 /если set_up=2 то мигает этот разряд brne sm_2 ; иначе на включение разряда sbrs count,0 /если бит 0 в count=0 sm_2: sbi PortD,dm ;тр уст. PD1 в 1, разряд дес. мин. светится mov temp,dmin /в temp - число дес. минут rcall SEG_SET /устанавливаем сегменты rjmp END_0 / на выход ml: cpi POS,2 /если счетчик разрядов не 2 brne m2 /то на сл. разряд cpi set_up,3 /если set_up=3 то мигает этот разряд 21 Зак. 710
634 Приложения brne sm_3 ; иначе на включение разряда sbrs count, 0 /если бит 0 в count=0. sm_3 : sbi PortD,eh /то уст. PD2 в 1, разряд ед. часов светится mov temp,ehh /в temp - число ед. часов rcall SEG_SET /устанавливаем сегменты rjmp END_0 ; на выход m2: /обработка 4 разряда дес часов cpi set_up,4 /если set_up=4 то мигает этот разряд brne sm_4 /иначе на включение разряда sbrs count,0 /если бит 0 в count=0 sm_4: sbi PortD,dh /то уст. PD4 в 1, разряд дес. часов светится mov temp,dhh /в temp - число дес. часов rcall SEG_SET /устанавливаем сегменты END_0: inc POS END_TIM0: reti /выход из прерывания TimerO /======= компаратор - батарейка ========= ACOMPI: sbis ACSR,ACO /если бит АСО =1 то продолжим rjmp СОМР_1 /иначе на установку мигания ldi temp,ObllOOOOOO out TCCR1A,temp / двоеточие включено постоянно rjmp END_comp /на выход COMP_1: ldi temp, ОЬОЮООООО out TCCR1A,temp / двоеточие мигает END_comp: reti /выход из процедуры компаратора ;=============== процедура Reset ======================= RESET: cli /запрещаем прерывания на время установки ldi temp,low(RAMEND) /загрузка указателя стека out SPL,temp
Приложение 6. Программа часов 635 Idi temp,ObOlllOlll ;порт D разряды 0,1,2,4,5,6 на выход out DDRD,temp Idi temp, 0Ы1111100 ;порт В все на выход, кроме 0,1 (компаратор) out DDRB,temp ----таймеры ------ Idi temp,ОЬООООООЮ ; запуск TimerO входная частота 1:8 out TCCR0,temp /управление разрядами по переполнению, /частота около 2 кГц (4/8=0,5 МГц/256) Idi temp,high(62500) /старший байт out OCR1AH,temp/ вых. частота 1 Гц при вх. частоте 1:64 Idi temp,low(62500) /младший байт out OCR1AL,temp Idi temp,ObOlOOOOOO out TCCR1A,temp /включаем переключающую моду для вывода ОС1 (15) Idi temp,ObOlOOlOll /запуск 1/64 timerl с обнулением при сравнении out TCCR1B, temp,- /------прерывания---------- Idi temp,1CCINT1 /разрешаем прерывание INTI out GIMSK,temp Idi temp, (1<<TOIEO) | (1<<OCIE1A) ,-разр. прерываний TimO и Timl out TIMSK,temp Idi temp,(1«ACIE) /разр. прерывания компаратора при переключении out ACSR,temp sei /разрешаем прерывания /======= основной цикл ======== G_cycle: /все время будем отслеживать пропадание внешнего питания sbrs Flag,0 /если бит0=1, идет установка rjmp G_cycle /если так, то ничего не делаем sbic PinB,0 /если напряжение есть, rcall Restore /вызываем процедуру восстановления выходов sbis PinB,0 /если напряжения нет, rcall Disable /вызываем процедуру отключения выходов
636 Приложения гjmp G_cycle /зацикливаем программу ;======= конец основного цикла ======== Disable: /процедура отключения sbrc Flag,2 /если бит1=1, то уже все сделали гjmp END_dis /выход из процедуры cli /запрещаем прерывания на время установок sbr Flag,2 / устанавливаем бит1 Flag /обрываем внешние соединения и обнуляем все порты: clr temp out PortD,temp out PortB,temp out DDRD,temp out DDRD,temp sei /разрешаем прерывания END_dis: ret /конец процедуры отключения выходов Restore: /процедура восстановления sbrs Flag,2 /если бит1=0, то уже все остальное сделали гjmp end_res /выход из процедуры /восстановление cli /запрещаем прерывания на время установок cbr Flag,2 /сбрасываем бит1 Flag /восстанавливаем внешние соединения: clr temp ldi temp,ObOlllOlll /порт D разряды 0,1,2,4,5,6 на выход out DDRD,temp ldi temp, ObllllllOO /порт В все на выход, кроме 0,1 out DDRB,temp sei /разрешаем прерывания END_res: ret /конец процедуры восстановления выходов SEG_SET: / процедура установки сегментов cpi temp,0 /ищем число, равное temp brne ss_0 rcall OUT 0 /и посылаем на нужную процедуру вывода сегментов
Приложение 6. Программа часов 637 rjmp END_seg ss_O: cpi temp,l brne ss_l rcall OUT_1 rjmp END_seg ss_l: cpi temp,2 brne ss_2 rcall 0UT_2 rjmp END_seg ss_2: cpi temp,3 brne ss_3 rcall 0UT_3 rjmp END_seg ss_3: cpi temp,4 brne ss_4 rcall 0UT_4 rjmp END_seg ss_4: cpi temp,5 brne ss_5 rcall 0UT_5 rjmp END_seg ss_5 : cpi temp, 6 brne ss_6 rcall 0UT_6 rjmp END_seg ss_6: cpi temp,7 brne ss_7 rcall 0UT_7 rjmp END_seg ss_7: cpi temp,8 brne ss_8 rcall 0UT_8 rjmp END_seg ss_8: cpi temp, 9 rcall 0UT_9 END_seg: ret /конец процедуры установки сегментов
Приложение 7 Текст процедур для работы с интерфейсом 12С /файл I2C.prg /Процедуры чтения и записи памяти по интерфейсу 12С / +----------------------порт А----------------------------+ . equ pSCL = 6 . equ pSDA = 7 / , def DATA = Г16 , def ent = rl7 , def temp = rl8 ;------------------------запись ------------------------- write_i2c: /в YL,YH - адрес, данные в DATA /если бит с = 1 в регистре флагов, то ошибка cbi PORTA,pSDA cbi PORTA,pSCL Idi ent,120 /120 попыток прописать 1оор120: push DATA rcall start Idi DATA, OxAO ,-addr device=0, r/w=0 rcall write bres rt_write /0=1 ERROR mov DATA,YH /set HI address rcall write
Приложение 7. Текст процедур для работы с интерфейсом 12С 639 brcs rt_write ;C=1 ERROR mov DATA,YL ; set LO address rcall write brcs rt_write ;C=1 ERROR Pop DATA ;set data to DATA rcall write brcs rt_ ;C=1 ERROR rcall stop brcs rt_ ;C=1 ERROR ret f read_i2c: ;b YL,YH - адрес, данные в DATA ; ( эсли бит c = 1 в регистре флагов, то ошибка cbi PORTA,pSDA cbi PORTA,pSCL ldi ent,120 loop_read_: rcall start ldi DATA,OxAO ;addr device=0,r/w=0 rcall write brcs rt ;С=1 ERROR mov DATA,YH ;set HI address rcall write brcs rt____ ;C=1 ERROR mov DATA,YL ;set LO address rcall write brcs rt____ ;C=1 ERROR rcall start ldi DATA,OxAl ;addr device=0,r/w=l rcall write brcs rt ;C=1 ERROR clt ; no ptit^ ACK rcall read rcall stop brcs rt____ ;C=1 ERROR ret rt__: dec ent
640 Приложения brne loop_read_ ret rt_write: pop DATA rt_: brcc Ok_wr_ dec ent brne loopl20 Ok_wr_: ret write: /запись байта из DATA push DATA push ent ldi ent, 8 ; bit counter x42: rol DATA ; move bit into CY bres sei ;; output bit sbi DDRA,pSDA rjmp del_wr sei: cbi DDRA,pSDA del_wr cbi DDRA,pSCL ; raise clock rcall delay ; enforce pSCL high sbi DDRA,pSCL ; drop clock rcall delay dec ent brne x42 ; next bit cbi DDRA,pSDA ; release pSDA for ACK rcall delay ; enforce pSCL low and tAA cbi DDRA,pSCL ; raise ACK clock rcall delay ; enforce pSCL high ; get ACK bit clc sbic PINA,pSDA /читаем в С состояние АСК sec ;ack not!
Приложение 7. Текст процедур для работы с интерфейсом 12С 641 sbi DDRA,pSCL ; drop ACK clock rcall delay Pop ent Pop DATA ret read: ;чтение в DATA, t=l -> put АСК, t=0 no ACK Idi DATA,1 loop_ read: sbi DDRA,pSCL ;SCL=0 cbi DDRA,pSDA ;(t) , SDA=1 rcall delay cbi DDRA,pSCL ;SCL=1 rcall delay clc sbic PINA,pSDA ;read SDA to C sec rol DATA brcc loop_read ;put i ack sbi DDRA,pSCL ;SCL=0 rcall delay brts seO cbi DDRA,pSDA ;no ACK (t) , SDA=1 rjmp rd_ seO : sbi DDRA,pSDA ;ACK (t) , SDA=0 rd_: clc rcall delay cbi DDRA,pSCL ;SCL=1 rcall delay ret start cbi DDRA,pSDA cbi DDRA,pSCL rcall delay sbis PINA,pSDA
642 Приложения rjmp start sbis PINA,pSCL rjmp start sbi DDRA,pSDA ;0=SDA rcall delay sbi DDRA,pSCL ;0=SCL rcall delay ret stop: sbi DDRA,pSDA sbi DDRA,pSCL rcall delay cbi DDRA,pSCL ;1=SCL rcall delay cbi DDRA,pSDA ;1=SDA rcall delay clc sbic PINA,pSDA ret sbic PINA,pSCL ret sec ret delay: push ldi ent ent, 5 ;~5mks (QUARTZ 8MHz) wtlO : dec ent brne wtlO pop ent ret
Приложение 8 Перевод некоторых часто встречающихся терминов Таблица содержит некоторые термины, часто встречающиеся в англоязычной технической документации. Термины, вошедшие в русский язык в ориги- нальном звучании или близком к нему (transistor, resistor, triac, logic, timer, emitter и т. п.) за некоторыми исключениями в таблицах не приводятся. Не приводятся также термины и сокращения, подробно рассмотренные в тексте соответствующих глав (SRAM, DRAM, EEPROM и т. п.). Русско-английский Блок (узел, устройство) unit центральный процессорный блок central processor unit, CPU Период (импульсов) cycle Внешний external Питание power источник питания power supply Внутренний internal Плата board Восьмеричный octal Поддержка support Вход input Показатель rate Вывод (компонента) pin, lead Полоса (частот) band I ширина полосы bandwidth Выпрямитель rectifier Полупроводник semiconductor Выход output Поправка correction Вычитание subtraction Последовательный serial Генератор тактирующих импульсов clock Предел limit
644 Приложения (продолжение) Русско-английский Данные data Преобразователь converter аналого-цифровой" analog-to-digital converter, ADC Двоичный binary Проверка, контроль check Действующий (значение напряже- Провод wire ния) effective гибкий" (шнур) cord Деление division Проводник conductor Делитель divisor Произвольный random Десятичный decimal Прямой direct Диапазон range, scale Регулировать adjuist, control Доступ access Регулировка adjustment Дрейф drift Режим (работы) mode Емкость capacity, capacitance Синхронизация clock Задержка delay Сложение adding Заряд charge Смещение offset Затвор gate Соединение connect Земля ground Соединитель (разъем) connector Измерение measuring Состояние state Индуктивность (катушка индуктив- Стирание erase ности) coil Исток, источник source Сток drain Канал channel Сторожевой (таймер) watchdog "передачи данных data transfer channel Кнопка button, key Схема circuit Конденсатор capacitor Счетчик counter Корпус case, package Ток current "базы base current втекающий" sink current вытекающий" source current "насыщения saturation current переменный" alternating current, AC постоянный" direct current, DC "смещения bias current сила тока amperage
Приложение 8. Перевод некоторых часто встречающихся терминов 645 (окончание) Русско-английский Коэффициент усиления gain "по напряжению voltage gain Мост bridge "выпрямительный rectifier brige Мощность power Набор kit I Точность (погрешность) accuracy б Умножение multiplication 1 Умножитель multiplier I Управление control 1 центральное устройство управления 1 mean control unit, MCU Напряжение voltage высокий уровень" high voltage низкий уровень" low voltage "питания supply voltage "смещения bias Нуль zero | Усилитель amplifier I Установка set I начальная" (переустановка) reset Объединение (каналов) multiplex Отношение ratio I Устройство device I Утечка leakage Пайка soldering Память memory Панель (для микросхем) socket Параллельный parallel Переключатель switch I Хранение storage I Частота frequency I Шестнадцатеричный hexadecimal I Шина bus I Элемент (гальванический) cell, battery Англо-русский AC (alternating current) перемен- ный ток I Gain коэффициент усиления Access доступ k в Gate затвор (полевого транзистора); логи- I ческий элемент, вентиль (AND gate) Accuracy точность (погрешность) 1 Ground земля ADC (analog-to-digital converter) аналого-цифровой преобразователь I Hexadecimal шестнадцатеричный Adding сложение 1 Input вход Adjuist регулировать I Internal внутренний Adjustment регулировка I Key кнопка
646 Приложения (продолжение) Англо-русский Amperage сила тока Kit набор Amplifier усилитель Lead вывод (компонента) Band полоса (частот) Leakage утечка Bandwidth ширина полосы Limit предел Battery элемент (гальванический) Loop контур обратной связи; цикл (в про- грамме) Bias смещение; напряжение сме- щения MCU (mean control unit) центральное уст- ройство управления Binary двоичный Measuring измерение Board плата Memory память Bridge мост Mode режим (работы) rectifier" выпрямительный мост Bus шина Mount монтировать Button кнопка, клавиша Multiplex объединение (каналов) Capacitor конденсатор Multiplication умножение Capacity, capacitance емкость Multiplier умножитель Case корпус Octal восьмеричный Cell ячейка, элемент (гальванический) Offset смещение Channel канал Output выход data transfer" канал передачи данных Charge заряд Package корпус Check проверка, контроль Parallel параллельный Circuit схема Pin вывод (компонента) Clock синхронизация; генератор так- тирующих импульсов Power supply источник питания Coil индуктивность (катушка индук- тивности) Power мощность Conductor проводник Power питание Connect соединение Random произвольный, случайный Connector соединитель (разъем) Range диапазон Control управлять, регулировать, управление Rate показатель
Приложение 8. Перевод некоторых часто встречающихся терминов 647 (окончание) Англо-русский Converter преобразователь Cord гибкий провод (шнур) Correction поправка Counter счетчик CPU (central processor unit) цен- тральный процессорный блок Current ток base" ток базы bias~ ток смещения saturation" ток насыщения sink" втекающий ток source" вытекающий ток Cycle период (импульсов) Data данные DC (direct current) постоянный ток Decimal десятичный Delay задержка Device устройство Direct прямой Division деление Divisor делитель Drain сток Drift дрейф Effective действующий (значение напряжение) Erase стирание External внешний Frequency частота Ratio отношение Rectifier выпрямитель Reset переустановка; начальная установка Scale диапазон Semiconductor полупроводник Serial последовательный Set установка Socket панель (для микросхем) Soldering пайка Source исток, источник State состояние Storage хранение Subtraction вычитание Support поддержка Switch переключатель Unit блок (узел, устройство) Value значение Voltage напряжение high" высокий уровень напряжения low~ низкий уровень напряжения supply" напряжение питания "gain коэффициент усиления по напря- жению Watchdog сторожевой (таймер) Wire провод Zero нуль
Принятые обозначения Физические величины и их единицы измерения по умолчанию I — ток, ампер (А) U — напряжение, вольт (В, V) R — электрическое сопротивление, ом (Ом, Ohm) Е — энергия, джоули (Дж) N, Р — электрическая мощность, ватты (Вт, W) W — тепловая мощность, ватты (Вт, W) С — электрическая емкость, микрофарады (мкФ, pF) Q — заряд, кулон (Кл) t — время, секунды (с) Г,О — температура, градусы Цельсия (°C) L — длина, метры (м) 5 — площадь faЕ. 2) 2 р — удельное сопротивление (омхм/мм ) Е. Примечание Все наименования единиц измерения, которые названы по фамилиям ученых, в сокращении пишутся с прописной буквы (вольт — В, ом — Ом, ватт — Вт, ам- пер — А), а все остальные — со строчной (секунда — с, метр — м).
650 Принятые обозначения Приставки и множители для образования десятичных кратных и дольных единиц Приставка Множитель 1018 Наименование экса Обозначение русское Э международное Е пета П Р 1015 тера т Т 1012 гига г С ю9 мега м м 106 кило к к 103 гекто г h 102 дека да da 10 деци Д d 10’1 санти с с 10'2 милли м m 10’3 микро МК Н 10‘6 нано н n 10’9 ПИКО п Р 10'12 фемто ф f 10’15 атто а а Ю-18 Некоторые буквенные обозначения в электрических схемах R — резистор С — конденсатор
Принятые обозначения 651 VT — транзистор VD — диод Н — цифровой индикатор К — тумблер, кнопка, реле Р — реле DA — аналоговая микросхема DD — цифровая микросхема D — микросхема, содержащая аналоговые и цифровые узлы Q — кварцевый резонатор L — лампа (газоразрядная или накаливания) Некоторые символические обозначения в электрических схемах Постоянный резистор -| ^ Ь Переменный резистор / ь Подстроечный резистор X Резистор с зависимостью от температуры (терморезистор, термистор) ={= Конденсатор -т- Полярный (электролитический) конденсатор Диод Стабилитрон
Принятые обозначения Двусторонний стабилитрон Тиристор Светодиод Фотодиод Биполярный транзистор (п-р-п) Биполярный транзистор (р-п-р) Полевой транзистор с рп-переходом и п-каналом Полевой транзистор с рп-переходом и р-каналом Полевой транзистор с изолированным затвором и n-каналом (п-МОП) Полевой транзистор с изолированным затвором и p-каналом (р-МОП) Кварцевый или керамический резонатор Нормальнозамкнутый контакт (реле, тумблера, кнопки) Нормальноразомкнутый контакт (реле, тумблера, кнопки)
Принятые обозначения 653 Реле с нормальноразомкнутым контактом Лампа накаливания Лампа газоразрядная (неоновая) Динамическая звуковая головка Общий провод «Земля» Символические обозначения мощности резисторов на схемах Резистор 0,125 Вт Резистор 0,25 Вт Резистор 0,5 Вт Резистор 1 Вт Резистор 2 Вт Резистор 10 Вт
Литература 1. Ревич Ю. Честные дети (http://www.computer-museum.rii/technlgy/ fairchil.htm). 2. Ревич Ю. Мы искушаем расстоянье... (http://www.homepc.ru/offline/2002/75/20590/). 3. Ревич Ю. Теоретики (http://www.homepc.ru/offline/2003/81/24904/). 4. Ревич Ю. Пращур (http://www.homepc.ru/offline/2002/76/21228/). 5. Ревич Ю. Наследники Бэббиджа (http://www.homepc.ru/offline/2002/78/22548/; http://www.homepc.ru/offline/2003/79/26571/). 6. Ревич Ю. Шпионские страсти (http://www.russ.ru/netcult/20021112_revich.html). 7. Элементарный учебник физики, тома II, III / Под ред. Г. С. Ландсберга. — М.: "Наука", 1971. 8. Физические величины: справочник / Под ред. И. С. Григорьева, Е. 3. Мей- лихова. — М.: Энергоатомиздат, 1991. 9. Ан Пей. Сопряжение ПК с внешними устройствами. Пер. с англ. — М.: ДМК Пресс, 2003. 10. Хоровиц П., Хилл У. Искусство схемотехники, в 3 т. Пер. с англ. — М.: "Мир", изд. 1983,2001,2003. 11. Сайт фир^ы "Каскад" (http://www.cpp-kaskad.ru). 12. Куликов Г. В. Бытовая аудиотехника (устройство и регулировка). — М.: ПрофОбрИздат, 2001. 13. Ежков Ю. С. Справочник по схемотехнике усилителей. 2-е изд. — М.: РадиоСофт, 2002, 272 стр. 14. http://www.shema.ru/. 15. Гутников В. С. Интегральная электроника в измерительных устройствах. 2-е изд. — Л.: Энергоатомиздат. Ленигр. отд. 1988.
656 Литература 16. Кейн В. М. Конструирование терморегуляторов. М.: "Советское радио", 1971. 17. Крылов Г. Пример расчета усилителя мощности (http://www.geocities.com/ResearchTriangle/Node/2356/design.html). 18. Крылов Г. Схемотехника транзисторных усилителей мощности (http://www.geocities.com/ResearchTriangle/Node/2356/powersch.html). 19. Крылов Г. Мой взгляд на субъективизм (http://www.geocities.com/ResearchTriangle/Node/2356/notes.html). 20. Титце У., Шенк К. Полупроводниковая схемотехника: Справочное руко- водство. М.: Мир, 1982 (доступна в Интернете: http://www.cs.ua/rad/lib/ titc/titsh.zip), 21. Гнеденко Б. В., Хинчин А. Я. Элементарное введение в теорию вероятно- стей. — М.: Едиториал УРСС, 2003. 22. Вентцель Е. С. Теория вероятностей. — Изд. 7-е, стереотипное. — М.: Высш, шк., 2001. 23. Горелова Г. В., Кацко И. А. Теория вероятностей и математическая стати- стика в примерах и задачах с применением Excel: для студентов вузов. — Изд. 2-е, исп. и доп. — "Феникс", 2002. 24. Обработка экспериментальных данных на ЭВМ (http://pds.sut.ru/ oed/oed/). 25. Кузнецов В. А., Ялунина Г. В. Основы метрологии. Учеб, пособие для вузов по направл. "Приборостроение" // Под ред. В. А. Кузнецова — М.: Изд-во стандартов, 1995. 26. Петцольд Ч. Код. — М.: ИТД "Русская редакция", 2001. 27. Андреева Е., Фалина И. Информатика. Системы счисления и компьютер- ная арифметика // Серия: Информатика. — М.: Лаборатория Базовых Знаний, 1999. 28. Яглом А. М., Яглом И. М. Вероятность и информация. — М.: Наука, 1973. 29. Шило В. Л. Популярные цифровые микросхемы: Справочник. — М.: Ра- дио и связь, 1988. 30. Ревич Ю. Часы с термометром и барометром. — "Радио", 2003, № 4, 5, 7. 31. Андрианов В. И., Бородин В. А., Соколова. В. "Шпионские штучки" и устройства для защиты объектов и информации. Справочное пособие. — СПб.: Лань, 1996.
Предметный указатель А В Аккумулятор 51 Алгебра Буля 297 АЛУ 493 Ампер 9 Амперметр 15, 20 Амплитуда 52 Анемометр 469 Анод 86 Антидребезг 347, 388, 394 Аппроксимация 286 Ассемблер 518 Ватт 56 Величина переменная 52 Вольт 9 Вольтметр 15, 21 Выпрямитель дву полу пер иодный 156 Г Генератор 17 аналоговый 227 АЦП: двойного интегрирования 450 интегрирующие 439 однократного интегрирования 439 параллельного действия 436 последовательного приближения 437 с двойным интегрированием 442 с уравновешиванием заряда 447 кварцевый 382 прямоугольных импульсов 376 релаксационный 180 цифровой лабораторный 407 Герц 53 Гистерезис 243, 389 Гомеостат 231 Градуировка 280 д Датчик: влажности 467 Б воды 582 давления 464 База 89 Байт 317 Бит313,317 ' Бокорезы 32 скорости ветра 468 температуры 238, 240, 259, 268, 456 трехпроводная схема включения 457
658 Предметный указатель Демонтаж 43 Детектор 578, 583 Децибел 217 Дешифратор 355, 362, 415, 418 Диод 85 вольтамперная характеристика 86 германиевый 86 замена 128 защитный 197 кремниевый 86 характеристики 87 Шоттки 87, 543, 578 Дисперсия 284 Доверительная вероятность 285 Доверительный интервал 285 Дрейф 277 Дроссель 189 Е Емкость: определение 72 распределенная 76 3 Заземление 172, 188 Закон: Джоуля — Ленца 56 Мэрфи 29, 132 Ома 12 трансформатора 154 Заряд 9 Земля 172 ЗУ 478 ЗУПВ 488 И Измерение: атмосферного давления 464 скорости вращения 470 Измерения относительные 294 Измеритель 463 Импульс управляющий 176, 178 Индикатор: цифровой 271 шестнадцатисегментный 481 ЖК360 семисегментный 117, 353, 419, 539 Индуктивность 82, 189 Интегратор 225 Интерфейс 12С 571 Информация: избыточность 367 Источник тока 226 Источник питания 22, 152 бестрансформаторный 152, 173 вторичный 152 двуполярный 159, 162 импульсный 152 нестабилизированный 156 простейший 156 регулируемый 165 стабилизированный 160 трансформаторный 152 К Калибровка 280 Канал: связи 366 связи с помехами 370 Каскад дифференциальный 100 Катод 86 Кварц 381 Класс точности 264, 289 Код 349 Грея 473,481 двоичный 349, 351 с исправлением ошибок 373 семисегментный 353 экономичный 368 Колебания: амплитуда 52 суммирование 54 Коллектор 89 Компаратор 238, 245 Комплементарный 126 Конденсатор 71, 124 в цепи переменного тока 79
Предметный указатель 659 емкость 72 замена 124 заряд и разряд 73 керамический 125 неполярный 78 номинальные значения 66 параллельное и последовательное соединение 79 развязывающий 138, 171 с органическим диэлектриком 125 фильтрующий 157, 160 электролитический 77, 124 номинальные значения 590 Корпус: изготовление в домашних условиях 49 нанесение надписей 50 Коэффициент: диэлектрической проницаемости 76 мощности 83 ослабления синфазного сигнала (КООС) 217 передачи 138 передачи в системе с обратной связью 215 сопротивления температурный, ТКС 14 температурный резисторов 66 удельного сопротивления 13 усиления 137 усиления ОУ 216 Л Лейденская банка 71 Ленин 179 Логика 295 математическая 296 Логические: микросхемы 327, 334 схемы на реле 302 схемы на транзисторах 304 переменные 297, 298 Логическое: отрицание 298 сложение 297 умножение 297 м Магазин сопротивлений 264 Магнитопровод 155 Математическая статистика 276 Математическое ожидание 284 Меандр 60 Метод наименьших квадратов 288 Метрология 275 Микроконтроллер 496, 501 EEPROM 513 UART 509, 531 встроенное АЦП 551 компаратор 544, 547 порт ввода/вывода 504 прерывания 506, 523 программирование 515 режим экономии 506 таймеры-счетчики 508, 526 таймеры-счетчики в режиме ШИМ 570 Микропроцессор 492 Микросхема 191 RTC 538 замена 125 КМОП 330, 335 корпуса 125, 199 с открытым коллектором (истоком) 336 ТТЛ 328 цифровая 327 защита от статики 196 схемотехника 194 эксплуатация 196 Монтаж 42 Мост: выпрямительный 129, 156,183, 184 Уитстона 263 Мощность 56 звукового усилителя 139 (окончание рубрики см. на стр. 660)
660 Предметный указатель Мощность (окончание)-. регулирование 177, 179 резисторов номинальная 67 управление 177 Мультивибратор 378, 577 Мультиплексор 415 н Надежность 129 Напряжение 9, 10 действующее значение 58, 177 измерение 177 источник 64 несинусоидальное 59 определение 9 переменное 51 постоянное 51 прямое падение 86 сетевое 26, 62, 152, 173 синусоидальное 53 среднеамплитудное значение 58 среднее значение 58 фазное 172 эмиттерного перехода 89 Нормальное распределение вероятностей 282 характеристики 284 . _ О Обратная связь 137, 210 отрицательная 97, 166, 210, 211,214 положительная 212, 243 Одновибратор 387 с перезапуском 471 Олигархи 17 Ом 13 Оптопара 119, 179 Оптрон 118, 182 диодный 182 резисторный 186 Осциллограф 24 Отсчет 428 Оцифровка 428 Ошибки измерения: систематические 279 случайные 279, 280 п Паяльник 33 доработка жала 33 проверка изоляции 33 Перерегулирование 236 Период 52 принцип измерения 412 ПЗУ 480 Пинцет 32 Питание сетевое 62 Платы: изготовление в домашних условиях 39 макетные 44 печатные 37 Плотность вероятностей, 281 Погрешность 278 абсолютная 289 аддитивная 279 мультипликативная 279 относительная 289 относительная приведенная 289 Полупроводники 85 Помехи 188 Постоянная времени: RC цепи 75 тепловая 236 ППЗУ 486 Правила де Моргана 299 Преобразование: напряжения в ток 67 тока в напряжение 67 Преобразователь: аналого-цифровой, АЦП 436, 551 дельта-сигма 447 инвертор 461 напряжение-время 446 цифроаналоговый, ЦАП 430 Прерывание: Reset 525
Предметный указатель 661 UART 532 таймера 526, 529 Провода 47 обмоточные 48 Программатор 485, 516 Программирование 501, 515, 520 UART 532 Психрометр 468 Р Радиатор 143,204 методика расчета 143 монтаж 146 Радиорынки 131 Разводка питания 170 Разрешающая способность 277 Регистр 397 защелка 398 последовательный 398 сдвиговый 398 Регрессия 286 уравнение 287 Резистор 14, 63, 123, 589 допустимое напряжение 67 замена 123 маркировка 65 МЛТ 64 мощность 67 номинальные значения 65, 590 параллельное соединение 69 переменный 15, 67 подстроечный 68 последовательное соединение 69 прецизионный 66 С1-4 64 самодельный 21 Реле 105, 174 герконовые 107 напряжение срабатывания 109 с самоблокировкой 110 ток срабатывания 110 электромагнитное 106 электронные 119, 179, 241, 580 с Светодиод 114 двухцветный 117 особенности включения 116 падение напряжения 117 Сигнал 61 Симистор 176, 186 Синхронизация луча осциллографа 26 Система счисления 307, 309 двоичная 313 перевод 315 позиционная 310 шестнадцатеричная 314 Скважность 60 Сопротивление 10 внутреннее 64 определение 13 реактивное 80, 82 резисторов 65 удельное 13 Среднеквадратическое отклонение 285 Стабилизатор 160 интегральный 163 Стабилитрон 111, 168 вольтамперная характеристика 112 двусторонний 112 Сумматор 339 аналоговый 225 двоичный 339 одноразрядный 342 полный 342 Схема: аналогового усилителя на КМОП 375 антидребезга 347, 388, 394 АЦП 447 с двойным интегрированием 443 с однократным интегрированием 439 включения: интегрального стабилизатора 164 светодиода 116 тиристора 174 (продолжение рубрики см. на ст. 662)
662 Предметный указатель Схема (продолжение)'. воспроизведения звука на контроллере 571 выделения фронтов 384 генератора: аналогового 227 релаксационного 376 цифрового 408 датчика воды 582 двоичного полусумматора 342 двуполярного нестабилизированного источника 159 детектора электромагнитного поля 584 дешифратора: двоично/шестнадцатеричного 364 двоичного/десятичного 363 семисегментного 358, 361, 480 шестнадцатисегментного 482 дифференциального: каскада 100 усилителя 222 задержки импульса 386 защиты входа микрофонного усилителя 113 защиты выводов микросхем 197 звонка 111, 377 звуковой сигнализации 380 идеального источника тока 226 измерений логометрическая 293 измерения: скорости вращения 470 сопротивления 264 тока 21 инвертирующего усилителя с высоким коэффициентом усиления 220 инвертора напряжения 461 интегратора 225 исключающее ИЛИ 342 кварцевого генератора 382 компаратора с гистерезисом 243 лабораторного источника питания 165 логическая: диодно-транзисторная 304 на выключателях 300 на реле 302 микроконтроллера AVR 504 микропроцессора 494 мостика Уитстона 262 мультивибратора 378, 577 мультивибратора с управлением 379 одновибратора 387 плавного включения ламп 187 повторителя 218 повторителя/инвертора 226 подключения переменного резистора 67 портов ввода/вывода 498 предустановки счетчика 405 преобразователя уровней RS232—UART 513 прецизионного термостата 250 проверки: закона Ома 10 на четность 373 простейшего источника питания 156 разводки питания 171 расщепителя напряжения 460 реле с самоблокировкой 110 ручного регулятора мощности 180, 184 с общим коллектором 95 с общим эмиттером 94 с открытым коллектором 336 сетевого фильтра 189 системы с отрицательной обратной связью 214 стабилизатора: двуполярного 163 на стабилитроне 160 на транзисторе 161 параметрического 160 структурная термостата 233 сумматора: аналогового 225 двоичного 342
Предметный указатель 663 счетчика: асинхронного 400 реверсивного 403 синхронного 402 термометра на микроконтроллере 553 терморегулятора 238 термостата для нагревания воды 245 токового зеркала 194 транзистора: в ключевом режиме 90 Дарлингтона 93 транзисторного УМЗЧ 135 триггера: RS 392 динамического типа D 396 статического типа D 396 счетного 397 УМЗЧ на микросхемах 201, 203, 204, 207 управления: реле 110 одной кнопкой 581 усилительного каскада 97 усилителя: инвертирующего 219 неинвертирующего 217 фазового компаратора 348 фильтра: высоких частот 80 низких частот 81 формирователя 383 ЦАП 433,435 цепи с двумя резисторами 14 цепочки R-2R 435 часов: плата индикации 542 плата управления 541 частотомера 421 входной формирователь 412 индикация 416 чувствительного детектора 579 реле: электромагнитного 107 электронного 580 электронного термометра 268,271,456 элемента: КМОП 328 ТТЛ 328 эмиттерного повторителя 95 Счетчик 400 двоичный 402 реверсивный 403 т Температура 257 измерение 273 шкала Кельвина 258 шкала Цельсия 258 Теорема Котельникова 429 Теория вероятностей 276 Теория информации 365 Термометр: медный 260, 261, 456 металлический 259 платиновый 259, 260, 261 полупроводниковый 260 ртутный 261 сопротивления 260 цифровой 271, 449, 455 цифровой, калибровка 460 электронный 268, 271,432 Терморегулятор 238, 245 Термостат 231, 233 Тестер 18 Тетрада 317 Тиристор 174, 183 Ток 9, 10 зависимость от напряжения (закон Ома) 12 измерение 20 измерение вольтметром 22 определение 9 Токовое зеркало 194 Точность 277 Транзистор 87, 126 биполярный 88 включение: с общим коллектором 95 с общим эмиттером 92 (окончание рубрики см. на ст. 664)
664 Предметный указатель Транзистор (окончание)-. операционный 165, 170 Дарлингтона 90, 93 дифференциальное включение 100 ключевой режим 90 комплементарный 126, 141 коэффициент усиления по току 90, 93 критерии выбора 103, 126 маломощный 127 МОП 102, 580 мощность 104 мощный 127 однопереходной 182 полевой 101 полевой с р-п-переходом 101 типа п-р-п 88 типа р-п-р 88 усилительный режим 93 характеристики 103 Трансформатор 151, 152, 156 импульсный 184 определение количества витков 155 расчет 154 Трансформаторы 55 Триак 176,186 Триггер 383, 391 динамический типа D 396 статический типа D 395 счетный 397 типа R.S 392 Шмидта 389 Трубка кембриковая термоусадочная 49 использование 209 определение 209 переменного тока 99 режим АВ 142 ф Фаза 54, 177 Фарада 72 Фильтр: высоких частот 80 нижних частот 81 развязывающий 172, 189 Флюгер 473 Флюс: активный 37 спирто-канифольный 36 ц Цепь: дифференцирующая 80 интегрирующая 81 ч Частота: определение 52 принцип измерения 412 Частотомер 410 Четность 371 Чип 191 У э УМЗЧ 135,201 маломощный 206 Усилитель: Электронно-лучевая трубка 24 Электроэнергия 62 дифференциальный 222 звуковой 135 звуковой на микросхемах 201 инвертирующий 219 инструментальный 224 мощность 139, 142, 148 на логических элементах 375 неинвертирующий 217 Элемент алкалайновый 18, 51 гальванический 51 литиевый 51 марганец-цинковый 51 Эмиттер 89 Эмиттерный повторитель 96, 137, 138 Эталон 259
"Электроника - это искусство, которое основано на нескольких основных законах и включает в себя большое количество практических правил и приемов". П. Хоровиц, У. Хилл Е^аНиМа'ВгЛьНаЯ Т ЭПЕМРОНИКП J За последние несколько десятков лет в мире произошла революция. Мы и не успели опомниться, как компьютеры, мобильные телефоны, "умные" электронные игрушки стали частью нашего быта. В том, что эти чаяния фантастов прошлого стали явью, главную роль сыграла электроника - искусство конструирования и производства электронных схем. Автор вводит читателя в увлекательный мир электроники и схемотехники, на простых примерах показывая, что изобретать и изготавливать электронные приборы самостоятельно вовсе не такая сложная наука, как кажется. Изложение материала отличается максимально подробным разбором каждой конструкции и схемы, при этом основной упор делается на творческий подход - так, чтобы читатель всегда знал, как можно .улучшить и модернизировать ту или иную конструкцию. Книга рассчитана на старших школьников, учащихся техникумов, студентов и широкий круг радиолюбителей. Автор - инженер-электроник с многолетним стажем. Занимался автоматизацией производств, конструированием измерительных | приборов для изучения океана и других научных исследований. 3 настоящее время журналист. Основной круг интересов - информационные технологии, их влияние на современное общество, история компьютеров и электронных приборов. Имеет более 200 публикаций в журналах, газетах и сетевых изданиях. БХВ-Петербург 190005, .Санкт-Петербург, Измайловский > - 29 E-mail: mail@bhv.ru Internet: www.bhv.ru тел.: (812) 251-42-44 факс: (812) 251-12-95 ISBN 5-94157-514-9 (ЬЬу