ОГЛАВЛЕНИЕ
Введение
Глава 1. Внутреннее строение МК
1.1. Структурная схема идеализированного МК
1.2. Условные обозначения на схемах
Глава 2. Типовые схемы узлов вывода МК
2.1. Светодиодные индикаторы
2.1.2. Последовательное соединение светодиодов
2.1.3. Сокращение числа соединительных линий
2.1.4. Стробирование светодиодов
2.1.5. Одиночные светодиоды с буферными транзисторами
2.1.6. Линейки светодиодов
2.1.7. Светодиодные панно
2.1.8. Мигающие светодиоды
2.1.9. Двухцветные светодиоды
2.1.10. Многоцветные светодиоды
2.1.11. Одноразрядные семисегментные индикаторы
2.1.12. Многоразрядные семисегментные индикаторы
2.1.13. Уплотнение сигналов в многоразрядных семисегментных индикаторах
2.1.14. Буквенно-цифровые индикаторы
2.1.15. Интегральные светодиодные матрицы
2.1.16. Инфракрасные светодиоды
2.2. Жидкокристаллические индикаторы
2.2.2. Семисегментные ЖК-модули
2.2.3. Алфавитно-цифровые ЖК-модули
2.2.4. Монохромные графические ЖК-дисплеи
2.2.5. ЖК-дисплеи от мобильных телефонов
2.3. Звуковые излучатели
2.3.2. Пьезокерамические динамики
2.3.3. Пьезогенераторы
2.3.4. Пьезосирены
2.3.5. Ультразвуковые излучатели
2.3.6. Динамические громкоговорители
2.3.7. Звук через радиотрансляционный динамик
2.3.8. Головные телефоны
2.3.9. Генерация звука через канал ШИМ
2.3.10. Генерация звука через внешний ЦАП
2.3.11. Интегральные усилители звука
2.3.12. Формирователи тембра
2.4. Ключевые каскады
2.4.2. Двухтранзисторные биполярные ключи
2.4.3. Ключи на полевых транзисторах
2.4.4. Многотранзисторные ключи
2.4.5. «Цифровые» транзисторы
2.4.6. Узлы включения/выключения питания
2.4.7. Узлы управления режимами и параметрами
2.5. Электродвигатели
2.5.2. Микросхемы управления двигателями
2.5.3. Шаговые двигатели
2.6. Генерация, модуляция, переключение сигналов
2.6.2. Модуляция сигналов
2.6.3. Генерация прямоугольных сигналов
2.6.4. Генерация сигналов непрямоугольной формы
2.6.5. Радиопередающие устройства
2.6.6. Коммутация сигналов
2.6.7. Передача сигналов на большие расстояния
2.6.8. Формирователи ступенчатого напряжения
2.6.9. Выход на телефонную линию
2.6.10. Подключение радиоэлементов к внешнему тракту
2.6.11. Сопряжение с логическими микросхемами
2.6.12. Импульсные устройства
2.7. Силовая электроника
2.7.2. Нагревательные элементы
2.7.3. Управление тиристорами
2.7.4. Управление симисторами
2.7.5. Оптосимисторы
2.8. Механические реле
2.8.2. Включение нескольких реле
2.8.3. Поляризованные реле
2.9. Полупроводниковые реле
2.9.2. Оптореле
2.10. Комбинированные выходные схемы
2.10.2. Местная световая индикация
2.11. Необычные схемы узлов вывода
Список использованных источников и литературы к главе 2
Глава 3. Типовые схемы комбинированных узлов ввода/вывода
3.1. Следящая обратная связь в двигателях
3.2. Стабилизированные источники питания
3.3. Многофункциональные схемы
3.4. Схемы с программной обратной связью
3.5. Опрос состояния кнопочной клавиатуры
3.6. Связь между двумя МК по входам/выходам
3.7. Сопряжение с двунаправленными буферами
3.8. Подключение внешних микросхем ОЗУ и ПЗУ
3.9. Светоизлучатели и фотоприёмники
3.10. Необычные схемы узлов ввода/вывода
Список использованных источников и литературы к главе 3
Глава 4. Типовые схемы подключения компьютеров к МК
4.1. СОМ-порт
4.2. LPT-порт
4.3. Интерфейс PS/2
4.4. Интерфейс USB
4.5. Интерфейс Ethernet
Список использованных источников и литературы к главе 4
Глава 5. Схемы, не рекомендуемые к применению
5.1. О неудачах и ошибках
5.2. Пример анализа электрической схемы
5.3. Коллекция не рекомендуемых схем
Список использованных источников и литературы к главе 5
Глава 6. Мини-учебник по основам языка Си
6.1. Введение в Си
6.1.2. Классификация программистов
6.1.3. Правила успешного программирования
6.2. Выбор компилятора
6.2.2. Среда разработки WinAVR
6.2.3. Философия свободных программ
6.3. Что такое «Starter Kit»?
6.4. Первая тестовая программа
6.4.2. Техническое задание и алгоритм решения
6.4.3. Составление листинга программы
6.4.4. Компиляция Си-программы
6.4.5. Моделирование программы в симуляторе VMLab
6.4.6. Программирование МК
6.4.7. Реальная работа
6.5. Операторы языка Си
6.5.2. Операторы присваивания, вызова функций, описания переменных
6.5.3. Операторы ветвлений
6.5.4. Операторы циклов
6.5.5. Операторы переходов
6.6. Функции языка Си
6.6.2. Разновидности Си-программ
Список использованных источников и литературы к главе 6
Послесловие
Приложения
Приложение 2. Ссылки и адреса в Интернете
Приложение 3. Список аббревиатур
Текст
                    СЕРИЯ
ПРОГРАММИРУЕМЫЕ СИСТЕМЫ
С. М. Рюмик
1000 и ОДНА
МИКРОКОНТРОЛЛЕРНАЯ
СХЕМА
Выпуск 2
Москва
Издательский дом «Додэка-ХХ1»
2011


УДК 004.312.46 ББК 32.973.26-04-018.2 Р97 Рюмин, С. М. Р97 1000 и одна микроконтроллерная схема. Вып. 2 / С. М. Рюмик. — М. : Додэка-ХХ1, 2011. — 400 с.: ил. + CD. — (Серия «Программируемые системы»). — ISBN 978-5-94120-270-6. Книга является второй частью и логическим продолжением авторского издания «1000 и одна микроконтроллерная схема. Вып. 1», вышедшего в издательстве «Додэка-XXI» в 2010 г. Представлена коллекция, более чем из 1000 электрических схем по применению микроконтроллеров в любительской практике. Подробно освещается подсистема цифрового вывода сигналов (подключение световых, звуковых, механических и других исполнительных устройств), а также схемотехника комбинированных узлов ввода/вывода и устройств сопряжения с компьютерами через интерфейсы RS-232, LPT, PS/2, USB, Ethernet. Все электрические схемы систематизированы по разделам и снабжены пояснениями о назначении элементов. В книге содержится мини-учебник по алгоритмическому языку Си с кратким справочником операторов и функций. Базовым инструментом программиста выбран свободно распространяемый пакет WinAVR, обеспечивающий весь цикл работ от составления проекта до программирования МК. Моделирование микроконтроллерных схем производится бесплатным си- мулятором VMLab. К книге прилагается компакт-диск с программами, видеоуроками и справочными данными на применяемые в схемах радиоэлементы: микросхемы, транзисторы, диоды, оптопары и т. д. Книга будет полезна разработчикам электронной аппаратуры, радиолюбителям (в том числе начинающим), студентам, а также всем неспециалистам в области электроники, самостоятельно осваивающим микроконтроллеры. УДК 004.312.46 ББК 32.973.26-04-018.2 Все права защищены. Никакая часть этого издания не может быть воспроизведена в любой форме или любыми средствами, электронными или механическими, включая фотографирование, ксерокопирование или иные средства копирования или сохранения информации, без письменного разрешения издательства. ISBN 978-5-94120-270-6 Рюмик С. М., 2011 Издательский дом «Додэка-XXI», 2011
ОГЛАВЛЕНИЕ Введение 7 Глава 1. Внутреннее строение МК 1.1. Структурная схема идеализированного МК 10 1.2. Условные обозначения на схемах 14 Глава 2. Типовые схемы узлов вывода МК 2.1. Светодиодные индикаторы 20 2.1.1. Одиночные светодиоды 20 2.1.2. Последовательное соединение светодиодов 25 2.1.3. Сокращение числа соединительных линий 27 2.1.4. Стробирование светодиодов 29 2.1.5. Одиночные светодиоды с буферными транзисторами 31 2.1.6. Линейки светодиодов 34 2.1.7. Светодиодные панно 40 2.1.8. Мигающие светодиоды 42 2.1.9. Двухцветные светодиоды 44 2.1.10. Многоцветные светодиоды 48 2.1.11. Одноразрядные семисегментные индикаторы 51 2.1.12. Многоразрядные семисегментные индикаторы 54 2.1.13. Уплотнение сигналов в многоразрядных семисегментных индикаторах 59 2.1.14. Буквенно-цифровые индикаторы 64 2.1.15. Интегральные светодиодные матрицы 66 2.1.16. Инфракрасные светодиоды 69 2.2. Жидкокристаллические индикаторы 74 2.2.1. Семисегментные «цифровые» ЖКИ 74 2.2.2. Семисегментные ЖК-модули 77 2.2.3. Алфавитно-цифровые ЖК-модули 81 2.2.4. Монохромные графические ЖК-дисплеи 91 2.2.5. ЖК-дисплеи от мобильных телефонов 95 2.3. Звуковые излучатели 98
2.3.1. Пьезокерамические излучатели 98 2.3.2. Пьезокерамические динамики 102 2.3.3. Пьезогенераторы 103 2.3.4. Пьезосирены 105 2.3.5. Ультразвуковые излучатели 107 2.3.6. Динамические громкоговорители ПО 2.3.7. Звук через радиотрансляционный динамик 117 2.3.8. Головные телефоны 118 2.3.9. Генерация звука через канал ШИМ 120 2.3.10. Генерация звука через внешний ЦАП 126 2.3.11. Интегральные усилители звука 134 2.3.12. Формирователи тембра 137 2.4. Ключевые каскады 140 2.4.1. Однотранзисторные биполярные ключи 140 2.4.2. Двухтранзисторные биполярные ключи 144 2.4.3. Ключи на полевых транзисторах 149 2.4.4. Многотранзисторные ключи 153 2.4.5. «Цифровые» транзисторы 156 2.4.6. Узлы включения/выключения питания 157 2.4.7. Узлы управления режимами и параметрами 159 2.5. Электродвигатели 166 2.5.1. Транзисторное управление двигателями 166 2.5.2. Микросхемы управления двигателями 173 2.5.3. Шаговые двигатели 176 2.6. Генерация, модуляция, переключение сигналов 179 2.6.1. Формирование телевизионных сигналов 179 2.6.2. Модуляция сигналов 185 2.6.3. Генерация прямоугольных сигналов 188 2.6.4. Генерация сигналов непрямоугольной формы 190 2.6.5. Радиопередающие устройства 193 2.6.6. Коммутация сигналов 198 2.6.7. Передача сигналов на большие расстояния 201 2.6.8. Формирователи ступенчатого напряжения 203 2.6.9. Выход на телефонную линию 204 2.6.10. Подключение радиоэлементов к внешнему тракту 208 2.6.11. Сопряжение с логическими микросхемами 210 2.6.12. Импульсные устройства 213 2.7. Силовая электроника 215 2.7.1. Источники питания на базе МК 215 2.7.2. Нагревательные элементы 220 2.7.3. Управление тиристорами 222 2.7.4. Управление симисторами 228 2.7.5. Оптосимисторы 233 2.8. Механические реле 236 2.8.1. Механические реле общего применения 236
2.8.2. Включение нескольких реле 244 2.8.3. Поляризованные реле 246 2.9. Полупроводниковые реле 248 2.9.1. Неизолированные электронные реле 248 2.9.2. Оптореле 249 2.10. Комбинированные выходные схемы 251 2.10.1. Совмещение световой и звуковой индикации 251 2.10.2. Местная световая индикация 253 2.11. Необычные схемы узлов вывода 256 Список использованных источников и литературы к главе 2 261 Глава 3. Типовые схемы комбинированных узлов ввода/вывода 3.1. Следящая обратная связь в двигателях 271 3.2. Стабилизированные источники питания 273 3.3. Многофункциональные схемы 276 3.4. Схемы с программной обратной связью 278 3.5. Опрос состояния кнопочной клавиатуры 282 3.6. Связь между двумя МК по входам/выходам 289 3.7. Сопряжение с двунаправленными буферами 293 3.8. Подключение внешних микросхем ОЗУ и ПЗУ 294 3.9. Светоизлучатели и фотоприёмники 299 3.10. Необычные схемы узлов ввода/вывода 300 Список использованных источников и литературы к главе 3 303 Глава 4. Типовые схемы подключения компьютеров к МК 4.1. СОМ-порт 305 4.2. LPT-порт 314 4.3. Интерфейс PS/2 320 4.4. Интерфейс USB 322 4.5. Интерфейс Ethernet 328 Список использованных источников и литературы к главе 4 331 Глава 5. Схемы, не рекомендуемые к применению 5.1. О неудачах и ошибках 333 5.2. Пример анализа электрической схемы 334 5.3. Коллекция не рекомендуемых схем 336 Список использованных источников и литературы к главе 5 340 Глава 6. Мини-учебник по основам языка Си 6.1. Введение в Си 341 6.1.1. Общие тезисы 341 6.1.2. Классификация программистов 342 6.1.3. Правила успешного программирования 342 6.2. Выбор компилятора 343 6.2.1. Этапы разработки программного обеспечения 343 6.2.2. Среда разработки WinAVR 344 6.2.3. Философия свободных программ 345
6.3. Что такое «Starter Kit»? 348 6.4. Первая тестовая программа 350 6.4.1. Обобщённая структурная схема Си-программы 350 6.4.2. Техническое задание и алгоритм решения 351 6.4.3. Составление листинга программы 352 6.4.4. Компиляция Си-программы 361 6.4.5. Моделирование программы в симуляторе VMLab 362 6.4.6. Программирование МК 366 6.4.7. Реальная работа 368 6.5. Операторы языка Си 369 6.5.1. Классификация операторов 369 6.5.2. Операторы присваивания, вызова функций, описания переменных . . 369 6.5.3. Операторы ветвлений 371 6.5.4. Операторы циклов 374 6.5.5. Операторы переходов 377 6.6. Функции языка Си 379 6.6.1. Что такое функция? 379 6.6.2. Разновидности Си-программ 381 Список использованных источников и литературы к главе 6 388 Послесловие 389 Приложения Приложение 1. Содержание компакт-диска 391 Приложение 2. Ссылки и адреса в Интернете 393 Приложение 3. Список аббревиатур 397
ВВЕДЕНИЕ Если я буду молчать, то я никогда не начну (В. Шекспир) Для одних людей микроконтроллеры (МК) — это увлекательное хобби, для других — средство приличного заработка, для третьих — предмет научного изучения. В любом случае человеку, решившему посвятить МК часть своей жизни, необходимо иметь определённый багаж микроконтроллерных знаний, который опирается на техническую литературу и Интернет. Из источников информации можно выделить следующие: 1) фирменные справочники даташит (англ. «Datasheet»), в которых содержатся самые достоверные и подробные сведения о параметрах, внутреннем устройстве, системе программирования конкретного МК; 2) руководства по применению (англ. «Application Notes», на сленге «апноты»), где приводятся примеры использования МК в различных устройствах; 3) интернет-сайты, специализирующиеся на размещении справочно-инфор- мационных, новостных и программных материалов про МК; 4) печатные издания радиолюбительской направленности, откуда можно почерпнуть идеи, схемы, листинги, а также описания реальных конструкций; 5) книги по МК, которые делятся на справочные, учебные, научно-популярные, познавательные, теоретические и прикладные. К прикладным книгам относится первая часть авторского издания «1000 и одна микроконтроллерная схема. Вып. 1», выпущенная в издательстве «Додэка-XXI» в 2010 г. (далее — «Выпуск 1»). В ней были представлены начальные сведения об устройстве МК, дана классификация микроконтроллерных семейств, сделан анализ так называемого «идеализированного» МК на структурном, функциональном и логическом уровнях. В отдельных главах рассматривалась схемотехника узлов подсистемы ввода сигналов, а также варианты организации питания, начального сброса и синхронизации. Настоящая книга является логическим продолжением «Выпуска 1» в части схемотехники узлов подсистемы вывода МК, а также комбинированных узлов и интерфейсов сопряжения с персональным компьютером. Основная задача остаётся прежней — заинтересовать читателя технологией блочного синтеза электрических схем, которые «склеиваются» вместе из простых функциональных кубиков. Дополнительно предлагается изучить основы языка Си, на котором пишется большинство микроконтроллерных программ. Следует правильно понимать, что описание ассемблерных команд МК, раскладка его внутренних регистров, временные диаграммы специально оставлены «за кадром». Это материал для учебников. Не описываются также примеры кон-
кретных конструкций с использованием МК. Это материал для интернет-сайтов. Не будет обзоров новинок и анализа тенденций развития встраиваемых систем. Это материал для пресс-релизов и журнальных статей. Данная книга отличается практичностью и в этом её «изюминка». В теоретической части книги (глава 1) коротко освещаются все подсистемы идеализированного МК и приводятся условные графические обозначения, принятые в электрических схемах. Не секрет, кое-что повторяется из «Выпуска 1». Повторение призвано закрепить материал, чтобы информация «настоялась», а настоявшись, перешла в знание. В практической части книги (главы 2...5) представлены схемы подключения к МК выходных устройств, комбинированных узлов ввода/вывода, схем сопряжения с компьютером. Систематизация в данной области до сих пор отсутствует, поэтому автором сделана попытка собрать воедино типовые решения и рассортировать их «по полкам». В перспективе должен получиться банк электрических схем периферийных узлов, который можно дополнять, уточнять, расширять. В программной части книги (глава 6) содержится мини-учебник по алгоритмическому языку Си для начинающих. Разработчику микроконтроллерных устройств по жизни суждено быть универсалом и волей-неволей ему приходится осваивать азы программирования. Язык Си в применении к МК имеет свои особенности, поэтому вводятся разумные ограничения по составу и количеству используемых команд, операторов, функций. Получается усечённо-упрощённый «школьный» вариант языка Си. Дальнейшее углубление знаний в программировании зависит от важности поставленных целей и амбициозности читателя. В справочной части книги (приложения 1...3) перечислено содержимое папок с файлами, хранящимися на прилагаемом компакт-диске, а также даны необходимые интернет-ссылки. Без этой информации современные издания уже никак не могут обходиться, что становится нормой. Перечень использованных источников и литературы приводится отдельно в конце каждой главы книги. В основном это указатели на электрические схемы. Абсолютно полную библиографическую справку сделать сложно, поскольку технические идеи повторяются в разных изданиях и «гуляют» по Интернету, причём очень часто без соответствующих ссылок и указаний о приоритете. Многие схемы, приведенные в настоящей книге, были адаптированы применительно к идеализированному МК. В них сознательно вносились изменения по сравнению с оригиналами. Кое-где добавлялись цепи защиты и элементы, повышающие эксплуатационную надёжность, кое-где изменялись типы диодов, транзисторов, микросхем, номиналы конденсаторов и резисторов, кое-где расширялись допуски на напряжение питания и т.д. Порядок изучения материала в книге каждый определяет для себя самостоятельно, памятуя, что обычно теория идёт впереди практики. Программную часть, с одной стороны, можно отнести к теории, если пользоваться компьютерным си- мулятором, а с другой стороны — к практике, если под рукой имеется паяльник и быстро перепрограммируемый макет с радиодеталями. Опытные электронщики иногда применяют приём, известный у психологов как «обучение иностранному языку во сне». Методика следующая. Чтобы найти подходящее техническое решение, надо бегло просмотреть как можно больше
электрических схем, пусть даже и весьма далёких от рассматриваемой проблемы. В какой-то момент времени (сразу или с задержкой) придёт озарение и подсознание само подскажет верную идею или направление для дальнейшего углублённого анализа. Стиль подачи материала в книге легко узнаваем. Сохранена идентичность с «Выпуском 1» в графике рисунков и в методике форматирования текста. На тех страницах, где располагаются электрические схемы, находятся относящиеся именно к ним подрисуночные надписи. Это требует ювелирной точности при вёрстке книги и больших затрат ручного труда при компоновке текста. Недаром подобным техническим изданиям присваивают статус «home made» энциклопедия. Их выпускается не так много, как хотелось бы. Жанр книги можно условно отнести к разновидности «графического романа». Именно так называют современные художественные книги, где объём иллюстраций сравним с объёмом текста. Единственное, что рисунки в данном случае имеют радиоэлектронную тематику, а текст больше напоминает справочник. Аналитики предполагают, что выпуск «графических книг» сохранится и в будущем, занимая определённый сектор электронных мультимедийных «еЬоок». Общее число электрических схем в двух книгах составляет более 2000. Думается, это оптимальный объём информации на единицу печатного издания. Слишком тонкие и слишком толстые книги в повседневной работе неудобны. Нужно найти золотую середину, когда, согласно законам философии, «количество переходит в качество». Время не стоит на месте. Появляются свежие выпуски журналов с интересными статьями, талантливые публикации в Интернете, озвучиваются оригинальные идеи на форумах. Остаётся лишь набраться терпения и подождать, пока накопится ещё одна подборка из 1001 микроконтроллерной схемы... В настоящем издании были использованы идеи, принципы и концепции, опубликованные в открытой литературе, печатных журналах, в Интернете. Это не противоречит части 4 статьи 6 Закона Российской Федерации «Об авторском праве и смежных правах» — «Авторское право не распространяется на идеи, методы, процессы, системы, способы, концепции, принципы, открытия, факты». Автор книги и издательство предоставляют материалы, программы и схемы на условиях «как есть» («as is»), без каких-либо гарантий отсутствия ошибок и соответствия требованиям промышленных и государственных стандартов. Автор книги и издательство не несут юридической ответственности за прямые или косвенные, преднамеренные или случайные повреждения, возникшие в результате использования схем и прочей информации из данной книги и прилагаемого компакт-диска.
ГЛАВА 1 ВНУТРЕННЕЕ СТРОЕНИЕ МК Повторение — мать учения (Русская пословица) 1.1. Структурная схема идеализированного МК Сколько существует разновидностей МК, столько существует и вариантов их внутреннего устройства. Тем не менее, если ограничиться широкораспространёнными моделями, усреднить параметры и обобщить особенности архитектуры, то можно вывести образ некоего идеализированного МК. На Рис. 1.1 показана его структурная схема. Рис. 1.1. Структурная схема идеализированного МК. Краткое описание составных частей идеализированного МК. ЦПУ и память — это процессорное ядро, которое включает в себя вычислительное устройство с шинами данных, синхронизации, управления, оперативную память, регистры общего назначения и регистры специальных функций. Процессорное ядро — это основной отличительный признак архитектуры МК. По его характеристикам (и названию) судят о потенциальных вычислительных возможностях. Ядро обслуживается несколькими периферийными модулями или, по-другому, подсистемами. Именно к ним пользователь имеет доступ извне, именно они подлежат детальному изучению. Подсистема программирования служит своеобразным мостом между файлом, подлежащим прошивке, и энергонезависимой памятью МК. Процедура программирования производится без изъятия микросхемы из панельки на печатной плате. Более того, существуют новые интернет-технологии удалённого программирования МК через BootLoader из любой точки Земного шара.
Подсистема питания содержит, как минимум, два провода: положительный («плюс», Ксс, VDD, Power Supply) и отрицательный («минус», GND, Vss, Ground Reference). В зависимости от наличия АЦП, ЦАП и количества выводов МК питание может осуществляться по двух- или многопроводной схеме. В последнем случае надо следить за тем, чтобы цифровые и аналоговые цепи были максимально развязаны друг от друга во избежание перекрёстных помех. Подсистема начального сброса нужна для установки внутренних счётчиков, регистров и триггеров МК в исходное состояние, иначе при включении питания ход выполнения программы станет непредсказуемым. Начальный сброс требуется в аварийных ситуациях при «просадках» питания или при «зависании» программы. В идеализированном МК сигнал сброса RES имеет активный НИЗКИЙ уровень. Подсистема синхронизации служит для тактирования ЦПУ и узлов ввода/вывода. Чем выше частота тактовых импульсов, тем быстрее выполняются операции, а чем ниже их частота, тем меньше потребляется ток от источника питания. В одном МК обычно имеется несколько генераторных узлов, которые подразделяются на внутренние и внешние. Как правило, внутренние узлы работают от ЛС-цепочек, а внешние — от кварцевых и керамических резонаторов. Сигналы подсистемы синхронизации в идеализированном МК обозначаются ХТ1 (вход), ХТ2 (выход). Считается, что пользователь сам в состоянии выбрать режим генерации и правильно сконфигурировать регистры. Подсистему портов ввода/вывода можно образно сравнить со «спинным мозгом» вычислительной системы. Именно через неё проходят команды, посылаемые «головным мозгом» (т.е. процесорным ядром), к «мышцам рук и ног» (т.е. к входным и выходным линиям портов МК). Узлы ввода/вывода удобно рассматривать по отдельности: цифровые порты ввода (Рис. 1.2, а...в), аналоговые порты ввода (Рис 1.3, а, б), цифровые порты вывода (Рис. 1.4, а...в), совмещённые линии портов ввода/вывода (Рис. 1.5). Та или иная конфигурация подсистемы портов ввода/вывода задаётся при старте программы регистрами МК и в дальнейшем обычно не изменяется. Это логично, поскольку в большинстве случаев линии портов выполняют какую-то одну задачу, например, цифровой логический выход, приём сигналов от кнопки, генератор сигналов ШИМ, вход АЦП, выход ЦАП и т.д. Рис. 1.2. Цифровые порты ввода: а) без резистора; б) с «pull-up» резистором; в) с программно переключаемым резистором.
Рис. 1.3. Аналоговые порты ввода: а) вход аналогового компаратора; б) вход АЦП. Рис. 1.4. Цифровые порты вывода: а) двухтактный выход; б) выход с открытым стоком; в) выход с квазиоткрытым стоком. Рис. 1.5. Двунаправленный вход/выход.
На всех эквивалентных схемах подтягивающие полупроводниковые резисторы RVP и управляемые ключи S1...S3 определяют исходную конфигурацию линии порта. Активизируются они программно. Номиналы сопротивлений резисторов имеют большой технологический разброс вплоть до ±50%. Электрические параметры входов/выходов идеализированного МК примерно соответствуют стандартным триггерам Шмитта из серии 74АС (вход КМОП, выход КМОП) или 74АСТ (вход ТТЛ, выход КМОП). Нагрузочная способность симметричная при ВЫСОКОМ и НИЗКОМ уровне на выходе. Диоды VD1...VD4 защитные, антистатические. Они присутствуют в МКтакже, как и в обычных микросхемах КМОП-логики. Технология одинаковая, никуда от неё не денешься. При входном напряжении выше уровня Vcc открывается «верхний» диод. При уменьшении входного напряжения ниже уровня GND открывается «нижний» диод. Для МК по даташитам регламентируется предельное превышение уровней KCC/GND не более +0.3/—0.3 В для семейства Microchip PIC12/16/18 или не более +0.5/—0.5 В для семейства Atmel AVR. Аналоговые порты отличаются от цифровых, в первую очередь, уровнями подаваемых на вход сигналов. Для цифрового режима — это стандартные двоичные перепады напряжения НИЗКИЙ/ВЫСОКИЙ. Для аналогового режима допускаются сигналы любой формы в диапазоне 0... Ксс, при этом превышение уровней всё равно засчитывается как 0 и Vcc. Переключатели SL..S3 замещают реальные электронные ключи, выполненные на интегральных полевых транзисторах. Низкоомные резисторы R]H и RQL служат аналогами сопротивлений открытых каналов соответственно /?-МОП и п-МОП транзисторов. В числовом выражении это единицы-десятки ом в зависимости от технологии изготовления и нагрузочной способности по току. Вот ориентировочные цифры, характерные для AVR- и Р1С-контроллеров: /,н = 20...25 мА, /0L = 20...25 мА — максимальные токи, протекающие через резисторы RlH, R0L, при которых ещё гарантируются выходные логические уровни от 0 до (0.1 ...0.2) Vcc и от (0.6...0.8) Vcc до Vcc; /МАХ= 35...45 мА — предельный ток нагрузки на одну линию порта, длительное воздействие которого может привести (хотя и не обязательно) к отказу МК. Это граничный режим с балансировкой «на лезвии ножа»; /кз = 100... 150 мА — ток короткого замыкания выходной линии порта на общий провод или на шину питания. Если не снять замыкание в течение первых 15...20 с, то температурный перегрев транзисторов выходного каскада с большой долей вероятности приведёт к фатальным последствиям. Схема двунаправленного порта ввода/вывода (Рис. 1.5) получается как суперпозиция схем входа (Рис 1.2, в) и выхода (Рис. 1.4, а). Триггер Шмитта DDI и линия задержки А1 являются стандартными для всех входов. Они не пропускают короткие импульсные помехи, устанавливая для них ограничительные пороги как по амплитуде, так и по длительности. Переключатели SL..S3 коммутируются двумя программно доступными регистрами МК. В разных семействах они имеют разные названия. В частности, регистр PORTx (AVR, РІС) эквивалентен переключателям SI, S2, а регистры DDRx (AVR), TRISx (РІС) — переключателю S3.
1.2. Условные обозначения на схемах На Рис. 1.6, а, б показаны сигналы, окружающие идеализированный МК. Их расшифровка приведена в Табл. 1.1. Этот «джентльменский набор» характерен для обычных 8-битных МК. Рис. 1.6. Условное графическое обозначение идеализированного МК: а) полная схема; б) упрощённая схема. Таблица 1.1. Расшифровка сигналов идеализированного МК Цепь Назначение, функция Название по даташиту +AVCC Цепь аналогового питания (+) AVCC, AVDD +vcc Цепь цифрового питания (+) VCC, VDD RES Начальный сброс НИЗКИМ уровнем RES ХТ1 Вход генераторной схемы XTAL1,XT1 XT2 Выход генераторной схемы XTAL2, ХТ2 OUT Выходные линии портов Рх, Rx, GPx IN Входные линии портов Рх, Rx,GPx IN/OUT Линии двунаправленных портов Рх, Rx, GPx VREF Вход/выход внутреннего/внешнего ИОН VREF AGND Общий аналоговый провод (-) AVSS, AGND GND Общий цифровой провод (-) VSS, GND Чтобы не загромождать электрические схемы лишней информацией, в дальнейшем в них будут приводиться только наиболее важные связи. Остальное считается имеющимся в МК по умолчанию, например, отдельные цепи аналогового питания, кварцевый резонатор, линии подключения программатора и т.д. Условное графическое обозначение МК, как радиоэлемента, будет разным в зависимости от следующих функциональных признаков: • входные сигналы (Рис 1.7, а...д); • выходные сигналы (Рис 1.8, а...о); • совмещённые входы/выходы (Рис 1.9, а...н); • цепи управления, синхронизации и сброса (Рис 1.10, а...д).
Рис. 1.7. Условные обозначения входных сигналов МК: а) цифровые входы без внутреннего резистора, активный фронт спадающий и нарастающий; б) цифровые входы с внутренним резистором R, активный фронт спадающий и нарастающий; в) цифровой вход обработки прерывания INT и цифровой вход таймера/счётчика ТО; г) аналоговый вход внутреннего АЦП; д) аналоговые входы внутреннего компаратора (положительный и отрицательный). Рис. 1.8. Условные обозначения выходных сигналов МК (начало): а) цифровой КМОП-выход с произвольно изменяющейся информацией («1» — ВЫСОКИЙ уровень, «О» — НИЗКИЙ уровень); б) цифровой выход с открытым стоком и произвольно изменяющейся информацией («X» — состояние обрыва, «О» — НИЗКИЙ уровень); в) аналоговый выход простейшего ЦАП на основе программируемого ИОН; г) цифровые выходы с перепадами «НИЗКИЙ-ВЫСОКИЙ» и «ВЫСОКИЙ-НИЗКИЙ»; д) цифровые выходы с постоянной генерацией импульсов, близких к меандру; е) цифровые выходы с сигналами ШИМ преимущественно НИЗКОГО уровня и преимущественно ВЫСОКОГО уровня; ж) цифровые выходы с одиночными импульсами ВЫСОКОГО и НИЗКОГО уровня; з) цифровые выходы с генерацией импульсных последовательностей большой скважности преимущественно ВЫСОКОГО уровня и преимущественно НИЗКОГО уровня;
Рис. 1.8. Условные обозначения выходных сигналов МК (окончание): и) цифровые выходы с генерацией сигналов разной частоты; к) «бегущая единица» на двух и более выходах; л) «бегущий нуль» на двух и более выходах; м) цифровые сигналы, сдвинутые по фазе на половину периода; н) пачки коротких импульсов; о) дельта-импульсы с активным ВЫСОКИМ и с активным НИЗКИМ уровнем. Рис. 1.9. Условные обозначения входных/выходных сигналов МК (начало): а) совмещённый цифровой вход/выход с активным спадающим фронтом по входу; б) совмещённый цифровой вход/выход с активным нарастающим фронтом по входу; в) цифровой выход, совмещённый с аналоговым входом АЦП; г) две цифровые линии, одна из которых настроена на вход, другая — на выход; д) интерфейс 12С с выходным сигналом SCL и двунаправленным сигналом SDA; е) интерфейс SPI с входными сигналами SCL, MOSI и выходным сигналом MISO; ж) интерфейс UART (USART) с входным сигналом RxD и выходным сигналом TxD; з) цифровой параллельный интерфейс с совмещённой шиной адреса/данных АО...An;
Рис. 1.9. Условные обозначения входных/выходных сигналов МК (окончание): и) интерфейс USB с двунаправленными выводами D+, D-; к) линии с квазиоткрытым стоком: «О» — выход с НИЗКИМ уровнем, «1» — выход с ВЫСОКИМ уровнем, «Z» — высокоимпедансный вход без резистора; л) аналогично Рис 1.9, к, но с противофазными сигналами; м) линии «квазидвунаправленные»: «О» — выход с НИЗКИМ уровнем, «1» — выход с ВЫСОКИМ уровнем, «R» — вход с «pull-up» резистором R; н) аналогично Рис. 1.9, м, но с противофазными сигналами и с активным ВЫСОКИМ уровнем. Рис 1.10. Условные обозначения сигналов управления, синхронизации, сброса: а) вход ИОН; б) выход ИОН; в) вход (ХТ1) и выход (ХТ2) генераторного узла; г) сброс сигналом НИЗКОГО уровня RES; д) сброс сигналом ВЫСОКОГО уровня RST. Отличить «что есть что», помогают стенки вертикальных линий в условном графическом обозначении МК. Входные сигналы, как принято в электрических схемах, подводятся слева, значит вертикальная линия одна, причём находится она тоже слева (например, Рис. 1.7, а). Выходные сигналы по традиции рисуются с правой стороны, значит вертикальная линия размещается тоже справа (например, Рис. 1.8, а). Если в МК используются двунаправленные линии, то вертикальных линий будет две и условное обозначение МК превращается в классический прямоугольник. На всех последующих схемах общий провод МК, т.е. цепь GND, рисуется внизу, питание Vcc вверху, входы слева, выходы справа. Двунаправленные выводы могут находиться как слева, так и справа. Питание AVCC и общий провод AGND для экономии места на схемах не показываются, хотя считается, что если они требуются, то включены правильно.
Ограничения и условности • Транзисторы, диоды, ОУ в некритичных случаях будут унифицированными, например, КТ315, КД522, LM358, или полностью обезличенными, например, К77(прп), К77(рпр), К/ЩШоттки). • В обозначение стабилитронов, реле, светодиодов, разрядников вводится цифровой параметр. Например, VD1 (4V7) — это стабилитрон с напряжением стабилизации 4.7 В; Kl (5V) — это реле с номинальным рабочим напряжением 5 В; HL1 (1.8V) — это светодиод зелёного цвета, у которого прямая ветвь ВАХ начинается примерно с 1.8 В; НЫ (кр-зел) — двухцветный светодиод с «красным» и «зелёным» излучателями; FV1 (120V) — разрядник с пороговым напряжением 120 В. • Моточные данные трансформаторов и катушек индуктивности, как правило, не приводятся. Их конструкция зависит от частоты сигнала, диапазона напряжения и тока. Коэффициент передачи трансформаторов указывается в скобках через дробь, например, 77 (1/10). Это означает, что при подаче на первичную обмотку трансформатора переменного напряжения 1 В на вторичной обмотке будет напряжение 10 В. Тип провода для однообразия выбран ПЭВ. • Интегральные стабилизаторы напряжения применяются из семейства 78 Lxx, хотя их можно заменить любыми другими аналогичными. • Нагрузка обозначается в виде резистора RH без указания мощности, номинала и наличия реактивной составляющей. Эти величины уточняются в частном порядке при разработке конкретного устройства. • Условные графические обозначения ЭРИ на схемах будут близкими к «го- стовским», но в отдельных случаях с отступлениями, чтобы лучше разъяснить материал. • Порядковая нумерация ЭРИ в схемах ведётся в стандартном порядке: сверху вниз, затем слева направо. • В случае применения нескольких каналов с однотипными элементами, они будут обозначаться условным знаком например, ЛА, К7^А. Количество каналов указывается буквой «п». • В схемах с напряжением питания 1.5...5 В вводятся упрощённые надписи для параметров электролитических конденсаторов. В целях сокращения места номинальное напряжение у них указываться не будет, только ёмкость в микрофарадах. Дело в том, что современные конденсаторы имеют рабочее напряжение от 6.3 В и выше, т.е. все они годятся к применению. Малогабаритные «чипы» для поверхностного монтажа с напряжением 2.7...4 В не в счёт, это экзотика. Маркировка резисторов и конденсаторов В настоящей книге принята следующая условная маркировка. Конденсаторы ёмкостью до 9.9 пФ будут обозначаться в пикофарадах с разделительной десятичной точкой, например, «2.0 пФ» = 2 пФ; «2.2 пФ» = 2.2 пФ; 4.7 пФ» = 4.7 пФ.
Конденсаторы ёмкостью от 10 до 9999 пФ будут обозначаться в пикофарадах без десятичной точки и без надписи «пФ», например, «10» = 10 пФ; «68» = 68 пФ; «2200» = 2200 пФ. Конденсаторы ёмкостью от 0.01 мкФ до 9999 мкФ будут обозначаться в микрофарадах с десятичной точкой без надписи «мкФ», например, «1800.0» = 1800 мкФ; «0.022» = 0.022 мкФ; «0.1» = 0.1 мкФ; «1.0» = 1 мкФ; «47.0» = 47 мкФ. Конденсаторы ёмкостью от 0.01 Ф и более будут обозначаться в фарадах с десятичной точкой, например, «0.47 Ф» = 0.47 Ф; «0.1 Ф» = 0.1 Ф. Резисторы обычной точности ±5; ±10% сопротивлением до 999 Ом будут обозначаться в омах без надписи «Ом», например, «8.2» = 8.2 Ом; «560» = 560 Ом. Резисторы обычной точности ±5; ±10% сопротивлением от 1 до 999 кОм будут обозначаться в килоомах с добавлением буквы «к», например, «16к» = 16 кОм; «1.8к» = 1.8 кОм; «750к» = 750 кОм. Резисторы обычной точности ±5; ±10% сопротивлением от 1 МОм и более будут обозначаться в мегаомах с добавлением заглавной буквы «М», например, «1.1М» = 1.1 МОм; «ЗМ» = 3 МОм. Резисторы повышенной точности ±0.5; ±1; ±2% безотносительно от сопротивления будут обозначаться с прибавлением к номиналу третьей значащей цифры, например, «Ю.Ок» = 10.0 кОм; «3.62к» = 3.62 кОм; «0.10» = 0.1 Ом. Если три цифры уже имеются, то ориентироваться надо по числам, не входящим в ряд Е24, например, «499к» = 499 кОм; «362» = 362 Ом. Прочие разъяснения Как уже отмечалось, ссылки на первоисточники схем даются выборочно. Это не означает, что всё остальное автор книги придумал сам. Как правило, приводится собирательный образ определённого технического решения, используемого на практике разработчиками разной квалификации. Много схем заимствовано из даташитов, которые фирмы-изготовители в целях рекламы бесплатно выставляют на своих сайтах. Проекты и публикации, из которых брались схемы, могут содержать невыяв- ленные редакционные опечатки, неточности, а также изначальные ошибки и заблуждения разработчиков, вызванные отстутствием макетирования схем на практике. В простых и очевидных случаях ошибки исправлены, но... Иногда бывает очень сложно понять смысл технического решения, если отсутствует подробное описание принципа работы и алгоритма функционирования программы. Пользоваться настоящим сборником электрических схем надо творчески, не заостряя внимание на мелких недочётах и неточностях. Человеческий фактор можно свести к минимуму, но избавиться от него насовсем нельзя. Ситуация напоминает ту, что сложилась в современном футболе — болельщики постоянно недовольны качеством судейства, но они же первые не хотят, чтобы вводились объективные средства технического контроля. Интернет нивелирует новизну идей и способствует мгновенному распространению информации. Для авторов это минус, для пользователей это плюс. С другой стороны, автор технических публикаций — это не пожизненное звание, приносящее постоянный доход. Правильно говорят, что сегодня ты автор, а завтра пользователь, и наоборот.
ГЛАВА 2 ТИПОВЫЕ СХЕМЫ УЗЛОВ ВЫВОДА МК К чему душа лежит, к тому и руки приложатся (Русская поговорка) 2.1. Светодиодные индикаторы 2.1.1. Одиночные светодиоды Светодиоды или СВЕТОизлучающие ДИОДЫ (в английском варианте LED — Light Emitting Diode) хорошо известны каждому электронщику. Это полупроводниковые приборы, преобразующие электрический ток в световое излучение. Их основные достоинства: высокий КПД, близкое к монохромному излучение, миниатюрность, механическая прочность, высокая надёжность, малое тепловыделение, до 10 лет наработки без выключения питания. Наконец, светодиоды являются низковольтными приборами, а стало быть, максимально электробезопасными. Первые промышленные образцы светодиодов красного цвета появились в 1962 г. (фирма General Electric Corp.). В 1976 г. были разработаны светодиоды оранжевого, зелёного и жёлтого цвета свечения, а в 1993 г. появились первые полупроводниковые излучатели синего цвета (фирма Nichia Corporation). В любительских конструкциях чаще всего применяют «красные» и «зелёные» светодиоды, реже — «синие» и «белые». Характерные значения КПД у стандартных светодиодов — от 1 до 10%. Для сравнения, КПД парового двигателя составляет 5...7%. У мощных современных светодиодов этот показатель достигает 12...35%. В Табл. 2.1 приведены параметры маломощных светодиодов с силой света не более 1000 мкд. Их особенностью является значительный технологический разброс вольт-амперной характеристики (ВАХ). Как следствие, для конкретного светодиода прямой ток /ПР и прямое напряжение Кпр известны лишь ориентировочно. При расчётах на это обычно закрывают глаза, поскольку в большинстве случаев от светодиода требуется констатация факта «включен» или «выключен». Таблица 2.1. Параметры маломощных светодиодов общего применения Цветовой оттенок Длина волны [нм] Материал Vnp [В] при /ПР 0...20 мА Точка начала подъёма ВАХ Красный 630...640 GaAlAs, AHnGaP 1.6...2.1 Условно «1.6 В» Жёлтый, оранжевый 570...600 GaAsP, GaP 1.7...2.8 Условно «1.7 В» Зелёный 515...535 GaAsP, GaP, GaN 1.8...2.8 Условно «1.8 В» Синий 460...475 InGaN 3.2...4.2 Условно «3.5 В» Белый — InGaN 3.2...4.2 Условно «3.5 В»
Условные напряжения 1.6; 1.7; 1.8; 3.5 В характеризуют начальную точку подъёма кривой ВАХ, соответственно, у «красного», «жёлтого», «зелёного» и «синего»/«белого» индикаторов. Именно эти цифры в дальнейшем будут указываться в электрических схемах возле обозначения светодиодов. Однако реальное рабочее напряжение Vnp примерно на 0.1...0.4 В больше начального, что зависит от протекающего тока (Рис 2.1). Рис. 2.1. Типовые ВАХ маломощных светодиодов фирмы Kingbright. Важные замечания. 1. Не следует устанавливать постоянный прямой ток /ПР через светодиод, близкий к максимальному пределу, указанному в даташите. Обычно это 20 мА. Длительная работа с таким током снижает долговременную надёжность. Для получения приемлемой яркости свечения достаточно задать ток 4... 10 мА. 2. Светодиоды допускают импульсный режим работы, при котором прямой ток /ПР можно увеличить в 3...6 раз до 60... 120 мА с сохранением среднего тока за период не более 20...25 мА. При расчётах надо не забывать, что с повышением тока возрастает и напряжение. Например, для «зелёного» светодиода при токе 15 мА напряжение КПР = 2.1 В, а при токе 75 мА КПР = 2.7 В. 3. Красный цвет индикации не гарантирует того, что светодиод относится к группе с условным началом кривой ВАХ 1.6 В (хотя в большинстве случаев именно так оно и есть). «Красный» светодиод может иметь «зелёную» ВАХ с точкой подъёма 1.8 В. Всё зависит от химического состава, из которого изготавливается излучатель, а этот параметр при покупке на радиорынке априори неизвестен. Аналогичная ситуация и с мощными «зелёными» светодиодами, которые могут иметь «синюю» ВАХ с точкой подъёма 3.5 В. 4. В некоторых даташитах на светодиоды указывается максимально допустимое обратное напряжение КОБР = 2...5 В. Но это всего лишь тестовое напряжение, при котором на заводе-изготовителе проверяется обратный ток утечки, равный нескольким десяткам микроампер. 5. Светодиод выходит из строя не от высокого обратного напряжения, а от превышения рассеиваемой на нём мощности. В исследованиях [2-1] показано, что светодиоды зелёного и красного цвета имеют «стабилитронную» ВАХ с достаточ-
но крутым изгибом. При обратном напряжении 12...35 В происходит обратимый пробой р—я-перехода. Если ток при пробое не превышает 2...4 мА, то мощность рассеяния остаётся в регламентируемых даташитом рамках 75... 150 мВт. Практический вывод — при напряжении питания МК в пределах 3..5 В можно не опасаться «перепутать» полярность при запаивании «красно-оранжево-жёлто- зелёных» индикаторов. Все они гарантированно останутся целыми. «Синие» и «белые» светодиоды в этом отношении гораздо более нежные. Они боятся электростатических потенциалов, которые могут накапливаться на одежде и на теле человека. Обратное напряжение для них не должно превышать 5 В и обращаться с ними надо примерно так, как с полевыми транзисторами. На Рис. 2.2, а...ж показаны схемы подключения одиночных светодиодов к одной линии МК. На Рис. 2.3, а...м показаны схемы подключения одиночных светодиодов к нескольким линиям МК. Рис. 2.2. Схемы подключения одиночных светодиодов к одной линии МК (начало): а) стандартная схема ограничения тока через светодиод HL1 при помощи резистора R1. Его сопротивление рассчитывается по формуле /?,[кОм] = (^[В] - ^прі^і)/ЛірімА], гДе ^ін — на~ пряжение ВЫСОКОГО уровня из графиков даташита МК; УПР — прямое напряжение на све- тодиоде HL1 при токе /ПР (эти параметры зависят от типа индикатора и разброса его ВАХ). Для ориентира, у идеализированного МК К1Н = 4.75 В при токе нагрузки 5... 10 мА и Уш = 4.5 В при токе нагрузки 20 мА; б) аналогично Рис. 2.2, а, но с инверсией сигнала на выходе МК и с другой расчётной формулой jRJkOm] = (FCC[B] — K0L[B] — КПР[В])//ПР[мА], где Усс — напряжение питания; V0L — напряжение НИЗКОГО уровня из графиков даташита МК; УПР — прямое напряжение на светодиоде HL1 при токе /ПР. Для ориентира, у идеализированного МК V0L = 0.15...0.3 В при токе нагрузки 5... 10 мА и VQL = 0.4...0.5 В при токе нагрузки 20 мА. Если выходы МК имеют симметричную нагрузочную способность, то между схемами на Рис 2.2, а и на Рис 2.2, б разницы нет; в) прямое подключение светодиода HL1 к линии МК возможно, но только при низком напряжении питания. Рабочая точка КПР = 2 В при /ПР = 15 мА. Однако в каждом конкретном случае надо сверяться с графиками нагрузочной способности линий МК согласно даташиту; г) подключение светодиода НЫ к источнику повышенного напряжения +9 В через гасящий стабилитрон VD1. Проверочный расчёт — сумма напряжения питания МК (5 В) и напряжения стабилизации VD1 (5.6 В) должна быть больше, чем разность между повышенным напряжением (9 В) и падением напряжения на светодиоде HL1 (1.7„.1.9 В);
Рис. 2.2. Схемы подключения одиночных светодиодов к одной линии МК (окончание): д) светодиод HL1 имеет встроенный интегральный резистор, ограничивающий прямой ток. В даташите вместо сопротивления резистора указывается допустимое рабочее напряжение све- тодиода при токе не более 20 мА. Классификационный ряд при заказе: 3; 5; 12 В; е) предполагается, что светодиод HL1 находится на значительном удалении от МК и связан с контактными площадками XI, Х2 длинными проводами. Резисторы Rl, R2 — защита по току, на случай обрыва проводов и замыкания их на металлический корпус прибора, который, как правило, соединяется с цепью GND («массой»); ж) эффект плавного гашения светодиода HL1. В исходном состоянии на выходе МК НИЗКИЙ уровень, светодиод погашен. ВЫСОКИМ уровнем на выходе МК производится быстрое включение светодиода, а затем плавное уменьшение его яркости по мере заряда конденсатора С7. Диод VD1 помогает разряжаться конденсатору С/ при НИЗКОМ уровне на выходе МК. Рис. 2.3. Схемы подключения одиночных светодиодов к нескольким линиям МК (начало): а) включение светодиодов HLl...HLn производится независимо друг от друга при ВЫСОКОМ уровне на выходе МК. Резисторы RL..Rn ограничивают токи через светодиоды и определяют яркость их свечения. Суммарный ток через вывод питания +5 В при ВЫСОКОМ уровне на всех выходах не должен превышать 100...300 мА (смотреть в даташите на конкретный МК); б) аналогично Рис. 2.3, а, но при активном НИЗКОМ уровне и с отдельным источником питания для светодиодов. Если выходы МК имеют симметричную нагрузочную способность и питание светодиодов составляет +5 В, то схемы на Рис. 2.3, а и на Рис. 2.3, б равноценны; в) типовой приём сокращения числа резисторов. Применяется, если не требуется одновременное свечение нескольких индикаторов, иначе будет снижаться их яркость из-за повышенного напряжения на резисторе R7;
Рис. 2.3. Схемы подключения одиночных светодиодов к нескольким линиям МК (продолжение): г) аналогично Рис 2.3, в, но с «бегущим нулём» на выходах МК; д) индикатор HL1 светится, когда на верхней линии МК устанавливается ВЫСОКИЙ, а на нижней — НИЗКИЙ уровень, при этом к выходам МК могут подсоединяться другие узлы; е) МК формирует 8 градаций яркости светодиода HL1. Резисторы R1...R3 определяют динамический диапазон и степень линейности характеристики; ж) для сверхъяркого светодиода HL1 требуется повышенный ток, что достигается запараллеливанием линий МК. На каждой из них уровни должны выставляться синхронно; з) аналогично Рис. 2.3, ж, но с синхронными ВЫСОКИМИ уровнями на выходах МК; и) светодиод HL1 индицирует наличие импульсов «бегущей единицы» на трёх выходах МК; к) автоматическая прозвонка длинного кабеля. На линиях МК программно формируется «бегущая единица» (на одной линии ВЫСОКИЙ, на остальных — НИЗКИЙ уровень). Если произойдёт обрыв какой-либо жилы, то светодиод в этой цепи будет постоянно погашен;
Рис. 2.3. Схемы подключения одиночных светодиодов к нескольким линиям МК {окончание): л) в исходном состоянии на всех выходах МК ВЫСОКИЕ уровни, индикаторы HL1, HL2, HL4 светятся. При аварии на одном или нескольких выходах МК устанавливается НИЗКИЙ уровень, соответствующий индикатор гаснет, при этом автоматически начинает светиться HL3; м) при большом количестве светодиодов имеет смысл разгрузить силовые выводы МК, направив втекающий и вытекающий токи в разные цепи. В частности, светодиоды HL1...HL8 снижают нагрузку на вывод +5 В МК, а светодиоды HL9...HL16— на вывод GND МК. 2.1.2. Последовательное соединение светодиодов Если светодиодов в изделии несколько и загораться они должны одновременно, то для повышения экономичности применяют их последовательное включение. Действительно, в схемах, подобных Рис. 2.2, а, б, львиная доля энергии бесполезно рассеивается на токоограничивающем резисторе R1. Гораздо выгоднее, если мощность будет рассеиваться на одном или двух дополнительных светодио- дах (Рис 2.4, а...е). Рис 2.4. Схемы последовательного соединения светодиодов {начало): а) индикация смены напряжения питания дополнительным светодиодом НЫ. Резистор R1 подбирать не надо, т.к. при питании от +3 и от +5 В ток через него примерно одинаковый;
Рис. 2.4. Схемы последовательного соединения светодиода (окончание): б) две или три гирлянды, каждая из которых состоит из двух последовательно включённых светодиодов, управляются ВЫСОКИМ уровнем с выхода МК. Резисторы Rl...Rn рассчитываются так, чтобы общий ток через выходную линию МК не превышал 20...25 мА; в) аналогично Рис. 2.4, б, но с активным НИЗКИМ уровнем на выходе МК; г) две или три гирлянды, каждая из которых состоит из трёх последовательно включённых светодиодов, управляются ВЫСОКИМ уровнем от МК. Питание повышено до верхнего допустимого предела 5.2 В. Чтобы увеличить яркость, светодиоды HL7...HL9 необходимо отобрать по минимальному прямому напряжению при одинаковом протекающем токе; д) аналогично Рис. 2.4, г, но с активным НИЗКИМ уровнем на выходе МК; е) «электронный игральный кубик» на основе светодиодов HLL..HL7. Особенность схемы — уменьшенное число линий МК, что связано с последовательным включением светодиодов и их особым конструктивным расположением. При формировании цифры «1» светится индикатор HL4; «2» - HL3, HL5; «3» - HL3...HL5; «4» - HL1, HL3, HL5, HL7; «5» - HL1, HL3...HL5, HL7; «6» - HLL..HL3, HL5...HL7
2,1.3. Сокращение числа соединительных линий В идеальном случае каждый светодиод должен управляться от одной линии МК. Но на практике сплошь и рядом возникают ситуации, когда свободных линий портов катастрофически не хватает. В этом случае пора вспомнить о многофункциональном назначении выводов МК. Как известно, одна линия идеализированного МК может программно устанавливаться в четыре различных состояния: выход с ВЫСОКИМ уровнем, выход с НИЗКИМ уровнем, вход с «pull-up» резистором, вход без «pull-up» резистора. Следовательно, к одной линии МК теоретически можно подключить сразу четыре светодиода и программно засвечивать один (любой) из них. Реально используют два-три состояния и два-три светодиода, так проще. На Рис. 2.5, а...е показаны схемы группового подключения светодиодов к одной, а на Рис 2.6, а, б — к нескольким линиям МК. Комбинируя различные режимы по входу и выходу, получают значительную экономию линий. Единственное, что при этом приходится усложнять алгоритм работы программы. Рис. 2.5. Схемы группового подключения светодиодов к одной линии МК (начало): а) управления двумя светодиодами HL1, HL2 от одной линии МК. При выставлении НИЗКОГО уровня светится НЫ, при выставлении ВЫСОКОГО — HL2, при переводе линии в режим входа с Z-состоянием — более тускло светятся оба светодиода. Резисторами Rl, R2 регулируется яркость свечения индикаторов независимо друг от друга; б) аналогично Рис. 2.5, а, но при переходе МК в Z-состояние оба индикатора HL1, HL2 погашены. Недостаток схемы — лишний расход тока 3.3 мА на делителе Rl, R2. Но это может быть оправданным, если напряжение с делителя используется дальше в схеме, например, для средней точки ОУ или для других аналоговых цепей; в) при НИЗКОМ уровне на линии МК светится индикатор HL1, при ВЫСОКОМ — HL2, при переводе в режим входа с Z-состоянием — HL3. Диод VD1 устраняет ложную подсветку индикатора HL3. В связи с высоким сопротивлением резисторов /?/, R2 индикаторы необходимо выбирать из серии «UltraLow» или «SuperBright», чтобы они ярко светились при низком прямом токе. Следует учитывать, что угол обзора у ярких светодиодов несколько меньше, чем у обычных, в среднем 15...40° против 20...80°;
Рис. 2.5. Схемы группового подключения светодиодов к одной линии МК (окончание): г) четыре состояния светодиодов от одной линии порта. При НИЗКОМ уровне на выходе МК светится индикатор HL7, при ВЫСОКОМ — HL2, при переводе линии в режим входа с Z-состоянием оба индикатора погашены из-за стабилитронов VD1, VD2 (ток покоя несколько микроампер), при генерации на выходе МК меандра с частотой не менее 50 Гц — индикаторы #L7, HL2 светятся одновременно, хотя немного тускло; д) аналогично Рис 2.5, г, но с пониженным питанием и с заменой стабилитронов обычными кремниевыми диодами К07, VD2, которые выполняют функцию стабилитронов с пороговым напряжением примерно 0.7 В; е) при НИЗКОМ и ВЫСОКОМ уровнях на выходе МК светятся соответственно индикаторы #L7, HL2. При настройке линии МК в режим входа с Z-состоянием оба светодиода погашены, при этом ток потерь через резисторы R1...R3 составляет 2.7 мА. Рис. 2.6. Схемы группового подключения светодиодов к нескольким линиям МК (начало): а) 14 различных комбинаций свечения индикаторов HL1...HL6 при установке трёх линий МК в следующие состояния: выход с ВЫСОКИМ уровнем, выход с НИЗКИМ уровнем, вход без «pull-up» резистора. Резисторы RL..R3 определяют яркость свечения индикаторов;
Рис. 2.6. Схемы группового подключения светодиодов к нескольким линиям МК (окончание)'. б) аналогично Рис. 2.6, а, но с пятью линиями МК, которые настраиваются в режим выхода с ВЫСОКИМ/НИЗКИМ уровнем. 2.1.4. Стробирование светодиодов В светотехнике широко используется эффект инерционности человеческого зрения. Например, если светодиод включать и выключать с высокой частотой, то на глаз будет казаться, что он горит постоянно. Легко сообразить, что в моменты выключенного состояния одного светодиода можно включать другой светодиод и тем самым экономить количество линий портов МК. Попеременную активизацию светодиодов можно выполнить стробированием (Рис. 2.7, а...г). Рис. 2.7. Схемы стробирования светодиодов (начало): а) при НИЗКОМ уровне на верхнем выходе МК стробируются (светятся в зависимости от состояния нижних восьми выходов) индикаторы HL1...HL8, при ВЫСОКОМ — HL9...HL16]
Рис. 2.7. Схемы стробирования светодиодов (окончание): б) аналогично Рис 2.7, а, но стробирование производится отдельно для двух электронных кубиков с двух нижних противофазных выходов МК. Высвечивание цифр «1»...«6» обеспечивается программным способом в зависимости от уровней на семи верхних выходах МК. Оба кубика могут быть погашены выставлением ВЫСОКИХ уровней на двух нижних выходах МК; в) микросхема DDI является дешифратором логических сигналов «2 в 4». Это означает, что в зависимости от комбинации сигналов на входах «А», «В» появляется НИЗКИЙ уровень на одном, вполне определённом, выходе «Y0»...«Y3». Если сигналы на выходах МК изменяются с частотой 200 Гц и выше, то индикаторы HL7...HL4 визуально будут светиться без мигания; г) светодиоды HL7...HL8управляются от МК через кольцевой счётчик DDI в режиме «бегущий нуль». Смена уровней на выходе счётчика DDI производится по переднему фронту сигнала на входе «С». Какой именно уровень будет на выходе, определяется сигналом на входе «D», который МК выставляет синхронно во времени.
2.1.5. Одиночные светодиоды с буферными транзисторами Нагрузочная способность одной линии МК не безгранична. Бывают ситуации, когда необходимо между светодиодом и выходом порта поставить буферный транзистор. Делают это в тех случаях, когда: для нормальной работы светодиода требуется повышенный ток (Табл. 2.2); для нормальной работы светодиода требуется повышенное напряжение от отдельного источника питания; необходимо застабилизировать ток через светодиод; светодиод специально подключается к источнику высокого нестабилизиро- ванного напряжения, чтобы уменьшить токовую нагрузку на низковольтный стабилизатор питания МК. Таблица 2.2, Параметры светодиодов повышенной яркости Цвет свечения Материал Мощные (1...10 лм) Ламповые (10... 100 лм) /ПР[мА] КП1,[В] при/ПР /ПР[мА] УПР[В] при/ПР Синий InGaN/SiC 50 4.3...5.2 350 (700) 2.8...4.0 (5.4...8.0) Белый InGaN/SiC 50 4.3...5.0 350 (700) 2.8...4.0 (5.4...8.0) Зелёный InGaN/SiC 50 4.3...5.2 350 (700) 2.8...4.0 (5.4...8.0) Жёлтый AlGalnP 70 2.4...3.2 350(700) 1.9...3.1 (3.7...6.2) Красный AlGalnP 70 2.0...2.7 350 (700) 1.9...3.1 (3.7...6.2) На Рис. 2.8, а...о показаны схемы подключения одиночных светодиодов к МК через буферные транзисторы. Рис. 2.8. Схемы подключения одиночных светодиодов через буферные транзисторы (начало): а) тип транзистора VT1, а также сопротивление и мощность резистора R2 выбираются в зависимости от модели светодиода НЫ и напряжения питания +3...+ 12 В. Расчёт ведётся по закону Ома, учитывая, что напряжение UK3 открытого транзистора составляет 0.2...0.4 В. Сопротивление резистора R1 тем меньше, чем выше ток через светодиод и чем ниже коэффициент /*21Э VT1; б) инвертирование сигнала при помощи транзистора VT1. При НИЗКОМ уровне на выходе МК светится индикатор НЫ, при ВЫСОКОМ — HL2; в) «высоковольтный» светодиод НЫ имеет встроенный гасящий резистор. Чтобы не вывести МК из строя высоким напряжением, применяют буферный транзистор VT1;
Рис. 2.8. Схемы подключения одиночных светодиодов через буферные транзисторы (продолжение): г) элементы VD1... VD3, R2 стабилизируют ток через светодиод HL1 с одновременным получением стабильного регулируемого напряжения «V+», «V-» для внешних узлов (варикапа); д) маломощный светодиод HL1 дублирует вспышки света удалённого мощного индикатора HL2. Резистор R2 запирает транзистор VT1 во время рестарта МК, чтобы гарантированно погасить светодиод HL2. Если этого не требуется, то резистор R2 может отсутствовать; е) аналогично Рис. 2.8, а, но с транзистором VT1 проводимости р—п—р; ж) транзисторы К77, VT2 поочерёдно включают, светодиоды HL], HL2. К каждому из светодиодов прикладывается сумма напряжения питания (3 В) и напряжения, накопленного на конденсаторе С/ (2.5 В). Резистор R3 ограничивает ток заряда/разряда; з) в цепи эмиттера транзистора VT1 отсутствует ограничительный резистор. Это допускается при батарейном питании и интеллектуальном управлении, когда скважность импульсов в канале ШИМ подстраивается под напряжение питания. Параметры светодиода HL1 — 350 мА/3.4 В;
Рис. 2.8. Схемы подключения одиночных светодиодов через буферные транзисторы (продолжение): и) светодиод НЫ включается в базу транзистора VT1. Отсутствие его свечения при НИЗКОМ уровне на линии МК свидетельствует о неисправности транзистора; к) на элементах К77, VT2, R3 собран аналог лавинного транзистора, который вместе с накопительным конденсатором С1 формирует вспышки света индикатора НЫ. Достоинство — низкий и равномерный ток потребления, из-за чего продлевается жизнь батареи GB1; л) ток через светодиод НЫ стабилизируется элементами VD1, VD2, VT1 в целях сохранения постоянной яркости свечения при колебаниях напряжения питания. Ток стабилизации определяется по формуле /[мА] = 700/Л,[Ом]; м) аналогично Рис. 2.8, л, но с двухтранзисторным стабилизатором тока. Ток стабилизации определяется по формуле ДмА] = 700/Л2[Ом1; н) однопереходной транзистор VT1 служит ключом для НЫ с током не более 150 мА;
Рис. 2.8. Схемы подключения одиночных светодиодов через буферные транзисторы (окончание): о) умножитель напряжения с накопительной индуктивностью L1 и мощными полевыми ключами, находящимися в транзисторной сборке DA1. Обмотка катушки L1 должна выдерживать прямой ток 150 мА, проходящий через светодиод HL1. Частота генерации сигнала на выходе МК 25...35 кГц. Изменение яркости производится регулированием скважности ШИМ; п) светодиод HL1 специально подключается к нестабилизированному источнику напряжения +9...+15 В, а не к питанию МК +5 В. Тем самым уменьшается токовая нагрузка на стабилизатор DA1. Суммарная мощность потерь (т.е. КПД) при этом не изменяется. Если тщательно подобрать сопротивление резистора /?2, то по яркости свечения индикатора HL1 можно визуально оценивать уровень напряжения питания на входе устройства; р) аналогично Рис. 2.8, п, но на полевом транзисторе VT1, с другими номиналами элементов и с большей детализацией схемы. Резистор R3 закрывает транзистор VT1 во время рестарта МК, при этом индикатор HL1 будет погашен. 2.1.6. Линейки светодиодов Один светодиод — хорошо, а несколько — лучше. Если их конструктивно оформить в виде светящейся линейки, гирлянды или затейливого узора, звёздочки, курсора, то эмоциональное восприятие дизайна устройства заметно улучшится. Светодиоды логично соединять друг с другом последовательно. Параллельное включение не рекомендуется, поскольку из-за технологического разброса ВАХ некоторые из светодиодов будут светиться более тускло, чем остальные. Иногда ставится задача получить плавное изменение яркости светодиодов. Для этого существуют два способа. Во-первых, «цифровой» ШИМ с изменяющейся
скважностью импульсов, во-вторых, аналоговое управление с помощью переменного резистора или генератора линейного напряжения. «Цифровой» ШИМ считается более корректным с точки зрения обеспечения правильной цветопередачи, поскольку при аналоговом регулировании проявляется эффект потери насыщенности цвета при низкой яркости. Положение можно немного исправить, если использовать специальные типы светодиодов, имеющие повышенную световую отдачу при малом прямом токе (Табл. 2.3). Таблица 2.3. Сравнение обычных и «суперъярких» светодиодов фирмы Kingbright (5 мм) Светодиод Цвет свечения Материал Длина волны [нм] Сила света [мкд] Ут [В] при /ПР 0...20 мА L-7113ID (обычный) Красный GaAsP/GaP 625 8...45 1.5...2.0 L-7113SURC («суперъяркий») Красный AlGalnP 630 2900...3800 1.6...1.9 L-7113YD (обычный) Жёлтый GaAsP/GaP 588 10...25 1.7...2.1 L-7113SYCK («суперъяркий») Жёлтый AlGalnP 590 1800...3000 1.7...2.0 L-7113GD (обычный) Зелёный GaP 568 15...30 1.6...2.2 L-7113CGCK («суперъяркий») Зелёный AlGalnP 570 400...700 1.8...2.1 Важный нюанс. Линейным ШИМ (равно как и линейным аналоговым напряжением) нельзя получить визуальное ощущение равномерной яркости. Дело в том, что глаз человека логарифмирует силу приходящего света, иначе в солнечный день мы бы постоянно зажмуривали глаза, а в сумерках ничего бы не видели. Следовательно, нужен не линейный, а экспоненциальный закон управления. Для плавного изменения яркости светодиодов рекомендуют разбивать всю шкалу скважности 8-разрядного ШИМ на 21,64 или 256 ступенек [2-15]: 0, 1,2, 3,5,7, 10, 13, 16, 20, 26,32,40,51,64,81, 101, 127, 161,201,255; 0, 1,2, 3,4, 5,6, 6, 6, 7, 7,8,8,9,9, 10, 11, 12, 12, 13, 14, 15, 16, 17, 19, 20,21, 23, 24, 26, 28, 30, 32, 34, 36, 39, 42, 44, 48, 51, 54, 58, 62, 66, 71, 76, 81, 87, 93, 100, 106, 114, 122,130, 139, 149, 159, 170, 182, 195, 208, 223, 238, 255; 0, 2, 2, 2, 2, 3, 3, 3, 3, 4,4, 4, 4, 5, 5, 5, 5, 6, 6, 6, 6, 7, 7, 7, 7, 8, 8, 8, 8, 9, 9, 9, 9, 10, 10, 10, 10, 11, 11, 11, 11, 12, 12, 12, 12, 13, 13, 13, 13, 14, 14, 14, 15, 15, 15, 16, 16, 17, 17, 17, 18, 18, 19, 19, 19, 20, 20, 21, 21, 21, 22, 22, 23, 23, 24, 24, 25, 25, 26, 26, 26, 27, 27, 28, 28, 29, 29, 30, 30, 31, 32, 32, 33, 33, 34, 34, 35, 35, 36, 37, 37, 38, 38, 39, 40, 40, 41, 41, 42, 43, 43, 44, 45, 45, 46, 47, 47, 48, 49, 49, 50, 51, 52, 52, 53, 54, 55, 55, 56, 57, 58, 58, 59, 60, 61, 62, 63, 63, 64, 65, 66, 67, 68, 69, 70, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 88, 89, 90, 91,92,93,94,95,97,98,99,100, 101, 103, 104, 105, 106, 108,109, ПО, 112, 113, 114, 116, 117, 119, 120, 121, 123, 124, 126, 127, 129, 130, 132, 133, 135, 136, 138, 140, 141, 143, 144, 146, 148, 150, 151, 153, 155, 157, 158, 160, 162, 164, 166, 168, 169, 171, 173, 175, 177, 179, 181, 183, 185, 187, 190, 192, 194, 196, 198, 200, 203, 205, 207, 209, 212, 214, 216, 219, 221, 224, 226, 229, 231, 234, 236, 239, 242, 244, 247, 250, 252, 255. Пример. Малая яркость — 3/255 (3 доли светится, 252 доли не светится), большая яркость — 223/255 (223 доли светится, 32 доли не светится). Кривая в начале графика может отличаться от экспоненты, поскольку зависимость яркости от средней силы тока через светодиод имеет нелинейный начальный участок.
Если требуется ещё более плавное регулирование, то переходят к 16-разрядному ШИМ, при этом число градаций яркости не должно превышать 10000 — это динамический диапазон чувствительности глаза человека без аккомодации. Частоту ШИМ обычно устанавливают не менее 150... 200 Гц, чтобы устранить мерцание. Для повышения естественности восприятия светового потока и в случае замет- ности мерцания светодиодов применяют так называемый «непоследовательный счётчик ШИМ». То есть каждый период цикла ШИМ заполняют множеством промежуточных импульсов квазислучайной длительности. Например, если на Рис. 2.9 сложить все «единичные» и «нулевые» промежутки времени, то они будут равны между собой, т.е. получается средняя скважность 50%, как при меандре. Рис. 2.9. «Непоследовательный» счётчик ШИМ. На Рис 2.10, а...м показаны схемы подключения линеек светодиодов к МК. По такому же образцу строятся не только «мигающие» гирлянды, но и световые табло, экраны с «бегущей строкой», шкальные индикаторы параметров. Рис. 2.10. Схемы подключения линеек светодиодов к МК {начало): а) транзистор VT1 коммутирует 60 светодиодов, объединённых в 10 параллельных линеек. Резисторами R2...R11 устанавливается яркость их свечения; б) общее количество светодиодов зависит от максимально допустимого тока через сток транзистора VTL Изменяя скажность управляющих импульсов в канале ШИМ, можно плавно увеличивать/уменьшать яркость свечения сразу всех индикаторов;
Рис. 2.10. Схемы подключения линеек светодиодов к МК (продолжение): в) генератор стабильного тока на элементах К77, R1...R3. Резистор R3 определяет ток через светодиоды HLl...HLn. Падение напряжения между коллектором и эмиттером транзистора VT1 будет разным в зависимости от числа светодиодов в линейке; г) импульсный умножитель напряжения с КПД до 82% на микросхеме DA1 (фирма Maxim/ Dallas) предназначен для питания линейки светодиодов белого цвета HLL..HLn. Выходное напряжение подбирается резистором R2. Резистор R1 определяет ток через светодиоды 15...20 мА. Яркость свечения линейки можно плавно изменять ШИМ-сигналом от МК. Если заменить DA1 микросхемой МАХ1553, то число светодиодов в линейке должно быть не более 6; д) две линейки светодиодов HL1...HL8 конструктивно располагаются вокруг центрального светодиода HL9, который имеет в два раза больший диаметр. Диод VD1 защищает устройство от подачи напряжения обратной полярности (автомобильный аккумулятор); е) внутри микросхемы DA1 имеются мощные транзисторные ключи, которые раздельно управляют восемью линейками светодиодов. Резисторы определяют ток через индикаторы, но не более 500 мА на канал. При малом числе светодиодов в линейке необходимо повысить сопротивления резисторов RL..R8и увеличить их мощности рассеяния;
Рис. 2.10. Схемы подключения линеек светодиодов к МК (продолжение): ж) плавное регулирование яркости мощных «белых» светодиодов со стабилизацией тока до 350 мА. Число светодиодов зависит от питания: +7.3...+12.5 В (1 шт.), +17.5...+22.7 В (4 шт.); з) светодиоды HL7...HL4 размещаются в линию. Количество светящихся индикаторов определяются скважностью сигналов с выхода МК. На конденсаторе С1 выделяется постоянная составляющая. Диоды VD1...VD3 определяют пороги включения «ступенек» шкалы. Резисторы R3...R5 подбираются так, чтобы яркость индикаторов HL1...HL4 была примерно одинаковой; и) шкала из 10 светодиодов, реагирующая на скважность сигналов ШИМ с МК. Резистором R2 регулируется амплитуда, резистором R3 — линейность, резистором R4 — яркость. Переключателем S1 выбирается один из двух режимов: поочерёдное включение одиночных светодиодов («точка на шкале») или включение группы светодиодов («столбик из точек на шкале»);
Рис. 2.10. Схемы подключения линеек светодиодов к МК (окончание): к) транзисторы К77, VT2 противофазно переключают две независимые линейки светодиодов #L А и #L ~. Сигналы на нижних линиях МК выставляются отдельно для каждой линейки, чередуясь во времени. Сопротивления резисторов R*, /?АА выбираются так, чтобы ток через каждую из линеек не превышал 0.1 А, иначе следует заменить транзисторы VT1, VT2 более мощными; л) ШИМ-управление яркостью прожектора, состоящего из 150 светодиодов. Транзистор VT1 открывается КМОП-уровнем с выхода МК и пропускает ток до 22 А; м) требуемая комбинация светящихся индикаторов HLHL8 получается после обнуления 12-разрядного двоичного счётчика DDI (замена КР1561ИЕ20) по входу «R» и подачи серии импульсов на вход «С» от МК. В каждой серии может быть от 1 до 4095 импульсов. Достоинство — малое число задействованных линий МК. Недостаток — для индикации требуется время на отправку импульсов в счётчик. В момент счёта импульсов транзистор VT1 запирается НИЗКИМ уровнем с нижнего выхода МК, чтобы исключить паразитную подсветку индикаторов.
2.1.7. Светодиодные панно Таблица 2.4. Сверхъяркие светодиоды фирмы Ligitek Electronics (сила света 1000... 10000 мкд) Цвет свечения Материал Длина волны [нм] Лір [мА] ^пр [В] (typ...max) Угол обзора [град.] Тёмно-красный GaAlAs 660 20 1.5...2.4 12...30 Красный AlGalnP 620...630 20 1.5...2.4; 1.7...2.8 17...20 Жёлтый AlGalnP 590...595 20 1.7...2.8 12...38 Светло-зелёный AlGalnP 574 20 1.7...2.8 12 Зелёный, голубой InGaN 505...523 20 3.0...4.0 13 Синий GalnN 470 20 3.5...4.0; 3.5...4.2 12...19 Белый InGaN — 20 3.5...4.0 12...30 В схемах с панно применяется динамическая индикация с доступом к единичным индикаторам по уникальному адресу, состоящему из номера столбца и номера строки, примерно как в игре «Морской бой» (Рис. 2.11, а,..д). Рис 2.11. Схемы подключения светодиодных панно к МК (начало): а) динамическая индикация на 100 светодиодах с непосредственным подключением к 20 линиям МК. Светодиоды HL 1...HL/00 должны достаточно ярко светить при низком токе; б) ключи на транзисторах КГА облегчают нагрузку на выходные линии МК. В каждый момент времени должен быть открыт только один из транзисторов чтобы засвечивалась одна линейка светодиодов #LA. Светодиоды могут оформляться в виде табло, например, «8x4»; Панно (франц. panneau) — это картина, барельеф или обрамлённая часть стены, заполненная изображением или орнаментом. Если выполнить панно из светодиодов и расположить их прямоугольной матрицей, то можно создать не только статическое изображение, но и динамически изменяемую картинку. Примерами могут служить многочисленные табло «бегущая строка» или световые вывески маршрутов на современных городских автобусах, троллейбусах, трамваях. Для повышения яркости и экономичности в бытовых панно выгодно ставить специальные типы светодиодов (сверхъяркие, суперъяркие, ультраяркие, НВ LED), имеющих большую световую отдачу при малом прямом токе (Табл. 2.4).
Рис. 2.11. Схемы подключения светодиодных панно к МК {окончание): в) новогодняя гирлянда из 32 светодиодов красного, жёлтого, оранжевого и зелёного цвета. В каждый момент времени должен быть открыт только один из транзисторов VT5...VTI2; г) аналогично Рис. 2.11, в, но на полевых транзисторах и для табло «8x8». Если при начальном рестарте М К будут наблюдаться случайные «засветки» индикаторов, то надо добавить резисторы 100 кОм между затворами транзисторов VT*... УТт^и общим проводом. д) управление SMD-светодиодами HL1...HL95 производится через регистры DD1...DD3. Информация в них заносится и последовательно сдвигается через линии «SR», «СК», «SK».
2.1.8. Мигающие светодиоды Мигающий светодиод (МСВ) — это относительно новый оптоэлектронный прибор, разработанный на стыке двух наук: интегральной микроэлектроники и физики оптически активных материалов. «Сердцем» МСВ (Рис. 2,12) является бескорпусной высокочастотный КМОП-генератор G7, который через делитель частоты F/n периодически открывает и закрывает электронный ключ К1. Соответственно, светодиод НЫ излучает вспышки света с частотой примерно 2...3 Гц. Рис. 2.12. Функциональная схема замещения МСВ. Диод VD1 выполняет защитную функцию при подаче на МСВ обратного напряжения. Длительное протекание через него большого тока 150...200 мА может привести к выходу элемента из строя. Наличие внутреннего токоограничивающего резистора R2 позволяет подключать МСВ к источнику постоянного напряжения напрямую, без дополнительного резистора. Типовой прямой ток через МСВ составляет 6...60 мА при изменении питания в пределах 3.5...13 В. Стабильность частоты генератора G1 (100...350 кГц) зависит от напряжения питания и температуры, поскольку это /?С-генератор. Точность его настройки определяется технологией производства, поэтому период мигания МСВ имеет разброс в зависимости от экземпляра светодиода и фирмы-изготовителя. По внешнему виду МСВ мало чем отличаются от обычных светодиодов. Они точно так же бывают разного цвета свечения (красный, жёлтый, зелёный, синий, белый), с прозрачным или матовым корпусом, разного диаметра 3...20 мм. На Рис. 2.13 приведена электрическая схема имитатора МСВ, в которой для упрощения применяется задающий НЧ-генератор на микросхеме DDI, обеспечивающий частоту вспышек 1...3 Гц в зависимости от сопротивления резистора R2. Рис. 2.13. Упрощённая электрическая схема имитатора МСВ. На Рис. 2.14, а...д показаны схемы подключения МСВ к МК.
Рис. 2.14. Схемы подключния МСВ к МК: а) МСВ НЫ начинает мигать при ВЫСОКОМ уровне на выходе МК. Резистор R1 нужен, если МСВ рассчитан на рабочее напряжение, которое меньше, чем питание МК; б) МСВ НЫ начинает мигать при НИЗКОМ уровне на выходе МК. Подстроечным резистором R1 регулируется амплитуда выходного сигнала с частотой «мигания»; в) на выходе инвертора DDI формируются сигналы КМОП-уровня с частотой, определяемой параметрами МСВ НЫ. Если резистор R1 имеет сопротивление больше, чем 1 кОм, то визуально МСВ светиться не будет, хотя генерация импульсов не прекращается; г) генератор пачек импульсов КМОП-уровня с периодом огибающей 0.3... 1 с, которая зависит от частоты мигания МСВ HL7; д) транзистор VT1 периодически «зажигает» разноцветную гирлянду, состоящую из трёх параллельных цепочек по семь светодиодов в каждой. Ведущими в них являются МСВ НЫ (красный), HL8 (жёлтый), НЫ5 (зелёный), которые заставляют в такт «подмигивать» и остальные светодиоды. Частота и фаза генерации в цепочках носят случайный характер, поэтому иллюминация долго «не приедается». Светодиоды можно смонтировать по контуру новогодней ёлки.
2.1.9. Двухцветные светодиоды Таблица 2.5. Цветовые сочетания в двухцветных светодиодах Первый цвет Красный Красный Красный Красный Жёлтый Жёлтый Второй цвет Жёлто-зелёный Синий Зелёный Жёлтый Зелёный Жёлто-зелёный Восприятие цвета человеком весьма субъективно. В колориметрии (науке о цвете) различают более тысячи образцов цветовых эталонов, стандартизованных в специальных книгах-атласах. Некоторые люди обладают даром «абсолютного цвета», но это столь же редко, как и «абсолютный слух» у музыкантов. На практике пользователь хорошо различает оттенки, но только при одновременном предъявлении ему нескольких образцов для сравнения. Светодиоды формируют достаточно тусклые по насыщенности цвета. Если взять смесь красного с зелёным, то в сумме должен получиться жёлтый цвет. Однако в светодиодном исполнении образуется оттенок, который одни воспринимают как «оранжево-жёлтый», другие как «жёлто-зелёный». Более того, если смотреть на светодиод перпендикулярно прямо, то виден жёлтый цвет, но если смотреть с правой стороны, то оттенок «краснеет», а с левой — «зеленеет» или наоборот. Вывод — конструировать устройство необходимо так, чтобы на панели постоянно светился хотя бы один образцовый индикатор базового цвета, по которому можно устойчиво идентифицировать остальные оттенки. Им обычно служит зелёный светодиод наличия питания. Другой вариант — каждому индикатору назначить своё посадочное место, примерно как в светофоре — «красный-жёлтый- зелёный» или ввести режим мигания для суммарного цвета. Прямое падение напряжения у двухцветных светодиодов такое же, как у обычных светодиодов того же оттенка. Ориентироваться можно по условной точке начального подъёма ВАХ: 1.6 В (красный), 1.7 В (жёлтый/оранжевый), 1.8 В (зелёный), 3.5 В (белый/синий). Любой двухцветный светодиод можно заменить двумя обычными, рядом расположенными или накрытыми общим корпусом, если провести электрические соединения между ними согласно внутренней схеме. Цветовая гамма наружных индикаторов должна подбираться по правилам эргономики. Например, красным цветом обозначают состояние «Авария», «Брак», зелёным — «Норма», «Готовность», «Работа». Смена режимов «Ждущий/Активный» можно индицировать жёлтым/зелёным цветом. «Синие» светодиоды хорошо смотрятся в полумраке или применяются для декоративной подсветки тёмных Двухцветные светодиоды содержат на одном кристалле два отдельных свето- излучателя, которые изготавливаются из разных полупроводниковых сплавов. Такой индикатор может светиться как минимум двумя разными цветами. Почему «как минимум»? Потому что за счёт общего корпуса, выполненного из светорассе- ивающей пластмассы, при одновременном включении обоих излучателей можно получить суммарный третий цвет. В Табл. 2.5 перечислены встречающиеся сочетания оттенков в двухцветных светодиодах. Надо чётко представлять, что не все цветовые смеси хорошо различаются визуально. Например, сочетание «жёлтый — зелёный» в смеси лучше не использовать, поскольку теряется однозначность, ведь суммарный «зелёно-жёлтый» оттенок сложно без навыка отличить от зелёного и от жёлтого цвета.
поверхностей. И ещё. Считается, что зелёный и красный — это нарядные рождественские цвета, а чёрный и оранжевый — предупреждающие цвета Хэллоуина. Двухцветные светодиоды бывают двух- и трёхвыводные. Первые из них имеют встречно-параллельное соединение (Рис. 2Л5, а...ж), а вторые — два отдельных излучателя с общим анодом/катодом (Рис. 2.16, а...к). На всех последующих схемах для простоты будет принято, что светодиоды являются «красно-зелёными». Важный нюанс. Обычно в трёхвыводных светодиодах общий контакт конструктивно располагается по центру корпуса, но иногда встречаются модели, например, BL-Bxx204-A (фирма Bright LED Electronics), у которых общий вывод находится с краю. Определить «что есть что» можно прозвонкой выводов омметром. Рис. 2.15. Схемы подключения двухцветных светодиодов с двумя выводами (начало): а) на двух линиях МК формируются противофазные уровни ВЫСОКИЙ-НИЗКИЙ или НИЗКИЙ-ВЫСОКИЙ. Соответственно, светодиод HL1 светится то красным, то зелёным цветом. Для полного гашения светодиода надо установить на выходах МК одинаковые уровни: НИЗКИЙ-НИЗКИЙ или ВЫСОКИЙ-ВЫСОКИЙ; б) управление светодиодом HL1 от одной линии МК: ВЫСОКИЙ уровень — красный цвет, НИЗКИЙ — зелёный, вход с Z-состоянием — полное гашение. Недостатком схемы является лишний расход мощности на делителе Rl, R2, что оправдано, если опорный уровень со средней точки используется для других узлов устройства; в) аналогично Рис. 2.15, б, но с меньшими потерями мощности, поскольку через стабилитроны VD1, VD2hq протекает лишний ток. Резистором R1 регулируется общая яркость; г) аналогично Рис. 2.15, в, но с возможностью раздельного регулирования яркости красного и зелёного светоизлучателей резисторами Rl, R2; д) аналогично Рис. 2.15, в, но с пониженным питанием и заменой двух стабилитронов транзисторными ключами VT1, VT2. Резистором R2 регулируется общая яркость;
Рис. 2.15. Схемы подключения двухцветных светодиодов с двумя выводами (окончание): е) коммутация полярности включения яркого светодиода HL1 через мостовую схему. Сигналы на выходах МК должны быть строго противофазными. Резистор R5 защищает пары транзисторов VT3, VT4 и VT5, VT6 от перегрузки по току при их одновременном включении из-за ошибок в программе, а также при переходных процессах. Резистор R6 задаёт яркость свечения; ж) управление тремя двухцветными светодиодами HL1...HL3 от трёх линий МК. Возможны одноцветные и разноцветные комбинации свечения в любом порядке. Рис. 2.16. Схемы подключения двухцветных светодиодов с тремя выводами (начало): а) при ВЫСОКОМ уровне на одном из выходов М К светодиод HL1 загорается красным или зелёным цветом. При двух ВЫСОКИХ уровнях должен получаться цвет, близкий к жёлтому. Его реальный оттенок зависит от типа светодиода и соотношения сопротивлений резисторов Rl, R2. При обоих НИЗКИХ уровнях на выходах МК светодиод полностью погашен; б) аналогично Рис 2.16, а, но для светодиода HL1 с общим анодом и с активными НИЗКИМИ уровнями; в) при НИЗКОМ уровне на выходе МК индикатор HL1 светится зелёным цветом, при ВЫСОКОМ — красным, поскольку «зелёный» излучатель (1.8 В) шунтируется «красным» (1.6 В). Диод VD1 устраняет небольшую подсветку «зелёного» излучателя при светящемся «красном»;
Рис. 2.16. Схемы подключения двухцветных светодиодов с тремя выводами (окончание): г) аналогично Рис. 2.16, в, но для светодиода НЫ с общим анодом и с активным НИЗКИМ уровнем. Диод VD1 может отсутствовать (проверяется экспериментально). Если поменять местами выводы «R» и «G» индикатора HL7, то наличие диода VD1 обязательно; д) один общий резистор на два излучателя светодиода HL 7, что может привести к некоторому различию в яркости их свечения. Для получения промежуточных цветовых оттенков используют два противофазных сигнала ШИМ с изменяющейся скважностью; е) аналогично Рис. 2.16, д, но для светодиода НЫ с общим анодом; ж) выбор одного из двух излучателей производится механическим переключателем SA 7; з) аналогично Рис. 2.16, в, но с полевым транзистором VT1. Схема эффективна при повышенном токе через светодиод НЫ (задаётся резистором R1). и) плавное получение всей гаммы цветовых оттенков в спектре от красного до зелёного при помощи переменного резистора R2; к) джампер, установленный между контактами 1-2 соединителя 57, определяет красный, а между контактами 2-3 — зелёный цвет свечения всех индикаторов HLL..HLn одновременно.
2.1.10. Многоцветные светодиоды Многоцветные светодиоды появились вслед за двухцветными «красно-зелёными», когда достижения технологии позволили разместить на их кристаллах излучатели синего цвета. Изобретение «синих» и «белых» светодиодов полностью замкнуло RGB-круг: теперь стала реальной индикация любого цвета радуги в видимом диапазоне длин волн 450...680 нм с любой насыщенностью. Существует несколько способов получения белого «светодиодного» света (именно «света», поскольку белого «цвета» в природе не существует). Первый способ — на внутреннюю поверхность линзы «синего» светодиода наносится люминофор жёлтого цвета. «Синий» плюс «жёлтый» в сумме дают тон, близкий к белому. Именно так были созданы первые в мире «белые» светодиоды. Второй способ — на поверхность светоизлучателя, работающего в ультрафиолетовом диапазоне 300...400 нм (невидимое излучение), наносятся три слоя люминофора, соответственно, синего, зелёного и красного цвета. Происходит смешивание спектральных составляющих, как в лампе дневного света. Третий способ — технология телевизионных ЖК-экранов. На одной подложке близко друг возле друга размещаются «красные», «синие» и «зелёные» излучатели (как три пушки в кинескопе). Цветовые пропорции задаются разными токами через каждый излучатель. Окончательное смешивание красок до получения белого оттенка производится светорассеивающей линзой корпуса. Четвёртый способ реализуется в так называемых «квантовых» светодиодах, у которых на общую полупроводниковую пластину наносятся красные, зелёные и синие «квантовые» точки или, по-другому, люминесцентные нанокристаллы. Это перспективное энергосберегающее направление, но пока ещё экзотичное. На сегодняшний день для любительской практики представляют интерес многоцветные светодиоды третьего типа, имеющие отводы от трёх излучателей. Их можно использовать для создания полноцветных устройств отображения информации, например, в виде светодиодных экранов телевизионного формата. Один пиксель такого экрана может светить синим (470 нм), зелёным (526 нм) или красным (630 нм) цветом. В сумме это позволяет получить практически такое же число оттенков, как и в компьютерных мониторах. Многоцветные светодиоды бывают четырёх-, шести- и восьмивыводные. В первом случае имеются три вывода для излучателей красного (R), зелёного (G) и синего (В) цвета, дополненные четвёртым выводом общего катода или анода. В ше- стивыводном варианте в одном корпусе размещаются три полностью автономных светодиода RGB или две двухцветные пары: «красный-синий», «зелёный-синий». Восьмивыводные светодиоды дополнительно имеют «белый» излучатель. Интересный момент. Доказано, что большинство мужчин неточно воспринимают цвет в красной части спектра. Виновата в этом сама матушка-природа из-за гена OPN1LW, находящегося в Х-хромосоме. У мужчин этот ген один, а у женщин имеются две его копии, которые взаимно компенсируют дефекты друг друга. Проявление в быту — женщины, как правило, хорошо различают малиновый, бордовый и алый оттенки, а для многих мужчин такие тона кажутся одинаково красными... Следовательно, конструируя аппаратуру, надо избегать «конфликтной» цветовой гаммы и не заставлять пользователя искать разницу в мелких деталях.
На Рис. 2.17, а...и приведены схемы подключения четырёх-, шести- и восьми- выводных многоцветных светодиодов к МК. Рис. 2.17. Схемы подключения многоцветных светодиодов к МК (начало): а) ток через каждый из трёх излучателей красного (R), зелёного (G) и синего (В) цвета определяют резисторы R2...R4 — не более 20...25 мА на каждую линию МК. Резистор R1 организует отрицательную обратную связь по току. С его помощью снижается общая яркость свечения при одновременном включении сразу трёх излучателей; б) аналогично Рис. 2.17, а, но для светодиода НЫ с общим анодом и с активным НИЗКИМ уровнем на выходах МК; в) трёхканальное ШИМ-управление обеспечивает полную цветовую гамму RGB. Сопротивления резисторов RL..R3 подбирают в широких пределах по субъективному цветовому ощущению баланса белого при трёх включённых излучателях. Для равномерного перехода одного цвета в другой нужен нелинейный закон управления ШИМ. Средний ток через одну линию МК за один период ШИМ не должен превышать 20...25 мА при импульсном токе не более 40 мА; г) аналогично Рис. 2.17, в, но для светодиода НЫ с общим анодом и с активным НИЗКИМ уровнем сигналов ШИМ; д) в светодиоде НЫ находятся три полностью автономных излучателя с отдельными выводами из корпуса, что даёт определённую свободу действий. Например, можно сделать соединение индикаторов по схеме как с общим анодом, так и с общим катодом;
Рис. 2.17. Схемы подключения многоцветных светодиодов к МК (окончание): е) имитатор многоцветного светодиода. Три обычных светодиода HLL..HL3 красного, зелёного и синего цвета конструктивно размещаются в одном общем светорассеивающем корпусе. Для лучшей имитации оригинала можно применить малогабаритные SMD-светодиоды; ж) мощные многоцветные светодиоды напрямую к М К подключать нельзя, ввиду низкой нагрузочной способности портов. Требуются транзисторные ключи с допустимым током не менее 500 мА для «одноваттных» светодиодов (350 мА) и не менее 1 А для «трёхваттных» светодиодов (700 мА). Питать МК и светодиод HL1 рекомендуется от разных источников через стабилизатор напряжения, чтобы помехи от коммутации мощной нагрузки не сбивали работу программы. При высоком напряжении питания светодиода HL1 следует увеличить сопротивления резисторов R4...R6 и их мощность. Сам светодиод надо обязательно установить на радиатор 5... 10 см2; з) шестивыводной светодиод HL1 управляется от четырёх линий МК. Комбинируя НИЗКИЕ/ВЫСОКИЕ уровни можно обеспечить разные цветовые оттенки. В идеале смесь синего и зелёного даёт голубой цвет, а смесь красного и зелёного — жёлтый цвет; и) востмивыводной светодиод HL1 позволяет не только смешивать цвета красный (R), зелёный (G), синий (В), но и регулировать их насыщенность добавлением белой составляющей (W). Каждый из излучателей светодиода HL1 рассчитан на рабочий ток 350 мА, поэтому необходимо предусмотреть меры по эффективному отводу тепла металлическим радиатором.
2.1.11. Одноразрядные семисегментные индикаторы Глаз человека по природе является биологическим приёмником световой информации. Однако, в отличие от животных, человек способен не только фиксировать наличие или отсутствие свечения, но и осмысливать наблюдаемые данные, к примеру, символы на экране семисегментного индикатора. Первые светодиодные семисегментные индикаторы были сделаны на фирмах Monsanto и Hewlett-Packard в 1968 г. Как следует из названия, индикаторы содержат семь светодиодных сегментов, которые располагаются по контуру стилизованной цифры «8» (Рис. 2.18). На жаргоне — «индикатор-восьмёрка». Рис. 2.18. Расположение сегментов в семисегментном индикаторе: а) с одной точкой; б) с двумя точками. Маркируются сегменты большими или малыми буквами латинского алфавита A...J в строго определённом порядке. Надо знать, что бывают индикаторы с десятичными точками и без, а также неполные «восьмёрки» с числом сегментов 2...6. Электрическое соединение сегментов внутри индикатора производится по двум схемам: с общим анодом и с общим катодом. Каждый сегмент — это отдельный единичный светодиод со стандартными электрическими параметрами, зависящими от его цвета и материала изготовления. В «крупногабаритных» моделях для повышения яркости и площади свечения каждый сегмент составляется из 2...4 последовательно включённых излучателей. Учитывая большое разнообразие вариантов цоколевки выводов, условные обозначения семисегментных индикаторов будут обезличенными (Рис. 2.19, а, б). Однако в каждой конкретной схеме (Рис 2.20, а...и) надо смотреть даташиты. Рис. 2.19. Условное обозначение семисегментных индикаторов: а) с общим анодом; б) с общим катодом.
Рис. 2.20. Схемы подключения семисегментных индикаторов к МК (начало): а) стандартная схема с раздельным включением/выключением сегментов. При ВЫСОКОМ уровне на выходе МК соответствующий сегмент светится, при НИЗКОМ — погашен. Сопротивление резисторов RL..R8 выбирается так, чтобы суммарный ток через все линии МК при ВЫСОКОМ выходном уровне не превышал допустимое по даташиту МК значение, как правило, 100...300 мА; б) аналогично Рис. 2.20, а, но для индикатора HG1 с общим анодом. При НИЗКОМ уровне на выходе МК соответствующий сегмент светится, при ВЫСОКОМ — погашен; в) вместо восьми резисторов, как на Рис. 2.20, а, применяется один, но меньшего сопротивления. Как следствие, цифры с большим и малым числом сегментов будут иметь разную яркость, например, «1» и «8». Чтобы выровнять яркости, применяют циклы импульсов с одинаковой длительностью, но с разной частотой. Например, для высвечивания цифры «4» выдаётся «бегущая единица» по сегментам «Ь», «с», «f», «g» со средней частотой. Для цифры «8» частота будет максимальная, а для цифры «1» — минимальная, но выше 25 Гц, чтобы глаз не замечал мерцание; г) аналогично Рис. 2.20, б, но для индикатора HG1 с общим анодом. Вместо «бегущей единицы» формируется «бегущий нуль»; д) поочерёдная смена изображения букв «С» и «Р» на индикаторе HG1 при противофазных сигналах на двух выходах МК. Сегменты «а», «е», «f» светятся постоянно. Сегменты «b», «g» и «d» коммутируются в противофазе. Вместо двух линий МК можно использовать только одну, а другую заменить транзисторным ключом или логическим инвертором;
Рис. 2.20. Схемы подключения семисегментных индикаторов к МК (окончание): е) подключение яркого индикатора HG1 к источнику повышенного напряжения +9...+12 В. Если сегменты индикатора потребляют большой ток, например, 50 мА, то следует уменьшить сопротивление резисторов RL..R8w увеличить их мощность. Сборка транзисторных ключей DA 1 может быть заменена аналогичной зарубежной ULN2003 или отдельными транзисторами КТ817 с резисторами 1... 10 кОм между базой и соответствующей линией МК; ж) регулирование яркости свечения индикатора HG1 через элементы VT1, DAL В дневное время яркость автоматически увеличивается за счёт изменения сопротивления фоторезистора R11. Возможна оперативняа ручная регулировка переменным резистором R9. Резистор R10 ограничивает ток через фоторезистор R11, когда он ярко освещен и имеет низкое сопротивление; з) сокращение числа выходных линий МК за счёт специализированного дешифратора DDI, имеющего выходы с открытым коллектором; и) аналогично Рис. 2.20, з, но с другим типом дешифратора DDI, который допускает в нагрузке повышенное до. 15 В напряжение. Сегмент «h» (точка) управляется транзисторным ключом VT1, поскольку в дешифраторе не предусмотрен восьмой выход. Замена микросхемы DDI — 74LS249.
2.1.12. Многоразрядные семисегментные индикаторы Если механически объединить несколько одноразрядных семисегментных индикаторов в одном корпусе, то получится многоразрядный семисегментный индикатор. С его помощью можно отображать не только целые числа, но и числа с десятичной дробью, а также простые надписи, сообщения, стилизованные рисунки. Число индикаторов в одной сборке, как правило, составляет 2...9. В промышленных многоразрядных семисегментных индикаторах электрические соединения между отдельными модулями выполняются внутри корпуса, а наружу выводятся 7 линий для сегментов «А»...«Н», линия для точки «DP» (опционно, может отсутствовать) и 2...9 линий для выбора знакоместа. Различают многоразрядные индикаторы с активным НИЗКИМ (общий катод) и с ВЫСОКИМ (общий анод) уровнем. Самодельную многоразрядную сборку легко изготовить в домашних условиях физической компоновкой «друг к другу», «бок в бок» нескольких одноразрядных семисегментных индикаторов. Электрические связи между ними выполняют жгутом параллельных проводов, исключение составляют отводы от общего катода или анода, которые выводятся отдельно из каждой индикаторной «восьмёрки». Сборные и монолитные многоразрядные семисегментные индикаторы имеют идентичную схемотехнику подключения к МК. Отличаться лишь будет условное графическое обозначение сигналов выбора знакоместа «1»...«п» (Рис. 2.21). Рис. 2.21. Условное обозначение многоразрядного семисегментного индикатора. В многоразрядных индикаторах широко применяется технология мультиплексирования. Это означает, что в каждый момент времени светится только один индикатор, остальные погашены. Если зажигать индикаторы по кругу с частотой обновления 16...25 Гц (рекомендуется 50.... 150 Гц), то за счёт инерционности зрения будет казаться, что изображение на табло неподвижное. Мультиплексирование предполагает генерацию «бегущей единицы» или «бегущего нуля» на тех выходах МК, которые связаны с выбором знакоместа индикатора. Соответственно на линиях управления сегментами должны в таком же темпе синхронно выставляться НИЗКИЕ/ВЫСОКИЕ уровни образов цифр или букв. Чтобы не было «паразитных» засветок при переходных процессах, рекомендуется в момент смены знакоместа на короткое время формировать пустой символ (пробел), т.е. программно на несколько микросекунд полностью гасить индикатор.
Мультиплексирование требует повышенного импульсного тока через единичные излучатели, иначе будет снижаться общая яркость изображения. Теоретически импульсный ток должен увеличиваться прямо пропорционально числу знакомест 2...9. На практике ограничиваются током в имульсе 40...120 мА при среднем токе за один период не более 20...25 мА. Если многоразрядный семисегментный индикатор подключается к МК напрямую, то в статическом режиме ток не должен превышать 20.. .25 мА на одну линию порта (Рис. 2.22, а, б), а импульсный ток при динамической индикации не должен превышать 40 мА (Рис. 2.23, а...в). Чтобы снять ограничения по току, ставят буферные ключи на транзисторах (Рис. 2.24, а...е) или на микросхемах с повышенной нагрузочной способностью (Рис. 2.25, а, б). Рис. 2.22. Схемы прямого подключения многоразрядных семисегментных индикаторов к МК в статическом режиме: а) используется статическая (а не динамическая) индикация, которая предполагает подключение индикаторов HGL..HGn к 16...32 линиям МК без мультиплексирования. Преимущество — высокое быстродействие, отсутствие мерцания светодиодов. Яркость определяется резисторами R1...R32. Для снижения токовой нагрузки на вывод питания +5 В МК и на «земляной» вывод GND половину индикаторов HGL..HGn ставят с общим анодом и половину с общим катодом; б) на транзисторах VT1, VT2, образующих УПТ, собран общий для всех индикаторов регулятор яркости, управляемый переменным резистором R1. Резисторы R*...R*n пропускают через себя весь ток сегментов, из-за чего некоторые цифры могут иметь разную яркость, например, «1» (более ярко) и «8» (более тускло). Альтернативный вариант — не экономить на резисторах.
Рис. 2.23. Схемы прямого подключения многоразрядных семисегментных индикаторов к МК в динамическом режиме: а) резисторы R1...R8определяют токовую нагрузку на выходные линии МК, которая в среднем за один период мультиплексирования не должна превышать 20...25 мА. На нижних выходах МК необходимо сформировать «бегущий нуль»; б) аналогично Рис.2.23, а, но с формированием «бегущей единицы» на выходах М К и с индикаторами HGL..HG5, имеющими общий анод и повышенную яркость при низком токе; в) типовое использование линий МК для одновременной индикации сегментов HG1 и для управления внешними узлами. Режимы переключаются по сигналу «Запрет/Разрешение». Его ВЫСОКИЙ уровень запрещает работу внешнего узла, при этом можно индицировать цифры на трёхразрядном табло HGL При НИЗКОМ уровне разрешается обращение к внешнему узлу, восемь верхних линий МК обнуляются (индикатор HG1 гаснет), а три линии выбора знакоместа используются как обычные информационные входы/выходы «Данные». Такой алгоритм работы напоминает ситуацию, когда во время обратного хода луча монитора или телевизора выполняются какие-либо вспомогательные действия, например, опрос клавиатуры или датчиков.
Рис. 2.24. Схемы подключения многоразрядных семисегментных индикаторов к М К через ключи на транзисторах (начало): а) транзисторные ключи VTL..VTn пропускают большой ток и увеличивают яркость свечения индикатора HG1 за счёт снижения сопротивлений резисторов RL..R8. Резисторы /?А определяют степень насыщения транзисторов VTL..VTn, которые должны гарантированно открываться при индикации цифры «8» (максимальный ток нагрузки); б) аналогично Рис.2.24, а, но с индикаторами HG1...HG4, которые имеют внутри по два последовательных светодиода на каждый сегмент. Исключение — сегмент «децимальной точки», где находится один светодиод, поэтому резистор R8 имеет на порядок больше сопротивление, чем резисторы R1...R7; в) аналогично Рис 2.24, а, но с транзисторами VT1... УТп другой структуры и с индикаторами HGL..HGn, имеющими общий анод;
Рис. 2.24. Схемы подключения многоразрядных семисегментных индикаторов к МК через ключи на транзисторах (окончание): г) симбиоз схем, изображённых на Рис. 2.24, в и Рис 2.20, ж, но для трёхразрядного табло на индикторах HGL..HG3; д) индикаторы HGL..HGn управляются эмиттерными повторителями VTL..VTn\ е) транзисторные ключи УТл...УТ*п, VT1...VT8 полностью развязывают МК от индикатора HG1, что позволяет увеличить яркость за счёт низких сопротивлений резисторов R9...R16. Сопротивления резисторов ДА должны быть меньше, чем у резисторов R1...R8, поскольку коллекторный ток транзисторов VT*...VT*n больше, чем у транзисторов VT1... VT8. Индикатор HG1 изображён нестандартно (выводы знакомест находятся слева, а не справа), что не принципиально.
Рис. 2.25. Схемы подключения многоразрядных семисегментных индикаторов к МК через ключи на микросхемах: а) замена дискретных транзисторов и резисторов мощными интегральными ключами, находящимися в микросхеме DAL Свободный транзисторный ключ микросхемы DA1 (выводы 7, 10) можно использовать для своих целей, поскольку все каналы независимы друг от друга; б) подключение двухцветных многоразрядных индикаторов HGL..HG4 (красный-зелёный) через интегральные ключи микросхемы DA1 и транзисторы VTL..VT8. Дополнительные резисторы R17...R20 уравнивают яркость свечения индикаторов зелёного и красного цвета, поскольку первые из них имеют большее прямое напряжение, чем вторые. 2.1.13. Уплотнение сигналов в многоразрядных семисегментных индикаторах Использовать линии МК исключительно для светодиодной индикации — это роскошь, которую можно себе позволить, если имеется очень много свободных линий портов. В противном случае следует рассмотреть вопрос о переходе на связку, состоящую из двух и более МК, один из которых будет заниматься исключительно индикацией. Альтернативный вариант — вспомнить о методах уплотнения сигналов, подаваемых на индикаторы. Для этого обычно применяют дополнительные микросхемы средней степени интеграции, в частности, регистры, счётчики, преобразователи кодов, дешифраторы. Ещё одним плюсом такого решения может стать повышенная нагрузочная способность логических микросхем, что разгружает линии портов МК (Рис. 2.26, а...к).
Рис. 2.26. Схемы уплотнения сигналов для многоразрядных семисегментных индикаторов (начало): О а) сокращение числа задействованных линий МК с помощью сдвигового регистра DDI (замена — CD4094BE, КР1561ПР1). На верхних выходах МК формируется «бегущая единица», но с микросекундными паузами, чтобы успевал смениться код очередной цифры/символа на нижних линиях МК. Информация в сдвиговый регистр DDI вводится по линии «D» последовательно во времени за 8 тактов, сообразуясь с сигналами на линиях «S» (строб), «С» (синхро). Максимальная длительность «полки» ВЫСОКОГО уровня «бегущей единицы» определяется по формуле Г,[мс] = 1000/(Fq[Yu\'N), где F0 — частота обновления данных, N— число каналов. Например, при N = 2 и частоте F0= 16 Гц длительность Тх должна быть не более 31 мс; б) аналогично Рис. 2.26, а, но с другим сдвиговым регистром DDI (замена — КР1533ИР24) и с другими названиями управляющих сигналов: «Е2» (строб), «СР» (синхро); в) аналогично Рис. 2.26, а, но с другим сдвиговым регистром DDI (замена — 74НС164) и с отсутствием сигнала стробирования, что непринципиально; г) аналогично Рис 2.26, в, но с другим сдвиговым регистром DDI (замена — КР1533ИР13) и с другим названием сигнала ввода данных «DR»;
Рис. 2.26. Схемы уплотнения сигналов для многоразрядных семисегментных индикаторов (продолжение): д) микросхема DDI — это преобразователь двоично-десятичного кода в семисегментный. НИЗКИМ уровнем на входе «К» можно для проверки зажечь все сегменты. В эмиттеры транзисторных ключей VTl...VTn иногда включают диод VD1. Он снижает общее напряжение на индикаторах HGL..HGn, чтобы предотвратить нежелательную подсветку «погашеных» сегментов. Такая ситуация может возникнуть, если верхние линии МК нагружены ещё и на другие цепи; е) простейшая схема уплотнения, когда от верхней линии МК поочерёдно включаются два индикатора #67, HG2. В такт с ними на восьми информационных выходах МК должны выставляться коды символов. Противофазность обеспечивает инвертор на транзисторе VT1\
Рис. 2.26. Схемы уплотнения сигналов для многоразрядных семисегментных индикаторов (продолжение): ж) дешифратор DDI решает две задачи: сокращает число требуемых линий МК с 7 до 3, а также увеличивает нагрузочную способность, поскольку имеет выходы с открытым коллектором. Логика работы. Выставить на трёх верхних линиях МК код 111, что соответствует полному гашению всех знакомест индикатора HG1, т.к. активизируется канал «7» микросхемы DDI, который «висит в воздухе». Далее установить на восьми нижних линиях МК код высвечиваемого символа в первом знакоместе индикатора HGL Выставить на трёх верхних выходах МК код ООО (активизируется канал «О» микросхемы DDI), выждать время 8...30 мс для индикации. Вновь погасить индикатор установкой кода 111 и повторить процедуру для следующего знакоместа и т.д.; з) дешифратор DDI расширяет число каналов до 10. Регистр хранения DD2 увеличивает допустимый импульсный ток через сегменты индикатора HG1. Логика работы. Выставить на нижнем выходе МК НИЗКИЙ уровень, выждать время 6...30 мс для индикации. Выставить на восьми средних линиях МК код символа для знакоместа «0». Выставить на нижнем выходе МК ВЫСОКИЙ уровень. Выставить номер знакоместа «0» (код 0000 на верхних выходах МК). Выставить на нижнем выходе МК НИЗКИЙ уровень и повторить процедуру заново, но уже для знакоместа «1» и т.д. Резистор R9 важен в момент рестарта МК. Он принудительно переводит все выходы регистра DD2b Z-состояние, предотвращая случайные показания на индикаторе HG1;
Рис. 2.26. Схемы уплотнения сигналов для многоразрядных семисегментных индикаторов (продолжение): з) схема П. Гуссенса. Сдвиговые регистры DDl...DDn соединяются последовательно через выходы переноса «Р» и входы «D». Информация во все индикаторы HGL..HGn заносится последовательно во времени общим блоком «единиц/нулей». Преимущество — статическая индикация, не создающая динамических импульсных помех. Регистры DDL..DDn можно заменить дешифраторами 74НС595, но только надо учесть другую цоколевку их выводов; ж) семисегментный дешифратор DDI имеет маломощные выходы с «открытым эмиттером». Для увеличения тока используются семь параллельных цепочек, состоящих из транзисторов VT1... УТп и резисторов Rl...Rn. На линиях МК формируется «бегущая единица», но с небольшими (микросекунды) паузами, чтобы успел смениться двоичный код очередного индицируемого символа на четырёх входах дешифратора DDI;
Рис. 2.26. Схемы уплотнения сигналов для многоразрядных семисегментных индикаторов {окончание): к) двухкратное уплотнение информации за счёт применения двух параллельных регистров хранения DDI, DD2. Логика работы. МК выставляет на линиях «a»...«h» код, соответствующий погашенному состоянию знакоместа. Импульсом положительной полярности с верхнего выхода МК этот код вводится в регистр DD2. Далее выставляется на линиях «a»...«h» номер знакоместа «О» и вводится в регистр DDI с нижнего выхода МК. Выдерживается пауза на время индикации 8...30 мс. Снова выставляется на линиях «a»...«h» код, соответствующий погашенному состоянию знакоместа, повторяется процедура для знакоместа «1» и т.д. Резистор R9 переводит все выходы регистра DDI в Z-состояние при рестарте МК, чтобы в этот момент не было ложных показаний на индикаторе HG1. 2.1.14. Буквенно-цифровые индикаторы Семисегментные индикаторы иногда называют «цифровыми» (англ. «питепс display»), учитывая, что они в первую очередь предназначены для индикации арабских цифр 0...9. Однако с их помощью можно индицировать стилизованные заглавные и прописные буквы русского и латинского алфавита, например, «Е», «Р», «С», «F», «с», «d» и т.д.
Более чёткие изображения получаются в буквенно-цифровых индикаторах (англ. «alphanumeric display»), которые имеют дополнительные радиальные сегменты и, соответственно, большее число выводов (Рис. 2.27, а...в). Как следствие, такие индикаторы отображают практически все буквы латинского алфавита, кириллицу и некоторые специальные символы. Рис. 2.27. Расположение сегментов в буквенно-цифровых светодиодных индикаторах: а) 9 сегментов; б) 14 сегментов; в) 16 сегментов. К сожалению, стройной стандартизации в обозначении сегментов у буквенно- цифровых индикаторов не наблюдается, каждая фирма-изготовитель «упражняется» по-своему. Единственное, что десятичные точки устойчиво маркируют двумя, а не одной, буквами «DP» (Decimal Point). Разница между 14- и 16-сегментными индикаторами состоит лишь в том, что у 16-сегментного индикатора верхний и нижний сегменты разбиты на две части, что улучшает внешний вид некоторых букв и символов (Рис. 2.28). Рис. 2.28. Формирование букв и символов в 16-сегментном индикаторе. Поскольку выводов у таких индикаторов много и располагаться они могут не по порядку, то перед установкой в плату желательно прозвонить их тестером или гальванической батареей 4.5 В с последовательным резистором 300...390 Ом. На радиолюбительском сленге 14- и 16-сегментные индикаторы называют «звёздочками» или «снежинками» за их причудливую форму. Другой вариант названия — «английские индикаторы» за схожесть контура с государственным флагом Великобритании. В целом схемотехника подключения буквенно-цифровых индикаторов к МК совпадает с применяемой в семисегментных индикаторах. Главное отличие — вдвое большее число выводов (Рис. 2.29, а, б).
Рис. 2.29. Схемы подключения к МК 14-сегментных индикаторов: а) резисторы RL..R14 ограничивают токи, протекающие через сегменты индикатора HGL Резистор R15 входит в контур автоматической регулировки яркости. За счёт действия отрицательной обратной связи, этот резистор при полной «засветке» индикатора HG1 уменьшает напряжение, прикладываемое к сегментам (а значит снижает ток и яркость); б) DA1 — это специализированный драйвер с трёхпроводным интерфейсом SCK, SDI, SDO. Резистором R1 регулируется яркость, точнее, изменяется стабилизированный ток через все сегменты. Вместо одиночных индикаторов HG1...HG6можно использовать «спарки» 14-сегментных индикаторов с десятичной точкой, например, LTP-3786G фирмы Lite-On Technology. 2.1.15. Интегральные светодиодные матрицы Буквы и символы произвольной формы можно формировать не только многосегментными индикаторами-«снежинками», но и точечными матрицами светодиодных излучателей. Если имеется выбор, то второй вариант предпочтительнее. Дело в том, что матрицы незаменимы при визуализации шрифтов любых алфавитов, что в обычных 7-, 14- и 16-сегментных индикаторах недостижимо. Для справки, общее число языков народов мира, населяющих земной шар, составляет от 2500 до 5000. Столь существенный разброс в оценках объясняется тем, что различия между диалектами одного и того же языка достаточно условны. Типоразмеры светодиодных точечных матриц выбирают согласно ряду: 5x7; 5x8; 5x9; 7x7; 8x8; 16x16 пикселов. По числу знакомест различают: одиночные, сдвоенные, строенные и счетверённые матрицы. Цвет индикации может быть: красный, жёлтый, зелёный, жёлто-зелёный, синий.
Каждая точка матрицы — это единичный светодиод с максимальным прямым током 20 мА (реже 10 мА). Внутри матрицы проложена стандартная двухкоорди- натная сетка проводников с объединением по анодам/катодам (Рис. 2.30, а, б). Рис. 2.30. Электрические соединения внутри светодиодных матриц: а) с общим анодом; б) с общим катодом. Строки обозначаются латинскими буквами «R» (Row), столбцы — «С» (Column). Число строк может быть 7; 8; 9; 16, число столбцов — 5; 7; 8; 16. Образно можно представить, что каждый элемент индикатора характеризуется уникальной «географической» координатой: номер строки (широта) и номер столбца (долгота). Схемы подключения светодиодных матриц к МК (Рис. 2.31, а...г) основаны на принципе мультиплексирования, что делает их похожими на многоразрядные семисегментные индикаторы, применяемые в табло «бегущая строка». Частота перебора столбцов должна быть 25...50 Гц, чтобы устранить мерцание изображения. Рис. 2.31. Схемы подключения светодиодных матриц к МК (начало): а) «умный» индикатор HG1 (фирма Avago Technologies) имеет собственный контроллер, свою систему команд, последовательный интерфейс с КМОП-входами, экран на 8 знакомест с форматом 5x7 пикселов. Замена HG1 — HCMS-290x (4 знакоместа), HCMS-292x (16 знакомест); б) экран из 49 одиночных светодиодов, расположенных «квадратно-гнездовым» способом 7x7. Для облегчения токовой нагрузки на линии МК следует предусмотреть чересстрочную развёртку, когда с высокой частотой сначала высвечиваются нечётные, а затем чётные строки;
Рис. 2.31. Схемы подключения светодиодных матриц к МК (окончание): в) подключение линейки индикаторов HGL..HG/с через дешифратор DDI и транзисторные ключи VTL..VT7. На нижних линиях МК формируется «бегущий нуль». При установке НИЗКОГО уровня на выводе 7 микросхемы DDI (код 111 на верхних выходах МК) опрашиваются кнопки SBL..SBn, при этом нижние линии МК настраиваются как входы с «pull-up» резистором; г) «бегущая единица» с нижних выходов МК по очереди открывает транзисторы VTL..VT5, при этом на верхних выходах МК должны выставляться НИЗКИЕ/ВЫСОКИЕ уровни, «прорисовывающие» символы на поле экрана индикатора. Например, для отображения цифры «1» необходимо засветить элементы «гЗ-cl», «r2-c2», «r/-a?»...«r7-cJ», для отображения буквы «Т» — «г7-с /»...«rl-c5», «г2-сЗ»...«г7-сЗ».
2.1.16. Инфракрасные светодиоды Рис. 2.32. Схемы подключения ИК-светодиодов к МК (начало): а) прямое подключение ИК-светодиода НЫ к МК. Параллельное соединение двух и более линий облегчает токовую нагрузку. Дальность действия 1...2 м (регулируется резистором Rl)\ б) увеличение числа резисторов нивелирует разброс ВАХ линий МК, которые должны работать синхронно во времени. Дальность действия 2...3 м (регулируется резисторами Rl...Rn)\ в) типовая схема включения ИК-светодиода НЫ через мощный транзистор VT1 структуры п—р—п. Резистор R2 определяет ток в импульсе порядка нескольких сотен миллиампер. «Крейсерская» дальность действия до 6 м. Встречаются схемы с применением транзистора VT1 2SC1652, при этом надо установить Я, = 470 Ом и R2 = 1 Ом; Если проанализировать характер изменения ВАХ у светодиодов разного цвета, то можно заметить любопытную закономерность — прямое напряжение С/ПР изменяется пропорционально цветовой гамме радуги. На краях видимой части спектра находятся светодиоды красного (1.6 В) и синего (3.5 В) цвета. Между ними располагаются светодиоды остальных цветовых оттенков. Прямые напряжения на светодиодах математически возрастают согласно известной скороговорке: «Каждый Охотник Желает Знать, Где Сидит Фазан» (красный-оранжевый-жёлтый- зелёный-голубой-синий-фиолетовый). Связано это с физикой полупроводниковых материалов, точнее, с разной шириной запрещённой зоны у применяемых в излучателях сплавах. Логично предположить, что светодиоды, генерирующие излучение в «невидимом» инфракрасном (И К) диапазоне длин волн, должны иметь прямое напряжение Un? в районе 0.9... 1.2 В. Действительно, применяемые в обычных телевизионных ПДУ инфракрасные светодиоды имеют ВАХ с точкой подъёма характеристики ип? = 1 В. Особенностью этих светодиодов являются большие допустимые постоянные (25... 100 мА) и импульсные (0.5... 1 А) прямые токи. Как следствие, для коммутации ИК-светодиодов требуются мощные ключи. На Рис. 2.32, а...х показаны схемы подключения ИК-светодиодов к МК. В большинстве случаев используется импульсный режим работы и транзисторные ключи. Это необходимо для увеличения мощности излучения, дальности действия, а также для улучшения помехозащищённости от внешних световых пульсаций, создаваемых, например, электрическими лампами.
Рис. 2.32. Схемы подключения ИК-светодиодов к МК {продолжение): г) стабилизация тока через ИК-светодиод HL1 производится элементами VD1, VD2, VT1, R2. Прямой ток через светодиод вычисляется по формуле /ПР[мА] = 700 / /?2[Ом], где число «700» означает разницу в милливольтах между падением напряжения на двух диодах VD1, VD2 и на переходе «база — эмиттер» транзистора VTl\ д) шунтирование ИК-светодиода HL1 сравнительно низкоомным резистором R2 увеличивает крутизну фронтов передаваемых сигналов. Происходит это из-за более быстрого разряда внутренней ёмкости светодиода НЫ; е) стабилизация тока через ИК-светодиод HL 1 производится элементами VD1, Rl, VT1, R3. Резистором R1 регулируется ток через светодиод HL 1. Аналогичную регулировку можно осуществить и резистором R3, но физически это сделать намного труднее из-за дефицитности подборного ряда дробных омических сопротивлений; ж) подключение ИК-светодиода HL1 через мощный транзистор VT1 структуры р—п—р. Питание батарейное 3 В, поэтому в цепи коллектора VT1 допускается отсутствие токоограничи- тельного резистора. Степень насыщения транзистора VT1 (а значит и быстродействие) можно регулировать резистором R1. Конденсаторы CL..C3 накапливают энергию. Параллельное соединение трёх конденсаторов эффективно снижает их общее динамическое сопротивление; з) аналогично Рис. 2.32, ж, но с другим способом включения резистора R1, который обеспечивает запирание транзистора VT1 при рестарте МК или в случае, когда линия порта имеет выход с открытым стоком. В некритичных ситуациях резистор R1 может отсутствовать;
Рис. 2.32. Схемы подключения ИК-светодиодов к МК (продолжение): и) накопительная цепочка R2, С1 увеличивает амплитуду импульса тока, протекающего через светодиод HLL Это полезно при большом внутреннем сопротивлении источника питания. Транзисторы VT1, VT2 обеспечивают высокий общий коэффициент усиления, чтобы гарантированно пропускать большой коллекторный ток и снизить нагрузку на выход МК; к) увеличение излучаемой мощности при помощи последовательного включения двух светодиодов НЫ, HL2. Накопительный конденсатор С1 обязателен при батарейном питании. Резистор R3 ограничивает импульсный ток и определяет дальность действия излучения; л) схема Т. Гизбертса. Малая длительность фронта спада и нарастания излучаемых импульсов 40 не достигается за счёт применения быстродействующих ИК-светодиодов НЫ, HL2 и шунтирования их низкоомными резисторами R2, R3. Выходные линии МК запараллелены, чтобы ускорить разряд ёмкости полевого транзистора VT1; м) аналогично Рис. 2.32, к, но с транзистором VT1 структуры р—п—р. Желательно подобрать транзистор с максимально высоким коэффициентом передачи п2ХЭ. Если поставить транзистор VT1 КТ972, то сопротивление резистора R1 надо увеличить до 2...4 кОм; н) двухтранзисторный электронный ключ позволяет использовать транзистор VT2 структуры р—п—р с низким коэффициентом усиления h2l3. Резистор R2 закрывает транзистор VT1 в момент рестарта МК, а резистор R3 закрывает транзистор VT2 при НИЗКОМ уровне на выходе МК;
Рис. 2.32. Схемы подключения ИК-светодиодов к МК (продолжение): о) обычный «видимый» светодиод HL1 визуально индицирует невидимые вспышки, излучаемые ИК-светодиодами HL2, HL3. Цепочка R2, С1 накапливает энергию между вспышками. Резистор R3 ограничивает импульсный ток через транзистор VT2. Резистор R4 выбирается так, чтобы обеспечить полное открывание транзистора VT2 при включении транзистора VT1 ВЫСОКИМ уровнем с выхода МК; п) транзисторы К77, VT2 образуют логическую схему «И», что используется для программной модуляции излучения ИК-светодиода HLL Модулирующие импульсные сигналы могут формироваться на верхнем и на нижнем выходе МК как раздельно, так и одновременно; р) дискретная регулировка тока через ИК-светодиод HL1 при помощи четырёхразрядного ЦАП на транзисторах VT1... VT4 и резисторах R5...R8. Сопротивления резисторов R5...R8отличаются друг от друга в 2 раза, следовательно можно получить 16 градаций яркости излучения; с) увеличение излучаемой мощности происходит благодаря параллельно-последовательному включению ИК-светодиодов Я/Л Их количество в каждой из двух веток ориентировочно 2...8, что определяется напряжением питания и сопротивлением резисторов R3, R4;
Рис. 2.32. Схемы подключения ИК-светодиодов к МК {окончание): т) оптоэлектронное реле на основе ИК-светодиодов. Излучатели HL1...HL5 и фотоприёмники BLL..BL5 применяются абсолютно одинаковые, что указывает на их физическую обратимость. Ток через открытый транзистор VT1 выбирается резистором R2 в пределах 20...50 мА; у) двухступенчатое управление ИК-светодиодами НЫ, HL2. Сначала открывается транзистор VT1 НИЗКИМ уровнем на верхней линии МК, а затем транзистор VT2 (импульсно); ф) качественное управление быстродействующим ИК-светодиодом НЫ требует специальной схемотехники. В частности, применяются транзисторные ключи VTL..VT4, рабочие точки которых стабилизируются при помощи ОУ DA1; х) выходная часть имитатора пульта ДУ. Импульсы информационной огибающей формируются на выходе МК. Высокочастотное заполнение 36...40 кГц обеспечивает таймер DAL Резистор R2 настраивается методом вилки по безошибочной передаче ИК-сигналов.
2.2. Жидкокристаллические индикаторы 2.2.1. Семисегментные «цифровые» ЖКИ Аббревиатура «ЖКИ» расшифровывается как «Жидкокристаллический Индикатор». По-английски — LCD (Liquid Crystal Display). Впервые жидкие кристаллы, как физическое вещество, были исследованы австрийским ботаником F.Reinitzer в 1888 г. при изучении свойств органических тканей. Однако прошло ещё почти столетие, пока в 1964 г. не появился первый в мире калькулятор CS10A, имеющий ЖК-дисплей (фирма Sharp), а в 1966 г. — первые электронные часы с семисег- ментными ЖКИ (фирма RCA). Упрощённую модель ЖКИ можно образно представить в виде конденсатора. Верхняя его обкладка состоит из стеклянной пластины, с внутренней стороны которой напылён прозрачный электрод, а нижняя — металлизированная подложка тёмного цвета. Электрод и подложка разделяются тонким слоем жидкокристаллического вещества. При отсутствии напряжения на обкладках этого «конденсатора» молекулы жидкого кристалла хаотически ориентированы и не пропускают свет. Поверхность индикатора выглядит светлой. Если подать на электроды ЖКИ напряжение, то молекулы упорядоченно выстраиваются вдоль линий напряжённости поля и жидкий кристалл становится прозрачным. Свет, вместо того, чтобы отражаться от верхней поверхности, проходит сквозь образовавшийся просвет и поглощается тёмной подложкой, т.е. экран в этом месте темнеет. Если электрод сделан в форме горизонтальной/вертикальной полоски, то на экране появится горизонтальная/вертикальная черта. В ЖКИ прозрачные электроды выполняются в виде сегментов, образующих цифры, буквы, символы, точки. Для уменьшения числа выводов применяется мультиплексирование сигналов, в связи с чем в состав ЖКИ часто вводятся дополнительные микросхемы, контроллеры, преобразователи напряжения. ЖКИ разделяют на следующие большие группы: цифровые ЖКИ, имеющие отводы от каждого сегмента. Их расположение топологически образует семисегментное знакоместо с десятичной точкой, подобно светодиодным индикаторам; специализированные заказные семисегментные ЖК-модули с внутренним контроллером. Они часто используются в телефонных аппаратах, часах, игрушках, органайзерах, бытовой технике; стандартные алфавитно-символьные ЖК-модули, у которых в памяти контроллера прошиты знакогенераторы разных алфавитов; чёрно-белые графические ЖК-дисплеи, имеющие экран из матрицы точек, управление которыми производится чипсетом «контроллер + драйвер»; цветные ЖК-дисплеи, применяемые в сотовых телефонах и телевизорах. Достоинства ЖКИ: низковольтное питание, удобное конструктивное оформление, долговечность, чрезвычайно малый потребляемый ток, что является следствием «конденсаторной» природы. Недостатки ЖКИ: необходимость подсветки экрана в темноте, узкий угол обзора, инерционность, сложность системы управления и коммутации, поскольку на обкладки ЖКИ требуется подавать импульсы переменной полярности.
Семисегментные «цифровые» ЖКИ бывают одноразрядные и многоразрядные. ЖКИ производства стран СНГ обычно имеют «русскую», а не латинскую, маркировку единичных разрядов (Рис 2.33). Если индикаторы многоразрядные, то к букве добавляется номер знакоместа, например, «al», «г5», «g4», «2D». Рис. 2.33. Расположение сегментов ЖКИ: а) две разновидности с маркировкой кириллицей; б) с маркировкой латиницей. Главным параметром при выборе ЖКИ является диапазон питания. Для МК подходят те ЖКИ, которые допускают напряжение 1.5...6 В или 5... 10 В. Их можно подключать к МК напрямую и через КМОП-дешифраторы (Рис. 2.34, а...ж). Единственное, что требуется, — это сформировать пульсирующее напряжение для подложки в виде меандра частотой 30... 1000 Гц. Меандр должен быть максимально «строгим», чтобы постоянная составляющая за период не превышала 50...250 мВ, иначе снижается срок службы ЖКИ из-за химического электролиза. Рис. 2.34. Схемы подключения семисегментных ЖКИ к МК (начало): а) DDI — это преобразователь двоично-десятичного кода в семисегментный. Меандр частотой 30... 100 Гц поступает от МК на вход «S», далее проходит без инверсии на выход «Р» и подаётся на подложку «ВР» ЖКИ HG1. Сигналы на выходах «a»...«g» микросхемы DDI синфазные (сегмент светится) или противофазные (сегмент погашен). Индицируются цифры «0»...«9», буквы «L», «Н» «Р» «А», знак «минус». При коде 1111 на верхних выходах МК индикатор HG1 гаснет; б) надпись «СНЕГ» на четырёхразрядном ЖКИ HG1 появляется при противофазных сигналах на выходах МК. Если установить два НИЗКИХ или ВЫСОКИХ уровня, то HG1 гаснет;
Рис. 2.34. Схемы подключения семисегментных ЖКИ к МК (продолжение): в) М К должен иметь достаточное число свободных выходных линий для прямого подключения трёхразрядного ЖКИ HGL Инвертор на транзисторе VT1 формирует противофазный сигнал по отношению к подложке («Соттоп»), чтобы постоянно индицировалась децимальная точка первого разряда («dpl»). Децимальная точка второго разряда («dp2») постоянно погашена; г) подключение к МК специализированного заказного ЖКИ HGL Предполагается, что МК программно и аппаратно поддерживает режим сопряжения с ЖКИ, т.е. он имеет три нижних линии, автоматически формирующие опорные напряжения VI...V3. Такой режим встроен, например, в МК Microchip PIC16F914; д) прямое подключение 3.5-разрядного ЖКИ HG1 к МК с низковольтным питанием. Сегменты ЖКИ, выводы которых постоянно соединяются с подложкой «Соттоп», светиться не будут. Это, в частности, две десятичные точки «dp3», «dp4». Все свободные в ЖКИ выводы «NC» (No Connect) 4...7, 33...38 должны соединяться с подложкой, а не «висеть в воздухе»;
Рис. 2.34. Схемы подключения семисегментных ЖКИ к МК (окончание): е) индикация температуры от -99 до +199°С на четырёхразрядном ЖКИ. Счётчики DDI, DD2 перед индикацией нового значения обнуляются положительным импульсом на входе «R». Затем на входы «С» подаётся то количество импульсов, которое соответствует индицируемой цифре. Символ «минус» («ж1») и одна единица сотен градусов («62», «в2») формируются прямо от линий МК. Сигнал меандра для подложки «П» ЖКИ должен иметь частоту 30...200 Гц; ж) аналогично Рис. 2.34, е, но счётчики DD1...DD4 соединяются последовательно через выходы переноса «Р» и входы «С». Четырёхразрядное число формируется за один цикл, который включает в себя обнуление по входу «R» и генерацию определённого числа синхроимпульсов на входе «С». Достоинство схемы — экономия линий МК. Недостаток — относительно большое время на передачу всех синхроимпульсов, т.к. их по максимуму может быть 9999. 2.2.2. Семисегментные ЖК-модули Если объединить несколько одноразрядных семисегментных ЖКИ в одном корпусе, то получится многоразрядный ЖКИ. А если добавить к нему микросхему управляющего контроллера, то получится семисегментный ЖК-модуль. От типа контроллера в модуле зависит число линий связи с внешним миром, система команд и алгоритм программы МК. Применение «интеллектуального» ЖКИ избавляет пользователя от массы трудностей. Во-первых, не надо периодически регенерировать информацию на экране, во-вторых, не надо заботиться о точной скважности сигнала меандра на подложке,
в-третьих, значительно экономятся линии портов МК, в-четвёртых, упрощается программное обеспечение. Сколько фирм-разработчиков семисегментных ЖК-модулей, столько и стандартов. Познакомиться с одним из них предлагается на примере продукции фирмы Holtek Semiconductor. Для ЖКИ она выпускает следующие контроллеры: • НТ162х...НТ167х (RAM Mapping LCD Controller); • НТІбІх (Telephony LCD Driver). Контроллеры семейства HT162x...HT167x имеют встроенную матрицу памяти на 128...768 сегментов и применяются в специализированных ЖКИ, устанавливаемых в бытовую технику с уникальным дизайном — в автомагнитолы, радиоприёмники и т.д. Внутри модуля находится БИС контроллера, например, НТ1621 (Рис. 2.35) и экранная панель, снаружи подпаивается кварцевый резонатор и резистор. Связь МК с ЖК-модулем производится через интерфейс CS, WR, DATA. Рис. 2.35. Схема подключения семисегментного ЖК-модуля с контроллером НТ1621 [2-47]. Электрические параметры контроллеров НТ1620...Н1626: напряжение питания 2.4...3.3 В/2.7...5.2 В, ток потребления 150...600 мкА, частота звука 2...4 кГц (сигнал «BZ» для пьезодинамика), нагрузка по выходам не более 2.6 мА, максимальная частота синхроимпульсов последовательного интерфейса 75...300 кГц. Достоинства ЖК-модулей с контроллерами НТ162х: стандартные КМОП входы/выходы, высокое быстродействие, произвольный доступ к любым сегментам. Недостатки: относительно высокая стоимость и необходимость всякий раз приспосабливаться к уникальному дизайну устройства. Подобные ЖК-модули хорошо смотрятся при массовом производстве, но для любительских поделок надо бы присмотреть что-то попроще и подоступнее. Контроллеры семейства НТІбІх широко применяются в ЖК-экранах кнопочных телефонных аппаратов. Обычно они достаются радиолюбителям бесплатно, как «утешительный приз» при неудачном ремонте телефона у соседей или в качестве презента от знакомых и родственников. Внутри ЖК-модуля находится БИС контроллера, «часовой» кварцевый резонатор и экран индикатора (Рис. 2.36). Количество знакомест 8... 16 зависит от модели БИС. Управление индикацией осуществляется через последовательный интерфейс (подробности в [2-48]), при этом отображаются цифры «0»...«9», буквы «Р», «F» и три спецсимвола с чёрточками. Если на вход НК подать ВЫСОКИЙ уровень, то индикатор переходит в режим часов/таймера. И только после этого начинают функционировать кнопки, замыкающие входы «S1», «S2», «12/24», «TMR» на цепь питания FDD.
Рис. 2.36. Структурная схема семисегментного ЖК-модуля с контроллером НТ16ІХ. Электрические параметры контроллеров НТ1610...НТ1616: питание 1.2...1.7 В, средний ток потребления 0.1...3 мкА, входные сигналы не должны превышать напряжение питания больше, чем на 0.3 В. Существует большое количество семисегментных ЖК-модулей производства «третьих фирм» (Third Party), у которых система команд совместима с НТ16ІХ, например, КО-4В2, WM-1611 и т.д. Однако нумерация выводов у них разная. Более того, разработчики вводят в модули дополнительные контактные площадки, в частности, для недокументированных выходных импульсов INT, COl, TIC. Если в маркировке сигналов на печатной плате встречаются надписи «НК», «DI», «SK» вместо «НК», «DI», «SK», на это не стоит обращать внимание, обычная небрежность. Полярность сигналов в разных ЖК-модулях унифицирована. На Рис. 2.37, а...и показаны схемы подключения «телефонных» ЖК-модулей семейства НТ161х, как наиболее доступных для радиолюбителей. Их популярность заключается в малой стоимости, экономичности по току потребления. Недостатки: слишком низкое (по сранению с МК) напряжение питания, невысокое быстродействие, малый угол обзора, отсутствие индикации десятичных точек. Рис. 2.37. Схемы подключения семисегментных ЖК- модулей с контроллерами семейства НТ16ІХ к МК (начало): а) нумерация выводов ЖК-модуля HG1 может отличаться от приведенной. Батарея GB1 без выключателя, поскольку ток потребления HG1 соизмерим с током саморазряда батареи. Согласование уровней производится резистивными делителями RL..R6. Встречаются следующие варианты: Л,.. J?3 = 100 кОм, R4...R6 = 43 кОм или /?,...Д3 = 36 кОм, R4...R6 = 18 кОм;
Рис. 2.37. Схемы подключения семисегментных ЖК-модулей с контроллерами семейства НТІбІх к МК (продолжение): б) для питания МК используется отдельный удвоитель напряжения Л1, собранный, например, на микросхеме КР1146ПН1 или МАХ756. Предполагается, что конденсаторы фильтра по входу и выходу находятся внутри блока Л/. Согласование уровней МК и ЖКИ HG1 производится резисторами Rl, R2n квазиоткрытой линией порта. Выводы «S1», «S2», «TMR», «12/24» индикатора HG1 подключаются к общему проводу с целью уменьшения внешних наводок. На практике их можно оставлять свободными, поскольку внутри #67, как правило, имеются высокоомные подтягивающие «pull-up» резисторы; в) поскольку ток потребления индикатора HG1 составляет единицы микроампер, то питание на него можно подавать с линии МК. Резистором /Урегулируется констрастность изображения ЖКИ путём подбора оптимального напряжения питания 1.5... 1.65 В. При более низком напряжении — цифры блёклые, а при более высоком — начинают светиться погашенные сегменты; г) транзистор VT1 выступает в качестве регулируемого стабилитрона. Резистором R1 устанавливается напряжение питания индикатора HG1 около 1.6 В. Согласование уровней с МК осуществляется резисторами R3, R4. Делители напряжения отсутствуют, что годится не для всех типов индикаторов (проверяется по даташиту). Резисторы R3, /^ограничивают токи, протекающие через внутренние защитные диоды ЖК-модуля при ВЫСОКОМ входном напряжении; д) стабилизация питания индикатора HG1 светодиодом НЫ. Резистором R1 подбирается оптимальная контрастность, при этом индикатор НЫ светится тускло (если вообще светится). Конденсатор С/ не обязателен, но весьма полезен в эксплуатации. При кратковременных просадках питания он ещё некоторое время может поддерживать видимость символов на экране;
Рис. 2.37. Схемы подключения семисегментных ЖК-модулей с контроллерами семейства НТ16ІХ к МК (окончание): е) диодная стабилизация контрастности изображения предполагает подбор не только количества последовательно включённых диодов VDL..VD3, но и замена их диодами Шоттки; ж) резистором R2 регулируется контрастность. Конденсатор С1 уменьшает импеданс в цепи питания индиктора HG1 и снижает электромагнитные помехи; з) простейший вариант питания, при котором вторым плечом делителя напряжения является внутреннее сопротивление ЖК-модуля HG1 между цепями VDD и Kss. Конденсатор С/ стабилизирует контрастность изображения при колебаниях тока потребления ЖКИ; и) микросхема DA1 обеспечивает стабильное питание ЖК-модуля, но ценой повышенного расхода тока и усложнения схемы. Напряжение +1.5...+1.65 В можно также использовать как внешний ИОН для АЦП, как среднюю точку для ОУ и т.д. 2.2.3. Алфавитно-цифровые ЖК-модули Семисегментные ЖК-модули хорошо справляются с выводом цифровой информации, но они не могут полноценно формировать текстовые надписи и простейшую графику. Такой способностью обладают алфавитно-цифровые или, по- другому, символьные ЖК-модули. Отличаются они, в первую очередь, наличием матрицы точек 8x8 вместо семи сегментов знакоместа, а также другим типом БИС внутреннего контроллера. В любительской и профессиональной аппаратуре стандартом «де-факто» стали алфавитно-цифровые ЖК-модули, совместимые с системой команд контроллера HD44780 (фирма Hitachi). Почти полные аналоги: KS0066 (фирма Samsung), SED1278 (фирма Seiko Epson Corp.), ST7066 (фирма Sitronix Technology).
Экран символьного ЖК-модуля состоит из одной, двух или четырёх строк, на которых размещается 8; 10; 12; 16; 20; 24 или 40 знакомест. В прайсах модули обозначаются сокращённо: «число знакомест —х —число строк», например, 8x1 или 20x4. Для экспериментальных работ стараются выбрать нечто среднее по функциональным возможностям. В частности, весьма «ходовым» и, следовательно, более дешёвым, является ЖК-модуль с раскладкой 16x2 (две строки по 16 символов, итого 32 знакоместа). Брэнд фирмы-изготовителя особого значения не имеет. Желательно, чтобы индикатор был с подсветкой, правда, это на порядок увеличивает мощность потребления. Необходимо знать, что подсветка бывает светодиодная (LED) и люминесцентная (EL). Первая из них отличается хорошей долговечностью 20000... 100000 часов, низким напряжением питания, но высоким током потребления (от 10 до 200 мА) и большими габаритами. EL-подсветка характеризуется низким током потребления, повышенной светоотдачей и малыми габаритами, но для неё требуется источник высокого напряжения 100 В, да и срок службы составляет всего лишь 2000...5000 часов. Достоинством символьных ЖК-модулей перед обычными ЖКИ является компактный интерфейс и простота управления. Входные/выходные сигналы имеют КМОП-уровни, поэтому ЖК-модуль, с точки зрения МК, мало чем отличается от внешней логической КМОП-микросхемы. Пользователю остаётся лишь подключить к индикатору 6... 11 проводов и периодически посылать по ним управляющие сигналы. Всё остальное берёт на себя встроенный в символьный ЖК-модуль контроллер. По-английски его называют Dot Matrix LCD Controller/Driver, поскольку он совмещает функции управляющего устройства и силового драйвера для матрицы точечных сегментов (Рис. 2.38). Рис. 2.38. Структурная схема ЖК-модуля. Все процессы внутри ЖК-модуля тактируются ЯС-генератором G1 с частотой примерно 200...300 кГц. В ячейках памяти ПЗУ прошит знакогенератор, который содержит в одной половине цифры, символы и латиницу, а в другой — национальный алфавит, например, русский, украинский, белорусский, иврит, японский или китайский. Используя свободные ячейки ОЗУ, пользователь может сконструировать на экране ЖКИ любые собственные символы в габаритах 8x8 пикселов. При выключении питания информация в ОЗУ теряется. Назначение и нумерация всех выводов символьных ЖК-модулей стандарта HD44780 унифицирована вне зависимости от количества строк и столбцов.
Назначение линий: «DB0»...«DB7» — восьмиразрядная шина данных; «RS» — передача команды/данных (НИЗКИЙ/ВЫСОКИЙ); «R/W» — режим чтения/ записи (ВЫСОКИЙ/НИЗКИЙ); «Е» — строб с активным задним фронтом; «Vo» — напряжение регулирования контрастности; VCC — питание +5 В (+3.3 В); GND — общий провод; «А», «К» — анод и катод светодиодов подсветки экрана. Напряжение подсветки 4.2...4.3 В или 5 В, если внутри ЖКИ имеется резистор. На печатной плате размещается с одной стороны ЖК-панель, с другой — одна или несколько микросхем-«капелек» (Рис. 2.39). Панель электрически соединяется с печатной платой через гребёнку прорезиненных вкладышей. Если они окислятся или сдвинутся с места, то на экране исчезнут целые полосы точек. Ремонт гребёнок проводят промывкой спиртом с просушиванием или осторожной шлифовкой «нулевой» наждачной бумагой без нажима на ровной поверхности. Рис. 2.39. Внешний вид символьного ЖК-модуля МТС-16204 фирмы Microtips Technology. Встречается следующая маркировка контактных площадок: слева направо 1...16; справа налево 16...1; вперемежку 15, 16, 1...14. Контакты 15, 16 обычно дублируются ещё одной парой с маркировкой «А» и «К». Наличие этих контактов не означает, что внутри индикатора обязательно имеется подсветка, а если она и имеется, то может быть нерегулируемой из-за встроенных резисторов по питанию. Различают четырёх- и восьмибитный режимы работы «алфавитно-цифровых» ЖК-модулей (подробности в [2-51]). Для программиста ЖК-модуль представляется в виде набора регистров доступных для записи и чтения. К одним регистрам можно только обращаться (послать команду), к другим — обращаться и заносить информацию (послать команду, затем данные), из третьих — читать состояние. Общим недостатком всех ЖКИ является ограниченный температурный диапазон. На холоде они «замерзают», на жаре — выцветают. Существуют обычные (0...+50°С) и широкодиапазонные (—20...+70°С) ЖК-модули. Для последних требуется подавать на контакт «Vo» не только положительное, но и отрицательное напряжение. В современных ЖК-модулях обычно имеется встроенный инвертор напряжения, т.к. питание однополярное положительное +3...+5 В. Для старых и нестандартных индикаторов может потребоваться двухполярное питание. Схемы подключения ЖК-модулей (HD44780) удобно разделить на три части: • узлы подачи информационных сигналов (Рис. 2.40, а...ж); • узлы регулирования контрастности изображения (Рис. 2.41, а...к); • узлы регулирования яркости подсветки (Рис. 2.42, а...р).
Рис. 2.40. Схемы подключения информационных сигналов к «алфавитно-цифровым» ЖК-модулям стандарта HD44780 (начало): а) в восьмибитном режиме задействуются все восемь линий шины данных. Это упрощает программную часть и несколько повышает быстродействие, но требует много свободных линий портов МК. Если не надо считывать с ЖК-модуля информацию о выполнении операций, то цепь сигнала «R/W» можно отключить от МК и соединить с общим проводом; б) в четырёхбитном режиме задействуются четыре старшие линии шины данных. Байт информации передаётся за два такта, что несколько снижает быстродействие. На практике это малозаметно (микросекундные задержки), поэтому четырёхбитный режим пользуется широкой популярностью у программистов. Незадействованные в схеме цепи «DB0»...«DB3» (контакты 7... 10 ЖК-модуля HG1) обычно оставляют свободными, но в сложной помеховой обстановке их лучше подключить через резисторы сопротивлением 10 кОм к «массе» GND или питанию +5 В; в) сокращение числа линий связи между МК и ЖК-модулем HG1. Требуется усложнённый алгоритм работы. Сначала обнуляется счётчик DDI по входу «R» со средней линии МК, затем с верхнего выхода МК подаётся N импульсов на вход «СР». На выходах микросхемы DDI устанавливается код старшей части адреса/команды, который вводится в ЖК-модуль по спаду сигнала «Е». Процедура повторяется ещё раз, но уже для ввода младшей части адреса/команды;
Рис. 2.40. Схемы подключения информационных сигналов к «алфавитно-цифровым» ЖК-модулям стандарта HD44780 (окончание): г) аналогично Рис. 2.40, в, но вместо микросхемы двоичного счётчика используется сдвиговый регистр DDI (аналог 74НС164). Сначала на входе «D» со средней линии МК выставляются биты старшей части адреса или команды, которые последовательно вводятся в регистр DDI за пять тактов по входу «С». Далее с нижней линии МК формируется управляющий сигнал «Е», затем процедура повторяется ещё раз, но уже для младшей части адреса или команды; д) дополнительные внешние резисторы Я/, вставят в тех случаях, когда при рестарте МК на экране ЖК-модуля HG1 появляются ложные символы. Это следствие внешних наводок, которые попадают в ЖК-модуль при Z-состоянии входов МК. Один из резисторов может отсутствовать, что проверяется экспериментально. Резистор R2иногда подключают к цепи +5 В, а не к GND; е) «интеллектуальная» микросхема DDI (фирма E-Lab Digital Engineering) автоматически выполняет всю рутинную работу по управлению ЖК-модулем HG1 в четырёхбитовом режиме. От МК требуется всего лишь передавать через канал UART на скорости 9600 бит/с коды операций, которые понятны микросхеме DDL ж) верхняя линия МК периодически настраивается в режим входа, что позволяет в паузах работы с ЖК-модулем HG1 проверять состояние переключателя S1 (замкнут он или разомкнут). Сопротивление резистора R1 выбирается достаточно большим, чтобы не оказывать нагрузку на уровень напряжения в линии МК при обращении к ЖК-модулю.
Рис. 2.41. Схемы регулирования контрастности изображения в «алфавитно-цифровых» ЖК-модулях стандарта HD44780 {начало): а) стандартная схема регулирования контрастности. Резистор R2 меньше по сопротивлению, чем R1, поскольку оптимальное напряжение на контакте «Vo» ниже, чем +2.5 В. Необязательные конденсаторы С7, С2 ставят для уменьшения помех, генерируемых ЖК-модулем, или для повышения устойчивости его работы при нестабильном питании. Для тестирования модуля достаточно подать на него питание +5 В и перевести движок резистора R2 из одного крайнего положения в другое. В одном случае должен наблюдаться полностью тёмный, в другом — полностью светлый экран. Оптимальная же настройка резистора R2 находится где-то посередине, когда в верхней строке экрана будут тёмные прямоугольники, а нижней строке — пусто; б) диодная стабилизация контрастности полезна при широких колебаниях температуры окружающей среды. Число диодов подбирают экспериментально для каждого типа индикатора; в) некоторые модели ЖК-модулей имеют внутреннюю схему формирования напряжения Vo, поэтому для регулирования контрастности требуется всего лишь один внешний резистор R1. Но это редкость, надо смотреть даташит; г) программное регулирование контрастности при помощи импульсов переменной скважности (метод ШИМ). Постоянная составляющая напряжения выделяется на конденсаторе С/. Если он отсутствует, то мигания изображения на экране всё равно не будет видно, поскольку инерционным звеном будут являться сами жидкие кристаллы, которые не могут мгновенно изменить своё местоположение в пространстве; д) для широкодиапазонного ЖК-модуля контрастность может оказаться недостаточной при однополярном питании. Необходимость двухполярного питания указывается в даташитах. В качестве источника отрицательного напряжения используется инвертор DA1 фирмы Maxim/Dallas. Ток нагрузки в цепи «-5 В» составляет микроамперы;
Рис. 2.41. Схемы регулирования контрастности изображения в «алфавитно-цифровых» ЖК-модулях стандарта HD44780 (окончание): е) отрицательное напряжение —2 В для вывода «Vo» ЖК-модуля HG1 формируется инвертором на элементах VD2, VD3, CI, С2 и стабилизатором напряжения на диодах VD4... VD6; ж) схема с «взвешенным» питанием, когда «масса» устройства и цепь GND ЖК-модуля HG1 отличаются по напряжению на 0.7 В из-за диода VDL Эта разница используется как источник отрицательного напряжения при регулировании контрастности резистором RL Для увеличения отрицательного напряжения можно последовательно с VD1 добавить ещё один диод 1N4148; з) полностью отключить питание ЖК-модуля HG1 можно ВЫСОКИМ уровнем на выходе МК через ключ на транзисторе VT1\ и) сокращение числа линий связи МК с ЖК-модулем HGL Большую часть времени МК выдаёт Ш И М-си гнал, определяющий напряжение в цепи «Vo» (контрастность, Рис. 2.41, г). Сигнал для линии «RS» ЖК-модуля HG1 формируется кратковременно, только при необходимости обновления информации на экране. На контрастность изображения это практически не влияет; к) питание ЖК-модуля HG1 осуществляется от напряжения ВЫСОКОГО уровня на выходе МК. Резистор R1 ограничивает ток в нагрузке и служит элементом ЛС-фильтра. Если на выходе МК сформировать ШИМ-сигнал, то можно регулировать яркость и контрастность картинки.
Рис. 2.42. Схемы регулирования яркости подсветки в алфавитно-цифровых ЖК-модулях стандарта HD44780 {начало): а) подсветка, находящаяся внутри ЖК-модуля, потребляет ток 60...200 мА при рабочем напряжении 4...4.2 В. Столь высокое для светодиодов напряжение объясняется их последовательно- параллельным соединением для более равномерного распределения по площади экрана. Выключатель S1 должен быть рассчитан на ток не менее 0.2 А. Резистором R1 регулируется яркость подсветки. Если яркость максимальная и она не регулируется резистором R1, значит конкретный ЖК-модуль HG1 имеет встроенный ограничительный резистор и элементы RJ, S1 бесполезны; б) ШИМ-управление яркостью подсветки без ограничительного резистора в цепи коллектора транзистора VTL Светодиоды подсветки допускают импульсные перегрузки, но надо следить, чтобы транзистор VT1 не был в открытом состоянии длительное время; в) аналогично Рис. 2.42, б, но с ограничительным резистором R3 в коллекторе транзистора VT1. Резистором R2 можно вручную регулировать яркость. Если предполагается генерация ШИМ-сигнала с переменной скважностью с выхода МК, то резистор R2 можно удалить; г) полевой транзистор VT1 позволяет включать/выключать подсветку индикатора HG1 или плавно регулировать её яркость методом ШИМ. Частота переключения ШИМ должна быть не менее 50... 100 Гц, чтобы визуально сглаживались мерцания; д) при НИЗКОМ уровне на выходе МК транзистор VT1 закрывается, но подсветка экрана ЖК-модуля HG1 полностью не гаснет из-за резистора R3. Максимальный ток (яркость) при открытом транзисторе VT1 определяется параллельным соединением резисторов R2 и R3; е) транзистор VT1 включён по схеме с общим эмиттером. Резистор R2 задаёт яркость;
Рис. 2.42. Схемы регулирования яркости подсветки в алфавитно-цифровых ЖК-модулях стандарта HD44780 (продолжение): ж) аналогично Рис 2.42, б, но с транзистором VT1 структуры р—п—р и с активным НИЗКИМ уровнем на выходе МК; з) при питании индикатора HG1 от резервной батареи GB1 подсветка автоматически отключается. Диод VD3 нужен, чтобы скомпенсировать падение напряжения на диоде VD2; и) аналогично Рис. 2.42, г, но с применением полевого л-канального транзистора VT1 и с активным НИЗКИМ уровнем на выходе МК; к) подсветка включается/выключается НИЗКИМ/ВЫСОКИМ уровнем на выходе МК. Её плавное регулирование обеспечивается высокоомным резистором R1 через УПТ на транзисторе VT1. Такое решение технически «грамотнее», чем прямое соединение контакта 15 HG1 и выхода М К через низкоомный переменный резистор, поскольку последний должен быть мощным и крупногабаритным, чтобы не выгорал резистивный слой при высокой яркости подсветки; л) оптопара VU1 должна быть рассчитана на ток коллектора не менее 100 мА. Если не требуется оптоизоляция, то эмиттер оптопары можно соединить с общим проводом; м) с целью снижения нагрузки на стабилизатор DA1 подсветка подключается через резистор R1 к источнику напряжения +12 В, а не +5 В. Расход мощности и КПД остаются прежними; О
1 Рис. 2.42. Схемы регулирования яркости подсветки в алфавитно-цифровых ЖК-модулях стандарта HD44780 (окончание): н) аналогично Рис. 2.42, м, но со стабилизацией тока подсветки на микросхеме DA2. Это полезно при значительных колебаниях напряжения +9...+12 В. Ток подсветки рассчитывается по формуле 1п[мА] = 1250/Д,[Ом]; о) аналогично Рис. 2.42, м, но со стабилизатором тока подсветки на транзисторе VT1. При коротком замыкании в цепи +5 В (если она чем-то ещё нагружена) подсветка автоматически выключается. Ток задаётся резистором R2 и определяется по формуле /п[мА] = 4300/Л2[Ом]; п) при отсутствии встроенной подсветки экрана можно применить самодельный блок, состоящий из малогабаритных светодиодов HL1...HL4 зелёного или жёлтого цвета. Светодиоды должны быть максимально плоскими прямоугольными с высотой 1 мм. Они устанавливаются с двух торцов ЖК-модуля в пазы между печатной платой и индикатором. Если в наличии имеются светодиоды высотой 2...3 мм, то излишек пластмассы аккуратно стачивают надфилем; р) аналогично Рис. 2.42, п, но с увеличенным числом светодиодов и возможностью плавного регулирования их яркости методом ШИМ.
2.2.4. Монохромные графические ЖК-дисплеи Первый чёрно-белый телевизор с ЖК-дисплеем появился в 1976 г. (фирма Sharp) и имел экран 160x120 пикселов. Идея использования подобных экранов в любительских конструкциях долгое время наталкивалась на банальную проблему — слишком дорого для домашних разработок. В последние годы ситуация в корне изменилась, и монохромные графические ЖК-дисплеи GLCD (Graphic Liquid Crystal Display) стали ненамного дороже алфавитно-цифровых собратьев. Преимущества графических индикаторов перед символьными очевидны, ведь они позволяют выводить на экран двухмерную растровую картинку с реально узнаваемым изображением. Быстродействия современных МК достаточно, чтобы воспроизводить на ЖК-дисплее даже потоковое видео. Чем не аналог первого чёрно-белого телевизора в карманном микроконтроллерном варианте? Из множества параметров, по которым выбирают GLCD, важным является тип внутреннего графического контроллера. От него зависит система команд, физический интерфейс и программный алгоритм. Известно около десятка разновидностей БИС контроллеров разных фирм- изготовителей. По сравнению с «алфавитно-цифровыми» ЖК-модулями в GLCD присутствует новшество — контроллеров может быть несколько и они дополняются драйвером сегментов. Образуется пара, которую можно рассматривать как «чипсет», по аналогии с материнскими платами персональных компьютеров. В распространённых GLCD, совместимых с системой команд контроллера KS0108 (фирма Samsung), чипсет обозначается через дробь KS0107/KS0108 или KS0107B/KS0108B. Опытные разработчики знают, что название «KS0107» относится к драйверу сегментов, a «KS0108» — к управляющему контроллеру. Иногда в документах указывают только тип контроллера KS0108, считая, что наличие микросхемы драйвера на печатной плате ЖК-дисплея само собой разумеется. На Рис. 2.43 показана структурная схема GLCD стандарта KS0107/KS0108 с раскладкой 128x64 пиксела. Основой служит матрица ЖК-элементов, скомпонованная по ширине в 128 столбцов и по высоте в 64 строки. Чтобы засветить каждую из 8192 точек экрана, нужно 192 транзисторных ключа, которые находятся в одном драйвере KS0107 и в двух контроллерах KS0108. Каждый контроллер имеет внутреннее ОЗУ ёмкостью 4 Кбит, а также логику сопряжения с внешними устройствами. В свою очередь драйвер формирует сетку синхросигналов для всей системы от задающего ЛС-генератора (подробности в [2-54]). Рис. 2.43. Структурная схема GLCD с организацией 128x64 пиксела.
Почему в GLCD две микросхемы контроллера, а не одна? Можно предположить, что в целях унификации, поскольку каждая из них отвечает за свой квадрант 64x64 пиксела. Пропорционально увеличивая число квадрантов, можно получить любые размеры экрана от 64x64 до 640x480 пикселов. Графические ЖК-дисплеи имеют, как обязательный атрибут, встроенную светодиодную подсветку экрана. Её цвет определяет фон картинки. Например,чёрные буквы на жёлтом фоне. Прошитого знакогенератора алфавита в дисплее нет. Программист должен сам сформировать буквы, цифры, символы, знаки. Алфавит может быть любым из известных в мире, и преувеличения здесь нет. Унификация в цоколевке и названиях контактов, к сожалению, отсутствует даже у GLCD с одним и тем же контроллером. Это минус, который заставляет внимательно изучать даташиты. В Табл. 2.6 для примера собрана коллекция обозначений сигналов, встречающихся в GLCD, совместимых с KS0107/KS0108. Особое внимание следует обращать на полное наименование дисплея. Например, Winstar WG12864A имеет контроллер KS0108, a Winstar WG12864D - контроллер Т6963С, в котором совсем иная система команд. Встречаются GLCD с пониженным питанием +2.4...+3.6 В. Бывает, что подсветка питается от +5 В, а индикатор от +3 В и т.д. Таблица 2.6. Расшифровка сигналов GLCD стандарта KS0107/KS0108 Обозначение сигнала/вывода Выполняемая функция Контакты GLCD Vdd, VDD, VCC, Ucc Напряжение питания (+5 В) 2 4 GND,VSS, Vss Общий провод 1 3 Vee, VEE, Uee Регулировка контрастности 18* 18* Vo, VOUT Выход DC/DC-преобразователя (-8 В) 3* 5* DO, DBO Разряд 0 шины данных 7 9 D1,DB1 Разряд 1 шины данных 8 10 D2, DB2 Разряд 2 шины данных 9 11 D3, DB3 Разряд 3 шины данных 10 12 D4, DB4 Разряд 4 шины данных 11 13 D5, DB5 Разряд 5 шины данных 12 14 D6, DB6 Разряд 6 шины данных 13 15 D7, DB7 Разряд 7 шины данных 14 16 CS1.CS1, E1,CSA Выбор кристалла 1 15 1 CS2, CS2, E2,CSB Выбор кристалла 2 16 2 RST, RES, RST, RES Начальный сброс, инициализация 17* 17* E Сигнал стробирования данных 6 8 R/W Режим «Чтение/Запись» 5 7 D/I, DI, RS,A0,Ao Режим «Команда/Данные» 4 6 A, LEDA Анод индикатора подсветки (плюс) 19* 19* С, K, LEDK Катод индикатора подсветки (минус) 20* 20* NC Не подключается, свободный — — Примечание. Знаком «*» обозначены контакты, которые могут отсутствовать в конкретном GLCD. Электрические схемы подключения GLCD к МК похожи друг на друга, даже при разных «чипсетах» внутри (Рис. 2.44, а...ж), однако программное обеспечение будет в корне отличаться. Для управления яркостью подсветки можно по аналогии использовать рассмотренную ранее схемотехнику из Рис. 2.42, а...р.
Рис. 2.44. Схемы подключения графических ЖК-модулей к МК (начало): а) типовая схема подключения модуля GLCD, совместимого с системой команд KS0108. Шина данных «DB0»...«DB7» двунаправленная. Резистор R2 задаёт яркость подсветки. Резистором R1 регулируется контрастность от полностью светлого до полностью тёмного экрана. Отрицательное напряжение на контакте «VEE» -5...-8 В вырабатывается внутри GLCD; б) тип контроллера такой же, как на Рис. 2.44, а, но цоколевка и название выводов GLCD другие. Для регулирования контрастности достаточно одного постоянного резистора R1. Его сопротивление указывается в даташите. Яркость подсветки не регулируется; в) на выводы «CS1», «CS2» графического дисплея HG1 (128x64) подаются противофазные сигналы, т.е. в каждый момент времени обращение производится только к одному из двух квадрантов пикселов (64x64). Инвертор на транзисторе VT1 сокращает число линий МК;
Рис. 2.44. Схемы подключения графических ЖК-модулей к МК {окончание): г) модуль GLCD HG1 имеет внутренний контроллер Т6963 фирмы Toshiba. Отрицательное напряжение для регулирования контрастности подаётся извне и подстраивается резистором R2. Резистор R1 определяет яркость подсветки. Диод VD1 защищает дисплей от подачи на вход «Vo» положительного напряжения больше, чем +0.7 В; д) модуль GLCD HG1 имеет внутренний контроллер SED1330 фирмы Seiko Epson Corp. Для регулирования контрастности требуется внешнее двухполярное питание +5 В; е) схема замещения источника отрицательного напряжения GLCD. Контрастность регулируется переменным резистором R4. Температурная стабильность поддерживается терморезистором RKL Резистор R3 линеаризирует температурную характеристику, его сопротивление подбирается экспериментально; ж) сигнал начального сброса для вывода «RES» графического ЖК-модуля HG1 не обязательно подавать от МК. Его можно сформировать внешней цепочкой Rl, CL Достоинство — экономия линий портов МК.
2.2.5. ЖК-дисплеи от мобильных телефонов Как правильно сказать, «сотовый телефон» или «мобильный телефон»? Раньше мобильными считали сотовые, спутниковые и радиотелефоны, а также аппараты транкинговой связи. Тем не менее, жизнь вносит свои коррективы в правила лингвистов. Название «мобильный телефон» (на сленге «мобилка», «мобильник») сейчас прочно ассоциируется именно с носимым сотовым телефонным аппаратом индивидуального пользования. А вот домашний переносной телефон стабильно называют «радиотелефоном», никогда не путая его с «мобильным». Массовое производство мобильных телефонов означает большие объёмы и низкую стоимость. В ремонтных мастерских, в интернет-магазинах, в сервисных центрах сейчас несложно достать новые или бывшие в употреблении дисплеи разных марок от разных телефонов. Классифицируются они как графические ЖК- дисплеи с фирменным контроллером, нестандартных размеров и пропорций. Различают монохромные и цветные «мобильные» дисплеи. У последних существуют две технологии изготовления экранов: • с пассивными матрицами на «сильно закрученных кристаллах» (STN, Super Twisted Nematic), достоинство — низкая цена; • с активными матрицами на тонкоплёночных транзисторах (TFT, Thin Film Transistor), достоинство — высокая яркость и насыщенность цвета. Физику работы цветного ЖК-дисплея лучше пояснить «на пальцах». Условно можно представить себе «конденсатор» обычного ЖКИ, параллельно которому включён полевой транзистор, работающий в активном режиме. Подавая извне сигнал на его затвор, можно плавно изменять сопротивление между стоком и истоком транзистора, а значит и напряжение на обкладках «конденсатора». В результате прозрачность жикокристаллического вещества в этом месте будет постепенно переходить от минимума к максимуму. Если покрасить подложку «конденсатора» не в чёрный, а в красный (зелёный, синий) цвет и создать яркую подсветку снизу, то будет видно плавное появление цветного пиксела. Если разместить близко друг от друга три разноцветные подложки RGB с тремя транзисторами и отдельно управлять каждым из них, то в сумме получится вся радуга оттенков. Сами цветные субпикселы могут располагаться по аналогии с кинескопом телевизора — вертикальной полосой, «мозаикой» или дельта-структурой. На близком расстоянии точки явственно различимы, но это не беда: поскольку используется свойство человеческого глаза смешивать цвета под углом зрения меньше 0.03°. На расстоянии 20...40 см от ЖК-экрана цвет отдельного субпиксела различит разве что человек с орлиным зрением. Физическое подключение «мобильных» дисплеев к МК особых хлопот не доставляет, т.к. для передачи данных используются последовательные интерфейсы, очень похожие на SPI. Сложности возникают на программном уровне, ведь информацию о командах и протоколах фирмы-разработчики держат в секрете. Косвенные данные можно «выудить» из даташитов на контроллеры дисплеев, остальное исследуется на практике через интернет-форумы методом интернационального «мозгового штурма». В результате наиболее изученными оказались некоторые типы чёрно-белых (Рис 2.45, а, б) и цветных (Рис 2.46, а...д) ЖК-дисплеев, применяемых в мобильных телефонах фирм Nokia и Siemens.
Рис. 2.45. Схемы подключения чёрно-белых дисплеев от мобильных телефонов к МК: а) напряжение питания «мобильных» ЖК-дисплеев составляет 2.8...3.3 В, поэтому проще всего использовать один общий с МК источник питания. Чёрно-белые ЖК-дисплеи, которые не имеют подсветки, потребляют мало энергии, следовательно, питание для них можно взять от одного-двух выходов МК (на схеме показано пунктиром). Главная проблема заключается в конструкции, поскольку контактные площадки выводов HG1 не предназначены для пайки. Необходимо ставить гребёнку прокладок из металлизированной резины и ответную печатную плату. Как вариант, можно использовать имеющийся конструктив мобильного телефона; б) при наличии в системе двух разных источников питания необходимо согласовывать логические уровни между ЖК-дисплеем HG1 и МК, в частности, через микросхему DDL Все её буферные элементы передают данные только в одном направлении — от МК к индикатору HGL Рис. 2.46. Схемы подключения цветных дисплеев от мобильных телефонов к МК (начало): а) а) параметры дисплея HG1 (фирма Nokia): 98x67 пикселов, 4096 цветов. Недостаток дисплея — отсутствие встроенной подсветки изображения, т.е. необходимо самостоятельно устанавливать дополнительные светодиоды в удобном по конструкции месте — обычно снизу или с торцов по бокам. Резисторы R1...R4 ставят при большой длине соединительного кабеля для уменьшения искажений на фронтах сигналов;
Рис. 2.46. Схемы подключения цветных дисплеев от мобильных телефонов к МК (окончание): б) параметры дисплея HG1 (фирма Siemens): 132x176 пикселов, 65536 цветов. Низкоомные делители на резисторах R1...R10 согласуют уровни сигналов между HG1 и МК. Питание дисплея стабилизируется микросхемой DAL Индикатор HG1 имеет удобные площадки для пайки проводов. При нестабильном запуске надо соединить вывод «RES» индикатора с питанием +2.9 В; в) делители на резисторах R1...R4, R5...R8согласуют уровни сигналов между МК и дисплеем HG1 фирмы Nokia (132х 132 пиксела, 4096 цветов). Сопротивления резисторов должны быть низкими, чтобы не ухудшить скорость передачи данных. Питание на процессорную часть индикатора HG1 подаётся через делитель RIO, R11. Яркость изображения регулируется методом ШИМ через транзистор VTL Резистором R12 задаётся ток подсветки 30...50 мА при напряжении 6...7 В; г) аналогично Рис. 2.46, б, но с одинаковым напряжением питания МК и индикатора #67; д) аналогично Рис. 2.46, в, но с одинаковым напряжением питания МК и индикатора HG1.
2.3. Звуковые излучатели 2.3.1. Пьезокерамические излучатели К пьезокерамическим излучателям относятся прежде всего «пьезопищалки» (transducer), применяемые в наручных часах, музыкальных открытках, телефонных аппаратах, игрушках, бытовой технике. Это, наверное, самый простой и распространённый источник звука в конструкциях, содержащих МК. Различают двух- и трёхвыводные пьезоизлучатели. Первые из них содержат два вывода, которые можно рассматривать как обкладки конденсатора с эквивалентной ёмкостью 0.01...0.47 мкФ. Дополнительный третий вывод используется для организации обратной связи или для увеличения громкости. АЧХ у пьезоизлучателей имеет несколько локальных максимумов в звуковом диапазоне, близком к максимальной чувствительности слуха человека (Табл. 2.7). Таблица 2.7. Параметры пьезокерамических излучателей Название пьезоизлучателя Звуковое давление [дБ] FFAB [кШ] ЗП-1,ЗП-19, ЗП-22, ЗП-31 80...85 1.8...5 3...7 ЗП-3, ЗП-5,ЗП-18,ЗП-25 85...88 0.19...1.25 2.9...3.1 SMAT-13...30 (фирма Sonitron) 81...90 0.8...5 0...30 Основные достоинства пьезоизлучателей — миниатюрность, плоский корпус, устойчивость к механическим воздействиям, отсутствие электромагнитных полей, низкое энергопотребление, высокий КПД. Чтобы пьезокерамический излучатель зазвучал, на его выводы надо подать от МК импульсы с частотой 0.2...5 кГц. Например, выставить НИЗКИЙ уровень, затем пауза 100... 1000 мкс, выставить ВЫСОКИЙ уровень, пауза 100... 1000 мкс и т.д. Интересно, что прямоугольные импульсы «звучат» громче, чем синусоидальный сигнал. Изменяя длительность пауз, можно варьировать музыкальную высоту нот в пределах нескольких октав. Изменяя скважность импульсов при постоянной частоте, можно добиться разной тембровой окраски. Громкость звука напрямую зависит от прилагаемого к излучателю напряжения. Только надо помнить, что длительная работа с предельно высокими напряжениями может привести к механическим деформациям и разрушению пьезокерамики. Другая крайность заключается в слишком низком напряжении, когда приходится прислушиваться к «шёпоту», затаив дыхание. На практике выбирают золотую середину со средней комфортной громкостью. Пьезоизлучатели являются обратимыми приборами. Это означает, что они могут одновременно воспроизводить звуки и быть датчиками механических ударов. Важное следствие — не рекомендуется напрямую подключать пьезоизлучатели и пьезоэлементы к линиям МК, без разницы, к входным или к выходным. Неосторожный удар или падение прибора с высоты могут привести к генерации на обкладках пьезоизлучателя короткого электрического импульса, способного вывести из строя защитные диоды МК. Разумеется, «ружьё может и не выстрелить», но для страховки последовательно с пьезоизлучателями осторожные разработчики ставят ограничительные резисторы или буферные транзисторные каскады.
На Рис. 2.47, а...к приведены схемы «низковольтного» подключения пьезоке- рамических излучателей к МК. Для излучателей, допускающих по даташиту повышенное рабочее напряжение, используют «высоковольтные» схемы, изображённые на Рис. 2.48, а...е. Иногда, чтобы повысить громкость звука, подобным образом включают пьезокерамические звонки серии «ЗП» и азиатские излучатели без маркировки, но такой «экстрим» делают на свой страх и риск. Рис. 2.47. Схемы «низковольтного» подключения пьезокерамических излучателей к МК (начало): а) резистор R1 практически не уменьшает громкость звука, но защищает линию МК и ограничивает импульсный ток заряда эквивалентной ёмкости пьезоизлучателя НА1\ б) аналогично Рис. 2.47, а, но с подключением пьезоизлучателя НА1 не к общему проводу, а к источнику питания; в) последовательно включённый конденсатор С/ снижает общую ёмкостную нагрузку. Его подбором можно видоизменить тембровую окраску звучания. Запараллеливание линий МК повышает отдаваемую мощность и громкость звука. В программе МК следует синхронно переключать оба выхода, чтобы они не конфликтовали друг с другом. Параллельное соединение выходов МК, а также защита их диодами КО/, КД2, допускается и в других схемах с пьезоизлучателями; г) повышение громкости звучания за счёт удвоения амплитуды напряжения на пьезоизлуча- теле HAL Сигналы на линиях МК должны быть противофазными. Если частота или фаза двух сигналов будут отличаться, то звук станет немного тише по громкости, но приобретёт дополнительную тембровую окраску из-за суммарно-разностных составляющих; д) кнопка SB1 позволяет оперативно уменьшать громкость звука. Насколько много — регулируется резистором R2; е) трёхвыводной пьезоизлучатель НА1 состоит из двух пьезоблоков с общим выводом . Если крайние выводы пьезоизлучателя распараллелить, то громкость звука будет ниже;
Рис. 2.47. Схемы «низковольтного» подключения пьезокерамических излучателей к МК (окончание): ж) противофазные сигналы на линиях МК увеличивают громкость звука трёхвыводного пьезоизлучателя НА1, поскольку внутренние пьезоблоки у последнего включены встречно; з) транзистор VT1 защищает МК от перенапряжений ценой расхода тока на резисторах R1, R2. Если в пьезоизлучателе НА1 одна из обкладок является металлической пластиной, то именно её соединяют с общим проводом. Так рекомендуется делать и в других подобных схемах; и) катушка индуктивности L1 повышает громкость звучания (накопление энергии); к) удвоение амплитуды напряжения на пьезоизлучателе НЛ1 противофазными сигналами с выходов микросхемы DDI (замена 74АС04). Достоинство — нужен всего лишь один выход МК. Рис. 2.48. Схемы «высоковольтного» подключения пьезокерамических излучателей к МК (начало): а) трансформатор 77 увеличивает амплитуду напряжения на пьезоизлучателе НА1 до 25 В. Первичная обмотка трансформатора содержит 70... 100 витков провода ПЭВ-0.15, вторичная — 500... 1000 витков провода ПЭВ-0.07...0.1, намотанных на ферритовом кольце с внешним диаметром 7... 10 мм; б) увеличение громкости звука за счёт повышенного напряжения питания +12 В;
Рис. 2.48. Схемы «высоковольтного» подключения пьезокерамических излучателей к МК (окончание): в) увеличение амплитуды напряжения на пьезоизлучателе НЛ1 происходит из-за повышенного питания +9...+12 В, а также из-за наличия резонансных явлений в параллельном контуре, образованном индуктивностью Ы и эквивалентной ёмкостью пьезоизлучателя HAL Резистор R3 ограничивает ток через Ы при открытом транзисторе К77, а резистор R1 снижает добротность параллельного контура и выбросы напряжения; г) увеличение амплитуды напряжения на пьезоизлучателе НА1 за счёт автотрансформаторного включения катушки индуктивности L1 и повышенного питания. Диод VD1 защищает транзистор VT1 от всплесков обратного напряжения. Катушка индуктивности L1 наматывается на сердечнике Шбхб от трансформатора транзисторного радиоприёмника и содержит 1000 витков провода ПЭВ-0.06 с отводом от пятой части; д) доступны три режима работы. Во-первых, с полной громкостью звука (VTJ, VT2 работают в противофазе), во-вторых, с уменьшенной громкостью звука (VT1 работает, VT2открыт или VT2 работает, VT1 открыт), в-третьих, в режиме смесителя звука (VT1, VT2попеременно открываются с разными частотами или фазами сигналов); е) подключение «телефонного» пьезоизлучателя НА1 к источнику повышенного напряжения через связку транзисторных ключей VT1, VT2. Источник питания +60 В можно взять отдельный, а можно использовать напряжение телефонной линии общего пользования.
2.3.2. Пьезокерамические динамики Рис. 2.49. Эквивалентная схема пьезодинамика [2-64]. Достоинства пьезодинамиков: плоская АЧХ, качественное звучание, малая высота 1 ...5 мм, экономичность по току, уровень громкости вплоть до 90 дБ(А). Электрические схемы подключения пьезодинамиков к МК в основном совпадают с рассмотренными ранее на Рис. 2.47, а...к, Рис.2.48, а...е. Дополнительно к этому на Рис.2.50, а, б приведены ещё две характерные схемы. Рис. 2.50. Схемы подключения пьезокерамических динамиков к МК: а) многоканальное воспроизведение звука с разными частотами или разными музыкальными партиями. Этот приём особенно эффективен при разнесённом расположении излучателей ВА1...ВЛп в пространстве, например, вкруговую; б) двухтактный усилитель мощности собран на транзисторах VT1, VT2. Элементы ВА1 и С/ можно поменять местами, подключив «плюс» конденсатора к эмиттерам VT1, VT2. Поскольку пьезокерамика обладает низкой добротностью, то звук может излучаться не только на частоте резонанса, но и в стороне от него, вверх и вниз по звукоряду. Это свойство присуще всем пьезоизлучателям, но особенно оно ценится в малогабаритных плоских пьезодинамиках, применяемых в мобильных телефонах, КПК, голосовых терминалах. Типовые параметры бытовых пьезодинамиков: диапазон воспроизводимых частот от 150...800 Гц до 8...20 кГц, рабочее напряжение 3...30 В, импеданс 0.4...5 кОм на частоте 1 кГц, эквивалентная схема согласно Рис. 2.49.
2.3.3. Пьезогенераторы Таблица 2.8. Параметры пьезогенераторов фирмы Керо Electronic Пьезогенератор #раб[В] *раб [кГЦ] ^min-max №] 'раб Iма] (#раб) KPI-G2310 3 2.9...3.9 2...5 25 KPI-G2210L-06 6 4.3...5.3 4...8 15 KPT3-G2438P18 9 3.5...4.5 3...30 9 KPT3-G3030 12 2.2...3.2 3...24 7 Номинальное напряжение пьезогенератора является мягко рекомендуемым, поскольку имеется определённый «запас прочности». Например, пьезогенератор SC235 (фирма Sonitron) вместо 12 В допускает работу при напряжении 2...35 В. Функционирование при пониженном питании будет сопровождаться снижением громкости, а подачу сверхвысоких напряжений лучше вообще не допускать. Золотой серединкой как раз и является безопасный «микроконтроллерный» диапазон напряжений 3...5 В. Пьезогенераторы выпускаются в виде капсюлей следующих разновидностей: двухвыводные одночастотные, генерирующие звук одного тона в диапазоне частот примерно 2.5...4 кГц при заводском разбросе ±15...20%; двухвыводные двухчастотные, звучание которых напоминает милицейскую сирену, звонок телефонного аппарата или трель сверчка; трёхвыводные многочастотные, перестраиваемые по частоте установкой внешнего подборного конденсатора. Следует отличать «пьезобузеры» (piezo buzzer) от «магнитных бузеров» (magnetic buzzer), содержащих электромагнитную систему с диафрагмой и транзисторным автогенератором. В руководстве по применению звуковых генераторов фирмы Advanced Acoustic Technology содержатся следующие отличительные признаки: рабочие напряжения у «магнитных бузеров» 1.5...24 В, а у «пьезобузеров» — 3...220 В, при этом КПД последних в 2...3 раза выше; рабочие токи у «магнитных бузеров» составляют десятки-сотни, а у «пьезобузеров» — единицы-десятки миллиампер; диаметры корпусов у «магнитных бузеров» 7...25 мм, а у «пьезобузеров» — 12...50 мм. И главное, к «магнитным бузерам» притягиваются магниты. На Рис. 2.51, а...з приведены схемы подключения пьезогенераторов к МК. Полярность их выводов должна быть отмаркирована на корпусе. Если знаков «+» и «—» не видно, то скорее всего это пьезоизлучатель. Он не имеет встроенного генератора, поэтому при подаче постоянного напряжения будет «молчать, как рыба». Если добавить к пьезокерамическому излучателю транзисторный автогенератор и разместить их в одном корпусе, то получится активный пьезогенератор. Английское название «buzzer» («buzz» — жужжать), на сленге «бузер», хотя более точно «базер». Для работы пьезогенератора достаточно подать на него постоянное напряжение правильной полярности, звук будет генерироваться автоматически. Типовые параметры пьезогенераторов: рабочее напряжение 3; 5; 6; 9; 12; 24 В (Табл. 2.8), диапазон частот основного тона генерации 1700...3500 Гц, звуковое давление 75...90 дБ(А), стоимость выше, чем у пьезоизлучателей.
Рис. 2.51. Схемы подключения пьезогенераторов к МК (начало): а) при прямом подключении пьезогенератора A J к МК надо следить за допустимым током нагрузки. Чтобы избежать «стрессов» для линии порта, ставят низкоомный защитный резистор /?/, который, правда, несколько снижает громкость звучания; б) аналогично Рис 2.51, а, но с подключением пьезогенератора А1 не к общему проводу, а к источнику питания. В качестве А1 можно использовать «бузеры» с напряжением 3...12 В; в) тумблер S1 в разомкнутом состоянии позволяет отключать звук, но не полностью. Благодаря конденсатору С/, пьезогенератора / издаёт звук, напоминающий тихо тикающие часы; г) «высоковольтный» пьезогенератор А1 подключается через транзисторный ключ. Максимальный ток коллектора транзистора VT1 должен быть с запасом больше рабочего тока А1. Защитный диод VD1 позволяет подключать вместо А1 «магнитный бузер»; д) многочастотный трёхвыводной пьезогенератора / начинает работать при переводе линии МК в режим входа с Z-состоянием. При НИЗКОМ уровне на выходе МК генерация прекращается. Конденсатор С/ изменяет частоту звука от 100 Гц (0.033 мкФ) до 2.4 кГц (100 пФ); е) аналогично Рис. 2.51, г, но с низковольтным питанием и с наличием двух резисторов: R1 (ограничительтока) и R3 (закрываеттранзистор VT1 при рестарте МК);
Рис. 2.51. Схемы подключения пьезогенераторов к МК (окончание): ж) полный комплекс защитных мер по снижению импульсных помех и радиоизлучений. Диод VD1 препятствует попаданию всплесков напряжения в цепь питания +3.6 В; з) прерывистое звучание пьезогенератора А1 обеспечивает мигающий светодиод НЫ, который сам визуально не светится, ввиду малого протекающего через него тока. 2.3.4. Пьезосирены Если дополнить электроакустический преобразователь рупором, увеличить габариты пьезопластины и встроить в корпус электронный генератор, то получится пьезокерамический оповещатель или пьезосирена (Табл. 2.9). Основное назначение устройства — привлечь внимание на сравнительно большом расстоянии или в условиях шумового фона. Работает пьезосирена от постоянного напряжения, как и пьезогенератор. Но напряжение повышенное: 9; 12; 24; 50; 125 В. При этом следует различать паспортное и рабочее напряжение. Например, номинальное паспортное напряжение 12 В, а допустимое рабочее 5... 15 В. Таблица 2.9. Параметры пьезосирен Пьезосирена Фирма Три, [кГц] #раб[В] 'раб Iма] Звуковое давление [ДБ] KPS-19...91 Керо Electronic 0.2...4 9; 12; 24 50...650 90...112 (в 30 см) «Свирель-2» «Радий» 2...4 12; 24 300...600 100... 105 (в 1 м) SAS-87 Sonitron 1.5...3.5 12; 24 160...250 122 (в 30 см) Ток пьезосирены составляет сотни миллиампер, следовательно, между МК и излучателем обязательно должен ставиться буфер. Звук может быть моночастотный или изменяющийся во времени как в автомобильных охранных сигнализациях. Пьезосирены обеспечивают уровень звукового давления 90... 123 дБ(А) на расстоянии 30... 100 см, что сравнимо с шумом авиационного двигателя. Пьезосирены и оповещатели на их основе применяются в системах охранной и аварийной сигнализации, в автомобильной технике, промышленной автоматике. На Рис. 2.52, а...е приведены схемы подключения пьезосирен к МК. Аналогичная схемотехника применяется и в том случае, когда в сирене используется не пьезокерамический, а мощный электродинамический излучатель.
Рис. 2.52. Схемы подключения пьезосирен к МК: а) типовое подключение пьезосирены А1 к МК через мощный транзистор VT1. Встречающиеся разновидности схемы: VT1 КТ972, Rx = 620 Ом, VD1 и отсутствуют; б) ключ на полевом транзисторе VT1 повышает экономичность устройства при больших токах. Выключатель S1 — это «секретный тумблер», находящийся внутри охраняемого объекта; в) пьезосиренаЛ7 (7... 16 В, 0.1 А) включается коротким положительным импульсом с выхода МК. Тиристор VS1 выключается кратковременным нажатием кнопки SB1\ г) двухтранзисторный ключ обеспечивает коммутацию больших токов. Диод VD1 защищает от переполюсовки. ПьезосиренаЛ/ — это промышленная шеститональная автосигнализация; д) применение составных транзисторов VT1, VT2 увеличивает усиление и уменьшает токовую нагрузку на выходную линию МК; е) пьезосиренаЛ/ включается контактами автомобильного реле К1. Кнопкой SB1 тестируется звучание сирены. Цепи питания реле и пьезосирены могут быть гальванически развязаны.
2.3.5. Ультразвуковые излучатели Таблица 2.10. Параметры ультразвуковых излучателей Ультразвуковые излучатели *раб [к11*] ^рабмахів] Ёмкость [пФ] ЛилхІВт] Пьезокерамические обычные 40 20... 160 2000 - Для подводной эхолокации 75...400 120 1700...2700 50...200 На обкладки ультразвуковых пьезоизлучателей рекомендуется подавать не од- нополярные, а разнополярные импульсы, т.е. в паузах формировать напряжение обратной полярности. Это способствует ускоренному разряду эквивалентной ёмкости излучателя и повышению быстродействия. На Рис 2.53, а...л приведены схемы подключения ультразвуковых излучателей к МК. Для формирования разнополярных импульсов широко используются транзисторные мосты и разделительные трансформаторы. Если снизить частоту генерации, то приведенные схемы подойдут «один к одному» и для слышимого диапазона, т.е. для рассмотренных ранее звуковых пьезокерамических излучателей. Ультразвук — это не слышимые человеком упругие акустические волны, частота которых превышает 20 кГц. Принято различать низкочастотные (20... 100 кГц), среднечастотные (0.1... 10 МГц) и высокочастотные (более 10 МГц) ультразвуковые колебания. Несмотря на кило- и мегагерцы, ультразвуковые волны не следует путать с радиоволнами и радиочастотами. Это абсолютно разные вещи! По своей физической природе ультразвук ничем не отличается от обычного слышимого звука. Частотная граница между звуковыми и ультразвуковыми волнами условна, она определяется субъективными свойствами человеческого слуха. Для справки, колебания высокой частоты хорошо чувствуют животные (в том числе и домашние), а для летучих мышей и дельфинов они являются жизненно важными. Ультразвук, благодаря малой длине волны, хорошо распространяется в жидкостях и твёрдых телах. Например, ультразвуковые волны в воде затухают примерно в 1000 раз меньше, чем в воздухе. Отсюда следуют основные сферы их применения: гидролокация, неразрушающий контроль изделий, «звуковидение», молекулярная и квантовая акустика. Для генерации ультразвуковых колебаний используют следующие виды излучателей (англ. «ultrasonic transducer): пьезокерамические (piezo); электростатические (electrostatic); электромагнитные (electromagnetic). Для последнего варианта годятся даже обычные высокочастотные звуковые громкоговорители (на сленге «пищалки»), которые имеют достаточный КПД для генерации сигналов в ближнем ультразвуковом диапазоне 20...40 кГц. Пьезокерамические ультразвуковые излучатели (Табл. 2.10) выпускаются, как правило, в паре с согласованными по частоте пьезоприёмниками. Типовые параметры «ультразвукового тандема»: частота резонанса 37...45 кГц, уровень звукового давления на расстоянии 30 см — 95... 105 дБ(А), рабочее напряжение 12...60 В, ёмкость 1000...3000 пФ, выходной импеданс передатчика 200...500 Ом, входной импеданс приёмника 10...30 кОм.
Рис. 2.53. Схемы подключения ультразвуковых излучателей к МК (начало): а) сглаживание формы сигнала, подаваемого на ультразвуковой излучатель BQ1, с помощью катушки индуктивности L1. Резистором R1 регулируется амплитуда; б) транзисторы VT1, VT2 попеременно открываются короткими импульсами от МК. Для надёжности следует выбирать транзисторы с большим допустимым коллекторным током, чтобы они не вышли из строя при низком омическом сопротивлении катушки индуктивности Ы\ в) конденсатор С1 дифференцирует сигнал и устраняет постоянную составляющую, что позволяет подключить ультразвуковой пьезоизлучатель BQ1 к двухполярному источнику питания; г) маломощный ультразвуковой приёмопередатчик. Делитель Rl, R2 определяет рабочую точку АЦП МК при приёме сигнала и амплитуду выходных импульсов при передаче сигнала; д) приёмопередатчик ультразвукового дальномера. Частота импульсов 36...465 кГц, напряжение на излучателе BQ1 50... 100 В (максимум подбирается конденсатором СЗ). Диоды VD1, VD2 ограничивают сигнал для приёмника. Трансформатор 77 содержит в обмотках I, II по 15 витков провода ПЭВ-0.3, в обмотке III — 100...200 витков ПЭВ-0.08 (кольцо М2000НМ К10х6х5);
Рис. 2.53. Схемы подключения ультразвуковых излучателей к МК (продолжение): е) применение логической микросхемы DDI аппаратно устраняет одновременное открывание транзисторов одного плеча. Импульсные помехи, возникающие в цепи питания из-за неодновременного переключения инверторов DD1.1...DD1.3 и разброса ВАХ транзисторов, устраняются фильтром L /, С1. Диоды VD1... VD4ставятся в случае замены звукового ВЧ-динамика ВЛ1 (10ГД-35, 6ГД-13, 6ГДВ-4) более мощным ультразвуковым пьезоизлучателем; ж) увеличение мощности излучателя BQ1 с помощью удвоителя напряжения на микросхеме DDI и повышенного питания +9...+12 В. Транзистор VT1 согласует логические уровни; з) увеличение амплитуды напряжения на излучателе BQ1 происходит ввиду повышенного напряжения питания +9 В и накопления энергии в дросселе L /; и) полевые транзисторы VT1, VT2 (замена IRF7831) снижают потери энергии при коммутации. Резисторы Rl, R2 не дают открываться транзисторам при рестарте МК;
Рис. 2.53. Схемы подключения ультразвуковых излучателей к МК (окончание): к) ультразвуковой эхолокатор работает на частоте 40 кГц и генерирует импульсы длительностью 0.4 мс. Амплитуда сигнала на пьезоизлучателе BQ1 (фирма Murata) достигает 160 В. Индуктивность вторичной обмотки трансформатора 77 совместно с ёмкостью пьезоизлучателя BQ1 образует колебательный контур, настроенный на частоту, близкую к 40 кГц. Индуктивность первичной обмотки трансформатора 77 — 7.1 мкГн, вторичной — 146 мкГн, добротность Q > 80; л) ультразвуковой гидроионизатор работает на частоте 1.8...2 МГц. Трансформатор 77 наматывается на трёх сердечниках 50ВН К20х 10x5. Обмотки I и II содержат по 4 витка сложенного втрое провода ПЭВ-0.3, обмотка III — 12 витков провода ПЭВ-0.3. Катушка L1 содержит 5 витков провода ПЭВ-0.8 на оправке диаметром 8 мм с шагом 1 мм. Излучатель BQ1 имеет диаметр 30 мм (пьезокерамика ЦТС). Резистором R1 снижаются выбросы напряжения на стоке VT1. 2.3.6. Динамические громкоговорители Речь пойдёт о стандартных громкоговорителях, которые устанавливаются в радиоприёмниках, телевизорах, акустических системах. Их основная функция заключается в качественном воспроизведении аналогового звука. В конструкциях, содержащих МК, в основном используется «цифровой» звук. Это означает, что прямоугольные импульсные сигналы, формируемые МК, подаются на вход гром-
коговорителя через усилитель или согласующий каскад. О музыкальном качестве звучания здесь вопрос не ставится. Главное — это узнаваемость мелодии или звукового сигнала, а также его достаточная громкость. Номинальная мощность громкоговорителей общего применения составляет 0.25...30 Вт. Сопротивление звуковой катушки унифицировано согласно следующему ряду: 4; 8; 16; 32; 64; 100; 150 Ом. Имеется разделение по диапазонам частот: 63...5000 Гц (НЧ), 3...20 кГц (ВЧ), 63... 12500 Гц (НЧ, СЧ, ВЧ). При непосредственном подключении динамических громкоговорителей к МК приходится ограничивать выходной ток (Рис. 2.54, а, б). На практике для генерации «цифрового» звука чаще применяют транзисторные ключи, собранные по однотактной (Рис. 2.55, а...ф) или двухтактной (Рис 2.56, а...з) схемам. Рис. 2.54. Схемы непосредственного подключения динамических громкоговорителей к МК: а) прямое подключение динамика ВА1 к запараллеленным линиям МК, на которых должны синхронно выставляться ВЫСОКИЕ/НИЗКИЕ уровни. Резистор R1 ограничивает ток. Разделительный конденсатор С1 позволяет не заботиться об остаточном уровне на выходе МК (НИЗКИЙ или ВЫСОКИЙ) в перерывах звука в программе. Тумблер 57 аппаратно отключает звук; б) динамик ВЛ1 обязательно должен быть высокоомным. При выключении звука на выходе МК необходимо выставлять ВЫСОКИЙ уровень, чтобы через катушку BAlwt протекал ток. Рис. 2.55. Схемы подключения динамических громкоговорителей к МК по однотактной схеме {начало): а) громкоговоритель ВА1 работает в режиме подмагничивания с постоянной составляющей, но это допускается, если звук генерируется кратковременно. В режиме длительного «молчания» надо формировать НИЗКИЙ, а не ВЫСОКИЙ уровень на выходе МК, чтобы транзистор VT1 был закрыт. Переменный резистор R2 должен быть мощным одно- или двухваттным, чтобы не выгорал резистивный слой при установке движка резистора ближе к верхнему по схеме выводу; б) элементы корректирующей RC-цепочки выполняют две функции: резистор R1 ограничивает постоянный ток через громкоговоритель ВА1, а конденсатор С1 увеличивает громкость звучания, поскольку имеет низкое сопротивление на высоких частотах;
Рис. 2.55. Схемы подключения динамических громкоговорителей к МК по однотактной схеме (продолжение):
Рис. 2.55. Схемы подключения динамических громкоговорителей к МК по однотактной схеме (продолжение): к) аналогично Рис. 2.55, а, но на транзисторе VT1 структуры р—п—р. Необязательный резистор R1 закрывает транзистор во время рестарта МК. В паузах звука на выходе МК необходимо устанавливать ВЫСОКИЙ уровень, чтобы через динамик ВА1 не протекал постоянный ток; л) ключ на полевом транзисторе VT1 (замена IRLML2803) имеет более низкое сопротивление в открытом состоянии, чем аналогичный ключ на биполярном транзисторе. Резистор R2 не даёт «висеть в воздухе» затвору транзистора VT1 в момент рестарта МК. Диод VD1 ставят не столько для защиты транзистора К7У, сколько для снижения импульсных помех, генерируемых в цепь питания +5...+12 В; м) транзисторы VT1, VT2 соединены по схеме Дарлингтона, что обеспечивает большой коэффициент усиления. Конденсатор С1 устраняет самовозбуждение каскада. Его можно заменить резистором, имеющим сопротивление 47 кОм. Вместо резистора R2 допускается короткозам- кнутая перемычка. В паузах звука на выходе МК надо устанавливать НИЗКИЙ уровень; н) ключ на транзисторах разной структуры. Диод VD1 защищает транзистор VT1 от выбросов отрицательного напряжения; о) аналогично Рис. 2.55, м, но на транзисторах структуры р—п—р. В паузах звука на выходе МК надо устанавливать ВЫСОКИЙ уровень; п) с верхнего выхода МК через транзистор VT1 генерируется звуковой сигнал, а с нижнего выхода МК через транзистор VT2 можно увеличивать/уменьшать громкость;
Рис. 2.55. Схемы подключения динамических громкоговорителей к МК по однотактной схеме (окончание): р) громкоговорители ВЛ /, ВЛ2 разнесены в пространстве. Резистором R3 регулируется ширина стереобазы. Сигналы с выходов М К должны иметь разные музыкальные партии или одинаковые, но с разной частотой, фазой, сдвигом во времени, иначе не возникнет стереоэффект; с) имитация тембра аккордеонного звучания при помощи суммирования двух звуковых сигналов, отличающихся по частоте ровно на одну октаву. В перерывах звука оба выхода М К должны иметь ВЫСОКИЙ уровень, чтобы транзистор VT1 был надёжно закрыт; т) двухтранзисторный ключ позволяет повысить напряжение питания до +12 В и более. Двухваттным переменным резистором R4 регулируется громкость. Длительность звучания должна быть кратковременной, чтобы катушка громкоговорителя BAlwt успела намагнититься; у) звуковой сигнал генерируется с выхода МК через транзистор VT2. Резистором R1 регулируется громкость путём изменения сопротивления «коллектор — эмиттер» транзистора VTl\ ф) мощный автомобильный УНЧ. Дроссель L1 снижает нагрузку по току на динамик ВЛ 1.
Рис. 2.56. Схемы подключения динамических громкоговорителей к МК по двухтактной схеме (начало): а) двухтактный каскад образован двумя ключами на транзисторах VT1, VT2 разной проводимости. Разделительный конденсатор С2 должен иметь достаточно большую ёмкость для воспроизведения низких частот. При переходе сигнала с НИЗКОГО в ВЫСОКИЙ уровень и наоборот на короткий момент времени оба транзистора оказываются открытыми. Однако, из-за наличия накопительного конденсатора С/ и батарейного питания, сквозные токи не опасны, хотя и могут создавать помехи нормальной работе МК и других узлов; б) схема Д. Лансфорда. Для устранения сквозных токов применяют раздельное управление транзисторами VT1, VT2 от двух линий МК. Логика работы следующая: закрыть оба транзистора, открыть транзистор К77, выждать время, равное полпериоду звуковой частоты, закрыть транзистор VT1, сделать защитную паузу длительностью 1...5% от периода, открыть транзистор VT2, выждать время в полпериода звуковой частоты и т.д. Конденсатор С/ и громкоговоритель ВЛ1 можно поменять местами. Необходимо следить, чтобы в программе МК на обоих выходах не выставлялись одновременно одинаковые уровни; в) двухтактный эмиттерный повторитель на транзисторах К77, VT2 обеспечивает хорошее согласование выхода МК с низким сопротивлением звуковой катушки громкоговорителя BAL Размах амплитуды выходного сигнала на 1.3... 1.4 В меньше, чем напряжение питания. При высоком сопротивлении громкоговорителя ВА1 можно применить маломощные транзисторы, например, VT1- КТ315, VT2-КТ361; г) аналогично Рис. 2.56, б, но с двумя конденсаторами С/, С2, которые подключаются последовательно друг с другом, но параллельно источнику питания, что дополнительно снижает сетевые пульсации. Подобный приём применяется в схемотехнике аналоговых бестрансформаторных УНЧ. Ёмкости конденсаторов должны быть по-возможности одинаковыми и в 2 раза большими, чем для обычной схемы с одним конденсатором;
Рис. 2.56. Схемы подключения динамических громкоговорителей к МК по двухтактной схеме (окончание): д) мостовой усилитель на транзисторах VT1...VT4 можно рассматривать как два отдельных двухтактных каскада, работающих в противофазе. В первом полупериоде открываются транзисторы VT1, VT4, во втором — VT2, VT3. Для устранения сквозных токов в программе МК должны быть предусмотрены защитные паузы, чтобы не открывались одновременно транзисторы VT1 и VT2, УТЗи VT4. При отладке устройства рекомендуется применять источник питания с защитой по току на случай ошибок в программе; е) двухтактный усилитель с резистивными делителями Rl, R3wR2, R4. Разделительный конденсатор С1 определяет завал АЧХ на низких частотах. Он должен иметь достаточно большую ёмкость для качественного воспроизведения широкополосных сигналов; ж) многоканальное полифоническое звучание. Двухкаскадный УНЧ на трёх транзисторах VTL..VT3 обеспечивает низкие искажения за счёт обратной связи через резистор R3, которым выставляется напряжение на эмиттерах транзисторов VT2, VT3 близким к половине питания. Резисторы R*...R*n можно использовать одинаковые (смеситель цифровых сигналов) или разные (ЦАП на матрице «2R»). В последнем случае следует зашунтировать резистор R1 конденсатором ёмкостью 0.01...0.47 мкФ; з) применение полевых транзисторов VT1, VT2 увеличивает размах выходного сигнала практически до напряжения питания. Резистор R2устраняет возможные щелчки в громкоговорителе ВЛ1 при рестарте МК, в некритичных случаях может отсутствовать.
2.3.7. Звук через радиотрансляционный динамик Несколько десятилетий назад проводное звуковещание в странах СНГ имело столь же массовое распространение, как и электрические сети 220 В. Радиоточки (радиотрансляционные динамики) служили неотъемлемой частью домашнего интерьера. Прошли годы и ситуация изменилась. Теперь «бабушкины» радиоточки большей частью пылятся в чуланах, а ведь им можно найти применение, учитывая добротно сделанный конструктив из настоящего дерева. Внутри стандартной радиоточки размещаются три обязательные детали: низко- омный громкоговоритель, согласующий трансформатор и переменный резистор. Более сложные «трёхпрограммные громкоговорители» здесь рассматриваться не будут, хотя многие узлы от них тоже можно использовать в экспериментах. На Рис. 2.57, а...ж приведены схемы подключения радиоточек к МК. Звучание получается более качественное и громкое, чем через пьезоизлучатель, а схемотехника оказывается проще по сравнению с бестрансформаторными УНЧ. Рис. 2.57. Схемы подключения радиоточек к МК (начало): а) прямое подключение радиоточки A J к МК. По постоянному току это допускается, т.к. сопротивление первичной обмотки трансформатора составляет 0.7...1.5 кОм. В паузах звука надо устанавливать ВЫСОКИЙ уровень на выходе МК. Защитные диоды VD1, VD2 не нужны, если прослушивание ведётся на средней громкости (шунтируется индуктивность трасформатора); б) конденсатор С/ совместно с индуктивностью первичной обмотки трансформатора радиоточки А1 формирует «мягкий» тембр звучания; в) транзистор VT1 служит развязкой между МК и радиоточкой AL Транзистор более устойчив к индуктивным перегрузкам, чем выход МК с его «слабым звеном» — защитными диодами; г) повышенное напряжение питания радиоточки А1 допускается, поскольку в радиотрансляционной сети амплитуда сигнала достигает 30 В;
Рис. 2.57. Схемы подключения радиоточек к МК {окончание): д) в исходном состоянии транзистор VT1 закрыт. Звуковой сигнал с выхода МК периодически открывает его. Повышенное напряжение питания увеличивает громкость звука радиоточки А1 (переменный резистор не используется); е) аналог радиоточки, собранный на дискретных элементах. Понижающий трансформатор 77 можно взять от УНЧ транзисторного радиоприёмника. Резистором R2 регулируется громкость, а конденсатором С7 — тембр звучания. Благодаря отводу от средней точки трансформатора 77, увеличивается амплитуда сигнала в динамике ВА1\ ж) трансформатор 77 и громкоговоритель ВА1 можно рассматривать как упрощённый аналог радиоточки без регулятора громкости. На двух выходах МК формируются сигналы разных частот (мелодий), которые смешиваются в трансформаторе ТІ. 2.3.8. Головные телефоны Классификация головных телефонов (по-другому, капсюлей, наушников): электромагнитные, например, ТА-4, ТОН-2, ТК-47, применяемые в телефонных и слуховых аппаратах, в связной технике. Диапазон рабочих частот 300...3000 Гц, сопротивление 150...5000 Ом, низкое качество звука; электродинамические (ТДС-1, ТДК-1, ТД-6), применяемые в стереонаушниках, в измерительных приборах и связной аппаратуре. Диапазон частот 40... 16000 Гц, сопротивление 20... 160 Ом, среднее и высокое качество звука; пьезоэлектрические, применяемые в телефонных аппаратах спецсвязи, в студийной аппаратуре. Диапазон частот 20...20000 Гц, высокое сопротивление (килоомы), среднее и высокое качество звука.
В любительских конструкциях наушники можно встроить прямо в прибор в качестве самостоятельных излучателей звука вместо громкоговорителя. Если наушники все-таки используются по своему прямому назначению, т.е. для индивидуального прослушивания, то следует аппаратно ограничить подводимую к ним звуковую мощность. Комфортным считается уровень негромкого разговора в комнате, иначе существует опасность повредить себе слух. На Рис. 2.58, а...к приведены схемы подключения электромагнитных и электродинамических головных телефонов к МК. Для пьезоэлектрических телефонов можно использовать схемы по аналогии с рассмотренными ранее пьезокерамиче- скими излучателями (Рис. 2.47, Рис 2.48). Рис. 2.58. Схемы подключения головных телефонов к МК (начало): а) прямое подключение телефона BF1 к МК для громкоговорящего воспроизведения звука. Телефон электромагнитный, от старого компьютера, паспортное сопротивление 60 Ом. Резистор R1 ограничивает постоянный ток по выходу МК и немного уменьшает громкость. В паузах звука надо устанавливать на выходе МК ВЫСОКИЙ уровень; б) разделительный конденсатор С1 устраняет ток подмагничивания телефона BF1. Подбором ёмкости можно изменить тембровую окраску звучания. В паузах звука на выходе М К может быть любой логический уровень; в) резистором /Урегулируется громкость звука. Если планируется прослушивание через вы- сокоомные головные телефоны, то следует на порядок увеличить сопротивление резистора R2. К разъёму XS1 можно подключить ещё один дополнительный наушник; г) телефон BF1 служит смесителем разнотональных сигналов с выходов двух МК; д) использование телефона BF1 в качестве малогабаритного громкоговорителя. Транзистор VT1 работает в ключевом режиме. В паузах звука на выходе МК надо устанавливать НИЗКИЙ уровень, чтобы через обмотку телефона BF1 не протекал ток и экономилась энергия; е) резистором R1 регулируется ток, протекающий через головной телефон BF1, а значит изменяется громкость звука;
Рис. 2.58. Схемы подключения головных телефонов к МК (окончание): ж) ключевой каскад на полевом транзисторе VT1 позволяет более полно использовать напряжение питания. Конденсатор С/ и диод VD1 могут отсутствовать при низкой индуктивности обмотки телефона BF1 или его замене 50-омным динамическим громкоговорителем; з) стереонаушники подключают к разъёму XS1 типа «джек». Остальные элементы определяют громкость и тембр звука; и) «генератор биоритмов». На стереотелефоны BF1.7, BF1.2 подаются сигналы от МК с очень близкими частотами. Образуются инфразвуковые биения в диапазоне 3...30 Гц (альфа-, бета-, гамма-, тета-ритмы). Сдвоенный резистор R1 регулирует громкость сразу в двух каналах. Переключателем SA1 изменяется тембр звучания (похоже на приставку «Лесли» для электрогитары); к) резистором R2 сигналы двух каналов смешиваются в разной пропорции. При большом сопротивлении стереотелефонов BF1.1, BFL 2 транзисторы VT1, УТ2 можно заменить менее мощными, например, КТ315Б, и увеличить сопротивление резистора R2ro 10 кОм. 2.3.9. Генерация звука через канал ШИМ Известны следующие способы генерации звука в МК: • формирование на выходе цифрового порта последовательности ВЫСОКИХ и НИЗКИХ уровней с программными паузами 0.2... 10 мс между ними; • смена ВЫСОКИХ/НИЗКИХ уровней на выходе порта в момент прерывания по таймеру МК. Время между прерываниями определяет частоту звука; • использование 8... 16 выходов МК, к которым подключается резистивная матрица ЦАП с организацией «2R» или «R-2R»; • применение МК с уже встроенным каналом ЦАП; • изменение частоты или скважности импульсов в канале ШИМ МК.
Первые два варианта — простые в аппаратной и программной реализации, но годятся для извлечения лишь неприхотливых «цифровых» звуков. Третий вариант обеспечивает достаточно качественное «аналоговое» звучание, хотя требует много свободных линий портов. Четвёртый вариант поддерживается далеко не всеми типами МК, а только наиболее «продвинутыми», а стало быть дорогими. Остаётся пятый вариант с ШИМ, который занимает промежуточное положение по критерию «качество + возможности» и положительно оценивается радиолюбителями. Звуковые сигналы в канале ШИМ могут генерироваться по низкой частоте непосредственно выходными импульсами («цифровой» звук) или по высокой частоте с последующим выделением «музыкальной» огибающей («аналоговый» звук). Интерес для практики представляет именно «аналоговое» звучание. В этом случае на выходе МК ставят фильтр с верхней частотой в районе 3400 Гц, что соответствует качеству телефонного разговора, или 20 кГц, что характерно для воспроизведения музыкального компакт-диска. На Рис. 2.59, а...с приведены схемы генерации звука через канал ШИМ МК. Рис. 2.59. Схемы генерации звука через канал ШИМ МК (начало): а) пассивный двухзвенный ФНЧ на элементах Rl, R2, CI, С2 обеспечивает лучшее подавление гармоник, чем однозвенный ФНЧ, но с небольшим уменьшением амплитуды £/вых; б) пассивный пятизвенный ФНЧ обеспечивает хорошую фильтрацию и высококачественное звучание, но со значительным уменьшением амплитуды на выходе; в) укорачивающая цепочка С/, VD1 применяется при импульсах большой длительности; г) заряд/разряд конденсатора С1 производится резисторами /?/, R2 соответственно от ВЫСОКОГО/НИЗКОГО уровня на двух выходах МК. Цепочка R3, Сообразует ФНЧ для суммарного сигнала ШИМ. Кодирование сигнала производится по системе RC-2, что годится для синтеза различных звуков и шумовых эффектов (речь и музыка здесь звучат неестественно);
Рис. 2.59. Схемы генерации звука через канал ШИМ МК (продолжение): д) конденсатор С1 устраняет постоянную составляющую. Элементы R], С1 фильтруют сигнал в канале ШИМ. Резистор Урегулирует уровень звука в наушнике, который подключается к гнезду XS1\ е) гальваническая опторазвязка звуковых сигналов, генерируемых с выхода МК через канал «высокочастотной» ШИМ. Фильтром служат элементы R2, С1\ ж) активный двухзвенный ФНЧ на элементах Rl, CI, С2, R4, DAL УНЧ на микросхеме DA2 может переходить в «спящий» и «беззвучный» режимы от ВЫСОКИХ уровней на среднем и нижнем выходах МК; з) управляемый активный ФНЧ для звуковых сигналов, формируемых с верхнего выхода МК. Сигналами ШИМ на среднем и нижнем выходах МК изменяется частота среза фильтра;
Рис. 2.59. Схемы генерации звука через канал ШИМ МК (продолжение): и) выделение огибающей звукового сигнала пассивным ФНЧ на элементах Rl, С1. Дополнительное подавление высших гармоник осуществляется в самом электродинамическом громкоговорителе ВЛ1 (инерция диффузора). Цепочка R4, СЗ устраняет самовозбуждение УНЧ DA1\ к) наличие джампера на соединителе 57 позволяет передавать на выход постоянную составляющую сигнала; л) активный четырёхзвенный ФНЧ «Sallen-Кеу» («Саллен-Ки») на ОУ DA1 (возможная замена TL072) обеспечивает хорошее подавление высших гармоник. Такие схемы применяют при синтезе электронной полифонической музыки, но при воспроизведении речи могут появиться искажения, связанные с возбуждением ОУ на фронтах ШИМ-сигнала. Для их уменьшения желательно, чтобы микросхема DA1 имела по даташиту уровни «Rail-to-Rail Input/Output», т.е. она должна устойчиво работать с входными/выходными сигналами от нуля до питания;
Рис. 2.59. Схемы генерации звука через канал ШИМ МК (продолжение): м) четырёхзвенный ФНЧ настроен на диапазон речевого телефонного сигнала 0.3...3.4 кГц и содержит четыре ЛС-цепочки: R1 и С/; R3 и С3\ R5 и С4\ R2 и С2. Между звеньями располагаются повторители напряжения на ОУ DAL 1, DA1.2, что обеспечивает высокое качество фильтрации и отсутствие самовозбуждения. На элементе DA 1.3 собран УНЧ с регулируемым коэффициентом усиления (R4). Особенность схемы — примерно одинаковая громкость звучания как с низкоом- ным электродинамическим (40 Ом), так и с высокоомным пьезокерамическим (10 кОм) телефоном BF1; н) восьмизвенный ФНЧ на цифровом фильтре DA1 (фирма Maxim Integrated Products) обеспечивает подавление 2...6 гармоник звукового сигнала на 11...78 дБ. Идеально подходит для преобразования прямоугольных сигналов в синусоидальные в полосе частот 0.1 Гц...25 кГц. Конденсатор С2 определяет частоту внутреннего тактового генератора микросхемы DA1 по формуле FoscIkRi] = 33333/С2[пФ]. Частота среза ФНЧ будет в 100 раз ниже, чем Fosc. При желании можно подавать тактовую частоту на DA1 от нижней линии МК (показано пунктиром) и создавать методом ШИМ «плавающий» ФНЧ для звуковых спецэффектов; о) устойчивый активный четырёхзвенный ФНЧ на ОУ DA1 с двухполярным питанием;
Рис. 2.59. Схемы генерации звука через канал ШИМ МК (окончание): п) схема М.Вязаня. Двухканальный мостовой УНЧ на полевых транзисторах с выходной мощностью до 27 Вт с ФНЧ на LC-фильтре. Радиаторы для транзисторов К77, VT2 не требуются, КПД 90%. Сигналы ШИМ должны быть строго противофазными и иметь частоту 100...200 кГц; р) мостовой усилитель звука с противофазными ШИМ-сигналами и двухканальным драйвером на микросхеме DA1 фирмы Maxim Integrated Products; с) два выхода МК используются для генерации стереосигнала. DA1 — двухканальный УНЧ.
2.3.10. Генерация звука через внешний ЦАП В душе у каждого человека «сидит» композитор, только вырваться наружу ему не всегда удаётся. Вот и приходится довольствоваться прослушиванием чужих мелодий да напеванием через караоке популярных песен. Тем не менее, любой электронщик имеет все шансы попробовать свой талант в создании музыки, используя звуковые возможности МК и внешний узел ЦАП. Теоретически ЦАП предназначен для преобразования цифровых кодов в аналоговую величину, например, в напряжение, ток, сопротивление. Алгоритм работы ЦАП заключается в суммировании образцовых напряжений и токов пропорционально весовым разрядам. В двоичном коде, характерном для МК, «вес» от разряда к разряду изменяется ровно в 2 раза. Для понимания физики процессов, происходящих в звуковом ЦАП, иногда предлагают весьма необычные сравнения и аналогии [2-92]. Например, надо мысленно представить себе переменный резистор, подключённый крайними выводами к источнику питания. Со среднего вывода резистора напряжение подаётся на обычный наушник (Рис. 2.60, а). Если очень-очень быстро крутить движок переменного резистора R1 в такт музыке, пропорционально частоте и громкости, то в наушнике BF1 появится высококачественный звук. И это действительно так! Рис. 2.60. Схемы имитации звукового ЦАП: а) на переменном резисторе; б) на ключах. Разумеется, нормальному человеку выполнить столь быстрое и точное вращение не под силу. Нужен робот или, на крайний случай, МК, который вместе с внешними навесными элементами сможет сымитировать работу идеального «пе- ременника». Для этого в схему замещения вводятся многочисленные постоянные резисторы и переключатели (Рис. 2.60, б). Если вспомнить, внутри МК уже имеются электронные ключи, то остаётся лишь программно коммутировать их со скоростью, достаточной для воспроизведения звука в диапазоне 20...20000 Гц. В итоге получается преобразование номера электронного ключа (цифра) в напряжение на наушнике (аналог). Основой рассмотренного ЦАП являются резисторы Rl...Rn, которые конфигурируются следующими способами: «параллельно», на матрице резисторов «2R», где сопротивление последующего и предыдущего резисторов отличаются ровно в 2 раза; «последовательно», на матрице «R-2R», где число резисторов вдвое больше, зато в каждой половине они имеют одинаковые номиналы: R и 2R; «нелинейно», с изменяющимися по определённому закону резисторами.
Разрядность ЦАП, как правило, кратна числу 4, например, 8, 12, 16, 24, 32. Следовательно, МК должен иметь точно такое же количество свободных выходных линий. При этом чем больше разрядность, тем ближе форма выходного сигнала к синусоиде, тем меньше размер «ступенек» импульсов и тем проще ФНЧ, их сглаживающий, однако тем выше требования к точности резисторов. Задача МК сводится к тому, чтобы выбрать из памяти очередной отсчёт амплитуды, разложить его на двоичные разряды, выставить получившиеся уровни на линиях порта, выдержать паузу 5...200 мкс, определяющую дискретизацию сигнала во времени, и повторить процедуру заново с новым отсчётом. Для справки, в персональных компьютерах используют следующие стандартные частоты дискретизации звукового сигнала: 5.500; 7.333; 8.000; 11.025; 16.000; 18.900; 22.050; 31.250; 31.500; 44.056; 48.000; 96.000; 192.000 кГц. Соответственно, пауза времени между между выборками должны составлять 5.2... 180 мкс. Быстродействие современных МК общего назначения позволяет генерировать звук во всём диапазоне указанного ряда, правда низкий объём внутренней памяти резко ограничивает длительность звучания, особенно при высоких битрейтах. Схемы генерации звука через внешний ЦАП можно разделить на три группы: • параллельные резисторные (Рис. 2.61, а..л); • последовательные резисторные (Рис. 2.62, а...з); • с интегральными микросхемами (Рис 2.63, а...д). Рис. 2.61. Схемы генерации звука через параллельные резисторные ЦАП (начало): а) классический ЦАП с матрицей резисторов «2R». Резисторы RL..R8через внутренние ключи МК фактически соединяются параллельно друг с другом (отсюда и название «параллельный» ЦАП). Телефон BF1 служит нагрузкой и одновременно выполняет функцию ФНЧ. На линиях МК выставляются ВЫСОКИЕ/НИЗКИЕ уровни очередного байта амплитуды сигнала. Допускается вместо НИЗКИХ уровней переводить МК в режим входа с Z-состоянием, но при этом появляется амплитудная нелинейность («логарифмический» ЦАП). Здесь и далее во всех схемах внешних ЦАП резисторы в делителях желательно использовать с допуском ±(0.5...2)%. От этого зависит точность преобразования и температурная стабильность; б) добавление звукового сигнала от ЦАП в уже существующий тракт R11, С2. Конденсатор С1 сглаживает «ступеньки» импульсов. Резисторы R9, R10 определяют амплитуду сигнала;
Рис. 2.61. Схемы генерации звука через параллельные резисторные ЦАП (продолжение): в) с коллектора и эмиттера транзистора VT1 снимаются противофазные сигналы ЦАП. Для сглаживания «ступенек» импульсов требуется дополнительный внешний ФНЧ. Резистором R9 устанавливается рабочая точка транзистора К77, чтобы в сигналах на выходе не наблюдалось ограничений по амплитуде; г) резисторы /?/...R8задают напряжение на базе транзистора VT1. Громкоговоритель &4/ выполняет функцию ФНЧ (инерция диффузора). Переменным резистором R9 регулируется громкость звука. Схема обладает узким линейным диапазоном ЦАП, поскольку при выставлении на выходах МК кодов выборок, близких к максимуму (11111111) или минимуму (00000000), транзистор VT1 входит в насыщение или в отсечку; д) имитатор «органного» звучания по 8 каналам, каждый из которых отличается по частоте в 2 раза. Для формирования партитуры требуется специальное компьютерное программное обеспечение. Смеситель сигналов собран на ОУ DAL Устройство можно также использовать как ЦАП, правда, с низкой разрядностью из-за одинаковых сопротивлений в 8 каналах;
Рис. 2.61. Схемы генерации звука через параллельные резисторные ЦАП (окончание): е) широкодиапазонный генератор «цифрового синуса». Шкала сдвоенного переменного резистора R1 градуируется по частоте в трёх диапазонах: 20...200 Гц, 0.2...2 кГц, 2...20 кГц. Диапазоны переключаются НИЗКИМИ уровнями на трёх нижних линиях МК. Внутренний АЦП МК измеряет напряжение на резисторе R1. /, затем МК переводит напряжение в частоту. После этого восемь верхних линий МК сверху-вниз заполняются «бегущим столбиком» ВЫСОКИХ уровней, затем «бегущим столбиком» НИЗКИХ уровней и т.д. Итого образуется 16 «ступенек» синусоиды, полный цикл которой равен периоду генерируемого сигнала. Резистор R1.2 синхронно изменяет частоту среза ФНЧ, собранном на элементах R1.2, RIO, С1...СЗ, что позволяет снизить уровень побочных гармоник; ж) особенность данного ЦАП заключается в применении резисторов R1...R9с допуском ±5%. Однако их последовательное и параллельное включение обеспечивает суммарную точность примерно в 2 раза выше. Резистором R10 регулируется амплитуда сигнала. Ёмкость конденсатора фильтра С1 зависит от частоты генерации звука. Конденсатор должен отсутствовать, если ЦАП используется для формирования телевизионного видеосигнала; з) генератор сигналов треугольной формы. Матрица «2R» заменяется матрицей «R» с резисторами R'4 одинакового сопротивления. Каждой «ступеньке» треугольника соответствует определённое число ВЫСОКИХ уровней, выставленных на верхних линиях МК. Амплитуду треугольного сигнала можно уменьшить на один или два порядка за счёт комбинации уровней на трёх нижних линиях МК.
Рис. 2,62, Схемы генерации звука через последовательные резисторные ЦАП {начало): а) классический ЦАП с матрицей резисторов «R-2R». Резисторы R1...R16 могут иметь другие номиналы, но главное, чтобы сопротивления резисторов Л/.../?Рбыли ровно в 2 раза больше, чем R10...R16. Для сглаживания «ступенек» импульсов требуется внешний ФНЧ. На выходах МК, в отличие от параллельного ЦАП, выставляются ВЫСОКИЕ/НИЗКИЕ уровни без Z-состояния; б) унификация сопротивлений резисторов R7...R25 приводит к повышению точности преобразования, поскольку сопротивление двух последовательно включённых резисторов будет иметь статистически меньший уход от номинала, чем у одного резистора. Рекомендуемая точность резисторов ±(1...2)%. Для уменьшения габаритов матрицы следует применить чип-резисторы; в) повторитель напряжения на ОУ DA1.1 обеспечивает высокое входное сопротивление для матрицы «R-2R». Первым ФНЧ служит конденсатор С7, вторым — интегратор на ОУ DA1.2 с параллельной цепочкой R18, С2, определяющей частоту среза;
Рис. 2.62. Схемы генерации звука через последовательные резисторные ЦАП {продолжение). г) организация стереозвучания через две одинаковые резисторные матрицы «R-2R» и два идентичных пассивных ФНЧ на цепочках R33, СЗ и R34, С4\ д) ЦАП на интегральной сборке высокоточных резисторов R3. Частота среза ФНЧ задаётся конденсаторами С/, СЗ, которые подключаются к общему проводу через транзисторы VT1, VT3. Эмиттерный повторитель на транзисторе VT2 сужает динамический диапазон 1/шх на 0.7 В. Для его расширения следует перейти на двухполярное питание аналогично Рис. 2.61, в; е) применение мощного буферного повторителя DA1 повышает (хотя и не намного) инструментальную точность ЦАП за счёт меньшего влияния нагрузки на выходные уровни; ж) аналогично Рис. 2.62, б, но с меньшим числом резисторов, поскольку применяется их параллельное, а не последовательное включение;
Рис. 2.62. Схемы генерации звука через последовательные резисторные ЦАП {окончание): з) эмиттерный повторитель на транзисторе VT1 и МК питаются от разных напряжений. Это позволяет повысить линейность преобразования ЦАП и расширить динамический диапазон, поскольку транзистор VT1 будет работать без насыщения и отсечки. Рис. 2.63. Схемы генерации звука через внешние интегральные ЦАП (начало): а) восьмиразрядный ЦАП на микросхеме DA1 (фирма Texas Instruments) имеет вход «R» для плавного регулирования амплитуды выходного сигнала. Транзистор VT1 служит эмиттерным провторителем, что позволяет использовать высокоомный резистор R2; б) программно-аппаратный ЦАП на базе интегратора DA2, охваченного обратной связью через внутренний 10-разрядный АЦП МК. Напряжение 1/шх формируется зарядом/разрядом конденсатора С1. Динамический диапазон составляет 0...3.1 В. Ключи микросхемы DA1 включаются кратковременно только в те моменты, когда напряжение £/вых надо изменить;
Рис. 2.63. Схемы генерации звука через внешние интегральные ЦАП (окончание): в) подключение к МК внешнего «японского» ЦАП DAI (16 бит, стерео, но используется режим моно). ОУ DA2.1 служит повторителем, а ОУ DA2.2 — активным фильтром Sallen-Key; т) DAI — 12-разрядный последовательный ЦАП фирмы Burr-Brown. Усилитель на микросхеме DA2 обеспечивает выход на наушники (£/науш) и сигнал в линию (UmH)\ д) восьмиразрядный ЦАП на микросхеме DA1 (фирма National Semiconductor) работает в паре с ОУ DA2. Диапазон генерируемых частот 0...30 кГц, выходное напряжение 4 В, неравномерность АЧХ не более 0.3 дБ, КНИ = 0.0076% на частоте 1 кГц.
2.3.11. Интегральные усилители звука Любому МК «на роду написано» генерировать сигналы, в том числе и звуковые, но их дальнейшим усилением должны заниматься «профессионалы», т.е. УНЧ. Если имеется возможность выбора между усилителем на россыпи транзисторов и «однокристальным» УНЧ на интегральной микросхеме, то многие останавливаются на втором варианте. Действительно, это недорого, доступно, занимает мало места и, самое главное, не требует регулирования и подбора ЭРИ, поскольку электрические параметры гарантируются в даташитах согласно типовой схеме. Когда выгодно применение интегральных УНЧ совместно с МК? Во-первых, при желании получить выходную мощность более 1 Вт. Во-вторых, для качественного воспроизведения оцифрованной речи и музыки в каналах ШИМ и ЦАП. Физику обмануть нельзя, поэтому для получения большой выходной мощности надо увеличивать напряжение питания или применять мостовые схемы. Кроме того, при прочих равных условиях мощность, отдаваемая в нагрузку, будет выше с динамиком, имеющим более низкое сопротивление, стандартно 4; 8; 16 Ом. Различают УНЧ «моно» (Рис. 2.64, а...и) и «стерео» (Рис 2.65, а...г). На всех последующих схемах звуковые сигналы будут генерироваться цифровыми выходами МК. Но аналогично строятся усилители для выходов ШИМ и каналов ЦАП. Рис. 2.64. Схемы подключения интегральных монофонических усилителей звука (начало): а) УНЧ мощностью 1 Вт на микросхеме DA 1 фирмы Philips. Обычно применяется в аппаратуре с батарейным питанием +4.5...+4.8 В; б) УНЧ на микросхеме DA1 (фирма Philips) обеспечивает мощность 1 Вт при питании +6 В и 3 Вт при питания +11 В; в) звуковые сигналы с двух каналов МК проходят через элементы С/, R1, смешиваются на резисторе R2 и усиливаются в УНЧ на микросхеме DA1;
Рис. 2.64. Схемы подключения интегральных монофонических усилителей звука (продолжение): г) УНЧ мощностью 0.25...0.4 Вт на микросхеме DA1 (фирма Motorola) применяется в телефонных аппаратах и спикерфонах; д) УНЧ на микросхеме DA1 (фирма Philips) имеет усиление 26 дБ. При питании +13.2 В выходная мощность составляет 12/17 Вт (степлоотводом), коэффициент гармоник 0.5/10%. Усилитель «стерео», но используется только один канал «моно». Резистор R2 регулирует громкость; е) джампер, установленный на соединитель £7, оперативно увеличивает усиление микросхемы DA1 на порядок; ж) стереоусилитель на микросхеме DA1 (фирма STMicroelectronics) собран по мостовой схеме с удвоением мощности. Сигналы с линий МК должны быть строго противофазными, но для получения спецэффектов их частоты и фазы могут отличаться;
Рис. 2.64. Схемы подключения интегральных монофонических усилителей звука (окончание). з) УНЧ на микросхеме DA1 (фирма STMicroelectronics) обеспечивает при питании +14 В выходную мощность 4 Вт на нагрузке 4 Ом. Максимальная мощность 12 Вт, но требуется радиатор. Вместо двухполярного используется однополярное питание с искусственной средней точкой на делителе Rl, R5. На резисторе R7смешиваются разные звуковые сигналы с трёх выходов МК; и) УНЧ на микросхеме DA1 (фирма National Semiconductor) обеспечивает мощность 0.7 Вт при питании +9 В. Цепочка R4, СЗ устраняет самовозбуждение УНЧ. Рис. 2.65. Схемы подключения интегральных стереофонических усилителей звука (начало): а) генерация стереозвука через двухканальный ШИМ. Элементы /?/, R2, CI, С2служат фильтрами, микросхема DA1 усиливает сигналы и подаёт их на громкоговорители ВА1, ВА2\
Рис. 2.65. Схемы подключения интегральных стереофонических усилителей звука (окончание): б) малогабаритный стереофонический УНЧ на микросхеме DA1 (фирма Philips) обеспечивает при питании +3 В выходную мощность 0.14 Вт на каждый канал; в) стереофонический УНЧ на микросхеме DA1 (фирма Philips) обеспечивает в каждом канале мощность 22 Вт при питании +14.4 В с коэффициентом гармоник 10%. Резисторами Я/, Урегулируется громкость звука в каждом канале. Конденсаторы CJ, С4нужны для сигналов ШИМ; г) стереофонический УНЧ на микросхеме DA1 (фирма Philips) при питании + 14.4 В обеспечивает в каждом канале мощность 25/40 Вт (с теплоотводом) при коэффициенте гармоник 0.5/10%. Если сигналы с выходов МК запараллелить (пунктир), то пропадёт эффект стереозвучания. 2.3.12. Формирователи тембра Как известно, каждый звук в мелодии характеризуется тремя параметрами: высотой, длительностью и тембром. В переводе на язык электроники это означает, соответственно, частоту, время и спектр. Теперь подробнее о тембре и спектре. Тембр (от франц. «timbre») позволяет человеку различать одинаковые ноты, исполненные на разных музыкальных инструментах. Тембровая окраска зависит от амплитудной, частотной, фазовой и временной модуляции звука. Примером абсолютно немодулированного сигнала является чистая синусоида, её тембровую окраску можно условно принять за «нуль». Другая крайность — сигнал «белого шума» с равномерным спектром, число составляющих в котором теоретически равно бесконечности. Реальные звуковые сигналы находятся где-то посередине.
МК легче всего справляется с генерацией одноголосых мелодий, при этом выходной сигнал похож на меандр, близкий по тембру к звучанию приглушённого кларнета. Расширить спектральный состав и сымитировать тембр других музыкальных инструментов помогают несложные формирователи (Рис. 2.66, а...д). Рис. 2.66. Схемы формирователей тембра (начало): а) трёхоктавное «органное» звучание. На верхнем выходе МК генерируется основной тон (мелодия). На среднем и нижнем выходах МК — такие же сигналы, но делённые по частоте на 2 и 4. Это эквивалентно понижению высоты звука на одну и две октавы. Каждый канал имеет свой темброблок (фильтр). Вращая переменные резисторы /?ААтемброблоков, можно получить плавный переход ФНЧ в ФВЧ. Резисторами RL..R3 подбирается желаемый тембр звучания; б) «электронное пианино». На нижнем выходе МК генерируется основной тон (мелодия). Верхний и средний выходы МК служат для формирования огибающей, характерной для клавишных инструментов — нарастающий фронт, медленный спад, быстрое затухание. Вначале на среднем выходе МК выставляется ВЫСОКИЙ уровень, конденсатор С2 заряжается, транзистор VT1 открывается (передний фронт). Далее средняя линия МК переводится в режим Z-входа. Конденсатор С2 медленно разряжается, транзистор VT1 призакрывается (спад). На верхнем выходе МК выставляется НИЗКИЙ уровень, транзистор VT1 быстро закрывается (затухание); в) схема Д. Мэниэра — четырёхканальный смеситель звука с раздельным формированием огибающих. Вначале верхняя линия МК переводится в Z-состояние. На нижнем выходе МК выставляется ВЫСОКИЙ уровень, конденсатор С1 заряжается (передний фронт). Далее верхняя линия МК переводится в режим выхода, с неё генерируется звук. По окончании обе линии МК переводятся в режим входа, конденсатор С1 медленно разряжается (задний фронт);
Рис. 2.66. Схемы формирователей тембра (окончание): г) полифонический синтезатор. Основная частота звука (мелодия) подаётся на вход «С» микросхемы DDI, которая делит её на 2, 4, 8, 16. Смеситель сигналов выполнен на транзисторах VT1... VT5. Уровень субгармоник, а значит и тембр, регулируется резисторами R2, R4, R6, R8, R10. Транзистор VT6усиливает суммарный сигнал и подаёт его на громкоговоритель ВАГ, д) четырёхканальный проигрыватель MIDI-мелодий, записанных в память МК(1)...МК(4). Сигналы с выходов МК проходят через формантные фильтры, а именно, ФНЧ (R1, СЗ), полосовой фильтр (R2, С4, С5), ФВЧ-1 (CI, R4), ФВЧ-2 (С2, R5). Если провести сравнение с музыкальным квартетом, то получается три гитары (бас, соло, ритм) и одна ударная установка. Каждый МК воспроизводит свою партию мелодии, записанную на одной дорожке MIDI.
2.4. Ключевые каскады 2.4.1. Однотранзисторные биполярные ключи Транзистор — это основной активный элемент в электронной технике. «Активный», поскольку с его помощью можно усиливать сигнал по мощности. Для сравнения, трансформатор тоже может увеличивать амплитуду сигнала, но только по напряжению или по току, мощность всегда будет теряться. Следовательно, трансформаторы (а также, резисторы, конденсаторы, индуктивности, диоды, кварцевые резонаторы, громкоговорители, реле) относятся к пассивным ЭРИ. В цифровых схемах транзистор, как правило, выполняет функцию электронного ключа, имеющего два устойчивых состояния: «открыто» и «закрыто». Другими словами, ток через коллектор транзистора или протекает, или не протекает. Данное положение в равной мере относится к биполярным транзисторам структуры п—р—п и р—п—р. Первые транзисторы появились в 1947 г. Их изобретатели, физики У. Браттейн, У.Шокли и Д.Бардин, наверное, и не подозревали, какую пользу транзисторы окажут человечеству в будущем. Современные экспериментальные транзисторы имеют сверхмалые размеры и уникальные параметры. Счёт уже идёт на электроны и терагерцы. В частности, разработан так называемый «одноэлектронный» транзистор, а также транзисторы на нанотрубках и графеновых структурах, позволяющие усиливать сигнал с частотой 1...6 ТГц. При использовании биполярных транзисторов надо учитывать особенности их работы в ключевом режиме: ток базы транзистора должен быть достаточно большим, чтобы ключ открывался при любом коэффициенте передачи /г21Э (его технологический разброс составляет 2...4 раза), во всём диапазоне температур и напряжений; ток базы транзистора должен быть достаточно малым, чтобы устранить эффект глубокого насыщения и не снижать быстродействие ключа; напряжение «база — эмиттер» открытого транзистора зависит от его мощности, температуры, коэффициента передачи и базового тока. Для маломощных «кремниевых» ключей ориентировочно принимают иБЭ = 0.6...0.7 В (в одних источниках округлённо пишут 0.6 В, в других 0.7 В); ток коллектора /к и ток базы /Б транзистора связаны приближённой формулой 1К = Н2ХЭ-1Ъ. Если /Б = 1 мА, А21Э = 100, то 1К =100 мА. Когда нагрузочное сопротивление в коллекторе слишком большое, то оно не может «вместить» в себя весь ток 100 мА, а пропустит только часть его, например, 50 мА. Однако ток базы останется прежним как при 50 мА, так и при 100 мА в коллекторе. В этом случае говорят, что транзистор вошёл в насыщение с коэффициентом Ки = 2, т.е. /кмах/^к = Ю0/50. Чем больше Кн, тем полнее открывается транзистор, но тем ниже его быстродействие; рабочие напряжения и токи должны быть меньше предельно допустимых по даташиту с «военным» коэффициентом запаса 0.7...0.8. Например, на транзистор с £/КМАХ = 100 В следует подавать напряжение не выше 70...80 В. Хорошей поблажкой в любительских конструкциях является возможность индивидуальной подстройки рабочей точки транзисторного ключа окружающими
его резисторами. Можно также выбрать один лучший транзистор из нескольких однотипных по оптимальной настройке какого-либо параметра. Однако то, что допускается в единичном любительском производстве, будет большим минусом в промышленной серии, где каждая лишняя регулировочная операция забирает время, увеличивает стоимость и снижает технологичность. Именно поэтому действующими отраслевыми стандартами запрещается необоснованная замена одинаковых ЭРИ, кроме тех случаев, когда элемент специально предназначен для регулирования и отмечен на схеме «звёздочкой», например, R1*. Биполярные транзисторные ключи служат в основном для коммутации высоковольтных и низкоомных нагрузок (Рис 2.67, а...у). Транзистор защищает МК от перегрузок и аварийных ситуаций как при работе, так и при отладке устройства. Рис. 2.67. Схемы подключения к МК однотранзисторных ключей на биполярных транзисторах (начало): а) простейший ключ на транзисторе VT1 с инверсией сигнала. Тип транзистора выбирается в зависимости от напряжения источника питания и мощности нагрузки RH. При значительной индуктивной составляющей RH ставят диоды VD1, VD2 (или только VD1), защищающие транзистор от выбросов отрицательного напряжения и снижающие помехи в цепи питания. Резистор R1 задаёт коэффициент насыщения транзисторного ключа из расчёта Кн = 1.1 ...2; б) для уменьшения паразитной монтажной ёмкости между базой транзистора VT1 и линией МК используются два последовательных резистора Rl, R2. Это помогает для уменьшения так называемых «наносекундных» импульсных помех, возникающих при переключении высоковольтных или мощных нагрузок. Появление «наносекундных» помех заранее предсказать сложно, поэтому надобность в двух базовых резисторах определяется экспериментально; в) резистор R3 ставят, чтобы транзистор VT1 был надёжно закрыт при переводе линии МК в Z-состояние. Это происходит каждый раз при рестарте МК, а также при начальной подаче питания или при ошибках в программе, когда выход случайно настраивается как вход. Обычно отношение сопротивлений R2.R3 выбирают 1:2... 1:10, но для увеличения быстродействия можно принять 1:1 или даже 2:1. Как следствие, снижается Кн, быстрее разряжается входная ёмкость, но может потребоваться подбор транзистора по коэффициенту передачи Л21Э. Резистор R1 обозначен пунктиром. Его ставят вместо резистора R3, но не часто, поскольку увеличивается расход энергии и невозможно регулировать рабочую точку транзистора. С другой стороны, схема становится универсальной как для биполярных, так и для полевых транзисторов. Резисторы Rl, R3 не обязательны в следующих случаях: при работе в узком температурном диапазоне (комнатной температуре), при низкоомной нагрузке в коллекторе транзистора К77, при отсутствии помех, при низком обратном токе /КБ0, что характерно для современных кремниевых транзисторов;
Рис. 2.67. Схемы подключения к МК однотранзисторных ключей на биполярных транзисторах (продолжение): г) стабилитрон VD1 повышает помехоустойчивость срабатывания ключа VT1, если, например, к выходу МК подключается внешняя нагрузка к питанию, которая поднимает НИЗКИЙ логический уровень с 0.1...0.2 до 0.7... 1.5 В; д) диод VD1 с одной стороны повышает помехоустойчивость, с другой стороны защищает МК от попадания в порт высокого напряжения в случае пробоя перехода «база — коллектор» транзистора VT1; е) линия МК имеет выход с открытым или квазиоткрытым стоком, поэтому в схему добавляется резистор R1, который определяет ток базы транзистора VT1. При рестарте МК транзистор VT1 открывается и через его коллектор какое-то время протекает полный ток нагрузки. Это нормально, если нагрузкой является безобидная индикаторная лампа, но может стать проблемой, если нагрузкой служит мощный пусковой двигатель. Данную схему также применяют для тестирования канала АЦП. Линия порта переводится в режим входа АЦП без «pull-up» резистора и программно измеряется напряжение в точке соединения резисторов Rl, R2. Если напряжение близко к питанию +5 В, значит переход «база — эмиттер» транзистора VT1 находится в обрыве. Если напряжение 0.7... 1 В, то по закону Ома вычисляют ток через резистор R1 и, зная коэффициент /*21Э, приближённо оценивают ток в нагрузке RH; ж) иногда стараются во чтобы то ни стало включить/выключить нагрузку «скачком», но в данной схеме фронты специально сглаживаются конденсатором С1 и индуктивностью Ы; з) аналогично Рис. 2.67, в, но для транзистора VT1 структурыр—п—р и с активным НИЗКИМ уровнем на выходе МК; и) пример диодной защиты транзистора VT1 при работе на индуктивную нагрузку, в качестве которой выступает первичная обмотка трансформатора 77;
Рис. 2.67. Схемы подключения к МК однотранзисторних ключей на биполярных транзисторах (продолжение): к) эмиттерный повторитель на транзисторе VT1 выполняет функцию неинвертирующего ключа с уменьшенной на 0.6. ..0.7 В амплитудой выходного сигнала. Резистор R2 закрывает транзистор во время рестарта МК. Резистор R1 ставится вместо резистора R2, если требуется, чтобы нагрузка в момент сброса была включена, а не выключена. Для повышения быстродействия резистор R3 можно заменить перемычкой, при этом сопротивление нагрузки RH и коэффициент передачи п2]Э транзистора VT1 должны быть достаточно большими, чтобы ток базы не превышал 20...25 мА. С другой стороны, резистор R3 служит фильтром ВЧ-помех, которые могут извне проникать через коллекторную ёмкость транзистора VT1. Кроме того, резистор R3 защищает МК от высокого напряжения +9 В при пробое перехода «база — коллектор» транзистора VT1; л) резистором R1 плавно регулируется напряжение в нагрузке RH от 0 до 4.3 В. Ток эмиттера, а значит и ток нагрузки, в первом приближении в Н2]Э раз больше тока базы транзистора VT1. Установкой НИЗКОГО уровня на линии МК нагрузку можно гарантированно обесточить. Амплитуда сигнала в нагрузке будет в той же степени зависеть от температуры окружающей среды, что и напряжение 11БЭ транзистора VT1; м) линия МК имеет выход с квазиоткрытым стоком, совмещённым с входом АЦП. Ток через стабилитрон VD1 задаётся резистором R1. Когда транзистор VT1 открыт, то напряжение в нагрузке RH составляет примерно +3.2 В (зависит от разброса порогового напряжения стабилитрона VD1). При помощи входа АЦП можно измерить точное напряжение на стабилитроне VD1\ н) при ВЫСОКОМ уровне на линии МК напряжения на выходах J7Bbm, #вых2 составляют, соответственно, 4.3 и 1.25 В. При НИЗКОМ уровне на линии МК эти напряжения равны нулю; о) цепочка Rl, С1 сглаживает переходные процессы на фронтах сигнала управления; п) внутри микросхемы DA1 находится полевой транзистор с защитным диодом между выводами 2 и 3 (переход «сток — исток»);
Рис. 2.67. Схемы подключения к МК однотранзисторных ключей на биполярных транзисторах (окончание): р) рабочий ток в нагрузке RH стабилизируется микросхемой DA1 и рассчитывается по формуле /Н[А] = 1.25 /(Л2.,[Ом] + Л3[Ом]), где R2A — это сопротивление между средним и правым выводами резистора R2 после регулирования. Частота импульсов с выхода МК может быть достаточно большой, вплоть до 1 МГц; с) подключение IGBT-транзистора VT1 к МК через мощный драйвер на микросхеме DAL Резистор R1 ограничивает амплитуду тока заряда входной ёмкости транзистора VT1; т) транзистор VT1 включается по схеме с общей базой, что позволяет коммутировать нагрузку RH, соединённую с источником отрицательного напряжения. Резистор R1 задаёт рабочий ток в нагрузке. Приближённая формула для расчёта /н[мА] = (4.9 - 1/БЭ) /Л,[кОм]; у) ток в нагрузке RH регулируется вручную переменным резистором R2. Существует также программный способ регулирования через канал ШИМ МК и ЛС-фильтр /?/, С/. Постоянное напряжение на конденсаторе С1 может использоваться как опорное для других узлов. 2.4.2. Двухтранзисторные биполярные ключи «Один в поле не воин». Так можно символически охарактеризовать однотран- зисторные ключи. Естественно, в паре с себе подобными решать поставленные задачи гораздо легче. Введение второго транзистора позволяет снизить требования к разбросу и величине коэффициента передачи А21Э- Двухтранзисторные ключи широко применяются для коммутации повышенных напряжений, а также для пропускания большого тока через нагрузку. На Рис. 2.68, а...у приведены схемы подключения двухтранзисторных ключей на биполярных транзисторах к МК.
Рис. 2.68. Схемы подключения двухтранзисторных ключей на биполярных транзисторах (начало): а) транзистор VT1 служит эмиттерным повторителем. Он усиливает ток и через ограничительный резистор R2 подаёт его в базу транзистора VT2, который непосредственно управляет нагрузкой RH; б) транзисторы К77, VT2 включены по схеме Дарлингтона (другое название «составной транзистор»). Общее усиление равно произведению коэффициентов передачи И2]Э обоих транзисторов. Транзистор VT1 обычно ставят маломощный и более высокочастотный, чем VT2. Резистор R1 определяет степень насыщения «пары». Сопротивление резистора R2 выбирается обратно пропорционально току в нагрузке: от нескольких сотен ом до десятков килоом; в) схема Д. Бокстеля. Диод Шоттки VD1 ускоряет запирание мощного транзистора VT2, повышая в 2...3 раза крутизну фронтов сигнала на частоте 100 кГц. Тем самым нивелируется основной недостаток схем с транзисторами Дарлингтона — низкое быстродействие; г) аналогично Рис. 2.68, а, но транзистор VT1 открывается при переводе линии МК в режим входа с Z-состоянием или входа с внутренним «pull-up» резистором. В связи с этим уменьшается токовая нагрузка на линию порта, но снижается экономичность за счёт рассеяния дополнительной мощности на резисторе R1 при НИЗКОМ уровне на выходе МК; д) «самозащищённый ключ» на силовом транзисторе VT2 и ограничивающем транзисторе VTL Как только ток в нагрузке RH превысит определённый порог, например, из-за аварии или замыкания, на резисторе R3 выделяется напряжение, достаточное для открывания транзистора VT1. Он шунтирует базовый переход транзистора VT2, вызывая ограничение выходного тока; е) двухтактный усилитель импульсов на транзисторах разной структуры;
Рис. 2.68. Схемы подключения двухтранзисторных ключей на биполярных транзисторах (продолжение): ж) транзистор VT2 открывается с относительно малой задержкой по времени (R2, VD1, С/), а закрывается — с относительно большой задержкой по времени (С/, R3, VT1); з) высоковольтный ключ, обеспечивающий фронты импульсов 0.1 мкс при частоте повторения до 1 МГц. В исходном состоянии транзистор VT1 открыт, a VT2 закрыт. На время импульса транзистор VT1 открывается и через него быстро разряжается ёмкость нагрузки RH. Диод VD1 исключает протекание сквозных токов через транзисторы VT1, VT2; и) составной эмиттерный повторитель на транзисторах К77, VT2 обладает сверхбольшим коэффициентом усиления по току. Резистор /с2 гарантированно закрывает транзисторы при НИЗКОМ уровне на выходе МК; к) транзистор VT1 в открытом состоянии блокирует транзистор VT2. Резистор R1 служит коллекторной нагрузкой транзистора VT1 и ограничителем базового тока для транзистора VT2; л) мощный двухтактный каскад с буферной логической микросхемой DDI, которая имеет выходы с открытым коллектором. Сигналы с двух линий МК должны быть противофазными. Резисторы R5, R6 ограничивают токи в нагрузке, подключаемой к цепи UBblx;
Рис. 2.68. Схемы подключения двухтранзисторных ключей на биполярных транзисторах (продолжение): м) ключ для нагрузки RH, которая подключается к источнику отрицательного напряжения. Транзистор VT1 служит эмиттерным повторителем, а транзистор VT2 — усилителем с общей базой. Максимальный ток нагрузки определяется по формуле /н[мА] = 3.7/Л,[кОм]. Диод VDJ защищает транзистор VT2 от переполюсовки питания. н) ключ на транзисторах разной структуры. Резистор R1 определяет ток в нагрузке RH, но подбирать его надо осторожно, чтобы не превысить ток базы транзистора VT2 при полностью открытом транзисторе VTL Схема критична к коэффициентам передачи обоих транзисторов; о) аналогично Рис. 2.68, н, но транзистор VT1 используется как ключ, а не как переменное сопротивление. Ток в нагрузке задаётся резистором R4. Резистор R5 ограничивает начальный пусковой ток транзистора VT2 при большой ёмкостной составляющей нагрузки RH. Схема не критична к коэффициентам передачи транзисторов. Если в качестве VT2 используется «супербета» транзистор КТ825, то сопротивление R4 следует увеличить до 5.1... 10 кОм; п) практический пример коммутации высоковольтного напряжения 170 В при низком токе нагрузки при сопртивлении RH не менее 27 кОм; р) аналогично Рис. 2.68, н, но с активным НИЗКИМ уровнем на выходе МК;
Рис. 2.68. Схемы подключения двухтранзисторных ключей на биполярных транзисторах {окончание): с) транзисторы VT1 и VT2 работают в противофазе. Напряжение в нагрузку RH подаётся через транзистор VT2 и диод VD1, при этом транзистор VT1 должен быть закрыт ВЫСОКИМ уровнем с верхнего выхода МК. Чтобы снять напряжение с нагрузки, транзистор VT2 закрывается ВЫСОКИМ уровнем с нижнего выхода МК, после чего транзистор VT1 открывается и через диод VD2 ускоренно разряжает ёмкость нагрузки. Достоинство — высокое быстродействие, возможность быстрой повторной подачи напряжения в нагрузку; т) на МК подаётся «взвешенное» и отфильтрованное питание в диапазоне 4...4.5 В. Обеспечивают это гасящий стабилитрон VD1 и помехоподавляющий конденсатор С1. При ВЫСОКОМ уровне на выходе МК транзисторы К77, VT2 закрыты, при НИЗКОМ — открыты. Максимально допустимый ток стабилитрона VD1 должен быть таким, чтобы он был больше суммы тока потребления МК, тока через резистор R1 при НИЗКОМ уровне на выходе МК и тока внешних цепей, если они подключены к МК по другим линиям портов; у) видеоусилитель на транзисторах VT1 и VT2, которые включены по схеме Шиклаи (Sziklai). Это разновидность схемы Дарлингтона, но на транзисторах разной проводимости. Данная «парочка» эквивалентна одному транзистору структуры п—р—п со сверхвысоким коэффициентом усиления /*21Э. Диоды VD1, KD2 защищают транзисторы от выбросов напряжения, проникающих извне по цепи ишх. Резистор R1 ограничивает ток при случайном коротком замыкании в кабеле, подстыкованном к внешней удалённой нагрузке 75 Ом.
2.4.3. Ключи на полевых транзисторах Полевые транзисторы служат опорой современной микроэлектроники. Без них не было бы ни СБИС, ни ПЛИС, ни МК. Все современные компьютеры, мобильные телефоны, ноутбуки построены на полевых транзисторах, и достойной альтернативы им пока не видно. На выходах портов МК находятся каскады с полевыми транзисторами. Казалось бы, что подключить к ним ещё одного полевого «тёзку» — проще простого. Однако новичок-радиолюбитель впадает в шоковое состояние, узнав, что существуют десятки разновидностей полевых транзисторов с разной структурой проводимости, разной топологией изоляции затвора, разной технологией легирования канала, разными фирменными названиями и брэндами, а также разными условными графическими изображениями на электрических схемах. К счастью, в цифровой, импульсной и преобразовательной технике, как правило, используются полевые МДП-транзисторы с изолированным затвором, имеющие п- или /^-проводимость канала. Это достаточно узкий класс электронных приборов, хорошо исследованный и легко поддающийся изучению. Для прямого сопряжения с МК подойдут те полевые транзисторы, которые имеют низкое напряжение отсечки «затвор — исток» (параметр Gate Theshold Voltage в пределах 0.5...2.5 В). Технологические достижения последнего десятилетия сделали такие транзисторы малогабаритными и дешёвыми. Мощные полевые транзисторы обычно подключаются к МК через буферные каскады. Если сравнивать полевые и биполярные транзисторы, то выводы «база — коллектор — эмиттер» (Base — Collector — Emitter) в первом приближении эквивалентны выводам «затвор — сток — исток» (Gate — Drain — Source). Соответственно, схемы ключевых каскадов у них будут очень похожими. Из отличий — полевые транзисторы управляются напряжением, а не током. Они имеют высокое входное и низкое выходное сопротивление, что улучшает экономичность. С другой стороны, большая ёмкость перехода «затвор — исток» 100...3000 пФ снижает быстродействие, а значительный технологический разброс параметров заставляет проектировать схемы с перестраховкой и с запасом «на всякий пожарный случай». В Табл. 2,11 приведены типовые параметры полевых транзисторов разной мощности. Транзисторы с я-каналом аналогичны транзисторам структуры п—р—п, а транзисторы с /ьканалом — транзисторам структуры р—п—р. Только вот стрелки на условном изображении полевых транзисторов имеют направление, прямо противоположное своим биполярным аналогам. Таблица 2.11. Параметры полевых транзисторов Полевые транзисторы Л>аб [ВТ] А>аб мах [А] ^откр [Ом] «-канальные маломощные (IRLML2402 и т.д.) 20...30 0.5...2 1...4.5 0.1...0.35 /ьканальные маломощные (IRLML6402 и т.д.) 20...30 0.5...2 1...3 0.05...0.2 я-канальные мощные (IRF630 и т.д.) 60... 1000 30...200 3...100 0.01...2 /7-канальные мощные (IRF9520 и т.д.) 60...200 20...200 1...30 0.05...1.5 На Рис. 2.69, а...ж и Рис. 2.70, а...г приведены схемы ключевых каскадов соответственно с одним и двумя полевыми транзисторами. На Рис. 2.71, а...г представлены варианты совместного включения полевых и биполярных транзисторов.
Рис. 2.69. Схемы подключения одного полевого транзистора к МК (начало): а) классический инвертирующий ключ на я-канальном транзисторе VTL Главным параметром при выборе транзистора является напряжение отсечки затвора, которое при рабочем токе нагрузки RH не должно превышать напряжение питания МК. Резистор R3 (R1) сопротивлением 51...510 кОм ставят, чтобы транзистор VT1 был закрыт в следующих случаях: при рестарте МК, при срабатывании супервизора просадок питания, при пропадании напряжения +5 В, при переводе линии МК в Z-состояние. Резистор R3 ускоряет разряд ёмкости затвора. Резистор R2 защищает линию МК от наводок большой амплитуды через цепь затвора со стороны стока при коммутации мощных нагрузок. Он обязателен при высоких напряжениях в нагрузке и большом уровне помех. Резисторы R1, ^допускается не ставить, если нагрузка не критична к случайным включениям. По большому счёту затвор полевого транзистора VT1 в данной схеме может «висеть в воздухе», поскольку его защищают от статического электричества внутренние диоды МК; б) диоды VD1, VD2 ставят для защиты полевого транзистора VT1 от выбросов напряжения в индуктивной нагрузке и для снижения помех в цепи питания. Современные полевые транзисторы серии MOSFET имеют встроенные мощные диоды, аналогичные VD2. Резисторы Rl, R2 можно не ставить при низких напряжениях и резистивной нагрузке; в) гальванически изолированое включение/выключение транзистора VT1. На выходе МК генерируется ВЧ-сигнал, который выпрямляется и фильтруется элементами VD1...VD4, СЗ, R2. Стабилитрон VD5 защищает затвор транзистора VT1. Трансформатор Т1 наматывается на кольце из феррита N30, обмотка I содержит 15, а обмотка II — 30 витков провода ПЭВ-0.2; г) ключ на полевом /?-канальном транзисторе VT1 эквивалентен ключу на биполярном транзисторе р—п—р. При ВЫСОКОМ уровне на выходе МК транзистор VT1 закрыт, а при переводе в режим входа с Z-состоянием транзистор открывается из-за наличия резистора R1;
Рис. 2.69. Схемы подключения одного полевого транзистора к МК (окончание): д) предохранитель FU1 срабатывает при аварийном токе в нагрузке ЯИ; е) часть схемы электронного дверного звонка. Защита транзистора VT1 производится варисторами RU1, RU2 и конденсатором С1. Индикатор прихода гостей — светодиод НЫ; ж) диод VD1 защищает линию МК от высокого напряжения при пробое транзистора VT1 и от наведенных помех при наличие мощной индуктивной нагрузки RH. Рис. 2.70. Схемы подключения двух полевых транзисторов к МК (начало): а) последовательное включение п- и р-канальных транзисторов VT1, VT2 для коммутации «высоковольтной» нагрузки RH. Диод VD1 ускоряет разряд ёмкости затвора транзистора VT1; б) параллельное включение двух полевых транзисторов для увеличения тока нагрузки; в) DA1 — это специализированный драйвер (фирма International Rectifier), обслуживающий мощные полевые транзисторы VT1, VT2 (ток по 1.5 А). Диод VD1 повышает надёжность;
Рис. 2.70. Схемы подключения двух полевых транзисторов к МК (окончание): г) преобразователь постоянного напряжения 12 В в переменное напряжение 220 В (DC/AC). Двухтактный каскад на транзисторах VT1, VT2 управляется буферной логической микросхемой DDI. Сигналы с выходов М К должны быть противофазными, но с небольшой «бестоковой» паузой, равной 10% от длительности периода (для устранения сквозных токов и повышения КПД). Конденсатор С 7 компенсирует реактивность обмотки трансформатора 77 и приближает форму выходного сигнала 50 Гц к синусоиде. Рис. 2.71. Схемы подключения одного полевого и одного биполярного транзисторов к МК (начало): а) буферный биполярный транзистор VT1 управляет мощным полевым транзистором VT2. Подбором резистора R4 можно уменьшить выбросы напряжения на стоке транзистора VT2, возникающие в момент переключения сигнала; б) биполярный ключ на транзисторе VT1 (возможная замена КТ503) ускоряет разряд ёмкости затвора мощного полевого транзистора VT2. Конденсатор С/ увеличивает крутизну фронта сигнала, поступающего с выхода МК. Резистор R1 обеспечивает открытое состояние транзистора VT1 и закрытое состояние транзистора VT2 при рестарте МК;
Рис. 2.71. Схемы подключения одного полевого и одного биполярного транзисторов к МК (окончание): в) резисторы Rl, R2 одновременно не дают «висеть в воздухе» базе транзистора VT1 и затвору транзистора VT2при рестарте МК; г) маломощный биполярный транзистор VT1, как правило, дешевле полевого аналога, а полевой транзистор VT2 обеспечивает более низкое падение напряжения в открытом состоянии, чем биполярный аналог. 2.4.4. Многотранзисторные ключи Использование трёх и более транзисторов для организации ключевого каскада должно быть вызвано вескими причинами. В основном это касается высоковольтных узлов, а также устройств, имеющих несколько разных источников питания. На Рис. 2.72, а...к приведены схемы подключения многотранзисторных ключей кМК: Рис. 2.72. Схемы подключения многотранзисторных ключей к МК (начало): а) в исходном состоянии транзисторы VT1, VT3 закрыты, VT2 открыт. Импульсом с выхода МК открывается транзистор К77, ток через стабилитрон VD1 уменьшается, транзистор VT2 закрывается, транзистор VT3 открывается; б) трёхтранзисторный ключ на полевых транзисторах, применяемый в некоторых микроконтроллерных программаторах;
Рис. 2.72. Схемы подключения многотранзисторных ключей к МК (продолжение): в) на транзисторах К77, VT2 собран обычный двухтранзисторный ключ. Транзистор VT3 в открытом состоянии через низкоомный резистор R3 быстро разряжает ёмкость внешней нагрузки или временно подключает параллельно цепи UBblx резистор R3 для тестовой проверки; г) имитатор вызывного сигнала телефонной линии с двухтактным выходным каскадом. В исходном состоянии транзистор VT1 закрыт, на выходе напряжение отсутствует ишх = 0. Сигнал с линии МК проходит на выход только при открытом транзисторе VTJ, когда закрывается диод VD2 и от базы транзистора VT2 отключается резистор R2. Диод VD1 нужен, если внутри МК отсутствует «верхний» защитный диод или существует опасность аварийного попадания высокого напряжения; д) транзисторы VT2, VT4 открывают мощный ключ VT5 и ускоренно заряжают его входную ёмкость, а транзисторы VT1, VT3 — закрывают VT5 и ускоренно разряжают его входную ёмкость. Сигналы с выходов МК должны быть противофазными. е) формирование двух противофазных высоковольтных импульсов ишХ1 и ишх2 от одной линии МК. Инверсию сигнала осуществляет транзистор VT1. Остальная часть схемы выполнена для унификации одинаково, с двумя полностью симметричными каналами;
Рис. 2.72. Схемы подключения многотранзисторных ключей к МК (окончание): ж) защита мощного полевого транзистора VT3 по току производится биполярным транзистором VT2, который открывается, когда падение напряжения на измерительном резисторе R5 превысит 0.7 В. Порог срабатывания защиты определяется по формуле /ЗАЩ[А] = 0.7/і?5[Ом]. Схема рекомендуется для лабораторных условий. Низкоомный резистор R2 снижает вероятность ^контролированного самовозбуждения транзистора VT1 в радиочастотном диапазоне; з) биполярный транзистор VT1 позволяет сэкономить одну линию порта МК, поскольку «раскачивает» полевой транзистор VT2; и) управление мощным IGBT-транзистором VT3 фирмы International Rectifier. Для справки, IGBT (Insulated Gate Bipolar Transistor) — это биполярный транзистор с изолированным затвором, гибрид полевой и биполярной технологии. Если нагрузка RH имеет индуктивную составляющую, то коллектор IGBT-транзистора надо дополнительно защищать стандартными цепочками демпферов, состоящих из резисторов, конденсаторов, диодов, сапрессоров; к) если транзистор VT2 закрыт, то подача напряжений на нагрузки ^Н(і)--^н(4) невозможна. Резистор R1 закрывает транзистор VT2 при рестарте МК. Транзистор VT2 должен быть мощным, чтобы пропускать токи всех нагрузок. Подобная схема эффективна, когда с нижней линии МК осуществляется синхронная модуляция выходных токов. Если же требуется простое отключение нагрузок, то можно удалить элементы R7, VT2, «заземлить» истоки транзисторов VT1, VT3...VT5 и одновременно устанавливать НИЗКИЕ уровни на всех четырёх верхних выходах МК.
2.4.5. «Цифровые» транзисторы Рис. 2.73. Схемы внутреннего устройства «цифровых» транзисторов: а) со структурой п—р—п; б) со структурой р—п—р. Типовые параметры биполярных «цифровых» транзисторов: UKMAK = 20...50 В, /КМАХ = 50...500 мА, А21Э = 20... 120, Рк = 0.25...0.5 Вт. Технологический диапазон реализуемых сопротивлений 1...200 кОм. Отношение сопротивлений резисторов Д, :Я2 подчиняется ряду- 1:1; 1:2; 1:3; 1:4; 1:10; 1:20; 2:1; 4:1 (Табл. 2.12). Ценно то, что резисторы в сборках «настоящие», которые можно прозвонить извне омметром, а не полупроводниковые, имеющие значительную нелинейность. Таблица 2.12. Сопротивления резисторов в базовых делителях «цифровых» транзисторов R1 [кОм] 1...100 10 1...4.7 1...22 47 1...200 — R2 [кОм] 1...100 4.7 10 47 10...22 — 10...100 «Цифровые» транзисторы по стоимости несколько дороже, чем обычные. Применяют их прежде всего там, где требуется высокая плотность монтажа. Наибольшей популярностью пользуются «цифровые» транзисторы в SMD-исполнении, хотя встречаются модели и в обычном трёхвыводном корпусе ТО-92. Схемы подключения «цифровых» транзисторов к М К аналогичны схемам с од- нотранзисторными ключами. Характерные примеры показаны на Рис 2.74, а...г. В биполярных транзисторных ключах, как ни старайся, но приходится ставить резисторы, ограничивающие базовый ток. Напрашивается идея — имплантировать миниатюрные резисторы внутрь корпуса транзистора и получить трёхвыво- дной компонент, не требующий внешней «обвязки». Первыми идею реализовали специалисты японской фирмы ROHM, затем появились аналогичные изделия фирм Motorola и Siemens. Новые ЭРИ назвали «цифровыми» транзисторами (англ. «digital transistor»), поскольку на их входы можно подавать сигналы непосредственно с выходов цифровых логических микросхем. На Рис. 2.73, а, б показаны типовые схемы внутреннего устройства «цифровых» транзисторов. Другие разновидности встречаются реже. Например, отсутствует один из резисторов или в одном корпусе размещается несколько транзисторов, которые соединяются между собой сложными резисторными связями. Известны пяти- и шестивыводные «цифровые» транзисторные сборки, в том числе гибриды из полевых и биполярных транзисторов и т.д.
Рис. 2,74. Схемы подключения «цифровых» транзисторов к МК: а) «цифровой» транзистор VT1 подключается прямо к выходу М К без дополнительных резисторов. Ток нагрузки должен быть меньше, чем допускается для VT1 по даташиту; б) схема применяется, если нагрузка RH должна обязательно соединяться с цепью GND. Сопротивление базового резистора в транзисторе VT1 (а значит и последняя буква в его названии) выбирается в зависимости от тока нагрузки — чем больше ток, тем меньше сопротивление; в) коммутация нагрузки /?н, подключённой к источнику положительного напряжения; г) коммутация нагрузки /?н, подключённой к источнику отрицательного напряжения. 2.4.6. Узлы включения/выключения питания Слова «ключ», «включение» и «выключение» являются однокоренными. Логично предположить, что и схемы электронных узлов, которые включают/выключают питание для различных устройств по сигналам от МК, будут в основном базироваться на транзисторных ключах (Рис. 2.75, а...к). Рис. 2.75. Схемотехника узлов включения/выключения питания (начало): а) МК(1) управляет питанием МК(2), правда, с пониженным на 0.3... 1 В напряжением и током, зависящим от числа запараллеленных выходов. Цепочка R1,C1 фильтрует питание;
Рис. 2.75. Схемотехника узлов включения/выключения питания (продолжение): б) питание на МК(1) и передача данных от МК( 1) в МК(2) производится по одному и тому же проводу. Диод VD1 не даёт разряжаться конденсатору С/ во время открытого состояния транзистора VTI, т.е. питание МК(1) какое-то время поддерживается самостоятельно. Разумеется, надо периодически выставлять на выходе МК(1) НИЗКИЙ уровень, чтобы подзаряжать конденсатор С/до напряжения +4...+4.5 В через элементы VDI, R2; в) подача питающего напряжения +1.5...+1.8 В на низкопотребляющие «батарейные» приборы, условно обозначенные как RH (игрушки, музыкальные открытки, ЖКИ, наручные часы). Резистором R1 можно выставить желаемую яркость свечения индикатора HL1, а заодно и подрегулировать в небольших пределах напряжение питание прибора; г) транзистор VT1 подаёт питание на ОУ DA1 и на другие узлы, подключённые параллельно конденсатору фильтра С/. ВЫСОКИМ уровнем на выходе МК питание отключается; д) подача питания +4.6...+4.9 В на ИК-модульЛ/ через фильтр Rl, CL Резистор R1 к тому же ограничивает начальный ток заряда конденсатора С/, чем облегчает нагрузку на линию МК; е) когда транзистор VT1 открывается ВЫСОКИМ уровнем с линии МК, то стабилизатор DA1 полностью отключает ток в цепи питания +4.8 В. Если транзистор VT1 закрыт, то выходное напряжение стабилизатора DA1 становится равным ^ВЫХ[В] = 1.25(1 + /?3[Ом]/R2[Om]); ж) напряжение в нагрузке RH (это может быть любое функционально законченное устройство) стабилизируется элементами Rl, VD1, при этом линия МК должна находиться в режиме входа с Z-состоянием. Если в МК имеется АЦП, то можно измерить напряжение на стабилитроне VD1, а значит проконтролировать подачу питания на устройство. Если линию МК перевести в режим выхода и установить НИЗКИЙ уровень, то нагрузка обесточится;
Рис. 2.75. Схемотехника узлов включения/выключения питания (окончание): з) МК подаёт питание на «музыкальную» микросхему DA1, которая проигрывает мелодию. Диод VD1 компенсирует падение напряжения на переходе «база — эмиттер» германиевого транзистора VT1. Микросхему DA1 можно заменить чипом от музыкальной открытки; и) ключи на транзисторах К77, VT2 подают напряжение +18 В на стабилизатор DA1 (может иметь различные выходные напряжения) и далее на питание какого-либо узла или устройства; к) включение/выключение звука путём прямой подачи питания от МК на вывод 4 ОУ DA1. 2.4.7. Узлы управления режимами и параметрами МК может не только подавать питание на различные устройства, но и управлять режимами их работы (Рис. 2.76, а...п) и параметрами (Рис. 2.77, а...л). Рис. 2.76. Схемы узлов управления режимами работы (начало): а) дискретное регулирование усиления ОУ DA1 в пределах 1... 1000 от двух выходов МК;
Рис. 2.76. Схемы узлов управления режимами работы {продолжение): б) изменение режима функционирования преобразователя напряжения DA1 (фирма Maxim/ Dallas): НИЗКИЙ уровень на входе 7 — спящий режим, ВЫСОКИЙ — нормальная работа; в) включение звука в китайском будильнике А1. Общий ток потребления устройства в дежурном режиме составляет единицы микроампер; г) при подаче питания сигнал сброса «RES» формируется цепочкой R3, С1. Для принудительного сброса на выходе МК формируется положительный импульс, при этом открывается транзистор VT1, конденсатор С1 разряжается через резистор R2 и заряжается через R3; д) НИЗКИМ уровнем с выхода МК временно блокируется работа оптопары VU1 через вывод базы внутреннего фототранзистора. Это может пригодиться при тестировании оптопары или для снижения уровня помех в паузах между приёмами полезного сигнала; е) М К управляет работой синхронного ВЧ-демодулятора. Изменяя фазу и частоту импульсов на выходе МК, можно динамично подстраиваться под параметры сигнала £/вх;
Рис. 2.76. Схемы узлов управления режимами работы (продолжение): ж) А1 — это индикаторный модуль с «интеллектуальным» АЦП (фирма Lascar Electronics), имеющий встроенный семисегментный 3.5-разрядный светодиодный дисплей. Десятичные точки на нём засвечиваются выставлением НИЗКОГО уровня на соответствующем выходе МК; з) полевой транзистор VT1 соединяется последовательно с динамиком BAJ, что необходимо для отключения звука, например, при начальной подаче питания (устранение «щелчков»). Для включения звука надо установить ВЫСОКИЙ уровень на выходе МК. Если с линии МК генерировать импульсы, то они будут модулировать по амплитуде звуковой сигнал в динамике ВА1; и) изменение тембра звука, поступающего с микрофона ВМ1. Если транзистор VT1 открыт, то конденсатор С1 ослабляет высокие частоты, делая звук более приглушённым; к) двухканальное управление полярностью сигналов на выходах драйвера RS-232 DA1. Разность выходных напряжений между каналами может достигать 18...20 В по абсолютной величине (зависит от сопротивления нагрузки); л) противофазные логические уровни с выходов МК изменяют направление передачи сигнала в реверсивном усилителе, который собран на полевом транзисторе VT1. Здесь используется свойство обратимости полевых транзисторов, когда названия «сток» и «исток» являются символическими, а сами выводы на практике во многих случаях можно поменять местами;
Рис. 2.76. Схемы узлов управления режимами работы {продолжение): м) МК уменьшает/увеличивает коэффициент передачи ОУ DA1, открывая/закрывая полевой транзистор VT1. Усиление в закрытом состоянии транзистора определяется сопротивлением резистора R4. В открытом состоянии к нему параллельно добавляется резистор R3; н) «цифровой» потенциометр DA1 имеет два крайних вывода «Н», «Ь> и средний вывод «W». Потенциометр изменяет своё сопротивление дискретно в 100 градациях по сигналам от МК. Как следствие, на положительном входе ОУ DA2 устанавливается требуемое опорное напряжение; о) прямой синтез частоты с дискретом 1 Гц при помощи микросхемы DA1 фирмы Analog Devices. Трёхзвенный LC-фильтр {L2...L4, С7...С9, C1L..C14) имеет полосу пропускания 25 МГц. Установку конкретной частоты производит МК по трёхпроводному интерфейсу;
Рис. 2.76. Схемы узлов управления режимами работы (окончание): п) прямой синтез частоты для гетеродина в диапазоне 7.2 МГц при помощи микросхемы DA1 фирмы Analog Devices. Двухзвенный LC-фильтр «очищает» спектр сигнала. Установка частоты производится командами от М К по трёхпроводному интерфейсу. Рис. 2.77. Схемы узлов управления параметрами (начало): а) программируемый источник тока для нагрузки RH. Датчиком тока служит резистор R3, напряжение на котором сравнивается в ОУ DA1 с отфильтрованным сигналом ШИМ; б) плавное регулирование выходного напряжения в нагрузке RH через канал ШИМ; в) ШИМ-управление генератором тока /вых> который содержит элементы DAI, VT1;
Рис. 2.77. Схемы узлов управления параметрами {продолжение): г) сигналы двоичного кода с выходов МК включают/выключают оптопары VUU VU2, при этом суммарное сопротивление резисторов R3...R5изменяется согласно ряду: 10; 20; ЗОк. Сопротивления резисторов Rl, R2 должны быть такими, чтобы транзисторы оптопар гарантированно открывались при любом коллекторном токе; д) дискретное изменение тока, протекающего через транзистор VT1, по сигналам от МК. Транзисторы VT2, VT3 подключают в цепь нагрузочные резисторы R4y R5, при этом выходной ток изменяется тремя ступенями в диапазоне 0...20 мА; е) регулируемый источник напряжения ишх с управлением от резистивного ЦАП через линии МК. Напряжение рассчитывается по формуле £/вых[В] = 2.5(1 + /?х[кОм] /Л2[кОм]), где Rx — это параллельное соединение резистора R3 и активных в данный момент резисторов RA, т.е. тех, которые подключаются к НИЗКОМУ уровню на линиях МК; ж) регулятор мощности низковольтного паяльника со светодиодной индикацией. Для практической работы достаточно иметь 5 или 6 дискретных ступеней ЦАП. Напряжение на выходе стабилизатора DA1 рассчитывается по формуле £/вых[В] = 1.25-(1 + /?х[кОм] /Л2[кОм]), где Rx — это параллельное соединение резистора R3 и активных в данный момент резисторов RAA, т.е. тех, которые подключаются к открытым транзисторам VTL..VTn\
Рис. 2.77, Схемы узлов управления параметрами (окончание): з) аналогично Рис. 2.77, ж, но с ключевым стабилизатором напряжения DA1 фирмы ON Semiconductor. Транзистор VT1 может принудительно выключить микросхему DAl\ и) транзистор VT1 в открытом состоянии подключает конденсатор С7 параллельно звуковому тракту, уменьшая частично или полностью сигнал 1/шх, идущий от микрофона ВМ7; к) М^одновременно управляет 8 нагрузками через драйвер DAL Стабилитрон VD1 защищает ключи микросхемы DA1 от подачи извне больших напряжений; л) параллельное соединение транзисторов VT2, VT3 уменьшает их общее внутреннее сопротивление по высокой частоте.
2.5. Электродвигатели 2.5.1. Транзисторное управление двигателями Электрический двигатель — это машина, преобразующая электрическую энергию в механическую. Первые электродвигатели появились в середине 19 века. Успехи в их разработке связывают с именами таких выдающихся физиков и инженеров, как Н.Тесла, Б.Якоби, Г.Феррарис, В.Сименс. Различают электродвигатели постоянного и переменного тока. Преимущество первых заключается в возможности экономичного и плавного регулирования частоты вращения вала. Преимущество вторых — большая удельная мощность на единицу веса. В микроконтроллерной практике часто применяют низковольтные двигатели постоянного тока, используемые в бытовых и компьютерных вентиляторах (Табл. 2.13). Встречаются также конструкции с сетевыми двигателями. Таблица 2.13. Параметры вентиляторов фирмы Sunon Вентилятор ^рабіВ] /РАБ[А] Поток [м3/ч] Скорость [об/мин] Габариты [мм] KD0501...KD0506 5 0.1...0.39 1...30 4000... 14000 20х20х10...60х60х15 KD1202...KD1206 12 0.06...0.1 3...23 4200... 10000 25х25х10...60х60х10 KD2404...KD2406 24 0.05...0.08 11...30 4000...6000 40х40х10...60х60х15 Обмотку двигателя следует рассматривать как катушку с большой индуктивностью, поэтому её можно коммутировать обычными транзисторными ключами (Рис. 2.78, а...т). Главное — это не забыть про защиту от ЭДС самоиндукции. В двигателях постоянного тока имеется возможность изменять направление вращения ротора в зависимости от полярности рабочего напряжения. В таких случаях широко используют мостовые схемы «Н-bridge» (Рис. 2.79, а...и). Рис. 2.78. Схемы подключения электродвигателей через транзисторные ключи (начало): а) регулирование скорости потока воздуха вентилятора Ml. Конденсатор С/ уменьшает ВЧ- помехи. Диод VD1 защищает транзистор VT1 от выбросов напряжения. Резистор R1 определяет степень насыщения транзистора VT1, а резистор R2 закрывает его при рестарте МК. Частота импульсов ШИМ на выходе МК должна быть не менее 30 кГц, т.е. за пределами звукового диапазона, чтобы исключить неприятный «свист». Элементы С/ и R2 могут отсутствовать; б) плавное регулирование частоты вращения вала двигателя Ml через канал ШИМ. Конденсатор С/ является первичным, а конденсатор С2— вторичным фильтром сигналов ШИМ;
Рис. 2.78. Схемы подключения электродвигателей через транзисторные ключи (продолжение): в) транзисторы VT1, VT2 соединяются параллельно для увеличения суммарного коллекторного тока. Резисторы Rl, R2 обеспечивают равномерную нагрузку по мощности на оба транзистора, что связано с разбросом у них коэффициентов п2]Э и ВАХ переходов «база — эмиттер»; г) двигатель Ml (фирма Airtronics) имеет «цифровой» вход управления, что позволяет подключать к нему МК напрямую. Транзисторные ключи (драйверы) находятся внутри двигателя; д) два отдельных источника питания позволяют значительно снизить влияние на МК электрических помех, которые генерирует двигатель Ml. Система будет работать устойчивее. GB1 — это маломощная литиевая батарея, GB2, GB3 — это пальчиковые гальванические элементы с общим напряжением 3.2 В и мощностью, достаточной для запуска и работы двигателя Ml; е) параллельные резисторы R2, R3 служат ограничителями тока, протекающего через двигатель Ml. Кроме того, они стабилизируют ток в нагрузке, если транзистор VT1 находится в активном режиме или на грани входа в режим насыщения; ж) МК включает/выключает двигатель Ml. Резистором R3 подстраивается частота оборотов его вала. Стабилизатором служит «магнитофонная» микросхема DA1 фирмы Panasonic. С её помощью на зажимах двигателя Ml поддерживаются постоянные параметры, которые практически не зависят от колебаний температуры и напряжения питания; з) дроссели L7, L2 и конденсаторы С/, С2 фильтруют излучаемые двигателем Ml радиопомехи. С той же целью двигатель помещается в заземлённый экранированный корпус;
Рис. 2.78. Схемы подключения электродвигателей через транзисторные ключи (продолжение): и) вибромотор Ml является источником мощных электромагнитных и радиочастотных помех. Элементы L7, L2, С1 служат фильтрами. Резистор R2 ограничивает пусковой ток через двигатель при открытом транзисторе VTL Диоды VD1, VD2 срезают вершины импульсных помех; к) элементы VD1, С1 и VD2, R2 фильтруют помехи по питанию, которые генерирует двигатель МІ в направлении к МК. Частоту оборотов вала двигателя можно плавно регулировать через канал ШИМ МК, при этом отдельный ФНЧ не требуется, поскольку двигатель имеет большую инерцию и сам сглаживает проходящие через него ВЧ-импульсы тока; л) применение ключа на полевом транзисторе VT1 повышает КПД по сравнению с ключом на биполярном транзисторе, ввиду более низкого сопротивления «сток — исток». Резистор R1 ограничивает амплитуду наводок, которые могут «просачиваться» от работающего двигателя Ml во внутренние цепи МК через ёмкость «затвор — сток» транзистора VT1; м) транзистор VT2 является мощным силовым ключом, который подаёт питание на двигатель Ml, а транзистор VT1 — демпфером, который быстро тормозит вращение вала после выключения. Резистор R1 снижает нагрузку на выход МК при заряде ёмкостей затворов полевых транзисторов VT1, VT2. Резистор R2 отключает двигатель Ml при рестарте МК; н) ключ на транзисторах VT1, VT2 собран по схеме Дарлингтона и имеет большое усиление. Для регулирования скорости вращения вала двигателя Ml может применяться метод ШИМ или фазо-импульсное управление. Система не имеет обратной связи, поэтому при снижении скорости вращения из-за внешнего торможения будет уменьшаться рабочая мощность на валу;
Рис. 2.78. Схемы подключения электродвигателей через транзисторные ключи (продолжение): м) встраивание МК в уже существующий тракт регулирования скорости вращения вала двигателя ML В этот тракт входят все элементы схемы, кроме резистора R2. Резистором R4 выставляется «грубая» частота вращения. Точная подстройка осуществляется импульсами с выхода М К. Возможна организация обратной связи, когда М К следит за каким-либо параметром и динамично подстраивает скорость вращения в зависимости от напряжения питания или температуры; о) скорость вращения вала двигателя Ml определяется скважностью импульсов в канале ШИМ, генерируемых с нижнего выхода МК. Основным коммутирующим ключом служит транзистор VT2.2, остальные транзисторные ключи участвуют в быстрой остановке двигателя МІ по сигналу ВЫСОКОГО уровня с верхнего выхода МК; п) плавное регулирование частоты оборотов вала двигателя Ml производится резистором R8. ОУ DA 1 служит стабилизатором напряжения с двойной обратной связью через элементы /?/, R8, С2 и R9, RIO, CL Комбинацией уровней с трёх выходов МК (ЦАП) можно ступенчато изменять скорость вращения вала двигателя Ml (точный подбор резисторами R2...R4). Линии МК могут переводиться в режим входа без «pull-up» резистора для увеличения числа «ступенек» ЦАП;
Рис. 2.78. Схемы подключения электродвигателей через транзисторные ключи {окончание): р) фазо-импульсное управление двигателем переменного тока ML Чем большее время за период сетевого напряжения открыт транзистор VT1, тем быстрее вращается вал двигателя; с) включение мощного двигателя переменного тока Ml производится через оптотиристор VS1, который обеспечивает гальваническую развязку от цепей МК; т) аналогично Рис. 2.78, п, но с одним кольцом обратной связи через элементы С7, R6, R8. Резистор R4 регулирует частоту вращения вала двигателя Ml плавно, а МК — дискретно. Рис. 2.79. Мостовые схемы подключения электродвигателей к МК (начало): а) направление вращения вала двигателя Ml изменяется мостовой «механической» схемой на двух группах контактов реле KL1, KL2. Частота переключения контактов реле должна быть низкой, чтобы быстро не выработался ресурс. Дроссели LI, L2 снижают коммутационные токи при переключении реле и, соответственно, уровень излучаемых электромагнитных помех;
Рис. 2.79. Мостовые схемы подключения электродвигателей к МК (продолжение): б) при ВЫСОКОМ уровне на верхнем и НИЗКОМ уровне на нижнем выходе МК транзисторы VTL..VT3 открываются, а транзисторы VT4...VT6 закрываются, и наоборот. Когда полярность питания двигателя Ml изменяется на противоположную, то его ротор вращается в обратную сторону. Сигналы с двух выходов МК должны быть противофазными, но с небольшой паузой НИЗКОГО уровня между импульсами, чтобы закрыть оба плеча (устранение сквозных токов). Диоды VD1... VD4 уменьшают выбросы напряжения, тем самым защищая транзисторы от пробоя; в) аналогично Рис. 2.79, б, но с другими номиналами элементов, а также с аппаратной защитой от одновременного открывания транзисторов одного плеча при помощи диодов VD3, VD4. Диоды VD1, VD2 повышают помехоустойчивость при большом расстоянии до МК. Конденсатор С/ снижает «искровые» импульсные радиопомехи, генерируемые двигателем Ml;
Рис. 2.79. Мостовые схемы подключения электродвигателей к МК (продолжение): г) аналогично Рис. 2.79, б, но с отсутствием «запирающих» резисторов в базовых цепях транзисторов VT2, VT4. Расчёт на то, что обмотка двигателя Ml достаточно низкоомная, следовательно, при рестарте МК внешние помехи на «висящих в воздухе» базах транзисторов VT1, VT2, VT4, VT6 не смогут открыть их коллекторные переходы; д) аналогично Рис. 2.79, б, но с максимальным упрощением схемы. Рекомендуется для устройств, выполняющих второстепенные функции. Напряжение питания +Еи должно соответствовать рабочему напряжению двигателя Ml; е) в отличие от предыдущих схем, транзисторы VT1...VT4 включаются по схеме с общим эмиттером и управляются ВЫСОКИМ/НИЗКИМ уровнем непосредственно с выходов МК. Двигатель Ml должен быть рассчитан на рабочее напряжение 3...3.5 В. Диоды VD1... VD4 уменьшают выбросы напряжения. Фильтр LI, С1 снижает импульсные помехи по питанию от двигателя Ml, которые могут приводить к сбоям в работе МК. Встречающиеся замены деталей: К77, VT3- КТ972; VT2, VT4- КТ973; VD1...VD4— КД522Б, Я, = 3.3 кОм; R2 = 3.3 кОм; ж) мостовая схема на четырёх управляющих транзисторах VT1, VT2, VT4, VT5 структуры р—п—р. Подстроечным резистором R4 регулируется напряжение на двигателе Ml, а значит, и частота оборотов сразу для двух направлений вращения ротора;
Рис. 2.79. Мостовые схемы подключения электродвигателей к МК (окончание): з) мостовая схема для управления мощным двигателем Ml (24 В, 30 А). Смена полярности напряжения на двигателе производится противофазными уровнями на средних выходах МК, а скорость вращения — методом ШИМ на верхнем и нижнем выходах МК; и) транзисторы VT2, VT5 подают питание на мостовую схему управления двигателем Ml. Их запараллеливание позволяет подключить к диоду VD1 ещё одну такую же схему. 2.5.2. Микросхемы управления двигателями Если мостовую схему вместе с мощными транзисторами и защитными диодами «спрятать» внутрь одного корпуса, то получится интегральная аналоговая микросхема управления двигателем. Преимущество — малые габариты, возможность установки единого радиатора для всех транзисторов, минимум навесных деталей, повышенная надёжность из-за наличия внутренних цепей защиты от коротких замыканий, выбросов напряжения и температурного перегрева кристалла. Микросхему управления двигателем иногда называют микросхемой управления мотором, дословно переводя применяемый в даташитах зарубежный термин
«Motor Drivers». В действительности в английских словарях мирно сосуществуют два родственных термина «motor, engine» (мотор, от лат. «тот, кто двигает») и «engine, motor, mover» (двигатель). Электронщики же обычно употребляют название «электродвигатель» или «сервопривод» для габаритных конструкций, и только для миниатюрных изделий — «микромоторчик». В лентопротяжных механизмах магнитол применяют коллекторные двигатели постоянного тока (КДПТ) с встроенной микросхемой стабилизации частоты вращения вала. Такие двигатели имеют преимущественное направление вращения. Какое именно, надо смотреть по наклейке на корпусе: «CCW» (Contra Clock Way) для левостороннего и «CW» (Clock Way) — для правостороннего вращения. На Рис. 2.80, а...з приведены схемы подключения двигателей к МК через интегральные микросхемы. Рис. 2.80. Схемы подключения двигателей к МК через интегральные микросхемы {начало): а) микросхема DA1 (фирма Toshiba) обеспечивает ток в нагрузке 1 А при мощности 12.5 Вт. Входные сигналы должны иметь КМОП-уровни. На линиях МК возможны сочетания: НИЗКИЙ/НИЗКИЙ — отключение двигателя с обрывом электрических связей (Z-состояние); НИЗКИЙ/ВЫСОКИЙ — прямое питание двигателя; ВЫСОКИЙ/НИЗКИЙ — инверсное питание двигателя; ВЫСОКИЙ/ВЫСОКИЙ — останов двигателя с «заземлением» его выводов; б) аналогично Рис. 2.80, а, но с микросхемой DA1 (фирма ROHM), имеющей ТТЛ-совместимые входы, ток нагрузки 0.5 А, мощность рассеяния 0.7 Вт; в) аналогично Рис. 2.80, б, но с другим типом микросхемы DA1, током нагрузки 1 А и мощностью рассеяния 1 Вт; г) аналогично Рис. 2.80, а, но на микросхеме DA1 (фирма Sanyo), имеющей ток нагрузки 1 А, мощность рассеяния 1 Вт. Конденсатор С1 снижает радиочастотные помехи; д) аналогично Рис. 2.80, б, но с другим типом микросхемы DA1, током нагрузки 0.7 А и мощностью рассеяния 0.8 Вт. Конденсаторы С/, С2 снижают электромагнитные помехи. С той же целью корпус двигателя «заземляется на массу» (общий провод); О
Рис. 2.80. Схемы подключения двигателей к МК через интегральные микросхемы {окончание): е) аналогично Рис. 2.80, б,но с другим типом микросхемы DA1, током нагрузки 2.2 А и мощностью рассеяния 1.6 Вт. При подаче от МК двух ВЫСОКИХ уровней, на выходах микросхемы DA1 появляется не обрыв, а НИЗКОЕ напряжение, выключающее двигатель Ml. Конденсатор С/ устраняет сквозные токи в мостовой схеме выходного каскада. Необязательные резисторы R1, R2 защищают входы МК при внутреннем пробое микросхемы DA1. Если вместо двигателя Ml поставить трансформатор, то получится преобразователь постоянного напряжения +ЕП в «почти переменное», при этом сигналы с выходов МК надо синхронно переключать с достаточно высокой частотой; ж) двухканальный драйвер на микросхеме DA1 фирмы Texas Instruments. Ток нагрузки 0.6 А, мощность рассеяния 2...5 Вт, ТТЛ-совместимые входы, для которых требуется отдельное питание +5 В. Двигатели Ml, М2 вращаются в ту или иную сторону только при противофазных сигналах соответственно на входах «IN1A», «IN1B» и «IN2A», «IN2B». Общее разрешение работы осуществляется подачей ВЫСОКИХ уровней на входы EN1 и EN2 микросхемы DA1; з) автоматическое и ручное управление двигателем Ml через микросхему DA 1 фирмы Sanyo. В среднем положении переключателя S1 направление вращения ротора двигателя влево или вправо задаёт МК, переводя одну из линий в режим выхода с НИЗКИМ уровнем, а вторую — в режим входа с «pull-up» резистором. Когда переключатель S1 устанавливается в крайнее положение, то МК «прослушивает» состояние входной линии и если на ней обнаруживается НИЗКИЙ уровень, значит переключатель S1 активен и управление от выходов МК программно снимается.
2.5.3. Шаговые двигатели Рис. 2.81. Разновидности ШД: а) биполярные; б) униполярные; в) многополюсные. Биполярные ШД (Bipolar Stepper Motors) имеют по одной обмотке в каждой из двух фаз. Ток в обмотках должен переполюсовываться драйвером мостового типа. Итого в биполярном двигателе имеются две обмотки и, соответственно, четыре отвода для внешнего подключения. Униполярные ШД (Unipolar Stepper Motors) аналогичны биполярным, но имеют отвод от середины каждой из обмоток. Это позволяет изменять направление магнитного поля простыми ключевыми каскадами, а не мостовыми схемами. В униполярном ШД средние выводы обмоток могут электрически соединяться внутри корпуса, поэтому в таком двигателе наружу выходят не 6, а 5 отводов. Иногда бывает и 8 отводов, если каждая полуобмотка сделана отдельной секцией. В последнем случае униполярный ШД легко превратить в биполярный. Многополюсные ШД (Multiphase Stepper Motors) характеризуются повышенным числом фаз, обычно 3...5. Соединение обмоток производится по схеме «звезда». Из доступных радиолюбителям ШД наибольший интерес представляют двигатели от флоппи-дисководов, CD-ROM, DVD-ROM. Типовая точность их позиционирования составляет 0.36; 0.72; 0.9; 1.8; 3.6° на один шаг. Рабочее напряжение 1.6... 12 В, сопротивление обмоток 100... 150 Ом. Такие ШД, как правило, являются униполярными двухфазными с 5 или 6 отводами. Управление работой ШД осуществляется подачей напряжений на обмотки «А», «В» или «А», «В», «С», причём различают полношаговые, двухфазные и полушаговые режимы распределения сигналов на временной оси. Формируются они на выходах МК в виде сетки сдвинутых по фазе импульсов. Очень удобно использовать многоканальный ШИМ, если, конечно, он имеется в конкретном МК. На Рис. 2.82, а...ж приведены типовые схемы подключения ШД к МК. Шаговый двигатель (ШД, англ. «stepper motor») — это электромеханическое устройство, которое преобразует электрические импульсы в дискретные механические перемещения. ШД относятся к классу бесколлекторных электродвигателей постоянного тока. Как и любые бесколлекторные двигатели, они имеют высокую надёжность и большой срок службы. Прецизионное механическое позиционирование и установка точного угла поворота осуществляется в ШД без датчика обратной связи, что значительно удешевляет его производство. Из недостатков — для ШД нужны достаточно сложные электрические схемы управления и «хитрые» алгоритмы функционирования. Кроме того, они предназначены только для статических систем, т.е. тех, которые работают без жёстких механических сотрясений и с относительно постоянной нагрузкой на валу. На Рис. 2.81, а...в приведены электрические схемы разновидностей ШД.
Рис. 2.82. Схемы подключения ШД к МК (начало): а) униполярный ШД Ml может иметь 5, а не 6 отводов, если средние точки обмоток LI, L2 соединяются вместе внутри его корпуса. Ключи на транзисторах VT1...VT4 защищаются от пробоя диодами VD1... VD4. Сопротивления резисторов R1...R4 зависят от мощности ШД; б) управление униполярным шаговым двигателем Ml производится программно с трёх выходов МК сериями импульсов. Транзисторные ключи находятся в драйвере DA1 фирмы Sanyo; в) DA1 — это микросхема драйвера (фирма Fairchild), предназначенная специально для управления ШД в флоппи-дисководах и видеокамерах. Мощность рассеяния 1 Вт, ток нагрузки 1 А, последовательный интерфейс. Входы совместимы с логическими уровнями +3 и +5 В; г) необычный ШД на соленоиде Ml, который через анкерный механизм управляет движением минутной и часовой стрелок промышленных вторичных часов «176М». Направление тока в катушке L1 изменяется каждый раз при срабатывании контактов реле К1. Длительность импульса 50... 100 мс, общее потребление электроэнергии около 1 кВт/ч в месяц;
Рис. 2.82. Схемы подключения ШД к МК (окончание): д) управление биполярным ШД Ml осуществляется двумя идентичными мостовыми схемами А1, А2 на транзисторах структуры п—р—п. Линии МК работают в двух режимах — выход с НИЗКИМ уровнем и вход с Z-состоянием. Диоды VD2...VD5 защищают транзисторы VT2, VT3 от ЭДС самоиндукции обмоток ШД; е) управление ШД от специализированной микросхемы DA1 фирмы Allegro MicroSystems. С верхнего выхода МК задаётся направление вращения ШД, с нижнего — количество единичных шагов перемещения по числу генерируемых импульсов; ж) сопротивление каждой из двух обмоток ШД LI, L2 составляет около 75 Ом, поэтому для их коммутации используется мощный драйвер /Ш, имеющий выходы с открытыми коллекторами. Согласно даташиту суммарный ток нагрузки по всем выходам DA 1 составляет 2.5 А. Резисторы RL..R4 не дают срабатывать ШД при рестарте МК или же они устанавливаются при «слабых» микроконтроллерных портах для увеличения мощности ВЫСОКОГО уровня. Допускается отсутствие резисторов R1...R4. Замена микросхемы DAI — ULN2004A, Kl 109КТ23.
2.6. Генерация, модуляция, переключение сигналов 2.6.1. Формирование телевизионных сигналов Современные МК обладают достаточным быстродействием, чтобы формировать сигналы, которые можно подавать непосредственно на НЧ-входы телевизоров и мониторов. Если выбирать между цветным и чёрно-белым изображением, то неоспоримое преимущество, разумеется, у первого из них. Однако в микроконтроллерных устройствах легче реализуется чёрно-белый режим. Изображения могут быть как статические, так и динамические. Например, известны реальные проекты телевизионных игр «Тетрис» и «Ping-Pong», основой которых являются обычные 8-битные МК с тактовой частотой 4...20 МГц. Принцип формирования телевизионного сигнала поясняют диаграммы на Рис. 2.83, где обозначены строчные СИ, кадровые КИ, а также синхронизирующие (ССИ, КСИ) и гасящие (СГИ, КГИ) импульсы. Строго говоря, внутри КСИ и КГИ в настоящем телевизионном сигнале ещё присутствуют уравнивающие и синхронизирующие строчные «врезки», но в микроконтроллерных формирователях их обычно пропускают. Кроме того, для упрощения программной части чересстрочную телевизионную развёртку заменяют прогрессивной. Рис. 2.83. Временные диаграммы телевизионного видеосигнала. Номинальная частота СИ согласно стандартам стран СНГ составляет 15625 Гц, частота КИ — 50 Гц. В пересчёте на период следования импульсов получается, соответственно, 64 мкс и 20 мс. Номинальный размах сигнала от уровня синхроимпульсов до уровня белого — 1 В, от уровня гашения — 0.7 В на нагрузке 75 Ом. С цветным изображением сложнее. Необходимо, чтобы устройство отображения имело три раздельных видеовхода формата RGB (красный-зелёный-синий). Такое встречается в телевизорах, оснащённых евроразъёмом SCART-V (белый цвет кабеля) и SCART-U (чёрный цвет кабеля), а также в телевизорах УЛПЦТ, УПИМЦТ, 2УСЦТ и ЗУСЦТ, оснащённых специальными платами сопряжения.
Из цветных мониторов для работы с МК идеально подходят модели CGA и EGA, которые обеспечивают 16- и 64-цветную палитру с тремя «цифровыми» видеосигналами RGB и одним/двумя синхровходами ТТЛ-уровня. Однако подобные мониторы, применявшиеся в компьютерах IBM PC XT/AT в начале 1980-х годов, сейчас относятся к разряду музейных диковинок. Мониторы стандарта VGA имеют набор входных сигналов подобно цветным телевизорам, но используют более высокую частоту строчной развёртки, как минимум, 31.5 кГц. Желание воспроизвести на экране монитора картинку с разрешением 640x480 точек наталкивается на низкое быстродействие стандартных МК и ограниченый объём их памяти. То же самое относится и к формированию полного цветового телевизионного сигнала (ПЦТС) систем PAL, SECAM, NTSC. В качестве обходного манёвра используют вспомогательные микросхемы, которые принимают сигналы RGB и кодируют их специальным образом для отправки в телевизор по низкой частоте. Такие микросхемы называют видеокодерами или, на английский манер, «video encoder», «RGB encoder», «encoder NTSC/PAJL». Среди множества их разновидностей [2-149] для МК годятся любые аналоговые, как с линиями задержек, фильтрами, так и без них. Цифровые видеокодеры обеспечивают лучшее качество картинки, но требуют высокую частоту дискретизации сигнала 13.5 МГц, что, к сожалению, «неподъёмно» для обычных МК. На Рис. 2.84, а...л, Рис 2.85, а...ж приведены схемы формирования телевизионных сигналов соответственно для чёрно-белых и цветных телевизоров/мониторов. Следует знать, что слитное восприятие телевизионных кадров наблюдается уже при частоте 15...25 Гц. Однако, вплоть до частоты 70 Гц, большинство людей замечают лёгкое мерцание экрана, утомляющее глаза. Рис. 2.84. Схемы формирования сигналов для чёрно-белых телевизоров/мониторов (начало): а) формирователь четырёхуровневого телевизионного сигнала. Возможные состояния выходов МК: НИЗКИЙ/НИЗКИЙ (синхроуровень), НИЗКИЙ/ВЫСОКИЙ (уровень гашения и уровень чёрного); ВЫСОКИЙ/НИЗКИЙ (уровень серого); ВЫСОКИЙ/ВЫСОКИЙ (уровень белого). Сигналы подаются через разъём XS1 в телевизор с входным сопротивлением 75 Ом. Резистором R3 подстраивают яркость и устойчивость изображения. Вместо двух последовательных резисторов R2, R3 можно поставить один резистор на 910 Ом. Известен вариант схемы с прецизионными резисторами (точность ±1%): Rx = 562 Ом; R2 = 1130 Ом; R3 заменяется перемычкой; б) генерируя разные сигналы на линиях МК, можно получить: ишх = 0 (синхроуровень), ишх = 0.3 В (уровень чёрного), ишх = 1 В (уровень белого). Встречаются два аналогичных варианта схемы: Я, = 390 Ом; R2 = 180 Ом; R3 = 180 Ом и Rx = 1 кОм; R2 = 390 Ом; R3 = 82 Ом;
Рис. 2.84. Схемы формирования сигналов для чёрно-белых телевизоров/ мониторов (продолжение): в) аналогично Рис. 2.84, а, но с эмиттерным повторителем на транзисторе VT1, что облегчает нагрузку по току на выходы МК. Резисторы R2, R3 соединяются последовательно для более точной выдержки пропорции Rx: (R2 + R3) = 1 : 2; г) многоступенчатый градиентный видеосигнал формируется через ЦАП, собранный на резисторах R*...R*n (матрица «2R»). Синхроимпульсы добавляются к видеосигналу с нижнего выхода МК через шунтирующий диод VD1; д) ЦАП на резисторах RL..R3 формирует 8 «ступенек» по амплитуде, причём их может быть ещё больше, если переводить выходы МК в режим входа с Z-состоянием. Двухкаскадный усилитель на транзисторах VT1, VT2 обеспечивает устойчивую работу на низкоомную нагрузку и может применяться автономно в качестве разветвителя видеосигнала; е) получение чёрно-белого телевизионного сигнала путём смешивания трёх цветных составляющих RGB в пропорции 43:91: 180 (R{: R2: R3). На экране образуются 8 градаций яркости, т.е. шкала серого. Уровень синхроимпульсов регулируется резистором R4. Альтернативный вариант: Rx = 270 Ом; R2 = 560 Ом; R3 = 1.1 кОм; R4 = 560 Ом; R5 по схеме находится внутри телевизора; ж) подключение монитора стандарта CGA с ТТЛ/КМОП-синхровходами «HSYN», «VSYN». Резистором R1 регулируется яркость изображения. Резисторы R2, R3 защищают МК в случае аварии монитора или замыкания в кабеле, а также устраняют выбросы на фронтах сигналов;
Рис. 2.84. Схемы формирования сигналов для чёрно-белых телевизоров/мониторов (окончание): з) на транзисторах К77, VT2 собран повторитель видеосигнала. МК может добавлять свои импульсы для формирования накладного текста. Чтобы текст на экране был неподвижен, на вход МК ещё должны поступать и анализироваться синхроимпульсы для привязки времени; и) одновременное подключение монитора (XS1) и телевизора (XS2). Цветовые сигналы «R», «G», «В» запараллелены. С нижнего выхода МК генерируется смесь кадровых и строчных синхроимпульсов, а с верхнего — белый/чёрный уровни видеосигнала. Диоды VD1, VD2 защитные; к) разветвитель видеосигнала на двух половинках микросхемы DA1 фирмы Maxim/Dallas. Может применяться в качестве ВЧ-повторителя для других схем; л) при НИЗКОМ уровне на выходе МК параллельно тракту подключаются резисторы R1, R2, что снижает амплитуду сигнала «Video» (яркость). Если моменты уменьшения яркости будут засинхронизированы от строчных/кадровых импульсов, то на экране можно сформировать полупрозрачный текст, логотип, геометрическую фигуру, цифру номера канала.
Рис. 2.85. Схемы формирования сигналов для цветных телевизоров/мониторов (начало): а) восемь оттенков цвета на VGA/SVGA-мониторе формируются с трёх верхних выходов МК. Частота строк 31 кГц (HSYN), частота кадров не менее 25 Гц (VSYN). Встречается вариант схемы с резисторами Я, = R2 = R3 = 470 Ом; R4 = R5 = 100 Ом; R6 = R7 = Rs = 91 Ом; цепь GND разъёма XS1 подключается к контактам 5...8, 10; напряжение питания МК +3 В; б) увеличение числа цветовых оттенков с 8 до 16 при помощи резисторов R5...R7, активизирующихся при ВЫСОКОМ уровне сигнала «Y». Тон цвета остаётся прежним, но изменяется насыщенность. Диоды VD1...VD3 устраняют взаимовлияние между каналами «R», «G», «В»; в) ХР1 — это телевизионный разъём SCART, иначе называемый «Peritel», «Euroconnector», «Скарт». Сигнал «А» посупает на вход канала звука телевизора через делитель 1 : 10 на резисторах Rl, R8. Цветной режим устанавливается ВЫСОКИМ уровнем сигнала «Z», иначе выводится чёрно-белая картинка. Сигнал «V» — это смесь кадровых и строчных синхроимпульсов; г) сопряжение с аналоговым видеокодером типа МС1377 фирмы Motorola. Выходные сигналы «R», «G», «В» ослабляются делителями R1...R6. Конденсаторы CL..C3 устраняют постоянную составляющую. Сигнал «SYN» состоит из смеси строчных и кадровых синхроимпульсов;
Рис. 2.85. Схемы формирования сигналов для цветных телевизоров/мониторов {окончание): д) в каждом из трёх цветовых каналов R», «G», «В» формируются по четыре уровня амплитуды (по четыре цветовых оттенка) парами резисторов R1 и R2, R3u R4, R5 и R6; е) индикация наличия цветовых сигналов на светодиодном видеотабло HL1...HL8; ж) видеокодер DA1 применяется в игровой приставке «Sony PlayStation*. Тактовая частота цветовой поднесущей 4.433 МГц стандарта PAL формируется от кварцевого генератора МК и поступает в DA1 через элементы Rl, С4. Выходы «R», «G», «В» защищаются от статического электричества TVS-диодами VD1... VD3. Видеокодер может подключаться к телевизору не только через разъём ПЦТС «Video» или разъём с сигналами «R», «G», «В», «Video», но и по отдельным входам цветности «С» и яркости «Y», которые имеются в современных моделях телевизоров.
2.6.2. Модуляция сигналов Рис. 2.86. Схемы импульсных модуляторов на основе МК (начало): а) принудительное выключение транзисторных ключей К77, VT2 от МК можно приравнять к амплитудной модуляции выходных сигналов. Резисторы /?/, R2 обеспечивают выбор рабочей точки по напряжению или току. Уровень сигнала, подаваемого извне через резистор R1 на затвор транзистора VT1, не должен превышать напряжения питания МК, чтобы не повредить последний. Диод VD1 — Шоттки, чтобы надёжно закрывался транзистор VT2. Теоретически диод можно заменить перемычкой, если вместо ВЫСОКОГО уровня переводить МК в режим входа без «pull-up» резистора. Единственное, что в этом случае при ошибках в программе существует вероятность повреждения транзистора VT2большим базовым током от ВЫСОКОГО уровня МК; б) формирование пачек импульсов при помощи АИМ. Генератор звуковой частоты на триггере Шмитта DDL 1 периодически прерывает свою работу при НИЗКОМ уровне на выходе МК. К элементу DDL2 подключается «пьезопищалка» НЛ1, которая излучает прерывистый звук; в) «сам себе амплитудный модулятор». Размах выходного сигнала ишх зависит от состояния двух линий МК, которые «подсаживают» напряжение питания резисторами Rl, R3. Элементы /?2, С1 сглаживают переходные процессы, но работоспособность конкретного МК после скачкообразной смены питания проверяется экспериментально; Модуляция — это изменение некоторой физической величины по заданному закону во времени. Применительно к МК интерес представляет модуляция электрических сигналов, причём не аналоговая, а импульсная. Различают следующие виды импульсной модуляции: амплитудно-импульсная (АИ М), частотно-импульсная (ЧИМ), фазо-импульсная (ФИМ), время-импульсная (ВИМ). Это «чистые» разновидности, которые в реальных сигналах обычно смешиваются в различных пропорциях. Бывают случаи перехода одного типа модуляции в другой. Например, микроконтроллерная ШИМ в зависимости от установленных режимов может превращаться в ЧИМ, ФИМ или ВИМ. Если модулирующий сигнал может принимать только несколько фиксированных значений из ряда, то такой процесс называют манипуляцией. В частности, знаменитая «азбука Морзе», используемая с позапрошлого века для передачи сообщений, представляет собой пример амплитудной манипуляции, а тоновый набор в телефонных аппаратах — пример частотной манипуляции. На Рис. 2.86, а...м приведены схемы импульсных модуляторов на основе МК.
Рис. 2.86. Схемы импульсных модуляторов на основе МК (продолжение): г) МК изменяет собственное напряжение питания при помощи параметрического стабилизатора на элементах /?/, /?5, R6, VD1, С1. Устройство можно использовать как многоступенчатый генератор калиброванных по амплитуде импульсов. Переход между «ступенями» следует осуществлять последовательно, избегая резких скачков питания от минимума до максимума. Во избежание «зависания» МК следует предусмотреть систему сброса, например, через Watch-Dog; д) М К через фильтр /?/, С1 формирует программно перестраиваемое напряжение для варикапа VD1, в связи с чем изменяется его ёмкость и частота настройки внешнего ВЧ-генератора; е) частота выходного сигнала ишх определяется частотой импульсов с нижнего выхода МК. Транзистор VT1 работает в активном режиме и управляется с верхнего выхода МК. Он приот- крывается/призакрывается низкочастотной составляющей сигнала ШИМ, выделяемой при помощи ФНЧ Rl, СІ. В результате импульсы на коллекторе транзистора VT2 плавно модулируются по амплитуде. Стабильность коэффициента модуляции напрямую зависит от стабильности напряжения питания +5 В и температуры окружающей среды, иначе надо вводить канал обратной связи от ишх на вход МК и адаптивно подстраивать частоту ШИМ; ж) оптоизоляция звуковых сигналов. Импульсы ШИМ с выхода МК имеют ВЧ-заполнение, программно модулируемое по скважности НЧ-составляющей передаваемого звука. Фильтр R1, С1 выделяет звуковые колебания и подаёт их на трёхвыводной стабилитрон VD1. В итоге ток через светодиод оптопары VU1 получается амплитудно модулированным; з) «формирователь временных диаграмм» — это образец «чистой» ВИМ. На восьми выходах одного порта МК в цикле выставляются запрограммированные по тактам ВЫСОКИЕ/НИЗКИЕ уровни с требуемой частотой и временными соотношениями;
Рис. 2.86. Схемы импульсных модуляторов на основе МК (окончание): и) сигналы от МК проходят через резистивный ЦАП с матрицей «2R» (R1...R8) и преобразуются в ступенчатое напряжение, которое модулирует сопротивление «коллектор — эмиттер» транзистора VTL Последний входит в цепь обратной связи логического элемента DDI; к) оптоизолированный фазо-импульсный регулятор мощности. Конденсатор С/ заряжается от внутреннего ИОН микросхемы DA1, а разряжается транзистором оптопары VUL Мощность в нагрузке RH (максимум 150 Вт) пропорциональна среднему за период напряжению на конденсаторе CL Индикатор НЫ ярче светится при снижении тока через нагрузку RH и наоборот; л) смешивание разных сигналов с двух и более выходов МК позволяет формировать сложные по структуре, модуляции и спектру колебания; м) оптоизолятор НЧ-сигналов на основе преобразователя ширины импульсов в сопротивление перехода «коллектор — эмиттер» /?кэ транзистора оптопары VU1.
2.6.3. Генерация прямоугольных сигналов Генератор (лат. «generator») — это устройство, производящее какой-либо продукт, вырабатывающее энергию или создающее электрические, световые, звуковые колебания. По умолчанию МК лучше всего справляется с генерацией электрических колебаний. Во всех схемах, где линии портов МК используются в режиме выхода с периодическим переключением уровней ВЫСОКИЙ/НИЗКИЙ, происходит генерация сигналов различной частоты и длительности. Главной задачей для всех типов генераторов является оптимальное сопряжение с нагрузкой. Если требуется отдавать максимальную мощность, то сопротивление нагрузки должно равняться выходному сопротивлению генератора. Если требуется обеспечить максимальную амплитуду сигнала, то выходное сопротивление генератора должно быть как можно меньше и т.д. МК изначально задумывался как «цифровой» прибор, поэтому сигналы на его выходах прямоугольные. Чтобы донести эту форму с минимальными искажениями до нагрузки, применяют следующие типовые решения (Рис. 2.87, а...н). Рис. 2.87. Схемы генераторов прямоугольных сигналов на МК (начало): а) эмиттерный повторитель на транзисторе VT1 предназначен для работы на низкоомную нагрузку. Сопртивления конденсаторов С/, С2 на генерируемой частоте должны быть минимальными, иначе будет снижаться крутизна фронтов и появится спад на вершине сигнала; б) аналогично Рис. 2.87, а, но на транзисторе VT1 структуры р—п—р; в) двухтранзисторный инвертор работает на низкоомную нагрузку при питании +12 В; г) генератор стабильных по амплитуде импульсов. Верхняя «планка» стабилизируется трёх- выводным стабилитроном VD1. Резистором R3 плавно регулируют размах £/ВЬІХ;
Рис. 2.87. Схемы генераторов прямоугольных сигналов на МК {продолжение): д) генератор стабильных токовых посылок на микросхеме DAL Амплитуда тока определяется по формуле /ВЬ1Х[мА] = 1250/ R2[Ou]; е) резисторами Rl, R2 регулируется громкость звука, поступающего от МК к УНЧ. Два полярных конденсатора С7, С2 эквивалентны одному неполярному конденсатору; ж) двухполярный ВЧ-сигнал ивых получается при помощи ключа на микросхеме DA1; з) формирование трёх вариантов выходного сигнала: инверсный «pull-up» (установлен 57), прямой «pull-down» (установлен S2), без постоянной составляющей (установлен S3); и) генерация «квазитроичного» сигнала в аппаратуре связи. Сигналы с выходов МК должны быть противофазными, но с паузами. Резисторами Rl, R2 подбирается уровень сигнала ишх не более З В на нагрузке 120 Ом. Трансформатор 77 — промышленный для потока Е1 (2048 Кбит/с) или самодельный на кольце К12х5.5х5 из феррита М1500НМЗ с двумя обмотками по 24 витка провода ПЭВ-0.2 в каждой. Диоды VDL..VD4, газовый разрядник FV1 (60...90 В) и предохранитель FU1 (0.1...0.5 А) защищают устройство от перенапряжений в линейном тракте;
Рис. 2.87. Схемы генераторов прямоугольных сигналов на МК {окончание): к) три канала генерации с разными уровнями сигналов по амплитуде и с разными выходными сопротивлениями. Внешние нарузки должны быть как можно более высокоомными; л) аналогично Рис. 2.87, к, но с удвоенным числом резисторов (высокоточных) и с одинаковыми выходными сопротивлениями по каждому из каналов; м) буферный каскад на микросхеме DDI обеспечивает генерацию сигнала с повышенной выходной мощностью и с низким сопротивлением, ввиду параллельной работы шести логических инверторов DDI.1...DDI.6. Все инверторы изготавливаются в одном технологическом цикле и имеют примерно одинаковые параметры, что обеспечивает крутые фронты выходного сигнала; н) два выхода МК работают синхронно через развязывающие резисторы Rl, R2. Это увеличивает мощность, отдаваемую в низкоомную нагрузку на конце коаксиального кабеля. 2.6.4. Генерация сигналов непрямоугольной формы Прямоугольные сигналы, генерируемые с портов МК, имеют достаточно крутые фронты и плоские вершины. Если требуется изменить форму выходных сигналов, а значит и их спектр, то применяют различные фильтры. Построены они могут быть на /?С-цепочках, LC-контурах, специальных микросхемах и даже на кварцевых резонаторах (Рис. 2,88, а...к).
Рис. 2.88. Схемы генераторов непрямоугольных сигналов на МК (начало): а) генератор коротких высоковольтных импульсов длительностью 5 мс и частотой 4 Гц. Катушка индуктивности L1 содержит 1500 витков провода ПЭВ-0.14 мм, намотанных на двух чашках 430 из феррита М2000НМ1-16; б) выделитель гармоники 32768 Гц из импульсного сигнала, генерируемого с выхода МК. Резистором R1 подстраивается оптимальный уровень для срабатывания транзисторного ключа VT1. Если подсоединить конденсатор С/, как показано пунктиром, то выходной сигнал из импульсного превратится в постоянный, амплитуда которого зависит от частоты сигнала МК. Минимум амплитуды будет наблюдаться вблизи частоты кварцевого резонатора ZQ1 32768 Гц; в) аналогично Рис. 2.88, б, но с выделением частоты 36 кГц при помощи фильтра L/, С/. Диод VD1 служит выпрямителем сигнала с нагрузкой в виде ФНЧ С2, R2, С3\ г) LC-фильтр сглаживает форму прямоугольного сигнала, генерируемого с выхода МК. Ёмкости конденсаторов С/, С2 и индуктивность катушки Ы выбираются в зависимости от частоты сигнала и требуемой степени «синусоидальности»; д) трёхзвенный /?С-фильтр «округляет» фронты сигнала с выхода МК. Резистором R4регулируется амплитуда. Параметры элементов R1...R3, CI...СЗ зависят от частоты сигнала;
Рис. 2.88. Схемы генераторов непрямоугольных сигналов на МК (окончание): е) формирователь продифференцированных (L1) и проинтегрированных (С/) импульсов. Выходы МК запараллелены через резисторы Rl,R2w R3, R4mn увеличения мощности; ж) генерация трапециидального ВЧ-сигнала, близкого по форме к синусоиде; з) генератор звуковых сигналов «правильной» синусоидальной формы. Микросхема DA1 (фирма Maxim Integrated Products) — это ФНЧ восьмого порядка с опорной частотой 0.1... 1 МГц, которая подаётся с верхнего выхода МК. На нижнем выходе МК формируется прямоугольный сигнал звуковой частоты, который после прохождения DA1 становится «синусоидой»; и) генератор «розового» шума в диапазоне 10...40000 Гц со спадом 3 дБ на октаву. Форма сигнала изменяется /?С-цепочками Rly R3...R5, С1...С4. «Розовый» шум, в отличие от «белого», имеет равные мощности в каждой октаве, а не на каждой частоте. На выходе МК должна генерироваться 23-разрядная ПСП, состоящая из череды НИЗКИХ и ВЫСОКИХ уровней; к) четыре цифровых 31-битных генератора ПСП на МК(1)...МК(4) имеют близкие по частоте сигналы, но с разными случайными начальными фазами. На выходе усилителя DA1 сигналы смешиваются, что приводит к генерации практически «белого шума» в диапазоне 20...50000 Гц.
2.6.5. Радиопередающие устройства Для проведения радиосвязей необходима радиостанция. Она состоит из трех основных компонентов: радиоприемника, радиопередатчика и антенны. Передатчик, в свою очередь, содержит задающий ВЧ-генератор и модулятор, в котором осуществляется изменение определённого параметра, например, амплитуды (AM), частоты (ЧМ) или фазы (ФМ) колебаний. МК в передатчике может выступать собственно ВЧ-генератором. Например, через линии портов МК можно непосредственно генерировать в антенну сигналы ближнего радиодиапазона 0.1...5 МГц. Это длинные, средние и начало коротких волн. Точное значение частоты определяется кварцевым резонатором МК. Кроме того, МК хорошо справляется с модуляцией сигналов в маломощных передатчиках диапазонов KB, УКВ, СВЧ. Имеются в виду портативные «жучки», действующие на небольшом (десятки-сотни метров) расстоянии. Их мощность не должна превышать 10 мВт, чтобы не создавались помехи окружающим приборам и не возникало проблем с инспекцией радионадзора. В схемах генераторов широко применяются малогабаритные подстроечные конденсаторы или, по-другому, триммеры (англ. «trimmer» — приводящий в порядок). Минимальный и максимальный номинал их ёмкости записывается через дробь, например, 2/6 пФ или 10/120 пФ. Интересно отметить, что триммерами также называют малогабаритные подстроечные резисторы, но в англоязычных источниках тут же уточняют название — «Тгіттег resistor» или «Тгіттег сараског». Схемы радиопередатчиков бывают на транзисторах (Рис. 2.89, а...н), на микросхемах (Рис 2.90, а...д), на транзисторах и микросхемах (Рис 2.91, а...в). Рис. 2.89. Схемы радиопередатчиков с применением транзисторов и МК (начало): а) ВЫСОКИМ уровнем с верхней линии МК включается генератор радиосигналов 100 МГц, собранный на транзисторе VTL Модулирующий звуковой сигнал подаётся с нижней линии МК, громкость подстраивается резистором R2. Катушка Ы содержит 8 витков провода ПЭВ-0.47, намотанных на оправке диаметром 3 мм; б) транзистор VT1 работает в лавинном режиме. Сигналами ВЫСОКОГО/НИЗКОГО уровня с линии МК включается/выключается генерация радиосигналов. Частота определяется элементами І/, С2. Выход генератора 1/шх достаточно высокоомный, поэтому для подключения антенны требуется дополнительный согласующий усилительный каскад;
Рис. 2.89. Схемы радиопередатчиков с применением транзисторов и МК (продолжение): в) УКВ-ЧМ радиопередатчик. При длине антенны WA1 50...70 см дальность действия при прямой видимости 100...200 м. Громкость звукового сигнала, поступающего с нижнего выхода МК, регулируется резистором RL Катушки Ы, L2 наматываются на оправке диаметром 4 мм и содержат соответственно 8 и 6 витков провода ПЭВ-0.43. Светодиод НЫ служит стабилизатором питания и индикатором работы при ВЫСОКОМ уровне на верхнем выходе МК; г) радиомикрофон на транзисторном мультивибраторе содержит две катушки индуктивности Ы, L2 (15 витков провода ПЭВ-0.47). Верхний выход МК включает питание генератора, а нижний — добавляет звуковой сигнал к микрофону ВМ1; д) МК включает/выключает маломощный генератор на транзисторе VT1. Частота определяется кварцевым резонатором ZQ1. Антена WA1 представляет собой провод длиной 1...2 м; е) МК модулирует частоту СВЧ-генератора, собранного на транзисторе VT1, например, КТ3101А-2. Стабилизацию частоты осуществляет резонатор BQ1 из серии R02xxxA (диапазон 303...916 МГц) фирмы RF Monolithics. Резонатор выполнен по технологии ПАВ;
Рис. 2.89. Схемы радиопередатчиков с применением транзисторов и МК (продолжение): ж) встраивание МК в уже существующий УКВ-ЧМ радиомикрофон с дальностью действия до 100 м. Катушки LI, L2 развязывают модулятор VT1 и ВЧ-генератор VT2. Они наматываются на ферритовых стержнях диаметром 3...5 мм и содержат по 25 витков провода ПЭВ-0.2. Катушки ZJ, L4 бескарскасные. Они имеют, соответственно, 6 и 2 витка посеребрённого провода диаметром 0.5 мм на единой оправке диаметром 7 мм; з) АМ-радиомаяк. Резистором R1 выбирается рабочая точка транзистора VT1 по достижению необходимой глубины модуляции по питанию КВ-передатчика, собранного на элементах VT2, ZQ1. Катушка L1 наматывается на каркасе диаметром 8 мм от УПЧ лампового телевизора и содержит 10 витков провода ПЭВ-0.25...0.5 с отводом от середины. Катушка L2 бескаркасная и содержит 30 витков провода ПЭВ-0.5 на оправке диаметром 5 мм; и) МК самостоятельно генерирует ВЧ-радиосигнал в диапазоне 1...4 МГц. Он может быть промодулирован пачками импульсов различной длительности. Транзистор VT2 служит усилителем радиосигнала с нагрузкой в коллекторе, состоящей из ZC-контура, настроенного на частоту 1...4 МГц. Транзистор VT1 защищает базу транзистора VT2 от большого обратного напряжения. Резистор R1 ограничивает пиковый ток коллектора транзистора VT2;
Рис. 2.89. Схемы радиопередатчиков с применением транзисторов и МК (окончание): к) введение МК в схему действующего «ЧМ-радиомикрофона», выполненного на полевом транзисторе VT1. МК генерирует звуковые сигналы, громкость регулируется резистором RL Катушка L2 наматывается на оправке диаметром 4.5 мм и содержит 12 витков провода ПЭВ-0.56 с отводом от 4 витка; л) ЧМ-радиопередатчик с двумя варикапами VD1, VD2, ёмкость которых изменяется в зависимости от скважности импульсов ШИМ с выхода МК. Дальность действия 20... 100 м, мощность радиосигнала 10 мВт (определяется резистором R5). Частота подстраивается конденсаторами С4, С5. Катушка Ы содержит 100 витков провода ПЭВ-0.09, L2 — 8 витков провода ПЭВ-0.41, намотанных на оправке диаметром 4 мм; м) аналогично Рис. 2.89, к, но с генератором на биполярном транзисторе VT1 и с другим типом варикапа VD1. Дальность действия без антенны составляет примерно 1 м. Катушка L1 содержит 6 витков провода ПЭВ-0.61 на оправке диаметром 10 мм; н) аналогично Рис. 2.89, л, но со сдвоенным варикапом VD1 и с другой конфигурацией связей LC-контура. Резистор R1 регулирует глубину модуляции и громкость звука, генерируемого с выхода МК. Катушка Ы содержит 4...5 витков провода ПЭВ-0.33 на оправке диаметром 3 мм.
Рис. 2.90. Схемы радиопередатчиков с применением микросхем и МК: а) МК передаёт сигналы по каналу UART на скорости до 4800 бит/с через промышленный радиомодуль Л1 фирмы Ramsey Electronics; б) МК управляет радиопередающим модулем Л1 фирмы TeleControlli. ВЫСОКИЙ уровень с нижнего выхода МК разрешает излучение радиосигнала мощностью 10 мВт. С верхнего выхода МК передаётся цифровая информация по каналу UART на скорости не более 9600 бит/с. Ручная блокировка генерации радиосигнала достигается нажатием кнопки SB1\ в) МК непосредственно генерирует радиосигнал в диапазоне ДВ на частоте 130 кГц, который излучается ферритовой антенной LL Предусматриваются два режима работы: большая мощность (противофазные сигналы на двух выходах МК) и малая мощность (верхняя линия МК переводится в режим входа, нижняя — в режим выхода); г) включение/выключение генератора телевизионных помех, собранного на трёх инверторах микросхемы DDL Антенной служит провод длиной 15 см; д) передатчик на расстояние до 350 м. Периметр антенны 15.4 см (печатный монтаж). Напряжение на выводе 1 радиомодуля Л1 по даташиту должно быть в пределах 0.15...0.35 В.
Рис. 2.91. Схемы радиопередатчиков с применением транзисторов, микросхем и МК: а) радиопередающий модуль А1 (фирма RF Solutions) подключается к МК через буферный инвертор на транзисторе VTL Длина антенны WA1 составляет 90 мм; б) МК производит включение/выключение широкодиапазонного кварцевого генератора, выполненного на транзисторе VTL Выходной сигнал буферизируется инвертором логической микросхемы DDL Подбором ёмкости конденсатора С2 или его замыканием можно на сотые доли процента изменить выходную частоту; в) генерация синусоидального сигнала с частотой 125 кГц для системы бесконтактной идентификации RFID. Антенна WA1 представляет собой катушку индуктивности 1.6 мкГн, которая содержит 90 витков в прямоугольной рамке З.бх 13.8 см. 2.6.6. Коммутация сигналов Коммутация или, по-другому, переключение, мультиплексирование сигналов — это стандартная задача в электронике. Коммутировать можно аналоговые и цифровые сигналы, режимы и каналы, потоки и направления. Если раньше с этим справлялись механические переключатели, то сейчас — электронные. Строятся они на базе транзисторных, диодных и оптоэлектронных ключей, а управлять ими удобно при помощи МК (Рис. 2.92, а...з).
Рис. 2.92. Схемы электронных переключателей сигналов, управляемых от МК {начало): а) ВЧ-переключатель на микросхеме DA1 (фирма Maxim/Dallas) используется для удалённой калибровки сигналов частотой 1...10 МГц. При ВЫСОКОМ уровне на выходе МК «электронное» реле, находящееся внутри микросхемы Д47, переключается в нижнее положение. При этом тракт сигнала UBX нагружается на образцовый резистор RL Для повышения точности калибровки следует также учесть омическое сопротивление ключа микросхемы DA1, которое составляет около 0.6 Ом при токе 100 мА; б) СВЧ-переключатель на микросхеме DA1 (фирма Philips) работает на частотах до 1 ГГц. Выводы микросхемы А4/двунаправленные, что позволяет организовать разветвление сигнала, например, «один вход на два выхода» или «один выход на два входа»; в) коммутатор двух телевизионных сигналов на один выход. Микросхема DA1 (фирма Sanyo) обеспечивает низкий уровень шума и малый коэффициент гармоник. Транзистор VT1 согласует выходные уровни МК с повышенным напряжением питания микросхемы DA1 +12 В; г) на разъём XS1 поступают сигналы от телевизионных антенн метрового (XS2) или дециметрового (XS3) диапазона длин волн. Для коммутации используются высокочастотные pin-диоды VDL..VD8, которые управляются противофазными сигналами от двух верхних и двух нижних выходов МК, при этом в закрытом канале открываются пары диодов VD1, VD5или VD3, VD6;
Рис. 2.92. Схемы электронных переключателей сигналов, управляемых от МК (окончание): д) электронный ключ на полевом транзисторе, который находится внутри микросхемы /Ш, управляется с выхода МК и определяет функциональное назначение каскада на ОУ DA2. При замыкании ключа — это повторитель сигналов с входа UBX на выход £/вых, ПРИ размыкании — интегратор с накопительным конденсатором С7; е) синхронный переключатель аудиосигналов левого (UBX]_L,UBX2_L) и правого (UBXl_Ry ^bx2-r) каналов. Интегрирующие цепочки Rl, С1 и R2, С2 обеспечивают отсутствие «щелчков» звука; ж) на НЧ-входы телевизора «АисИо» и «Video» сигналы поступают на выбор: от внешних аналоговых источников Аудио/Видео или от двух верхних и одного нижнего выхода МК. Коммутация производится ВЫСОКИМИ/НИЗКИМИ уровнями с двух средних выходов МК; з) ВЫСОКИМ уровнем с линии МК напряжение на выходе усилителя тока DA2устанавливается равным +4.9...+5 В, поскольку сопротивление резистора R1 намного меньше, чем R2. При переводе линии МК в режим входа напряжение UBblx снижается до +3.3 В за счёт отключения резистора R1. Теперь сигнал на положительный вход DA2 будет подаваться от микросхемы DA1 (напряжение стабилизации +3.3 В) через резистор R2 и конденсаторы фильтра С7, С2.
2.6.7. Передача сигналов на большие расстояния Существует неписанное правило — чем дальше от конечной нагрузки сигнала удаляется выход МК, тем больше «головной боли» появляется у разработчика. При больших расстояниях образуются отражения в длинной линии, искажающие форму сигнала. Особенно это заметно на фронтах импульсов, где возникает так называемый «звон» — затухающий колебательный процесс, который может быть воспринят как серия ложных коротких импульсов. Простое снижение скорости передачи данных в тракте хотя и помогает, но не всегда. Гораздо чаще приходится принимать меры аппаратного и программного плана. Например, ставятся буферные усилители, устойчиво работающие на низ- коомную нагрузку, или вводятся программные задержки, чтобы отсеять «звон». Нужны ли ВЧ-кабели при передаче импульсных НЧ-сигналов на большие расстояния? С одной стороны, амплитуда сигнала что с НЧ-, что с ВЧ-кабелем останется прежней. Другое дело — искажение формы на фронтах импульсов, причём предугадать или рассчитать их характер довольно сложно. Если фронт получается слишком пологим, то момент регистрации сигнала может сдвинуться слишком далеко во времени. Если, наоборот, на фронтах появляются выбросы или колебательные процессы, то пороговое устройство на противоположном конце тракта может зафиксировать пачку ложных импульсов. По теории, чем круче фронт сигнала, тем шире его спектр и больше гармоник. Следовательно, чем широкополоснее линия связи и лучше выполнено согласование волнового сопротивления кабеля, тем более точно будет воспроизводиться форма сигнала. В идеале она должна приближаться к прямоугольной. Этому, как раз, и способствует применение ВЧ-кабелей в НЧ-аппаратуре. На Рис. 2.93, а..,ж приведены схемы передачи сигналов от МК на большие расстояния. Рис. 2.93. Схемы передачи сигналов от М К на большие расстояния (начало): а) демпферная цепочка Rl, С1 гасит колебательные процессы на фронтах импульсов. В качестве приёмного порогового элемента специально поставлен триггер Шмитта DDI, чтобы повысить помехоустойчивость; б) «антизвонный» резистор R1 позволяет улучшить согласование между низким выходным импедансом выхода МК (10...30 Ом) и волновым сопротивлением длинного ленточного кабеля (120... 150 Ом). Важный нюанс. Резистор R1 ставится на стороне передатчика, а не приёмника, иначе теряется эффективность согласования. Необязательный резистор R2 нужен, чтобы вход КМОП-микросхемы DDI не «висел в воздухе» при начальном сбросе МК или обрыве кабеля;
Рис. 2.93. Схемы передачи сигналов от МК на большие расстояния (проолжениё): в) логический элемент «4И-НЕ» DDI допускает работу на низкоомную нагрузку. Резистор R2 выбирается 51 или 75 Ом в зависимости от волнового сопротивления коаксиального кабеля. Информационный сигнал ишх формируется с нижнего выхода МК. Выставляя НИЗКИЙ уровень на верхнем выходе МК, можно его запретить. Резистор R1 нужен, чтобы выводы 1,2 микросхемы DDI не «висели» в воздухе. Альтернативный вариант — обойтись без резистора R1 и соединить вместе выводы 1 и 4, 2 и 5 микросхемы DDI, но тогда увеличится нагрузка по току на МК; г) нагрузкой эмиттерного повторителя VT1 служит «параллельный» резистор R2 на дальней стороне. «Последовательный» резистор R1 размещается на ближней стороне. Волновое сопротивление коаксиального кабеля 50 Ом. Триггер Шмитта DDI (фирма Motorola) восстанавливает форму сигнала и передаёт его в систему в уровнях ТТЛ; д) DAI, DA2 — это низковольтные экономичные приёмопередатчики интерфейса RS-232 (фирма Maxim/Dallas), удлиняющие линию связи на десятки метров при частотах до 100 кГц; е) лучше всего справляются с передачей сигналов на длинные расстояния специализированные «чипсеты», состоящие из мощного драйвера DDI и высокочувствительного приёмника DD2. Подобные пары выпускают многие фирмы, в данном случае Motorola. Гарантированное время нарастания/спада передаваемых импульсов по коаксиальному кабелю — 20 не;
Рис. 2.93. Схемы передачи сигналов от МК на большие расстояния (окончание): ж) передача чёрно-белого видеосигнала от МК с полосой пропускания до 10 МГц через «чипсет» на микросхемах DAI, DA2фирмы Maxim/Dallas. 2.6.8. Формирователи ступенчатого напряжения В системах автоматического регулирования (САР) изменение выходных параметров может производиться как плавно, так и дискретно. Если в качестве управляющего элемента применяется МК, то в САР проще всего организуется дискретное регулирование с последовательным перебором «ступенек» по возрастанию или убыванию какого-либо параметра. И здесь, как нельзя кстати, пригодятся формирователи ступенчатого напряжения (Рис. 2.94, а...е). Рис. 2.94. Схемы формирователей ступенчатого напряжения (начало): а) на выходе стабилизатора DA1 устанавливаются напряжения +5.1; +8.4; +10.2 В в зависимости от комбинации уровней на трёх линиях МК. При расчёте выходных напряжений учтено, что транзистор VT1 и ключи внутри МК обеспечивают прибавку около 0.1 В. Резистор R2 открывает транзистор VT1 в момент рестарта МК, обеспечивая начальное выходное напряжение +5.1 В; б) ступенчатое изменение напряжения і/шх дискретной установкой скважности импульсов в канале ШИМ на выходе МК. Элементы Rl, С1 образуют ФНЧ. Обратная связь через резистор R4 защищает транзистор VT1 от короткого замыкания в нагрузке и выводит операционный усилитель DA1 в линейный режим;
Рис. 2.94. Схемы формирователей ступенчатого напряжения (окончание): в) в некоторых моделях МК, например, Microchip PIC16F628A, ступенчатое напряжение может программно формироваться узлом ИОН (вывод KREF) в пределах 0...+3.1 или +1.25...+3.6 В. По яркости свечения индикатора НЫ можно приблизительно оценить величину UBblx; г) аналогично Рис. 2.94, в, но с повторителем напряжения на ОУ DAl\ д) генератор ступенчатого напряжения на основе ЦАП без обратной связи. Выходное напряжение зависит от скважности импульсов в канале ШИМ и от сопротивления нагрузки; е) генератор ступенчатого напряжения на основе ЦАП с обратной связью. На выходе МК формируется ШИМ-сигнал стабильной частоты и переменной скважности. Цепочка Rl, С1 служит ФНЧ. Внутренний АЦП МК измеряет постоянное напряжение на конденсаторе С7, после чего программа подстраивает скважность генерируемых импульсов в требуемую сторону. 2.6.9. Выход на телефонную линию Схемотехнику сопряжения МК с ТСоП (телефонными сетями общего пользования) можно разбить на две части: • подключение по входу — анализ сигналов вызова абонента, прослушивание гудков в линии, запись разговоров [2-170]; • подключение по выходу — ввод в линию речевой информации, набор номера, автоответчик, имитация сигналов АОН и поднятия трубки. Основное внимание при конструировании следует уделить обеспечению электробезопасности, т.е. необходимо применять гальваническую развязку и не допускать прямого попадания напряжения сети 220 В на провода ТСоП. Рекомендуется батарейное/аккумуляторное питание конструкций и получение официального разрешения на их эксплуатацию у местных связистов. Но о последнем моменте предпочитают говорить шёпотом, надеясь, что никто ничего не заметит... На Рис. 2.95, а...и приведены схемы подключения выходных портов МК к линейному тракту ТСоП.
Рис. 2.95. Схемы подключения выходных линий МК к ТСоП (начало): а) ключи DAI, DA2 открываются/закрываются ВЫСОКИМ/НИЗКИМ уровнем на выходе МК, при этом телефонный аппарат А1 подключается/отключается от ТСоП. Переключатель S1 в замкнутом состоянии восстанавливает нормальную работу телефона (ручное управление); б) ВЫСОКИМ уровнем с нижней линии МК открывается транзистор VT1 и параллельно ТСоП подключается резистор R4 (режим «Поднятие трубки»). Далее с верхней линии МК формируются импульсы тонального набора номера DTMF или выдаётся звуковой сигнал. Если перевести верхнюю линию МК в режим входа с АЦП, то можно прослушать состояние ТСоП. Допускается отсутствие резистора R2; в) ВЫСОКИМ уровнем с выхода МК открывается транзистор VT1, после чего срабатывает реле А7, контакты которого подают сетевое питание на бытовой магнитофон, включённый в режим записи. Ток, текущий через обмотку реле, наушник BF1 и резистор R3, служит для АТС признаком занятия линии. Наушник BF1 механически прижат к микрофону магнитофона, что обеспечивает хорошую слышимость и надёжную гальваническую развязку. Все звуковые сигналы ТСоП, воспроизводимые наушником, записываются на кассету магнитофона; г) DA1 — это микросхема передатчика сигналов DTMF для тонального (а не импульсного) набора номера. Когда на верхнем выходе МК появляется ВЫСОКИЙ уровень, то микросхема DA1 «понимает», что на четырёх нижних линиях МК устанавлен двоичный код передаваемого символа 0000... 1111 («0»...«9», «*», «#», «A»...«D»);
Рис. 2.95. Схемы подключения выходных линий МК к ТСоП (продолжение): ж) д) аналогично Рис. 2.95, г, но с другим типом DA1 (фирма Holtek Semiconductor) и с синхронизацией DA1 от единого задающего генератора МК, работающего на частоте 3.5795 МГц; е) схема Т. Финке. Реле К1 организует режим «поднятие трубки». С верхней линии МК генерируются сигналы тонального набора номера DTMF, которые через элементы R3, R4, CI, С2, DA1 и развязывающий трансформатор Т1 вводятся в ТСоП. В схеме предусмотрена подача внешнего звукового сигнала от автоответчика через вход UBX; ж) реле К1 организует режим «поднятие трубки», а реле К2 — режим «приём/передача» сообщения автоответчика. К трансформатору 77 (сопротивления обмоток 30... 120 Ом) подключаются звуковые сигналы записи/воспроизведения, например, от внешнего магнитофона;
Рис. 2.95. Схемы подключения выходных линий МК к ТСоП (окончание): з) полная гальваническая развязка МК и ТСоП. При НИЗКИХ уровнях на двух выходах МК открываются оптопары VU1, VU2, в результате чего транзистор VT1 подключает резистор R5 параллельно линиям «а», «Ь» ТСоП. Тем самым организуется режим электронного «поднятия трубки». Катушка Ы наматывается на сердечнике из феррита ЗОООНМ диаметром 10 мм и содержит 400 витков провода ПЭВ-0.15; и) электронное «поднятие трубки» ключом микросхемы DA1 и формирование импульсов набора номера вызываемого абонента ключом микросхемы DA2. Суммарное сопротивление резистора R5 и открытого ключа DA1 должно составлять примерно 600 Ом. Резисторы R3, R4 закрывают ключи микросхем DAI, DA2 при рестарте МК. Резисторы Rl, R2 защитные. При формировании сигналов набора номера на нижнем выходе МК следует учитывать, что стандартная длительность импульсов/пауз набора номера составляет 50/50 мс, хотя многие АТС успешно обрабатывают сигналы с отношением длительностей 36/64 мс и 40/60 мс.
2.6.10. Подключение радиоэлементов к внешнему тракту Одной из задач, успешно решаемых с помощью МК, является улучшение свойств уже существующих изделий. Практика показывает, что модернизировать старое устройство порой легче, чем «с нуля» разрабатывать новое. Типовые приёмы коррекции схем электронных изделий можно позаимствовать из рационализаторских предложений. А последние, по определению, должны обладать локальной новизной, полезностью и иметь техническое (а не организационное) решение. Показать все встречающиеся на практике ситуации — не реально. В простейшем случае можно предположить, что в некотором «старом» приборе имеется тракт (шина, линия, провод, цепь), амплитудно-частотные свойства которого необходимо перестраивать. Легче всего это сделать, подключая параллельно тракту дополнитеьные ЭРИ, например, конденсаторы, резисторы. Управлять данным процессом, естественно, будет МК (Рис. 2.96, а...ж). Рис. 2.96. Схемы подключения радиоэлементов к внешнему тракту (начало): а) подключение /?С-цепочек R3, С1 и R4, С2 к тракту, который имеет положительный потенциал относительно общего провода. Число транзисторных ключей определяется требуемым шагом изменения регулируемого параметра, а также количеством свободных линий МК; б) подключение конденсаторов С/, С2 к тракту, который имеет отрицательный потенциал относительно общего провода. Стабилитроны VD1, VD2 необходимо выбирать с таким напряжением пробоя, которое примерно равно отрицательному напряжению источника питания; в) можно выделить три режима работы устройства. Во-первых, при ВЫСОКОМ уровне на выходе МК конденсаторы С/, С2 подключаются параллельно тракту. Во-вторых, при НИЗКОМ уровне на выходе МК конденсаторы С/, С2 отключаются от тракта. В-третьих, если перевести линию МК в режим входа с внутренним «pull-up» резистором, то конденсатор С1 подключается, а конденсатор С2 отключается от тракта;
Рис. 2.96. Схемы подключения радиоэлементов к внешнему тракту {окончание): г) ступенчатое уменьшение громкости звука (амплитуды сигнала) путём дискретного подключения резисторов R3, R4 параллельно тракту через открытые транзисторы К77, VT2. Имеющийся звуковой тракт необходимо доработать путём введения резистора R5. Его сопротивление подбирается экспериментально в зависимости от требуемой степени снижения звука; д) подключение нагрузочных резисторов RL..R3 параллельно внешней шине, исходный потенциал которой должен быть ниже напряжения питания МК, чтобы надёжно закрывались транзисторные ключи VT1...VT3; е) компрессия громкости звука путём подключения резистора R3 параллельно тракту. Постоянная составляющая сигнала ШИМ, генерируемого с выхода МК, выделяется на конденсаторе С/ и плавно открывает/закрывает транзистор VT1. Частота ВЧ-заполнения сигнала ШИМ должна быть с запасом выше 20 кГц, чтобы в динамике ВА1 не прослушивались призвуки. Элементы R4, ТІ, ВА 1 можно использовать от радиотрансляционной точки. Имеющийся тракт звука необходимо предварительно доработать путём введения одного или двух конденсаторов С2, С3\ ж) НИЗКИМ уровнем с выхода МК отключается звук, проходящий по тракту R2, R3, С/, С2. Перевод линии МК в режим входа АЦП с отключённым «pull-up» резистором позволяет при необходимости «прослушивать» звуковые сигналы в тракте.
2.6.11. Сопряжение с логическими микросхемами Выходную линию порта в идеализированном МК можно представить эквивалентным логическим КМОП-элементом из серии 74АС. Реальные МК тоже имеют выходные каскады, примерно совпадающие с микросхемами серий 74АС, 74АСТ, 74НС, 74НСТ. Следовательно, для сопряжения МК с внешними логическими микросхемами пригодятся два простых правила. Если питание одинаковое, то микросхема подключается к МК по принципу «вход к выходу», а если питание различается, то необходим промежуточный каскад для сопряжения уровней. Для входов микросхем средней степени интеграции (счётчики, регистры, дешифраторы, шинные формирователи) МК представляется как многоканальный генератор импульсов. Логика работы зависит от функционального назначения подключаемой микросхемы и её временных диаграмм согласно даташиту. При стыковке МК с ТТЛ-микросхемами следует учитывать максимальную длину соединительных проводников, при которой ещё не надо согласовывать волновые сопротивления и вводить буферные логические элементы (Табл. 2.14). Таблица 2.14. Параметры микросхем ТТЛ-логики Семейство микросхем ТТЛ-логики Название серии микросхем Максимальная длина проводников до входа [см] Максимальная длина проводников от выхода [см] Стандартная или базовая ТТЛ 74Sxx, К155 18 23 ТТЛ с диодами Шоттки 74LSxx, К555 11 14 Скоростная ТТЛ с диодами Шоттки 74ALSxx, КР1533 5 6 На Рис. 2.97, а...п приведены схемы сопряжения МК с логическими микросхемами разных серий. Рис. 2.97. Схемы сопряжения МК с логическими микросхемами (начало): а) максимальное число параллельно подключаемых логических элементов к одному выходу МК зависит от серии микросхем DDl...DDn; б) резистор R1 обеспечивает ВЫСОКИЙ уровень на верхнем входе логического элемента DDI. Можно обойтись без резистора, соединив вместе выводы 1 и 2 микросхемы DDI, но при этом увеличивается токовая нагрузка на линию МК; в) «вклинивание» МК в общую точку соединения микросхем DDI и DD2. Вновь вводятся два элемента — развязывающий диод VD1 и резистор R1, который ставится для повышения быстродействия, иначе можно обойтись и внутренним «pull-up» резистором МК;
Рис. 2.97. Схемы сопряжения МК с логическими микросхемами {продолжение): г) DDI — это логический дешифратор. На трёх верхних выходах МК выставляется двоичный код номера канала ^вых(1)--^вых(8)> который будет иметь НИЗКИЙ уровень (в остальных каналах ВЫСОКИЙ уровень). Нижний выход МК — разрешение/запрет работы дешифратора; д) формирователь «сетки» частот при помощи двоичного делителя DDL Частота импульсов на каждом последующем выходе отличается ровно в 2 раза в меньшую сторону; е) транзисторный имитатор реального ТТЛ-выхода (конвертор КМОП-ТТЛ). Допустимый ток НИЗКОГО уровня через коллектор транзистора VT3 составляет примерно 40 мА. Замена транзисторов VT1... VT3 — КТ315Б, диодов — КД522Б; ж) для управления относительно «высоковольтным» инвертором DDI требуется согласующий транзистор VTL Элементы R2, VD1 могут отсутствовать; з) нагрузка RH подключается к источнику повышенного положительного напряжения. Замена микросхемы DDI — DS75451 (фирма National Semiconductor), при этом верхний допустимый предел напряжения питания в нагрузке уменьшается с 56 до 30 В;
Рис. 2.97. Схемы сопряжения МК с логическими микросхемами (окончание): и) запараллеливание всех входов и выходов микросхемы DDI — это радиолюбительское решение, традиционно вызывающее критику профессионалов. Но реально оно работает, поскольку транзисторы, из которых состоит DDI, изготавливаются на одной подложке, из одних материалов и по одной технологии. Как следствие — пороги срабатывания у всех инверторов практически одинаковы во всём диапазоне температур и напряжений, что исключает протекание больших сквозных токов в момент переключения сигнала. Замена микросхемы DDI — 74АС04; к) согласование уровней +5/+12 В на транзисторах VT1, VT2 разной проводимости; л) нагрузка RH подключается к источнику повышенного отрицательного напряжения. Микросхема DA1 (фирма National Semiconductor) допускает ток в нагрузке 300 мА; м) увеличение амплитуды выходных импульсов с 4.5 до 6 В. Микросхема DDI питается повышенным (по отношению к МК) напряжением KDD1 = VGm + VGm = 4.5 + 1.5 = 6 В. Порог срабатывания триггера Шмитта DDI составляет +1.8...+2.2 В, что выше НИЗКОГО уровня МК; н) резистор R1 не даёт «висеть в воздухе» счётному входу делителя DDI при рестарте МК; о) микросхема DDI специально предназначена для преобразования уровней. Замена — К561ПУ7, но с инверсией выходного сигнала; п) одновременное подключение логического элемента DDI и транзистора VT1 к МК.
2.6.12. Импульсные устройства В цифровой технике, где используются обычные логические микросхемы, важную роль играют разного рода формирователи импульсов, построенные на интегрирующих и дифференцирующих ЛС-цепочках. С появлением МК их надобность сводится к минимуму, ведь точную длительность импульсов легко задать программным способом. И все-таки бывают случаи, когда дополнительные логические элементы весьма полезны. Например, если на один выход МК «навешано» слишком много функций или же в схеме имеются незадействованные свободные инверторы/повторители сигналов (Рис. 2.98, а...м). Рис. 2.98. Схемы импульсных формирователей с участием МК (начало): а) ВЫСОКИМ уровнем с выхода МК запускается в работу стандартный генератор импульсов, который состоит из триггера Шмитта DDI и частотозадающей цепочки R1, С1\ б) интегрирующая цепочка Л/, С1 ставится при большом удалении МК от инвертора DDI для устранения «звонов» на фронтах импульсов и подавления коротких помех. Другая цель — обеспечить небольшую задержку выходного сигнала ишх во времени; в) ВЫСОКИМ уровнем с выхода МК запускается в работу генератор коротких импульсов на микросхеме DDI. Период генерации задаётся цепочкой Rl, С1, а длительность — ёмкостью конденсатора С/, поскольку динамическое сопротивление разрядного диода VD1 очень мало; г) по каждому фронту генерируемого от МК сигнала формируется один короткий импульс на выходе элемента DDI, т.е. происходит удвоение частоты. Длительность импульса по нарастающему фронту определяется цепочкой Rl, С1, а по спадающему фронту — цепочкой R2, С Г, д) на выходе инвертора DD1.2 формируется огибающая пачек импульсов, генерируемых МК. Схема также может использоваться для проверки наличия/отсутствия сигналов в цепи ивьш по НИЗКОМУ/ВЫСОКОМУ уровню в цепи UBblX2. Постоянная времени цепочки Rl, С1 выбирается на порядок-два больше, чем период следования импульсов от МК;
Рис. 2.98. Схемы схемы импульсных формирователей с участием МК (окончание): е) удвоитель частоты импульсов, генерируемых с линии порта МК. Длительности импульсов на выходе элемента DD2 определяются задержками времени (единицы-десятки наносекунд) в инверторах DDL 1, DDL2; ж) формирователь ультракоротких дельта-импульсов положительной полярности по нарастающему фронту сигнала, выставляемому на линии порта МК. Длительность импульса определяется задержками времени в инверторах микросхемы DDI (единицы-десятки наносекунд). Резистор R1 можно удалить, если DDI и DD2 являются ТТЛ-микросхемами; з) аналогично Рис 2.98, ж, но с формированием ультракоротких дельта-импульсов отрицательной полярности по спадающему фронту сигнала, выставляемого на линии порта МК; к) схема раздельной задержки двух фронтов импульсного сигнала, генерируемого от МК. Длительность задержки переднего фронта определяется элементами VD1, Rl, С1, а заднего фронта — элементами VD2, R2, С1\ л) расширитель длительности коротких импульсов. Цель — «отлавливание» непредсказуемых во времени аварийных сигналов. При НИЗКОМ уровне на выходе МК (т.е. при аварии) открывается транзистор VTL Конденсатор С1 разряжается и на выходе инвертора DDI появляется НИЗКИЙ уровень. Заряд обратно конденсатора С1 происходит через резистор R2 и длится долго (единицы секунд). Если авария не устраняется, то индикатор HL1 будет светиться постоянно; м) формирователь короткого импульса по нарастающему фронту сигнала от МК при помощи дифференцирующей цепочки Rl, CL
2.7. Силовая электроника 2.7.1. Источники питания на базе МК Выходные линии портов МК могут сами служить источником питания для внешних маломощных устройств. Судя по ВАХ идеализированного МК, реально отдаваемый ток в нагрузку с одной линии порта составляет 8... 10 мА при выходном напряжении +4.7 В и 40...50 мА при выходном напряжении +3.3 В. Здесь важно лишь следить за температурой корпуса МК, чтобы он не перегревался при длительной эксплуатации в режиме источника питания. Чтобы подключить более мощную нагрузку и получить более высокое и стабильное напряжение на выходе, применяют схемотехнику, апробированную в DC/DC-преобразователях, где МК одновременно выступает и генератором сигналов ШИМ, и измерителем напряжения обратной связи, и пороговым устройством, отключающим питание в аварийных ситуациях. В силовой электронике основными проблемами при разработке DC/DC- преобразователей считаются большие габариты электролитических конденсаторов и катушек индуктивности. Уменьшить их размеры можно выбором высокой тактовой частоты задающего генератора и применением современных ЭРИ. Например, электролитические конденсаторы, применяемые в фильтрах питания, делятся на алюминиевые (низкая цена, токи утечки 4...40 мкА) и танталовые (широкий диапазон температур, токи утечки 0.3...8 мкА). И в первом, и во втором случае лучше использовать новые конденсаторы. «Новые» не в смысле непаяные «залежавшиеся» К50-6, К50-12, а зарубежные конденсаторы последних лет разработки с улучшенными характеристиками материалов, хорошими электрическими параметрами и чрезвычайно малыми размерами. По части катушек индуктивности тоже наметился прогресс. В частности, изготавливаются катушки индуктивности 0.1...1000 мкГн, внешне очень похожие на обычные резисторы ОМЛТ-0.5. Их типовые параметры (серия ЕС36 фирмы Mobicon): добротность 50...75, частота резонанса 50 МГц, рабочий ток 0.1...0.9 А, сопротивление 0.04... 17 Ом. Общее правило — чем меньше индуктивность, тем больше максимально допустимый ток, и наоборот. Если требуется дальнейшее уменьшение габаритов конструкции, то переходят на конденсаторы и катушки индуктивности в SMD-исполнении для поверхностного монтажа. Они миниатюрные, безвыводные, а по параметрам мало в чём уступают корпусным аналогам (Табл. 2Л5). Таблица 2.15. Типовые параметры SMD-конденсаторов и SMD-индуктивностей Типоразмер корпуса 0402 0603 0805 1206 1812 «Бочка» Ёмкость конденсатора С [мкФ] 106...0.01 10-6...0.22 io-6...i 10-6...2.2 - - Напряжение конденсатора [В] 25...50 16...50 16...100 16...100 - - Индуктивность L [мкін] 0.001...0.12 0.002...47 0.002...4.7 0.002...2.2 0.001...1 1...1000 Ток через катушку [мА] 250...300 15...850 100...1000 55...1200 55...1500 330...7000 Схемы источников питания на базе МК можно условно разделить на безындуктивные (Рис. 2.99, а...н) и с ключевыми преобразователями (Рис. 2.100, а...д).
Рис. 2.99. Схемы безындуктивных источников питания на базе МК (начало): а) стабилизатор DA1 поддерживает неизменным выходное напряжение +3 В при токах нагрузки до 20...30 мА. Для увеличения тока, надо запараллелить два и более выхода МК. Основное требование к микросхеме DA1 — как можно меньшее собственное потребление тока; б) маломощный источник питания, напряжение на выходе которого регулируется скважностью импульсов в канале ШИМ. Резистор R1 ограничивает ток короткого замыкания в нагрузке на общий провод. Совместно с конденсатором С/ он входит в ФНЧ, который сглаживает пульсации. Максимальное выходное напряжение +5 В достигается лишь при высокоомной нагрузке; в) напряжение питания, подаваемое на часы А1, стабилизируется на уровне 1.6... 1.8 В свето- диодом НЫ, который одновременно служит индикатором включения; г) удвоитель напряжения на элементах CI, С2, VD1, VD2. Три линии МК запараллелены для повышения выходной мощности. Частота генерации импульсов меандра 20...50 кГц. Идеального удвоения с 5 до 10 В получить не удастся из-за падения напряжения на диодах VD1, VD2; д) формирователь двух отрицательных напряжений на элементах CL..C4, VD1... VD4. Для повышения выходного напряжения диоды рекомендуются Шоттки, желательно высокочастотные, или, на крайний случай, германиевые Д9; е) буферная микросхема DDI снижает нагрузку по току на МК. Частота генерации 1... 100 кГц. Замена DDI — любой мощный КМОП-инвертор/повторитель;
Рис. 2.99. Схемы безындуктивных источников питания на базе МК (продолжение): ж) стабилизатор отрицательного напряжения с силовым ключом на транзисторе VT2w повышенным питанием +12 В. Микросхема DA1 должна иметь низкий ток потребления; з) высокоточный программируемый по шине PC источник питания на 8-разрядном ЦАП DAI фирмы Maxim/Dallas; и) два изолированных и гальванически развязанных между собой источника питания. Микросхема DA1 содержит аналоговые ключи, которые коммутируются сигналами основной и удвоенной частоты от двух выходов МК; к) мультифазный диодно-конденсаторный умножитель напряжения на элементах VD1... VD6, С1...С6с низкопотребляющим стабилизатором на микросхеме DA1. На выходах МК должна генерироваться «бегущая единица» с частотой следования импульсов десятки килогерц;
Рис. 2.99. Схемы безындуктивных источников питания на базе МК (окончание): л) аналогично Рис. 2.99, к, но без стабилизации напряжения и с противофазными сигналами на выходах МК. После подачи питания +5 В в момент начального заряда ёмкостей конденсаторов С1...СЗ выходы МК испытывают кратковременную перегрузку по току; м) регулируемый источник постоянного напряжения Еп на базе ЦАП с матрицей «R-2R»; н) частота генерируемого сигнала на выходе МК должна составлять десятки килогерц. Резисторы R1, /^ограничивают пусковые токи. Конденсаторы С6, С7снижают радиопомехи. Рис. 2.100. Схемы ключевых источников питания на базе МК (начало): а) максимально упрощённый вариант ключевого DC/DC-преобразователя без обратной связи. Выходное напряжение в нагрузке RH составляет 30 В при токе 20 мА;
Рис. 2.100. Схемы ключевых источников питания на базе МК (окончание): б) ключевой DC/DC-преобразователь использует энергию, которая запасается в катушке индуктивности LL Частоту генерации определяет МК, как правило, не более 100 кГц. Элементы VD1, С1 выпрямляют и сглаживают импульсы, а параметрический стабилизатор R1, VD2 поддерживает выходное напряжение на уровне +12 В. Аналоговые ключи микросхемы DA1 выдерживают ток нагрузки на порядок выше, чем допускается для портов МК. Соответственно мощность нагрузки может быть гораздо больше. Для выключения DC/DC-преобразователя на выходе МК следует выставить любой постоянный уровень, однако лучше НИЗКИЙ (а не ВЫСОКИЙ), чтобы экономилась электроэнергия и не перегревалась обмотка катушки индуктивности Ll\ в) высокое напряжение, генерируемое импульсным DC/DC-преобразователем, «пробивает» воздушный зазор между заострёнными контактами XI, Х2. Индикатор HL1 мигает при каждом прохождении импульса ВЫСОКОГО уровня с выхода МК. Диод VD1 защищает базу транзистора VT1 от наводок. Стабилитрон VD3 подбирается экспериментально; г) элементы LI, Rl, VT1, VD1, С1 образуют нерегулируемый DC/DC-преобразователь напряжения, работающий на частоте 53 кГц. КПД источника составляет 64% при мощности в нагрузке 280 мВт и скважности импульсов, генерируемых с выхода МК, 30%. Транзистор VT2 периодически подключает нагрузку RH к общему проводу. Если регулировать скважность импульсов в канале ШИМ нижнего выхода МК, то будет изменяться средний ток в нагрузке; д) двухтранзисторный повышающий DC/DC-преобразователь напряжения для питания подсветки цветного ЖК-модуля. Транзистор VT1 выполняет функцию защитного буфера и не даёт открываться транзистору VT2 при рестарте МК.
2.7.2. Нагревательные элементы Таблица 2.16. Типовые параметры чип-резисторов Типоразмер Габариты [мм] ^махівт] 0201 0.6x0.3x0.3 0.05 25 0402 1.0x0.5x0.35 0.063 25...50 0603 1.6x0.8x0.45 0.1 25...75 0805 2.0x1.25x0.55 0.125 50...150 1206 3.2x1.6x0.55 0.25 100...200 1218 3.0x4.6x0.44 0.5...1.0 200 Разработчику следует взять на заметку, что чип-резисторы более «нежные» к кратковременным перегрузкам по мощности, чем обычные резисторы ОМЛТ. В частности, «чипы» после перегрузки могут не только «сгореть», но и изменить своё сопротивление в несколько раз от номинала, причём бесповоротно. Вывод — в силовых и высоковольтных цепях надо очень хорошо взвешивать все «про» и «контра» (перевод с испан. «за» и «против»), прежде чем ставить SMD-резисторы. На Рис. 2.101, а...ж приведены схемы подключения нагревательных элементов к МК. Поскольку нагревание и охлаждение — это близкие по физике процессы, то в подборку схем включён элемент Пельтье, который является обратимым прибором в зависимости от полярности поданного на него напряжения. Нагревательными элементами могут служить не только традиционные спирали из нихромовой проволоки и лампы накаливания, но и транзисторы с радиаторами и даже обычные резисторы. При использовании последних надо учитывать, что «батарею» металлоплёночных резисторов желательно составлять из экземпляров с наименьшей мощностью. Например, 20 резисторов С2-33 мощностью 0.5 Вт быстрее нагреваются и остывают, чем 5 резисторов С2-33 мощностью 2.0 Вт. Оригинальной разновидностью резисторных нагревателей являются «змейки» печатных проводников, вытравленных на плате. Они могут охватывать большие поверхности при очень малой собственной высоте. Каждая «змейка» эквивалентна низкоомному резистору, имеющему сопротивление в несколько десятков ом. При ширине дорожки 0.2 мм, толщине покрытия меди 18 мкм и пропускаемом токе 0.1...0.2 А получается весьма приличная плотность тока 27...55 А/мм2. Это приводит к выделению тепла и подогреву платы, что полезно, если в изделии применяются ЭРИ, не выдерживающие значительных отрицательных температур. Согласно ГОСТ 23751-86 предельная плотность тока для наружных слоев печатных плат регламентируется на уровне 250 А/мм2, но приближаться к этой цифре опасно из-за возможности возгорания. Иногда необходимо обеспечить локальный точечный нагрев определённой области объекта. Такая задача, например, возникает при калибровке термодатчиков и с ней успешно справляются малогабаритные поверхностно-монтируемые SMD- резисторы (Табл. 2.16). Их в быту называют «чип-резисторами», учитывая, что в переводе с английского слово «chip» обозначает «щепка, стружка или часть чего- либо», т.е. нечто малогабаритное. Сказать просто «чип» нельзя, поскольку бывают ещё и чип-конденсаторы, чип-дроссели и даже «Частички Индиевого Припоя», применяемые при регулировании СВЧ-устройств.
Рис. 2.101. Схемы подключения нагревательных элементов к МК (начало): а) регулирование температуры промышленным электронагревателем ЕК1 (его можно заменить четырьмя последовательными 60-ваттными лампами). Светодиод НЫ индицирует моменты подачи напряжения в нагрузку, а светодиод HL2 указывает на протекание тока через неё (т.е. отсутствие обрыва). Резисторами Rl, R2 задаётся яркость свечения индикаторов HL7, HL2; б) резисторы 7?А обычные ОМЛТ, С2-33, причём для унификации они выбраны одинакового номинала. Температура их нагрева зависит от протекающего тока через открытый транзистор VTL Суммарная мощность в нагрузке определяется по формуле 7>н[Вт] = (25т2)/7?А[Ом]; в) транзисторы VTl...VT/і мощностью не менее 0.6 Вт служат нагревательными элементами. Ток через них определяется напряжением на выходе интегратора DA1 и сопротивлениями резисторов /?А. Температура нагрева прямо пропорциональна скважности ШИМ-сигнала; г) локальный нагрев некоторой области чип-резисторами типоразмера 0805. Температура регулируется изменением скважности импульсов, генерируемых на выходах МК; д) ЕК1 — это «змейка» печатных проводников на плате произвольного размера. Температура нагрева зависит от плотности протекающего через транзистор VT1 среднего тока, который в свою очередь зависит от скважности импульсов в канале ШИМ МК;
Рис. 2.101. Схемы подключения нагревательных элементов к МК (окончание): е) охлаждение объектов модулем Пельтье ЕК1 фирмы «Криотерм» (размеры 40x40x3.4 мм). Светодиод НЫ индицирует состояние «Заморозить/Разморозить». Транзистор VT1 подключается к МК напрямую, без резисторов, поскольку элемент ЕК1 весьма инерционный и помехи, которые теоретически могут открыть транзистор VT1 при рестарте МК, на него мало влияют; ж) подключение к МК низковольтного элемента Пельтье фирмы Melcor. Параметры ЕК1: мощность 5.3 Вт, рабочий ток 2.5 А при напряжении 3.75 В, максимальная разность температур между «холодной» и «горячей» поверхностями 67°С, габаритные размеры 15x15x4 мм. В среднем считают, что КПД у элементов Пельтье составляет несколько десятков процентов. Для справки, первым, кто заметил в 1834 г. термоэлектрический эффект, был часовщик Жан Пельтье. 2.7.3. Управление тиристорами Тиристором называется четырёхслойный полупроводниковый прибор, состоящий из последовательно чередующихся областей р- и «-типов проводимости. До 1979 г. тиристоры называли тринисторами. С появлением ГОСТ 20859.1-79, а затем ГОСТ 20859.1-98 классификация изменилась следующим образом: • триодные тиристоры или, сокращённо, тиристоры; • тиристоры-диоды (тиристоры с встроенным обратным диодом); • лавинные, асимметричные, запираемые тиристоры; • комбинированно-выключаемые тиристоры; • симметричные триодные тиристоры или, по-другому, симисторы, триаки; • фототиристоры, оптотиристоры, оптосимисторы. Три вывода тиристора обозначают буквами: «А» (анод, Anode), «К» или «С» (катод, Cathode), «УЭ» или «G» (управляющий электрод или Gate — затвор). Мощность нагрузки, подключаемой к аноду/катоду тиристора во много раз превышает мощность сигнала управления. Важной особенностью тиристора является то, что будучи однажды открыт, он находится в таком состоянии постоянно, вплоть до полного снятия питания. Следовательно, для управления тиристором можно использовать короткие импульсы. В зависимости от слоя полупроводника, с которым внутри соединяется вывод УЭ, тиристоры бывают с управлением по катоду (Рис. 2.102, а, встречаются чаще) и с управлением по аноду (Рис 2.102, б, встречаются реже).
Рис. 2.102. Условные графические обозначения тиристоров: а) с управлением по катоду; б) с управлением по аноду. Среди множества электрических параметров тиристоров интерес, с точки зрения сопряжения с МК, представляют следующие: ток отпирания УЭ /уэ (десятки-сотни миллиампер); максимальное напряжение УЭ иуэ (единицы-десятки вольт); длительность импульса включения Твкя (микросекунды). Типовые параметры тиристоров семейства КУ221: 1УЭ = 0.15 А; 1/уэ МАХ = 7 В; Твкя MIN = 2 мкс (в реальных схемах устанавливают 50 мкс... 10 мс); частота повторения импульсов на входе УЭ должна быть не более 30 кГц. Остальные параметры относятся к силовой части. Они зависят от мощности/напряжения в нагрузке и должны выбираться отдельно, без привязки к схемотехнике МК. Для обеспечения долговременной надёжности работы тиристоров следует придерживаться свода простых правил: импульс УЭ должен иметь запас по току относительно минимально допустимого, иначе может произойти локальный пробой стуктуры слабым током помехи и выход тиристора из строя [2-187]; рабочие напряжения и токи в силовой части надо выбирать с коэффициентом запаса 0.7...0.8 от максимально допустимых по даташиту; электрические параметры входа УЭ имеют значительный технологический разброс, поэтому расчёты элементов надо вести на худший случай. Тем не менее, некоторые экземпляры тиристоров могут включаться и при пониженных (по сравнению с даташитом) токах, напряжениях, чем часто пользуются радиолюбители в своих конструкциях; для повышения помехоустойчивости между катодом и УЭ рекомендуется ставить резистор сопротивлением 51... 1000 Ом. Другое решение — обеспечить низкий выходной импеданс генератора управляющих импульсов; следует создавать комфортный температурный режим для тиристора с применением радиаторов и теплопроводящих паст, например, КТП-8. При коммутации нагрузки в цепи 220 В управляющие импульсы желательно синхронизировать с моментами перехода сетевого напряжения через нуль. Такой приём резко снижает уровень ВЧ-помех, «засоряющих» эфир. Для плавного изменения напряжения в нагрузке применяют фазо- и число-импульсное управление, при этом не имеет значение, как подключаются тиристоры к МК: без развязки от сети 220 В (Рис. 2.103, а...ж) или с гальванической изоляцией (Рис. 2.104, а...н).
Рис. 2.103. Схемы подключения тиристоров к МК без гальванической изоляции (начало): а) импульсами с выхода МК периодически открывается транзистор VT1, а через него и тиристор VS1. От частоты следования импульсов будет изменяться среднее напряжение в нагрузке RH. Необязательный конденсатор С1 уменьшает ВЧ-помехи в момент коммутации; б) аналогично Рис. 2.103, а, но максимально упрощённо. Тем не менее, реально работает; в) тиристор VS1 питается постоянным, а не пульсирующим напряжением, поэтому включается он положительным импульсом с выхода МК, а выключается полным снятием напряжения питания +9...+18 В; г) аналогично Рис. 2.103, в, но без транзистора и с выключением тиристора VS1 нажатием кнопки SB1. Резистором R1 устанавливается ток управления не более 15 мА. Падение напряжения на тиристоре в открытом состоянии составляет 0.6... 1.5 В. Контакты кнопки SB1 должны выдерживать максимальный ток, на который рассчитана нагрузка RH\ д) микросхема DDI имеет выход с открытым коллектором и служит ключом, открывающим тиристор VSL Резистором R1 задаётся ток управления, но его может не хватить для конкретного тиристора из-за низкого напряжения питания +5 В (проверяется экспериментально);
Рис. 2.103. Схемы подключения тиристоров к МКбез гальванической изоляции (окончание): е) классическое включение шунтирующего резистора R3 между входом УЭ и катодом тиристора VS1. Напряжение питания +5 В для МК может быть получено от +9 В через стабилизатор; ж) на вход УЭ тиристора VS1 через резистор R3 подаётся повышенное до +12 В напряжение, чтобы обеспечить гарантированное отпирание. В некоторых случаях, подбирая тип тиристора VS1, можно добиться его включения при пониженном напряжении +5 В. Необязательный конденсатор С/ несколько замедляет скорость нарастания управляющего тока (при этом увеличиваются потери мощности), но он защищает тиристор VS1 отложных срабатываний. Рис. 2.104. Схемы гальванической изоляции МК от тиристоров (начало): а) гальваническая развязка через оптопару VU1. Тиристор VS1 подаёт напряжение в нагрузку RH только во время одного полупериода сетевого напряжения 220 В. В другой полупериод нагрузка обесточена, поскольку закрыт диод VD2. Стабилитрон VD1 задаёт оптимальное напряжение на входе УЭ тиристора VS1. Резистор R2 ограничивает ток управления; б) аналогично Рис. 2.104, а, но с другой полярностью импульсов от МК, с дополнительным резистором R2, с конденсатором фильтра С1 и с другим стабилитроном VD1;
Рис. 2.104. Схемы гальванической изоляции МК от тиристоров (продолжение): в) на обоих выходах МК должны синхронно выставляться НИЗКИЕ и ВЫСОКИЕ уровни. Резисторы Rl, R2 — токоограничивающие. Резистор R4 повышает помехоустойчивость; г) гальваническая развязка на трансформаторе 77. Каждый из тиристоров VS1, VS2 открывается в свою полуволну сетевого напряжения импульсами с выхода МК длительностью 10 мкс и периодом 0.7... 1 мс. Для питания транзистора VT1 применяется отдельный источник +5 В(2), чтобы помехи не нарушали работу МК. Трансформатор 77 наматывается на кольце из феррита 79НМ К25х15х5, в обмотке I — 40 витков, в обмотках И, III — по 80 витков провода ПЭВ-0.25; д) МК формирует импульсы частотой 100 Гц и длительностью 12 мкс, которые постепенно за 3 с смещаются с конца полупериода сетевой синусоиды к ее началу. Как следствие, оптосими- стор VU1 «малыми шажками» переходит в полностью открытое состояние, организуя плавный заряд ёмкости высоковольтного конденсатора СЗ. Дроссель Ы наматывается на кольце из феррита М2000НМ1 КЗ 1 х 18.5x7 и содержит две обмотки по 25 витков провода ПЭВ-1.0 в каждой; е) коммутация нагрузки RH при помощи тиристора VS1 и изолированного оптореле VU1\
Рис. 2.104. Схемы гальванической изоляции МК от тиристоров (продолжение): ж) гальваническая развязка МК выполнена на оптопаре VU1. Трансформатор 77 служит не для изоляции (нагрузка RH и так связана с сетью 220 В), а для отпирания тиристора VS1 повышенным напряжением +9...+12 В при токе до 0.15 А. Экономически такое решение оправдано при многоканальной системе с большим числом тиристоров и одним трансформатором; з) VU1 — сдвоенный оптотиристорный модуль фирмы «Элемент-Преобразователь». Линии МКзапараллелены для повышения мощности. Замена VU1 — два оптотиристора ТО 125-10-6; и) гальваническая развязка на оптосимисторе VU1. Тиристоры VS1, VS2 соединены противонаправленно. Каждый из них открывается в «свой» полупериод сетевого напряжения; к) тиристор оптопары VU1 замыкает диагональ диодного моста VD1, чтобы коммутировать нагрузку RH в оба полупериода сетевого напряжения. Ток через нагрузку не более 100 мА; л) аналогично Рис. 2.104, к, но с другой полярностью импульсов и другими типами ЭРИ;
Рис. 2.104. Схемы гальванической изоляции М К от тиристоров {окончание): м) стробоскоп с опторазвязкой. Тиристор VS1 через повышающий трансформатор 77 [2-196] периодически поджигает лампу ELL Светодиод HL 1 индицирует вспышки стробоскопа; н) маркировка на корпусе оптотиристоров VUlt VU2 содержит буквы и символы вместо привычных арабских цифр. Мощность в нагрузке RH не более 100 Вт. 2.7.4. Управление симисторами Симистор («триак» по терминологии, принятой в США) — это двунаправленный симметричный тиристор. Симисторы очень удобны для систем ключевого регулирования в цепях переменного тока. Как следствие, они практически вытеснили тиристоры из бытовой техники (стиральные машины, пылесосы и т.д.). У симистора нет анода и катода. Его три вывода называются: УЭ (управляющий электрод), СЭУ (силовой электрод, расположенный ближе к УЭ), СЭ (силовой электрод у основания прибора) [2-197]. Существуют также аналогичные зарубежные названия, принятые в триаках, соответственно, «G» (Gate — затвор), «ТІ» (Main Terminal 1) и «T2» (Main Terminal 2). Симистор, в зависимости от конструкции, может открываться как положительными, так и отрицательными импульсами на выводе УЭ. Ветви ВАХ симметричные, поэтому ток через силовые электроды может быть и втекающим, и вытекающим. Итого, различают четыре режима работы в квадрантах 1...4 (Рис. 2.105). Рис. 2.105. Режимы работы симисторов (триаков).
Первыми были разработаны четырёхквадрантные симисторы или, по-другому, 4(3-триаки. Они требуют для нормальной работы введения в схему демпферных ЛС-цепочек (100 Ом, 0.1 мкФ), которые устанавливаются параллельно силовым электродам СЭУ и СЭ. Таким нехитрым способом снижается скорость нарастания напряжения через симистор и устраняются ложные срабатывания при повышенной температуре и значительной индуктивной или ёмкостной нагрузке. Технологические достижения последнего времени позволили создать трёхква- дрантные симисторы или, по-другому, ЗО-триаки. Они, в отличие от симисторов «4Q», работают в трёх из четырёх квадрантов и не требуют RC-цепочек. Типовые параметры ЗО-триаков Hi-Com ВТА208...225 фирмы Philips: максимальное коммутируемое напряжение 600...800 В, ток силовой части 8...25 А, ток отпирания затвора (УЭ) 2...50 мА, малогабаритный SMD-корпус. Схемы подключения симисторов к МК можно условно разделить на две группы: без развязки от сети 220 В (Рис. 2.106, а...г) и с гальванической изоляцией (Рис. 2.107, а...л). Некоторые замечания. Типы указанных на схемах симисторов однообразны, в основном КУ208х, ВТххх, МАСххх. Это сделано специально, чтобы заострить внимание на схемотехнике низковольтной управляющей части, поскольку она ближе всего к МК. На практике можно использовать и другие типы симисторов, следя за их выходной мощностью и амплитудой управляющего тока. Демпферные цепочки в силовой части на схемах, как правило, отсутствуют. Это упрощение, чтобы не загромождать рисунки, поскольку предполагается, что сопротивление нагрузки RH носит чисто активный характер. В реальной жизни демпфирование необходимо для 4<3-триаков, если нагрузка имеет значительную индуктивную или ёмкостную составляющую. Рис. 2.106. Схемы подключения симисторов к МК без гальванической изоляции (начало): а) ВЫСОКИЙ уровень на выходе МК открывает транзистор VT1, через который включается симистор VS1. Варистор RU1 защищает симистор от всплесков напряжения, начиная с порога 470 В (разброс 423...517 В). Это актуально при индуктивном характере нагрузки RH\ б) аналогично Рис. 2.106, а, но с другой полярностью сигнала на выходе МК и с транзистором VT1 другой структуры, который выполняет функцию инвертора напряжения. Благодаря низкому сопротивлению резистора R2, повышается помехоусточивость. Сопротивление резистора R2 выбирается по тем же критериям, что и для схем на тиристорах;
Рис. 2.106. Схемы подключения симисторов к МК без гальванической изоляции (окончание): в) высоковольтный транзистор К72 замыкает диагональ диодного моста VD1 при НИЗКОМ уровне на линии МК. Транзистор VT1 в момент рестарта МК находится в открытом состоянии из-за резистора R1, при этом симистор VS1 закрывается и ток через нагрузку RH не протекает; г) прямое управление симистором VS1 с одного или нескольких выходов МК. Запараллеливание линий применяется при недостаточном токе управления (показано пунктиром). Ток через нагрузку RH не более 150 мА. Возможные замены: VS1 — МАС97А8, VD2— КС147А. Рис. 2.107. Схемы гальванической изоляции МК от симисторов (начало): а) симистор VS1 включается/выключается при наличии/отсутствии импульсов 50... 100 кГц, генерируемых с выхода МК. Изолирующий трансформатор 77 наматывается на кольце из феррита N30 и содержит в обмотке 1—15 витков, в обмотке II — 45 витков провода ПЭВ-0.2; б) простая схема трансформаторной развязки. Симистор VS1 включается короткими импульсами с выхода МК. Ток управления зависит от коэффициента трансформации 77;
Рис. 2.107. Схемы гальванической изоляции МК от симисторов (продолжение): в) разделительный трансформатор 77 наматывается на ферритовом кольце М1000НМ размерами К20х 12x6 и содержит в обмотке 1 — 60 витков, в обмотке II — 120 витков провода ПЭВ-0.2. Цепочка R3, С1 накапливает энергию для импульсной коммутации транзистора К77; г) если не требуется частое включение/выключение нагрузки, то для гальванической развязки можно использовать реле Л7. Его контакты должны выдерживать без пробоя переменное напряжение 220 В. В некоторых схемах токоограничивающий резистор R3 закорачивают; д) контакты геркона SF1 замыкаются при протекании тока через катушку индуктивности L7, которая намотана на его корпус. Достоинство — сверхбольшое сопротивление изоляции; е) гальваническая развязка на транзисторной оптопаре VU1. Резистор R3 повышает помехоустойчивость, но может отсутствовать. Резистор R2 определяет порог открывания транзистора VTL При использовании симисторов КУ208, ТС106-10 сопротивление резистора R2уменьшают до 30...75 кОм;
Рис. 2.107. Схемы гальванической изоляции МК от симисторов (окончание): ж) симистором VS1 управляет драйвер DA1 (по-старому, КР1182ПМ1), который обеспечивает плавное изменение тока в нагрузке RH в зависимости от напряжения на конденсаторе С/. Если транзистор оптопары VU1 закрыт, то конденсатор С1 заряжается от внутреннего ИОН микросхемы DA1 и в нагрузке устанавливается максимальное напряжение. Резистор R4 может отсутствовать при наличии резистора R3. Резистор R3 можно закоротить при наличии резистора R4\ з) гальваническая развязка на опторезисторе VU1. Резистором R1 подбирается ток через све- тоизлучатель VU1 и, соответственно, ток управления симистором VS1; и) применение двух оптотиристоров VU1, VU2 для коммутации симистора VS1 в любой полупериод сетевого напряжения. Резистор Ус2 ограничивает ток управления симистора; к) питание входа УЭ симистора VS1 осуществляется от отдельной низковольтной обмотки промышленного трансформатора 77 ТПП235-220/110-50; л) применение оптотиристора VU1 для управления симистором VS1 (замена КУ208Д1). Из двух токоограничивающих резисторов R2, R3 обычно оставляют один, второй замыкают перемычкой. Замена VD1 — мост КЦ407А или четыре отдельных диода КД226.
2.7.5. Оптосимисторы а) прямое управление мощным оптосимистором VU1 (фирма Sharp) от МК; б) оптосимистор VU1 (оптотриак фирмы Teledyne Technologies) управляет нагрузкой RH в сети переменного напряжения 220 В/16 А и имеет встроенный резистор Rx 440 Ом; в) включение оптосимистора VU1 (замена S201S05V) через буферный транзистор VT1, который защищает порт МК при аварии. Мощность в нагрузке RH не более 100 Вт. Рис. 2.109. Схемы гальванической изоляции симисторов при помощи оптосимисторов (начало): а) трёхступенчатая схема управления на оптосимисторе VU1 и двух триаках KS7, VS2. Для сети 220 В триаки (они же симисторы) следует выбирать на напряжение не менее 600 В; Оптосимистор, как следует из названия, включается освещением полупроводникового слоя. По сути дела это комбинация оптоизлучателя и симистора, но в одном корпусе. Преимущество — простая схема управления и изоляция цепей. Оптосимисторы могут коммутировать нагрузку сами (Рис 2.108, а...в) или служить гальванической развязкой для МК (Рис 2.109, а...ж).
Рис. 2.109. Схемы гальванической изоляции симисторов при помощи оптосимисторов {продолжение): б) маломощный оптосимистор VU1 управляет мощным симистором VSL Сопротивления резисторов R2, R3 варьируются в разных схемах. Встречающиеся варианты: VU1 — МОС3021, МОС3052; VS1 — TCI 12...ТС142 с допустимым напряжением коммутации не менее 400 В; в) аналогично Рис. 2.109, б, но с демпфирующей цепочкой R4, С1, а также с другим расположением нагрузки относительно симистора VS1 и другой полярностью сигнала с выхода МК. Возможные замены: VS1 — ВТ 138-600, VU1 - МОС3062, МОС3063, МОС3051...МОС3053; г) схема включения триака KS7, рассчитанного на напряжение 600 В и ток 8 А. Конденсаторы должны выдерживать переменное напряжение не менее 275 В. Для повышения устойчивости можно установить резистор 220...470 Ом между средним и нижним выводами триака; д)аналогично Рис.2.109, г, но с активным ВЫСОКИМ уровнем на выходе МК, напряжением сети 120 В и с другими номиналами ЭРИ. Фильтр LI, С2 снижает коммутационные помехи;
Рис. 2.109. Схемы гальванической изоляции симисторов при помощи оптосимисторов (окончание): е) аналогично Рис 2.109,6, но с дополнительной фильтрацией помех и снижением нарастания фронта управляющего сигнала при помощи конденсаторов С/, С2. Встречающиеся варианты замены элементов: VU1 - МОС3041, VS1 — ВТА12-600, R2 = 470 Ом, R4 и С2 в некоторых схемах отсутствуют; ж) оптосимистор VU1 управляет двумя относительно низковольтными симисторами VS1, VS2, включёнными последовательно (желательно подобрать пару с одинаковыми токами утечки). Резисторы R5, R6 распределяют примерно поровну сетевое напряжение в средней точке соединения VS1, VS2. Светодиоды НЫ, HL2 индицируют аварийное состояние симисторов или же значительную ассиметрию их ВАХ. Вместо низковольтных симисторов КУ208Б можно поставить симисторы КУ208Г с вдвое большим допустимым напряжением. Как следствие, увеличится надёжность устройства и сохранится работоспособность при пробое одного из симисторов.
2.8. Механические реле 2.8.1. Механические реле общего применения «Автоматическое устройство, скачкообразно изменяющее двух- или трёхпози- ционное электрофизическое состояние контактного или бесконтактного выхода, вследствие непрерывного или дискретного управляющего воздействия». Непосвящённый человек никогда не догадается, что речь идёт об обычном реле! Становится жаль студентов, которым придётся заучивать столь невразумительный набор слов, претендующий на право войти в учебники... Электрическое реле — это одно из самых простых и логически понятных устройств. Если напряжение на реле подано, то его контакты замыкаются, если напряжение отсутствует, то размыкаются (или наоборот). Стоит отметить, что существуют так называемые «поляризованные» или «импульсные» реле, которые переключаются подачей на управляющую обмотку не постоянного напряжения, а знакопеременного импульса тока, но об этом разговор пойдёт позже. Первое в мире коммутационное реле разработал знаменитый С. Морзе и применил его в своём телеграфном аппарате образца 1837 г. До этого уже были известны конструкции «некоммутационного» типа. В частности, Дж. Генри чуть раньше создал электромагнитный контакторный коммутатор (релейный усилитель) для звукового телеграфа, но в нём не было якоря и замыкающих контактов. Слово «реле» происходит от английского «геїау», что подразумевает замену (т.е. усиление) ослабленного тока в электромагнитном усилителе Генри по аналогии с заменой уставших почтовых лошадей или спортсменов, передающих эстафету. С классификацией электрических реле возникают трудности, поскольку разные фирмы-изготовители ставят во главу угла разные маркетинговые признаки, считая их наиболее ценными для потребителя. В качестве примера в Табл. 2.17 приведено разделение, принятое на фирме ZETTLER Electronics. Таблица 2.17. Параметры механических реле общего назначения Механические реле Ц>аб[В] Л»аб [Вт] ^ком min [мА] ^ком мах [А] ^ком min [мкВ] ^ком мах [В] 'вкл/выкл [мс] Миниатюрные 1.5; 3; 4.5; 5; 6; 9; 12; 24 0.1...0.3 0.01...0.1 0.2...2 10...100 30...250 1...8/1...4 Мощные 3;5;6; 9; 12; 18; 24; 48 0.2...0.8 3...10 5...25 — 250...400 7...10/2...8 Автомобильные 6; 9; 12; 24 0.6...2 10...100 40...80 — 14...28 7...9/4...5 Для сравнения, в фирме OMRON придерживаются другой классификации реле: сигнальные (ток до 3 А), силовые (ток до 30 А), автомобильные (ток до 70 А), высокочастотные, реле для промышленной автоматики. Ещё один вариант разделения реле можно найти в каталогах фирмы Relpol: миниатюрные, малогабаритные, сигнальные, интерфейсные, автомобильные. В радиолюбительских конструкциях чаще всего применяются маломощные низковольтные реле с рабочим напряжением 3... 12 В и с током коммутации до 2 А. Изредка бывает потребность в использовании автомобильных реле, а также мощных реле, рассчитанных на работу с переменным напряжением 220 В.
Строго говоря, реле управляется не напряжением, а током, поэтому в даташи- тах регламентируются два главных параметра: ток срабатывания и ток отпускания. Первый из них по абсолютной величине больше второго с разницей в 5... 10 раз. Для ориентира, сопротивление обмотки типового реле с рабочим напряжением 5 В составляет 100... 110 Ом, с напряжением 12 В — 400...600 Ом (Табл. 2.18). Таблица 2.18. Соответствие рабочего напряжения и рабочего тока у маломощных реле "рабіВ] 3 5 6 9 12 24 48 /рабіма] 40... 160 30...100 25...83 16...55 12...41 8...20 6...12 Число коммутаций современных миниатюрных реле достигает 105...106 при максимальном токе и 106...108 при малых рабочих токах. Первый показатель характеризует электрический, а второй — механический ресурс службы. Самый тяжёлый режим для любых реле наступает при коммутации индуктивных нагрузок, при этом износоустойчивость снижается примерно в 2 раза. По типу и числу групп контактов различают четыре разновидности реле, которые обозначаются также, как и механические переключатели (Рис. 2.110). Рис. 2.110. Буквенные и графические обозначения групп контактов реле. Схемы подключения механических реле к МК можно условно разделить на «низковольтные» (Рис. 2.111, а...з) и «высоковольтные» (Рис. 2.112, а...п). Отдельно на Рис 2.113, а...н показаны различные варианты «обвязки» реле, применимые как к«низковольтным», так и к «высоковольтным» схемам. Рис. 2.111. Схемы подключения «низковольтных» механических реле к МК {начало): а) прямое подключение реле К1 к МК допускается, если ток его срабатывания не превышает 20...25 мА. Резистор R1 снижает амплитуду колебаний, возникающих в момент коммутации. Диод VD1 подавляет ЭДС самоиндукции обмотки реле. Он должен иметь допустимое обратное напряжение, в 3...4 раза превышающее напряжение питания, а также запас по току; б) резисторы RL..R4равномерно распределяют нагрузку по всем четырём выходам МК. Здесь и далее диод VD1 лучше ставить с барьером Шоттки для снижения амплитуды бросков напряжения в цепи питания. Необязательный конденсатор СУ уменьшает ВЧ-помехи (радиопомехи);
Рис. 2.111. Схемы подключения «низковольтных» механических реле к МК (окончание): в) классическая схема подключения реле К1 к МК через буферный транзистор VTL Рабочее напряжение реле К1 должно равняться напряжению источника питания +3...+5 В. Диод VD1 защищает транзистор VT1 от скачков напряжения, вызванных ЭДС самоиндукции реле. Диод может отсутствовать, если транзистор достаточно высоковольтный, а источник питания эффективно гасит импульсные помехи, т.е. имеет низкий импеданс и стабилизатор с обратной связью. Резистор R2 закрывает транзистор VT1 во время рестарта МК. Конденсатор С1 ставят при наличии мощных помех для исключения ложных срабатываний. Транзистор VT1 выбирается по току коллектора: /kmin[mA] = (КСС[В] - UB3[B])-h2l3 / (R^kOm]-^), где £/БЭ = 0.65...0.75 В — напряжение «база — эмиттер» открытого транзистора; Кн = 1.1... 1.4 — коэффициент насыщения; /|21Э — коэффициент усиления транзистора по току; Vcc = 5 В — напряжение питания МК; г) аналогично Рис.2 Л11, в, но с ключом на полевом транзисторе VT1, который имеет более низкое сопротивление в открытом состоянии. Резистор R1 низкоомный, чтобы ускорить разряд входной ёмкости затвора. Резистор R2 ставят для уменьшения амплитуды колебательных процессов, т.е. для снижения добротности катушки индуктивности реле К1\ д) резистор R3 адаптирует «трёхвольтовое» реле К1 к напряжению питания +5 В; е) аналогично Рис.2 Л11, в, но с ключом на транзисторе VT1 структуры р—п—р и с помехопо- давляющими конденсаторами С/, С2; ж) аналогично Рис. 2.111, г, но на полевом транзисторе VT1 обратной проводимости; з) реле К1 постоянно включено. Защитного диода специально нет, т.к. транзистор VT1 имеет обратное напряжение 100 В и выключение реле происходит «плавно» (элементы С7, R2).
Рис. 2.112. Схемы подключения «высоковольтных» механических реле к МК {начало): а) схема аварийной сигнализации. Реле К1 будет включено коротким импульсом от МК через тиристор VS1, который аналогичен кнопке с самоблокировкой. Для отключения реле требуется полностью снять питание +5...+24 В; б) логическая микросхема DDI имеет мощный «высоковольтный» выход с открытым коллектором, что позволяет широко варьировать диапазон рабочих напряжений и токов для реле Л7; в) управление силовым реле К1 при помощи связки маломощного эмиттерного повторителя VT1 и мощного ключа на транзисторе VT2. Конденсатор С1 уменьшает ВЧ-помехи. г) резистор RJ не обязателен, но он уменьшает уровень помех, которые могут проникать в линию МК от бросков тока в катушке индуктивности реле К1 через ёмкостную связь между стоком и затвором транзистора VTL Параметрический стабилизатор R2, VD1 ограничивает напряжение на реле Л7. Сопротивление резистора R2 зависит от мощности реле и питания +9...+24 В; д) применение двух транзисторов (вместо одного) может быть оправдано, если линия МК имеет низкую нагрузочную способность. Другое объяснение — транзистор VT1 одновременно подаёт питание и на другие цепи устройства;
Рис. 2.112. Схемы подключения «высоковольтных» механических реле к МК (продолжение): е) М К проверяет факт включения транзистора VT1, анализируя напряжение на его коллекторе через элементы Rl, R3, VDL Если это напряжение имеет ВЫСОКИЙ уровень, значит транзистор закрыт и реле не сработало. Диод VD1 повышает помехоустойчивость. Резистор ограничивает ток через внутренний диод порта МК. Вместо реле К1 может применяться соленоид; ж) уменьшение времени срабатывания реле К1 путём кратковременной подачи на его обмотку повышенного напряжения, которое обеспечивается элементами С/, VT2, VD2, R2; з) две особенности схемы: двухполярный стабилитрон VD1 (вместо диода) и цепочка /?/, HL1, которая индицирует включение реле К1 и не даёт «висеть в воздухе» затвору транзистора VT1\ и) для полной опторазвязки МК от реле К1 «земли» в левой и правой частях схемы должны быть разобщены. Стабилитрон VD1 ограничивает напряжение на затворе транзистора К77; к) аналог оптореле, но с механическими контактами . Если «земли» двух источников питания +5 В и +12 В изолировать друг от друга, то будет обеспечена двойная гальваническая развязка — между МК и реле А7, а также между реле и его исполнительными контактами;
Рис. 2.112. Схемы подключения «высоковольтных» механических реле к МК (продолжение): л) если на реле К1 подаётся напряжение, то транзистор VT2 закрывается, при этом индикатор HL 1 светится, HL2 погашен. Если реле К1 обесточено, то транзистор VT2 открывается, при этом индикатор HL1 погашен, HL2 светится, а параллельно питанию +16 В подключается нагрузочный резистор R5. Его сопротивление должно быть таким же, как и у обмотки реле К1. Цель — поддерживать стабильным ток, потребляемый от источника питания, чтобы не возникало импульсных помех и «просадок» напряжения при включении/выключении мощного реле Л7; м) схема В.Грэйама. «Высоковольтное» реле К1 срабатывает от «низковольтного» источника +6 В. Напряжение на реле суммируется с напряжением заряженного конденсатора С2 при открытом транзисторе VT1. После разряда конденсатора С2 реле К1 удерживается во включённом состоянии напряжением +5.3 В через открытый транзистор VT2, потребляя меньше энергии; н) контактор КМ1 — это мощное трёхфазное реле. Оно включается от МК через оптотири- стор VU1 и симистор VS1. Управляющее напряжение на контактор подаётся от фаз «О» и «А» после самоблокировки цепи питания нижней группой контактов КМ 1.4;
Рис. 2.112. Схемы подключения «высоковольтных» механических реле к МК (окончание): о) цепочка Rl, С1 задерживает во времени момент включения реле Л7, тем самым устраняя его ложные срабатывания от коротких пусковых импульсов. Такое может наблюдаться, если М К генерирует с той же самой линии порта сигналы ещё и для других узлов устройства; п) НИЗКИМ уровнем с выхода МК открывается транзистор VT1, на реле К1 подаётся удвоенное напряжение от DC/DC-преобразователя DA1 фирмы Maxim Integrated Products. Через некоторое время, определяемое цепочкой R2, СЗ, микросхема DA1 отключается от питания, но внутри неё остаётся почти короткое замыкание (5 Ом) между выводами 4 и 5. Соответственно, на реле подаётся пониженное напряжение +3.3 В, которого достаточно для поддержания включённого состояния. Достоинство — экономия в 4 раза мощности потребления реле. Замена DA1 — МАХ 1680, но при этом надо увеличить ёмкость конденсаторов С7, С2 в 2...5 раз. Рис. 2.113. Схемы подключения внешней «обвязки» к механическим реле (начало): а) реле с самоблокировкой или, по-другому, с однократным включением. Резистор R1 подбирают так, чтобы в закрытом состоянии транзистора VT1 реле К J находилось вблизи границы срабатывания. Требование к реле К1 — оно должно иметь как можно большую разность между током срабатывания и током отпускания; б) диод VD1 повышает помехоустойчивость. Конденсатор фильтра С1 может отсутствовать; в) резистор R1 ускоряет выключение реле К1. Транзистор VT1 должен без пробоя выдерживать большие импульсные перегрузки по току, поскольку в первый момент времени после подачи на реле К1 питания конденсатор С1 имеет очень низкое сопротивление;
Рис. 2.113. Схемы подключения внешней «обвязки» к механическим реле (продолжение): г) конденсатор С J гасит колебательный процесс в катушке индуктивности реле KL Резистор R1 ограничивает начальный ток заряда конденсатора; д) резистор R1 совместно с транзистором VT1 стабилизирует ток через обмотку реле К1. Это полезно при нестабильном напряжении питания +12...+16 В. Рабочее напряжение у реле К1 должно быть с запасом ниже, чем напряжение питания; е) конденсаторы С7, С2 устраняют коммутационные помехи в радиодиапазоне, возникающие при включении/выключении реле Л7; ж) в момент включения транзистора VT1 конденсатор С1 имеет низкое сопротивление и на реле К1 подаётся полное напряжение питания. По мере заряда конденсатора С1 напряжение на реле уменьшается. Порог «не отпускания», когда реле ещё включено, устанавливается резистором R1. Достоинство схемы — более низкая потребляемая мощность в статическом режиме; з) стандартный диод защиты VD1 дополнен последовательным низкоомным резистором R1, на котором выделяется напряжение, пропорциональное току через диод. В этой точке можно посмотреть осциллографом динамику колебательного процесса коммутации реле. Кроме того, из этой точки можно вывести внешний сигнал для синхронизации других узлов устройства; и) кнопкой SB1 проверяется исправность реле К1 при закрытом транзисторе VT1. Контакты кнопки должны выдерживать полный ток срабатывания реле. Резистор R1 подбирается так, чтобы ток через светодиод НЫ был меньше 20 мА. Светодиод может отсутствовать, при этом избыточное напряжение будет гаситься на резисторе R1 (необходимо только просчитать его мощность рассеяния);
Рис. 2.113. Схемы подключения внешней «обвязки» к механическим реле (окончание): к) благодаря конденсатору С/ на реле К1 в начальный момент времени подаётся повышенное напряжение, затем оно снижается из-за падения напряжения на резисторе R2. Цель — экономия электроэнергии. Светодиод НЫ индицирует включённое состояние реле К1. Резистором R1 регулируется яркость свечения и гасится избыток тока, чтобы светодиод не вышел из строя; л) светодиод включён в цепь эмиттера, а не коллектора, транзистора VTL Резистором R1 устанавливается яркость свечения индикатора НЫ и ток через него не более 20 мА; м) типовая схема добавления элементов НЫ, R1 параллельно существующему реле К1\ н) аналогично Рис. 2.113, м, но с повышенным напряжением питания. Резистором R1 гасится избыточное напряжение 4 В. 2.8.2. Включение нескольких реле Если реле в устройстве много, то их проще всего подключить к МК по принципу «одно реле на одну линию порта». Получается линейка из N независимых каналов. Схемотехника каждого канала аналогична включению одиночного реле. Управление несколькими реле может производиться как синхронно, так и асинхронно во времени в зависимости от требуемого алгоритма работы устройства. Существуют также специфические схемы включения, характерные именно для двух и более реле (Рис. 2.114, а...е).
Рис. 2.114. Схемы подключения нескольких реле к одному МК (начало): а) микросхема DA 1 содержит 7 транзисторных ключей с открытым коллектором. Внутренние защитные диоды позволяют подключать реле KL..K7прямо к выводам DAL Максимальное напряжение коммутации 50 В. Ток нагрузки на один канал до 500 мА при общей нагрузке на все выходы не более 2.5 А. Оптимальный вариант, когда число каналов DA1 равно числу реле; б) при повышенном напряжении питания используется последовательное соединение реле А7... Кп, управляемых одним ключом VT1. Количество реле рассчитывается по сумме напряжений на каждом из них. Если сумма больше, чем напряжение питания, то реле не сработают, если сумма меньше, то реле будут перегреваться (надо ставить последовательный гасящий резистор). Недостаток — при «перегорании» обмотки одного реле, остальные перестают работать; в) параллельное включение реле А7... Кп по надёжности выше, чем последовательное. Через мощный транзистор VT2 протекает сумма токов всех реле, что приводит к увеличению его напряжения «коллектор — эмиттер» в открытом состоянии и ухудшает КПД. Транзистор VT2 следует поставить на радиатор или, ещё лучше, применить мощный полевой транзистор; г) реле А7... К10 по очереди срабатывают в зависимости от скважности импульсов, генерируемых на выходе МК через канал ШИМ. Частота следования импульсов должна быть достаточно высокой (десятки килогерц), чтобы на выводе 5 микросхемы DA 1 (фирма National Semiconductor) после фильтра Rl, С1 было постоянное напряжение с минимумом пульсаций;
Рис. 2.114. Схемы подключения нескольких реле к одному МК (окончание): д) реле К1 включается ВЫСОКИМ уровнем с выхода МК через транзистор VT1, а реле К2 — от внешнего устройства (сигнал UBX) через транзистор VT2. При срабатывании одного из реле (любого), второе не может быть включено из-за открытого диода Шоттки VD2 или VD4\ е) реле К1 включается тиристором VS1, а выключается контактами реле К2. 2.8.3. Поляризованные реле Механические реле общего применения не требуют, чтобы соблюдалась полярность подаваемого на обмотку рабочего напряжения. Однако имеются реле, у которых на корпусе возле отводов катушки индуктивности отмаркированы знаки «+» и «—». Казалось бы, зачем? Дело в том, что такие реле внутри содержат постоянный магнит и специальную механику. Они обладают повышенной чувствительностью, низким током срабатывания и малыми габаритами. Если «перепутать» полярность подачи напряжения, то контакты реле не переключатся, хотя ток от источника питания по катушке индуктивности будет протекать исправно. Различают следующие разновидности поляризованных реле (polarized relay): • однообмоточные одностабильные (monostable); • двухобмоточные двустабильные (dual coil latching); • однообмоточные двустабильные (single coil latching). Одностабильные поляризованные реле аналогичны по логике работы обычным механическим реле, но у них должна соблюдаться полярность подачи напряжения на обмотку. Достоинство — улучшенные параметры и малые габариты. Двустабильные реле, изменив своё состояние под воздействием входного параметра, после устранения воздействия не изменяют состояния до приложения другого воздействия. Другими словами, такое реле можно переключать коротким импульсом 5...250 мс, после чего оно перестаёт потреблять энергию. Двухобмоточное реле, по определению, содержит две раздельные поляризованные обмотки. Первая из них (обмотка прямого включения), замыкает, а вторая (обмотка обратного включения) — размыкает контакты. Однообмоточное двуста- бильное реле имеет специальную конструкцию, которая перебрасывает контакты каждый раз после смены полярности подаваемого рабочего напряжения.
Недостатком двустабильных поляризованных реле является их низкая устойчивость к механическим ударам, от воздействия которых положение «ВКЛ» может случайным образом измениться на положение «ВЫКЛ», и наоборот. Подача постоянного напряжения на двустабильные поляризованные реле не рекомендуется, однако, если это произошло, то время воздействия должно быть минимальным, например, не более минуты, чтобы не перегрелись обмотки. На Рис. 2.115, а...г приведены схемы подключения поляризованных реле к МК. Рис. 2.115. Схемы подключения поляризованных реле к МК: а) ВЫСОКИМ уровнем на выходе МК включается одностабильное поляризованное реле К1 фирмы FIC Время воздействия рабочего напряжения не ограничено; б) на выходе МК формируются прямоугольные импульсы положительной полярности длительностью 1 с и периодом повторения 1.2 с, при этом каждый раз срабатывает двустабильное поляризованное реле К1 (контакты перебрасываются в другое положение). Буферные иверторы DDI Л, DDL2 сокращают число требуемых линий МК и защищают порты от всплесков напряжения, которые возникают при коммутации реле. Одна из обмоток реле постоянно включена, поэтому устройство должно быть рассчитано на непродолжительную работу с перерывами; в) аналогично Рис. 2.115, б, но с повышенным напряжением питания +12 В и с раздельным управлением обмотками реле К1 от двух выходов МК. Перерывы в работе не требуются; г) коммутация полярности напряжения, подаваемого на однообмоточное двустабильное поляризованное реле А7, при помощи мостовой схемы на транзисторах VT1...VT4.
2.9. Полупроводниковые реле 2.9.1. Неизолированные электронные реле Полупроводниковое реле — это статическое реле, работа которого основана на использовании полупроводниковых приборов. Если заменить обмотку и механические контакты обычного реле транзисторными ключами, то как раз и получится полупроводниковое электронное реле. Основными его достоинствами являются: увеличенный ресурс работы, высокое быстродействие и малое время переключения. Единственное, что надо проконтролировать — это надёжность изоляции между цепями управления и нагрузкой. В механических реле такой проблемы не существует из-за особенностей конструкции. Различают гальванически неизолированные и гальванически изолированные электронные реле. К первым из них можно отнести аналоговые двунаправленные ключи, входящие в состав микросхем серий: К561КТхх, К561КПхх, К1014КТхх. Их полевые транзисторы имеют примерно одинаковые и симметричные ВАХ по стоку и истоку. Следовательно, сигналы через такие транзисторы будут успешно проходить как в одном, так и в другом направлении, что эквивалентно замкнутым контактам механического реле. Хотя полная гальваническая развязка отсутствует, но переходное сопротивление между цепями управления и нагрузкой составляет мегаомы, а токи утечки — единицы микроампер. Это и определяет их сферу применения (Рис. 2.116, а, б). Рис. 2.116. Схемы подключения электронных реле к МК: а) многоканальный мультиплексор/демультиплексор аналоговых/цифровых сигналов. Двоичным кодом на двух выходах МК выбирается один из четырёх каналов микросхемы DAL Ключи в микросхеме полупроводниковые двунаправленные, поэтому их можно считать эквивалентами контактов реле. Если перестроить входную линию МК в режим выхода, то сигналы будут поступать в обратном направлении и программно распределяться по четырём каналам; б) имитация нажатия кнопки SB1 замыканием полупроводникового ключа, находящегося в микросхеме DA1 (ВЫСОКИЙ уровень на выходе МК). Сопротивление ключа 0.25... 1 кОм. Напряжение питания прибора А 7, в который входит кнопка SB1, должно быть не более +5 В.
2.9.2. Оптореле Рис. 2.117. Внутреннее строение оптореле серии КР293: а) реле постоянного тока с замыкающим контактом; б) реле постоянного тока с размыкающим контактом; в) реле переменного тока с замыкающим контактом; г) реле переменного тока с размыкающим контактом; д) реле постоянного тока с замыкающим и размыкающим контактами; е) реле переменного тока с замыкающим и размыкающим контактами. В некоторых оптореле последовательно со светодиодом встраивают интегральный токоограничивающий резистор. Это позволяет сэкономить место на плате и защитить светодиод в случае ошибочной подачи на вход высокого напряжения. Светодиоды, входящие в состав оптореле, работают в инфракрасном диапазоне длин волн с типовым падением напряжения 1.0... 1.2 В. Не следует «жадничать» Оптореле или, по-другому, оптоэлектронные реле строятся на основе оптопар с полевыми транзисторами. Они более технологичные (а значит и более дешёвые) по сравнению с микросхемами «цифровых изоляторов», которые содержат внутри микроминиатюрные импульсные трансформаторы. Типовые параметры твёрдотельных оптореле (англ. «Solid-state MOS relays»): ток управления 10...60 мА, время переключения 2...2000 мкс, ток коммутации 1...20 А, максимально допустимое напряжение в нагрузке 200... 1000 В для мощных силовых и на порядок меньше для маломощных сигнальных оптореле, ресурс работы 10 лет, наработка на отказ не менее 25000 часов. Различают оптореле с коммутацией одно- и двухполярных сигналов. В переводе на понятный язык — для коммутации постоянного и переменного тока. На Рис. 2Л17, а...е для примера показаны варианты внутренней «начинки» оптореле серии КР293 (по-старому 5П14). Параллельно выходным контактам оптореле стоят защитные диоды по аналогии с имеющимся в полевых транзисторах MOSFET.
и уменьшать ток через светодиод ниже паспортного значения, поскольку могут ухудшиться выходные параметры и надёжность коммутации. Оптореле, в отличие от оптосимистора, гарантированно переходит в противоположное состояние при снятии освещённости полупроводниковой зоны. Для оптореле без разницы, имеется или отсутствует напряжение в нагрузке. Кроме того, ввиду линейности ВАХ, появляется возможность без искажений коммутировать сигналы очень малой амплитуды, в отличие от оптосимисторов с их резкой пороговой характеристикой вблизи нуля. При коммутации переменных сигналов большой амплитуды начинает сказываться нелинейная зависимость сопротивления канала полевых транзисторов оптореле от напряжения, т.е. возможны искажения формы и спектра сигнала. Для повышения устойчивости работы оптореле в сети 220 В при атаке импульсных помех рекомендуется параллельно его замыкающим контактам ставить последовательную /?С-цепь, состоящую из проволочного резистора сопротивлением 10...50 Ом и конденсатора ёмкостью 0.01...0.15 мкФ с напряжением 600 В. На Рис. 2.118, а...в приведены схемы подключения оптореле к МК. а) VU1 — это оптореле фирмы Crydom. Ток управления 3...4 мА, изоляция выдерживает без пробоя напряжение 4 кВ, проходная ёмкость 8 пФ; б) индикация включения светоизлучающей части оптореле VU1 (фирма Fairchild) производится светодиодом HLL Мощность в нагрузке RH не более 50 Вт; в) НИЗКИМ уровнем на выходе МК размыкаются контакты оптореле VU1, при этом прибор, подключаемый к вторичной обмотке трансформатора 77, переходит в дежурный режим с пониженным питанием, поскольку последовательно включается гасящее сопротивление R2. Рис. 2.118. Схемы подключения оптореле к МК:
2.10. Комбинированные выходные схемы 2.10.1. Совмещение световой и звуковой индикации То, о чём пойдёт речь дальше, французы называют «технопсихология», англичане — «эргономика», американцы — «человеческая инженерия» (human engineering). В странах СНГ наибольшее распространение получил термин «инженерная психология», обозначающий весь комплекс задач, возникающих при работе людей с техникой. Основой инженерной психологии, как отрасли науки, является изучение взаимодействия человека и машины. В более узком прикладном смысле — это «общение» радиолюбителя и сконструированного им устройства. Пользователю следует создать комфортные условия для работы с прибором и предусмотреть оптимальное расположение органов управления и настройки. Инженерная психология как раз и даёт рекомендации о том, как это сделать наиболее рационально. Операторский интерфейс сокращённо называют MMI (Man Machine Interface) или интерфейс «человек-машина». Один из канонов MMI гласит — информация лучше воспринимается, если она приходит из разных источников, в частности, по зрительному и слуховому каналу. Иными словами, включение светодиода должно сопровождаться звуковым подтверждением, и наоборот. Слух имеет преимущество при приёме непрерывных, а зрение — дискретных сигналов. Слуховой канал. Для указания аварии рекомендуется использовать диапазон частот 800...5000 Гц (очень громко), для предупреждения — 200...800 Гц (громко), для уведомления — 200...400 Гц (средняя громкость). Желательно применять амплитудно-частотную модуляцию. Например, хорошо привлекает внимание периодическое прерывание звука 500...2500 Гц с частотой 1...8 Гц или мелодичная трель с периодом модуляции 0.3... 1 с. Глубина амплитудной модуляции должна быть не менее 12%, глубина частотной модуляции — не менее 3%. Если какой-нибудь источник звука выключить на 40...50 мс, а затем опять его включить, то из-за инерционности слуха человек может не обнаружить паузы. Короткие звуковые сигналы воспринимаются, как «щелчки». Интервал между двумя предъявляемыми сигналами должен быть не менее 0.5 с. Движение объекта «вверх/вниз» ассоциируется у человека соответственнно с увеличением/уменьшением высоты звука, движение «влево/вправо» — с перемещением кажущегося источника звука влево/вправо по стереопанораме. Зрительный канал. В поле зрения оператора должно одновременно находиться не более 4...8 световых индикаторов. Для указания опасности рекомендуется красный/оранжевый цвет, для привлечения внимания — жёлтый/синий цвет, для обозначения нормального режима работы — зелёный цвет. Наиболее контрастные цветовые сочетания: белый и красный, жёлтый и синий, ярко-жёлтый и чёрный. Почти идеальные фоновые цвета — это синий и жёлтый, поскольку они хорошо воспринимаются боковым зрением. Если надо сделать акцент на свершившееся событие, то применяют яркие импульсные световые «вспышки» с длительность не менее 0.2 с. Они на глаз более заметны, чем непрерывное свечение индикатора. Совместить «свет», «звук» и МК помогают схемы на Рис. 2.119, а...и.
Рис. 2.119. Схемы подключения комбинированных «светозвукоизлучателей» к МК (начало): а) если М К генерирует звуковой сигнал, то индикатор HL 1 светится вполнакала. Если на выходе МК выставляется постоянно ВЫСОКИЙ/НИЗКИЙ уровень, то индикатор НЫ или ярко светится, или полностью погашен. При смене яркости в «пищалке» НА1 будет слышен щелчок; б) аналогично Рис 2.119, а, но с противоположным управляющим уровнем на выходе МК; в) аналогично Рис. 2.119, а, но более громко, благодаря повышенному напряжению питания +9...+12 В. Без нагрузочной цепочки R2, НЫ пьезоизлучатель НА1 звучать не будет; г) индикатор НЫ светится красным или зелёным цветом при постоянно ВЫСОКИХ/НИЗКИХ уровнях на двух линиях МК. Звук в «пьезопищалке» НА1 формируется противофазными сигналами с выходов МК, при этом индикатор НЫ светится суммарным жёлтым цветом; д) НИЗКИМ уровнем на выходе МК одновременно включаются звуковой пьезогенератор А1 и светодиод НЫ (в полную яркость). Ток через пьезогенератор должен быть не более 20 мА, чтобы не повредить светодиод. Возможна генерация пачек звуковых и световых импульсов; е) частота прерываний света и звука («бузер» А1) задаётся мигающим светодиодом НЫ; ж) первичная обмотка трансформатора 77 должна иметь сопротивление 200... 1000 Ом. Индикатор НЫ при генерации звука светится вполнакала. При ВЫСОКОМ уровне на выходе МК он светится максимально ярко, а при НИЗКОМ уровне — полностью погашен;
Рис. 2.119. Схемы подключения комбинированных «светозвукоизлучателей» к МК (окончание): з) мигающий светодиод НЫ формирует огибающую звучания пьезогенератора А1. Частота прерывания 1...3 Гц зависит от типа НЫ, а частота звукового заполнения 0.8... 1 кГц зависит от типа А1. Резистором ^устанавливают яркость свечения индикатора НЫ. Резистор ^допускается заменить перемычкой, если внутри светодиода НЫ имеется интегральный резистор; и) аналогично Рис. 2.119, з, но с более разнообразными световыми и звуковыми эффектами из-за разной частоты мигания светодиодов НЫ, HL2. 2.10.2. Местная световая индикация Светодиоды могут встраиваться в уже существующие устройства для дополнительной (местной) индикации режимов работы, состояния сигналов, контроля исправности удалённого оборудования. Как происходит такое комбинирование на практике, показано на схемах Рис 2.120, а...л. Рис. 2.120. Схемы организации местной световой индикации (начало): а) резисторы Rl, R2 задают ток базы транзистора VT1. Их сопротивления выбираются так, чтобы индикатор НЫ светился вполнакала при Z-состоянии на линии МК. Если произойдёт обрыв перехода «база — эмиттер» транзистора VT1, то индикатор НЫ станет светиться ярче;
Рис. 2.120. Схемы организации местной световой индикации (продолжение): б) аналогично Рис. 2.120, а, но в случае обрыва перехода «база — эмиттер» транзистора VT1 индикатор НЫ будет полностью погашен. Резистор R2 может отсутствовать; в) светодиод НЫ индицирует включение нагрузки RH (открытый транзистор К7У); г) светодиод НЫ индицирует протекание тока через светоизлучатель оптопары VU1. При обрыве индикатора НЫ ток в оптопару VU1 будет поступать через резистор R2, т.е. обеспечивается определённый запас надёжности; д) аварийная сигнализация. Если транзистор VT1 закрыт, то светится индикатор HL2 из-за проходящего через нагрузку RH небольшого тока (подбирается резисторами R2, R3). Если транзистор VT1 открыт, то светится индикатор НЫ, указывая на то, что в нагрузку подаётся полное напряжение. Если оба индикатора погашены, значит в нагрузке произошёл обрыв; е) визуализация сигналов восьмиканального резистивного ЦАП при помощи светодиодов HL1...HL8. Если на выходах МК организовать «бегущую» единицу, то светодиоды HLl...HL8€i про индицируют, хотя напряжение на выходе ЦАП будет постоянным (тест светодиодов);
Рис. 2.120. Схемы организации местной световой индикации {окончание): ж) одновременное включение четырёх реле К1...К4от одной линии МК. Светодиод НЫ визуально подтверждает момент их срабатывания через свободный канал микросхемы DA1; з) светодиоды HL1...HL 7 находятся в местном пульте управления и показывают включённое состояние удалённых нагрузок, которые подключаются к выходам мощного драйвера DAT, и) светодиод НЫ одновременно является индикатором включения нагрузки RH и стабилизатором тока через неё (совместно с транзистором VT1); к) индикатор НЫ дублирует на ближнем конце свечение удалённых ламп ELL..ELn. Число ламп определяется напряжением питания +12...+24 В; л) элементы НЫ, R1 подключаются параллельно электродвигателю Ml, который управляется от М К через мостовую транзисторную схему. Индикатор НЫ светится красным или зелёным цветом в зависимости от полярности напряжения, т.е. от направления вращения двигателя.
2.11. Необычные схемы узлов вывода На Рис. 2.121, а...ц приведены необычные схемы узлов вывода сигналов из МК. Рис. 2.121. Необычные схемы узлов вывода сигналов из МК (начало): а) сигналами с четырёх выходов МК устанавливается требуемый диапазон измерения модульного электронного вольтметра А1 фирмы Lascar Electronics. Модуль имеет оригинальный конструктив и графическую шкалу с ЖК-индикацией; б) МК программно вычисляет некоторый параметр, переводит его в скважность сигналов ШИМ и через ФНЧ Rl, С1 направляет в базовый измерительный блок Л/. Конструкция блока А1 не принципиальна. Это может быть промышленный вольтметр или самодельное устройство с АЦП и индикатором. Если индикатор светодиодный, то АЦП удобно выполнить на микросхеме К572ПВ2А, а если на ЖК-индикаторе, то АЦП на микросхеме К572ПВ5; в) подключение к МК оптопары VUL Её особенностью является наличие на выходе нескольких последовательно включённых фотодиодов, работающих в фотовольтаическом режиме. На схеме этот момент обозначен эквивалентной «батарейкой». Достоинство — очень низкая проходная ёмкость (1 пФ). Кроме того, выходная цепь не требует внешнего источника питания; г) для очередного срабатывания электромеханического счётчика РС1 (паспорт РС2.720.002 или РС2.720.004) МК генерирует на выходе короткий положительный импульс. Защитный диод VD1 нужен, поскольку обмотка счётчика РС1 имеет значительную индуктивность; д) аналогично Рис. 2.121, г, но с доработкой электромеханического счётчика РС7, которая заключается втом, что штатная обмотка перематывается под напряжение срабатывания 27 В;
Рис. 2.121. Необычные схемы узлов вывода {продолжение): е) оригинальный имитатор боя курантов на базе электромагнитного звонка НА1 от телефонного аппарата. Длительность импульсов «боя» составляет 1 с, длительность пауз — 2 с. Конденсатор С2 ставят как можно ближе к элементам VT1, HAL Напряжение питания +5 В для МК необходимо снимать с отдельной обмотки сетевого трансформатора и стабилизировать, поскольку в обмотке, по которой течёт ток в цепи +40...+50 В, присутствуют большие импульсные помехи; ж) подключение телефонного звонка НА1 к двум противофазным выходам МК; з) преобразователь «скважность импульсов — постоянный ток». Элементы Rl, С1 служат ФНЧ для ШИМ. На выходе образуется сигнал с постоянной составляющей, которая зависит от скважности импульсов. Резистором R2 градуируется начальный ток, протекающий через электромагнитную головку PA L Диод Шоттки VD1 защищает её от больших напряжений; и) аналогично Рис. 2.121, з, но с другими номиналами элементов. Индикатор НЫ защищает микроамперметр РА1 при перегрузках и служит индикатором аварии при обрыве катушки; к) аналогично Рис. 2.121, з, но без ФНЧ, функцию которого выполняет механическая инерция движения стрелки микроамперметра РА1\ л) микрофон ВМ1 используется не как приёмник, а как излучатель звуковых сигналов, правда, с низким КПД и с малой громкостью;
Рис. 2.121. Необычные схемы узлов вывода {продолжение): м) «электрическая зажигалка» на базе генератора высоковольтных импульсов. Параметрический стабилизатор напряжения на элементах VD1, R2 повышает устойчивость работы МК в момент образования «искры» между контактами XI, Х2; н) транзисторно-диодные ячейки представляют собой аналоговые запоминающие элементы с ампитудой, регулируемой резисторами /?АА. Схема используется для генерации аналоговых сигналов произвольной формы, для чего на выходах МК формируется «бегущая единица», которая поочерёдно «опрашивает» ячейки. Элементы Rl, R2, С1 образуют ФНЧ с регулируемой частотой среза {R1). Резистором R3 задаётся амплитуда суммарного сигнала; о) двухпроводной регулятор мощности в нагрузке RH. Управляющий МК работает в режиме микротоков и получает питание от накопительного конденсатора С7, который заряжается частью тока нагрузки во время закрытого состояния транзистора VTL Элементы VD1, R1 защищают М К от ЭДС самоиндукции, которая возникает в момент коммутации ключевого транзистора VT1 при индуктивной нагрузке. Диод VD2 не даёт разряжаться конденсатору С/ в момент, когда транзистор VT1 открыт. Питание нагрузки может быть как постоянным, так и переменным; п) аналогично Рис. 2.121, о, но с интегральным стабилизатором напряжения DA1 и накопительными конденсаторами CL..C3;
Рис. 2.121. Необычные схемы узлов вывода (продолжение): Ф) р) аналогично Рис. 2.121, п, но с силовым ключом на триаке VS1 и с переменным входным напряжением. Конденсатор С/ некоторое время (0.5 с при ёмкости 100 мкФ) поддерживает питание МК при снятии входного напряжения; с) генератор импульсов для медицинских экспериментов. Выходы МК запараллеливаются через диоды VDL..VDn для увеличения отдаваемой мощности. Импульсы поступают на зонд А1, гребенчатые контакты которого замыкаются через тело человека. Подстроечным резистором R1 регулируется ток воздействия. Частота и скважность импульсов подбираются индивидуально; т) активизация мобильного телефона А1 при помощи «сухих» контактов реле К1. Маркировка кнопки SB1 условна. Это может быть любая кнопка клавиатуры, настроенная на отправку SMS или совершающая дозвон по заранее запрограммированному номеру телефона; у) сенсорно управляемый генератор включает/выключает транзистор VT1. При прикосновении пальца человека к контактным площадкам XI, Х2 сигнал частотой 150 кГц от МК уменьшается по амплитуде. Элементы VD1, VD2, С1 выпрямляют и фильтруют ВЧ-сигнал; ф) формирование четырёх разных ШИМ-сигналов от одного выхода МК. Каналы переключаются во времени дешифратором DDI, при этом для каждого канала устанавливаются свои параметры ШИМ;
Рис. 2.121. Необычные схемы узлов вывода (окончание): х) двойное питание МК — от батареи GB1 или от внешнего напряжения +9 В через стабилизатор DA1. Ток через излучатель оптопары VU1 протекает только при внешнем питании. Транзистор оптопары используется как гальванически изолированный датчик состояния «Внешнее питание/Внутреннее питание». Для экономии энергии проверка производится через достаточно большие промежутки времени, при этом в паузах на выходе МК выставляется НИЗКИЙ уровень; ц) схема «пульсатора» для проверки исправности логических элементов без выпаивания их из платы. На выходе МК формируется узкий импульс положительной полярности, после чего транзистор VT1 на короткое время открывается и принудительно устанавливает на входе элемента DD1.2 НИЗКИЙ уровень, «пересиливая» ВЫСОКИЙ уровень элемента DD1.1. Вход МК работает в режиме внешних прерываний, т.е. как счётчик однократных импульсов. Если МК зафиксирует на входе короткий импульс ВЫСОКОГО уровня, значит проверяемый инвертор DDI. 2 исправен.
Список использованных источников и литературы к главе 2 2-1. Нечаев, И. Светодиод в роли стабилитрона / Игорь Нечаев // Радио. — 1997. — № 3. — С. 51. 2-2. Scarborough, Т. Alternating LED Flasher / Thomas Scarborough // Everyday Practical Electronics. — 2007. —№ 2. — P. 54. 2-3. Василенко, В. Кабельный пробник / В. Василенко // Радиомир. — 2007. —№ 5. — С. 27-29. 2-4. Electronic dice [Электронный ресурс] / Nutchip, 2004. — Режим доступа : http://www. nutchip.com/progetti/dice_en.htm (англ.). — 07.01.2011. 2-5. Circuit Controls Two LEDs With One Microcontroller Port Pin [Электронный ресурс] / Spehro Pefhany, 2002 г. — Режим доступа : http://electronicdesign.com/article/digital/ circuit-controls-two-leds-with-one-microcontroller.aspx (англ.). — 07.01.2011. 2-6. Кузнецов, А. Интересные приёмы практического использования микроконтроллеров PIC12F6xx фирмы Microchip / А. Кузнецов // CHIP NEWS Украина. — 2003. — № 4. - С. 52-56 ; № 5. - С. 63-68. 2-7. Somers, J. VHF-Funkpeilung wie bei den Profis (1) / Joep Somers // Funkamateur. — 2006. -№ 8. -P. 916-919. 2-8. Becker, J. More PIC Control Concets Plus Multiplexing / John Becker // Everyday Practical Electronics. — 2008. —№ 1. — P. 24-29. 2-9. Aidt, D. Build a Solar Thermal Water Heater Controller / Dick Aidt // Nuts & Volts. — 2007. -№ 8. - P. 60-63. 2-10. Щербинин, А. Радиоприёмник «Бархан» / А. Щербинин // Радиомир. — 2004. — № 2. - С. 4-6. 2-11. 8 pin AVR [Электронный ресурс] / Electronic Lives Mfg., 2001. — Режим доступа : http://elm-chan.org/works/tiny/report.html, http://elm-chan.org/works/tiny/ledfl.png (япон.).-07.01.2011. 2-12. Samblancat, G. High Intensity Torch // Gerard Samblancat // Everyday Practical Electronics. - 2006. -№ 8. - P. 60-63. 2-13. Шустов, M. Индикатор рентгеновских и гамма-лучей / М. Шустов // Радиомир. — 2001.-№ 12.-С. 33. 2-14. Нечаев, И. Светодиодный фонарь с регулируемой яркостью / Игорь Нечаев // Радио. - 2005. - № 2. - С. 51-52. 2-15. Рюмик, С. М. Спрашиваете? Отвечаем! / Сергей Рюмик // Радіоаматор. — 2009. -№ 12.-С. 46-47. 2-16. Smith, P. LED Lighting For Your Car / Peter Smith // Everyday Practical Electronics. — 2006. -№ 5. - P. 28-37. 2-17. Smith, P. Linear supply for 1W STAR LEDs / Peter Smith // Everyday Practical Electronics. - 2006. -№ 10. - P. 46-51. 2-18. Kincaid, R. Q & A (High Current LED Driver) / Russel Kincaid // Nuts & Volts. — 2008. -№ 11.-P. 28. 2-19. Jackson, T. A PC-Controlled Burglar Alarm System / Trent Jackson // Everyday Practical Electronics. — 2008. —№ 4. — P. 10-19. 2-20. Sander, K. Leuchtpunktabtaster als Demonstrationsobjekt / Klaus Sander // Funkamateur. - 2007. -№ 5. - P. 503-505. 2-21. Baker, D. Microprocessor Controlled Xmas Tree / Dave Baker, John Toebes, Mark Schnell // Nuts & Volts. - 2008. -№ 11. - P. 43-51. 2-22. Grand, J. Making the DEFCON 15 Badge / Joe Grand // Nuts & Volts . — 2008. —№ 7. — P. 52-59.
2-23. Рюмик, С. Мигающие светодиоды — это не только 2-3 импульса в секунду / Сергей Рюмик// Радиохобби. - 2002. - № 1. - С. 31-34. 2-24. Рюмик, С. Что мигает на ёлке? / Сергей Рюмик // Моделист-конструктор. — 1999. — № 12.-С. 20-21. 2-25. Ikea Led Lamp [Электронный ресурс] / Toon Beerten, 2006. — Режим доступа : http:// tobe.nimio.info/diy/ikea/led/mood/lamp (англ.). — 07.01.2011. 2-26. Бутов, А. Габаритные огни инопланетян-2 / Андрей Бутов // Радио. — 2005. — № 1. — С. 51-52. 2-27. Clarke, J. A «Tiptronic-style» Gear Indicator / John Clarke // Everyday Practical Electronics. - 2006. -№ 1. - P. 10-20. 2-28. Заец, H. Цифровое устройство защиты с функцией измерения / Николай Заец // Радио. - 2005. - № 1. - С. 32-34. 2-29. Sander, К. Vielseitiger Drehzahlmesser fur Hobby und Beruf / Klaus Sander // Funkama- teur. - 2006. -№ 1. - P. 42-44. 2-30. Armstrong, B. Power Line Frequency Monitor / Bob Armstrong // Nuts & Volts. — 2006. -№ 10.-P. 42-45. 2-31. Clarke, J. Digital Instrument Display For Cars / John Clarke // Everyday Practical Electronics. - 2006. -№ 6. - P. 18-25. 2-32. Потапчук, M. Простой контроллер стиральной машины / Марис Потапчук // Схемотехника. — 2004. — № 4. — С. 29. 2-33. Wolgajew, R. Modul wyswietlacza LED sterowany magistrala I2C AVT-5147 / Robert Wol- gajew // Elektronika Praktyczna. — 2008. —№ 9. — S. 34-37. 2-34. Дайджест зарубежной периодики. Бесконтактный тахометр авиамоделиста // Радиохобби. - 2003. - № 6. - С. 17-18. 2-35. Яковлев, Е. Включение мощных семиэлементных светодиодных индикаторов / Евгений Яковлев // Радио. — 1990. — № 2. — С. 43. 2-36. Gagnon, Е. Control Panel Design / Eric Gagnon // Circuit Cellar. — 2006. —№ 11. — P. 20-31. 2-37. Дайджест зарубежной периодики. Оптический И К S/PDIF трансмиттер // Радиохобби. - 2003. - № 6. - С. 20. 2-38. Hackett, R. Build the Picaxe IR Multi-Board / Ron Hackett // Nuts & Volts. — 2008. -№ 10.-P. 83-86. 2-39. Нечаев, И. Оптоэлектронное реле / Игорь Нечаев // Радио. — 2003. — № 8. — С. 30. 2-40. Fast Precision LED Driver [Электронный ресурс] / Richard Cappels, 2003. — Режим доступа : http://cappels.org/dproj/ledsw/Fast_LED_Driver.html (англ.). — 07.01.2011. 2-41. Byers, Т. Q & A (IR Repeater) / TJ Byers // Nuts & Volts. - 2006. -№ 2. - P. 13-14. 2-42. Бирюков, С. А. Применение цифровых микросхем серий ТТЛ и КМОП — 2-е изд. / Сергей Бирюков. - М.: ДМК, 2000. - 240 с. - ISBN 5-89818-049-4. 2-43. Wheat, D. LCD Digital Voltage Meter / Dale Wheat // Circuit Cellar. — 2007. — № 12. — P. 34-38. 2-44. Lacoste, R. Low-Power Techniques / Robert Lacoste // Circuit Cellar. — 2008. —№ 4. — P. 22-31. 2-45. Zestaw startowy dla procesora MSP430F413 // Elektronika Praktyczna. — 2007. — № 6. — S. 39-40. 2-46. Вакуленко, А. Экономичный цифровой термометр / А. Вакуленко // Радио. — 2005. — №3.-С. 40-41.
2-47. LCD Driver Based on the HT1621 Controller. Application Note AN2343 [Электронный ресурс] / Andrew Smetana, Cypress Semiconductor, 2006. — Режим доступа: http://www. psocdeveloper.com/uploads/tx_piapappnote/an2343.pdf (англ.). — 07.01.2011. 2-48. Ридико, Л. Применение 7-сегментных ЖКИ-модулей / Леонид Ридико // Схемотехника. — 2002. — № 2. — С. 46-52. 2-49. Долгий, А. Цифровой индикатор положения антенны с сельсином / Александр Долгий // Радио. — 2005. — № 4. — С. 63-66. 2-50. Фрунзе, А. Ещё раз об использовании Ж К-индикаторов фирмы Holtek / Александр Фрунзе // Схемотехника. — 2003. — № 11. — С. 36. 2-51. Рюмик, С. М. Микроконтроллеры AVR. Ступень 6 / Сергей Рюмик // Радіоаматор. — 2005. - № 6. - С. 35-39. 2-52. Lang, R. PIC Digital Geiger Counter / Robert Lang, Steve Thompson // Everyday Practical Electronics — 2007. -№ 2. — P. 11-20. 2-53. Трошков, В. Цифровой тахометр с квазианалоговой шкалой / В. Трошков // Радио. — 2005. - № 6. - С. 48-49. 2-54. Рюмик, С. Микроконтроллерное управление звуком-3 / Сергей Рюмик // Радиохобби. - 2007. - № 3. - С. 45-47; - № 4. - С. 48-51; - № 5. - С. 45-47; - № 6. - С. 43-46. 2-55. Circuit and firmware to support Seiko-Epson G1216B1N000 dot graphics display [Электронный ресурс] / Richard Cappels, 2003. — Режим доступа : http://cappels.org/ dproj/sed/sed.htm (англ.). — 07.01.2011. 2-56. Nokia LCD Library [Электронный ресурс] / Sylvain Bissonnette, 2010. — Режим доступа : http://www.microsyl.com/index.php/2010/03/24/nokia-lcd-library/ (англ.). — 07.01.2011. 2-57. Nokia_3310 LCD [Электронный ресурс] / Thomas Weger, 2004. — Режим доступа : http://www.deramon.de/nokia33101cd.php (нем.). — 17.03.2008. 2-58. Using the Siemens S65-Display [Электронный ресурс] / Christian Kranz, 2005. — Режим доступа : http://www.superkranz.de/christian/S65_Display/DisplayIndex.html (англ.). — 07.01.2011. 2-59. УКВ FM приёмник 40-800 МГц [Электронный ресурс] / Дмитрий Соболь, 2006. — Режим доступа : http://eulcc.qrz.ru/vhf_rx/vhf_rx.htm. — 07.01.2011. 2-60. Рюмик, С. Микроконтроллерное управление звуком-4 / Сергей Рюмик // Радиохобби. - 2008. - № 5. - С. 44-47. 2-61. Рюмик, С. Микроконтроллерное управление звуком-4 / Сергей Рюмик // Радиохобби. - 2008. - № 4. - С. 47-49. 2-62. Колдунов, А. Звуковой маяк... велосипеду / А. Колдунов // Радиолюбитель (Радиомир). - 2001. - № 6. - С. 37. 2-63. Белоусов, О. Электронная сирена / Олег Белоусов // Радиомир. — 2004. — № 5. — С. 36. 2-64. Amplifier Considerations in Ceramic Speaker Applications. Application Note 4164 [Электронный ресурс] / Mark Cherry, Maxim Integrated Products, 2008. — Режим доступа : http://pdfserv.maxim-ic.com/en/an/AN4164.pdf (англ.). — 07.01.2011. 2-65. Часы-будильник на микроконтроллере PIC16F628A с внешним питанием [Электронный ресурс] / «Kaligraf», 2007. — Режим доступа : http://www.kaligraf.narod. ru/clock_4c_02.html. - 07.01.2011. 2-66. Библиотека электронных компонентов. Выпуск 6: Звукоизлучатели фирмы SONI- TRON / Отв. ред. В. М. Халикеев. - М. : ДОДЭКА, 1999. - 32 с. - ISBN 5-87835- 044-0.
2-67. Кашкаров, А. Варианты включения пьезоэлектрического излучателя и мигающего светодиода / Андрей Кашкаров // Радио. — 2005. — № 8. — С. 62. 2-68. Nuhrmann, D. Professionelle Schaltungtechnik. Band 1 / Dieter Nuhrmann. — Feldkir- chen : Franzis. - 1996. - ISBN 3-7723-4002-4. 2-69. Абрамов, С. Усилитель для ультразвукового радара / Сергей Абрамов // Радиодело. — 2006. - № 6. - С. 54. 2-70. Ultrasonic Transducers. Generating, detecting & processing ultrasonic signals [Электронный ресурс] / David Castles, 2005. — Режим доступа: http://www.ee.latrobe.edu.au/~djc/ UltraSonics/Ultrasonics.htm (англ.). — 07.01.2011. 2-71. Kremin, V. LIN-Based Ultrasound Parking Assistant / Victor Kremin, Valeriy Kyrynyuk // Circuit Cellar. - 2007. -№ 6. - P. 58-64. 2-72. Белоусов, О. Гидроионизатор / Олег Белоусов // Радиомир. — 2004. — № 9. — С. 25. 2-73. Xu, G. Y. Programming the 54с Micro / G. Y. Xu // Nuts & Volts. — 2006. —№ 2. — P. 61-66. 2-74. Рюмик, С. M. Микроконтроллеры РІС. Действие 10/Сергей Рюмик//Радіоаматор. — 2006.-№ 11.-С. 35-39. 2-75. Bitti, A. The Witness Camera / Alberto Ricci Bitti // Circuit Cellar. — 2007. —№ 5. — P. 48-56. 2-76. Greaves, C. Using the Microchip PICkit-2 Debug Express to build a «Theremin» / Colin Greaves // Everyday Practical Electronics. — 2008. —№ 11. — P. 24-28. 2-77. Гришин, А. Музыкальный кот / А. Гришин // Радио. — 2005. — № 5. — С. 57—58. 2-78. Рюмик, С. М. Микроконтроллеры. Шаг 6 / Сергей Рюмик // Радіоаматор. — 2004. — № 8. - С. 36-39. 2-79. Kincaid, R. Q & A (Audio Amplifiers) / Russell Kincaid // Nuts & Volts. - 2008. -№ 3. - P. 28-31. 2-80. Дайджест зарубежной периодики. Электронный телеграфный ключ «Smart Keyer Lite» // Радиохобби. - 2004. - № 3. - С. 26-27. 2-81. Arnold, A. Modulares Entwicklungssystem fur PIC12F675 und PIC12F629 / Andreas Arnold, Manuel Bott// Funkamateur. - 2006. -№ 10. - P. 1148-1151. 2-82. Малышев, С. Ю. Музыкальный звонок / С. Ю. Малышев // Радіоаматор. — 2001. — № 10.-С. 35. 2-83. Бутов, А. Светозвуковой генератор / Андрей Бутов // Радиомир. — 2003. — № 7. — С. 36. 2-84. Рюмик, С. М. Микроконтроллеры AVR. Ступень 5 /Сергей Рюмик// Радіоаматор. — 2005. - № 5. - С. 35-39. 2-85. Fonte, G. Making Waves / Gerard Fonte // Nuts & Volts. - 2007. -№ 7. - P. 80-84. 2-86. Barron, M. Speech Waveform Encoder / Mariano Barron //Circuit Cellar. — 2005. — № 7. — P. 16-26. 2-87. Clarke, J. V8 Doorbell / John Clarke // Everyday Practical Electronics. — 2007. —№ 10. — P. 12-20. 2-88. Door Bell [Электронный ресурс] / Sylvain Bissonnette, 2003. — Режим доступа : http:// www.microsyl.com/index.php/2010/03/23/door-bell/ (англ.). — 07.01.2011. 2-89. Дайджест зарубежной периодики. Автомобильный/мультимедийный УМЗЧ на ИМС ZXCD1000 в режиме класса D // Радиохобби. - 2003. - № 5. - С. 13-14. 2-90. Рарр, R. Sound Effects Processing / Robert Papp // Circuit Cellar. — 2008. —№ 7. — P. 69-73. 2-91. Cantrell, T. Turning the Core-ner / Tom Cantrell // Circuit Cellar. — 2006. —№ 8. — P. 80-85.
2-92. Музыченко, Е. Звук и музыка из компьютера / Е. Музыченко // Радиолюбитель. Ваш компьютер. — 1999. — № 1. — С. 32-33. 2-93. Партии, А. Звук в ПЗУ (для «чайников») / Алексей Партии // Радиомир. — 2005. — № 1.-С. 38-40. 2-94. Becker, J. PIC Polyphonium / John Becker // Everyday Practical Electronics. — 2007. -№ 3. - P. 26-36. 2-95. Петров, А. Простой цифровой генератор / Александр Петров // Радиолюбитель. — 1994.- №6. -С. 38-39. 2-96. Koskamp, G. ATVPictureGenerator/G. Koskamp//Elektor Electronics. — 2003. —№9. — P. 60-67. 2-97. Pardue, J. С Programming for Microcontrollers / Joe Pardue. — Smiley Micros. — 2005. — ISBN 0-9766822-0-6. 2-98. Hibbett, M. Halloween Howler / Mike Hibbet // Everyday Practical Electronics. — 2005.-№ 10.- P. 676-680. 2-99. Rowe, J. USB Electrocardiograph / Jim Rowe // Everyday Practical Electronics. — 2007.-№ 11.-P. 34-45. 2-100. Klimaszewski, K. Digital Radio Reception / Krzysztof Klimaszewski // Circuit Cellar. — 2008.-№ 12.-P. 30-37. 2-101. Кажаров, Ж. Цифро-аналоговый преобразователь на базе микроконтроллера AT90S4433 / Жамболат Кажаров // Схемотехника. — 2003. — № 1. — С. 39-41. 2-102. Rainbow, M.MIDI Wave Sound Generator / Mike Rainbow // Everyday Practical Electronics. - 2008. -№ 7. - P. 10-18. 2-103. Колокольцев, А. Функциональный генератор звукового диапазона / Андрей Колокольцев, Андрей Дахнович, Андрей Бабаев // Схемотехника. — 2007. — № 1. — С. 38-39. 2-104. Byers, Т. Q & A (Audio Repeater) / TJ Byers // Nuts & Volts. - 2006. -№ 2. - P. 13. 2-105. Дайджест зарубежной периодики. Полифонический дверной замок // Радиохобби. - 2003. - № 5. - С. 18-20. 2-106. Бартенев, В. Сигнализаторы со звучанием органа / Владимир Бартенев // Радиолюбитель. — 2005. — № 2. — С. 13-17. 2-107. Кузнецов, А. Помехоустойчивые устройства / Алексей Кузнецов // Схемотехника. - 2004. - № 8. - С. 18-20 ; - № 9. - С. 22-24. 2-108. Шустов, М. Стирка ультразвуком / М. Шустов // Радиолюбитель. — 2001. — № 1.-С. 18-19. 2-109. Хоровиц, П. Искусство схемотехники: Пер. с англ. / Пауль Хоровиц, Уинфилд Хилл. - М.: Мир, 2003. - 704 с. - ISBN 5-03-003395-5. 2-110. Дайджест зарубежной периодики. Составные транзисторы // Радиохобби. — 2002.-№ 1.-С. 18. 2-111. Cobley, D. Simple Variable Boost Control For Cars With Turbochargers / Denis Cobley // Everyday Practical Electronics. — 2008. —№ 11. — P. 44-46. 2-112. Кальченко, Ю. Генераторы импульсов с малым временем восстановления / Ю. Кальченко, А. Мацвейко // В помощь радиолюбителю: Сборник. Вып. 66. — М.: ДОСААФ, 1979. - С. 20-24. 2-113. Argyle, A. Build a Nixie Tube Clock / Andrew Argyle // Nuts & Volts. — 2006. —№ 10. — P. 36-41. 2-114. Door Chime Privacy Sentry [Электронный ресурс] / Richard Cappels, 2004. — Режим доступа : http://cappels.org/dproj/doorchim/doorchime.html (англ.). — 07.01.2011.
2-115. Enzmann, A. USB Device Control / Alexander Enzmann // Nuts & Volts. — 2006. -№ 6. - P. 73-78. 2-116. Бычков, И. Устройство бесперебойного питания радиоаппаратуры и электродвигателей / Игорь Бычков // Радиохобби. — 2004. — № 2. — С. 38-39. 2-117. Дорофеев, М. Управление полевыми транзисторами в импульсных преобразователях / М. Дорофеев // Радио. — 2003. — № 7. — С. 29-31. 2-118. Щедрин, А. Микропроцессорный импульсный металлоискатель/Андрей Щедрин, Юрий Колоколов // Радиохобби. — 2003. — № 6. — С. 50-55. 2-119. Oyrer, A. Multi Programmer / Andreas Oyrer // Elektor Electronics. — 2004. — № 6. — P. 10-16. 2-120. Сидоров, О. Телефонный интерфейс к АРС «Вил ия» и «Алтай АС-СП» / О. Сидоров // Радиолюбитель. — 2001. — № 1. — С. 38-39. 2-121. Абрамов, С. ИБП с Р1С-контроллером / Сергей Абрамов // Радиомир. — 2004. — №8.-С. 11-13. 2-122. Володин, В. Инверторный источник сварочного тока / В. Володин // Радио. — 2003. - № 8. - С. 36-38. 2-123. Ридико, Е. Цифровые транзисторы / Елена Ридико // Схемотехника. — 2001. — № 2. - С. 52-53. 2-124. Максимов, И. Цифровой стереоприёмник 88... 108 МГц / И. Максимов, А. Одрин- ский // Радиолюбитель. — 2001. — № 4. — С. 8-9. 2-125. Каранда, Ю. Л. Противоугонное устройство для... изгороди / Юрий Каранда // Радіоаматор. — 2002. — № 8. — С. 21. 2-126. Wensauer, U. 1Q-SDR-Minimalsystem auch fur Langwelle nutzen / Uwe Wensauer // Funkamateur. - 2007. —№ 7. - P. 735-736. 2-127. Фролов, Д. Программируемый речевой информатор / Д. Фролов // Радио. — 2005. - № 7. - С. 26-29. 2-128. Удовенко, В. Г. Реверсивные звенья на полевых транзисторах / В. Г. Удовенко // Радіоаматор. - 2001. - № 9. - С. 47-49. 2-129. Каа, В. Zusatzverstarker beim SYN 500 und SYN 500/2 verbessern / Bernd Kaa // Funkamateur. — 2007. —№ 9. — P. 951. 2-130. Lapsansky, P. Remotely Programmable Power / Paul Lapsansky // Nuts & Volts. — 2008. -№ 7. - P. 39-43. 2-131. Rykl, V. DDS-25 — Frequenzgenerator und Transceiversteuerung (1) / Vladimir Rykl // Funkamateur. - 2006. -№ 2. - P. 191-193. 2-132. Woste, M. Bausatz getestet: Geradeausempfanger JUMA-RX1 / Michael Woste // Funkamateur. — 2006. —№ 7. — P. 768-770. 2-133. Kincaid, R. Q & A (Programmable Current Source) / Russell Kincaid // Nuts & Volts. — 2008. -№ 12.-P. 26-27. 2-134. Рудаков, А. Датчик уровня топлива на AVR-микроконтроллере / Александр Рудаков, Михаил Рудаков // Схемотехника. — 2007. — № 1. — С. 44—45. 2-135. Кузнецов, А. Паяльная станция на PIC-контроллере / А. Кузнецов // Радиомир. — 2005.-№ 1.-С. 7-9. 2-136. Smith, P. SMS Controller — Part 1 / Peter Smith // Everyday Practical Electronics. — 2007. -№3.-P. 10-19. 2-137. Lerner, L. Inductance & Q-Factor Meter / Leonid Lerner // Everyday Practical Electronics. - 2007. -№ 10. - P. 28-35. 2-138. Колдунов, А. Машина без музыки... / А. Колдунов // Радиомир. — 2003. — № 4. — С. 4-6 ; № 5. - С. 4-5.
2-139. Mouton, J. Microcontrollers Give Slot Cars a Boost / John Mouton // Nuts & Volts. — 2008.-№ 5.-P. 46-51. 2-140. Zahnert, K. PIC-Programmierung einfach mit PBASIC realisiert / Klaus Zahnert // Funkamateur. - 2006. -№ 3. - P. 282-285. 2-141. Берестов, А. Четырёхканальная аппаратура для радиоуправления моделями / А. Берестов, М. Васильченко, С. Чухаленко // В помощь радиолюбителю: Сборник. Вып. 89. - М.: ДОСААФ, 1985. - С. 3-13. 2-142. Kincaid, R. Q & A (Parallel Transistors) / Russell Kincaid // Nuts & Volts. — 2007.-№ 11.-P. 26-29. 2-143. Scarborough, T. Programmable Robot / Thomas Scarborough // Everyday Practical Electronics. — 2007. —№ 2. — P. 44-50. 2-144. Мартемьянов, А. Приёмник для радиоуправляемой игрушки / А. Мартемьянов // Радио. - 2005. - № 3. - С. 32-33. 2-145. Романчук, А. Бифазный регулятор с регулируемой паузой / А. Романчук // Радиомир. — 2003. — № 8. — С. 33-34. 2-146. Sanchez, М. Vertical Plotter System / Miguel Sanchez//Circuit Cellar. — 2008. —№ 3. — P. 30-35. 2-147. Брускин, В. Новая жизнь вторичных электрочасов / Виктор Брускин // Радио- мир. - 2003. - № 8. - С. 18-19. 2-148. Driving Stepper [Электронный ресурс] / Wichit Sirichote, 1999. — Режим доступа : http://chaokhun.kmitl.ac.th/~kswichit/2051/stepper/stepper.htm (англ.). — 07.01.2011. 2-149. Рюмик, С. М. Зарубежные интегральные видеокодеры (принципы построения и классификация) / Сергей Рюмик // Радіоаматор. — 2002. — № 1. — С. 8-9. 2-150. Wheat, D. Video 13 / Dale Wheat // Circuit Cellar. - 2006. -№ 10. - P. 12-23. 2-151. Дайджест зарубежной периодики. Самый простой ТВ генератор шахматного поля // Радиохобби. - 2003. - № 4. - С. 21-22. 2-152. Aparicio, N. Video-Based Motion Sensor / Naubert Aparicio // Circuit Cellar. — 2007.-№ 6.- P. 24-31. 2-153. Bingo!!! (on your tv) [Электронный ресурс] / Alberto Ricci Bitti, 1998. — Режим доступа : http://www.riccibitti.com/bingo.htm (англ.). — 07.01.2011. 2-154. Sellen, С. К. Sound Effects Generator — Fun Noises Abound / Craig Kendrick Sellen // Everyday Practical Electronics. — 2006. —№ 4. — P. 28. 2-155. Clarke, J. Super Speedo Corrector / John Clarke, Julian Edger // Everyday Practical Electronucs. — 2008. —№ 9. — P. 10-15. 2-156. Рюмик, С. Анализатор кода И КМ-сигнала / Сергей Рюмик // Радиолюбитель. — 2000. - № 4. - С. 33. 2-157. Ball, S. Pulse Generation / Stuart Ball // Circuit Cellar. - 2007. -№ 9. - P. 58-61. 2-158. Буцких, А. Ловушка для насекомых / А. Буцких // Радио. — 2004. — № 4. — С. 41. 2-159. Фёдоров, В. Цифровой генератор «белого» и «розового» шума / В. Фёдоров // Радиомир. - 2006. - № 6. - С. 30-31. 2-160. Артеменко, В. Барьерные генераторы ВЧ / Владислав Артеменко // Радиолюбитель. — 2001. — № 6. — С. 33. 2-161. Бузук, А. Радиомикрофон с ЧМ / А. Бузук // Радиолюбитель (Радиомир). — 2001.-№3.-С. 37. 2-162. Котов, А. В. Простой радиопередатчик диапазона 88-108 МГц / А. В. Котов // Радіоаматор. — 2001. — № 7. — С. 49. 2-163. Негреба,0. Мелодичный радиомаячок/О. Негреба//Радиомир. — 2003. — №4. — С. 40.
2-164. Кургузов, А. Радиомикрофон на 98 МГц / А. Кургузов // Моделист-конструктор. — 1999. -№ 1.-С. 17-18. 2-165. Walter, R. Mini-Fuchsjagdsender Foxy fur das 70-cm-ISM-Band / Roland Walter // Funkamateur. — 2007. —№ 5. — P. 498-499. 2-166. Becker, J. Standby Power Saver / John Becker // Everyday Practical Electronics. — 2007.-№ 10.-P. 52-58. 2-167. Коваленко, С. Индикатор для проверки кварцевых резонаторов / С. Коваленко // Радио. - 2005. - № 2. - С. 22. 2-168. Ross, С. RFID Security System / Craig Ross, Ricardo Goto // Circuit Cellar. — 2007. -№ 2. - P. 24-30. 2-169. Таймер с выводом на TV, коммутацией Video, накоплением сумм времени и числа запусков [Электронный ресурс] / Владимир Попов, 2002. — Режим доступа : http:// telesys-ru.lgb.ru/electronics/projects.php?do=p073. — 07.01.2011. 2-170. Рюмик, С. М. 1000 и одна микроконтроллерная схема. Вып.1 / Сергей Рюмик. — М.: Додэка-ХХ1, 2010. - 356 с. - ISBN 978-5-94120-211-9. 2-171. Дайджест. Блокиратор межгорода // Радіоаматор. — 2001. — № 6. — С. 41. 2-172. Матанцев, А. Телефонный охранный сигнализатор / А. Матанцев // Радио. — 2005. -№ 1.-С. 42-43. 2-173. Алёхин, Г. «Записка» по телефону / Г. Алёхин // Радио. — 2005. — № 1. — С. 46. 2-174. Дайджест зарубежной периодики. Автоматический комнатный акустический монитор // Радиохобби. — 2002. — № 6. — С. 17-18. 2-175. Бутов, А. Электронный регулятор громкости для АОН / Андрей Бутов // Радиомир. — 2004. — № 9. — С. 13-14. 2-176. Балинский, Р. Н. Частотно-зависимый компрессор для приёмников проводного вещания / Руслан Балинский // Радіоаматор. — 2004. — № 3. — С. 50-51. 2-177. Нургалеев, И. Терморегулятор с ПИД алгоритмом управления для охлаждения полупроводниковых лазеров / Ильдус Нургалеев, Валерий Шарков // Схемотехника. - 2007. - № 7. - С. 38-40. 2-178. Рюмик, С. Необычный ЖК индикатор / Сергей Рюмик// Радио. — 2005. — № 5. — С. 55-57. 2-179. Takefuji, Y. Programmable Power / Yoshiyasu Takefuji // Circuit Cellar. — 2008. —№ 4. — P. 35-38. 2-180. Шустов, M. Мультиплексорный преобразователь напряжения / M. Шустов // Радиомир. — 2003. — № 4. — С. 17. 2-181. К128. USB PICmicro Programmer [Электронный ресурс] / DIY Electronics (Hong Kong) Ltd, 2003. — Режим доступа : http://www.kitsrus.com/pdf/kl28.pdf (англ.). — 07.01.2011. 2-182. Xu, G. Y. Follow The Flashlight Evolution / G. Y. Xu // Nuts & Volts. - 2008. -№ 2. - P. 32-36. 2-183. Nisley, E. LED Power/ Ed Nisley// Circuit Cellar. - 2007. -№ 12. - P. 56-59. 2-184. Gremba, S. Kolorowy wyswietlacz graficzny z telefonu Siemens S65/M65 z kontrol- erem Hitachi HD66773, czesc 3 / Sebastian Gremba // Elektronika Praktyczna. — 2007. — № 12.-S. 101-103. 2-185. Белоусов, О. Терморегулятор для мини-инкубатора/Олег Белоусов// Радиомир. — 2004.-№2.-С. 20-21. 2-186. Gibbs, P. Dew Point Monitor / Peter Gibbs, Ramon Sargeant // Ciruit Cellar. — 2007. -№ 6. - P. 32-37.
2-187. Замятин, В. Я. Мощные полупроводниковые приборы. Тиристоры: Справочник. / Владимир Замятин, Борис Кондратьев, Владимир Петухов — М. : Радио и связь, 1987.— 576 с. 2-188. Рюмик, С. М. Микроконтроллеры. Шаг 8 / Сергей Рюмик // Радіоаматор. — 2004. - № 10. - С. 35-39. 2-189. Немов, А. Автомат световых эффектов / А. Немов // В помощь радиолюбителю: Сборник. Вып. 104. - М. .ДОСААФ, 1989. - С. 51-59. 2-190. Воскобойников, А. Охранное устройство с управлением ключами-«таблетками» iBUTTON / А. Воскобойников // Радио. — 2003. — № 10. — С. 41-42. 2-191. Кашкаров, А. Звонок ... включился свет / Андрей Кашкаров // Радиомир. — 2001.-№8.-С. 35. 2-192. Золотарёв, А. М ногофункциональный автомат световых эффектов / А. Золотарёв, В. Мельник, Ю. Поздняков // В помощь радиолюбителю: Сборник. Вып. 95. — М. : ДОСААФ, 1986. - С. 52-62. 2-193. Тушнов, В. Термостабилизатор с широким интервалом / В. Тушнов // Радио. — 2002.-№2.-С. 31-32. 2-194. Рюмик, С. Микроконтроллеры. Шаг 5 / Сергей Рюмик // Радіоаматор. — 2004. — № 7. - С. 35-39. 2-195. Примеры схем для LPT [Электронный ресурс] / «ZPS», 2002. — Режим доступа : http://zps-electronics.com/index.php?id=19&sid=l l&doc=50. — 07.01.2011. 2-196. Евсеев, Ю. А. Симисторы и их применение в бытовой электроаппаратуре / Юрий Евсеев, Сергей Крылов. — М. : Энергоатомиздат, 1990. — 120 с. — ISBN 5-283- 00553-4. 2-197. Студийные фотовспышки. Технология. Намотка трансформаторов, клейка, резка, гибка [Электронный ресурс] / Учебный сайт на Osipoff.ru, 2011. — Режим доступа : http://www.osipoff.ru/modules. php?op=modload&name=phpBB_14&file=index&action =viewforum&forum=6. — 07.01.2011. 2-198. Евсеев, А. Переключатель ёлочных гирлянд на базе К155РУ2 / А. Евсеев // В помощь радиолюбителю: Сборник. Вып. 103. — М.: ДОСААФ, 1989. — С. 11 — 19. 2-199. Павлов, А. «Микропроцессорная» гирлянда / А. Павлов // Радиомир. — 2002. — № 12.-С. 13-15. 2-200. Hueber, F. Силовой переключатель с гальванической развязкой / F. Hueber; перевод А. Вельского // Радиомир. — 2004. — № 10. — С. 21-23. 2-201. Klasche, G. Professionelle Schaltungtechnik. Band 3 / Hrsg. Gunter Klasche. — Feld- kirchen : Franzis. - 1996. - ISBN 3-7723-4004-0. 2-202. Максимов, В. Для новогодней ёлки / В. Максимов // В помощь радиолюбителю: Сборник. Вып. 61. - М.: ДОСААФ, 1978. - С. 59-65. 2-203. Кал макова, А. Магнитоуправляемое реле / А. Калмакова // Радио. — 2001. — № 12.-С. 29. 2-204. Колдунов, А. Автоматическое зарядное устройство / А. Колдунов // Радиомир. — 2005.-№ 4.-С. 14-15. 2-205. Касинский, С. Терморегулятор для холодильника/С. Касинский//Радиолюбитель (Радиомир). - 2001. - № 4. - С. 17-19. 2-206. Kincaid, R. TechForum (#11055, November 2005) / Russ Kincaid // Nuts & Volts. — 2006. -№ l.-P. 95. 2-207. Rowe, J. Coolmaster / Jim Rowe // Everyday Practical Electronics. — 2008. —№ 7. — P. 22-29.
2-208. Bachiochi, J. Light Terapy / Jeff Bachiochi // Circuit Cellar. - 2006. -№ 8. - P. 48- 51. 2-209. Бутов, А. Последовательное включение низковольтных симисторов / Андрей Бутов // Радио. - 2005. - № 1. - С. 37. 2-210. Крочакевич, В. Автоматический телеграфный ключ / В. Крочакевич // В помощь радиолюбителю: Сборник. Вып. 68. — М.: ДОСААФ, 1980. — С. 12-20. 2-211. Kincaid, R. Q & A (Relay Driver) / Russell Kincaid // Nuts & Volts. — 2008. —№ 9. — P. 26-37. 2-212. Laird, P. Universal Machine Control / Phil Laird, Jeff Shewan // Circuit Cellar. — 2009. -№ 10. - P. 62-69. 2-213. Москвин, А. Блок управления холодильником / А. Москвин // Радио. — 2003. — № 10.-С. 36-38. 2-214. Дайджест зарубежной периодики. Переключение 12-вольтовых электромагнитных реле // Радиохобби. — 1999. — № 5. — С. 15. 2-215. Панкратьев, Д. Устройство поочерёдного включения потребителей / Д. Панкратьев // Радио. - 2003. - № 9. - С. 43. 2-216. Олейник, В. Снижение мощности, потребляемой реле / Владимир Олейник // Схемотехника. — 2007. — № 7. — С. 37-38. 2-217. Hahn, R. Professionelle Schaltungtechnik. Band 4 / Reinherd Hahn, Lothar Sabrow- sky. - Feldkirchen : Franzis. - 1996. - ISBN 3-7723-4005-9. 2-218. Собери сам 55 электронных устройств из наборов «Мастер Кит». Выпуск 1. — М.: Додэка-ХХ1, 2003. - 271 с. 2-219. Степанов, В. Измерение добротности с цифровым отсчётом / В. Степанов // Радио. - 2007. -№ 2. - С. 29-30. 2-220. Быковский, Ю. Многофункциональный телефон станет удобнее / Ю. Быковский // Радио. - 2005. - № 7. - С. 46-47. 2-221. Kincaid, R. Q & A (Tool Setter Modification) / Russell Kincaid // Nuts & Volts. — 2008. -№ 5. - P. 25. 2-222. Davaine, S. SD Card Display Controller / Sylvain Davaine // Circuit Cellar. — 2007.-№ 12.-P. 40-45. 2-223. Jackson, T. Serial I/O cjntroller & analogue sampler / Trent Jackson // Everyday Practical Electronics. - 2008. -№ 1. - P. 12-21. 2-224. Рюмик, С. Доработка «Sony PlayStation» / Сергей Рюмик // Радиолюбитель. — 1998. -№ 11.-С. 10. 2-225. Городишенин, В. Счётчик времени работы двигателя / В. Городишенин // Радиолюбитель (Радиомир). — 2001. — № 6. — С. 16-17. 2-226. Редькин, П. П. Электронные часы с «боем» на базе микроконтроллера / П. П. Редь- кин // Радіоаматор. — 2001. — № 6. — С. 25. 2-227. Fonte, G. The Arbitrary Waveform Generator / Gerard Fonte // Nuts & Volts. — 2007. -№ 8. - P. 42-46. 2-228. Нечаев, И. Малогабаритный регулятор мощности / Игорь Нечаев // Радио. — 2003. - № 7. - С. 38. 2-229. Bachiochi, J. Self-Destructive Behavior / Jeff Bachiochi // Circuit Cellar. — 2008. -№ 6. - P. 62-69.
ГЛАВА з ТИПОВЫЕ СХЕМЫ КОМБИНИРОВАННЫХ УЗЛОВ ВВОДА/ВЫВОДА Две опоры надёжнее одной (Козьма Прутков) 3.1. Следящая обратная связь в двигателях Управление двигателями является стандартной задачей, поручаемой МК. Однако формирование управляющих сигналов без слежения за результатом таит определённую опасность, особенно при высоких скоростях вращения и большой мощности на валу. Нужна обратная связь, чтобы вовремя среагировать на аварийную ситуацию или адаптировать скорость вращения двигателя к изменяющейся обстановке. Обратная связь предполагает комплексное использование входов и выходов МК по принципу «работать в паре сподручнее». На Рис. 3.1, а...е показаны схемы подключения двигателей к МК с использованием обратной связи. Рис. 3.1. Схемы подключения двигателей к МК с использованием обратной связи {начало): а) кнопка SB1 служит для запуска двигателя Ml при наличии напряжения +12...+25 В. Если напряжение не подано, то на входе МК постоянно присутствует НИЗКИЙ уровень. Элементы R2, R3, VD1 снижают высокое напряжение и стабилизируют его. Конструктивно кнопка SB1 может располагаться, например, на ручке микродрели. Программно можно осуществить триггер- ное включение/выключение при нажатии/отпускании кнопки SB1\ б) МК через цепочку Rl, С2 определяет моменты перехода переменного напряжения 220 В через «цифровой» порог +2...+3 В. Резистор R1 должен иметь большое сопротивление. Импульс с выхода МК формируется так, чтобы тиристор VS1 открывался вблизи точки перехода сетевого напряжения через нуль, в связи с чем резко уменьшаются коммутационные помехи;
Рис. 3.1. Схемы подключения двигателей к МК с использованием обратной связи (продолжение): в) датчик остановки двигателя вентилятора. Со среднего вывода двигателя Ml снимаются импульсы, имеющие частоту следования, пропорциональную скорости вращения вала. При остановке вентилятора или значительном снижении скорости оборотов, МК выставляет на выходе НИЗКИЙ уровень и через транзисторы К77, VT2 отключает двигатель от питания; г) дискретная регулировка частоты вращения вала трёхфазного двигателя Ml производится число-импульсным способом. Это означает, что МК анализирует 255 полуволн сетевого напряжения 220 В/50 Гц (элементы R4, Rl, НЫ) и определяет, в какие из полуволн необходимо подавать импульсы запуска двигателя Ml (элементы R2, R3, VS1). При штатной скорости вращения 1380 об/мин пропуск одной из 255 полуволн приводит к замедлению скорости на 5 об/мин. Светодиод НЫ ограничивает напряжение на входе АЦП МК. По яркости его свечения можно в первом приближении судить о частоте вращения двигателя Ml; д) транзисторы VT1, VT4 и VT2, VT3 работают противофазно, образуя мост Н-Bridge. При превышении порогового тока, протекающего через двигатель Ml, срабатывает аналоговый компаратор МК и управляющие импульсы снимаются со всех его четырёх выходов (транзисторы VT1, запираются ВЫСОКИМИ, а транзисторы VT2, VT4— НИЗКИМИ уровнями);
Рис. 3.1. Схемы подключения двигателей к МК с использованием обратной связи (окончание): е) на валу двигателя М/закрепляется диске прорезями, который перекрывает световой поток между излучателем и фотоприёмником оптопары VUL МК анализирует параметры импульсов с выхода оптопары VU1 и корректирует соответствующим образом скважность сигналов ШИМ, подаваемых через транзистор VT1 на двигатель ML В программе используются два контура обратной связи — слежение за фазой (R3, С1) и слежение за частотой импульсов (R4, С2). 3.2. Стабилизированные источники питания Речь пойдёт о ключевых стабилизированных DC/DC-преобразователях напряжения, которые управляются от МК. Выходные импульсы формируются каналом ШИМ, а входное напряжение оцифровывается каналом АЦП. В итоге получается следящая «аналогово-цифровая» обратная связь (Рис. 3.2, а...л). Рис. 3.2. Схемы ключевых стабилизированных источников питания на базе МК (начало): а) стабилизированный DC/DC-преобразователь повышающего типа. Напряжение обратной связи снимается с делителя R2, R3 и измеряется АЦП МК. Если напряжение +12 В выходит за допуск, то скважность импульсов в канале ШИМ корректируется в нужную сторону. При коротком замыкании в нагрузке напряжение АЦП снижается до нуля, генерация импульсов программно прекращается и транзистор VT1 закрывается. Общее правило — чем больше ток нагрузки, тем дольше в процентном отношении должен быть открыт транзистор VT1 за период ШИМ; б) аналогично Рис. 3.2, а, но на полевом транзисторе VT1, что повышает КПД;
Рис. 3.2. Схемы ключевых стабилизированных источников питания на базе МК {продолжение): в) источник высоковольтного напряжения (регулируемый DC/DC-преобразователь). Ёмкость конденсатора СУ низкая, поскольку ток нагрузки небольшой и частота ШИМ высокая; г) аналогично Рис. 3.2, б, но с повышенным выходным напряжением, с большой ёмкостью накопительного конденсатора С7 и с закрывающим «pull-down» резистором R1 в цепи затвора транзистора VT1\ д) использование аналогового компаратора МК для организации обратной связи, при этом выходные импульсы МК с частотой 15...31 кГц могут формироваться не только каналом ШИМ, но и обычной цифровой линией МК; е) обратная связь по току организуется через нагрузку RH и низкоомный резистор R2. При высокой частоте генерации следует заменить диод Шоттки VD1 более высокочастотным; ж) сигнал обратной связи в ключевом DC/DC-преобразователе напряжения снимается с низкоомного резистора R2. Следовательно, стабилизируется выходной ток, а не выходное напряжение. Это сделано для того, чтобы схема была не критичной к количеству последовательно включаемых светодиодов HL1...HL4 белого или синего цвета (от одного до четырёх);
Рис. 3.2. Схемы ключевых стабилизированных источников питания на базе МК {продолжение): з) КМОП-вход драйвера DA1 (фирма International Rectifier) имеет уровни переключения +0.8/+3 В. На выходе DA1 находится двухтактный каскад на полевых транзисторах, что позволяет быстро включать/выключать силовой транзистор VT1. Цепочка R3, С2 — демпфирующая. Выходное напряжение +Еп зависит от отношения сопротивлений резисторов R4, R5; и) ШИМ-управление яркостью свечения мощных светодиодов HL1...HL6 (1...6 Вт). Обратная связь через резисторы R3, R5...R7. Питание +4.8 В от аккумуляторов ёмкостью 4.5 А/ч. Трансформатор 77 содержит 26 и 36 витков провода ПЭВ-0.63 в ферритовой чашке FX2240; к) зарядное устройство для NiCd/NiMH аккумуляторов с общим напряжением 1.2... 12 В. Светодиод HL1 индицирует процесс заряда. Выходное напряжение измеряется АЦП МК через делитель R6, R7. Выходной ток заряда зависит от резистора R3 (в данном случае 750 мА);
Рис. 3.2. Схемы ключевых стабилизированных источников питания на базе МК (окончание): л) аккумуляторы GB1...GB4 предназначены для питания аппаратуры напряжением +4.8 В. Периодически они подзаряжаются от внешнего источника +9...+18 В через ключевой преобразователь напряжения (VT1, VT2, VD2, Ы, С4, R4, R5), который запускается в работу импульсами ШИМ от МК. Стабилизатор напряжения DA1 ограничивает питание МК на уровне +5 В при свежезаряженных аккумуляторах, когда напряжение на конденсаторе С4достигает +7 В. Микросхему DA1 можно заменить аналогичной, имеющей напряжение стабилизации +3.3 В. Катушка L1 содержит 36 витков провода ПЭВ-0.63, намотанных в ферритовой чашке FX2240. 3.3. Многофункциональные схемы При анализе электрических схем, содержащих МК, как правило, легко догадаться, какую функцию выполняет каждая линия порта. В частности, если к ней подключается база или затвор транзистора, то это выход, а если коллектор, то вход. Сложнее обстоит дело, когда линия попеременно служит то входом, то выходом. Вдобавок электрические цепи могут «хитро» переплетаться и содержать обратные связи. Следовательно, функционирование МК надо рассматривать в комплексе. Хорошо, когда к схеме прилагается подробное текстовое описание, листинг программы и рисунок алгоритма, а если нет? Выручить разработчика может его интуиция, теоретический кругозор, а также знание стандартных схемотехнических приёмов. Пусть, например, линия МК подключается к цифровому двунаправленному буферу. Логично предположить, что и порт МК в таком случае придётся синхронно переключать то на вход, то на выход. Первое знакомство с многофункциональностью линий портов МК уже состоялось при рассмотрении «выходных» схем, где вместо ВЫСОКОГО/НИЗКОГО уровня иногда использовалось Z-состояние по входу. Предлагается продолжить тему ещё одной подборкой схем. Ставится задача — научиться конфигурировать линии портов так, чтобы они не конфликтовали друг с другом и с остальными радиоэлементами устройства (Рис. 3.3, а...д).
Рис. 3.3. Схемы, использующие многофункциональность входных и выходных линий портов МК (начало): а) резистор R1 добавляется в уже существующий тракт между логическими элементами DDL 1 и DDL2. МК в режиме входа «прослушивает» сигналы, поступающие с выхода элемента DDL 1. В нужный момент времени МК переводится в режим выхода и «вклинивается» в тракт. Поскольку выходное сопротивление линии низкое, то сигнал, приходящий от DDLI, блокируется и подменяется сигналом с выхода МК; б) аналогично Рис. 3.3, а, но с КМОП-элементами DD1.1, DDL2 и более широкими функциональными возможностями (Табл. 3.1). Для нормальной работы устройства сопротивление резистора R2 должно быть примерно на порядок меньше, чем сопротивление резистора R1; Таблица 3.1. Режимы работы схемы, приведенной на Рис. 3.3, б Линия МК (слева) Линия МК (справа) Функциональные возможности Цифровой вход без «pull-up» резистора Цифровой вход без «pull-up» резистора «Прослушивание» сигналов, поступающих с выхода элемента DDL 1 на вход элемента DDL2 Вход АЦП без «pull- up» резистора Выход с НИЗКИМ или ВЫСОКИМ уровнем Установка постоянного уровня на выходе DDL2 с одновременным «прослушиванием» сигналов с выхода DDL 1 через канал АЦП Выход с логическим уровнем Цифровой вход без «pull-up» резистора Блокировка сигнала, приходящего от DDL /, и замена его своим сигналом от МК в) определение степени разряженности аккумулятора GB1 по методике Г. Райзингера. В ждущем режиме измерительная часть схемы не потребляет энергии, транзистор VT1 закрыт, ток через резистор R1 отсутствует (двунаправленная линия МК настраивается как вход). В активном режиме двунаправленная линия перестраивается как выход с Н ИЗКИМ уровнем, при этом АЦП МК измеряет напряжение аккумулятора без нагрузки КАКК[В] = ^АЦП[В] + ^Vdi[B]. Затем на короткое время включается транзистор VT1 и производится повторный замер АЦП, т.е. измеряется напряжение аккумулятора под нагрузкой RH. Поскольку напряжение VyDX в обоих случаях равно 2.5 В, то по величине «просадки» VAUn можно судить, насколько разряжен аккумулятор. В качестве нагрузки RH может использоваться как мощный низкоомный резистор, так и электролитический конденсатор ёмкостью 33... 100 мкФ;
Рис. 3.3. Схемы, использующие многофункциональность входных и выходных линий портов МК (окончание): г) через л инию МК в режиме выхода можно генерировать звуковой сигнал в УН 4(2). Через ту же линию МК, но в режиме входа АЦП, можно «прослушивать» сигнал с выхода УНЧ(1); д) нагрузкой удалённого охранного шлейфа служит резистор R1 с заранее известным сопротивлением. Сначала линия МК настраивается как выход с ВЫСОКИМ уровнем, затем через время, достаточное для заряда конденсатора С/, переводится в режим входа. По таймеру измеряет время разряда конденсатора С/до момента перехода ВЫСОКОГО уровня в НИЗКИЙ или до определённого порога через АЦП МК. Для повышения точности измерений ёмкость конденсатора С7 выбирается значительно больше, чем ёмкость проводов шлейфа. 3.4. Схемы с программной обратной связью Как известно, обратная связь в электронике бывает отрицательная и положительная. Первая из них стабилизирует параметры, вторая — обеспечивает генерацию сигналов. Применительно к МК знак обратной связи определяется программой. Поскольку алгоритм действий «чужой» программы, как правило, не известен, то сложно «с налёта» определить знак обратной связи. А вот для её физической организации обязательно необходимы хотя бы один сигнал на входе и один на выходе МК (Рис.3.4, а...с). Рис. 3.4. Схемы организации обратной связи в МК (начало): а) обратная связь через элемент «2И-НЕ» DDL Если настроить вход МК в режим АЦП, а на выходе установить ВЫСОКИЙ уровень, то можно измерить напряжение НИЗКОГО уровня логического элемента DDI, т.е. оценить в первом приближении его исправность. По такому же принципу можно осуществить стробирование сигнала UBX импульсами с выхода МК;
Рис. 3.4. Схемы организации обратной связи в МК (продолжение): б) измерение ёмкости электролитического конденсатора С/ по длительности времени его заряда до определённого порога. Сначала на выходе МК устанавливается НИЗКИЙ уровень, при этом открывается транзистор VT1 и конденсатор С1 начинает заряжаться стабильным током от резистора R3. Время заряда измеряется при помощи таймера и АЦП МК. Резистор R5 разряжает конденсатор С/. Диод VD1 защищает МК от переполюсовки подключения конденсатора; в) заряд аккумулятора GB1 производится асимметричными импульсами, формируемыми с выхода МК: период 100... 150 мс, длительность 15...60 мс, скважность изменяется во времени по экспериментально подобранному закону. Момент окончания заряда аккумулятора определяется через АЦП МК по достижению напряжения +1.45 В на конденсаторе С7; г) МК вырабатывает управляющие импульсы, периодически открывающие транзистор VT1. Чтобы убедиться в исправности транзистора, с помощью АЦП МК измеряется амплитуда импульсов на низкоомном резисторе R2. Она пропорциональна протекающему току. Если импульсы отсутствуют или их амплитуда выше нормы, то МК прекращает генерировать ШИМ-сигнал и закрывает транзистор VT1 НИЗКИМ уровнем; д) частота выходного сигнала f2 программно подстраивается под частоту входного сигнала f 1. Датчиком рассогласования служит детектор на элементах Rl, VD1, VD2, CI, R2. Через канал АЦП МК измеряется постоянное напряжение на конденсаторе СУ, которое будет минимальным при совпадении частот. Если рассматривать процесс подстройки частоты как начальную калибровку, то в дальнейшем частоту сигнала Ї2 можно программно сдвинуть на определённую величину относительно f 1 или промодулировать её по требуемому закону;
Рис. 3.4. Схемы организации обратной связи в МК (продолжение): е) при НИЗКОМ уровне на выходе МК к базе транзистора VT1 и общему проводу поключа- ется резистор R2, из-за чего снижается амплитудная чувствительность устройства; ж) проверка обрыва в кабеле при помощи АЦП МК. Если кабель исправен, то измеренное АЦП напряжение будет близким к +1.6...+1.8 В, иначе оно составит +4.9...+5 В. На противоположной стороне исправность жилы кабеля проверяется по свечению индикатора НЫ; з) измерение добротности и индуктивности катушки Ы методом свободных колебаний. Используется быстродействующий усилитель DA 1 и ключи на транзисторе VT1 и микросхеме DA2; и) измерение тока, протекающего через резистор RmM, поочерёдным открыванием транзисторов VTJ, VT2. Красный или зелёный цвет свечения индикатора НЫ показывает, какой из транзисторов открыт в данный момент времени;
Рис. 3.4. Схемы организации обратной связи в МК (продолжение): к) управление мощными нагрузками (ток до 700 мА) через микросхему DA1 фирмы Allegro MicroSystems. С её вывода 14 снимается сигнал НИЗКОГО уровня, если все нагрузки RH обесточены. Этот момент может использоваться для предварительной проверки отсутствия обрывов в нагрузках, для выдачи сигнала индикации аварии; л) ОУ DA1 выполняет функцию компаратора. Опорное напряжение на выводе 2 микросхемы DA 1 изменяется в зависимости от скважности ШИМ-сигнала с выхода МК. Тем самым подбирается оптимальный порог срабатывания в зависимости от формы входного сигнала UBX; м) поочерёдная коммутация восьми входных сигналов на одну линию МК, которая настраивается как аналоговый или цифровой вход. Выбор канала, т.е. обратная связь, осуществляется с трёх выходов МК в двоичном коде; н) сигналами с выходов МК независимо друг от друга включаются нагрузки RH в четырёх каналах. Внутри микросхемы DA 1 имеются ограничители тока и термодатчики. Если ток в нагрузке какого-либо канала превысит допустимое значение или температура станет чрезмерно высокой, то на соответствующем входе МК появится НИЗКИЙ уровень (резисторы R5...R8);1
Рис. 3.4. Схемы организации обратной связи в МК {окончание): о) МК через канал АЦП измеряет амплитуду сигнала UBX(\) и, если она слишком велика, то выставляет ВЫСОКИЙ уровень на выходе, включает реле К1 и переходит на второй канал. Резистором R1 подбирается ослабление делителя. Цепи UBX(\) и UBX{2) можно соединить вместе; п) при НИЗКОМ уровне на выходе МК резистор R1 выполняет функцию «pull-down», при ВЫСОКОМ — «pull-up». Это позволяет, например, выявлять факт пропадания сигнала UBX\ р) нагрузка для сигнала UBX может быть «pull-down» (VT2, R7) или «pull-up» (VT1, VT3, R8)\ с) цифровым потенциометром DA1 (фирма Maxim/Dallas) регулируется коэффициент передачи делителя, верхним плечом которого является любой резистивный датчик R1. МК измеряет напряжение в средней точке «W0» внутреннего переменного резистора. Оно будет пропорционально сигналу от датчика. Для калибровки «ползунок» переменного резистора можно программно переместить в одно из 256 положений через интерфейс PC (цепи «SDA», «SCL»). Сопротивление между выводами «L0» и «НО» микросхемы DA 1 составляет 45 кОм. 3.5. Опрос состояния кнопочной клавиатуры При опросе кнопочной клавиатуры возникает дилемма — как уложиться в доступное число свободных линий МК и не слишком усложнить подпрограмму обслуживания кнопок. С целью уменьшения количества цепей применяют метод
совмещения функций портов МК, когда одни и те же выводы используются по- разному в зависимости от ситуации. Кнопочную клавиатуру, конструктивно оформленную единым блоком в виде матрицы 3x4, 3x5 или 4x4 кнопок (как в телефонном номеронабирателе), принято называть тастатурой. Кнопки строк и столбцов в тастатуре электрически соединяются общими шинами. Итого наружу от 16 кнопок выходят всего лишь 8 проводов, т.е. в 2...4 раза меньше, чем обычно. Опрос тастатурных кнопок производится по специальному алгоритму, который придумывает программист. На Рис. 3.5, а...ф показаны схемы подключения различных кнопочных клавиатур (тастатур) к входным/выходным линиям МК. Рис. 3.5. Схемы подключения кнопочных клавиатур к входным/выходным линиям МК (начало): а) для опроса кнопок SBl...SB16Ha выходных линиях МК «0»...«3» программно организуется «бегущая единица», т.е. в любой момент времени только в одной цепи имеется ВЫСОКИЙ уровень, а оставшиеся переводятся в режим входа без «pull-up» резистора. В момент нажатия кнопки на одной из входных линий «4»...«7» появляется ВЫСОКИЙ уровень. Зная, какая выходная линия в этот момент была активна, вычисляется номер кнопки. Допускается замыкание двух любых контактов одновременно. Но не более, иначе получаются ложные показания. Например, одновременное нажатие кнопок SB1, SB5, SB6эквивалентно нажатию кнопок SB1, SB2 и т.д.; б) аналогично Рис 3.5, а, но с формированием «бегущего нуля» и с «pull-up» резисторами;
Рис. 3.5. Схемы подключения кнопочных клавиатур к входным/выходным линиям МК {продолжение): в) совмещение «приятного с полезным» — по одним и тем же линиям М К выводится информация на светодиодный индикатор HG1 и через них же опрашиваются кнопки SBl...SBn. Переключение режимов «Опрос» и «Индикация» производится с частотой примерно 50... 100 Гц, чтобы не было мигания цифр на табло HGL В режиме индикации на нижнем выходе МК выставляется НИЗКИЙ уровень, а на 8-битной шине данных — код символа, выводимого на индикатор HGL В режиме опроса кнопок на нижнем выходе МК выставляется ВЫСОКИЙ уровень, а все линии шины данных перестраиваются как входы с «pull-up» резисторами. При нажатии любой из кнопок на соответствующей входной линии будет НИЗКИЙ уровень. Зная комбинацию сигналов на 8-битной шине, можно определить, какие кнопки были нажаты. Сопротивления резисторов RА должны быть больше 1 кОм, иначе может снизиться яркость свечения индикатора HG1; г) аналогично Рис. 3.5, в, но для повышения яркости свечения индикатора HG1 вводится транзисторный ключ VT1 и уменьшаются сопротивления резисторов R1...R8. Общая цепь кнопок SBL..SBn соединяется не с GND, а с нижним выходом МК, переключающим режимы «Опрос» и «Индикация». Это повышает помехоустойчивость и снижает потребление тока во время длительного удерживания кнопок в замкнутом состоянии; д) сначала конденсатор С1 обнуляется НИЗКИМ уровнем с выхода МК, затем линия перестраивается в режим входа без «pull-up» резистора. По каналу АЦП и таймеру измеряется время заряда конденсатора С/ до определённого порога через один или несколько резисторов /?Л. Их суммарное сопротивление зависит от того, какая по счёту кнопка SBL.SBn была замкнута. При одновременном нажатии нескольких кнопок определяться будет лишь крайняя слева из них;
Рис. 3.5. Схемы подключения кнопочных клавиатур к входным/выходным линиям МК (продолжение): е) одновременный опрос кнопок с самовозвратом SBL..SB4 и джамперных соединителей SL..S4. Последние опрашиваются только при ВЫСОКОМ уровне на выходе МК и при отсутствии нажатия кнопок SB1...SB4. При НИЗКОМ уровне на выходе МК опрос невозможен. Резисторы RL..R4 «привязывают» входные линии МК к общему проводу. Их сопротивление должно попасть в «золотую середину» — быть не слишком малым, иначе увеличится расход тока, и не быть слишком большим, иначе кнопки могут неустойчиво срабатывать на микротоках; ж) аналогично Рис. 3.5, в, но для ЖКИ HGL В режиме опроса переключателей SL..S4 М К выставляет на верхнем выходе НИЗКИЙ уровень, а остальные переводит в режим входа с «pull-up» резистором. Затем анализирует состояние линий и определяет, какие переключатели были нажаты. В режиме индикации HG1 МК формирует на верхнем выходе положительный импульс, установив на остальных выходах требуемую комбинацию сигналов на шине данных «DB4»...«DB7»; з) аналогично Рис. 3.5, б, но для клавиатуры электромузыкального инструмента S1...S64. По электрической схеме — это матрица 8x8 замыкающих контактов с самовозвратом; и) подключение параллельно шине данных ЖКИ промышленной тастатуры, состоящей из 15 кнопок SB1...SB15 (матрица 3x5). Режим опроса тастатуры производится при запрете записи информации в ЖКИ (этот сигнал тоже формируется от МК, но на схеме для упрощения не показан). Для опроса состояния кнопок на выходных линиях МК организуется «бегущий нуль», при этом свободные линии переводятся в режим входа с Z-состоянием;
Рис. 3.5. Схемы подключения кнопочных клавиатур к входным/выходным линиям МК {продолжение): к) опрос кнопок SB1...SB4 производится при НИЗКОМ уровне на выходных линиях МК. Эти линии параллельно управляют и другими узлами устройства. Замена диодов VD1...VD4 — 1N4148, КД522Б. Резистор R1 может отсутствовать, если кнопки SB1...SB4устойчиво срабатывают при протекании через них микротоков по цепи «питание +5 В — высокоомный внутренний «pull-up» резистор МК»; л) аналогично Рис. 3.5, к, но с активным ВЫСОКИМ уровнем на выходных линиях МК. Резистор R1 обязателен. Замена диодов VD1...VD4 — ВАТ85 или аналогичные с барьером Шоттки. Чуть хуже будет помехоустойчивость при применении кремниевых диодов 1N4148; м) на трёх выходах МК последовательно формируются двоичные коды от ООО до 111, которые поступают на дешифратор DDL Сигналы на выходах дешифратора имеют вид «бегущего нуля» или посылаются адресно в произвольном порядке. Допускается одновременное нажатие переключателей SL..S8, поскольку микросхема DDI имеет выходы с открытым коллектором. Резистор R1 может отсутствовать, если переключатели SJ...S8 устойчиво работают в режиме микротоков от внутреннего «pull-up» резистора МК; н) сначала все линии МК переводятся в режим входа с «pull-up» резисторами. Затем производится опрос состояния кнопок SBL..SBn. Если одна из них нажата, то соответствующая линия МК переводится в режим выхода с НИЗКИМ уровнем, при этом загорается определённый светодиод HLL..HLn. Далее МК блокирует (на время или постоянно) дальнейший опрос состояния уже нажатой кнопки;
Рис. 3.5. Схемы подключения кнопочных клавиатур к входным/выходным линиям МК (продолжение): о) аналогично Рис 3.5, б, но с произвольной матрицей кнопок, содержащей «п»-столбцов и «т»-строк. Цепочки фильтров Rl...Rn, С1...Сп служат для устранения ложных срабатываний от наводок. Правые по схеме линии МК настраиваются в режим «О/R» или «0/Z». Не рекомендуется настраивать их в режим «0/1», т.к. при одновременном нажатии двух кнопок на одной вертикали произойдёт короткое замыкание ВЫСОКОГО и НИЗКОГО уровней на выходах МК; п) ВЫСОКИМ уровнем с выхода МК разрешается опрос кнопок SB1...SB4; р) отличие от аналогичных схем — три (а не четыре) диода VD1...VD3, конденсатор фильтра С/, защитный резистор R1 на случай ошибок в программе; с) особенность схемы — защитные резисторы Rl...R7n шесть активных входов МК: 3 штатных слева и 3 дополнительных справа. На входах слева анализируется «бегущий нуль» и определяется нажатая кнопка. На входах справа «вычисляются» одновременно нажатые кнопки в столбце; т) опрос кнопок 57, S2производится только при ВЫСОКОМ уровне на выходе МК, что повышает экономичность устройства. Кнопки и резисторы можно поменять местами;
Рис. 3.5. Схемы подключения кнопочных клавиатур к входным/выходным линиям МК (окончание): у) сокращение числа выходных линий с четырёх до трёх. Плата за удовольствие — точная регистрация нажатия любой, но только одной (а не нескольких) кнопок; ф) на восьми верхних выходах МК программно организуется «бегущая единица», которая через ключи микросхемы DDI поочерёдно засвечивает одно из восьми знакомест индикатора HGL Частота индикации высокая, поэтому мерцание цифр на индикаторе HG1 отсутствует. Номер нажатого переключателя SI...S8определяется по НИЗКОМУ уровню на входе МК и номеру выходной линии МК, на которой в тот момент был ВЫСОКИЙ уровень. Резистор R9задаёт общий ток для всех переключателей SL..S8.
3.6. Связь между двумя МК по входам/выходам С появлением дешёвых миниатюрных МК, подобных Microchip PIClOFxxx, PIC12F629/675, PIC16F628, Atmel ATtiny25/45/85, ATtiny2313, ATmega48, реальной становится задача построения разветвлённых микроконтроллерных сетей. Действительно, одну большую задачу можно разбить на несколько более мелких и поручить их выполнение отдельным периферийным МК. Например, к одному МК подключаются термодатчики, к другому — фотодатчики, к третьему — карта памяти MMC/SD, к четвёртому — «интеллектуальный» ЖКИ и т.д. Информационная сеть обычно представляется в виде «звезды» или «общей шины», в узлах которой располагаются МК. Центральный МК будет собирать данные, поступающие от удалённых узлов, обрабатывать их и передавать во внешнюю среду через один из стандартных интерфейсов. Частным случаем сетевого соединения является связь двух МК по принципу «точка — точка». Предполагается, что каждому из двух МК «есть что сказать» напарнику, т.е. общение будет двухсторонним, с приёмом и передачей цифровых сигналов (Рис. 3.6, а...п). Рис. 3.6. Организация связи двух МК по входам и выходам (начало): а) связь МК(1) и МК(2) через интерфейс UART с перекрёстным соединением сигналов RxD, TxD. Оба МК должны быть настроены на одну и ту же скорость передачи данных. Питание допускается от двух отдельных источников или от одного общего. Резисторы Rl, R2 ставятся при больших расстояниях между МК или при больших скоростях обмена. Физически они должны располагаться ближе к выводам передачи данных, т.е. ближе к линиям TxD МК(1), МК(2); б) передача противофазных и одиночных сигналов между двумя МК по витым парам проводов (уменьшение синфазных помех и экранирование); в) передача сигналов от МК(1) к МК(2) при их разном питании через 8-канальный буферный повторитель DDL Возможно применение других повторителей и инверторов из серии 74LS;
Рис. 3.6. Организация связи двух МК по входам и выходам (продолжение): г) двухсторонняя связь между двумя МК по одному проводу. Направление передачи задаёт «ведущий» МК(2) установкой НИЗКОГО/ВЫСОКОГО уровня на выводе 5 микросхемы DDL Схему удобно применять для стыковки двух МК с разными напряжениями питания; д) разное питание МК(1) и МК(2). Схема применяется в тех случаях, когда нельзя инвертировать сигнал, иначе элементы VT2, R3 можно удалить; е) транзистор VT2 снижает напряжение питания МК(2) до +3.3 В. Согласование уровней производится инверторами VT1, VT3, которые восстанавливают фазу сигнала TxD МК(1); ж) параллельный интерфейс обеспечивает быстродействующее соединение двух МК. Используется байтовый протокол обмена данными на аппаратном уровне, с записью данных в программные регистры. Такой интерфейс имеется далеко не у всех типов МК. Например, в семействе Microchip РІС 18 он называется PSP (Parallel Slave Port); з) соединение двух МК через двухпроводный интерфейс, аналогичный І2С. В процессе работы «ведомый» и «ведущий» МК могут программно поменяться друг с другом. Электрическая связь осуществляется, как правило, на внутриблочном уровне при расстояниях 40...70 см;
Рис. 3.6. Организация связи двух МК по входам и выходам (продолжение): и) увеличение длины соединительного тракта с применением микросхем преобразователей уровней «UART-RS232» DAI, DA2 (могут быть разных изготовителей). Конденсаторы С1...С8, как правило, однотипные. Их рекомендуемые ёмкости указываются в даташитах на микросхемы; к) беспроводная связь между двумя МК по радиоканалу с использованием канала UART. Промышленные модули/!7, А2должны работать на одной и той же частоте в разрешённых участках диапазона 303...916 МГц. Резисторы R2, R3 одинаковые. Они определяют полосу пропускания внутреннего ФНЧ модулей по формуле Т^ррІкГц] = 1445/(330-7?х[кОм] /(330 + /?х[кОм])), где Rx — это R2 или R3; л) беспроводная связь через канал сотовой связи. Мобильные телефоны должны иметь разъёмы с выведенными на них сигналами интерфейсов MBus или FBus. Протокол работы задаётся АТ-командами, которые посылает каждый из МК через канал UART. После установления связи МК общаются друг с другом в режиме «точка-точка». Вместо двух телефонов можно поставить два промышленных модуля GSM/GPRS, например, SIM300CZ фирмы SIM Technology;
Рис. 3.6. Организация связи двух МК по входам и выходам {окончание): м) объединение выходов нескольких МК по принципу «монтажное ИЛИ». Во избежание логических конфликтов на общей шине необходимо программным путём организовать обратную связь между МК(5) и МК(1)...МК(4) с адресацией вызова; н) одновременная передача информации к удалённым МК(2)...МК(5) в сети «звезда». Опто- пара VU1 служит не для гальванической развязки сигналов, а для буферизации выхода МК( 1). Её применение вместо обычно транзисторного каскада связано с положительным опытом автора статьи, эксплуатировавшего ранее подобные устройства на практике; о) регистр хранения DDI обеспечивает стробируемую связь между МК(1) и МК(2). Входом записи «С» управляет МК(1), а входом разрешения «Е» — МК(2). При ВЫСОКОМ уровне на линии «Е» все выходы микросхемы DDI переводятся в Z-состояние, поэтому в МК(2) задействуются внутренние «pull-up» резисторы. Они не обязательны, если линии МК(2) периодически перестраиваются на выход или на них извне подаются другие сигналы, как в цепи «Q2»; п) гальваническая опторазвязка между МК(1) и МК(2). Протокол связи придумывает сам программист, например, байт запроса — два байта ответа. Скорость передачи данных зависит от быстродействия оптопары VU1. Для распространённых оптопар типа РС817 (фирма Sharp) «крейсерскими» тактовыми частотами считаются единицы-десятки килогерц.
3.7. Сопряжение с двунаправленными буферами В микропроцессорной технике для буферизации шин и коммутации сигналов используются двунаправленные логические ТТЛ- и КМОП-элементы. Применительно к МК их тоже можно ставить, причём наибольший эффект достигается при объединении сигналов в группы по 8 (байт) или 4 (ниббл) бита (Рис. 3.7, а...в). Рис. 3.7. Схемы сопряжения МК с двунаправленными буферами: а) однонаправленная микросхема DDI работает в двунаправленном режиме. «Оборотная сторона медали» — из 8 однонаправленных получается всего лишь 4 двунаправленных канала; б) М К должен переводить свои 8 верхних линий в режим входа/выхода синхронно с выставлением ВЫСОКОГО/НИЗКОГО уровня на входе «Т» буфера DDI (направление передачи); в) подключение нескольких буферных микросхем DDl...DDn к одному МК. «Pull-ир» резисторы RL..Rn нужны, чтобы при рестарте МК на выходах не появлялись случайные сигналы.
3.8. Подключение внешних микросхем ОЗУ и ПЗУ ОЗУ (англ. RAM) и ПЗУ (англ. ROM) — это цифровые накопители информации. Их применяют, если внутренних ресурсов МК по тем или иным причинам недостаточно. Для сравнения, объём памяти данных МК составляет 0.5...8 Кбайт, объём памяти программ — 2...256 Кбайт. Подключить же к МК можно ещё одну или несколько внешних микросхем ОЗУ ёмкостью 32...512 Кбайт или флэш-ПЗУ ёмкостью 0.5... 128 Мбайт. Увеличение вычислительных ресурсов налицо. Обобщённые структурные схемы ОЗУ и ПЗУ во многом совпадают (Рис. 3.8). Базой служит прямоугольная матрица ячеек памяти, доступ к которой осуществляется через линии адреса АО...An, а чтение/запись — через двунаправленную шину данных І/OO...I/Ok. Многочисленные разновидности ОЗУ и ПЗУ отлича- ются друг от друга логикой формирования сигналов управления CS, WR, RD, а также наличием или отсутствием мультиплексирования адресных линий. Рис. 3.8. Структурная схема ОЗУ (ПЗУ). Внешние ПЗУ лучше использовать «низковольтные» электрически перезаписываемые (ключевое слово «Flash»). Напряжение программирования у них составляет 5 В в отличие от 12...27 В в старинных «высоковольтных» ПЗУ 27С256, КР573РФ6А, которые применять сейчас совместно с МК не имеет смысла. Типовое время хранения информации в флэш-ПЗУ достигает 10...40 лет при 0.1... 1 млн циклов перезаписи. Различают последовательные и параллельные флэш-ПЗУ. Первые из них малогабаритные, маловыводные, но они имеют низкую скорость доступа и невысокую ёмкость. Пример — серии 24Сххх, 93Схх. Для подключения таких ПЗУ к МК применяют двух- или трёхпроводные интерфейсы PC, SPI. В противовес этому параллельные флэш-ПЗУ обладают большим объёмом памяти, хорошим быстродействием, но требуют для сопряжения с МК много выводов (два-три свободных 8-битных порта). Пример — серии 28Fxxx, 29Сххх. Внешние ОЗУ имеют высокую скорость записи и чтения, но информация в них теряется при выключении питания. Для сопряжения ОЗУ с МК используют обычные линии портов. Иногда выгоднее их перевести в специальный режим «External RAM», при котором область внешнего ОЗУ включается в общую карту памяти. Поддерживает ли конкретный МК подобный режим, можно определить по специфическим названиям линий портов в его условном обозначении. Например, на Рис. 3.9 это «AD0»...«AD7» (шина данных/адреса), «А8»...«А15» (старшие разряды шины адреса), «ALE», «WR», «RD» (сигналы управления). На Рис. ЗЛО, а...и приведены схемы подключения внешней памяти к МК.
Рис. 3.9. Расположение выводов и названия сигналов в МК Atmel ATmega8515. Рис. 3.10. Схемы подключения внешней памяти к МК (начало): а) микросхема DS1 (фирма Samsung) — это «интеллектуальное» перепрограммируемое ПЗУ с собственой системой команд. Применяется, в частности, в USB-накопителях; б) 16-разрядная информация в динамическом ОЗУ DS1 (фирма OKI) передаётся/принимается через выводы «1/01»...«1/04» последовательно во времени четырьмя блоками;
Рис. ЗЛО. Схемы подключения внешней памяти к МК (продолжение): в) шина адреса «А0»...«А18» и шина данных «Ю0»...«Ю7» статического ОЗУ DS1 (фирма Samsung) мультиплексируются регистрами DDI, DD2. По фронтам сигналов Fl, F2 в регистрах за два раза защёлкивается полный адрес ячейки. Недостающие адреса формируются прямо от МК («R0»...«R2»). При чтении/записи ОЗУ («*RD»/«*WR») работают 8 верхних линий МК; г) DS1 — это ферроэлектрическое последовательное «ОЗУ/ПЗУ» FRAM (фирма Ramtron), подключаемое к МК по шине 12С. При поданном питании FRAM эквивалентна ОЗУ, а при выключенном — ПЗУ. Число перезаписей не ограничено (!), время хранения информации 45 лет; д) подключение последовательного ОЗУ DS1 (64Кх8) к МК через трёхпроводной интерфейс и «антизвонные» резисторы R2...R4;
О Рис. 3.10. Схемы подключения внешней памяти к МК (продолжение): е) в регистре DDI хранятся младшие 8 бит шины адреса. Старшие 7 бит подаются от МК непосредственно на ОЗУ DS1 фирмы Hitachi. МК работает в режиме «External RAM». На вход «СЕ» ОЗУ DS1 вместо общего провода можно подать сигнал разрешения со свободного выхода МК. Это позволяет снизить общий расход энергии от источника питания, поскольку при ВЫСОКОМ уровне на входе «СЕ» микросхема DS1 переходит в экономичный режим хранения данных; ж) подключение к МК последовательного флэш-ОЗУ DS1 фирмы Atmel. Если переключатель S1 замкнут, то в ОЗУ нельзя записывать данные, это режим защиты. Резисторы R3, R4 в некоторых схемах отсутствуют. Замена DS1 — любое ОЗУ большей/меньшей ёмкости из семейства DataFlash AT45DB фирмы Atmel, включая устаревшие модели AT45DB081B-CNU;
© Рис. 3.10. Схемы подключения внешней памяти к МК (окончание): з) при прямом подключении флэш-ПЗУ DS1 (фирма AMD) к МК требуется большое количество свободных линий портов. Некоторые выходные линии МК, например, «А7», могут быть одновременно задействованы для управления другими узлами, однако делать это допускается только тогда, когда отсутствует обращение к ПЗУ, т.е. при ВЫСОКОМ уровне сигнала «ОЕ»; и) увеличение ёмкости ОЗУ за счёт параллельного соединения микросхем DSl...DSn. Каждое из подключённых ОЗУ имеет собственный сетевой программный адрес, который определяется разными логическими уровнями на входах «АО», «А1», «А2».
3.9. Светоизлучатели и фотоприёмники На Рис 3.11, а...г показаны схемы подключения светодиодов и фотоприёмников к двунаправленным линиям портов МК. Рис. 3.11. Схемы подключения светодиодов и фотоприёмников к МК: а) А1 — это модуль приёма и обработки сигналов от оптической «мыши». Светодиод НЫ включается по команде от модуля А7. Ток через него определяется резистором RL Отражённый от поверхности луч света попадает на фоточувствительную матрицу, находящуюся внутри А1\ б) совместное использование фотодатчика R3 (линия МК в режиме входа) и звукового пьезоизлучателя НА1 (линия МК в режиме выхода). Внутренняя ёмкость НА J подключается параллельно входу МК, что снижает помехи, а резисторы R1...R4 не мешают генерации звука; в) светодиод НЫ индицирует ВЫСОКИЙ уровень сигнала £/вх. Если сигнал отсутствует и транзистор VT2 закрыт, то можно заставить мигать светодиод HL 7, программно перестраивая линию МКто на выход с НИЗКИМ уровнем, то на вход без «pull-up» резистора; г) резисторы Rl, R2 и фотодатчик R3 образуют делитель напряжения. Если шкалу резистора R1 проградуировать в единицах освещённости, то вращая его движок можно добиться смены логического уровня на входе МК и, как следствие, генерации звука через пьезодинамик HAL
3.10. Необычные схемы узлов ввода/вывода На Рис 3.12, а...к показаны необычные схемы узлов ввода/вывода. Рис. 3.12. Необычные схемы узлов ввода/вывода (начало): а) двунаправленный расширитель портов DDI (фирма Microchip) эффективен при недостатке свободных линий у МК. Ток нагрузки по каждому из выходов микросхемы DDI не более 25 мА. Интерфейс программно совместим с PC, но с увеличенной до 0.1... 1.7 МГц частотой сигнала «SCL». Выходы «INTA», «INTB» надо программно сконфигурировать так, чтобы они своими ВЫСОКИМИ уровнями информировали МК об изменениях сигналов на 16 линиях DDI; б) измеритель пульса на ИК-оптодатчике VU1, к которому прижимается палец человека. Импульсный режим работы оптодатчика (7.5 кГц с верхнего выхода МК) повышает помехоустойчивость. С нижнего выхода МК через канал ШИМ устанавливается чувствительность (VT2, С2); в) приёмный и передающий модули Al, А2 используются в оптоволоконных системах цифрового звука стандарта S/PDIF. Максимальная скорость данных 6 Мбит/с при расстоянии 10 м. Обычный же МК может обрабатывать информацию на гораздо более медленных скоростях;
Рис. 3.12. Необычные схемы узлов ввода/вывода (продолжение): г) двунаправленный расширитель портов DDI (фирма Philips) используется как восьмика- нальный приёмник логических сигналов с оперативным оповещением о смене состояний через сигнал «INT». Напряжение питания может быть снижено до +3 В; д) телефон А1 выполняет функцию механического контактора. При наборе цифр номера цепь внутри телефона периодически замыкается/размыкается, при этом транзистор VT2 открывается/закрывается. МК по входу подсчитывает число импульсов и определяет набранную цифру. С выхода МК генерируется звуковой сигнал, который слышен в трубке телефона; е) автоинформатор на основе стандартного кнопочного или дискового телефонного аппарата А7. На вход АЦП МК поступают речевые сигналы от микрофонного капсюля, находящегося в трубке А7. Далее производится оцифровка речи и принятие решения. Ответом может быть генерация звуковых, голосовых или музыкальных подтверждений от выходной линии МК через конденсатор С1 (тембр), усилитель на транзисторе VT1 и телефонный наушник, находящийся внутри Ah Резистором R3 выставляется ток 20...30 мА, протекающий через микрофонный капсюль телефона. Резистор R4 подбирается по максимальной громкости звука, когда ещё нет самовозбуждения. Вместо телефонного аппарата можно подключить радиотелефон; ж) подключение к МК четырёхпроводного сенсорного экрана А1 (разные фирмы). При нажатии изменяются сопротивления внутренних резисторов в пределах примерно 300...900 Ом. Линии МК должны поочерёдно настраиваться на вход АЦП и на цифровой выход;
Рис. 3.12. Необычные схемы узлов ввода/вывода (окончание): з) изначально все линии МК настраиваются в режим входа без «pull-up» резисторов и производится опрос состояния контактов механического джойстика А1. Если ручку джойстика поставить в нейтральное положение или джойстик физически отключить от схемы, то МК может самостоятельно «понажимать» его контактов переводом линий в режим выхода с НИЗКИМ уровнем. Кроме того, для полноценной имитации нужен канал обратной связи, чтобы контакты джойстика МК замыкал не произвольно, а «осмысленно»; и) аналогично Рис. 3.11, з, но с ВЫСОКИМ уровнем на выходах МК в режиме имитации замыкания его контактов; к) высокое напряжение 500... 1000 В для датчика Гейгера формируется DC/DC-преобразова- телем, собранным на элементах КТ2, LI, VD1, С1...СЗ. Частота сигналов ШИМ с выхода МК составляет 4 кГц. Напряжение обратной связи поступает через делитель R4, R5, R7, R8 на АЦП МК. Измерение уровня радиационного фона осуществляется подсчётом количества импульсов, поступающих на базу транзистора VT1 за единицу времени. Катушка индуктивности L1 содержит 60 м провода ПЭВ-0.2, намотанных на цилиндре 10x25 мм.
Список использованных источников и литературы к главе 3 З-1. Потапчук, М. Регулятор оборотов микродрели на PIC-контроллере / Марис Потапчук // Радиомир. - 2005. - № 3. - С. 13-14. 3-2. Мельник, В. 3-фазный двигатель в однофазной сети / В. Мельник // Радиомир. — 2004.-№ 10.-С. 19. 3-3. Smith, P. Studio Series — Remote Control / Peter Smith // Everyday Practical Electronics. - 2008. -№ 4. - P. 24-32. 3-4. Lang, R. The High Voltage PIC / Robert Lang // Nuts & Volts. - 2006. - № 10. - P. 67-71. 3-5. Enzmann, A. USB Device Control / Alexander Enzmann // Nuts & Volts. — 2006. — № 6. — P. 73-78. 3-6. Xu, G. Y. Follow The Flashlight Evolution / G. Y. Xu // Nuts & Volts. - 2008. - № 2. - P. 32-36. 3-7. Wlostowski, T. Co potrafia ARM-y: Wolfenstein 3D na STR911 / Tomasz Wlostowski // Elektronika Praktyczna. - 2008. - № 1. - S. 12-20. 3-8. Clarke, J. Universal High-Energy LED lighting System / John Clarke, Julian Edger// Everyday Practical Electronics. — 2008. — № 6. — P. 10-18. 3-9. Kincaid, R. Q & A (NiMH Battery Charger) / Russell Kincaid // Nuts & Volts. - 2007. - № 7. - P. 34-35. 3-10. Дайджест зарубежной периодики. Суперсовременный фонарик на микроконтроллере РІС // Радиохобби. - 2002. - № 6. - С. 18-19. 3-11. Clarke, J. Super Speedo Corrector / John Clarke, Julian Edger // Everyday Practical Electronics. - 2008. - № 9. - P. 10-15. 3-12. Lerner, L. Inductance & Q-Factor Meter / Leonid Lerner // Everyday Practical Electronics. - 2007. - № 10. - P. 28-35. 3-13. Eady, F. Manadging The Realy World / Fred Eady // Nuts & Volts. - 2008. - № 1. - P. 82-88. 3-14. Wiazania, M. 4-portowy Hub USB 2.0 AVT-5146 / Marcin Wiazania // Elektronika Praktyczna. - 2008. - № 9. - S. 38-41. 3-15. Hibbett, M. Multiplexing — A Trick or Two / Mike Hibbett // Everyday Practical Electronics. - 2006. - № 7. - P. 20-21. 3-16. Clarke, J. A Charger for Deep-cycle 12V Batteries / John Clarke // Everyday Practical Electronics. - 2007. - № 1. - P. 52-61. 3-17. Hibbett, M. Interfacing PICs to the Internet via Ethernet — Part 3 / Mike Hibbett // Everyday Practical Electronics. — 2008. — № 11. — P. 66-67. 3-18. Рюмик, С. M. Микроконтроллеры GSM. Соединение 1 / Сергей Рюмик// Радіоаматор. - 2009. - № 2. - С. 46-50. 3-19. Geary, D. Monopoly Money / Dave Geary // Everyday Practical Eletronics. — 2008. — № 6. - P. 40-47. 3-20. Rainbow, M. MIDI Wave Sound Generator / Mike Rainbow // Everyday Practical Electronics. - 2008. - № 7. - P. 10-18. 3-21. Guilhaumon, L. USB Mass Storage Device Implementation with the АТ89С5131А/ Laurent Guilhaumon //Atmel Applications Journal. — Summer 2005. — Number 5. — P. 14-16. 3-22. Баранов, В. Подключение внешнего ОЗУ к микроконтроллерам AVR / Вадим Баранов // Схемотехника. — 2005. — № 10. — С. 18-21. 3-23. Kremin, V. Pulse Sensing Optical Mouse / Victor Kremin, Serhiy Matvienko // Circuit Cellar. - 2006. - № 9. - P. 12-17.
3-24. Scarborough, Т. Programmable Robot / Thomas Scarborough // Everyday Practical Electronics. - 2007. - № 2. - P. 44-50. 3-25. Хвостик, В. Дистанционное управление фонтаном / В. Хвостик // Радиомир. — 2009. -№5.-С. 20-21. 3-26. Секториан, А. Адаптер для подключения телефонного аппарата к компьютеру / Александр Секториан // Радиолюбитель. — 2006. — № 9. — С. 57. 3-27. Durdenic, D. Drive a Color STN Display / Dejan Durdenic // Circuit Cellar. — 2006. -№ 10.-P. 30-39. 3-28. Сергеенко, P. Синтезатор игровых ситуаций / P. Сергеенко (Сергей Рюмик) // Моделист-конструктор. — 1997. — № 7. — С. 18-21. 3-29. Lang, R. PIC Digital Geiger Counter / Robert Lang, Steve Thompson // Everyday Practical Electronics. - 2007. - № 2. - P. 11-20.
ГЛАВА 4 ТИПОВЫЕ СХЕМЫ ПОДКЛЮЧЕНИЯ КОМПЬЮТЕРОВ К МК Лучше знать лишнее, чем ничего не знать (Сенека Луций Анней) 4.1. СОМ-порт СОМ-порт (COMmunication Port) — это порт последовательной передачи данных, который появился в первых моделях IBM PC для подключения мыши, сканера, модема, дигитайзера. СОМ-порт до сих пор относится у радиолюбителей к наиболее почитаемым средствам сопряжения внешних устройств, хотя в последних моделях компьютеров и ноутбуков он уже отсутствует. Дальность связи по СОМ-порту напрямую зависит от скорости соединения и может достигать 15...300 м. При большой длине кабеля рекомендуется применять гальваническую опторазвязку, чтобы не повредить компьютер в случае сильных промышленных помех или при большой разности «земляных» потенциалов. СОМ-порт обеспечивает асинхронный обмен данными по стандарту RS-232C (Recommended Standard-232C, 1969 г.). В 1987 г. была разработана новая версия стандарта EIA-232-D, а в 1991 г. — ещё одна EIA/TIA-232-E. Несмотря на изменение названий, электронщики по-прежнему говорят «RS-232» для всех без исключения вариантов этого последовательного интерфейса. Разъёмы RS-232 бывают на 9 контактов (DB-9, EIA-574) и на 25 контактов (DB-25, EIA-232, полный набор сигналов). Нормой «де-факто» считается вилка DB-9M в компьютере и розетка DB-9F в присоединяемом кабеле (Рис. 4.1, а). Рис. 4.1. Внешний вид разъёмов интерфейса RS-232: а) вилка и розетка DB-9; б) разъём RJ-45 на 8 контактов; в) разъём RJ-45 на 10 контактов.
В промышленных модемах для портов RS-232 иногда применяют «телефонные» разъёмы на 8, 10 (ЕЇА-561, Рис. 4.1, б, в) и на 26 контактов (Табл. 4.1). Таблица 4.1. Раскладка сигналов в разъёмах интерфейса RS-232 DB-9 DB-25 8-pin 10-pin UD-26 Цепь Расшифровка Функция Направление 1 8 2 3 8 DCD Data Carrier Detect Обнаружение несущей ОтМКк компьютеру 2 3 5 6 3 RxD Receive Data Принимаемые данные ОтМКк компьютеру 3 2 6 7 2 TxD Transmit Data Передаваемые данные От компьютера кМК 4 20 3 4 20 DTR Data Terminal Ready Готовность терминала От компьютера кМК 5 7 4 5 7 SG (GND) Signal Ground Сигнальный общий провод - 6 6 -(1) 2 6 DSR Data Set Ready Готовность данных ОтМКк компьютеру 7 4 8 9 4 RTS Request To Send Запрос передачи От компьютера кМК 8 5 7 8 5 CTS Clear To Send Готовность к передаче ОтМКк компьютеру 9 22 К-) 1 22 RI Ring Indicator Индикатор звонка ОтМКк компьютеру Важное замечание. Нумерация контактов вилок и розеток DB-9, DB-25 зеркальная по отношению друг к другу. Однако, встречаются разновидности этих разъёмов с «перевёрнутой» маркировкой контактов, когда вилка якобы соответствует розетке и наоборот. Чтобы не запутаться в обозначениях, надо ориентироваться строго по Рис. 4.1, а, не обращая внимание на мелкие цифры, которые изготовители наносят прямо возле контактов разъёма. Требования к уровням сигналов для передатчиков и приёмников СОМ-порта различные (Рис. 4.2, а, б). Это связано с необходимостью обеспечить повышенную помехоустойчивость при большой длине кабеля. Реальная амплитуда выходных сигналов СОМ-порта стационарных компьютеров составляет ±(9... 10) В, но для приёма сигналов в большинстве случаев достаточно уровней 0...+3 В [4-1]. Рис. 4.2. Уровни сигналов интерфейса RS-232: а) на передаче; б) на приёме.
Схемы соединения МК с СОМ-портом можно разделить на 4 группы: • приём данных от компьютера без развязки (Рис. 4.3, а...м); • приём данных от компьютера с гальванической изоляцией (Рис. 4.4, а...е); • передача данных в компьютер без развязки (Рис 4.5, а...к); • передача данных в компьютер с гальванической изоляцией (Рис. 4.6, а...ж). Во всех последующих схемах подразумевается, что для передачи данных от компьютера используется линия TxD, а от МК — линия RxD. Это позволяет задействовать встроенный в большинство МК аппаратный контроллер последовательного интерфейса UART. Иногда для передачи данных от компьютера используют линии DTR или RTS, а для приёма — линии DCD, Rl, DSR, CTS. Однако в этом случае программисту придётся придумывать свой алгоритм передачи данных. Рис. 4.3. Схемы неизолированного ввода сигналов из СОМ-порта в МК (начало): а) диод VD1 защищает МК от отрицательного напряжения. Делитель Rl, R2 снижает амплитуду сигнала на входе МКс +10 В примерно до +4.3 В; б) диод VD1 защищает МК от отрицательного напряжения. Резистор R1 создаёт нагрузку по току для СОМ-порта. Резистор R2 ограничивает ток через внутренний защитный диод МК; в) стабилитрон VD1 при подаче от СОМ-порта отрицательного напряжения ограничивает амплитуду до -0.7 В, а при подаче положительного напряжения — до +4.7...+5.1 В. Чтобы снизить ток через внутренний диод МК, надо последовательно с входом поставить резистор 200 Ом; г) транзистор VT1 служит инвертором сигнала и защитой от больших положительных напряжений. Диод VD1 в свою очередь защищает транзистор VT1 от отрицательных напряжений; д) аналогично Рис. 4.3, г, но с внешним (а не внутренним) нагрузочным резистором R2, а также с отсутствием резистора между базой и эмиттером транзистора VT1. Схема рассчитана на постоянное подключение кабеля к СОМ-порту, иначе снижается помехоустойчивость, потому что база транзистора VT1 будет «висеть в воздухе»;1
Рис. 4.3. Схемы неизолированного ввода сигналов из СОМ-порта в МК (продолжение): е) аналогично Рис. 4.3, г, но без защитного диода на входе, поскольку транзистор VT1 по даташиту выдерживает большое обратное напряжение «база — эмиттер» до 6 В. Встречающиеся разновидности элементов схемы: Л, = 10 кОм, R2 = 12... 15 кОм; ж) аналогично Рис 4.3, г, но с инвертором на полевом транзисторе VTL Резистор R2 закрывает транзистор VT1 при отстыкованном кабеле от СОМ-порта. Пороговое напряжение стабилитрона VD1 не должно превышать максимально допустимое для затвора транзистора VT1; з) сопряжение МК с компьютером через защитный КМОП-инвертор на микросхеме DDL На её вход может подаваться положительное напряжение до +15 В. Отрицательное входное напряжение шунтируется внутренним диодом микросхемы DDI, при этом ток ограничивается резистором RL Логический инвертор DDI можно заменить повторителем на микросхеме К561ПУ4, но тогда придётся внести изменения в программе в части инвертирования входного сигнала; и) аналогично Рис. 4.3, з, но с ТТЛ-триггером Шмитта, входящим в микросхему DDL Резистор R1 ограничивает входной ток, резистор R2 согласует уровни ТТЛ — КМОП; к) схема П.Хомера. Светодиод НЫ индицирует наличие сигнала положительного уровня с СОМ-порта. Яркость свечения задаётся резистором RL При отрицательном уровне входного сигнала светодиод ведёт себя как стабилитрон. Конденсаторы CL..C3 снижают ВЧ-помехи. Диод VD1 защищает транзистор VT1 от большого обратного напряжения на базе;
Рис. 4.3. Схемы неизолированного ввода сигналов из СОМ-порта в МК (окончание): л) типовая схема подключения входов МК к компьютеру через драйвер DA1 из стандартной серии «232». Высокая помехоустойчивость и значительные расстояния (до 300 м при скорости 300 бит/с) обеспечиваются триггерами Шмитта на входах DDL Размах входных сигналов TxD, RTS может достигать ±30 В, скорость передачи данных до 120...200 Кбит/с. Драйверы серии «232» выпускаются разными фирмами, но параметры могут несколько отличаться; м) простейший вариант сопряжения нескольких МК с одним СОМ-портом. Резистор R1 ограничивает общий ток через внутренние диоды МК на уровне 0.2...0.4 мА. Рис. 4.4. Схемы изолированного ввода сигналов из СОМ-порта в МК (начало): а) изоляция цепей СОМ-порта с помощью интегральных ключей микросхемы DA1 фирмы Maxim Integrated Products. Для нормальной работы требуются три источника питания: +5 В (1), + 10 В, —10 В относительно цепи GND разъёма СОМ-порта и один источник питания +5 В (2) относительно «земли» МК. Вместо линии TxD может использоваться любая другая выходная линия СОМ-порта, следует только учитывать инвертирование сигнала микросхемой DA1; б) параллельный оптоизолированный съём информации с выходной линии СОМ-порта, в частности, с DTR. Диод VD1 предназначен для защиты оптопары VU1 от большого отрицательного напряжения и, соответственно, для снижения токовой нагрузки на СОМ-порт;
Рис.4.4. Схемы изолированного ввода сигналов из СОМ-порта в МК (окончание): в) резистор R1 задаёт ток через излучатель оптопары VUL Светодиод НЫ защищает опто- пару от отрицательного напряжения, а также индицирует выключенное состояние оптопары и обеспечивает примерно одинаковый ток в цепи TxD вне зависимости от полярности сигнала; г) аналогично Рис. 4.4, в, но без световой индикации и с увеличенной скоростью передачи данных в связи с применением интегральной оптопары VU1\ д) аналогично Рис. 4,4, б, но с другими номиналами элементов и с заменой внутреннего «pull-up» резистора МК внешним нагрузочным резистором R2; е) аналогично Рис 4.3, к, но с гальванической опторазвязкой. Рис. 4.5. Схемы неизолированного вывода сигналов из МК в СОМ-порт (начало): а) простейшая схема сопряжения без инверсии сигнала. Стабилитрон VD1 совместно с резистором R1 защищает МК на случай ошибок в монтаже соединительного кабеля СОМ-порта; б) буферный транзистор VT1 инвертирует сигнал, что позволяет использовать на выходе МК линию TxD канала UART. На коллекторе транзистора VT1 формируются уровни, близкие к напряжению питания +5 В и к общему проводу. Такое «низковольтное» решение эффективно при небольших расстояниях до компьютера 1...2 м;
Рис. 4.5. Схемы неизолированного вывода сигналов из МК в СОМ-порт (продолжение): в) буферный транзистор VT1 инвертирует сигнал и формирует на своём коллекторе уровни, близкие к напряжению питания +12 В и к общему проводу. Резистор R2 закрывает транзистор VT1 при рестарте МК; г) аналогично Рис. 4.5, б, но с транзистором VT1 структуры р—п—р. Резистор R2 формирует «нулевой» уровень для СОМ-порта при закрытом транзисторе VT1; д) аналогично Рис. 4.5, б, но на полевом транзисторе VT1; е) сопряжение с СОМ-портом через ОУ DAI, который работает в режиме компаратора напряжения. Двухполярное питание ОУ способствует тому, что выходные уровни сигнала RxD становятся близкими к ±12 В; ж) ОУ DA1 получает питание ±10 В от выходных линий СОМ-порта RTS, DTR. На них программно должны устанавливаться напряжения положительной (RTS) и отрицательной ( DTR) полярности;
Рис. 4.5. Схемы неизолированного вывода сигналов из МК в СОМ-порт {окончание): з) ОУ DA1 служит неинвертирующим усилителем. Коэффициент передачи определяют резисторы Rl, R2. Питание микросхемы DA1 ±10 В производится от противофазно настроенных в программе линий СОМ-порта RTS, DTR. Диодный мост VDL..VD4 обеспечивает правильную полярность подачи питания. Сигналы на линиях RTS, DTR могут быть как постоянными, так и импульсными, но обязательно инверсными по отношению друг к другу; и) аналогично Рис. 4.3, л , но МК работает на передачу информации; к) триггер Шмитта DDI является защитным буфером для МК. Его можно заменить микросхемой К561ЛА7 или другими инверторами/повторителями из серии 74НСхх. Устойчивость работы при длинном соединительном кабеле проверяется экспериментально. Рис. 4.6. Схемы изолированного вывода сигналов из МК в СОМ-порт (начало): а) гальваническая изоляция на оптопаре VUL Питание +5 В для транзистора оптопары обеспечивает сам СОМ-порт через стабилизатор DA1. В компьютерной программе надо предусмотреть установку положительного напряжения хотя бы на одном из выходов DTR, RTS, CTS; О
Рис. 4.6. Схемы изолированного вывода сигналов из МК в СОМ-порт (окончание): б) в исходном состоянии транзистор оптопары VU1 закрыт и на вход RxD поступает отрицательное напряжение с линии TxD. Если транзистор открыт, то на вход RxD поступает положительное напряжение с линии DTR. Резистор R2 устраняет наводки и помехи в цепи базы VU1\ в) оптопары VU1, VU2 включаются противофазными сигналами с двух выходов МК. Соответственно, в цепь RxD поступает или положительное (+5...+10 В, RTS), или отрицательное (-5...-10 В, DTR) напряжение. Резистором R1 подбирается ток через диоды обеих оптопар; г) оптическая развязка через быстродействующую микросхему DA 1 (скорость до 10 Мбит/с). Резистор R2 служит нагрузкой каскада с открытым коллектором. Резистор R1 ограничивает ток внутреннего светодиодного излучателя DA1. Питание +5 В подаётся отдельно от МК; д) изоляция цепей СОМ-порта при помощи интегральных ключей микросхемы DA1 фирмы Maxim Integrated Products. Для нормальной работы требуются три напряжения питания: +12 В, -12 В относительно цепи GND разъёма СОМ-порта и +5 В относительно общего провода МК; ж) элементы НЫ и ВЫ используются от компьютерной механической «мыши». Транзистор VT1 усиливает и инвертирует сигнал. Фототранзисторы в сборке ВЫ включаются параллельно, чтобы повысить чувствительность. Линии RTS и DTR служат источником питания.
4.2. LPT-порт Таблица 4.2. Раскладка сигналов в 25-контактном разъёме LPT-порта DB-25 Цепь Расшифровка Функция Направление 1 STROBE Strobe Строб Вход/выход 2...9 D0...D7 Data Bit Данные Вход/выход 10 АСК Acknowledge Подтверждение Вход 11 BUSY Busy Готовность Вход 12 РЕ Paper End Нет бумаги Вход 13 SEL Select Выбор Вход 14 AUTOFD Autofeed Автоперенос Вход/выход 15 ERROR Error Ошибка Вход 16 INIT Initialize Инициализация Вход/выход 17 SELIN Select In Выбор входа Вход/выход 18...25 GND Ground «Земля» Общий Рис. 4.7. Внешний вид спереди 25-контактных разъёмов LPT-порта: а) розетка DB-25F в компьютере; б) вилка DB-25M в соединительном кабеле. Компьютер обрабатывает сигналы параллельными потоками, поэтому ему легче «общаться» с параллельными, а не с последовательными внешними портами. В 1984 г. в составе IBM PC впервые появился параллельный порт. Задуман он был как средство подключения матричных принтеров, отсюда и название LPT — Line PrinTer или Line Printer Terminal. В дальнейшем для принтеров стали использовать быстродействующий интерфейс USB, а LPT-порт начал постепенно вытесняться из компьютерных спецификаций. Остряки сравнивают LPT с чемоданом без ручки—и выбросить жалко, и тащить невозможно. Тем не менее, «ветеран» ещё на многое способен, если, конечно, он присутствует в конкретном компьютере. Разъём LPT-порта имеет 25 контактов. Нормой «де-факто» считается розетка DB-25F в компьютере и вилка DB-25M в ответном кабеле (Табл. 4.2). Нумерация контактов вилок и розеток зеркальная (Рис 4.7, а, б).
Первоначально линии LPT-порта были однонаправленными SPP (Standard Parallel Port). Часть из них работала только на вход, часть — только на выход, что по набору сигналов и протоколу обмена соответствовало принтерному интерфейсу «Centronics». В 1994 г. был утверждён новый стандарт параллельного интерфейса IEEE 1284, предусматривающий двунаправленные линии и три режима работы: SPP, ЕРР (Enhanced Parallel Port), ЕСР (Extended Capabilities Port). Уровни электрических сигналов LPT-порта совпадают с обычными «пятиволь- товыми» логическими микросхемами. Раньше в компьютерах применялись буферные ТТЛ-микросхемы серии 74LSxx, позднее — КМОП-микросхемы и БИС, примерно эквивалентные серии 74АСхх. В последнем случае можно ориентировочно считать, что НИЗКИЙ уровень равен 0.1..0.2 В, а ВЫСОКИЙ — 4.5...4.9 В. Стандартом регламентируется нагрузка 14 мА по каждому выходу при сохранении напряжения не менее +2.4 В ВЫСОКОГО и не более +0.4 В НИЗКОГО уровня. Однако в разных материнских платах выходные буферы LPT-порта могут иметь разную нагрузочную способность, в том числе и ниже стандарта («слабый» порт). Требования к соединительным кабелям, подключаемым к LPT-порту: • сигнальные провода должны быть свиты в пары с общим проводом GND; • каждая пара должна иметь импеданс 56.. .68 Ом в диапазоне частот 4... 16 М Гц; • если применяется плоский ленточный кабель, то сигнальные провода должны физически чередоваться с общим проводом GND (локальные экраны); • уровень перекрёстных помех между сигналами не более 10%; • кабель должен иметь экран, покрывающий не менее 85% внешней поверхности. На концах кабеля экран должен быть окольцован и соединён с «земляным» контактом разъёма; • в разъёме кабеля можно запаять на контакты 1...17 последовательные резисторы С2-23 (ОМЛТ-0.125) сопротивлением 100...300 Ом (Рис. 4.8). Это позволит защитить компьютер от случайных коротких замыканий в нагрузке и уменьшить высокочастотный «звон» на фронтах сигналов. Рис. 4.8. Электрическая схема LPT-кабеля с «антизвонными» резисторами. Схемы соединения МК с LPT-портом можно разделить на три группы: • приём сигналов от компьютера (Рис. 4.9, а...з); • передача сигналов в компьютер (Рис. 4.10, а...д); • приём/передача сигналов одновременно (Рис 4.11, а...е). В схемах приняты некоторые упрощения. В качестве входного сигнала указывается в основном «D0», а в качестве выходного — «АСК», хотя могут быть и другие, перечисленные в Табл. 4.2. На каждом конкретном компьютере работоспособность самодельных схем необходимо проверять экспериментально, что связано с наличием «сильных» и «слабых» LPT-портов по нагрузочной способности.
Рис. 4.9. Схемы ввода сигналов из LPT-порта в МК (начало): а) резистор R1 ограничивает входной ток. Элементы R2, С1 могут отсутствовать, но они уменьшают «звон» на фронтах сигналов при длинном кабеле; б) буферный транзистор VT1 инвертирует сигнал. Диод VD1 не обязателен, но он защищает транзистор от ошибочной подачи большого отрицательного напряжения. Если не ставить резистор R2, то схема останется работоспособной, однако при отстыковке кабеля от LPT-порта возможны ложные срабатывания транзистора VT1 от внешних помех и наводок; в) диод VD1 отсекает помехи и повышает порог срабатывания транзистора VTL Резистор R1 надёжно закрывает транзистор VT1 при НИЗКОМ уровне с LPT-порта; г) буферный логический элемент DDI имеет выход с открытым коллектором. Фронты сигналов формируются элементами Rl, С1. Можно вместо инвертора DDI поставить повторитель К155ЛП9, сделав соответствующие изменения в программе МК и компьютера; д) триггер Шмитта DDI (замена — К555ТЛ2) повышает помехоустойчивость. Чем меньше сопротивление резисторов Rl, R2, тем больше крутизна фронтов сигнала. При отключённом кабеле от LPT-порта резистор R1 не даёт входу микросхемы DDI «висеть в воздухе»; е) последовательное включение двух логических элементов DD1.1, DD1.2 увеличивает (восстанавливает) крутизну фронтов сигнала. Резистор R1 устраняет выбросы, «звон»; О
Рис. 4.9. Схемы ввода сигналов из LPT-порта в МК (окончание): ж) данные, поступающие от LPT-порта, предварительно помещаются в промежуточный регистр DDL Запись производится при ВЫСОКОМ уровне на входе «С» микросхемы DDI, хранение — при НИЗКОМ. Такое решение устраняет помехи, поскольку в LPT-порт в зависимости от установленных в компьютере драйверов периодически могут выводиться случайные данные. Их устраняют программно, например, путём многократного считывания входного сигнала с линий МК; з) буферизация LPT-порта мощными транзисторными ключами, находящимися в микросхеме DA1 фирмы Texas Instruments. Резисторы RL..R8 могут иметь в 10... 15 раз более низкие сопротивления, что позволяет подключить параллельно выходам микросхемы DA1 другие узлы устройства. Рис. 4.10. Схемы вывода сигналов из МК в LPT-порт (начало): а) непосредственное подключение выхода МК без буферных элементов. Резисторы Rl, R2 уменьшают отражение сигналов в линии. Кроме того, резистор R2 защищает выход МК от случайного короткого замыкания с цепью GND в проводах соединительного кабеля; б) триггер Шмитта DDI служит защитным буфером для МК при аварийной ситуации на выходе (короткое замыкание или подача большого напряжения); О
Рис. 4.10. Схемы вывода сигналов из МК в LPT-порт (окончание): в) микросхема DDI имеет выход с открытым коллектором, что защищает её от короткого замыкания в проводах и разъёмах соединительного кабеля; г) подача двух противофазных сигналов в компьютер. Цель — программная необходимость или организация дублирующего (контрольного) канала передачи данных; д) опторазвязка на элементах НЫ, ВЫ, которые применяются в компьютерных механических «мышах». Транзистор VT1 усиливает и инвертирует сигнал. Для нормальной работы устройства компьютер должен выставить ВЫСОКИЙ уровень на линии «D8». Рис. 4.11. Комбинированные схемы ввода/вывода сигналов между МК и LPT-портом (начало): а) если компьютер выставляет на линии «D0» ВЫСОКИЙ уровень, то МК в режиме выхода может генерировать сигнал «АСК» через резистор R1. Если МК переводится в режим входа, то компьютер может передавать ему данные по линии «D0» через диод VD1, при этом внутренний «pull-up» резистор МК формирует ВЫСОКИЙ уровень; б) сигнал от LPT-порта вводится в МК через инвертор на транзисторе VT1, при этом компьютер должен выставить ВЫСОКИЙ уровень на линии «D2». Информация в МК вводится с линии «D0» через резистор R1. Высокое сопротивление резистора R1 физически развязывает входной и выходной каналы; О
Рис. 4.11. Комбинированные схемы ввода/вывода сигналов между МК и LPT-портом (окончание): б) сигнал от LPT-порта вводится в МК через инвертор на транзисторе VT1, при этом компьютер должен выставить НИЗКИЙ уровень на линии «D0». Информация в МК вводится через элементы Rl, R3y VT2\ г) сигнал от LPT-порта вводится в МК через повторитель на транзисторе VT1, при этом компьютер должен выставить ВЫСОКИЙ уровень на линии «D0». Информация в МК вводится через повторитель на микросхеме DDI; ж) сигналы «D0»...«D3» вводятся в МК при НИЗКОМ уровне на линии «INIT», при этом компьютер должен настроить линии «D4»...«D7» как входы. В настройках BIOS компьютера надо установить двунаправленный режим ЕРР или ЕСР для LPT-порта. Информация в компьютер из М К передаётся по линиям «D4»...«D7» при ВЫСОКОМ уровне на линии «INIT». Резистор R1 переводит выходы микросхемы DDI в Z-состояние при отключённом кабеле от LPT-порта; е) сигнал от МК в LPT-порт вводится через повторитель DDI.2, при этом компьютер должен выставить ВЫСОКИЙ уровень на линии «D2» и НИЗКИЙ уровень на линии «D5». Информация в МК вводится через повторитель DDI. 1 при НИЗКОМ уровне на линии «D2». Стробирование сигналов по входам «Е1», «Е2» микросхемы DDI повышает достоверность передачи данных.
4.3. Интерфейс PS/2 Рис. 4.12. Внешний вид разъёмов: а) розетка AT в компьютере; б) вилка AT в соединительном кабеле; в) розетка PS/2 в компьютере; г) вилка PS/2 в соединительном кабеле. Для справки, слово «ріп» в переводе с английского означает «вывод», «DIN» — сокращённое название немецкого института стандартов «Deutsches Institut fuer Norm». Оба варианта соединителей полностью совпадают по электрическим параметрам, количеству и назначению сигналов (Табл. 4.3). Для перехода между ними достаточно изготовить или приобрести кабель с распайкой четырёх проводов по схеме «один к одному»: GND-GND, DATA-DATA, CLK-CLK, 5V-5V. Таблица 4.3. Раскладка сигналов интерфейса PS/2 5-pin (AT) 6-pin (PS/2) Цепь Расшифровка Функция 1 5 CLK Clock Синхросигнал 2 1 DATA Data Данные 3 2,6 — — Резерв 4 3 GND Ground Общий 5 4 +5V +5 Volt Питание +5 В Частота импульсов CLK находится в диапазоне 10...33 кГц. Для передачи сигнала DATA используется формат, похожий на применяемый в СОМ-порту: один старт-бит, 8 бит данных, бит проверки на чётность и стоп-бит. Итого 11 бит. Строго говоря, цепи DATA и CLK двунаправленные, т.е. компьютер и клавиатура периодически обмениваются информацией согласно программному протоколу. Однако, если клавиатура подключается к МК напрямую, без компьютера, то для упрощения можно использовать однонаправленные сигналы DATA и CLK по аналогии с «древними» клавиатурами от IBM PC/XT. В этом случае упрощается программная часть, а клавиатура выступает в качестве интеллектуального датчи- Через рассматриваемый интерфейс к компьютеру присоединяется клавиатура и манипулятор «мышь». Протокол передачи данных последовательный. Вместе с информационными сигналами по соединительным проводам передаётся также питание +5 В с токовой нагрузкой до 0.1...0.25 А. Известны две разновидности соединителей интерфейса: • старый вариант для компьютеров AT или АТ/ХТ с разъёмом «5-pin DIN» (Рис. 4.12, а, б); • новый вариант PS/2 с разъёмом «6-pin mini-DIN» (Рис. 4.12, в, г).
ка, но только без обратной связи. Клавиатура генерирует сигналы DATA и CLK, не принимая никаких команд извне. На Рис. 4.13, а...г показаны схемы подключения компьютерных клавиатур к МК. Подобная схемотехника применяется и для работы с компьютерными «мышами», но протокол общения и алгоритм обработки сигналов будет иной. Интересно заметить, что «мышь» первоначально называлась «поточечно-координатным указующим устройством» — сразу и не выговоришь! Рис. 4.13. Схемы подключения компьютерных клавиатур к МК: а) однонаправленный интерфейс подключения клавиатуры к МК. Резисторы R2, R3 нагрузочные. Клавиатура получает питание +5 В через фильтр /?/, С1. Кроме того, резистор R1 ограничивает аварийный ток в цепи «+5V» при случайном коротком замыкании на общий провод; б) «клавиатурный жучок», прослушивающий и запоминающий сигналы, поступающие от реально работающей клавиатуры. Питание +5 В для МК подаётся из компьютера через цепь «+5V». Конденсаторы СІ, С2 фильтруют помехи; в) двунаправленная связь клавиатуры с МК позволяет программно активизировать дополнительные режимы, например, ввод параметров автоповтора клавиш, выбор таблицы скан-кодов, управление клавиатурными светодиодами, запуск диагностического теста. Питание +5 В на клавиатуру подаётся от МК через фильтр R3, С1. Ток потребления современных клавиатур составляет около 20 мА (у прежних моделей было до 100...250 мА). г) сопряжение компьютерной клавиатуры с МК при разных напряжениях питания: на клавиатуру подаётся +5 В, а на МК +3.3 В.
4.4. Интерфейс USB USB (Universal Serial Bus) — это универсальный последовательный интерфейс, позволяющий подключать к компьютеру разнообразные периферийные устройства и одновременно обеспечивать их питанием +5 В. Интерфейс USB в быту часто называют «шиной», но это тавтология, поскольку слово «Bus» переводится с технического английского языка как «шина». Днем рождения USB считают 15 января 1996 г., когда вышла в свет первая спецификация параметров USB-1.0. Инициировали создание интерефейса фирмы Compaq Computer, DEC, IBM, Intel, Microsoft, NEC, Nortel. Известно несколько спецификаций USB, но для МК общего назначения из них годятся только USB-1.1 и USB-2.0 (Табл. 4.4). Таблица 4.4. Хронология спецификаций интерфейса USB Спецификация Год Скорость [Мбит/с] Особенности, изменения USB-1.0 1996 1.5; 12 Начальная версия USB-1.1 1998 1.5; 12 Исправлены неточности начальной версии USB-2.0 2000 1.5; 12; 480 Увеличена скорость, добавлены разъёмы mini US В Wireless USB 2005 ПО; 480 Беспроводной USB на расстоянии 3...10 м USB-3.0 2009 4800 Увеличена скорость и ток питания, изменён разъём Почему же интерфейс USB вытесняет из компьютеров привычные СОМ- и LPT-порты, переводя их в разряд «legacy» (устаревшие)? Причин несколько: • повышенная в 10... 1000 раз скорость передачи данных; • улучшенная помехозащищённость (дифференциальные сигналы); • простота организации питания и возможность «горячего» подключения; • высокая достоверность, ввиду аппаратного исправления ошибок; • возможность разветвления сигналов от одного разъёма через хабы. Недостатки USB: относительно малый радиус действия 1.8...5 м (без хабов), необходимость установки специфических драйверов в операционной системе, сложность программирования, особенно, для неподготовленных пользователей. Разъёмы USB-1.1 и USB-2.0 бывают двух типов «А» и «В» (Рис. 4.14, а...г). Тип «А» обозначает принадлежность к ведущему устройству (компьютер, хаб), тип «В» — к ведомому устройству (МК, принтер, «мышь», модем). В самодельных конструкциях, как правило, используются разъёмы «Standard-А», «Standard-В». Рис. 4.14. Внешний вид USB-разъёмов: a) «Standard» в компьютере; б) «Standard» в удалённом устройстве; в) miniUSB; г) microUSB.
Назначение контактов разъёмов USB-1.1, USB-2.0 показано в Табл. 4.5. Здесь учтено существование миниатюрных пятиконтактных (5-pin) разъёмов miniUSB и microUSB, применяемых, в частности, в мобильных телефонах. Таблица 4.5. Раскладка сигналов интерфейса USB 4-pin 5-pin Цепь Расшифровка Функция Цвет провода 1 1 VBus VCC Bus Питание +5 В Красный 2 2 D- Data- Данные «-» Белый 3 3 D+ Data* Данные «+» Зелёный 4 5 GND Ground Общий Чёрный - 4 (CS) Chip Select Для OTG — Электрические параметры и функциональное назначение всех цепей одинаково вне зависимости от типа разъёма. Стандартная длина USB-кабелей: «А-А» — 1.5; 3.0; 5.0 м, «А-В» — 0.5; 1.0; 1.8; 3.0; 5.0 м. Разъёмы выдерживают ток 1...1.5 А, ёмкость между контактами составляет 2 пФ, сопротивление контактов 30...50 мОм. Цепь «VBus» согласно стандарту рассчитана на ток не более 100 мА. Программно его можно повысить до 500 мА, если аппаратная часть позволяет это сделать. На практике во многих материнских платах цепь «VBus» соединяется напрямую с блоком питания +5 В компьютера. Поэтому надо соблюдать осторожность, чтобы не случилось короткое замыкание на общий провод. В противном случае сработает защита и компьютер аварийно выключится, не сохранив информацию. Различают режимы с низкой LS (Low Speed, до 1.5 Мбит/с) и полной FS (Fast Speed, до 12 Мбит/с) скоростью передачи данных. Каждый из режимов имеет свои схемотехнические и программные особенности (Рис. 4.15, а...у). Рис. 4.15. Схемы подключения компьютера через интерфейс USB к МК {начало): а) резистор R1 служит опознавательным знаком для компьютера, что удалённое устройство (в данном случае МК) работает в низкоскоростном LS-режиме. Элементы VD1, VD2, R2, ограничивают амплитуду сигналов от МК в компьютер до уровня +3.3...+3.6 В. Желательно применить стабилитроны VD1, VD2 с низкой ёмкостью, т.е. в стеклянном корпусе или SMD; б) МК получает питание +5 В от компьютера через разъём XS1 и фильтр LI, CI, С2. Делитель R], &2 эквивалентен опознавательному резистору R1, что на Рис. 4.15, а. Напряжение в средней точке делителя близко к +3.3 В, следовательно компьютер настраивается в режим с низкой скорости обмена данными LS. Резистор R2 может отсутствовать, что проверяется экспериментально для каждой конкретной материнской платы компьютера;
Рис. 4.15. Схемы подключения компьютера через интерфейс US В к МК (продолжение): в) особенность схемы — низковольтное питание МК. Конденсаторы С/, С2устраняют «звон» на фронтах сигналов. Резистор R2 не обязателен. Его ставят к питанию или к GND, чтобы вход МК «не висел в воздухе», если предусматривается работа при отключённом USB-кабеле; г) аналогично Рис.4.15, б, но с одним опознавательным резистором R3, который подключается к цепи «VBus» компьютера. Питание МК может отличаться от стандартных +5 В; д) аналогично Рис 4.15, б, но с одним опознавательным резистором R3, который физически подключается к источнику питания +5 В при ВЫСОКОМ уровне на выходной линии МК. Достоинство — возможность программного отключения устройства от USB, для чего на выходе МК надо установить НИЗКИЙ уровень; е) специализированный МК с встроенным интерфейсом USB-2.0, например, из серии PIC18Fxx5x. Конденсатор С1 шунтирует узел внутреннего ИОН по высокой частоте. Опознавательные резисторы находятся внутри МК. Скорость обмена LS или FS задаётся программно; ж) специализированный МК имеет встроенный аппаратный интерфейс USB-2.0. Напряжение на выводе VREF узла ИОН составляет +3.3 В. Это позволяет подключить к нему опознавательный резистор R3, который расценивается компьютером как знак того, что удалённое устройство (в данном случае МК) готово работать в высокоскоростном FS-режиме. Дроссель L1 устраняет высокочастотные помехи, генерируемые от МК в линию «VBus» и излучаемые через провода соединительного кабеля. Конденсаторы С/, С2 сглаживают «звон» на фронтах сигналов; О
1 Рис. 4.15. Схемы подключения компьютера через интерфейс US В к М К {продолжение): з) защита информационных цепей интерфейса USB сборкой сапрессоров DA1 (фирма Texas Instruments), которые выдерживают импульсы тока 3...9 А; и) два способа уменьшения ВЧ-излучений — введение дросселей LI, L2 и экранирование разъёма XS1. Рекомендуемые парамеры дросселей: постоянный ток не менее 0.5 А, сопротивление 220...600 Ом на частоте 100 МГц. Иногда ставят дроссели упрощённой конструкции, например, в виде провода, пропущенного через ферритовую трубку («Когаїік»), или же наматывают несколько витков провода ПЭВ-0.2 на ферритовое кольцо подходящего диаметра; к) МК получает питание от разъёма USB через стабилизатор DA1. Остальным узлам устройства доступны на выбор два напряжения: +3.3 В или +5 В, при этом суммарная нагрузка по току не должна превышать 0.1 А. Вместо DA1 можно поставить два последовательных диода 1 N4148; л) защита входных цепей интерфейса US В самовосстанавливающимся предохранителем FU1 и поверхностно-монтируемыми варисторами RUL..RU3; м) предохранитель FU1 может быть обычным или Polyswitch. П-образный LC-фильтр на элементах LI, CL..C3 снижает помехи по питанию от МК к компьютеру и от компьютера к МК; О
Рис. 4.15. Схемы подключения компьютера через интерфейс USB к МК (продолжение): н) фильтрация напряжения питания производится элементами С1...С4, Rl\ о) светодиод НЫ выполняет две функции. Во-первых, индицирует рабочее состояние МК, во-вторых, снижает его напряжение питания с +5 до +3.3 В; п) «усилитель USB-тока». Разъём XI входной, Х2 — выходной. Сначала МК проверяет наличие напряжения на делителе R], R2b цепи «VBus» разъёма XI. Если оно имеется, то М К открывает транзистор VT1 и подаёт питание от мощного источника +5 В в цепь «VBus» разъёма Х2\ р) резистор R1 подключается к цепи «D+» при НИЗКОМ уровне на выходе МК, при этом начинает светиться индикатор НЫ (нормальная работа в LS-режиме). ВЫСОКИМ уровнем на выходе МК связь по USB прерывается, светодиод НЫ гаснет; О
Рис. 4.15. Схемы подключения компьютера через интерфейс US В к МК (окончание): с) особенности — другой тип DA1 с другой цоколевкой выводов, светодиоды НЫ, HL2 для индикации приёма/передачи, местный (SB1) и удалённый (VT1) сброс МК; т) конвертор USB-UART на микросхеме DA1 фирмы FTDI. Программно формируемый сигнал НИЗКОГО уровня на выводе RTS# удалённо сбрасывает МК через диод VD1\ у) конвертор USB-UART на микросхеме DA1 фирмы Silicon Laboratories. МК получает питание +3 В от внутреннего стабилизатора микросхемы DAL
4.5. Интерфейс Ethernet Рис. 4.16. Схема блока трансформаторов Ethernet с разъёмом XS1 RJ-45. Ethernet («эзернет», «эфирная сеть», от лат. «aether» — эфир) — одна из самых популярных в настоящее время сетевых архитектур. Она использует узкополосную передачу данных со скоростью 10... 100 Мбит/с на «компьютерных» кабелях UTP/FTP. Основной топологией является «звезда» с возможностью каскадирования сети хабами. Расстояние единичных пролётов до 100 м, число узлов до 1024. Технология Ethernet была разработана в 1970-х годах в исследовательском центре PARC фирмы Xerox. В 1980 г. опубликован первый официальный стандарт. На сегодняшний день обеспечиваются следующие скорости передачи данных: 10 Мбит/с (Ethernet), 100 Мбит/с (Fast Ethernet), 1...100 Гбит/с (Gigabit Ethernet), в перспективе 1 Тбит/с (Terabit Ethernet). Чтобы легче было ориентироваться, вводят сокращённые названия, например, lOBaseT, где число «10» обозначает скорость передачи данных 10 Мбит/с, «Base» — смодулированный сигнал, Т — две витые пары в кабеле. Для универсальных двухскоростных интерфейсов применяют надписи через дробь подобно 10/100BASE-T. Логическая структура сигналов Ethernet достаточно сложная, поэтому для сопряжения компьютера с МК обычно ставят буферные специализированные контроллеры, например, Microchip ENC28J60, Realtek RTL8019AS, Crystal Semiconductor CS8900A, Silicon Laboratories CP220x или даже отдельную микросборку WIZnet W5100. Все они обеспечивают упаковку/распаковку данных на максимальной скорости 10 Мбит/с, которая является крейсерской для МК общего применения. Общение МК с контроллером Ethernet осуществляется через программно доступные регистры, определяющие тот или иной режим работы. На физическом уровне для связи с компьютером используется стандартный четырёхжильный сетевой кабель. Гальваническая развязка производится через импульсные трансформаторы, причём часто они совмещаются с экранированным разъёмом RJ-45 и двумя светодиодами (Рис. 4.16). Коэффициент трансформации на приёме обычно составляет 1:1, на передаче 1:1 или 1:1.25. Цепь GND соединяется с металлическим экраном. Элементы RL..R4, С1 могут отстутствовать.
На основе связки «МК + контроллер Ethernet» (Рис. 4.17, а...д) делают не только локальные сети, но и веб-серверы с генераторами html-страниц. Это позволяет осуществлять дистанционное управление и контроль за состоянием датчиков из любой точки Земного шара, охваченной сетью Интернет. Рис. 4.17. Схемы подключения компьютера через интерфейс Ethernet к МК (начало): а) подключение Ethernet-модуля А1 (фирма WIZnet) через интерфейс SPI к МК; б) МК имеет встроенный контроллер Ethernet, тактируемый частотой 25 МГц. Резисторы /?/, R2 ограничивают ток через светодиоды, находящиеся в блоке трансформаторов А1\ в) контроллер Ethernet DDI (фирма Microchip) хранит данные в микросхеме памяти DS1\ О
Рис. 4.17. Схемы подключения компьютера через интерфейс USB к МК {окончание): г) МК и микросхема контролера Ethernet DD2 (фирма Microchip) запитываются от разных напряжений. По входам согласование уровней не требуется, а по выходам оно производится через буферные повторители, входящие в состав микросхемы DDL В блоке трансформаторов Л1 отсутствуют индикаторы, поэтому применяются внешние светодиоды НЫ, HL2; д) аналогично Рис. 4.17, а, но без внешней микросхемы памяти.
Список использованных источников и литературы к главе 4 4-1. Долгий, А. Быстродействующая оптронная развязка / Александр Долгий // Радио. — 2005. - № 3. - С. 26-27. 4-2. Кулешов, С. Интерфейс РІС-контроллера с компьютером / С. Кулешов // Радио. — 2003. - № 7. - С. 20-22. 4-3. Napier, Т. Digital Sine Waves / Tom Napier // Nuts & Volts. - 2004. -№ 6. - P. 42-46. 4-4. Кузьминов, А. Ю. Интерфейс RS232. Связь между компьютером и микроконтроллером / Алексей Кузьминов. — М. : Радио и связь, 2004. — 168 с. — ISBN 5-256- 01715-2. 4-5. Дайджест зарубежной периодики. Несколько схем интерфейсов ПК — трансивер // Радиохобби. — 2004. — № 3. — С. 25-26. 4-6. PIC Uygulamalari-22 [Электронный ресурс] / Barbaras Asuroglu, ANTRAK, 2000. — Режим доступа : http://www.antrak.org.tr/gazete/072000/barbar.htm (турец.). — 07.01.2011. 4-7. Hegewald, W. Einfache CW-Tastung via RS232 / W. Hegewald // Funkamateur. — 2008. -№8.-P. 871. 4-8. Долгий, А. Цифровой индикатор положения антенны с сельсином / Александр Долгий // Радио. - 2005. - № 4. - С. 63-66. 4-9. Колоколов, Ю. Приставка к велотренажеру / Юрий Колоколов // Радиохобби. — 2003. - № 4. - С. 57-58. 4-10. Степнев, В. Сопряжение цифрового мультиметра с компьютером / В. Степнев // Радио. - 2003. - № 9. - С. 27-28. 4-11. Рюмик, С. «Часы Фишера» на базе компьютера / Сергей Рюмик // Радио. — 2003. — № 9. - С. 20-23. 4-12. Ткаченко, В. Вторая версия MixW от UT2UZ и UU9JDR / Виктор Ткаченко // Радиохобби. - 2002. - № 6. - С. 27-30. 4-13. Гридасов, А. ПК управляет электрическими установками / А. Гридасов // Радио. — 2003. - № 8. - С. 26. 4-14. Рюмик, С. М. Микроконтроллеры РІС. Действие 8 / Сергей Рюмик// Радіоаматор. — 2006. - № 9. - С. 39-43. 4-15. Cantrell, Т. Turning the Core-ner / Tom Cantrell // Circuit Cellar. — 2006. — № 8. — P. 80-85. 4-16. V-USB [Электронный ресурс] / Christian Starkjohann, Objective Development Software GmbH, 2010. — Режим доступа : http://www.obdev.at/products/vusb/index.html (англ.). -07.01.2011. 4-17. Рюмик, С. М. Микроконтроллеры USB. Задача 10 / Сергей Рюмик // Радіоаматор. — 2007.-№ 11.-С. 35-40. 4-18. Kremin, V. Pulse Sensing Optical Mouse/ Victor Kremin, Serhiy Matvienko//Circuit Cellar. - 2006.-№ 9. - P. 12-17. 4-19. CDC-232 [Электронный ресурс] / Osamu Tamura, 2010. — Режим доступа: http://www. recursion.Jp/avrcdc/cdc-232.html#schematic (англ.). — 07.01.2011. 4-20. Belt Buckle МРЗ-vll [Электронный ресурс] / SparkFun Electronics, 2008. — Режим доступа : http://www.sparkfun.com/tutoriai/MP3PlayerBeltBuckle/Belt_Buckle_MP3_ Schematic.pdf (англ.). - 07.01.2011. 4-21. Рюмик, С. М. Микоконтроллеры USB. Задача 5 / Сергей Рюмик // Радіоаматор. — 2007. - № 6. - С. 38-42. 4-22. Armitage, S. Low-Cost 2.4-GHz Spectrum Analyzer / Scott Armitage // Circuit Cellar. — 2006.-№4.-P. 18-22.
4-23. Blackwell, J. Content Collection and Display / James Blackwell // Circuit Cellar. — 2008. — №9.-P. 15-21. 4-24. Best, P. Using Ethernet Inside a PIC / Peter Best // Nuts & Volts. — 2007. — № 3. — P. 84- 89. 4-25. Eady, F. Embedded Ethernet Design / Fred Eady // Circuit Cellar. — 2006. — № 6. — P. 54-61. 4-26. Mann, A. Mini Email / Alexander Mann // Circuit Cellar. — 2007. — № 7. — P. 14-21. 4-27. Hibbett, M. Interfacing PICs to the Internet via Ethernet — Part 2 / Mike Hibbett // Everyday Practical Electronics. — 2008. — № 10. — P. 58-59.
ГЛАВА 5 СХЕМЫ, НЕ РЕКОМЕНДУЕМЫЕ К ПРИМЕНЕНИЮ Нет ничего настолько исправного, чтобы в нём не было ошибок (Ф. Петрарка) 5.1. О неудачах и ошибках В проблемах и неудачах ничего страшного нет. Проблемы можно решить, а неудачи — это маленькие ступеньки к большому успеху. Правильно говорят, что ошибок не делает тот, кто ничего не делает. Следует отличать «благородные» ошибки от явных промахов, которые вызваны зазнайством, неумением, расхлябанностью или упрямством. Ошибки можно простить в следующих случаях: • был разработан хороший, тщательно продуманный план, однако его пошаговое выполнение не принесло желаемого результата; • кроме основного был разработан запасной план на случай неудачи, но и он не помог выйти из положения; • ошибка не привела к серьёзным материальным затратам, но послужила хорошим уроком на будущее; • выполнение работ было прервано на полпути, поскольку детальный анализ того, что уже сделано, показал бесперспективность дальнейших изысканий. В современном мире важно не то, что ты знаешь сейчас, а как быстро умеешь учиться чему-либо. Последнее подразумевает в том числе и учёбу на своих (лучше чужих) ошибках. Действовать надо умнее, а не усерднее. Некоторые аналитики предсказывают, что в будущем в фирмах, разрабатывающих новые изделия, от сотрудников будут требовать ... «умных» ошибок, не наказывая их за неудачи. Только путём генерации ярких идей, проведения многочисленных экспериментов и анализа результатов можно увеличить шансы на то, что один раз всё-таки удастся поймать многомиллионную «птицу удачи». Знания сами по себе не должны являться самоцелью. Ещё Конфуций говорил: «Неиспользованные знания — это зло». Какой смысл навязчиво демонстрировать окружающим свою техническую эрудицию без конкретных рекомендаций к действию? То, что хорошо в игре «Что? Где? Когда?», обычно пасует в повседневной жизни. Сначала человек приобретает знания, затем действует, а когда совершает ошибку, то по закону обратной связи извлекает уроки и снова двигается вперёд. Подлинную проблему представляет не сложность ситуации, а то, как к ней относятся люди. Разумный человек 10% своей энергии потратит на осмысление проблемы, а остальные 90% — на поиск путей для её решения, но не наоборот.
5.2. Пример анализа электрической схемы В математической статистике различают две разновидности ошибок: • «ложная тревога» (англ. «type I еггог», «alpha егтог», «false positive»); • «пропуск цели» (англ. «type II еггог», «beta еггог», «false negative»). Ошибки первого рода состоят в том, что за истину принимается изначально ошибочная гипотеза. Пример — «2-2 = 5? Да!». Ошибки второго рода заключаются в том, что отвергают гипотезу, которая в действительности была верной. Пример — «2-2 = 4? Нет!». Применительно к электрическим схемам, собранным на МК, возможны ошибки как первого, так и второго рода. Типовая ситуация. Учебники рекомендуют устанавливать вблизи выводов питания МК керамический конденсатор ёмкостью 0.1 мкФ для устранения сбоев. Визуально проверить исправность керамического конденсатора очень сложно, поэтому его обычно выпаивают или ставят параллельно заведомо годный. Если замена не приносит успех — это «альфа»-ошибка. Если радиолюбитель при поиске причин сбоев не догадается проверить данный конденсатор, который и в самом деле был виноват, — это «бета»-ошибка. Прояснить нюансы предлагается на схеме подключения одиночного светодиода к МК (Рис. 5.1, а). Нарисована она с наклоном 17° вправо к вертикальной оси, что подчёркивает её «нерекомендуемость» к широкому применению. Анализ функционирования будет проводиться по частям в три этапа [5-1]. Рис. 5.1. Схема подключения светодиода к выходу МК: а) не рекомендуемая, б) рекомендуемая. Часть А (формулировка начальных условий). Светодиод НЫ включается непосредственно между линией МК и общим проводом. При ВЫСОКОМ уровне на выходе МК он должен засветиться. Не выйдет ли при этом из строя сам МК или светодиод? Часть Б (предварительный анализ схемы). Ответ «с налёта», немедленный и категорический — светодиод НЫ и МК выйдут из строя из-за превышения допустимого тока. Вопрос лишь в том, кто из них будет первым во времени? В качестве обоснования берётся график нагрузочной способности выхода идеализированного МК (Рис. 5.2, а, [5-2]), на котором видно, что при прямом напряжении на светодиоде в пределах 2.0...2.4 В ток составляет около 70 мА. Обычные светодиоды, согласно даташитам, допускают прямой
постоянный ток не более 20 мА. Примерно такой же нагрузочной способностью обладает одна линия стандартного порта МК. Следовательно, ток превышается в 3.5 раза, что недопустимо. Рис. 5.2. График нагрузочной способности выходов МК при ВЫСОКОМ уровне: а) для «идеализированного» МК со стандартным выходом; б) для «слабого» выхода. Ход мысли правильный, но не учитываются важные факторы, которые не оговорены в техническом задании. В частности, на схеме не указан тип МК (а значит линия порта может быть нестандартной), а также цвет светодиода. Часть В (варианты разрешения проблемы): • применить в качестве МК микросхему из семейства Atmel AT90S, например, AT90S2313. Её выходы имеют «слабый» ВЫСОКИЙ уровень с током нагрузки около ІбмАпри напряжении 1.8...2.2 В (Рис. 5.2, б, [5-3]). Вариант хорош для тех, у кого остались такие микросхемы (они уже сняты с производства); • использовать в качестве НЫ маломощные «белые» или «синие» светодиоды. Рабочее напряжение у них составляет примерно 3.8...4 В при допустимом токе 20 мА. Чтобы «не сжечь» светодиод, надо сформировать на выходе МК импульсы с частотой 100...300 Гц. Индикатор будет светиться без «мигания», а ток в линии «идеализированного» МК не превысит лимита в 40 мА; • поставить последовательно с индикатором НЫ «копеечный» резистор сопротивлением 300...560 Ом (Рис. 5.1, б), раз и навсегда избавив себя от недостатков исходной «неправильной» схемы. Интересный нюанс. В перечне путей разрешения проблемы отсутствует ещё один напрашивающийся вариант. А именно, использовать канал ШИМ МК и импульсный режим работы «красного» («зелёного») светодиода НЫ без резистора. Как известно, допустимый импульсный ток светодиодов примерно в 5...6 раз выше, чем 20 мА, т.е. 100... 120 мА. В эту норму укладывается ток 70 мА, который может обеспечить линия МК согласно Рис. 5.2, а. Остаётся лишь подобрать скважность сигнала ШИМ примерно 1:3, чтобы средний ток за период составил 20 мА. Ошибочность рассуждений заключается в том, что импульсный ток 70 мА превышает допустимую нагрузку на одну линию МК «DC Current per I/O Ріп», которая в семействе Microchip PIC16F составляет 25 мА [5-4], а в семействах Atmel ATmega/ATtiny — 40 мА [5-5]. Выход за рамки рекомендуемых разработчиком параметров не желателен, поэтому данный вариант был сразу снят с рассмотрения.
5,3. Коллекция не рекомендуемых схем На Рис. 5.3, а...п дана подборка схем, которые при тех или иных условиях, режимах не рекомендуются к применению. Пояснения к схемам даются краткие, но с конкретными рекомендациями. Надо правильно понимать, что в приведенных далее схемах кроме предложенных существуют и другие пути решения проблемы, возможно, более эффективные, рациональные и экономичные. Их читателям предлагается придумать и проанализировать самостоятельно. Рис. 5.3. Схемы, не рекомендуемые к применению (начало): а) на выходе МК генерируется сигнал звуковой частоты, но он не будет слышен в пьезоизлучателе НА /, поскольку последний не имеет омического сопротивления (только ёмкостное). Надо было параллельно пьезоизлучателю НА1 поставить резистор сопротивлением 1...3 кОм; б) избыточное число диодов VD1...VD4, которые изолируют резисторы R1...R4 при НИЗКИХ уровнях на выходах МК. Надо было заменить диоды перемычками, при этом на всех выходах МК устанавливать вместо состояния 1/0 состояние 1/Z (ВЫСОКИЙ уровень и высокоимпедансный вход); в) если пьезоизлучатель НА1 имеет большую собственную ёмкость, то выход МК будет работать с перезрузкой тока на фронтах сигналов. Надо было последовательно с пьезоизлучателем НА1 поставить резистор сопротивлением 100...200 Ом; г) при одновременном нажатии двух и более кнопок SB1...SB5, выходные линии двоичного счётчика DDI будут замыкаться между собой накоротко. Надо было поставить последовыатель- но с каждой кнопкой развязывающий диод 1N4148 катодом к соответствующей линии микросхемы DDI; О
д) аналогично Рис. 5.1, а, но с активным НИЗКИМ уровнем на выходе МК. Надо было поставить последовательно с индикатором HL1 резистор сопротивлением 300...560 Ом; е) нет демпферного диода параллельно реле Л7, что может привести к повреждению транзистора VT1 и помехам в цепи питания. Надо было поставить диод 1N4004 анодом к коллектору; ж) на резисторах R1, &2 расходуется лишний ток при НИЗКИХ уровнях на выходах МК. Надо было резисторы Rl, R2 поставить последовательно с линиями МК, при этом на выходах формировать вместо состояния Z/0 состояние 1/0 (если, конечно, ток «единицы» достаточный); з) при ВЫСОКОМ уровне на выходе МК через переход «база — эмиттер» транзистора VT1 протекает слишком большой ток, который может повредить или транзистор, или МК. Надо было поставить последовательно с базой ограничительный резистор сопротивлением 1...10 кОм; и) транзистор VT1 инвертирует сигнал от МК. Если он не выполняет защитную функцию и к нагрузке сигнала ишх не предъявляются специфические требования, то инверсию сигнала можно было бы организовать программно и полностью удалить транзисторный каскад; к) транзистор VT1 и МК питаются от разных напряжений. Поскольку внутри линии МК находится защитный диод, соединённый с цепью питания +5 В, то транзистор VT1 будет постоянно открыт вне зависимости от логического уровня на выходе МК. Надо было последовательно с резистором R1 поставить стабилитрон на напряжение 20 В анодом к линии МК; л) реле К1 рассчитано на ток, который больше, чем допускается для одной стандартной линии МК. Надо было поставить между МК и реле транзисторный ключ; О
м) максимальное напряжение питания индикатора HG1 составляет 1.7 В, но из-за заводского разброса параметров стабилитрона VD1 оно может увеличиться до 1.9 В. Надо было вместо стабилитрона VD1 поставить резистор сопротивлением 30 кОм и увеличить сопротивление резистора R5jxo 15 кОм. В результате улучшится стабильность, а также снизится потребление тока; н) нижняя линия МК в режиме выхода формирует сигнал индикации для ЖКИ HG1, а в режиме входа выполняет функцию опроса состояния кнопки SBL В связи с тем, что момент нажатия на кнопку SB1 никак не засинхронизирован с выдачей информации в ЖКИ, то низкое сопротивление резистора R7 может сбивать показания на HGL Надо было увеличить на порядок или на два порядка сопротивление резистора Rl\ о) светодиоды HL 7...HL70 соединяются двумя гирляндами по 5 параллельных индикаторов в каждой. Индикаторы построчно запараллелены, поэтому из-за разброса ВАХ ток, протекающий через них, будет где-то меньше, где-то больше. Соответственно и яркость индикаторов будет разная. Положение отчасти спасает управление импульсами через канал ШИМ и повышенный прямой ток, который определяется низким сопротивлением резистора R1. Дополнительное уравнивание яркости свечения осуществляется матовым экраном, который закрывает светодиоды в корпусе цветомузыкального устройства. И всё-таки желательно распараллелить индикаторы и вместо одного резистора R1 поставить пять резисторов мощностью 0.25 Вт сопротивлением 110 Ом, по одному последовательно с парами индикаторов от HL7, НЫ до HL9, НЫ0\ О
Рис. 5.3. Схемы, не рекомендуемые к применению (окончание): п) аналогично Рис. 5.3, ж, но для семисегментного индикатора HGL Недостаток остаётся прежним — лишний расход тока через резисторы R3...RW при НИЗКИХ уровнях на выходах МК. Надо было поставить резисторы R3...R10 последовательно между линиями МК и #G7, а на выходах МК сформировать вместо состояния Z/0 состояние 1/0, если, конечно, ток ВЫСОКОГО уровня достаточный для яркого свечения сегментов.
Список использованных источников и литературы к главе 5 5-1. Маковецкий, П. В. Смотри в корень!: Сборник любопытных задач и вопросов / Пётр Маковецкий. — М.: Наука, 1979. — 384 с. 5-2. Рюмик, С. М. 1000 и одна микроконтроллерная схема. Вып.1 / Сергей Рюмик. — М.: Додэка-ХХ1, 2010. - 356 с. - ISBN 978-5-94120-211-9. 5-3. AT90S2313 (Datasheet Complete, Rev. 0839I-AVR-06/02) [Электронный ресурс] / Atmel Corporation, 2002. — Режим доступа : http://www.atmel.com/dyn/resources/ prod_documents/DOC0839.PDF (англ.). - 07.01.2011. 5-4. Electrical Specifications — PICmicro Mid-Range MCU Family [Электронный ресурс] / Microchip Technology, 2004. — Режим доступа : http://wwl.microchip.com/downloads/ en/DeviceDoc/31030a.pdf (англ.). — 07.01.2011. 5-5. ATtiny231 ЗА, ATtiny4313 (Datasheet Preliminary, Rev. 8246A-AVR-11/09) [Электронный ресурс] / Atmel Corporation, 2009. — Режим доступа : http://www.atmel.com/dyn/ resources/prod_documents/doc8246.pdf (англ.). — 07.01.2011. 5-6. Lindley, С. Psychedelia-II. A Digital Color Organ / Craig A. Lindley // Nuts & Volts. — 2008.-№ l.-P. 52-58.
ГЛАВА є МИНИ-УЧЕБНИК ПО ОСНОВАМ ЯЗЫКА СИ Единственный способ изучить язык программирования — это составлять на нём программы (Брайан Керниган) 6.1. Введение в Си 6.1.1. Общие тезисы Созданием языков программирования занимаются профессионалы. Но далеко не каждое их творение находит путёвку в жизнь. Одни языки слишком сложные по синтаксису, другие — узкоспециализированные, третьи — с трудом понятны даже самим их авторам. Приятное исключение составляет язык Си, предложенный в 1972 г. сотрудником фирмы Bell Labs Деннисом Ритчи (Dennis Ritchie). Почему «Си»? Потому что прообразом для него послужил язык программирования «Би», который разработал Кен Томпсон в 1970 г. Си относится к языкам высокого уровня, подобно Fortran, Lisp, Logo. Первоначально он был ориентирован на среду Unix, системных программистов и мини- компьютеры. С появлением МК разработчики обратили внимание на то, что Си имеет в своём составе средства, характерные как для прикладного программирования, так и для машинного Ассемблера. Симбиоз высокоуровневой логики и простого доступа к «железу» оказался как нельзя кстати. Позднее, при создании новых микроконтроллерных семейств, в их архитектуру стали вводить узлы, которые на аппаратном уровне помогали оптимизировать и ускорять Си-программы. В частности, это семейства Atmel ATmega, Atmel ATtiny, Microchip PIC 18, Microchip dsPIC и многие другие. Справедливости ради надо отметить, что в настоящее время программы для МК пишутся на многих языках — от Java и Forth до Python и Ada. Однако именно Си стал на практике международным стандартом «де-факто». Особенности его синтаксиса позволяют создавать короткий и быстро исполняемый код. Кроме того, Си обладает свойством мультиплатформенности, т.е. программа, составленная для одного типа МК, с небольшими правками и коррекциями будет запускаться на совершенно другой микроконтроллерной платформе. В идеальном случае радиолюбитель должен знать, как минимум, два языка — и Ассемблер, и Си. Однако часто бывает, что «обжегшись» на изучении запутанных ассемблерных инструкций и на составлении длинных ассемблерных листингов, у пользователя опускаются руки и пропадает всякое желание вообще заниматься программированием.
Для этой категории читателей, а также для тех, кто начинает «с нуля», предлагается другая методика. А именно, изучить основы языка Си и выработать свой стиль программирования с использованием ограниченного числа простых и понятных операторов. «Усечённый» Си будет чем-то похож на Basic и Pascal, примерно так, как похожи между собой русский, украинский и белорусский языки. К тому же от Ассемблера никто не призывает отказываться, ведь с приобретением опыта его коды можно с успехом вставлять в любые Си-программы. 6.1.2. Классификация программистов Программистов можно условно разделить на следующие категории. 7. Системные программисты — занимаются разработкой операционных систем, библиотечных функций, системных приложений, антивирусных программ. Рабочие языки — Си/С++, Ассемблер, Ada и любые другие известные. 2. Игростроители — занимаются проектированием компьютерных игр, а также игр для мобильных телефонов, КПК. Рабочие языки — С++, Delphi, Java. 3. Web-программисты — занимаются оформлением сайтов, разработкой веб- приложений, поддержкой ftp- и mail-серверов, форумов, интернет-служб. Рабочие языки — HTML, XML, PHP, Perl, ASP, JScript, SQL. 4. Офисные программисты — занимаются созданием и сопровождением офисных приложений, бухгалтерских программ, баз данных, презентаций. Рабочие языки — FoxPro, Postgree, Oracle, 1С, Visual Basic. 5. Прикладные программисты — это специалисты широкого профиля, разрабатывающие программы для внутреннего пользования и приложения, обеспечивающие связь компьютера с внешним миром, в том числе на сетевом уровне. Рабочие языки — Си/С++, Ассемблер, Python, RSX, ProLog, SmallTalk, LISP. 6. Программисты-«эмбеддеры» — это специалисты в области встраиваемых систем. Занимаются составлением и отладкой программ для МК и ПЛИС. Рабочие языки — Си/С++, Ассемблер, AHDL, VHDL, Verilog. Широко используют компьютерное моделирование. В идеале должны разбираться в «железной» электронике и уметь спаять макет устройства. Радиолюбитель, планирующий в совершенстве освоить МК, должен стремиться стать квалифицированным программистом-«эмбеддером» и толковым компьютерным программистом. И в том, и в другом случае для изучения пригодится один общий алгоритмический язык — это Си. 6.1.3. Правила успешного программирования Программисты-практики выработали краткий свод правил (кодекс): • программа должна делать одну вещь и делать её хорошо; • надо стремиться к тому, чтобы несколько программ работали вместе; • изощрённые алгоритмы подвержены ошибкам и выполняются медленнее; • если сомневаетесь, то используйте перебор всех возможных комбинаций; • добейтесь стабильной работы программы и только затем оптимизируйте её; • пишите программы, которые бы составляли программы за вас; • помните, что ясность лучше заумности.
6.2. Выбор компилятора Рис. 6.1. Этапы создания программного продукта. Очерёдность проектирования «Т-А-Л-К-М-П-Р» заключается в составлении технического задания (Т), разработке и детализации алгоритма (А), наборе листинга программы (Л), компиляции (К), моделировании (М), программировании (П) и реальной работе (Р). Система охвачена несколькими обратными связями, которые показаны пунктиром. Например, по результатам моделирования или реальной работы могут быть изменены исходные данные технического задания, подкорректирован алгоритм функционирования и т.д. Расшифровка обозначений. «Т» — техническое задание на разработку. Хорошо, если оно составлено разбирающимся специалистом-системщиком, с которым можно оперативно решать вопросы и быстро вносить поправки. Если же техническое задание составляет капризный заказчик, который думает, что знает, чего хочет, — задача с одной стороны усложняется, а с другой стороны облегчается («что хотели, то и получайте»). В любительских условиях техническое задание разрабатывается самостоятельно («сам себе режиссёр»). Уровень требовательности зависит от амбиций и характера человека. Практика показывает, что стремление объять необъятное подчас заставляет многократно возвращаться к коррекции исходных данных. «А» — алгоритм работы устройства напрямую завасит от технического задания. Конкретные рекомендации по составлению алгоритма дать сложно. Это своего рода искусство. Единственное, что надо учитывать — пока разработчик не поймёт в деталях логику функционирования устройства и не представит мысленно, какие сигналы, в какое время и в какой последовательности должны формироваться на входах и на выходах узлов — до тех пор нельзя переходить к следующему этапу. «Л» — исходный листинг программы на языке профессионалов называется «исходником». Следует взять себе за правило подробно комментировать текст лю- 6.2.1. Этапы разработки программного обеспечения Микроконтроллерные системы относятся к классу цифровых вычислительных систем, поэтому методология их проектирования должна включать элементы аппаратной и программной поддержки. Если предположить, что электрические схемы на аппаратном уровне уже выбраны по рекомендациям из предыдущих глав настоящей книги, то остаётся научиться составлять программы для МК. Весь технологический процесс по созданию программного продукта можно разбить на несколько этапов, как показано на Рис. 6.1.
бого листинга, даже если одолевает глубокая лень и кажется, что всё и так элементарно понятно. Текстовые подсказки в дальнейшем могут здорово пригодиться, когда, вдруг, понадобится вновь вернуться к проекту, например, для заимствования какой-либо процедуры. Опытный программист не станет придумывать «с нуля» все строчки кода нового проекта. Ему проще вспомнить, где применялись похожие подпрограммы, функции, алгоритмы. Мастерство компоновки программ — дело наживное, если следовать мудрому житейскому принципу «делать по образу и подобию». «К» — этап компиляции и отладки заключается в запуске на компьютере специальной программы, которая проверяет правильность набора текста листинга и соответствия его синтаксису языка Си. После устранения ошибок, т.е. после отладки, компилятор преобразует текст листинга в шестнадцатиричные НЕХ-коды, понятные МК. В результате компиляции на жёстком диске должен появиться новый файл с расширением «.hex» или «.bin». «М» — моделирование программы является не обязательным, однако весьма желательным этапом. При моделировании полученный после компиляции НЕХ- файл загружается в программу-симулятор, которая в пошаговом режиме имитирует выполнение команд МК. На каждом шаге можно остановить симулятор и посмотреть логические уровни на входах/выходах портов, оценить форму сигналов на экране виртуального осциллографа, измерить отрезки времени и т.д. «Л» — программирование памяти МК с помощью сервисной оболочки и адаптера, подключаемого к компьютеру. В результате программирования коды из НЕХ-файла переносятся в энергонезависимую память МК. Навыки работы с программатором приобретаются на практике, ничего сложного в этом нет. «Р» — установка прошитого МК в изделие и запуск работы в реальном времени. Если устройство функционирует нормально и соответствует требованиям технического задания, то технологический цикл по разработке программы считается законченным. На практике же приходится многократно корректировать алгоритм работы и исходные листинги, прежде чем удастся добиться положительного результата. Не следует бояться лишний раз перепрошивать МК, ведь назначенный ресурс записи его флэш-ПЗУ обычно составляет не менее 100000 раз. 6.2.2. Среда разработки WinAVR Набор текста листинга, компиляция, моделирование и программирование могут осуществляться как отдельными компьютерными программами, так и в комплексе. Последний вариант проще в изучении, удобнее в эксплуатации, быстрее в освоении, поэтому он и будет рассматриваться как основной. Несмотря на универсальность языка Си, его синтаксис во многом зависит от типа применяемого компилятора. Различия между версиями компиляторов существуют и подчас они значительные. Главное, не ошибиться первоначально, чтобы потом не пришлось переучиваться. Сделать осознанный выбор помогает приводимая далее «информация к размышлению». Компиляторы 8-битных МК представляют собой узкоспециализированные компьютерные программы. Они могут быть автономными или входить в состав пакетов, имеющих собственную графическую оболочку, редактор текста, средства
моделирования и программирования. Подавляющее большинство таких комплексов коммерческие, платные. К сожалению, их свободно распространяемые демо-версии имеют урезанные возможности и на перспективу для широкого применения не годятся. На другом полюсе «обитают» бесплатные Си-компиляторы, использование которых не нарушает ничьих авторских прав. Чтобы выбрать один из них, надо вспомнить про AVR-контроллеры фирмы Atmel, которые в настоящее время имеют большую популярность среди электронщиков. Для их детального изучения предлагается бесплатный пакет программ WinAVR [6-1] (Рис. 6.2), в состав которого входит свободно распространяемый компилятор AVR-GCC. Рис. 6.2. Эмблема (логотип) WinAVR: AVR-GCC является неотъемлемой частью сообщества свободных компиляторов GCC (GNU Compiler Collection), поддерживающих операционные системы Microsoft Windows, Linux, языки Си, С++, Ada, Fortran, Java [6-2]. В пакет WinAVR входит отдельная версия GCC-компилятора под названием AVR-GCC. Она специально «заточена» под ядро AVR фирмы Atmel, платформу Microsoft Windows и процедуры Си, С++ стандартов ANSI, ISO, С99. 6.2.3. Философия свободных программ Пакет WinAVR его разработчики называют «сюитой». Создан он был в начале 2000-х годов интернациональным коллективом профессиональных программистов. Координатором проекта является Eric В. Weddington. В штате добровольных помощников, которым выражается благодарность в справке помощи WinAVR, встречаются программисты из разных стран мира, в том числе и со славянскими фамилиями, в частности, Denis Chertykov, Anatoly Sokolov, Dmitry Xmelkov. По функциональным возможностям WinAVR находится на одном уровне с аналогичными коммерческими продуктами (Табл. 6.1). Не секрет, что в Интернете к ним можно подобрать «ключики», «лекарства», «таблетки». Но зачем же ломиться в открытую дверь, если можно легально дружить с законом, используя WinAVR? Таблица 6.1. Перечень коммерческих Си-компиляторов для AVR-контроллеров Компилятор языка Си Фирма- разработчик Страна Интернет-адрес на 07.01.2011 Ограничение демо-версии C-AVR SPJ Embedded Technologies Индия http://www.spjsystems.com/cavrd.htm Листинг не более 120 строк CodeVision HPInfoTech Румыния http://www. hpinfotech. ro/html/cvavr. htm Прошивка не более 3 Кбайт CrossWorks IAR Rowley Associates Англия http://www.rowley.co.uk/avr/index.htm http://www.iar.com/ 30 дней работы IAR Systems Швеция 30 дней работы ICCAVR ImageCraft США http://www.imagecraft.com/ 45 дней работы
Работа с бесплатным компилятором экономит деньги и обеспечивает лицензионную чистоту конечного программного продукта. Достаточно широко используют WinAVR и при обучении студентов, например, в Государственном университете Гранд Вэлли (г.Аллендейл, Мичиган, США) [6-3]. Версии WinAVR обновляются примерно два-три раза в год, причём наблюдается их преемственность «снизу-вверх». Первый релиз был выпущен в 2002 году (WinAVR-20021111), последний из известных - в 2010 году (WinAVR-20100110). Вереница из восьми цифр в конце названия обозначает дату выпуска версии по образцу «год-месяц-число», т.е. 20100110 — это 10 января 2010 г. Осторожный читатель вправе заметить, что «бесплатный сыр бывает только в мышеловке». Рассеять сомнения поможет теоретическая подкованность. Всё программное обеспечение делится на две большие группы: бесплатное (freeware, demo unlimited, no time limit) и коммерческое (shareware, commercial). Первая группа, по определению, не требует финансовых затрат и может использоваться сколь угодно долго во времени. Вторая — предполагает короткий ознакомительный период, а затем необходимость заплатить деньги или отказаться от продукта. Люди, которые бесплатно делятся с обществом своими программами, достойны всяческого уважения. Они не чудаки. Если поразмыслить, то в каждом конкретном случае можно найти чёткую мотивацию, основанную на человеческой психологии. Например, реклама потенциальных возможностей программиста, портфолио при поиске работы, юношеское самоутверждение, спортивный азарт под девизом: «И я умею не хуже!», организация клубов по интересам для коллег из разных стран, размещение в Интернете программ, к которым остыл интерес, наконец, природный альтруизм или просто широкий жест, чтобы почувствовать себя хоть один раз настоящим «добрым самаритянином». WinAVR принадлежит к особому классу свободных программ под названием «free software». Следует отличать свободное (Open Source) и бесплатное (freeware) программное обеспечение. Первое из них можно без ограничений использовать, распространять и улучшать, а второе — только использовать и распространять. Авторы WinAVR исповедуют принципы GNU. Аббревиатура GNU является рекурсивным акронимом фразы «GNU's Not Unix», что в переводе с английского означает «GNU — это не Unix», и так бесконечное число раз. Начало этому движению было положено в 1983-1984 гг., когда дипломированный программист Ричард Столлман (Richard Stallman) начал работу над оригинальной Unix-подобной операционной системой, состоящей из свободных проектов. Первой программой под GNU стал текстовый редактор «Emacs», созданный самим Столлманом [6-4]. Поклонники GNU придерживаются базового принципа свободного софта, что означает право пользователя свободно запускать, копировать, распространять, изучать, изменять и улучшать программы. В английском языке слово «free» переводится двояко — «бесплатный» и «свободный». В системе GNU используется второе понятие, которое имеет четыре степени свободы: • «свобода-0» — возможность запускать программу в любых целях; • «свобода-1» — возможность адаптировать программу под свои потребности; • «свобода-2» — возможность свободно распространять копии программы; • «свобода-3» — возможность улучшать программу и публиковать свои улучшения где-либо без уведомления кого-либо.
Необходимым условием осуществления «свободы-1» и «свободы-3» является доступ к исходным текстам листингов программы. При выполнении «свободы-2» пользователь вправе взимать плату за копирование файлов (и только!), хотя может распространять их бесплатно. Хорошим тоном при наличии «свободы-3» является упоминание в титрах программы предыстории всех изменений и выражение благодарности участникам и разработчикам проекта. Программа считается полностью свободной от ограничений при выполнении всех четырёх степеней свободы. Знак «копирайта» ©, предполагающий коммерческую защиту авторского права «copyright protection, заменяется «копилефтом», по-английски «protection via copyleft». Этот термин ввёл в обращение в 1985 г. Р.Столлман. Единственным требованием «копилефта» является запрет на внесение любых ограничений на свободу программы. Если внимательно проанализировать философию GNU, то её основная идея заключается в коллективном накоплении банка программ и алгоритмов, которым мог бы воспользоваться любой желающий. У программистов друг перед другом не должно быть глобальных секретов, ведь их основной труд оплачивают те, кто не умеет составлять программы. Сторонники свободного программного обеспечения стараются подобрать бесплатные аналоги для многих повседневных программ, и это им вполне удаётся (Табл. 6.2). С изложенной теорией можно соглашаться или спорить, но она реально существует и поддерживается организацией «Free Software Foundation, Іпс.» [6-5]. Более того, по мере приобщения к Интернету программистов из развивающихся стран мира, наблюдается тенденция к увеличению числа приверженцев «Ореп Source» и «freeware». Таблица 6.2. Перечень бесплатно распространяемых программ и их коммерческих аналогов Программа «free» (версия) Объём [МБ] Интернет-адрес на 19.06.2011 Назначение Коммерческая программа-аналог 7-Zip (v9.20) 1 http://www.7-zip.org/ Упаковка файлов WinZip AbiWord (v2.8.6) oo http://abisource.com/download/ Текстовый редактор Microsoft Word Audacity (vl.3.13) 14 http://audacity.sourceforge.net/ download/beta_windows Музыкальный редактор Sound Forge Pro Avidemux (V2.5.5) 11 http://avidemux.sourceforge. net/down load .html Редактор видео Vegas Movie Studio Dia (vO.97.1) 18 http://dia-installer.de/ Редактор диаграмм Microsoft Visio Firefox (v4.0.1) 12 http://www.mozilla-europe.org/ ru/firefox/ Интернет-браузер Microsoft Internet Explorer FreeCommander (v2009.02b) 2 http://www.freecommander. com/fc_downl_en.htm Файловая оболочка Total Commander GIMP (V2.6.11) 19 http://www.gimp.org/ downloads/ Графический редактор Adobe Photoshop GOM Player (v2.1.27.5031) 8 http://www.gomlab.com/ Просмотр видео Zoom Player Pro ImgBurn (V2.5.5.0) 6 http://www.imgburn.com/ Запись CD, DVD, Blu-Ray Easy CD Creator IrfanView (v4.28) 9 http://www.irfanview.com/ Просмотр графики ACDSee OpenOffice.org (v3.3.0) 147 http://download.openoffice.org/ index.html Работа с документами Microsoft Office
6.3. Что такое «Starter Kit»? Работа с любым новым типом МК обязательно начинается с составления простой тестовой программы. Первая задача, которую по устоявшейся традиции ставят перед собой и опытные электронщики, и начинающие любители, заключается в «мигании» светодиода, подключённого к одной из линий МК. Такой себе «Неііо, world!», только в микроконтроллерном исполнении. Эксперименты обычно проводят на макетной плате «Starter Kit» (SKit). Другие названия — «Development Kit», «Стартовый комплект», «Набор для обучения» или просто «Кит». Единого правила, что должно входить в состав SKit, не существует. Из обязательного: собственно МК и стандартные элементы его «обвязки» из подсистем программирования и питания (резисторы, конденсаторы, кнопка сброса, соединительные разъёмы). В качестве периферийных узлов применяются: светодиоды разного цвета свечения, ЖКИ, клавиатура, реле, пьезодинамики, микросхемы конверторов RS-232, USB, внешние EEPROM, АЦП, ЦАП. Чтобы не утомлять себя построением громоздкого SKit, предлагается ограничить его функции самыми простыми. В частности, пусть это будет кнопочное управление и светодиодная индикация. Электрическая схема SKit показана на Рис. 6.3. Рис. 6.3. Электрическая схема SKit. Назначение элементов. Резистор R1 определяет ток через тестовую кнопку SB1 и не даёт «висеть в воздухе» линии «РСО» МК. Конденсаторы С7, С2 фильтруют НЧ- и ВЧ-помехи по питанию. Резистор R2 задаёт яркость свечения индикатора HL 1. Резистор R3 и кнопка SB2 являются стандартными для подсистемы сброса, а сигналы с выводов 1,17, 18, 19 DDI — для подсистемы программирования. Все перечисленные элементы обслуживают одного единственного «микроконтроллерного барина». Кварцевого резонатора в схеме нет, поскольку тактовая частота 8 МГц обеспечивается внутренним ЛС-генератором МК DDL Для макетирования так проще.
Почему выбрана микросхема ATmega48A? Во-первых, это дёшево, доступно и в DIP-корпусе. Во-вторых, данный МК поддерживается бесплатной средой программирования WinAVR и бесплатным симулятором VMLab. В-третьих, микросхему ATmega48A по цоколёвке можно заменить один к одному более «мощными» МК ATmega88/168/328 или более «древними», но распространёнными ATmega8/8L. В-четвёртых, ATmega48A принадлежит к популярному и досконально изученному семейству AVR-контроллеров, для которых в Интернете имеется масса разноплановых проектов, примеров, учебников. Резисторы RL..R3 любые малогабаритные мощностью 0.125 или 0.25 Вт. Конденсатор С/ электролитический алюминиевый К50-35 или танталовый К53-1А ёмкостью 22...47 мкФ с рабочим напряжением 10...25 В. Конденсатор С2 обязательно керамический, например, К10-17 или поверхностно монтируемый SMD ёмкостью 0.1...0.33 мкФ. Кнопки SB], SB2 импортные тактовые SWT или другие аналогичные без фиксации положения. Светодиод НЫ малогабаритный любого типа, с красным или зелёным цветом свечения, с допустимым током 20 мА. По форме может быть прямоугольным или цилиндрическим с диаметром 3...5 мм. Конструктивно SKit настолько простой, что выполняется без печатного монтажа на элементарной макетной плате. Допускается применение так называемых «беспаечных» плат, соединения в которых производятся механическим контактом залужённых проводов и установкой радиоэлементов в отверстия. Для микросхемы DDI на плате следует предусмотреть узкую 28-контактную панельку, желательно с цанговыми отверстиями. В качестве замены МК подойдёт ATmega48PA-PU, отличающийся в лучшую сторону более жёсткими допусками на ток потребления. Если используются микросхемы прежних лет выпуска ATmega48V-10PU, ATmega48-20PU, ATmega48V-10PI, ATmega48-20PI, то надо знать, что буква «Р» в названии обозначает DIP-корпус, буква «V» — широкодиапазонное питание, буква «U» — безсвинцовую, а буква «I» — обычную технологию изготовления. Основное отличие микросхем серии ATmega48/48V от ATmega48A/48PA заключается в большей экономичности по току последних. Для питания SKit можно применить покупную «сетевую вилку», дополненную стабилизатором напряжения на микросхеме 78L05 (Рис. 6.4). Такой блок питания обеспечивает ток нагрузки до 100 мА с защитой от короткого замыкания по выходу. Также допускается использовать гальванические батареи или аккумулятор от мобильного телефона с напряжением 3.6...4.8 В при токе нагрузки 15...20 мА. Рис. 6.4. Стабилизированный блок питания 5 В/0.1 А.
6.4. Первая тестовая программа 6.4.1. Обобщённая структурная схема Си-программы Любая ПРОГРАММА, написанная на языке Си, содержит одну или более ФУНКЦИЙ. В свою очередь каждая функция состоит из последовательности ОПЕРАТОРОВ. Программа поочерёдно выполняет операторы согласно логике построения функций. Слово «функция» в языке Си эквивалентно понятию «подпрограмма» в Basic или «процедура» в Pascal. Слово «оператор» является синонимом слов «команда», «инструкция», «директива». Каждая Си-программа имеет заголовок или, по-другому, «шапку» (Рис. 6.5). В заголовке содержатся комментарии, а также справочная и библиотечная информация. Далее располагается «тело» программы, начинающееся с системной функции «таіп» (в переводе с англ. «основной, главный»). Примечательно, что название этой функции историческое и изменять его нельзя. С функции «таіп» начинаются все без исключения Си-программы, в том числе и компьютерные. Рис. 6.5. Обобщённая структурная схема Си-программы. Фигурные скобки в программе обязательно парные, т.е. каждой открывающей скобке «{» соответствует своя закрывающая скобка «}». Внутри них располагаются операторы с условными номерами 1...N. Легко провести аналогию с длинным грамматическим перечислением «в столбик». Единственное, что последнее перечисление по правилам грамматики должно заканчиваться «точкой», а в языке Си все операторы заканчиваются «точкой с запятой». МК начинает совершать реальные действия не с «шапки» программы, а с «тела». После начального сброса и инициализации регистров МК управление передаётся на «Оператор-1». Все последующие операторы выполняются последовательно друг за другом, в направлении «сверху-вниз». В некоторых особых случаях, например, при наличии циклов, совершаются вертикальные скачки «снизу-вверх», но затем опять головное направление движения восстанавливается «сверху-вниз». Особенностью микроконтроллерных Си-программ является то, что они, как правило, выполняют свои действия в одном глобальном бесконечном цикле.
6.4.2. Техническое задание и алгоритм решения Перед изучением дальнейшего материала желательно ознакомиться с классическими первоисточниками по программированию [6-6], [6-7]. Именно «ознакомиться», а не детально проштудировать. Время само подскажет, когда к ним надо будет ещё раз вернуться, но уже для детальной проработки. Разобраться в тонкостях любого процесса можно только на практике. При этом первые опыты должны быть не очень сложными, понятными и хорошо прокомментированными. Техническое задание на разработку программы обычно даётся в текстовом виде и формулируется произвольным образом. Пример. Разработать тестовую программу для МК SKit. После начальной подачи питания индикатор НЫ должен быть погашен. При нажатии на кнопку SB1 он должен засветиться, при отпускании — опять погашен и т.д. Алгоритм решения задачи очевиден — в бесконечном цикле проверять состояние кнопки SB1 и если она нажата, то подавать с выхода МК НИЗКИЙ уровень на светодиод НЫ. При отпускании кнопки SB1 надо снять питание со светодиода НЫ, т.е. установить на линии МК ВЫСОКИЙ уровень. На Рис. 6.6 показана графическая схема алгоритма функционирования, которую программисты по-привычке называют «блок-схемой». На каком этапе её составлять и составлять ли её вообще, каждый решает для себя сам. Одни предпочитают нарисовать алгоритм до написания листинга, другие документируют алгоритм после отладки проекта. Но в любом случае надо уметь читать такие схемы. Рис. 6.6. Графическая схема алгоритма функционирования. Блок-схема (англ. «block diagram», «flowchart») — это условное изображение алгоритма действий, структуры компьютерной программы или процесса принятия решения, предназначенное для выявления общей последовательности операций. Строго говоря, термин «блок-схема» не гостирован, поскольку официально в ЕСПД различают всего лишь четыре вида схем: для алгоритмов, для программ, для данных и для систем. Однако название «блок-схема» оказалось весьма «живучим» и его часто употребляют на практике, не считая сленговым.
Момент подачи питания на МК и рестарт программы обозначается в схеме овальным блоком «Старт». В него входят начальные настройки внутренних регистров, стека, распределение ячеек памяти. В блоке «Инициализация» производится установка линий портов МК на вход и выход, в частности, на линии РВ1 выставляется ВЫСОКИЙ уровень, чтобы светодиод НЫ изначально был погашен. После инициализации производится опрос кнопки SB1 в ромбовидном блоке, содержащем вопрос. Если кнопка была нажата (утверждение «Да), то происходит переход на правый прямоугольник. В нём выполняется включение индикатора НЫ, после чего управление передаётся вверх по стрелке к повторному опросу кнопки. Если кнопка SB1 не была нажата (утверждение «Нет»), то производится переход вниз на прямоугольный блок, гашение светодиода НЫ и «путешествие» вверх по стрелке к новому опросу состояния кнопки. В схеме алгоритма нет завершающего овального блока «Стоп», поэтому все действия будут выполняться в бесконечном цикле, вплоть до повторной подачи питания или начального сброса МК кнопкой SB2, входящей в SKit. 6.4.3. Составление листинга программы Листинг программы «demol.c» показан на Рис. 6.7. Имя программе придумывает программист. Расширение «.с» обязательное. Текст набирается в редакторе «Programmer's Notepad 2» (сокращённо PN2), который входит в пакет WinAVR вместо графической оболочки. Через него также производится создание проекта, исправление ошибок, компиляция программы и даже программирование МК. Рис. 6.7. Листинг программы «demol.c».
Редактор PN2 является самостоятельным проектом со своим интернет-сайтом [6-8]. Внешний вид головного меню PN2 показан на Рис. 6.8. Рис. 6.8. Внешний вид программы PN2. Порядок действий. 1. Запустить на выполнение файл «WinAVR-20100110-install.exe» (29 Мбайт), находящийся на прилагаемом компакт-диске. Этот файл при необходимости можно свободно скачать из Интернета [6-1]. Инсталлировать WinAVR по умолчанию в папку C:\WinAVR-20100110\. 2. Открыть редактор PN2: «Пуск — Программы — WinAVR-20100110 — Programmers Notepad [WinAVR]». Включить нумерацию строк: «Tools — Options — General — Default — <поставить «галочку» возле «Show Line Numbers»> — OK». 3. Создать в редакторе PN2 новый Си-файл: «File — New — C/C++». Ввести с клавиатуры текст программы согласно Рис. 6.7 и сохранить его на жёстком диске: «File — Save As... — <ввести путь и имя файла, например, для однозначности C:\1001\demol.c>-OK». Здесь и далее снимки экранов (скриншоты) для экономии места будут показываться только в самых важных точках действий. Остальные скриншоты в пошаговом режиме можно посмотреть на видеоуроках в прилагаемом компакт-диске. Пояснения к листингу. Строка 1 начинается с комментариев, которые ограничиваются слева двумя наклонными линиями «прямой слеш». Весь текст после знаков «//» может быть о чём угодно, на любом языке, с любыми вольностями и сокращениями. Это произвольная информация, которую программист пишет для самого себя, любимого, чтобы через месяц-другой вспомнить, о чём, собственно, шла речь. Обычно указывается краткое название программы и авторство. Пояснения рекомендуется писать подробно, понятно и побольше. Наличие комментариев ни на один байт не увеличивает длину кодов прошивки МК.
Строка 2 тоже содержит комментарии, но уже технического плана. Здесь расписана электрическая схема подключения индикатора НЫ и кнопки SB1 к конкретным линиям портов МК. Названия сигналов соответствуют раскладке из даташита на микросхему ATmega48A (Рис. 6.9) [6-9]. Рис. 6.9. Раскладка сигналов МК ATmega48A. Практика текстового описания несложных схем в «шапке» программы широко распространена в сообществе программистов, которые ленятся рисовать и прикладывать графические схемы, считая, что «и так всё понятно». Строка 3 указывает параметры «мэйкфайла» («makefile»). Для справки, нормальная работа компилятора AVR-GCC возможна при наличии двух обязательных файлов. Первый из них — файл листинга с расширением «.с», второй — файл системных указаний «такеШе» без расширения. «МакеШе» создаётся утилитой «MFile» (Рис. 6.10, автор Joerg Wunsch, Германия), входящей в пакет WinAVR. Рис. 6.10. Внешний вид программы MFile. Порядок действий. 1. Запустить на выполнение утилиту «MFile»: «Пуск — Программы — WinAVR- 2010010 - MFile [WinAVR]». 2. Заполнить поля шаблона следующим образом (Рис 6.11): • в пункте «Makefile — Main file name... — Main file» ввести имя разрабатываемого проекта «demol» и нажать OK;
• в пункте «МакеГіїе — MCU type — ATmega» выбрать МК «atmega48a»; • в пункте «МакеШе — Optimization level» задать уровень оптимизации «2». Другие возможности: «О» — без оптимизации, «s» — минимальная длина кодов, цифры «1 »...«3» — это три разных метода оптимизации, причём цифра «3» не означает лучший вариант, всё зависит от конкретной Си-программы. Остальные пункты шаблона «makefile» корректировать не обязательно, пусть остаются принятыми по умолчанию. Рис. 6.11. Заполнение полей в программе MFile. 3. Сохранить файл: «File — Save As... — <выбрать папку С:\1001\> — ОК». Убедиться в том, что на жеском диске появился «makefile» длиной 17509 байтов. Для каждого нового проекта и нового типа М К надо составлять свой «такеШе», при этом будет изменяться имя проекта и тип МК. Строка 4 содержит комментарии, определяющие шестнадцатеричные числа младшего (Low), старшего (High) и расширенного (Ext) байтов конфигурации. Эти значения понадобятся в дальнейшем при программировании «фьюзов» МК. Строка 5 информационно пустая. Она визуально отделяет текст комментариев от остальной части программы. Вместо одной можно вставить две пустые строки, что не принципиально. Главный смысл заключается в улучшении наглядности. На длину кодов прошивки МК это не влияет. Внешнее оформление листинга придумывает сам программист, исходя из собственных представлений о красоте картинки и удобстве подачи информации. Часто по стилю оформления «шапки», строк листинга и комментариев можно опознать автора программы или составить его психологический портрет. Интересные заметки по этому поводу приведены в монографии Алена Голуба [6-10]. Строка 6 обслуживается препроцессором компилятора. Это не оператор языка Си и не комментарий. Название сложное, а смысл простой. Препроцессор (ПРЕд- варительный ПРОЦЕССОР) ищет в программе строки, начинающиеся с символа «#». Далее, в зависимости от ключевого слова, он выполняет определённое действие, например, «define» — присваивает значения константам, «if defined» — проверяет условие, «include» — подключает библиотеку функций и т.д.
Для первого знакомства достаточно знать, что библиотека функций представляет собой набор файлов, в которые помещаются тексты стандартных или часто повторяющихся процедур. В данном случае директива «#include» (в переводе с англ. «включать») активизирует системную библиотеку «avr/io.h», которая отвечает за работу портов ввода/вывода. Эта библиотека в разных компиляторах имеет разное название, но суть неизменна, без неё нельзя управлять ни одной линией портов МК. Следовательно, подключение библиотеки ввода/вывода обязательно для всех микроконтроллерных Си-программ. Строка 7тоже обрабатывается препроцессором компилятора, но имеет ключевое слово «define» (в переводе с англ. «определять»). Следовательно, она объявляет константу INI и присваивает ей постоянное значение 255. В комментариях указывается перевод числа 255 в шестнадцатиричную OxFF и двоичную Ob 11111111 форму счисления. Разница между ними заключается в буквах «х» и «Ь» после обязательной цифры «О». Соответствие чисел в разных системах приведено в Табл. 6.3. Таблица 63. Перевод чисел из шестнадцатиричной формы в двоичную и обратно = 0 1 2 3 4 5 6 7 8 9 А в с D Е F 0 0000 0000 0000 0001 0000 0010 0000 ООП 0000 0100 0000 0101 0000 оно 0000 0111 0000 1000 0000 1001 0000 1010 0000 1011 0000 1100 0000 1101 000 1110 0000 1 0001 0000 0001 0001 0001 0010 0001 ООН 0001 0100 0001 0101 0001 оно 0001 0111 0001 1000 0001 1001 0001 1010 0001 1011 0001 1100 0001 1101 0001 1110 0001 2 0010 0000 0010 0001 0010 0010 0010 ООП 0010 0100 0010 0101 0010 оно 0010 0111 0010 1000 0010 1001 0010 1010 0010 1011 0010 1100 0010 1101 0010 1110 0010 3 ООП 0000 ООП 0001 ООН 0010 ООН ООП ООН 0100 ООП 0101 ООН оно ООП 0111 ООН 1000 ООП 1001 ООП 1010 ООН 1011 ООП 1100 0111 1101 0111 1110 0111 1111 4 0100 0000 0100 0001 0100 0010 0100 ООП 0100 0100 0100 0101 0100 оно 0100 0111 0100 1000 0100 1001 0100 1010 0100 1011 0100 1100 0100 1101 0100 1110 0100 5 0101 0000 0101 0001 0101 0010 0101 ООП 0101 0100 0101 0101 0101 оно 0101 0111 0101 1000 0101 1001 0101 1010 0101 1011 0101 1100 0101 1101 0101 1110 0101 6 оно 0000 оно 0001 оно 0010 оно ООП оно 0100 оно 0101 оно оно оно 0111 оно 1000 оно 1001 оно 1010 оно 1011 оно 1100 оно 1101 оно 1110 оно 7 0111 0000 0111 0001 0111 0010 0111 ООП 0111 0100 0111 0101 0111 оно 0111 0111 0111 1000 0111 1001 0111 1010 0111 1011 0111 1100 0111 1101 0111 1110 0111 1111 8 1000 0000 1000 0001 1000 0010 1000 ООН 1000 0100 1000 0101 1000 оно 1000 0111 1000 1000 1000 1001 1000 1010 1000 1011 1000 1100 1000 1101 1000 1110 1000 9 1001 0000 1001 0001 1001 0010 1001 ООП 1001 0100 1001 0101 1001 оно 1001 0111 1001 1000 1001 1001 1001 1010 1001 1011 1001 1100 1001 1101 1001 1110 1001 1111 А 1010 0000 1010 0001 1010 0010 1010 ООН 1010 0100 1010 0101 1010 оно 1010 0111 1010 1000 1010 1001 1010 1010 1010 1011 1010 1100 1010 1101 1010 1110 1010 В 1011 0000 1011 0001 1011 0010 1011 ООН 1011 0100 1011 0101 1011 оно 1011 0111 1011 1000 1011 1001 1011 1010 1011 1011 1011 1100 1011 1101 1011 1110 1011 С 1100 0000 1100 0001 1100 0010 1100 ООП 1100 0100 1100 0101 1100 оно 1100 0111 1100 1000 1100 1001 1100 1010 1100 1011 1100 1100 1100 1101 1100 1110 1100 D 1101 0000 1101 0001 1101 0010 1101 ООН 1101 0100 1101 0101 1101 оно 1101 0111 1101 1000 1101 1001 1101 1010 1101 1011 1101 1100 1101 1101 1101 1110 1101 1111 Е 1110 0000 1110 0001 1110 0010 1110 ООН 1110 0100 1110 0101 1110 оно 1110 0111 1110 1000 1110 1001 1110 1010 1110 1011 1110 1100 1110 1101 1110 1110 1110 F 0000 0001 0010 0011 0100 1111 0101 0110 1111 0111 1111 1000 1111 1001 1010 1111 1011 1100 1111 1101 1110 1111 Пример прямого перевода: «PORTB = 0x4F» эквивалентно «PORTB = ObOlOOl 111». Пример обратного перевода: «PORTD = Obi 1101011» эквивалентно «PORTD = 0xFB».
Если где-то в «теле» программы встречается константа INI, то компилятор без размышления подставляет вместо неё числовое значение, указанное в строке 7, т.е. 255. Это очень удобно для программистов при коррекции больших по объёму листингов, когда константы разбросаны по всему тексту. Кроме того, само название константы может нести смысловую нагрузку и служить словесной подсказкой. В частности, INI — это сокращение от английского слова «initialization» (инициализация), что означает некоторое начальное значение. Важность размещения константы именно в «шапке» программы заключается в простоте её поиска и быстроте внесения изменений. Например, один раз откорректировав число «255», можно быть уверенным в том, что везде по тексту оно будет автоматически (и безошибочно!) проставлено через константу INI. Имя для константы придумывает программист, исходя из здравого смысла и человеческих предпочтений. По давней традиции названия констант пишутся заглавными символами. Первой в имени обязательно должна идти буква, например, I2CBUS, Т34. Употребление кириллицы не допускается. Объявление константы INI можно было записать ещё двумя равнозначными способами: «#define INI OxFF» или «#define INI Obi 1111111». Строка 8 содержит оператор описания переменной «а». Переменную можно образно представить в виде шкатулки (ящика, коробки, пенала), где хранится некоторое количество предметов (бусинок, зёрен, спичек). Чтобы «шкатулки» отличались друг от друга, их маркируют разными надписями на корпусе, в данном случае буквой «а». Если в описании переменной не указано начальное число, то считается, что «шкатулка» пустая и она инициализируется нулём (а = 0). По ходу работы программы в «шкатулку» можно добавлять и из неё можно удалять предметы, т.е. увеличивать и уменьшать значение переменной. Объём «шкатулки» зависит от её исходного объявления. В Табл. 6.4 указаны пределы, принятые в компиляторе AVR-GCC. Как видно, объявление «unsigned char» позволяет положить в «шкатулку» 255 предметов. Вместе с нулевым значением (пустая «шкатулка») всего будет 256 состояний или 256 байтов. Переменная с объявлением «unsigned long» уже больше похожа не на шкатулку, а на целый железнодорожный состав, который рассчитан на 4.2 млрд предметов. Таблица 6.4. Размерности переменных, принятые в AVR-GCC Тип объявления переменной Диапазон изменения чисел Длина [байт] Тип объявления переменной Диапазон изменения чисел Длина [байт] unsigned char 0...255 1 signed char -128...+ 127 1 unsigned int 0...65535 2 int -32768...+32767 2 unsigned long 0...4.2-109 4 long -2.1'109...+2.1-109 4 unsigned long long 0...2-1019 8 long long -1019...+ 1019 8 Поскольку МК не имеет развитых средств для работы с отрицательными числами, то на первых порах, чтобы не запутаться, лучше в программах использовать только положительные числа, т.е. содержащие объявление «unsigned». «Отцы-командиры» языка Си с давних времён установили негласный порядок, согласно которому название переменной должно состоять не более, чем из 8 символов. В компиляторе AVR-GCC это правило игнорируется и переменная может
содержать столько символов, сколько хочется, но без фанатизма. Единственное, что первой в названии обязательно должна стоять буква латинского алфавита, за ней могут следовать буквы, цифры, символы. Кириллица не допускается. Переменная, в отличие от константы, содержит некоторое переменное (а не постоянное) число. Чтобы переменные отличались от констант, их записывают малыми буквами. Обычно стараются, чтобы название соответствовало смыслу, например, «count» для счётчика, «data» для данных, «delay» для задержки. Хотя иногда проще, привычнее и компактнее смотрятся однобуквенные переменные, хорошо знакомые со школьной алгебры, — а, Ь, с, d, і, j, k, x, у, z. Какую размерность указывать для конкретной переменной, определяет программист. Поскольку переменная «а» в данном листинге является хранилищем для сбора информации с цифрового 8-битного порта «С», значит в неё должно вмещаться «два в восьмой степени» байтов, т.е. от 0 до 255. Интересно, что компилятор не выдаёт ошибку, если перестраховаться и объявить переменную с запасом как «unsigned long а;». Правда, это приводит к напрасному увеличению объёма кода с 114 до 126 байтов и, соответственно, к небольшому уменьшению скорости выполнения программы. Другая крайность — недооценка размерности, когда, например, вместо объявления «unsigned int» применяется «unsigned char». Если в такую переменную занести число, большее чем 255, то сохранится лишь остаток от деления на 256, а старшая часть безвозвратно потеряется. Образно говоря, предметы повысыпают- ся из «шкатулки» наружу. Компилятор не реагирует на подобные ошибки, считая, что программист находится в адекватном состоянии и понимает, что он делает. Правильное и безошибочное определение размерности переменных обычно приходит с опытом. Строка 9 информационно пустая аналогично строке 5. Вставлять ли её в листинг, зависит от воли программиста. Строка 10 заполняется комментариями, но для разнообразия они представлены в другом формате. А именно, текст отчёркивается с левой стороны символами «/*», а с правой стороны — символами «*/». Такой стиль берёт начало с самых древних версий языка Си. Позже в комментариях стали применять символы «//», что характерно для языка С++. В WinAVR оба варианта имеют равное право на существование. «Новое» написание проще и нагляднее, а «старое» кое-где является единственно возможным, если требуется прокомментировать начало оператора. Строка 11 содержит типовой вызов функции «таіп» согласно правилам Американского института стандартов ANSI (American National Standards Institute). Допускаются, но не рекомендуются, сокращённые выражения: «int main ()», «таіп ()», «таіп (void)». Иногда даже пишут «void main (void)», подчёркивая полное отсутствие принимаемых и передаваемых параметров. Для простых МК, не поддерживающих операционные системы реального времени, отрицательных последствий не будет. Однако, если думать о будущем, то лучше сразу заучить полную форму написания, что облегчит в дальнейшем перенос Си-программ на более современные микроконтроллерные платформы. Строка 12 целиком отводится под первую открывающую фигурную скобку. Такой чести она удостоена не случайно. Компилятор языка Си при выполнении строки 12 производит начальную инициализацию регистров МК, установку сте-
ка, распределение адресного пространства. Механику этого ювелирного процесса изучать не надо (в отличие от программ на Ассемблере!). Для программиста, главное, правильно усвоить две вещи, которые автоматически производит компилятор, входящий в WinAVR: • при старте программы запрещаются все прерывания; • линии всех портов МК настраиваются как входы без «pull-up» резисторов. Строка 13. Наконец-таки, появилась первая исполняемая команда программы в виде оператора присваивания. Расшифровка символов: • «DDRB» — условное имя восьмиразрядного регистра DDR порта «В»; • «=» — знак записи данных в регистр DDRB; • «ОЬ» — указание на то, что следующие 8 цифр будут в двоичном коде; • «11111111» — биты записываемого в регистр DDRB двоичного числа, расположенные в порядке 7, 6, 5, 4, 3, 2, 1,0 (слева старший бит, справа младший бит). В результате выполнения данного оператора все линии порта «В» устанавливаются в режим выхода, поскольку во всех разрядах указаны единицы. Оператор в строке 13 имеет отступ в два пробела слева. Это условность форматирования текста, которой придерживаются многие программисты. Компилятор «промолчит», если начать текст в первом или в седьмом столбце слева, кому как нравится. Существует лишь одна рекомендация: «Листинг Си-программы должен быть удобным для просмотра». Следуя ему, в дальнейшем все тексты будут форматироваться так, чтобы фигурные скобки располагались в нечётных столбцах по вертикали (1, 3, 5 и т.д.), причём в каждом столбце будут находиться только одна открывающая вверху и одна закрывающая внизу фигурные скобки. Указанный порядок не догма, а способ сокращения листинга по ширине и по длине без потери информативности. Программист «у себя дома», в своих листингах, вправе вводить любое число пробелов, пустых строк и т.д. Строка /4 действует совместно со строкой 13, поскольку конкретное состояние линии порта в AVR-контроллерах определяется связкой двух регистров DDRx и PORTx, где «х» — порядковая буква порта, например, В, С или D. Если учесть, что в каждом регистре имеется 8 бит с номерами от 0 до 7 (условно «z»), то общий расклад по линиям портов выглядит следующим образом: • DDRx.z = 1, PORTx.z = 1 — выход с ВЫСОКИМ уровнем; • DDRx.z = 1, PORTx.z = 0 — выход с НИЗКИМ уровнем; • DDRx.z = 0, PORTx.z = 1 — вход с «pull-up» резистором; • DDRx.z = 0, PORTx.z = 0 — вход без «pull-up» резистора. Обобщение строк 13 и 14: DDRB.0...DDRB.7 = 1, PORTB.O = 0, PORTB.l = 1, PORTB.2...PORTB.7 = 0, следовательно, линии 0, 2...7 порта «В» будут настроены как выходы с НИЗКИМИ уровнями, а линия 1 — как выход с ВЫСОКИМ уровнем. Поскольку к линии РВ1 (вывод 15 микросхемы DDI на Рис. 6.3) подключается индикатор НЫ, то он будет погашен. Получается, что начальная часть технического задания выполнена успешно. Строки 15, 16 аналогичны строкам 13, 14, но для порта «С». Для разнообразия применяется подстановка константы INI. После выполнения строк 15 и 16 все линии порта «С», даже те, которые не участвуют непосредственно в работе, будут настроены как входы с «pull-up» резисторами. Это стандартный приём начальной инициализации портов, чтобы активизировать внутренние подтягивающие рези-
сторы, которые не дают «висеть в воздухе» КМОП-входам линий МК и устраняют пути проникновения всевозможных помех и наводок. Строка 77 аналогична строкам 13, 14 и 15, 16, но для порта «D». Он в электрической схеме вообще не задействован, однако следует взять себе за правило — инициализировать в начале программы все без исключения порты. Их свободные линии должны быть настроены как входы с «pull-up» резисторами или как выходы с ВЫСОКИМ/НИЗКИМ уровнем. В будущем такой автоматизм позволит избежать коллизий и недоразумений. Особенностью является присваивание регистру PORTD значения, ранее присвоенного в строке 13 регистру DDRB, т.е. двоичного числа ОЫ1111111. Сделано это в учебных целях, ведь можно было бы поступить проще: «PORTD = OxFF;». Ещё одна деталь заключается в отсутствии записи регистра DDRD. Это не опечатка, а сознательное сокращение листинга на одну строку, поскольку при включении питания согласно даташиту во все регистры DDRx, PORTx автоматически заносятся «нули», т.е. дополнительно обнулять регистр DDRD не обязательно. Строка 18содержит оператор цикла «while». Для первого знакомства достаточно запомнить, что выражение «while (1)» означает последовательное выполнение операторов в строках 19...21 в бесконечном цикле. Строка 19 содержит открывающую скобку и оператор присваивания. Такое совмещение допускается правилами языка Си, что позволяет сделать листинг более компактным по высоте. После выполнения строки 19 в переменной «а» будет храниться байт состояния восьми линий порта «С», который был прочитан из регистра PINC. Если кнопка SB1 не нажата, то «а = OxFF», а если нажата, то «а = OxFE». Строка 20сдвигает на один разряд влево содержимое переменной «а». Возможны два варианта: если «а» раньше было OxFF, то станет OxFE, а если было OxFE, то станет OxFD. Зачем это делается, подскажет следующая строка программы. Строка 21 содержит оператор присваивания, но, по сравнению со строкой 19, переменная «а» и регистр порта поменялись местами. В языке Си такая рокировка приводит к замене операции чтения из порта операцией записи в порт. Итого, в порт «В» будет выведен код OxFE (если кнопка SB1 не нажата) или код OxFD (если кнопка SB1 нажата). В первом случае индикатор НЫ будет погашен, во втором — будет светиться, чего и требовалось добиться согласно техническому заданию. Строки 22, 23 содержат закрывающие фигурные скобки. Если мысленно провести от них две вертикальные линии «снизу-вверх», то они укажут прямо на открывающие скобки в строках 19 и 12. Скобка в строке 22 указывает на повтор цикла в строках 19...21. Скобка в строке 23 начинается в первой слева позиции, следовательно, достигнут конец функции «таіп», а значит и основной программы. Строка 24 содержит комментарии о номере версии WinAVR и о длине кодов прошивки, что весьма полезно при компиляции программы другими пользователями. Известно, что версии WinAVR совместимы между собой не на 100%, чему имеются наглядные примеры. Следовательно, длина скомпилированного кода одного и того же листинга может отличаться от релиза к релизу. Практический вывод — компилировать программу надо вначале тем пакетом WinAVR, который указан в строке 24, а уже потом на более старой или более новой версии, сверяясь с полученной длиной кодов как с проверочной контрольной суммой.
Внимательный читатель вправе заметить, что на этапе составления листинга Си-программы невозможно было заранее рассчитать, какой объём занимают коды в памяти МК. Честно говоря, надпись «114 байта (2.8%)» была дописана позже, после компиляции программы. Налицо наглядный пример той самой обратной связи, которая в структурной схеме на Рис. 6.1 была обозначена пунктиром между блоками «К» и «Л». Строка 25 полностью пустая, но в отличие от строк 5 и 9, она означает физическое окончание листинга. Без этой завершающей строки компилятор выдаёт мягкое, но всё-таки предупреждение: «Warning: no newline at end of file» («Внимание: отсутствует новая линия в конце файла»). 6.4.4. Компиляция Си-программы Правилом хорошего тона при программировании считается создание проекта, семантически объединяющего исходные файлы в единое целое. Имеется в виду ещё одна надстройка над файлами «demol.c» и «такеШе». Разумеется, и без создания проекта эти файлы можно успешно скомпилировать, выбрав в PN2 опцию «Tools — [WinAVR] Make АН». Однако лучше довериться опыту профессионалов и изначально «зазубрить» азы. Порядок действий. 1. Выбрать в редакторе PN2 опцию: «File — New — Project — <указать папку, где будет храниться новый проект, для однозначности С:\1001\> — <ввести имя проекта «demol»> — Сохранить>». Проект создан, но он пока пустой. 2. Выделить в левой панели PN2 вновь созданный проект «demol» и правой кнопкой «мыши» последовательно добавить в него файлы «такеШе», «demol.c». Убедиться, что в папке С:\1001\ появился новый файл «demol.pnproj» длиной 89 байтов. Это и есть файл проекта. Теперь в PN2 его можно открыть «File — Open Project(s)...», после чего появится быстрый доступ к входящим в него файлам. 3. Откомпилировать программу: «Tools — [WinAVR] Make А11». Дождаться появления в нижнем окне надписи «Process Exit Code: 0», свидетельствующей об успешном завершении процесса. В том же окне несколькими строками выше будут показаны общая длина кодов программы и процент занимаемого в памяти места (Рис. 6.12). Эту информацию как раз и надо ввести в строку 24 листинга. Рис. 6.12. Результат компиляции проекта «demol».
При ошибках в наборе листинга появляется надпись «Process Exit Code: 2» с указанием номера подозрительной строки. Разумеется, найдены будут лишь те ошибки, которые противоречат синтаксису языка Си. Логические неточности и огрехи алгоритма остаются на совести программиста, ведь МК, по определению, будет старательно выполнять то, что написано в тексте программы, а не то, что хотелось бы её создателю... Чтобы в дальнейшем быть готовым к любым неожиданностям, настоятельно рекомендуется провести несколько краш-экспериментов с первой Си-программой и преднамеренно добавить в неё ошибки. Например, удалить закрывающую скобку в строке 22 или ввести ещё одну «точку с запятой» в строке 13. Далее откомпилировать проект и проанализировать появляющиеся сообщения об ошибках. Желательно взять себе за правило — перед каждой новой компиляцией очищать предыдущие записи: «Tools — [WinAVR] Make Сіеап». Это поможет избежать ситуации, когда в программу вносятся изменения, но компилятор их почему-то не замечает, загружая предыдущие данные из буфера. После проведения компиляции в папке С:\ 1001\ должны появиться дополнительные файлы с общим корнем «demol», но под разными расширениями. Например, «demol.lss» и «demol.lst» — это полный и сокращённый асемблерные листинги, которые открываются для чтения в любом текстовом редакторе. Данная информация может пригодиться при консультациях с более опытными программистами, если что-то работает не так, как предполагается. Главной целью компиляции является получение НЕХ-файла «demol.hex» длиной 345 байтов, ради чего, собственно говоря, и был затеян весь «сыр-бор». В файле содержатся коды прошивки МК. Но почему его длина 345, а не 114 байтов как декларировалось в строке 24 листинга? Потому что НЕХ-файл по структуре текстовый, а не бинарный, плюс к тому в нём содержатся адреса ячеек памяти и контрольные суммы. В итоге объём файла возрастает почти втрое и это нормально. Контрольные суммы позволяют построчно выявлять случайные сбои кодов и вовремя предупреждать пользователя о неполадках. Из-за этого файлы с расширением «.hex» значительно чаще используются при программировании МК, чем файлы с расширением «.bin». По мере обработки НЕХ-файла в оболочке программирования его текстовые надписи автоматически переводятся в бинарные коды с объёмом ровно 114 байтов, при этом гарантируется достоверность записи информации во внутреннее флэш-ПЗУ МК. 6.4.5. Моделирование программы в симуляторе VMLab После компиляции и получения файла «demol.hex» пользователь оказывается на распутье — запрограммировать МК сразу или предварительно провести моделирование процессов. Если нет времени или творческого настроения, то выбирают первый путь. Если отсутствует хороший осцилограф или же цена ошибки в программе слишком велика — выбирают второй путь. Моделирование пригодится также тем, кому предстоит в дальнейшем работать с другими семействами МК (не с AVR-контроллерами). Они могут не изготавливать SKit «в железе», но на его примере изучить теорию языка Си и разобраться в моделировании входных и выходных цепей в VMLab. Поскольку разные типы
МК имеют примерно одинаковые электрические параметры цифровых линий, то методологию VMLab можно с успехом использовать и для них. Чтобы моделирование было продуктивным, надо поставить перед собой одну или несколько задач. В простейшем случае можно выяснить, нет ли логических ошибок в программе, т.е. действительно ли будет включаться светодиод НЫ при нажатии на кнопку SBL Но этого мало. Программа VMLab позволяет довольно точно измерять временные интервалы, поэтому вторая задача — узнать, сколько времени пройдёт от момента нажатия кнопки до загорания светодиода. Порядок действий. 1. Запустить на выполнение файл «Install_VMLAB315.exe» (4.5 Мбайт), находящийся на прилагаемом компакт-диске. Этот файл при необходимости можно свободно скачать из Интернета [6-11]. Инсталлировать VMLab в папку C:\VMLab\. 2. Запустить VMLab на выполнение: «Пуск — Программы — VMLAB — Run VMLAB». Создать новый проект: «Project — New project — <заполнить графы как на Рис. 6.13> — ОК». В окне «Messages» должно появиться сообщение «PRJ file is OK!». Созданный проект не является окончательным. Это всего лишь заготовка, которую предстоит адаптировать под конкретную электрическую схему. Рис. 6.13. Заполнение заготовки проекта VMLab «demol.prj».
3. Развернуть окно с проектом «demol.prj» и откорректировать в нём текст согласно Рис. 6.14. Сохранитьфайл:«РПе — Save АН», закрыть проект «Project — Close Project». Убедиться, что в папке C:\1001\ появился новый файл «demol.prj» длиной 1428 байтов. Не путать его с файлом проекта WinAVR с расширением «.proj». Рис. 6.14. Файл проекта VMLab «demol.prj». Пояснения к тексту проекта VMLab. Начальные строки определяют тип МК и названия файлов, участвующих в компиляции. Отсутствующая в VMLab микросхема ATmega48A была успешно заменена аналогичной ATmega48. Обязательным является описание конфигурационного бита CKDIV8, иначе тактовая частота вместо 8 МГц станет 1 МГц. В средней части проекта «рисуется» схема подключения светодиода HLI, резисторов RL R2 и кнопки SB1 к линиям МК. Подробнее с синтаксисом команд можно ознакомиться в справке помощи «Неір — Contents». Учёба пойдёт легче, если проштудировать примеры из папки C:\VMLAB\AVR_demo\. В последней строке проекта указываются точки подключения «щупа» виртуального осциллографа к линиям МК, в данном случае к РСО и РВ1. 4. Открыть только что созданный проект: «Project — Open project — <выбрать файл C:\1001\demol.prj> — Открыть». Запустить построение проекта, для чего нажать на клавиатуре клавишу <F9> или иконку «Build» в верхней полосе меню. В окне «Messages» наблюдать сообщение «Success! All ready to run». 5. Открыть экран виртуального осциллографа: «View — Scope». Установить развёртку по вертикали 2 В/деление, развёртку по горизонтали 20 мс/деление, поставить точку в кружке «Cursor — None».
6. Запустить симуляцию процессов, для чего нажать на клавиатуре клавишу <F5> или иконку «Go/Continue» в верхней полосе меню. В окне «Messages» наблюдать сообщение «Starting hardware-software co-simulation...». 7. Открыть панель управления: «View — Control Рапеї». Нажать на виртуальной тастатуре кнопку «1» (Рис. 6.15), которая соответствует реальной кнопке SB1 SKit и наблюдать в окне осциллографа отклики на осях «РСО», «РВ1» (Рис 6.16, а). Рис. 6.15. Имитация нажатия кнопки SB1 на тастатуре VMLab. Рис. 6.16. Виртуальный осциллограф VMLab: а) развёртка 20 мс/деление; б) 500 нс/деление.
8. Сделать паузу в работе симулятора клавишами <Shift+F5> или иконкой «Pause program» в верхней полосе меню. Установить в настройках осциллографа развёртку по горизонтали 500 нс/деление. Переместить ползунок времени внизу экрана так, чтобы стал виден момент перехода уровней НИЗКИЙ/ВЫСОКИЙ или ВЫСОКИЙ/НИЗКИЙ. Поставить точку в кружке «Cursor 1» и мышью выбрать вертикаль первого замера. Затем поставить точку в кружке «Cursor 2» и выбрать мышью вертикаль второго замера. Точная разность отсчётов между двумя курсорами высвечивается в левом нижнем поле осциллографа (Рис. 6.16, б). Расшифровка осциллограмм. На экране осфиллографа VMLab имеются три горизонтальные оси. Верхняя ось «Тгасе/Ргіо» — системная. Она размечена чёрточками, которые регистрируют элементарные действия (такты), совершаемые процессорным ядром МК. Следующие две оси «РСО», «РВ1» отводятся под одноимённые линии портов МК и связанные с ними кнопку SB1 и светодиод НЫ. Если растянуть масштаб по горизонтали влево, то можно заметить, что МК в первые 0.3 мс после старта находится в состоянии сброса, поскольку на верхней оси вместо чёрточек имеется сплошной ВЫСОКИЙ уровень. Интересно, что в этот момент на осях «РСО», «РВ1» присутствует напряжение +5 В за счёт привязки к питанию линий МК через элементы Rl, R2, НЫ. Первый переход сигнала на оси «Тгасе/Ргіо» с ВЫСОКОГО в НИЗКИЙ уровень означает окончание сигнала сброса и переход к инициализации внутренних регистров МК. Первые операторы Си-программы начнут выполняться ещё через 3.4 мкс в момент, когда уровень сигнала на оси «РВ1» перейдёт с ВЫСОКОГО в НИЗКИЙ. Пауза между нажатием кнопки SB1 и включением светодиода НЫ составляет 625...875 не. Эти числа и есть главный результат моделирования. Разброс между ними означает, что кнопка SB1 нажимается асинхронно во времени, без привязки к какому-нибудь оператору в цикле «while» из строк 19...21 листинга. Чтобы лучше освоить интерфейс управления VMLab, следует пройти всю процедуру повторно, но уже в пошаговом режиме. Для этого нажать на экранную кнопку сброса (иконка «Restart (deep)»), сымитировать повторное включение питания (меню «Project — Re-build all»), а затем несколько раз подряд нажимать на иконку «Step into» и наблюдать пошаговую прорисовку осциллограмм. 6.4.6. Программирование МК В пакет WinAVR входит встроенная оболочка программирования AVRDUDE (AVR Downloader/UploaDEr, на сленге юмористов «дудка»). Оболочка имеет спартанский интерфейс, но с её помощью успешно и, главное, быстро программируются разные типы МК. Разработчиком AVRDUDE является Brian Dean, который в 2003 г. выпустил первый релиз. С тех пор вокруг проекта образовалось ядро толковых программистов, которые постоянно занимаются модификацией версий. Управляющие команды для AVRDUDE прописываются внутри «makefile» в отдельном абзаце в середине текста. Расшифровка команд содержится в документе C:\WinAVR-2010010\doc\avrdude\avrdude.pdf. Поддерживаются более 30 типов адаптеров, втом числе PonyProg [6-12]), USBasp [6-13], Arduino [6-14].
Главное при программировании через AVRDUDE — это правильно установить биты конфигурации. В Табл. 6.5 приведена раскладка наиболее распространённых режимов тактирования ATmega48/48A/48PA. Чила отобраны из таблиц даташита. С целью уменьшения числа вариантов сделаны ограничения, в частности, введено единое время задержки запуска тактового генератора «Time-out» 65 мс, запрещена работа Watch Dog, debugWIRE и BootLoader, разрешён внешний сброс RESET. Подобным образом заполняются столбцы в таблице и для других типов МК. Таблица 6.5. Режимы тактирования МК AThiega48/48A/48PA Диапазон частот [МГц] High Fuse Ext Fuse Режим генерации Low Fuse Без BOD BOD + 1.8 В BOD +2.7 В BOD +4.3 В По умолчанию 1 0x62 OxDF - - - OxFF Внешние импульсы 0...20 OxEO Внутренний RC-генератор 0.128 ОхЕЗ 1 0x62 8 0хЕ2 Кварцевый НЧ-резонатор 0.032768 0хЕ5 OxDF OxDE OxDD OxDC OxFF Керамический резонатор 0.4...0.9 0xF9 Кварцевый ВЧ-резонатор 0.9...3 OxFB 3...8 OxFD 8...16 OxFF 0.4...20 0xF7 Пример из строки 4 листинга на Рис. 6.7: Low Fuse = 0хЕ2, High Fuse = OxDF, Ext Fuse = OxFF, следовательно, МК настроен на работу от внутреннего тактового генератора с частотой 8 МГц (по даташиту допускается разброс 7.3...8.1 МГц), детектор BOD отключён. Чтобы «не заблудиться в трёх соснах», на Рис. 6.17 показан внешний вид популярной оболочки PonyProg [6-12], в которой шестнадцатеричные числа «фьюзов» представлены в наглядной графической форме. Вторая, третья и четвёртая строки сверху относятся, соответственно, к байтам Ext Fuse, High Fuse, Low Fuse. Рис. 6.17. Конфигурационные байты Low = 0xE2, High = OxDF, Ext = OxFF в программе PonyProg.
Чтобы запрограммировать МК через AVRDUDE, можно воспользоваться графическими оболочками [6-15], [6-16], [6-17] и on-line калькулятором «фьюзов» [6-18]. Другой вариант — подправить содержимое «makefile». Порядок действий. 1. Запустить на выполнение редактор PN2, открыть «такеШе»: «File — Ореп...». Откорректировать текст, используя данные из Табл. 6.6. Таблица 6.6. Коррекция текста «makefile» для программирования через AVRDUDE Адаптер Строка 276 в «makefile» Строка 279 в «такеШе» Строка 281 в «такеШе» PonyProg (LPT) AVRDUDE PROGRAMMER = pony- stk200 AVRDUDE PORT = lptl AVRDUDE WRITE FLASH = -U flash: w: $ (TARG ET). hex -U lfuse:w:0xE2:m -U hfuse:w:OxDF:m -U efuse:w:OxFF:m PonyProg (COM) AVRD U DEPROG RAMMER = ponyser AVRDUDEPORT = соті Arduino (COM) AVRDUDE_PROG RAMMER = arduino AVRDUDE_PORT = соті USBasp (USB) AVRDUDE_PROG RAMMER = usbasp AVRDUDEPORT = usb 2. Запрограммировать МК, выбрав пункт меню «Tools — [WinAVR] Program». Через секунду память МК будет «прошита» и верифицирована, о чём свидетельствует надпись «Process Exit Code: О». 3. При желании можно поставить защиту от просмотра кодов. Для этого надо изменить строку 281 «makefile» по образцу: «AVRDUDE_WRITE_FLASH = -U lock:w:0x00:m». Если защита поставлена, то говорят «МК залочен». На Рис. 6.17 МК «разлочен», поскольку в квадратах верхней строки нет ни одной «галочки». В программах для домашнего пользования бессмысленно защищать прошивку от самого себя. Если же МК входит в состав промышленного изделия, то байты защиты должны быть обязательно запрограммированы, чтобы предотвратить нелегальный просмотр кодов и несанкционированное копирование. Считается, что снять защиту с исправного М К программным способом нельзя, только путём полного стирания кристалла. Для сведения, существуют хакерские аппаратные средства «вскрытия» прошивки на основе инвазивных, полуинвазив- ных и неинвазивных технологий [6-19]. Имеется даже компактный прибор, который за 3...15 минут читает содержимое защищенной памяти некоторых AVR- и РІС-контроллеров, втом числе, ATtinyl5, ATmega8515, PIC16F628, PIC16F876A. К счастью, применяемая в SKit микросхема ATmega48A в их число не входит. 6.4.7. Реальная работа После программирования МК надо кратковременно нажать и отпустить кнопку сброса SB2 SKit. Далее следует нажать кнопку SB1 и убедиться, что светодиод НЫ начал светиться. На глаз кажется, что отклик происходит мгновенно, но только программист знает о микроскопической задержке в несколько сотен наносекунд, которая была выявлена на этапе моделирования в программе VMLab. Если светодиод на нажатие кнопки не реагирует и все детали SKit исправны, то возможной причиной неисправности может быть постоянно НИЗКИЙ уровень сигнала «RES», оставшийся после завершения работы оболочки программирования. Выйти из положения помогает расстыковка компьютерного кабеля.
6.5. Операторы языка Си 6.5.1. Классификация операторов Итак, первые навыки работы с компилятором, программатором и симулятором получены. Чтобы двигаться дальше, надо чётко представлять потенциальные возможности языка Си. В его основе лежит базовое понятие «оператор». Из отдельных операторов, как из кирпичиков, строятся большие по объёму программы. На Рис. 6.18 показана условная классификация операторов языка Си по функциональному признаку. Почти все разновидности операторов имеют простую и составную форму записи. В первой из них текст размещается в одну строку, во второй — блоком из нескольких строк, ограниченных фигурными скобками. Рис. 6.18. Классификация операторов языка Си. В соответствии с принципом структурированности выделяют следующие конструкции операторов в программах: • линейная последовательность (операторы присваивания, операторы вызова функций, операторы описания переменных); • выбор и полувыбор (операторы ветвлений); • циклическое повторение (операторы циклов). Особое место занимают операторы переходов. В них наблюдаются резкие скачки в передаче управления, что несколько нарушает общую структурированность. 6.5.2. Операторы присваивания, вызова функций, описания переменных Начинать изучение операторов легче всего с «линейной тройки». «Линейной», потому что выполнение действий в них происходит последовательно во времени, без каких либо скачков вперёд или назад. Операторы присваивания (Рис. 6.19, а) использовались в листинге на Рис 6.7 в строках 13...17, 19...21. Общая форма записи оператора присваивания «х = у;» относится к любым компонентам языка Си. В частности, вместо символов «х» и «у» могут подставляться одиночные линии портов или порты МК в целом. Знак равенства «=» в операторе присваивания нельзя понимать буквально, иначе может получиться математическая бессмыслица. Например, «к = к + 2;» — это нормальная запись в языке Си, обозначающая, что к текущему значению переменной «к» надо прибавить число 2 и сохранить результат в той же переменной «к» (т.е. присвоить ей новое значение). В школьной алгебре за такое уравнение ученику поставили бы неудовлетворительную оценку.
Существуют две формы записи операторов присваивания (Рис. 6.19, б, в). Составной оператор «РСЖТС = PORTD = OxFF;» полностью эквивалентен двум отдельным простым операторам «PORTD = OxFF;» и «РСЖТС = PORTD;». Их очерёдность изменять нельзя, поскольку присваивание всегда начинается с крайнего правого выражения. Рис. 6.19. Оператор присваивания: а) схема алгоритма; б) простая форма; в) составная форма. Язык Си отличается компактностью и лаконичностью, поэтому особым шиком у программистов считается максимальное уплотнение текста в операторах. Например, для увеличения переменной «а» на единицу пишут «а++;». Если написать «а = а + 1;», то программа по-прежнему будет работать нормально, но никто из профессионалов не поверит, что вы досконально знаете язык Си. Ту же цель преследует сокращённая форма записи операторов, например, «PORTB А= а;», что эквивалентно выражению «PORTB = PORTB А а;». Математические и логические операции в операторах присваивания (Табл. 6.7) выполняются как в алгебре, сначала в скобках, затем слева-направо. Таблица 6.7. Математические и логические операции в языке Си Операция Расшифровка Выражение Результат Выражение Результат & Логическое «И» 0x55 & OxFO 0x50 0x55 & OxOF 0x05 1 Логическое «ИЛИ» 0x55|OxFO 0xF5 0x55|OxOF 0x5 F Исключающее «ИЛИ» 0x55 л OxFF ОхАА 0x13А0x77 0x64 ~ Инверсия -0x55 ОхАА -0x01 OxFE « Сдвиг влево 0x55 «2 0x54 0x01 «4 0x10 » Сдвиг вправо 0x55 » 4 0x05 0x01 »4 0x00 + Сложение 10 + 5 15 ОхОА + 0x05 OxOF - Вычитание 10-5 5 ОхОА - 0x05 0x05 * Умножение 10*5 50 0x10*2 0x20 / Деление 10/5 2 0x10/2 0x08 % Остаток от деления 10 % 3 1 10% 2 0 ++ Прибавление «1» 5++ 6 0x0F++ 0x10 — Вычитание «1» 5— 4 0x20— 0x1 F
Операторы вызова функций встречаются, как минимум, один раз в любой без исключения программе. В частности, это вызов функции «таіп» в строке 11 листинга на Рис. 6.7. Особенности вызова и оформления других функций будут рассматриваться по мере их изучения. Операторы описания переменных предназначены для резервирования определённого числа ячеек в памяти МК. В листинге на Рис. 6.7 подобный оператор располагается в строке 8. 6.5.3. Операторы ветвлений Если внимательно приглядеться, то вся наша повседневная жизнь состоит из одних «если». На каждом шагу делается выбор: «если — то, иначе — это». Но свобода выбора — вещь весьма иллюзорная, что подтверждается многовековым опытом человечества. В программировании ситуация аналогичная. Широко применяемые операторы ветвлений «if», «if-else», «switch» используют алгоритмы двоичного и множественного выбора. Логика применяется жёсткая, с чётким указанием дальнейших действий. Свобода есть, только уж очень она регламентированная... Оператор «if» (в переводе с англ. «если»). Схема алгоритма оператора «if» показана на Рис. 6.20, а. Если условие проверки выполняется, то осуществляется переход к «Оператору-1», если нет, то данный оператор игнорируется и обходится стороной. Существуют две формы записи оператора «if» (Рис. 6.20, б, в). В простой форме отсутствуют фигурные скобки, т.к. имеется один-единственный исполняемый оператор. В составной форме операторов много, поэтому их выделяют в отдельный блок, старт и финиш которого обрамляют фигурными скобками. Рис. 6.20. Оператор «if»: а) схема алгоритма; б) простая форма; в) составная форма. И в той, и в другой форме условием проверки выступает некоторое логическое выражение, которое может быть истинным или ложным. Например, «6 > 5» — это истина, «100 < 99» — это ложь. В Табл. 6.8 представлены варианты допустимых логических проверок в языке Си. Запомнить их легко мнемонически, поскольку знаки записываются в таком порядке, в каком читаются, к примеру, «меньше или равно» (<=), «больше или равно» (>=), «не равно» (!=).
Таблица 6.8. Условия логических проверок в языке Си Условие Расшифровка Выражение Результат Выражение Результат < Меньше 5 < 10 Истина 5<5 Ложь <= Меньше или равно 100 <= 100 Истина 100 <= 99 Ложь = = Проверка равенства 5 = = (2 + 3) Истина 7 = = 6 Ложь >= Больше или равно 10 >= 5 Истина 5>= 10 Ложь > Больше 10 > 5 Истина 5>5 Ложь != Проверка неравенства 20 !=21 Истина 20 != 20 Ложь || Логическое «ИЛИ» 101| 5 Или 10, или 5 5 Н в Или 5, или 6 && Логическое «И» 10&&5 И 10, и 5 10 && 10 10 1 Логическое «НЕ» !0 1 !1 0 Проверяемое условие может быть как одиночным «а > Ь», так и множественным «(а > Ь) && (с > d)». В последнем случае вместо символов «&&» могут подставляться и другие логические операции из Табл. 6.8. Вычисления производятся слева- направо, начиная со скобок. Если в операторе проверяется состояние какой-либо линии порта МК, то после проверки логический уровень на этой линии не изменяется. Данное утверждение относится и к входам, и к выходам. Пример. В исходном состоянии на одном из выходов МК имеется ВЫСОКИЙ уровень. Если в программе встретится оператор присваивания, изменяющий уровень на противоположный, то напряжение на выходе станет НИЗКИМ. Однако, если в программе встретится оператор проверки «if», который сравнивает состояние линии порта с НИЗКИМ уровнем, то после его выполнения выходной уровень как был ВЫСОКИМ, так им и останется. При составлении программ, содержащих логические проверки, требуется определённая точность и аккуратность. В частности, начинающие программисты нередко путают знак присваивания «=» и знак проверки равенства «= =», знак логического умножения «&» и знак конъюнктивной проверки «&&», знак логического сложения «||» и знак дизъюнктивной проверки «|| ||». Общее правило для запоминания — одиночные символы применяются в операторах присваивания, а двойные символы — в условиях проверки. Оператор «if-else» (в переводе с англ. «если-иначе»). Схема алгоритма оператора «if-else» показана на Рис. 6.21, а. Теоретически возможны четыре формы его записи (Рис. 6.21, б...д), условно обозначаемые римскими цифрами от «I» (максимально просто) до «IV» (максимально сложно). Логика функционирования связки «if-else» следующая. Если условие проверки, заключённое в круглых скобках после «if», истинное, то выполняется «Оператор-1» (Рис. 6.21, б, г) или блок операторов «1»...«М» (Рис. 6.21, в, д). Далее пропускаются строки, относящиеся к «else», и управление передаётся вниз к следующему оператору программы, который для простоты не показан. Если условие ложное, то производится переход к строке «else», затем выполняются принадлежащие ей команды, после чего управление естественным образом передаётся вниз к следующему оператору программы. В языке Си допускаются многократные вложения наподобие «if-if-else-else», при этом каждому «else» обязательно должен соответствовать свой «if». Обратное утверждение неверно, т.к. бывают «чистые» операторы «if», но без «else».
Рис. 6.21. Оператор «if-else»: а) схема алгоритма; б) простая форма «I»; в) усложнённая форма «II»; в) усложнённая форма «III»; г) сложная форма «IV». Оператор «switch» (в переводе с англ. «переключать»). Все рассмотренные ранее операторы ветвлений хорошо смотрятся при выборе между двумя альтернативами «или так — или эдак». В тех случаях когда требуется произвести выбор одного из множества вариантов, удобнее применять оператор «switch». На Рис. 6.22, а показана схема алгоритма, а на Рис. 6.22, б, в — две формы записи оператора «switch». Предполагается, что в условие проверки входит целочисленная переменная «а», которая может принимать любое значение от 0x00 до OxFF. Значение переменной последовательно сравнивается с метками «case» (в переводе с англ. «кейс, ящик, коробка»). Как только будет обнаружен «кейс» с содержимым, которое равно значению входной переменной, то управление передаётся конкретному исполняемому оператору «1»...«N». В конце каждого «кейса» размещается оператор «Ьгеак», который останавливает дальнейшее выполнение команд и передаёт управление вниз к следующей по очереди строке за пределами оператора «switch». Если после просмотра всех меток не будет обнаружено ни одного совпадения, то ищется строка «default» (может отсутствовать) и выполняется принадлежащий ей оператор (может отсутствовать).
Рис. 6.22. Оператор «switch»: а) схема алгоритма; б) упрощённая форма; в) полная форма. При отсутствии в программе строки «default» может случиться, что условие сравнения ни разу не сработает и оператор «switch» не выполнит ни одного полезного действия. Тем не менее, на поиск совпадений затрачивается определённое машинное время, поэтому «холостой» оператор «switch» превращается в оператор задержки времени. Насколько большая получается пауза, надо просчитывать при моделировании в симуляторе. 6.5.4. Операторы циклов Когда в Си-программе нет ни одного цикла, то говорят, что она однократного действия. Почему? Потому что без циклов нельзя организовать обратную связь и многократное выполнение процедур. Как только операторы, имеющиеся в «однократной» микроконтроллерной программе, выполнят свои действия, то работа заканчивается и МК перестаёт реагировать на внешние воздействия. Если быть абсолютно точным, то затормозить МК можно двумя способами. Во-первых, ввести его программно в спящий режим с пониженным энергопотреблением. Во-вторых, заставить МК в цикле выполнять какую-либо пустую команду. Именно второй способ использует компилятор AVR-GCC, автоматически зацикливая «однократные» программы. Следовательно, и тут без циклов не обойтись. Основная задача операторов циклов заключается в выполнение одной или нескольких команд до тех пор, пока соблюдается определённое условие. Такие операторы имеются во всех алгоритмических языках высокого уровня и их синтаксис удивительным образом совпадает друг с другом.
Оператор «while» (в переводе с англ. «до тех пор, пока»). На Рис. 6.23, а показана схема алгоритма, а на Рис 6.23, б, в — две формы записи оператора «while». Он применяется, как основной, практически во всех программах, где необходимо организовать цикл. А делать это приходится часто, поскольку специфика программ с МК заключается в том, что большой процент времени отводится на циклический опрос линий портов (датчиков, кнопок, сигналов) и внутренних программных регистров. Рис. 6.23. Оператор «while»: а) схема алгоритма; б) простая форма; в) составная форма. Оператор «while» по синтаксису очень похож на оператор «if», включая условие проверки, которое строится по точно таким же правилам. Различие заключается в количестве циклов, а именно, оператор «if» выполняется один раз, а оператор «while» — многократно, до тех пор, пока условие проверки будет истинным. Например, в записи «while (1)» цифра «1» согласно канонам языка Си является «истиной» («О» — ложь), поэтому цикл будет выполняться бесконечное число раз. Оператор «do-while» (в переводе с англ. «делать до тех пор, пока»). Схема алгоритма оператора «do-while» показана на Рис. 6.24, а. Этот оператор дополняет и расширяет возможности организации циклов и имеет две формы записи: простую и составную (Рис 6.24, б, в). Рис. 6.24. Оператор «do-while»: а) схема алгоритма; б) простая форма; в) составная форма.
Начинается процедура с выполнения оператора «1» или операторов «1»...«N» в составной форме. По завершению анализируется условие проверки. Если результат «истина», то происходит возврат к началу строки «do» (поднятие «вверх на лифте») и повторение цикла. Если результат «ложь», то цикл «do-while» завершается и управление передаётся к нижеследующей строке программы. Главное отличие оператора «do-while» от оператора «while» заключается в том, что тело цикла «do-while» в любом случае выполняется хотя бы один раз. В операторе «while» такой поворот событий не обязателен, например, если проверяемое условие ложно, то выход из цикла происходит сразу же без выполнения каких- либо действий. Хорошо это или плохо, зависит от конкретной программы. Но все-же многие программисты опасаются применять оператор «do-while», считая, что лучше внимательно рассмотреть место, куда собираешься прыгать, до прыжка, а не после... Оператор «for» (в переводе с англ. «для, в течение»). Как известно, при организации любых программных циклов выполняются три стандартные операции: • инициализация счётчика (занесение в переменную начального значения); • сравнение числа, хранящегося в счётчике, с граничной величиной; • увеличение/уменьшение счётчика при каждом проходе цикла. В операторе «for» все три перечисленных действия собраны воедино, поэтому он визуально получается довольно компактным (Рис. 6.25, а). Существуют две формы записи оператора «for» (Рис. 6.25, б, в), причём допускаются многократно вложенные циклы «for-for-for...». Рис. 6.25. Оператор «for»: а) схема алгоритма; б) простая форма; в) составная форма. В круглых скобках после слова «for» содержатся три выражения, разделённые символом «точка с запятой». Первое из них «Начало» выполняется единожды в самом начале цикла. Обычно это оператор присваивания исходного значения счётчика циклов. Второе выражение «Условие» — это и есть главное условие проверки, имеющее синтаксис, аналогичный операторам «if» и «while». При выполнении условия цикл сразу завершается и управление передаётся вниз за пределы фигурных скобок. Третье выражение «Действие», как правило, содержит оператор увеличения/уменьшения счётчика и выполняется в конце каждой итерации.
6.5.5. Операторы переходов Рис. 6.26. Сравнение циклов «for»: а) с оператором «continue»; б) с оператором «Ьгеак» Оператор «goto» (в переводе с англ. «перейти к»). Оператор «goto» состоит из двух частей — ключевого слова «goto» и метки. Имена меток образуются по тем же правилам, что и имена переменных. Например, Данная категория операторов применяется относительно редко. К их числу относятся: «Ьгеак», «continue», «goto» и «return». Считается, что слишком частое использование операторов переходов ухудшает читаемость программы и затрудняет её модификацию. Но, все же, бывают моменты, когда без операторов, организующих переходы, — «как без воды». Оператор «Ьгеак» (в переводе с англ. «прерывать»). Этот старый знакомый уже встречался при изучении оператора «switch» на Рис. 6.22, б, в. Именно он организовывал досрочный выход из процедуры множественного сравнения «кейсов». Оператор «Ьгеак» в одиночку бесполезен. Его надо вводить внутрь тела одного из четырёх операторов: «switch», «while», «do-while», «for». При помощи оператора «Ьгеак» досрочно прерывается выполнение основного цикла и пропускаются оставшиеся команды, после чего управление передаётся вниз к самому первому оператору после закрывающей фигурной скобки. Если оператор «Ьгеак» находится внутри нескольких вложенных друг в друга циклов, то его действие распространяется только на внутренний цикл, т.е. на тот, в котором он содержится. Именно из-за этого нюанса у программистов возникают трудности и ошибки при отлаживании больших по объёму листингов. Интересное наблюдение. Оператор «Ьгеак» является абсолютно прозрачным по отношению к операторам выбора «if» и «if-else». Он беспрепятственно «проходит» сквозь их фигурные скобки, что надо учитывать на практике. Оператор «continue» (в переводе с англ. «продолжать»). Сфера применения оператора «continue» меньше, чем у оператора «Ьгеак». Он работает лишь с тремя циклами: «while», «do-while», «for» и является прозрачным для операторов «if», «if-else». Главное различие между «continue» и «Ьгеак» заключается в том, что вместо досрочного завершения цикла осуществляется досрочное завершение текущей итерации с пропуском оставшихся команд. Это более мягкое условие, не приводящее сразу к окончанию цикла (Рис. 6.26, а, б).
при выполнении оператора «goto metka;» управление передаётся на тот оператор, в начале которого слева указано ключевое слово «metka:». Оно может находиться в любом, самом неожиданном месте программы. При этом не обращается внимание ни на вложенные циклы, ни на условия проверки, ни на незавершённые вычисления. Переход производится напрямую в любую строку программы, причём без задержек во времени и без окончания текущих операций. Вот тут-то и кроется «терра инкогнита» для начинающих программистов, поскольку надо иметь большой опыт, чтобы учесть все последствия, возникающие после выхода из прерванной процедуры при неизвестно чем заполненном стеке и загадочном состоянии регистров специальных функций. Чтобы избежать путаницы, разработаны стандартные приёмы, которые позволяют заменить все без исключения конструкции «goto» связками обычных Си- операторов. Конкретные примеры приведены в [6-6]. Родоначальники языка Си, Б.Керниган и Д.Ритчи, тоже призывают применять оператор «goto» как можно реже или не применять его совсем [6-7]. Существует лишь один частный случай, когда оператор «goto» полезен — это быстрый выход из многократно вложенных циклов при обнаружении каких-либо аварийных или внештатных ситуаций. Оператор «Ьгеак» здесь пасует, поскольку даёт возможность выхода только из самого внутреннего цикла, а вот оператор «goto» — из любого, в том числе из бесконечного. На Рис 6.27, а, б показаны каркасы программ, моделирующие безусловные переходы вверх и вниз. В каком бы глубоком цикле не находился оператор «goto», управление будет сразу же передано на метку «sl:» (имя выбирается произвольно). Если метка указывает на первый оператор программы, то произойдёт «мягкий» сброс МК. В этом случае разработчику надо предусмотреть начальную инициализацию всех без исключения используемых в программе регистров специальных функций и чёткую установку всех задействованных по схеме линий портов. Рис. 6.27. Форма записи оператора «goto»: а) с переходом вверх; б) с переходом вниз. В языке Basic тоже существует оператор «GO ТО», причём применяется он настолько часто, что листинги программ аж пестрят прямыми переходами. В языке Си, наоборот, от «goto» стараются избавляться разными способами. Очевидно, что любителям Basic придётся адаптироваться к такому стилю программирования. Оператор «return» (в переводе с англ. «возвращаться»). Этот оператор несколько обособлен от своих сородичей, поскольку применяется без ограничений. Его роль — организация корректного выхода из функций. Именно о них и пойдёт речь дальше.
6.6. Функции языка Си 6.6.1. Что такое функция? По определению — это самостоятельная единица программы, спроектированная для реализации конкретной задачи. Если проще, то функция представляет собой связку из нескольких операторов, выделенных в отдельный блок. На функцию распространяются все правила и стандарты языка Си. Положительные моменты: • функцию в любой момент времени и в любом месте программы можно вызвать на выполнение, причём неоднократно; • функции избавляют программиста от рутинного клонирования массы повторяющихся операторов; • одну и ту же функцию можно вставить в совершенно разные программы, сокращая тем самым время на разработку и отладку; • применение функций повышает модульность программы, её структурированность, что облегчает чтение листинга, ускоряет внесение изменений. Что надо знать о функциях? Во-первых, как правильно их вызывать из программы, во-вторых, как оформлять в отдельные библиотеки, в-третьих, как устанавливать взаимосвязи с другими функциями. Функции в языке Си можно условно разделить на три вида: системные, внутренние и внешние. Системные функции прилагаются к любому компилятору. В WinAVR их можно найти в библиотечном справочнике, находящемся по адресу C:\WinAVR-2010010\ doc\avr-libc\avr-libc-user-manual.pdf (далее — «Библиотечное руководство»). Каждая системная функция входит строго в свою библиотеку. Названия библиотек и функций в разных компиляторах отличаются. Объявление используемых библиотек производится в «шапке» программы директивой препроцессора «#include <имя заголовочного файла-хеддера>». Символ «#» пишется слитно со словом «include» и обязательно начинается в первом столбце листинга. «Хедцер» — это файл с расширением «.h», в котором описываются параметры функций. К системным также относится головная функция «таіп», без которой не обходится ни одна программа в языке Си. Строго говоря, использование системных функций затрудняет переносимость программ с одной платформы МК на другую. В разных компиляторах исповедуют разную философию программирования. Например, одни разработчики стараются включать в состав компилятора только международно стандартизованные библиотеки и функции, другие — наоборот, создают множество своих узкоспециализированных функций, которые очень удобные для программистов, но абсолютно далёкие от стандартов. Компилятор AVR-GCC, используемый в пакете WinAVR, занимает по сравнению с другими компиляторами золотую середину. В его составе имеются примерно в равной части функции общепринятых стандартов ANSI, С99, а также собственные микроконтроллерные библиотеки. Досконально изучив системные функции одного компилятора, программист в какой-то мере «привязывается» к ним и не хочет переучиваться на новые. Вот где
требуется поистине шахматный расчёт, чтобы с первого раза выбрать для изучения солидный, мощный и постоянно обновляемый (а значит, «живой»!) компилятор. К слову сказать, AVR-GCC пока оправдывает все ожидания пользователей. В стандартные библиотеки компиляторов, наряду с функциями, входят также системные макроопределения, например, специфические для пакета WinAVR «_BV», «bit_is_set», «bit_is_clear». Подробности их применения освещаются в «Библиотечном руководстве». Внутренние функции создаются самим программистом. Их число в программе ограничивается лишь фантазией разработчика. Внутренние функции, как правило, дописываются в конце или в начале общего листинга и могут вызываться как из основной программы, так и из других функций. Особое положение занимают обработчики прерываний, которые семантически тоже относятся к внутренним функциям, хотя имеют особую систему описания. Сколько раз должна вызываться внутренняя функция? Желательно два и более раза, иначе теряются преимущества от её применения. Использование внутренних функций эффективно там, где требуется много раз выполнять одни и те же повторяющиеся действия. Чем чаще вызываются функции, тем выше получается степень сжатия программного кода. Внешние функции, согласно определению, находятся вне основного листинга, а именно, в отдельном файле. По структуре они аналогичны внутренним функциям. Но зачем же тогда их выделяют в отдельную группу? Причин несколько. 1. У компиляторов имеются физические ограничения на длину обрабатываемых файлов. Например, если при компиляции одного большого листинга появляется сообщение об ошибке «Еггог», то можно часть внутренних функций выделить в отдельный файл (сделать их внешними) и всё пройдёт нормально. 2. Программы с большим числом строк труднее поддаются анализу, коррекции, отладке. Чтобы соблюсти принцип модульности, желательно разбивать программу на логически обособленные мелкие части, которые легко редактируются, переставляются, заменяются. 3. Если сделать внешние функции максимально автономными в работе, то их в будущем можно использовать совместно с другими программами. Дальновидные программисты стараются создавать свои «родные» библиотеки, состоящие из специализированных функций. К примеру, хороший набор готовых внешних функций для AVR-контроллеров содержится в бесплатной библиотеке Паскаля Стэнга [6-20]. По устоявшейся традиции, все имена функций, как и имена переменных, записывают малыми латинскими буквами. Цифры допускаются во всех позициях имени, кроме первой слева. Названия системных функций изменять нельзя, они определяются стандартами, в отличие от внутренних и внешних функций, имена которым придумывают, кто как хочет. Единственное ограничение, чтобы новые названия отличались от названий системных функций, иначе компилятор выдаёт сообщение об ошибке: «Еггог previous definition». За именем функции обязательно следуют круглые скобки, в которых при необходимости указывают передаваемые/принимаемые параметры. В Табл. 6.9 перечислены все допустимые форматы объявления и вызова функций в AVR-GCC.
Таблица 6.9. Форматы объявления и вызова функций в AVR-GCC Формат объявления функции «example()» Комментарии, пояснения Пример вызова функции «example()» void example (void) Функция не имеет ни входных, ни выходных параметров example (); void example (unsigned char d) Функция принимает число из переменной «х» и транслирует его в переменную «d» example (х); unsigned char example (void) Функция передаёт в основную программу число «х» с размерностью «unsigned спаг» х = example (); unsigned char example (unsigned chard) Функция имеет входной (переменная «у») и выходной («unsigned спаг» х) параметры х = example (у); Примечание. Вместо «unsigned char» может быть любой другой тип, например, «unsigned int». 6.6.2. Разновидности Си-программ Наличие в программе функций накладывает отпечаток на построение листинга. Обзорно можно выделить несколько конструкций: • программа имеет только системные функции («Архитектура-1»); • программа имеет системные и внутренние функции («Архитектура-2»); • программа имеет обработчик прерываний («Архитектура-3»); • программа имеет системные и внешние функции («Архитектура-4»). Теоретически любую микроконтроллерную Си-программу можно построить по любой из перечисленных архитектур, но отличаться они будут длиной листинга и скоростью выполнения операций. Чаще всего встречаются программы, в которых смешано несколько архитектур. Например, мирно уживаются системные, внутренние и внешние функции, дополненные обработчиком прерываний. «Архитектура-1» (системные функции). Листинг, приведенный на Рис. 6.7, относятся к «Архитектуре-1», поскольку содержит одну лишь системную функцию «таіп». В других, более сложных программах, системных библиотечных функций может быть несколько (Рис. 6.28). Рис. 6.28. Структурная схема Си-программы с «Архитектурой-1».
Выполнение программы начинается с «Оператора-1» главной системной функции «таіп». Как только управление перейдёт к оператору «_delay_ms (10)», компилятор определяет, что это библиотечная функция и автоматически подставляет вместо неё определённый блок ассемблерных команд, выполняющих задержку времени ровно на 10 мс. Поскольку вмешаться в данный процесс нельзя, то функция получается не зависящей от желания программиста, т.е. системная. В AVR-GCC многие системные функции начинаются с символа подчёркивания «_» или имеют этот символ внутри названия функции. Практическая рекомендация — при составлении своих собственных функций, их названия не должны начинаться с символа «_». «Архитектура-2» (системные и внутренние функции). Философия языка Си заключается в толерантности к выбору алгоритмов. Никто не осудит человека, который составит простую и длинную, как «трубопровод», программу с использованием «Архитектуры-1». Лишь бы терпения и внимательности хватило, да коды прошивки поместились в память МК. Однако рано или поздно приходит понимание того, что физические возможности МК не безграничны. Проблема сокращения объёма программы заставляет искать более экономичные построения. На Рис. 6.29 показаны взаимосвязи в Си-программе с «Архитектурой-2», где применяется внутренняя функция с абстрактным именем «test». Рис. 6.29. Структурная схема программы с «Архитектурой-2». Работа программы, как и прежде, начинается с функции «таіп». Выполняется «Оператор-1» и далее до строки «test ();», после чего нормальный ход программы прерывается и управление передаётся на «Оператор-N», но уже функции «test». Затем последовательно выполняются операторы «N»...«T» и по команде «return» происходит возврат в основную программу к следующему по счёту «Оператору-К».
«Архитектура-3» (системные функции и прерывания). Прерывания, таймеры и счётчики в микроконтроллерной технике — это особый класс понятий. Их удобно применять, но сложно изучать, особенно на начальном этапе. Основная проблема кроется не в идеологии обработки прерываний, а в запутанной системе инициализации регистров специальных функций. Чтобы облегчить задачу, предлагается для каждой разновидности прерываний конкретного МК составлять таблицу Си-операторов, отвечающих за активацию определённых режимов. Программисту понадобится лишь правильно скомпоновать Си-операторы применительно к требуемым режимам и вставить их единым блоком в программу. К сожалению, универсальной таблицы для всех AVR- контроллеров сделать не получится. В каждом конкретном случае надо внимательно читать даташиты, написанные на языке Шекспира, или ознакомиться с их русифицированными переводами [6-21]. Таймеры/счётчики являются базовыми элементами системы прерываний любого МК. По внутреннему устройству это наборы регистров, в которые можно записать и из которых можно считать информацию. Количество таймеров/счётчиков и их функции различаются у разных моделей семейства ATmega. Обозначаются они индексами «О»...«5». Чтобы не распыляться, далее будут рассмотрены только самые простые таймеры/счётчики с индексом «О». Прерывания делятся на внутренние, зависящие от тайминга тактового генератора МК, и внешние, где управляющие сигналы подаются извне через строго назначенные линии портов. В фирменном даташите МК ATmega48A [6-9] фигурирует обобщённое понятие «таймер/счётчик» (Timer/Counter). Однако не будет большой крамолы, если для облегчения понимания разбить одно целое на две части: таймер и счётчик. Таймер в МК похож на обычный секундомер, только отсчитывает он не секунды, а машинные такты. Длительность одного машинного такта обратно пропорциональна F_CPU — тактовой частоте МК. Зная её , нетрудно подсчитать физическое время по обратной пропорции 1 /F_CPU. Например, для частоты 1 МГц время одного «тика» таймера МК составляет ровно 1 мкс. Таймер можно образно представить в виде механического будильника, который «гудит» ровно в 12 часов. После этого он либо продолжает свободный счёт до полного обхода циферблата, либо его стрелки принудительно переводятся вперёд, например, на 9 часов 43 минуты. В первом варианте таймер будет подавать сигнал каждые 12 часов, во втором — каждые 2 часа 17 минут. Под словом «сигнал» программисты понимают прерывание. В ATmega48A насчитывается три таймера, а именно, 8-битный «Таймер-0», 16-битный «Таймер-1» и 8-битный «Таймер-2». Таймеры работают независимо друг от друга и от основной программы, в том смысле, что программисту не надо вставлять в листинг операторы, постоянно корректирующие «часы». Главное, изначально правильно настроить режим счёта при помощи регистров. Самым простым для изучения является «Таймер-0». Именно он отвечает за режим Normal, при котором по каждому тактовому импульсу изменяется состояние определённого счётного регистра от 0x00 до OxFF, а в момент перехода через 0x00 возникает прерывание (Табл. 6.10).
Таблица 6.10. Установка режима Normal «Таймера-0» в МК ATmega48A Режим работы в ATmega48A («Таймер-0») Операторы языка Си Примечание Запрет прерываний от «Таймера-0» TIMSK&= ~(_BV(TOIE0)); — Синхронизация с «Таймером-1» SFIOR |= _BV(PSR2 1 _BV(PSR10); — Остановка счёта «Таймера-0» TCCRO = 0x00; — Тактовая частота счёта F_CPU TCCR0 = 0x01; Без деления Тактовая частота счёта F_CPU /8 TCCRO = 0x02; Деление на 8 Тактовая частота счёта F_CPU /64 TCCRO = 0x03; Деление на 64 Тактовая частота счёта F_CPU /256 TCCRO = 0x04; Деление на 256 Тактовая частота счёта F_CPU /1024 TCCRO = 0x05; Деление на 1024 Загрузка числа «к» в счётный регистр TCNT0 = k; где k = 0x01...0xFF Принудительно Разрешение прерываний от «Таймера-0» TIMSK |= _BV(TOIE0); sei(); - Счётчик в МК похож на вертушку в метро, автоматически подсчитывающую число пересекающих её пассажиров. Счётчик можно настроить так, чтобы он выдавал сигнал (читай, прерывание) после каждого входящего человека или после определённого числа посетителей. Разумеется, вместо людей МК подсчитывает электрические импульсы, поступающие на его линии портов с альтернативными названиями INTx или Тх, где «х» — порядковый номер индекса. В микросхеме ATmega48A имеются входы INTO (вывод 4), INT1 (вывод 5), ТО (вывод 6), Т1 (вывод 11). В условном обозначении МК их легко найти по надписям через дробь, например, PD2/INT0/PCINT18 (Рис. 6.9). Счётчики, как и таймеры, работают автономно. Как можно догадаться по названиям сигналов, к «Счётчику-0» относится вход INTO (счётчик одиночных импульсов или, по-другому, регистратор фронтов сигнала), а также вход ТО (счётчик пачек приходящих импульсов). Счётчик одиночных импульсов INTO генерирует прерывание по нарастающему/спадающему фронту входного сигнала или при появлении НИЗКОГО уровня (Табл. 6.11). Таблица 6.11. Установка режимов счётчика одиночных импульсов в МК AThiega48A Режим работы в AThiega48A («Счётчик-0», вход INTO) Операторы языка Си Запрет прерываний от «Счётчика-0» (INTO) GICR&= ~(_BV(INT0)); Срабатывание при НИЗКОМ уровне MCUCR&= ~(_BV(ISC00) &_BV(ISC01)); Срабатывание по спадающему фронту сигнала с ВЫСОКОГО в НИЗКИЙ уровень MCUCR &=-( BV(ISCOO)); MCUCR|=_BV(ISC01); Срабатывание по нарастающему фронту сигнала с НИЗКОГО в ВЫСОКИЙ уровень MCUCR |= _BV(ISC00) 1 _BV(ISC01); Срабатывание по любому спадающему или нарастающему фронту MCUCR|= BV(ISCOO); MCUCR &= ~(_BV(ISC01)); Разрешение прерываний от «Счётчика-0» (INTO) GICR|=_BV(INT0);sei(); Счётчик пачек импульсов TO работает подобно «Таймеру-0», но только вместо внутренних «тиков» тактовой частоты FCPU он подсчитывает количество внешних импульсов на входе ТО (Табл. 6.12). Общий запрет прерываний производится системной функцией «cli()», общее разрешение — системной функцией «sei()».
Таблица 6.12. Установка режимов счётчика пачек импульсов в МК ATmega48A Режим работы в AThiega48A («Счётчик-0», вход ТО) Операторы языка Си Запрет прерываний от «Счётчика-О» (ТО) TIMSK&= ~(_BV(TOIE0)); Счёт по спадающему фронту импульсов с ВЫСОКОГО в НИЗКИЙ уровень TCCRO = 0x06; Счёт по нарастающему фронту импульсов с НИЗКОГО в ВЫСОКИЙ уровень TCCRO = 0x07; Загрузка числа «к» в счётный регистр TCNTO = k; где k = 0x01...OxFF Разрешение прерываний от «Счётчика-О» (ТО) TIMSK |= _BV(TOIE0); sei(); Прерывания в МК — это программная реакция на некоторые важные события. Среди них могут быть сигналы оповещения от таймеров/счётчиков, от каналов UART, АЦП, аналогового компаратора и т.д. Каждое прерывание оформляется в листинге как внутренняя функция, но с заранее заданным системным именем. К сожалению, разработчики компиляторов не смогли договориться о едином стандарте. Поэтому, название «ISR(SIG_INTERRUPR0)», применяемое в компиляторе AVR-GCC, будет выдавать ошибку в компиляторе ICCAVR и наоборот. Более того, в прежних версиях WinAVR использовались другие названия функций прерывания, что следует учитывать при портировании «старых» листингов. С полным списком системных прерываний, применяемых в WinAVR-20100110, можно ознакомиться в «Библиотечном руководстве». На Рис. 6.30 показаны взаимосвязи в Си-программе с «Архитектурой-3», использующей обработчик прерываний. Главное её отличие от ранее рассмотренной конструкции на Рис. 6.29 заключается в плавающей точке выхода из основной программы. Это логично, поскольку прерывание может наступить в любой момент времени после любого из операторов «1»...«М». Рис. 6.30. Структурная схема программы с «Архитектурой-3».
Работа программы начинается с «Оператора-1». В нём или в нескольких последующих операторах должен быть настроен режим прерывания. Для этого используются тексты из правых колонок Табл. 6.11, Табл. 6.12. Заканчиваться блок инициализации должен командой «sei ()», разрешающей прерывания. В ходе выполнения программы все активные источники прерываний незаметно прослушиваются аппаратными средствами МК. Если какой-либо из источников «сработал», то сразу же будет произведён вызов обработчика прерываний, в данном случае «ISR» (Interrupt Service Routines). Выход из него осуществляется на следующую по счёту строку программы. Например, если вход в прерывание был с «Оператора-3», то возврат из прерывания будет на «Оператор-4». Наглядно представить себе, как происходят прерывания, поможет колоритная картинка из повседневной жизни. Предположим, человек дома, в кресле, читает газету. Зазвонил телефон, значит необходимо прервать чтение, подойти к телефону, поговорить, затем вернуться обратно и продолжить чтение. Не исключено, что телефон зазвонит ещё раз и всю процедуру придётся повторить заново. Применительно к МК, «чтение газеты» — это процесс последовательного выполнения операторов в программе; «звонок» — запрос на прерывание; «ответ на звонок» — процедура обработки прерывания; «продолжение чтения» — возврат из прерывания в основную программу. Как известно, после начального рестарта МК компилятор AVR-GCC запрещает все прерывания. Проводя аналогию, можно сказать, что перед чтением газеты телефон был выключен из розетки. Однако его в любой момент можно включить обратно, если ожидается важный звонок. Точно так же и в МК существуют системная функция «sei()», которая оперативно включает (разрешает) прерывания. «Архитектура-4» (системные и внешние функции). Внешние функции по структуре аналогичны внутренним функциям, но поскольку они оформляются в виде одного или нескольких отдельных файлов, то имеют особенности компиляции. Взаимосвязи показаны на Рис 6.31. Рис. 6.31. Структурная схема программы с «Архитектурой-4»
Головной файл «ехатріе.с» содержит функцию «таіп», что и определяет его верховенство. Внешний файл «пате.с» начинается с собственного заголовка, в котором, как и положено, перечисляются библиотеки, переменные, константы, макроопределения. Связь между функциями файлов «ехатріе.с» и «пате.с» осуществляется при помощи ключевого слова «extern» в третьей сверху строке головной программы. Это сокращение от англ. EXTERNal — «внешний, наружный». Внешних файлов, как и внешних функций, может быть несколько. Например, в одном из них хранятся функции ввода данных, в другом — вывода сигналов, в третьем — индикации ЖКИ и т.д. В дальнейшем мелкие внешние файлы могут быть объединены в пользовательские библиотеки для быстрой сборки больших по объёму проектов. Переменные, используемые в разных внешних файлах, можно сделать общими опять-таки через «магическое» слово «extern». Другой вариант — создать собственный заголовочный файл с расширением «.h», в котором будут перечислены прототипы функций, общие переменные и т.д. Если листинг состоит из нескольких сотен или тысяч строк, то такой подход является единственно правильным.
Список использованных источников и литературы к главе 6 6-1. WinAVR [Электронный ресурс] / SourceForge, 2010. — Режим доступа : http://winavr. sourceforge.net/ (англ.). — 07.01.2011. 6-2. GCC, the GNU Compiler Collection [Электронный ресурс] / Free Software Foundation, Inc., 2011. — Режим доступа : http://gcc.gnu.org/ (англ.). — 07.01.2011. 6-3. Analysis of Proportional and Integral Gains in a Motor Feedback Control System [Электронный ресурс] / Brian Coleman, 2005. — Режим доступа : http://claymore.engineer. gvsu.edu/~colemabc/index_files/assignments_files/lab%205.doc (англ.). — 07.01.2011. 6-4. Нефёдова, M. Профайл Ричарда Мэтью Столлмана / Мария Нефёдова // Хакер. — 2007. -№8(104). -С. 90-91. 6-5. GNU Operation System [Электронный ресурс] / Free Software Foundation, Inc., 2011.— Режим доступа : http://www.gnu.org/ (англ.). — 07.01.2011. 6-6. Уэйт, М. Язык Си. Руководство для начинающих: Пер. с англ. / Митчел Уэйт, Стефен Прата, Дональд Мартин. — М.: Мир, 1988. — 512 с. — ISBN 5-03-001309-1. 6-7. Керниган, Б. У. Язык программирования С, 2-е изд. / Брайен Керниган, Деннис Ритчи.- М.: Вильяме, 2007. - 304 с. - ISBN 0-13-110362-8. 6-8. Programmer's Notepad [Электронный ресурс] / Simon Steele, 2010. — Режим доступа : http://www.pnotepad.org/ (англ.). — 07.01.2011. 6-9. ATmega48A/48PA/88A/88PA/168A/168PA/328/328P (Datasheet Complete, Rev. 8271C- AVR-08/10) [Элект-ронный ресурс] / Atmel Corporation, 2010 — Режим доступа: http:// www.atmel.com/dyn/resources/prod_documents/doc8271.pdf (англ.). — 07.01.2011. 6-10. Holub, A. Enough Rope to Shoot Yourself in the Foot: Rules for С and С++ Programming / Allen I. Holub. - USA: McGraw-Hill, 1995.- 186 c. - ISBN 978-0070296893. 6-11. VMLab [Электронный ресурс] / Advanced Micro Tools, 2009. — Режим доступа : http:// www.amctools.com/vmlab.htm (англ.). — 07.01.2011. 6-12. PonyProg — serial device programmer [Электронный ресурс] / Claudio Lanconelli, 2008. — Режим доступа : http://www.lancos.com/prog.html (англ.). — 07.01.2011. 6-13. USBasp — USB programmer for Atmel AVR controllers [Электронный ресурс] / Thomas Fischl, 2009. — Режим доступа: http://www.fischl.de/usbasp/ (англ.). — 07.01.2011. 6-14. Рюмик, С. М. Микроконтроллеры DUINO. Сборка 1 / Сергей Рюмик // Радіоаматор. - 2010. - № 2. - С. 50-53. 6-15. SinaProg — графическая оболочка для AVRDude [Электронный ресурс] / «DI HALT», 2008. — Режим доступа : http://easyelectronics.ru/sinaprog-graficheskaya-obolochka- dlya-avrdude.html. — 07.01.2011. 6-16. AVRDUDE GUI [Электронный ресурс] / Janez Troha, 2009. — Режим доступа: http:// cupacup.wordpress.com/projekti/avrdude-gui/ (словен.). — 07.01.2011. 6-17. Avrdude-GUI (yuki-lab.jp Version) [Электронный ресурс] / Kawakami Yukio, 2009. — Режим доступа: http://yuki-lab.jp/hw/avrdude-GUI/ (япон., англ.). — 07.01.2011. 6-18. FUSE калькулятор [Электронный ресурс] / Александр Белов, 2010. — Режим доступа : http://fusecalc.mirmk.net/. — 07.01.2011. 6-19. Secure MCU Readers [Электронный ресурс] / Semiconductors Research, 2011. — Режим доступа : http://www.semiresearch.com/index.php7-l665404092 (англ.). — 07.01.2011. 6-20. Procyon AVRlib [Электронный ресурс] / Pascal Stang, 2006. — Режим доступа : http:// www.mil.ufl.edu/~chrisarnold/components/microcontrollerBoard/AVR/avrlib/docs/html/ main.html (англ.). — 07.01.2011. 6-21. Евстифеев, А. В. Микроконтроллеры AVR семейств Tiny и Mega фирмы ATMEL, 5-е изд. / Андрей Евстифеев. — М. : Издательский дом «Додэка-ХХ1», 2008. — 560 с. — ISBN 978-5-94120-220-1.
ПОСЛЕСЛОВИЕ Всякая книга, как таблетка, рассасывается, хотя иной раз не бесследно (Владимир Леви) Микроконтроллерная техника по праву считается одним из самых интересных направлений в радиолюбительской деятельности. Популярность миниатюрных конструкций, использующих МК, вызывает два непреодолимых желания: повторить и усовершенствовать. В последнем случае необходимы навыки разработчика, способного нарисовать схему, уяснить принцип работы, составить управляющую программу, смоделировать её поведение на компьютере и воплотить задуманное в жизнь. Настоящий материал в какой-то мере помогает найти подсказки по всему технологическому циклу разработки. За последние десятилетия объёмы продажи МК стабильно растут вверх. Постоянно увеличивается число сторонних фирм, разрабатывающих и выпускающих программные и аппаратные средства поддержки. Области применения МК многогранны — от простейших игрушек до интеллектуальных датчиков и сложных систем управления, контроля, связи. Общее число изготавливаемых за один год МК больше, чем количество людей, проживающих на планете. Если попытаться спрогнозировать ближайшее будущее, то для обычных (не специализированных) МК видится следующий прогресс: • увеличение разрядности процессорного ядра с 8... 16 до 32...64 битов; • увеличение тактовой частоты с 16...24 до 200...800 МГц; • увеличение объёма флэш-ПЗУ с 8...256 Кбайт до 1...4 Мбайт; • снижение напряжения питания с 3...5 до 0.9...2.7 В; • увеличение разрядности АЦП, ЦАП с 8... 10 до 12...24 битов; • поддержка операционных систем реального времени; • использование загрузчика для удалённого перепрограммирования ПЗУ; • расширение номенклатуры поддерживаемых внешних интерфейсов; • конфигурация любого вывода на любую функцию программным способом; • введение в МК интегрального стабилизатора питания; • размещение на кристалле МК аналоговых и цифровых ячеек ПЛИС. Технически подкованный специалист может заметить, что практически всё из перечисленного списка уже реализовано на практике, но только в профессиональных узкоспециализированных МК разных фирм-изготовителей. Прогнозируемые параметры тоже могут быть превзойдены, если учесть семимильные шаги прогресса в области нанотехнологий.
Радиолюбители должны набраться терпения и дождаться того момента, когда произойдёт очередной скачок по спирали развития и недорогие МК с улучшенными параметрами станут доступны массовому покупателю. Можно предположить, что в более отдалённой перспективе МК будут классифицироваться уже не по разрядности и объёму памяти, а по числу транзисторов на кристалле и количеству выводов корпуса. Например, при описании конкретной конструкции достаточно указать, что требуется МК в 16-выводном корпусе с числом транзисторов не менее 40 млн. Все остальные параметры будут примерно однотипными, а нужные интерфейсы, узлы и функциональные возможности пользователь сможет выбрать самостоятельно при иницализации и программировании микросхемы. В будущее, как в поезд, на ходу не впрыгнешь. Насколько быстро во времени произойдут такие перемены — зависит, в первую очередь, от сроков внедрения элитарных разработок в массовое производство. Например, в 2006 г. появились сообщения о том, что в университете Иллинойса были изготовлены опытные образцы транзисторов с частотой переключения 765 ГГц при комнатной температуре. Если бы свершилось чудо и такие транзисторы уже сейчас появились в составе обычных МК, то радиолюбительские конструкции имели бы просто фантастические возможности. До той поры, пока МК будут существовать в виде отдельных микросхем, сохранится спрос и на типовые схемы входных/выходных узлов, и на схемы подключения различных интерфейсов, и на мини-учебник по основам языка Си, и на бесплатные программы, подобные WinAVR и VMLab. Этот материал свою актуальность не утратит и бесполезным не станет. Читателям же остаётся пожелать успешно осваивать программирование, изучать схемотехнику, конструирование, а полученные знания обязательно принесут пользу и вернутся сторицей.
ПРИЛОЖЕНИЕ 1 СОДЕРЖАНИЕ КОМПАКТ-ДИСКА Хорошо то, что быстро и вовремя (Английская поговорка) Быстрота поиска информации в наше время решает, без преувеличения, всё. Доступом к Интернету сейчас никого не удивишь, однако он не всегда бывает под рукой. Чтобы сэкономить время, архив редко используемых данных, в частности, даташиты и большие по объёму инсталляторы программ, удобно хранить на «флэшке» или в отдельном компакт-диске. Именно такой компакт-диск как раз и прилагается к настоящей книге. Информация в нём сгруппирована по тематическим разделам. К теоретической части книги относится папка «Datasheets» с техническими данными на применяемые ЭРИ. Это подборка файлов с расширением *.pdf, просмотреть которые можно программами Foxit Reader, Adobe Acrobat. К практической части книги относятся папки: «Freeware» с пакетом свободно распространяемых программ; «СотрПег» с подборкой компиляторов языка Си; «Simulator» с симулятором электронных схем VMLab. К учебной части книги относятся папки: «Video» с видеороликами, которые демонстрируют основные приёмы работы в среде WinAVR и порядок моделирования в симуляторе VMLab; «Other» с дополнительными материалами, которые могут пригодиться при самостоятельном изучении МК по статьям из радиолюбительских журналов. Все приведенные программы и даташиты свободно доступны в Интернете и не имеют ограничений по сроку использования. Их свежие версии можно найти по названиям через поисковые сайты Google (http://www.google.com/), Yandex (http://www.yandex.ru/) и т.д. Папка «Datasheets» Папка содержит файлы справочных данных (даташитов) на радиоэлементы, встречающиеся в электрических схемах настоящей книги и её первого выпуска. Названия файлов переименованы так, чтобы легче было проводить сортировку по первым буквам (цифрам) названия ЭРИ. При старте компакт-диска появляется удобное меню, позволяющее быстро находить требуемые радиодетали. При подборке документов использовались материалы сайтов: DatasheetCatalog (http://www.datasheetcatalog.com), Platan (http://www.platan.ru/), Радиоман (http:// www.radioman-portal.ru/), В. Козак (http://www.inp.nsk.su/~kozak/start.htm) и др.
Папка «Freeware» Папка «СотрНег» Папка содержит инсталляционные пакеты различных компиляторов языка Си применительно к AVR-контроллерам: WinAVR-20100110 (текущая версия с компилятором AVR-GCC-4.3.3); C-AVR (демо-версия для сравнения возможностей с WinAVR); CodeVision (демо-версия для сравнения возможностей с WinAVR). Папка «Simulator» Папка содержит инсталлятор программы компьютерного моделирования VMLab-3.15 (фирма Advanced Micro Tools). Папка «Video» Папка содержит файлы видеороликов в формате *.htm, в которых предусмотрена анимация действий с поясняющими надписями. Навигация от сцены к сцене производится экранными кнопками. Папки рассортированы по темам видеоуроков: Video_WinAVR (порядок инсталляции среды WinAVR); Video_MFile (порядок создания «такеШе»); Video_PN2 (порядок работы с программой PN2); Video_Compiler (порядок компиляции проекта); Video_VMLabl...VMLab3 (порядок работы с программой VMLab). Папка «Other» Папка содержит дополнительные авторские материалы к циклам статей про МК для начинающих из журнала «Радіоаматор» за 2010 г. Кроме того, продублированы файлы листингов и проектов, разработанных и упоминаемых в настоящей книге. Папка содержит подборку бесплатного софта «на каждый день» согласно Табл. 6.2, а также программу Foxit Reader-5.0.1 (фирма Foxit Corporation) для просмотра файлов с расширением *.pdf. Кроме инсталляционных файлов к некоторым программам добавлены файлы русификации и плагины.
ПРИЛОЖЕНИЕ 2 ССЫЛКИ И АДРЕСА В ИНТЕРНЕТЕ Если вас нет в Интернете, значит вас вообще нет! (Билл Гейтс) В Табл. П2.1, Табл. П2.2 приведены списки печатных изданий разных лет выпуска, которые рассматривались при составлении электрических схем настоящей книги. Некоторые журналы уже не выпускаются — «Радиопарад», «Радиолюбитель. Ваш компьютер», «Радиомир. Ваш компьютер», «Радио-Дизайн», «Схемотехника». Таблица П2.1. Интернет-адреса печатных изданий стран СНГ Журнал Страна (город) Интернет-адрес на 07.01.2011 г. М одел ист- конструктор Россия (г. Москва) http://www.modelist-konstruktor.ru/ Радіоаматор Радиокомпоненты Радиопарад Электрик Украина (г. Киев) http://www.ra-publish.com.ua/ Радио Россия (г. Москва) http://www.radio.ru/ Радиодело Россия (г. Москва) http://www.radiodelo.com/ Радио-Дизайн Россия (г. Москва) rw3ay@mail.ru (адрес 2009 г.) Радиоконструктор Россия (г. Вологда) radiocon@vologda.ru Радиолюбитель Беларусь (г. Минск) http://radioliga.com/ Радиомир Радиомир. Ваш компьютер Радиолюбитель. Ваш компьютер Беларусь (г. Минск), Россия (г. Москва) http://radio-mir.com/ Радиосхема Украина (г. Киев) radioshema@ukr.net Радиохобби Украина (г. Киев) http://radiohobby.ldc.net/ Схемотехника Россия (г. Москва) http://www.dian.ru/ (адрес 2007 г.) CHIP NEWS Украина Украина (г. Киев) http://chipnews.com.ua/ Таблица П2.2. Интернет-адреса печатных изданий дальнего зарубежья Журнал Страна Интернет-адрес на 07.01.2011 г. Circuit Cellar США http://www.circuitcellar.com/ Elektor Electronics Великобритания http://www.elektor.com/ Elektronika dla Wszystkich Польша http://www.elportal.pl/ Elektronika Praktyczna Польша http://www.ep.com.pl/ Everyday Practical Electronics Великобритания, США http://www.epemag.com/ Funkamateur Германия http://www.funkamateur.de/ Nuts & Volts США http://www.nutsvolts.com/
В Табл. П2.3, Табл. П2.4 приведены списки фирм дальнего зарубежья и стран СНГ, которые упоминаются в книге. В основном это изготовители ЭРИ. Таблица П2.3. Интернет-адреса фирм дальнего зарубежья, которые упоминаются в книге Фирма Интернет-адрес на 07.01.2011 г. Advanced Acoustic Technology Corp. http://www.buzzer-speaker.com/ Advanced Micro Tools http://www.amctools.com/ Airtronics http://www.airtronics.net/ Alcatel-Lucent http://www.alcatel-lucent.com/ Allegro MicroSystems http://www.allegromicro.com/en/ AMD http://www.amd.com/ Analog Devices http://www.analog.com/ Atmel http://www.atmel.com/ Avago Technologies http://www.avagotech.com/ Bell Labs Сейчас в составе фирмы Alcatel-Lucent Bright LED Electronics Corp. http://www.brightled.co.kr/ Burr-Brown Сейчас в составе фирмы Texas Instruments Cirrus Logic http://www.cirrus.com/ Compaq Computer Corp. Сейчас в составе Hewlett-Packard, http://www.compaq.com/ Crydom http://www.crydom.com/ Crystal Semiconductor Сейчас в составе фирмы Cirrus Logic E-Lab Digital Engineering http://www.elabinc.com/ DEC Сейчас в составе фирмы Hewlett-Packard Diodes Incorporated http://www.diodes.com/ Fairchild http://www.fairchild.com/ FIC (Forward Industrial Company) http://www.ficrelay.com.hk/ Foxit Corporation http://www.foxitsoftware.com/ FTDI http://www.ftdichip.com/ General Electric Corp. http://www.ge.com/ Hewlett-Packard http://www8.hp.com Hitachi http://www.hitachi.com/ Holtek Semiconductor http://www.holtek.com/ HPInfoTechS.R.L. http://www.hpinfotech.ro/ IAR Systems http://www.iar.com/ IBM http ://www. ibm. com/ ImageCraft http://www.imagecraft.com/ Intel http://www.intel.com/ International Rectifier http://www.irf.com/ Kepo Electronic Co. http://www.kepo.com.tw/ Kingbright http://www.kingbright.com/ Laird Technologies http://www.lairdtech.com/ Lascar Electronics http://www.lascarelectronics.com/ Ligitek Electronics http://www.ligitek.com/ Lite-On Technology Corp. http://www.liteon.com/ Maxim Integrated Products Сейчас в составе фирмы Maxim/Dallas Maxim/Dallas http://www.maxim-ic.com/
Продолжение таблицы П2.3. Фирма Интернет-адрес на 07.01.2011 г. Melcor Corp. Сейчас в составе фирмы Laird Technologies Microchip Technology http://www.microchip.com/ mikro Elektronika http://www.mikroe.com/ Microsoft Corp. http://www.microsoft.com/ Microtips Technology http://www.microtips.com.tw/ Mobicon Group Limited http://www.mobicon.com/ Monsanto http://www.monsanto.com/ Motorola http://www.motorola.com/ Murata Manufacturing http://www.murata.com/ National Semiconductor http://www.national.com/ NEC Corp. http://www.nec.com/ Nichia Corp. http://www.nichia.co.jp/ Nokia http: //www. nokia. com/ Nortel http://www.nortel.com/ OKI http://www.oki.com/ OMRON Corp. http://www.omron.com/ ON Semiconductor http://www.onsemi.com/ Panasonic http://www.panasonic.com/ Philips http://www.philips.com/ Ramsey Electronics http://www.ramseyelectronics.com/ Ramtron International Corp. http://www.ramtron.com/ RCA http://www. rca.com/ Realtek Semiconductor Corp. http://www.realtek.com.tw/ Relpol S.A. http://www. relpol.pl/ RF Monolithics http://www.rfm.com/ RF Solutions http://www.rfsolutions.co.uk/ ROHM http://www.rohm.com/ Rowley Associates http://www.rowley.co.uk/ Samsung http://www.samsung.com/ Sanyo http://www.sanyo.com/ Seiko Epson Corp. http://global.epson.com/ Sharp http://sharp-world.com/ Siemens http://www.siemens.com/ Silicon Laboratories http://www.silabs.com/ SIM Technology http://www.sim.com/ Sitronix Technology Co. http://www.sitronix.com.tw/ SPJ Embedded Technologies Pvt. http://www.spjsystems.com/ Sonitron http://www.sonitron.be/ STM icroelectronics http://www.st.com/ Sunon http://www.sunon.com/ TeleControlli http://www.telecontrolli.com/ Teledyne Technologies http://www.teledyne.com/ Texas Instruments http://www.ti.com/ Toshiba http://www.toshiba.com/
Окончание таблицы П2.3. Фирма Интернет-адрес на 07.01.2011 г. Winstar Display Co. http://www.winstar.com.tw/ WIZnet http://www.wiznet.co.kr/ Xerox Corp. http://www.xerox.com/ Zetex Semiconductors Сейчас в составе фирмы Diodes Incorporated ZETTLER Electronics http://www.zettlerelectronics.com/ Таблица П2.4. Интернет-адреса фирм стран СНГ, которые упоминаются в книге Фирма Интернет-адрес на 07.01.2011 г. ООО «Криотерм» http://www.kryotherm.ru/ ОАО «Радий» http://www.radiy.ru/ ООО «Элемент- Преобразователь» http://www.element.zp.ua/
ПРИЛОЖЕНИЕ СПИСОК АББРЕВИАТУР Все точное коротко (ЖозефЖубер) АИМ — амплитудно-импульсная модуляция AM — амплитудная модуляция АТС — автоматическая телефонная станция АЦП — аналого-цифровый преобразователь АЧХ — амплитудно-частотная характеристика БИС — большая интегральная схема ВАХ — вольт-амперная характеристика ВИМ — время-импульсная модуляция ВЧ — высокочастотный ЕСПД — Единая система программной документации ЖК — жидкокристаллический ЖКИ — жидкокристаллический индикатор И К — инфракрасный ИОН — источник опорного напряжения KB — короткие волны КГИ — кадровый гасящий импульс КДПТ — коллекторный двигатель постоянного тока К И — кадровые импульсы КМОП — комплементарная структура «металл-оксид-полупроводник» КНИ — коэффициент нелинейных искажений КПД — коэффициент полезного действия КПК — карманный персональный компьютер КСИ — кадровый синхронизирующий импульс МДП — металл-диэлектрик-полупроводник МК — микроконтроллер МОП — металл-оксид-полупроводник МСВ — мигающий светодиод НЧ — низкочастотный ОАО — открытое акционерное общество ОЗУ — оперативное запоминающее устройство ООО — общество с ограниченной ответственностью ОУ — операционный усилитель ПЗУ — постоянное запоминающее устройство ПДУ — пульт дистанционного управления ПЛИС — программируемая логическая интегральная схема
ПСП — псевдослучайная последовательность ПЦТС — полный цветовой телевизионный сигнал ПЭВ — провод эмалированный влагостойкий САР — система автоматического регулирования СБИС — сверхбольшая интегральная схема СВЧ — сверхвысокочастотный СГИ — строчный гасящий импульс СИ — строчные импульсы ССИ — строчный синхронизирующий импульс СЧ — среднечастнотный СЭУ — силовой управляющий электрод ТСоП — телефонная сеть общего пользования ТТЛ — транзисторно-транзисторная логика УКВ — ультракороткие волны УНЧ — усилитель низкой частоты УПЧ — усилитель постоянного тока УЭ — управляющий электрод ФВЧ — фильтр высоких частот ФИМ — фазо-импульсная модуляция ФМ — фазовая модуляция ФНЧ — фильтр низких частот ЦАП — цифроаналоговый преобразователь ЦПУ — центральное процессорное устройство ЦТС — цирконат-титанат свинца ЧИМ — частотно-импульсная модуляция ЧМ — частотная модуляция ШД — шаговый двигатель ШИМ — широтно-импульсная модуляция ЭДС — электродвижущая сила ЭРИ — электрорадиоизделие
Сергей Максимович Рюмик 1000 и одна микроконтроллерная схема Выпуск 2 Подписано в печать 17.08.2011. Формат 70x100/16. Бумага офсетная. Печать офсетная. Объём 25 п. л. Усл. п. л. 32,4. Тираж 2000 экз. Код RYUMIK2. Заказ № Р-1252. Издательский дом «Додэка-XXI» ОКП95 3000 105318 Москва, а/я 70 Тел./факс: (495) 366-04-56, 365-26-95 E-mail: red@dodeca.ru Отпечатано в полном соответствии с качеством предоставленного электронного оригинал-макета в типографии филиала ОАО «ТАТМЕДИА» «ПИК «Идел-Пресс». 420066, г. Казань, ул. Декабристов, 2. E-mail: idelpress@mail.ru
Ищите первую книгу серии Рюмик С. М. 1000 и одна микронтроллерная схема Выпуск 1 + CD Год выпуска: 2010 г. ISBN 978-5-94120-211-9 Книга является первым выпуском своеобразной энциклопедии схем по применению микроконтроллеров. В ней представлено более 1000 электрических схем. Рассматриваются подсистемы ввода (подключение механических, ёмкостных, индуктивных, акустических, оптических, температурных и других датчиков), синхронизации (с использованием кварцевых и керамических резонаторов, RC- и /.С-генераторов), начального сброса (включая детекторы напряжения, сторожевые таймеры), а также организация питания. Все электрические схемы снабжены краткими пояснениями о назначении элементов. Главные принципы подачи материала—логичное и понятное изложение теории, дополненное большим количеством полезной практической информации. К книге прилагается компакт-диск с программами и справочными данными на применяемые в схемах радиоэлементы: микросхемы, транзисторы, датчики, диоды и т.д. Книга будет полезна разработчикам электронной аппаратуры, радиолюбителям (в том числе начинающим), студентам, а также всем неспециалистам в области электроники, самостоятельно осваивающим микроконтроллеры.