Текст
                    А. С. Фишер-Криппс
Интерфейсы
Измерительных
Систем
СПРАВОЧНОЕ РУКОВОДСТВО
Компьютеры, Преобразователи,
Инструментальные средства,
Обработка сигналов
* 

Интерфейсы измерительных систем Справочное руководство А.С. Фишер-Криппс
Newnes Interfacing Companion A.C. Fischer-Cripps Newnes OXFORD AMSTERDAM BOSTON LONDON NEW YORK PARIS SAN DIEGO SAN FRANCISCO SINGAPORE SYDNEY TOKYO
Интерфейсы измерительных систем Справочное руководство А.С. Фишер-Криппс Д^хнблогии ИЗДАТЕЛЬСКИЙ ДОМ «ТЕХНОЛОГИИ» Москва 2006
УДК 681.518.3 ББК 32.965 Фиш 68 Перевод с английского Щекин К. И., д.т.н. — часть 1 Локанцев А. А. — части 2, 3 Фишер-Криппс А. С. Фиш 68 Интерфейсы измерительных систем. Справочное руковод- ство: — М.: Издательский Дом «Технологии», 2006. — 336 с., илл., табл. ISBN 5-94833-017-6 Главной целью этой книги является изложение материала о преобразо- вателях, интерфейсах и электронике в яркой и запоминающейся манере. Кни- га объединяет физику, науку о вычислительной технике и электронике в на- учно-техническом контексте. Начиная с преобразования физических явле- ний в электрические сигналы, в книге рассматривается всеобъемлющее изу- чение вопроса от компьютерных интерфейсов до анализа данных и цифро- вой фильтрации. Книга охватывает очень большой объем, но отличается дос- таточной детализацией, позволяющей применить теорию на практике. Дополнительные практические задания помогают усвоить теоретическую часть, давая возможность читателю получить удовлетворение и опыт, скон- струировать самому действующую интерфейсную схему, которая может ра- ботать с любым персональным компьютером, имеющим последовательный порт. Эта книга может быть полезной для студентов, которые только начина- ют осваивать данный предмет, и послужит справочным материалом для опыт- ных инженеров, которые хотят освежить свои знания отдельных тем. УДК 681.518.3 ББК 32.965 Все права защищены. Никакая часть настоящей книги не может быть воспро- изведена или передана в какой бы то ни было форме и какими бы то ни было сред- ствами, будь то электронные или механические, включая фотокопирование и за- пись на магнитный носитель. При нарушении авторских прав применяются меры в соответствии с нормами Российского законодательства в области авторских прав. Данное издание «Интерфейсы измерительных систем. Справочное руковод- ство» Фишера-Криппса А. С. публикуется по договоренности с Elsevier Science Ltd, The Boulevard, Langford Lane, Kidington, 0X5 1 GB, England ISBN 0-7506-5720-0 ISBN 5-94833-017-6 © 2002 A. C. Fischer-Cripps © Издательский Дом «Технологии», 2006
Содержание Предисловие..................................................... 5 Часть 1. Преобразователи 1.0. Преобразователи............................................ 8 1.1. Измерительные системы...................................... 9 1.2. Температура................................................24 1.3. Свет.......................................................45 1.4. Положение и перемещение....................................56 1.5. Сила, давление и расход................................... 67 Часть 2. Сопряжение (интерфейс) 2.0. Сопряжение (интерфейс) ....................................90 2.2. Архитектура компьютера.....................................107 2.3. Язык ассемблер.............................................134 2.4. Сопряжение (Interfacing) ..................................156 2.5. Аналого-цифровое и цифро-аналоговое преобразование.........176 2.6. Передача данных............................................196 2.7. Программируемые логические контроллеры.....................220 2.8. Проект сбора данных........................................230 Часть 3. Обработка сигналов 3.0. Обработка сигналов.........................................252 3.1. Передаточная функция.......................................253 3.2 Активные фильтры............................................267 3.3. Инструментальный усилитель ................................287 3.4. Шумы.......................................................303 3.5. Цифровая обработка сигналов................................312 Предметный указатель ...........................................330 Литература, рекомендуемая для дальнейшего изучения..............335
Предисловие Главной целью этой книги является изложение материала о преоб- разователях, интерфейсах и электронике в яркой и запоминающейся ма- нере. Книга объединяет физику, науку о вычислительной технике и элек- тронике в научно-техническом контексте. Начиная с преобразования физических явлений в электрические сигналы, в книге рассматривает- ся всеобъемлющее изучение вопроса от компьютерных интерфейсов до анализа данных и цифровой фильтрации. Книга охватывает очень боль- шой объем, но отличается достаточной детализацией, позволяющей при- менить теорию на практике. Приводятся подробные объяснения весьма сложных понятий. Обзорные проблемы представляются достаточно сложными, что является своеобразным вызовом испытать чувство дос- тигнутого удовлетворения после их решения. Дополнительные практические задания помогают усвоить теорети- ческую часть, давая возможность читателю получить удовлетворение и опыт, сконструировать самому действующую интерфейсную схему, ко- торая может работать с любым персональным компьютером, имеющим последовательный порт. Эта книга может быть полезной для студентов, которые только начинают осваивать данный предмет, и послужит спра- вочным материалом для опытных инженеров, которые хотят освежить свои знания отдельных тем. В написании книги мне помогали многие мои коллеги. Моя ис- кренняя благодарность им. Особенно я благодарен вкладу Алека Бен- дели, Стефана Бака, Боба Грейвеса, Уолтера Калсеффа, Леса Киркапа, Джоффа Смита, Пола Уолкера, моим коллегам по технологическому университету в Сиднее, персоналу CSIPO отделения телекоммуника- ции и промышленной физики и всем моим бывшим студентам. Моя искренняя благодарность — моей жене и моей семье за их постоянную поддержку и содействие. И наконец, я благодарен Метью Динез, Джоди Бартон и всему издательскому коллективу фирмы «Ньюнес» за их ис- ключительно профессиональный и полезный подход ко всему процессу публикации. Тони Фишер-Криппс Килларни Хейс, Австралия, 2002
Часть 1: Преобразователи
1.0. Преобразователи Измерительная система связана с представлением одного физического явления другим. Цель измерительной системы — измерение и управле- ние физической системой.
1.1. Измерительные системы 1.1.1. Преобразователи Наиболее интересны физические свойства и рабочие характеристики преобразователей. Ниже даны несколько примеров. Свойство Метод измерения Усилие Тензометр, резистивный преобразователь, в котором сопротивление изменяется в зависимости от изменения его длины Температура Терморезистор, термопара, термистор, термостолбик Влажность Изменение сопротивления в зависимости от изменения влажности материала Давление Движение конца охлажденной трубки в зависимости от изменения давления Электрическое напряжение Вращение катушки в магнитном поле Радиоактивность Электрические импульсы, возникающие в результате ионизации газа при низком давлении Магнитное поле Отклонение проводника из-за проходящего в нем тока Рабочие характеристики Статические Чувствительность Нулевая точка Линейность Диапазон Разрешающая способность Порог Гистерезис Воспроизводимость Динамические Время отклика Затухание Собственная частота Частота отклика Внешние Диапазон рабочих температур Ориентация Вибрация/удар
Преобразователи 10 Рассмотрение этих характеристик влияет на выбор преобразователя для конкретного применения. Другими характеристиками, которые зачас- тую важны, являются срок службы, срок годности при хранении, требо- вания к потребляемой энергии и вопросы безопасности прибора, а так- же стоимость и ремонтопригодность. В промышленности измеряемое или контролируемое свойство называ- ется контролируемым параметром. Управление технологическим про- цессом представляет собой процедуру, используемую для измерения этого параметра, и управление им в пределах допустимого уровня от за- данного значения. Контролируемый параметр является одним из не- скольких параметров процесса и измеряется с помощью преобразова- теля и управляется с помощью привода. 1.1.2. Методы измерения Все измерения строятся на сравнении между измеряемым количеством и опорной стандартной величиной. Существуют два фундаментальных метода измерения. Нулевой метод (рис. 1.1): - прямое сравнение; - никакой нагрузки; - может быть относительно медленным. Неизвестный компонент вставляется в электроизмерительный мост, и значения других меняются для достижения состояния равновесия. При равновесии ток через гальванометр отсутствует R}R4 = ^1 _ &и_ С3 Метод отклонения (рис. 1.2): - косвенное сравнение; - отклонение от нуля до тех пор, пока не будет достигнуто состояние равновесия; - ограничен в воспроизводимости и точности; - нагружающий (сам преобразователь забирает определенное количе- ство энергии от измеряемой системы); - относительно быстрый.
1.1. Измерительные системы 11 Рис. 1.1. Нулевой метод: мостовая схема Рис. 1.2. Метод отклонения: вращение катушки вольтметра 1) указатель 2) магнит 3) катушка Хотя такой счетчик предназначен для очень высокого внутреннего со- противления, ему приходится забрать некоторое количество тока из из- меряемой цепи с тем, чтобы вызвать отклонение указателя. Это может повлиять на работу самой цепи и привести к неточным показаниям — особенно если выходное сопротивление измеряемого источника напря- жения велико. 1.1.3. Чувствительность Важным параметром каждого преобразователя является его чувстви- тельность. Это есть мера величины выхода, деленная на величину входа. тт выходной сигнал dO Чувствительность =-------------= —— входной сигнал di Например. Чувствительность термопары может быть определена как 10 мкВ/°С, указывая, что при каждом изменении температуры на градус меж- ду датчиком и «опорной» температурой выходной сигнал меняется на 10 мкВ. Эта чувствительность может и не быть постоянной по всему рабочему диапа- зону. Выходное напряжение большинства преобразователей находится в мил- ливольтовом диапазоне для использования в лабораториях и в сравни-
Преобразователи 12 тельно легких промышленных условиях. Для высокотяжелых промыш- ленных условий эксплуатации, выход обычно делают токовым, а не на- пряжением. Такие устройства обычно называют «трансмиттерами», а не преобразователями. В большинстве случаев велика вероятность того, что сигнал, выдавае- мый преобразователем, содержит шум или нежелательную информацию. Соотношение между полезным и нежелательными сигналами называ- ется отношением сигнал/шум или SNR (signal to Noise Ratio — SNR обыч- но выражается в децибелах). Чем выше это соотношение, тем лучше. В электронной аппаратуре шу- мовые сигналы часто возникают из-за случайного теплового движения электронов, и называется это белым шумом. Белый шум возникает на всех частотах. Напряжение сигнала SNR = 201og10§- Напряжение шума Первая стадия любого усиления сигнала является самой критичной, когда необходимо учитывать шумы. В наиболее чувствительных при- борах предусилитель вплотную подсоединяется к преобразователю для того, чтобы минимизировать шум и обеспечить передачу усиленного сигнала в главный усилитель или усилитель мощности. Шум, производимый преобразователем, ограничивает его способность обнаруживать очень слабые сигналы. Мерой его качества является спо- собность обнаружения, представленная как: наименее обнаруживаемый сигнал на входе Например: если для вольтметра d = 106В-1, это означает, что прибор может измерить такое низкое напряжение, как 10-6В. Наименее обнаруживаемый сигнал на входе часто называют шумовым порогом прибора. Величина шумового порога может быть ограничена самим преобразователем или влиянием окружающей среды.
1.1. Измерительные системы 13 1.1.4. Нулевая точка, линейность и диапазон измерения Диапазон преобразователя определяется максимальным и минималь- ным входными и выходными сигналами. Например: термопара имеет входной диапазон температур от -100 до +300 °C, а выходной диапазон напряжений — от -1 до +10 мВ. Диапазон, или полное отклонение шкалы gsd (gull scale deglectiori), есть максимальное изменение вариаций на входе или выходе: $ ~ б^Макс — б)мин Г диапазон выходной сигнал максимальный и минимальный Например: вышеупомянутая термопара имеет входной диапазон темпера- тур 400 °C и диапазон выходных напряжений 5—11 mV. Калибровочный контроль нулевой точки и диапазона
Преобразователи 14 Процентное выражение нелинейности описывает отклонение от линей- ной зависимости между входом и выходом. g Максимальная нелинейность=—х 100 5 Линейный выход можно получить, используя градуировочную таблицу или изменив выходной сигнал последующей электронной обработкой. Ошибки при установке нулевой точки могут возникнуть из-за ошибок калибровки, изменений или старения датчика, изменений в окружаю- щей среде и т. д. Ошибка является постоянной во всем диапазоне рабо- ты прибора. Ошибка в чувствительности, или ошибка диапазона, при- водит к тому, что выход будет отличаться от истинной величины на не- которую константу в процентах, т. е. ошибка пропорциональна величи- не выходного сигнала (изменение в наклоне). 1.1.5. Разрешающая способность, гистерезис и ошибка Постоянное увеличение входного сигнала иногда приводит к последо- вательности дискретных шагов в выходном сигнале благодаря природе преобразователя. Например: провод в обмотке потенциометра ис- пользуется в качестве преобразователя положения. Контактная щетка движется по обмотке, привнося пошаговое изменение в сопротивление (R одного оборота) с изменением расстояния. Разрешающая способность преобразователя определяется как размер шага, деленного на полное отклонение (gsd) или величину диапазона, и выражается в %. т. ^80 Разрешающая способность = — Например: разрешающая способность потенциометра в 100 оборотов — 1/100-1% \/1////11//\ Рис. 1.4
1.1. Измерительные системы 15 Для отдельного входного сигнала величина выходного сигнала может зависеть от того, увеличивается или уменьшается входной сигнал. Это называется гистерезисом. g Максимальный гистерезис = — х 100 В механических системах гистерезис обычно происходит из-за зазора в движущихся частях (например, между зубьями шестерен). Общий отклик преобразователя обычно дается ошибкой в процентах. Ошибка = —х 100 Рис. 1.6
Преобразователи 16 1.1.6. Преобразование Фурье Аналоговые входные сигналы, которые требуют использования цифро- аналогового преобразователя, как правило, содержат множества сину- соид с разными частотами. Реальные сигналы обычно представляют собой набор амплитуд и частот, которые изменяются со временем. Та- кие сигналы можно разбить на компонентные частоты и амплитуды, ис- пользуя метод, называемый преобразованием Фурье. Преобразование Фурье базируется на том, что любой периодический сигнал, какой бы сложной он ни был, можно представить как суперпозицию синусоидаль- ных волн соответствующей частоты и амплитуды. 4 4 4 у = —sinco£ + — sin Зсо£-F — sin 5со£ +... тс Зтс 5тс । Амплитуда компонент Частота компонент Например, прямоуголь- ный сигнал можно предста- вить, используя сумму от- дельных компонент синусои- дальных волн: Puc. 1.7 Преобразование Фурье, или разбивка сигнала на компонентные частоты, очень важно при рассмотрении процес- са фильтрации и преобразования аналогового сигнала в цифровой. 4 . у = — Sin CDZ 7U — sin (tit +— sin3co£ 7U Зтс 4 4 4 — sin (at + — sin 3(tit + — sin 5co£ тс Зтс 5тс
1.1. Измерительные системы 17 1.1.7. Динамический отклик Динамический отклик преобразователя связан с возможностью выхода реагировать на изменения на входе. Самый жесткий тест динамическо- го отклика заключается в подаче на вход ступенчатого сигнала и изме- рении временного отклика на выходе. Различные формы выходных сигналов Следующие параметры пред- ставляют особый интерес: - время нарастания; - время отклика; - постоянная времени т. Ступенчатый сигнал на входе вынуждает преобразователь реагировать на бесконечное количество компонентных ча- стот. Когда вход изменяется синусоидально, амплитуда вы- ходного сигнала может изме- няться в зависимости от часто- ты на входе, если частота на входе близка к резонансной частоте системы. Если частота Рис. 1.8
Преобразователи 18 Рис. 1.10 на входе выше, чем резонансная частота, тогда преобразователь не успе- вает за быстроменяющимся сигналом на входе и в результате сигнал на выходе уменьшается. 1.1.8. PID контроль Во многих системах для управления желаемым параметром использу- ется контур системы регулирования с обратной связью. Например, тер- мостат может быть использован вместе с электрическим нагреватель- ным элементом для поддержания температуры в печи. Такой контур си- стемы регулирования состоит из датчика, выход с которого является управляющим входным сигналом для привода. Разница между заданным значением и текущим значением контроли- руемого параметра является сигналом ошибки Де. Если ошибка больше определенного допустимого значения, или размаха ошибки, тогда кор- ректирующий сигнал, положительный или отрицательный, подается на привод, чтобы добиться уменьшения ошибки. В сложных системах сиг- нал ошибки обрабатывается PID контроллером до того, как сигнал кор- рекции будет подан на привод. PID контроллер определяет величину и тип сигнала коррекции, который должен быть подан на привод для сни- жения сигнала ошибки.
1.1. Измерительные системы 19 Характеристики PID контроллера выражаются в значениях прираще- ний. Сигнал коррекции 0 от PID контроллера равен сумме ошибки Де, умноженной на коэффициент усиления Кр, интегрального усиления Kv и дифференциального усиления Kd. O(t) = КрЛе + kedt + Kd^~ - Пропорциональный член заставляет контроллер генерировать сиг- нал на привод, амплитуда которого пропорциональна величине ошиб- ки, т.е. проводится большая по величине коррекция для того, чтобы откорректировать ошибку. - Интегральный член используется чтобы отклонить привод в конеч- ное состояние для того, чтобы преодолеть трение, или гистерезис, в системе. Это долгосрочная коррекция позволяет системе вернуться к заданной величине. - Дифференциальный сигнал вырабатывает затухающий отклик, который уменьшает осцилляцию. Величина дифференциальной коррекции зависит от скорости изменения величины сигнала ошибки. Если сигнал меняется быстро, производится большая кор- рекция. PID коррекция влияет на сигнал ошибки, который сам является функцией времени. Например, в сервоконтроле движения PID контроллер способен вызвать ускорение движущегося тела (например, рука робота), под- держивать постоянную ско- рость и замедлять до заданного положения. 1.1.9. Точность и воспроизводимость Точность — количественный показатель о близости измеряемого значе- ния к его истинной величине.
Преобразователи 20 Рис. 1.12. Килограмм — это единица массы и равняется массе международного эталона, хранящегося в Париже Существует разница между понятиями точности и прецизионности фи- зических измерений. Высокая точность не обязательно сопровождается высокой прецизион- ностью. Точность измеряется стандартным отклоне нием нескольких измерений. Высокая прецизионность измерений может также сопровождаться ши- роким разбросом в показаниях измерений, ведущим к низкой точности. + + + + • Истинная величина Высокая точность Низкая прецизионность Такое состояние может быть вызвано систематической ошибкой в измерительной системе (например, смещение нуля) + + + • Низкая точность Высокая прецизионность Истинная величина Такое состояние может быть вызвано случай- + + + ной ошибкой в измерительной системе + + _|_ Высокая точность Истинная величина Высокая прецизионность
1.1. Измерительные системы 21 1.1.10. Механические модели Отклик материалов и систем часто можно смоделировать пружинами и демпферами. Это позволяет легко смоделировать математически как статические, так и динамические процессы. Большинство материалов обладают механическими свойствами, которые присущи двум крайним состояниям — твердому и жидкому. Пружинам представляют «твердые» характеристики системы. Демпфера заменяют «жидкие» характеристи- ки системы. dx I 1 dF ----— — г Ч------ dt A. k dt Рис. 1.13 Рис. 1.14. Перемещение под воздействием ступенчатого сигнала постоянной силы
Преобразователи 22 Отклонение пружин Если две или более пружин соеди- нены параллельно, тогда они ис- пытывают общее одинаковое сме- щение. В данном случае общая же- сткость выражается: Если две или более пружин соеди- нены последовательно, затем на- гружены общей силой, тогда об- щая жесткость выражается: ////// 1=1 F. Рис. 1.15 1.1.11. Вопросы для повторения 1. У вращающейся катушки гальванометра последовательное сопротив- ление Rm = 120 Ом и полное отклонение при 2,5 мкА. Шкала дисп- лея поделена на 100 равных делений. Датчик должен быть использо- ван в качестве вольтметра, чтобы измерить ЭДС от источника в 3,0 В, у которого выходное сопротивление Ro равно 1,5 кОм. а) Определите сопротивление Rs, необходимое для подсоединения последовательно с гальванометром, чтобы получить диапазон из- мерения вольтметра 0-5 В. б) Определите неопределенность в измеряемой величине для выше- указанного источника ЭДС в зависимости от разрешающей спо- собности шкалы дисплея. в) Определите показания вольтметра, когда он подсоединен непос- редственно к источнику напряжения 3,0 В. (О т в е т: 2 МОм, 0,005 В, 2,9985 В)
1.1. Измерительные системы 23 2. Инфракрасный газовый анализатор используется для измерения кон- центрации окиси углерода (СО) в выхлопных газах транспортного средства. До начала измерения подается очищенный воздух, не со- держащий окиси углерода, и на выходном дисплее устанавливается О мВ. Затем калиброванная смесь СО в воздухе с концентрацией 400 ppm* и диапазон измерений устанавливаются таким образом, чтобы на выходе получить 400 мВ. Выхлопной газ затем отбирается прибором, показание которого при этом равно 350 мВ. После обна- руживается, что концентрация этой калиброванной смеси была оши- бочной и должна была быть равной 410 ppm. Предположив, что от- клик прибора линейный, определите скорректированную величину для измеряемой концентрации. (Ответ: 358,8) 3. На диаграмме указан выход линейного преобра- о зователя как функция его входа. / а) Какой формальный термин используется для / названия наклона этой линии? / б) Какой контроль используется для установки наклона во время калибровки: «ноль» или «ди- --------i апаз°н»? рис 117 4. Перечислите три статические, три динамические и три внешние ра- бочие характеристики, которые могут повлиять на выбор преобразо- вателя для его конкретного использования. 5. Демпфер и пружину при параллельном соединении (модель Войта) можно представить резистором (k становится R) и индуктивностью (л становится индуктивностью L) при последовательном соединении. Если применяемую силу заменить напряжением и результирующую деформацию заменить током, покажите, что величина приложенной силы и величина перемещения соотносятся как: |F| = y/k2 + со2Х2 |х| ppm — part per million — миллионные части (пример: 3 ppm = 3x10 6 ). {Прим, пер.)
1.2. Температура 1.2.1. Температура Измерение температуры, естественно, ассоциируется с определением температурной шкалы. Температурная шкала по Цельсию: определяется как О °C = точка замерзания воды 100 °C = точка кипения воды Температурная шкала по Фаренгейту: определяется как 32 °F = точка замерзания воды 212 °F = точка кипения воды Примечание: нормальное атмосферное давление (1 атм) равно 760 мм ртут- ного столба (р = 13,595 г/см3) при g = 9,80665 м с-2. °C = (°F-32)— v ’ 180 Международная температурная шкала основана на определении ряда базовых фиксированных точек. Эти базовые фиксированные точки ох- ватывают диапазон температур, которые обычно встречаются в промыш- ленных процессах. Таковыми являются (выраженные в °C): 1. Температура равновесия между жидким и газообразным состояния- ми кислорода при давлении 1 атм, которая составляет 182,97 °C. 2. Температура равновесия меду льдом и насыщенными парами воды при нормальном атмосферном давлении (точка замерзания), кото- рая составляет 0,000 °C. 3. Температура равновесия между водой в жидком состоянии и ее пара- ми при давлении 1 атм (точка кипения), которая составляет 100,000 °C. 4. Температура равновесия между жидкой серой и ее парами при дав- лении 1 атм, которая составляет 444,60 °C. 5. Температура равновесия между твердым и жидким состояниями се- ребра при нормальном атмосферном давлении, которая составляет 960,5 °C. 6. Температура равновесия между твердым и жидким состояниями зо- лота при нормальном атмосферном давлении, которая составляет 1063 °C.
1.2. Температура 25 Были определены и другие фиксированные точки, что облегчает калиб- ровку термометров в каждом отдельном применении. Некоторые примеры: - равновесие между твердым и газообразным углекислым газом -78,5 °C; - t° замерзания ртути: -38,87 °C; - t° замерзания олова: 231,8 °C; - t° замерзания свинца: 327,3 °C; - t° замерзания вольфрама: 3400 °C. 1.2.2. Образцовые термометры Температуры в промежутке между стандартными фиксированными точ- ками измеряются образцовыми термометрами, которые калибруются с использованием этих фиксируемых точек следующим образом: От -190 °C до точки замерзания воды температура измеряется по со- противлению термометра с платиновым резистором: RT= Ro (1 + ЛТ+ ВТ2 + С(Т- 100)3). Постоянные величины Ro, А, В, и С и степень нелинейности определя- ются от точки замерзания льда, точки кипения воды, фиксированных точек серы и кислорода. От точки замерзания воды до 660 °C температура измеряется по сопро- тивлению термометра с платиновым резистором 7?Г=7?О(1+ЛТ+В7^). Постоянные величины Ro, АиВи степень нелинейности определяются от точек замерзания воды, точки кипения воды и фиксированных точек для серы. От 600 °C до точки равновесия для золота (1063 °C) температуры из- меряются при помощи ЭДС, генерируемой с помощью платино-родие- вой термопары, где холодный спай находится при температуре 0 °C. Тем- пература находится из уравнения: ЭДС = Л + ЯТ+СТ2. Постоянные А, Ви С определяются из точек замерзания сурьмы и фик- сированных точек для серебра и золота.
Преобразователи 26 Выше точки равновесия золота температура определяется с использо- ванием радиационного пирометра, который сравнивает интенсивность света определенной длины волн с той, которую бы излучало черное тело при температуре Т. Примечание: в системе СИ единицей измерения температуры является Кельвин. Это температура, равная 1/273,16 температуры тройной точки воды. Тройная точка воды — это температура чистой воды, существующей в равно- весном состоянии льда, жидкости и пара. Представим, что температура воды в этой тройной точке равна 273,16 К. Эта температура соответствует 273,15 К, или 0°, что несколько ниже, чем тройная точка. Тройная точка используется в качестве стандартной фиксированной точки, поскольку она воспроизводима. 1.2.3. Промышленные термометры На практике термометры, используемые в промышленности, должны быть прочными, надежными и зачастую быстродействующими. Суще- ствуют два обычных типа термометров: одни соприкасаются с телом, температуру которого надо измерить, другие — бесконтактные. Рис. 1.18. Термометр с биметаллической полоской Контактные - расширение твердых тел (биметалли- ческая полоска); - расширение жидкостей (ртуть в стек- ле); - расширение газов (сильфоны); - термоэлектрическое соединение (термопара); - электрическое сопротивление (тер- мистор); - изменение состояния (методы точек плавления). Бесконтактные - оптические пирометры (изменение цвета горячих тел, устройство уга- сающей накальной нити);
1.2. Температура 27 Рис. 1.19 Термопарный наконечник с подведенными проводами - пирометр излучения (интенсивность всех длин волн излучения от измеряемого горячего тела путем фокусировки лучей, с использова- нием линзы или зеркала на «приемник», которым может служить тер- мопара или элемент сопротивления). Выбор термометра зависит от: - диапазона измеряемых температур; - допустимого разрыва во времени; - риска химической реакции с термометром; - требований по размеру и площади — легкость прочтения температуры; - требований к надежности; - прямых показаний или записи во времени. Меры предосторожности: - надежный контакт между горячим телом и Рис. 1.20. Термометр со звуковой индикацией сенсором; - у сенсора должна быть низкая нагреватель- ная способность; - необходимо избегать химических реакций, которые поглощают или высвобождают тепло; - необходимо избегать конденсат (скрытое тепло может привести к ошибке в измерении температуры); - надежная электрозащита с целью снижения влияния шума. 1.2.4. Платиновый термометр сопротивления Электрическое сопротивление платинового резистора с проволочной обмоткой изменяется в зависимости от температуры. Отклик такого сопротивления практически линеен и может быть аппроксимирован вы- ражением:
Преобразователи 28 Сопротивление при О “С Rpt = R0( i+AT+BT2) t Сопротивления при Т Ди В — калибровочные постоянные Рис. 1.21 Сопротивление сенсора изменяется в зависимости от температуры. Когда изменяется сопротивление, изменяет- ся ток в цепи. Реостат настраивают так, чтобы вернуть ток в его первоначаль- ное значение. Этого можно достичь с помощью реостата, поддерживая на- пряжение на образцовом резисторе по- стоянным. Следовательно, изменение напряжения на измерительном потен- циометре является результатом только изменения температуры. Платиновый сенсор сопротивления обычно содержит балластный резистор (имеющий незначи- ггггптттппттптт тельное изменение сопротивления в зависимости от темпера- туры), величина которого выбирается таким образом, чтобы получить общее сопротивление элемента Ro равным 100,0 Ом при 0 °C. Изменение сопротивления в диапазоне температур от 0 до 100 °C называется фундаментальным интервалом и фикси- рует чувствительность прибора. Фундаментальный интервал 38,5 Ом указан в BS1904 для диапазонов температур до 600 °C. Свыше 600 °C фундаментальный интервал может быть сни- жен до 10,000 Ом или даже 1,000 Ом. Чтобы избежать самонагрева, мощность, рассеиваемая на эле- менте, не должна превышать 0,1 мВт. Для фундаментального интервала 38,5 Ом и Ro = 100 Ом ка- либровочные постоянные для плати- Рис. 1.22. ны равны: Датчик резистивного А = 3, 91 х Ю-з °C-1 термометра В = -5,85 х 10 “7 °C “2.
1.2. Температура 29 1.2.5. Жидкостный стеклянный термометр Обычный промышленный термометр — это жидкостный стеклян- ный термометр, в котором может содержаться ртуть или спирт. Термометры типа «А» — ртутные стеклянные, содержат инерт- ный газ, твердый корпус. Термометры типа «В» — спиртовые стеклянные, твердый корпус. Предназначены для температурного диапазона от -120 °C до 510 °C и могут быть либо погружены в измеряемую среду пол- ностью или на 100 мм. Преимущества — дешевы, просты, портативны. Предохрани- Недостатки: тельный зазор - ограничения по ориентации; - высокая теплоемкость; - значительное время измерения. Существуют специфические конструктивные нормативы (BS 1704), которые гарантируют единообразие в изготовлении термометров раз- личными производителями. Конструктивные характеристики: - стенки: изготавливаются из свинцового стекла с эмалевым покрытием; - корпус: имеет цилиндрическую форму, внешний диаметр ко- торой не превышает диаметр корпуса; - перед градуировкой термометр должен быть отожжен; - градуировочные линии должны быть одинаковой толщины, не должны превышать 0,15 мм и в плане должны быть нане- сены под прямым углом по отношению к корпусу и выров- нены по левой стороне, если на корпус в его вертикальном положении смотреть спереди; - линия погружения отмечена с тыльной стороны корпуса для термометров с погружением на 100 мм; - верхняя часть корпуса должна быть округлой; - на верхней части капиллярной трубки существу- ет резервный объем, который, по крайней мере на 20 мм, должен быть выше предельной градуиро- вочной линии. Рис. 1.23. Жидкостный стеклянный термометр
Преобразователи 30 Маркировка: - название используемого для заполнения газа, например N2; - товарный знак производителя; - рабочее назначение. Например: GP 150 С/Total означает, что это термометр общего назначения, максимальная температура 150 °C, полное погружение. 1.2.6. Радиационный пирометр Радиационные пирометры обычно используются для измерения высо- ких температур в тех случаях, когда физический контакт с горячим те- лом невозможен. Очень популярным типом пирометра является при- бор с угасающей нитью. Яркость нити электрической лампы устанав- ливается оператором путем регулировки протекающего через нее тока. Горячее тело и нить накала лампы видимы одновременно в объективе пирометра. Когда яркость нити накала становится равной яркости го- рячего тела, нить становится невидимой. Ток, текущий через нить в точке равновесия, является мерой температуры горячего тела. Обычно в объективе пирометра используется красный фильтр, так что равновесие выполняется при определенной длине волны (так равнове- сие легче регистрировать). Таблица поправок используется для получе- ния истинной температуры из результатов измерений, которая учиты- Рис. 1.24. Оптический пирометр
1.2. Температура 31 вает отклонение от излучения нечерного тела при использовании крас- ного фильтра. Примечание: для снижения величины входящей световой радиации перед объективом пирометра может быть использован дополнительный экран. Это дает возможность снизить ток при измерении температуры от очень горячих тел и этим самым увеличить срок службы нити накала. При измерениях с экра- ном (обычно это устройство из нейтрального стекла) используется другая гра- дуировочная шкала. Примечание: обычным является использование человеческого глаза как оп- тического пирометра. Например, при определении степени нагрева металла, ко- торый требуется нагреть до цвета «красной вишни», и т. д. 1.2.7. Термопара Термопара состоит из двух разнородных металлов, соединенных на каж- дом из концов. Один из контактов (спаев) поддерживается при вспомо- гательной температуре, другой контакт — при измеряемой температу- ре. Если в цепь включается вольтметр, напряжение на нем будет зави- сеть от разницы в температуре между двумя контактами термопары. Преимущества: - может измерять высокие температуры; - легко калибруется; - механически надежен; - устойчив к химически агрессивным средам; - может измерять температуру твердых тел, жидкостей и газов; - относительно малое время измерения (обычно несколько секунд). Рис. 1.27. Горячий спай
Преобразователи 32 Недостатки: - потеря тепла через нити термопары может привести к ошибке в из- меряемой температуре; - сопротивление проводников термопары может повлиять на ЭД С, по- казываемое на вольтметре; - градуировочная кривая может измениться со временем из-за загряз- нений термопары; - ограниченный диапазон линейности; - точность ограничена приблизительно до 1%. Как работает термопара: 1. Представьте единичную длину металлического проводника, где тем- пература одного конца выше, чем температура другого. Величина плотности подвижных электронов увеличивается с увеличением тем- пературы, что вызывает различия в концентрации электронов меж- ду горячим и холодным спаями. Благодаря этому различию проис- ходит диффузия электронов с горячего спая на холодный. Горячий спай оказывается положительно заряженным. Это называется эф- фектом Томсона. 2. Теперь представьте две полоски разнородных металлов, соединенных на одном конце. Существует разница в плотности электронов в этих двух материалах. Таким образом, образуется градиент концентрации электронов на соединении, что приводит к диффузии электронов через это соединение. Эта диффузия означает, что материал с повы- шенной плотностью электронов становится положительно заряжен- ным. Это — эффект Зеебека. Эти два эффекта приводят к контактному потенциалу на соединении двух разнородных материалов, величина которого зависит от темпера- туры и природы металлов. Разница в контактных потенциалах между этими двумя соединениями является мерой разницы температур между ними. Выбор металлов, из которых делают термопары, зависит от диапазона измеряемых температур. Термоэлектрическая чувствительность (мкВ/ °C) конкретных материалов устанавливается по отношению к платине при О °C.
1.2. Температура 33 Материал Чувствительность (мкВ / °C) Константан -35 Медь +6,5 Железо +18,5 Платина 0 Обычно используются термопары из меди/константана. Их чувстви- тельность равна +6,5 - (-35) = 41,5 мкВ/ °C. Чаще всего используются несколько стандартных пар материалов, и им условно присваиваются определенные названия, например «Тип К». Введение третьего металла в цепь термопары никак не меняет разницу в контактных потенциалах между его контактами, поскольку оба вновь введенных соединения находятся при одной и той же температуре. Это означает, что контакты термопары могут быть запаяны или спаяны вме- сте, что не оказывает влияния на работу прибора. Диапазон температур °C ЭДС для горячего контакта при 100 °C и холодного контакта при 0 °C Медь/константан* Т -200 +300 4,24 мВ Железо/константан J -200 +1100 5,268 Хромель/алюмель** К -200 +1200 4,100 Термопары обычно нелинейны. Выход может быть линеаризован про- граммным путем с использованием данных в справочных калибровоч- ных таблицах, в которых указано соотношение между температурой и напряжением, отнесенное к О °C. Однако холодный контакт в реальной термопаре обычно находится при комнатной температуре. Чтобы учесть это, требуется компенсация холодного соединения. Например, преци- зионный температурный твердотельный сенсор LM335, который рабо- * Константан — сплав: 60% меди и 40% никеля. ** Хромель — сплав никеля и хрома, алюмель — сплав никеля и алюминия. 2-1182
Преобразователи 34 тает как диод Зенера, может быть использован для корректировки на- пряжения термопары. Обратное напряжение запирания этого прибора связано линейно с абсолютной температурой и напрямую калибруется в градусах Кельвина. Напряжение термопары, соответствующее отдель- но измеренной комнатной температуре, добавляется к напряжению от термопары и затем с помощью градуировочной таблицы определяется температура на сенсорном контакте термопары. Компенсация на холод- ном спае может быть выполнена электрически аппаратным путем или программно. 1.2.8. Термисторы Термисторы — это резистивные температурные элементы, выполненные из полупроводниковых материалов. Сопротивление этих элементов уменьшается с увеличением температуры (отрицательный температур- ный коэффициент). Соотношение между сопротивлением и температу- рой для термисторов крайне нелинейное. Некоторые термисторы имеют положительный температурный коэффициент. Рис. 1.28. Термистор Преимущества: - недорогой; - малогабаритный; - низкая масса (низкая постоянная времени); - большой выходной сигнал (высокая чувствительность). Недостатки: - точность обычно не так высока, как в платиновых термометрах со- противления; - ограниченный диапазон температуры: от -100 °C до 450 °C; - нелинейный отклик; - погрешность всего лишь ±5%. Связь между сопротивлением и температурой — экспоненциальная и выражена в виде:
1.2. Температура 35 Р R7 = Ает, где Аир — константы, которые зависят от материала, из которого сде- лан термистор, Т — температураbK^Rt- сопротивление при темпера- туре Т. Если выбирается вспомогательная температура То, то уравнение может быть выражено, как: 1 1 ) Rj =7?оехрР — L к ° ) где Rq — сопротивление при Го, которое обычно выбирается равным 25 °C. Типичная величина сопротивления при комнатной температуре равна 10 кОм, которая снижается до 1 кОм при 100 °C. 1.2.9. Относительная влажность Традиционным методом измерения влажности является использование влажного и сухого шарика психрометра. В этом устройстве фильтр, смо- ченный в дистиллированной воде, помещается над шариком ртутного Влажный шарик (защита удалена) Психрометр с влажным и сухим шариком Фитил Сухой шарик (покрытый защитой) Рис. 1.29 Воздух, нагнетаемый вентилятором 2*
Преобразователи 36 Рис. 130. Сенсор с майларовой пленкой Рис. 131. Сенсор с кремниевыми обкладками термометра. Другой идентичный тер- мометр располагается рядом — над его шариком ничего нет. Воздух, чья относительная влажность должна быть измерена, обдувает шарики обо- их термометров. Испарение воды с влажного шарика заставляет измеряемую температуру снижаться по сравнению с температу- рой сухого шарика. Используется психометрическая таблица для опре- деления относительной влажности по показаниям термометров с влажным и сухим шариками. Относительную влажность можно измерить электрон- ным путем. Одно из таких устройств использует изменение емкости меж- ду двумя золотыми обкладками, раз- деленными майларовой пленкой. По мере того как вода абсорбируется в майларовой пленке, емкость уст- ройства меняется и ее можно измерить электронным способом. В дру- гом типе прибора измеряется изменение емкости между двумя кремни- евыми обкладками на противоположных сторонах стеклянной пласти- ны. Емкость зависит от относительной влажности окружающего возду- ха. Для того чтобы компенсировать влияние внешней температуры, ис- пользуется температурный датчик, установленный над измерителем влажности. 1.2.10. Вопросы для повторения 1. Платиновый термометр сопротивления предназначен для измерения температуры. Соотношение между сопротивлением и температурой можно выразить следующим уравнением: RPl = Ro(\ + AT + ВТ2). Если Ro = 100 Ом, В100 = 138,50 Ом, а В2оо = 175,83 Ом, определите: а) значения констант Л и В; б) фундаментальный интервал.
1.2. Температура 37 QQ » 2. Платиновый элемент сопротивления Е F А маркируется, как указано на схеме. Ка- кова функция каждой пары клемм? 3. В документе BS 1904 указано, что фун- даментальным интервалом для плати- Рис. 1.32 нового термометра сопротивление дол- жно быть 38,5 Ом. К чему относится термин «фундаментальный ин- тервал»? 4. Ртутный термометр маркируется следующим образом: е * * ъ 313 ciroac м д» . Рис. 1.33 Расшифруйте значение каждого из этих обозначений. 5. Ртутный термометр, выполненный согласно утвержденному стандар- ту, имеет расширение капиллярной трубки в верхней части термо- метра. Каково назначение этого расширения и почему оно должно быть округлой формы? 6. У оптического пирометра есть нить накала, позволяющая сделать оценку значения температуры. Каким образом эта нить исчезает и какова роль этого исчезновения? 7. Обсудите относительные достоинства устройства соединений тер- мопары, как показано на рис. 1. 34. 8. Обратитесь к таблице для термопары железо/константан (Тип J). а) Если холодный спай находится при комнатной температуре, рав- ной 25 °C, а показания милливольтметра равны 24,4 мВ, опреде- лите температуру горячего спая. б) Калибровочный график для термопары железо/константан мож- но выразить следующей формулой: ЭДС = 0,050387+ 0,3047 х 10’4Т2 - 0,8566 х 10’7Т3 + 0,1334 х 10’974. При показаниях милливольтметра, указанных в задании а), опреде- лите процентную разницу между результатами, приведенными в таб- лице, и по формуле для температуры в задании а). (Ответ: 469 °C, 8%)
Преобразователи 38 Нити термопары Рис. 1.34 1.2.11. Упражнения Термопара состоит из полосок двух разнородных металлов, которые со- единены с обоих концов. Одно из соединений поддерживается при вспо- могательной температуре, а другое соединение находится в условиях измеряемой температуры. Напряжение, измеряемое в разрыве одной из полосок, зависит от разницы в температуре между этими двумя соеди- нениями. Как правило, один конец термопары обычно запаян или соединен вмес- те, чтобы образовать сенсор, а другие концы проводников подсоедине- ны непосредственно к вольтметру. В этом случае вспомогательное со- единение находится при комнатной температуре. Для того чтобы преодолеть разницу в напряжении, которая может про- изойти из-за изменений в комнатной температуре, может быть исполь-
1.2. Температура 39 зовано третье устройство для измерения температуры, чтобы обеспечить компенсацию холодного соединения. Этот третий температурный сен- сор измеряет абсолютную величину комнатной температуры и обеспе- чивает напряжение, которое, будучи добавленным к напряжению тер- мопары, вырабатывает общее ЭДС, как если бы холодное соединение термопары было при О °C. а) Калибровка термопары Цель этой части эксперимента — сконструировать хромель/алюмель термопару и откалибровать ее по известному стандарту 1. Установите прибор, как показано на схеме, и отрегулируйте диапа- зон измерений цифрового вольтметра до 100 мВ. 2. Проверьте температуру в ледяной ванне через равные промежутки времени, чтобы убедиться, что она остается при 0 °C. 3. Медленно нагревайте воду, в которой находится горячее соединение термопары, и таким образом получите диапазон изменений темпе- ратур от 0 °C до 100 °C с соответствующими показаниями на вольт- метре. 4. Снимите достаточное количество показаний, чтобы вы смогли пост- роить достоверный калибровочный график зависимости температу- ры (°C) от напряжения термопары (мВ). 5. Сравните ваши данные с данными в BS 4937.
П реобразователи 40 Стеклянный термометр Вспомогательное («холодное») соединение при О °C Рис. 136 б) Компенсация холодного соединения Компенсация холодного соединения — это процесс, при котором добав- ляется (или вычитается) напряжение из выходного напряжения термо- пары с тем, чтобы вспомогательное соединение оказалось при О °C, даже если температура таковой на самом деле не является. Это можно сде- лать электронным путем с помощью прецизионного температурного датчика LM335. LM335 — это твердотельный прибор, который работает аналогично диоду Зенера. Обратное запорное напряжение линейно за- висит от абсолютной температуры и калибруется непосредственно в К. Например, выход с LM335 экстраполируется на напряжение ОВ для тем- пературы ОК. При 273 К запорное напряжение составляет 273 В. Ошибки из-за самонагрева прибора можно минимизировать, выбрав ог- раничивающий ток резистор Rb таким образом, чтобы снизить рабочий ток через прибор до минимума — достаточного, чтобы довести устрой-
1.2. Температура 41 ^outT VoutTo 'О To — вспомогательная температура VoutTo — выходное напряжение при То. Номинальная величина количества: °^-т° равна 10 мВ/К. Рис. 137 ство до запирания при макси- мальной окружающей темпера- туре, а также любых внешних нагрузках. Приемлемым явля- ется ток порядка 1 мА. Теперь выходное напряжение термопары определяется раз- ностью температур между горя- чим и холодным соединениями и относительной термоэлект- рической чувствительностью металлов. Коэффициент Зеебе- Третья клемма на схеме LM335H Рис. 138 ка а для нескольких обычных термопар показан ниже: Медь/константан Т а = 42,4 мкВ/К Железо/константан J 52,8 Хромель/алюмель К 41,0 Выходное напряжение с LM335 должно соотноситься с диапазоном на- пряжения материала термопары, и этого можно добиться с помощью простого резистивного делителя напряжения.
Преобразователи 42 Номинальная чувствительность LM335 равна 10 мкВ/K, а нам нужно ее снизить до уровня мкВ/K. Мы выбираем R3 и Т?4 таким образом, чтобы —R^ 10 мкВ Например, если R3 = 220 кОм, а мы используем термопару типа К, тог- да Т?4 будет равно 40 8x10-6 = 2 000 = 898 Ом 10х10-3 LM335 калибруется в К. Однако выход напряжения с термопары дол- жен быть приведен к 0 °C = 273 К. При температуре 273 К выход или обратное запорное напряжение для LM335 будет около +2,73 В. Это напряжение, уменьшенное до величи- ны соответствующей термопары, должно быть затем приложено к отри- цательному контакту термопары, чтобы повысить ее потенциал. Таким образом, когда горячее соединение находится при 0 °C, то не будет раз- ницы в напряжении между выходными клеммами. Если LM335 находится при температуре выше 0 °C, тогда к напряже- нию термопары добавляется такое напряжение, чтобы холодное соеди- нение термопары соответствовало температуре 0 °C. 1. При +V = 5 В рассчитайте необходимую величину чтобы ограни- чить ток через LM335 до 1 мА.
1.2. Температура 43 Если LM335 находится при температуре выше О °C, тогда к напряжению термопары добавляется такое напряжение, чтобы холодное соединение термопары соответствовало температуре О °C. Горячее соединение термопары Подсоединение к приборам (дифференциальный усилитель) Vout Нам нужно выбрать R6 таким, чтобы д _273ад 1Л 5 Диод Зенера с напряжением отсечки Vz обеспечивает необходимое фиксированное напряжение, которое понижается с помощью резистивного делителя напряжения. Рис. 1.40 2. Рассчитайте необходимую величину Т?4 с R3 = 220 кОм, чтобы соот- ветствовать характеристикам используемого материала термопары. 3. Рассчитайте необходимую величину Т?2 так, чтобы максимальный ток через диод Зенера Z9 был бы не более 1 мА с напряжением питания +5 В.
Преобразователи 44 4. Рассчитайте необходимые величины R5 и R6 так, чтобы соответству- ющее «нулевое» смещение можно было применить к отрицательно- му контакту термопары (выберите R5 = 220 кОм). Перечень деталей 1 х LM335 Н точный измеритель температуры. 1 х IN4332 4,8В диод Зенера. 2 х 220 кОм; 1 х 2,2 кОм; 1 х ЮООм; 1 х 4,7 кОм; 1 х 680 Ом; 1x1 кОм. Система сбора данных Для того чтобы состыковать нашу термопару с последовательной сис- темой сбора данных, представленной в части 2 данной книги, нам нуж- но усилить сигнал для того, чтобы получить достаточное напряжение для последующего преобразования в цифровую форму. Положительный выход с цепи термопары безусловно зависит от измеряемой максималь- ной температуры. Пусть мы измеряем диапазон температур от 0 до 100 °C. При 100 °C выход с термопары типа К (включая любую компен- сацию холодного соединения) будет 4,1 мВ. Необходимый коэффици- ент усиления по напряжению, таким образом, будет около 1000, для того чтобы обеспечить аналоговый вход на АЦП около 4 В. Главной целью упражнений в данной книге является следующее: 1. Скорректировать, построить и испытать цепь термопары, которая использует компенсацию холодного соединения. Выходом цепи дол- жно быть дифференциальное напряжение, которое пропорциональ- но температуре горячего соединения термопары в диапазоне темпе- ратур 0-100 °C. 2. Сконструировать приборный усилитель, на вход которого подается напряжение от холодно-компенсированной цепи термопары, и обес- печить выходное напряжение 0-5 В, являющееся пропорциональ- ным температуре горячего соединения термопары (°C). 3. Используя последовательную систему сбора данных, сконструиро- вать компьютеризированную регистрацию температуры и систему контроля с помощью выбранного вами программного обеспечения.
1.3. Свет 1.3.1. Свет Свет — это электромагнитная волна, т.е. перемещение изменяющихся электрических и магнитных полей. Скорость световых волн в вакууме с = 2,99792458 х 108 мс-1. Для любого типа волн, включая световые: с = fk, где с — скорость, f — частота, к — длина волны от 350 нм до 700 нм для «видимого» света Рис. 1.41 к Длина волны Для видимого света частота составляет порядка 1015Гц. Фотодетекторы не могут реагировать на такие быстрые изменения и поэтому обычно регистрируют среднеквадратичное значение или среднюю величину мощности измерения. Свет можно также рассматривать как пучок фотонов, отдельных частиц нулевой массы с энергией: E = hv, где h — постоянная планка 6,63 х 10’34Дж • с, о — частота (Гц). Энергия фотона зависит от частоты, но она порядка 10’20Дж. Большин- ство детекторов реагирует на большое количество фотонов, но некото- рые из них могут обеспечить регистрацию только одного фотона. Существует разница между измерением излучаемой энергии и энерги- ей света. Термин «свет» подразумевает человеческую реакцию, а изме- рение видимого света называется фотометрией. Человеческий глаз яв- ляется обычным фотометрическим детектором. Радиометрия связана с измерением излучаемой энергии независимо от типа используемого детектора. Третий термин, характеризующий изме-
Преобразователи 46 реиие излучения, связан с квантовой природой света и называется ак- тинометрией. Этот термин возник в результате изучения фотохимичес- кого эффекта света. 1.3.2. Измерение света Большое количество устройств, связанных со светом, находит свое при- менение каждодневно, но прежде чем познакомиться с ними, нам нуж- но рассмотреть определение телесного угла — стерадиана (ср). Рис. 1.42 Стерадиан Q — это телесный угол с вершиной в центре сферы, вырезаю- щий на поверхности сферы площадь, равную площади квадрата со сторо- ной, равной радиусу сферы. Телесный угол — это площадь повер- хности основания конуса, деленная на квадрат радиуса. Радиометрические определения Энергия излучения — это энергия, получаемая или передаваемая в виде электромагнитных волн и которая измеряется в джоулях (Дж). Мощность излучения, или поток, — это энергия излучения, получаемая или передаваемая в единицу времени и которая измеряется в ваттах (Вт). Плотность потока энергии — это мощность излучения, падающая пер- пендикулярно единичной площадке и которая измеряется в Втм-2. Интенсивность излучения — это мощность излучения в единице теле- сного угла (W/sr). Актинометрическое определение Поток фотонов — это актинометрический эквивалент потока излуче- ния, равный количеству фотонов, падающих на поверхность в секунду. Каждый фотон имеет энергию = hv.
1.3. Свет 47 Фотометрические определения Поток люминесценции измеряется в люменах (лм = кд.ср). Поток люми- несценции есть поток излучения, исправленный на фактор спектральной эффективности, который характеризует функцию отклика человеческо- го глаза. Люмен есть человеческий эквивалент мощности излучения (Вт). Яркость поверхности называется освещенностью и измеряется в люк- сах, или в значениях потока люминесценции на единицу площади (лк = 1 лм/м2). Это есть человеческий или фотометрический эквивалент плотности потока энергии. Поток люминесценции в единице телесного угла называется интенсив- ностью люминесценции и измеряется в канделах (кд). Это есть фото- метрический эквивалент интенсивности излучения. 1.3.3. Стандартные меры Официальной единицей в системе СИ для измерения интенсивности люминесценции света является кандела. Кандела является базовой еди- ницей только в системе СИ и имеет свое происхождение в отклике че- ловеческого органа (т. е. глаза) — это есть мера фотометрического коли- чества. Кандела является основной единицей в системе СИ, из которой выводятся единицы люмен и люкс. Кандела стала важнейшей базовой единицей благодаря исторической природе измерений света, в которую вовлечен в качестве детектора че- ловеческий глаз. В качестве более ранних стандартов, с помощью кото- рых отклик человеческого глаза использовался как количественный детектор, применялись свечи, газовые горелки и калильные лампы. Человек как наблюдатель сравнивал неизвестный источник света со стандартом. Современные методы измерений используют отклик прибора (а имен- но фотоэлемента), который имеет спектральную характеристику, очень близкую к стандартному наблюдателю. Стандартные источники обеспе- чивают применение в промышленности калиброванных фотоэлементов. Кандела определяется как сила света в данном направлении от источ- ника, который излучает монохроматическое излучение частотой 540 х 1012 Гц и имеет в данном направлении радиальную интенсивность, равную 1/683 Вт/ср.
Преобразователи 48 Образцовый фотометр Образцовый источник света Для точных фотометрических измерений обычно предпочтительно использовать лампы, работающие от источника постоянного тока. Предпочтительно установить рабочий ток. Измерение потока люминесценции может быть выполнено сравнением с потоком люминесценции от стандартов, используя интегрирующие сферы, или гониометры. Рис. 1.43 В большинстве измерений интенсивности света в действительности кан- дела не используется, а измеряется освещенность, или яркость, кото- рая обычно дается в люксах. В обычной классной комнате освещенность составляет около 300 лк. В яркий солнечный день освещенность дости- гает 20000 лк. При дневном свете 680 лк соответствует радиальному потоку около 1 Вт/м2. 1.3.4. Тепловые детекторы В тепловых детекторах падающее на них излучение образует разность температур в чувствительном элементе. Температура чувствительного элемента показывает величину падающего теплового излучения. Температура обычно измеряется при помощи термоэлемента, который состоит из большого числа соединенных последовательно термопар. Чувствительность теплового детектора, использующего термоэлемент с площадью поверхности от 1 до 10 мм2, обычно составляет от 10 до 100 В/Вт при постоянной времени измерений около 10 мс. Еще один тип теплового детектора использует пироэлектрическое свой- ство некоторых ферроэлектрических материалов. Падающее излучение вызывает изменение в поверхностной проводимости частично поляри-
1.3. Свет 49 Чувствительная область детектора обычно зачернена так, что поглощается максимальная величина падающего излучения. Комнатная Рис. 1.44 Другой тип теплового термоэлемента. Такой прибор называется болометром. ------- Рис. 1.45 зованной керамики. Этот эффект может быть измерен только в импуль- сном режиме работы, и, следовательно, для образования необходимого выхода используется усилитель переменного тока. 1.3.5. Светочувствительный резистор (СЧР) В полупроводниках фотопроводимость является результатом увеличе- ния электропроводимости благодаря столкновению фотонов с полупро- водниковым материалом. Это увеличение может происходить только в
Преобразователи 50 Падающие фотоны, выбивающие электроны в валентной зоне, имеют энергию hv, и если hv > Ед, то валентные электроны достигают зону проводимости, увеличивая тем самым число подвижных электронов. том случае, если падающие фотоны имеют энергию hv > Eg, где Eg — ширина запрещенной зоны между валентной зоной и зоной проводимости. Увеличение проводимости проявляет себя как увеличение тока через прибор при данном приложенном напряжении, и такой прибор может быть назван светочувствительным резистором (СЧР). Когда СЧР освещается излучением с постоянной интенсивностью, дос- тигается равновесие, в котором уход электронов компенсируется их рож- дением. Отношение числа рожденных электронов к числу падающих фотонов называется квантовой эффективностью, и она зависит от вероятности числа упругих столкновений между фотонами и электронами. Для данной частоты падающего излучения число созданных подвиж- ных электронов является функцией от интенсивности излучения. Од- нако проводимость материала зависит не только от интенсивности па- дающего излучения, но также и от его частоты. Это вызвано заполнени- ем допустимых квантовых состояний. Рис. 1.47 Например, популярным материалом для СЧР является сульфид кадмия (CdS). CdS имеет пик чувствительности при длине волны 600 нм, Ед = 2 эВ и очень близко соответствует частотному отклику человеческого глаза. В отличие от этого сульфид свинца (PbS) (Ед = 0,4 эВ) имеет пик чувствительности при 300 нм.
1.3. Свет 51 1.3.6. Фотодиод Фотодиод использует фотоэлектрический эффект для образования электрического тока, который является мерой интенсивности падающе- го излучения. 1. Вблизи контакта градиент кон- центрации вызывает диффузию свободных электронов через кон- такт от и-области к p-области и диффузию дырок от p-области к и-области. 2. Результирующее возрастание от- рицательного заряда в р-области и положительного заряда в и-об- ласти создает увеличение электри- ческого поля Ed в зоне контакта. Зона вблизи контакта становится свободной от основных носителей заряда и называется обедненной об- ластью. Когда фотон создает элект- ронно-дырочную пару в обедненной области, образующиеся свободные электроны перемещаются через кон- такт по направлению к и-области (противоположно направлению по- ля £j). Рис. 1.48. Ток будет проходить во внешней цепи до тех пор, пока фотоны достаточной энергии облучают материал в обедненной области Рис. 1.50. Фотодиод Даже хотя фотодиод образует сиг- нал в отсутствие любого внешнего источника питания, он обычно ра-
Преобразователи 52 ботает с небольшим обратным напряжением смещения. Падающие фо- тоны таким образом вызывают увеличение обратного тока утечки /0. Обратный ток смещения прямо пропорционален интенсивности люми- несценции. Чувствительность фотодиода — порядка 0,5 А/Вт. 1.3.7. Другие полупроводниковые фотодетекторы Лавинные фотодиоды работают в режиме обратного смещения при на- пряжении, близком к напряжению пробоя. Таким образом, на один па- дающий фотон в обедненной области образуется большое количество электронно-дырочных пар (внутренняя ионизация). Фототранзисторы обеспечивают усиление тока в структуре прибора. Падающий свет направляют на обратно смещенный контакт «коллек- тор-база». База обычно внешне не соединена, и таким образом прибо- ры обычно имеют только два контакта. Увеличение уровня освещенно- сти оказывает тот же эффект, что и увеличение тока базы в обычном транзисторе. Фотодиоды Шоттки используют электроны, образованные падающим светом на контакте металл-полупроводник. Тонкая пленка напыляется на полупроводниковую подложку. Работа фотодиода Шоттки аналогич- на работе обычного фотодиода, но используемая металлическая пленка может быть изготовлена таким образом, чтобы чувствовать свет только с короткой длиной волны, голубой или ультрафиолетовый, поскольку только такой свет может проходить через металлическую пленку и дей- Рис. 1.51. ПЗС с площадью 811 х 508 пикселей ствовать на контакт. P/TV-фотодиод является /^-струк- турой с узкой областью из полупро- водника с собственной проводимо- стью между материалом р- и и-типа. Включение этой области расширя- ет обедненную зону, что снижает ем- кость контакта и постоянную време- ни прибора, — это, в свою очередь, важно для передачи цифрового сиг- нала по оптическому кабелю.
1.3. Свет 53 Прибор с зарядовой связью (ПЗС) представляет собой решетку из близ- ко расположенных друг от друга фотодиодов. Падающий свет преобра- зуется в электрический заряд в каждом диоде. Последовательность вре- менных импульсов преобразует накопленный заряд в поток цифровых выходных сигналов. При использовании ПЗС в видеотехнике изобра- жение должно быть сфокусировано на детекторе при помощи линз. 1.3.8. Оптические детекторы Оптические детекторы характеризуются следующими величинами: Чувствительность Pout Ps ’ где: Pout — выходная мощность Ps — входная мощность сигнала Спектральная чувствительность Зависимость чувствительности от длины волны падающего излучения и SNR Предел обнаружения Д Д = Вт'1, rs где: SNR — отношение сигнал-шум Ps — входная мощность Предел к обнаружения Д* (в зависимости от площади и полосы частот) Д* = Д^АД/ см1/2Гц1/2Вт-1, где: А — площадь детектора — полоса частот Предел обнаружения Д** Д**(0) = Д*^5-, sinO (в зависимости от площади наблюдения) где: 0 — половинный угол • ( Ps} Квантовая эффективность Т| h = П77 К hv ) где: is — ток сигнала е — заряд электрона hv — фотон/с
Преобразователи 54 1.3.9. Фотоэлектронный умножитель Одной из наиболее распространенных областей применения фотоум- ножителей является регистрация ядерного излучения. Однако этот при- бор может быть также использован как основа для детектирования ши- рокого круга явлений, в которых необходимо измерять очень низкие световые уровни (например, химолюминесцентный газовый детектор). Рис. 1.52. Фотоумножитель Светочувствительная поверхность фо- тоумножителя содержит тонкий слой щелочного металла с низким кванто- вым выходом W. Когда фотон с энер- гией Е достигает металла и если Е > W, то электроны выбиваются из металла. Эти электроны ускоря- ются приложенным к динодам напряжением (около 200 В). Ускоренный электрон, когда до- стигает динода, имеет кинети- ческую энергию, достаточную для выбивания двух или боль- шего количества электронов из материала динода. Эти два электрона затем снова ускоряются напряжением 200 В и вызывают вырывание на пос- ледующем диноде четырех электронов. Это усиление мо- ► Усилитель Фотон Рис. 1.53 жет происходить на нескольких
1.3. Свет 55 динодах, каждый из которых находится при потенциале, на 100-200 В выше предыдущего. Таким образом, выходной электрический ток дос- таточно большой для его измерения соответствующей электронной ап- паратурой. Коэффициент усиления тока в вакуумном объеме фотоумножителя мо- жет достигать значений 106. Поскольку это усиление происходит до пос- ледующего аппаратурного усиления, входное сопротивление и шумо- вая составляющая сигнала значительно снижаются. Тепловой ток (бла- годаря термоэмиссии на катоде) ограничивает детектирующую способ- ность прибора. Примечание: источник высокого напряжения необходим для создания тре- буемого ускоряющего потенциала на каждом диноде. 1.3.10. Вопросы для повторения 1. Какой поток фотонов падает от источника света мощностью 60 Вт и длиной волны 620 нм на 1 м2 поверхности? (Ответ: 1,87- Ю20 1/с) 2. Свет от фары мотоцикла мощностью 100 Вт может быть увиден пе- шеходом на расстоянии 2 км. Размер зрачка пешехода составляет 1 мм2. Рассчитайте минимальную регистрируемую мощность пада- ющего света сетчаткой глаза. Предположите, что фара преобразует 25% электрической энергии в видимый свет. (Ответ: 0,5 • 10-12Вт) 3. Объясните различие между радиометрическим и фотометрическим определением света. Почему эти два определения различаются? 4. Фотодиод имеет чувствительность 9 нА/лк для длины волны 560 нм и площади 40 мм2. Определите чувствительность в A/Вт. Примеча- ние: 1 лк = 1 лм/м2. Световой поток мощностью 1 Вт с длиной волны 560 нм образует 685 лм. (Ответ: 0,154А/Вт)
1.4. Положение и перемещение 1.4.1. Механический переключатель Рис. 1.54. Микропереключатель Рис. 1.55. Контактные площадки Простой датчик контактного типа преобразу- ет перемещение в электрический сигнал и мо- жет принимать форму механически управля- емого переключателя. Переключатели подразделяются на одно- или двухполюсные (один или два ряда параллель- ных контактов), одно- или двухнаправленные (центральный контакт переключается от одно- го крайнего контакта к другому). Размер кон- тактных площадок зависит от величины ком- мутируемого тока и типа нагрузки в электри- ческой цепи. Для высоковольтных переклю- чателей контакты погружены в масло для сни- жения вероятности возникновения электри- ческой дуги. Основной интерфейсной проблемой при ис- пользовании переключателей является эф- фект «отскакивания» («дребезга»). Большин- ство переключателей содержат пружину для стабилизации сомкнутого или разомкнутого положения контактов. Когда переключатель замыкается, пружина часто заставляет контакты «дребезжать», что об- разует серию замыканий-размыканий в течение нескольких миллисе- кунд. Если интерфейсная цепь должна отслеживать момент переклю- чения, такое «дребезг» контактов может зарегистрироваться как после- довательность включений-выключений. Чтобы это исключить, сопря- жение переключателя с системой должно включать цепи, гасящие «дре- безг», или иметь соответствующие программные средства. Износ контактов в переключателе происходит в основном из-за искре- ния. Это особенно важно, когда переключатель коммутирует индуктив-
1.4. Позиционирование и движение 57 ную нагрузку. Размыкание такого переключателя вызывает индуциро- вание на ней высокого напряжения (согласно закону Ленца), что при- водит к искрению в зазоре между контактами. Из-за этого некоторые переключатели имеют зазоры между контактами и имеют скорость раз- мыкания, специально рассчитанную для коммутирования постоянного или переменного напряжения. При программной компенсации «дребезга» программа может ожидать в течение 10 или 20 мс после регистрации первого события и проверять работу переключателя перед новым событием. При аппаратной компенсации «дребезга» выход переключателя может быть соединен с триггером. Выход этой схемы будет изменять свое со- стояние только в том случае, если выходы изменяются сигналами TTL- уровня. Электроны инжектируются от негативной (или катодной) клеммы переклю- чателя и ускоряются к позитивной клемме (аноду). Это вызывает выбива- ние ионов из анода и их ускорение по направлению к катоду. Контактное вещество накапливается на катоде, а на аноде появляются каверны. 1.4.2. Потенциометрические датчики Потенциометрический датчик преобразует линейное или угловое пе- ремещение в изменение сопротивления. Датчик, в свою очередь, может быть изготовлен в виде проволочной спирали, движущиеся вдоль кото- рой контакт или щетка вызывают изменение сопротивления между клем- мами прибора. Проволочная спи- раль смонтирована на оправке. Ок Если обмотка однородная и прово- 1 лока имеет постоянное поперечное A сечение А и удельное сопротивле- ние р, то сопротивление R равно: S ч R=4 I Ч где I — общая длина проволоки между клеммами А и В. А В Рис. 1.56
П реобразовател и 58 Поплавок Рис. 1.57 Рис. 1.58. Оправка с реостатом Широко распространенным применением данного дат- чика является контроль уровня топлива в автомоби- лях. Датчик устанавливает сопротивление между клем- мами в соответствии с уров- нем топлива в топливном баке и таким образом регис- трирует изменение уровня топлива в следствии потреб- ления топлива двигателем автомобиля. Нелинейная характеристика может быть легко получена изменением размеров оправки. Например, для того чтобы показать большую вели- чину отклонения R при низком уровне топлива (для увеличения чув- ствительности), оправке может быть придана специальная форма или шаг намотки спирали изменяется в соответствии с ее местоположением. 1.4.3. Емкостный преобразователь Емкостный датчик преобразует изменение в местоположении или разницу в свойствах диэлектрического материала в электрический сигнал.
1.4. Позиционирование и движение 59 Площадь перекрытия пластин (м2) „ А Емкость (в фарадах) С = £— ▲ а Расстояние между пластинами (м) Диэлектрическая постоянная = еоег где £г — относительная диэлектрическая постоянная диэлектрика. Изменение любого из этих трех параметров приводит к изменению ем- кости, которая может быть измерена электрическим путем. Диэлектрическая постоянная вакуума равна: £о = 8,85 • 10 "12 Фм-1. Примеры: 1. Площадь перекрытия пластин в форме полукруга устанавливается путем углового перемещения оси. Емкость пропорциональна угловому переме- щению. Пусть Ло — площадь пластины при 0 = 0. Площадь перекрытия А рассчитывается, как: 180 ~ . г ед (180-е) 1аким образом, емкость: С = — ----. Р d 180 Чувствительность обозначается, как dC/dQ\ б/С = -еД(^~1) б/е ~ 180б7 где общее число движущихся и непод- вижных пластин. 2. Также может быть использо- вано изменение диэлектри- ческих свойств материала между пластинами. Чувствительность равна dC/dx: С = ^- + (г-г0)—х d d dC , xVE z — = (£-£0)— Ф/м. dx a Рис. 1.59 Отметим, что С изменяется линейно в зависимости от изменения угла 0. Рш. 1.60
Преобразователи 60 1.4.4. ЛПДТ Наиболее распространенным индуктивным преобразователем являет- ся линейный переменный дифференциальный трансформатор (ЛПДТ). В этом приборе сердечник смонтирован на стержне, который проходит через центр катушки и связан с движущейся частью прибора. Измене- ния в силе магнитной связи между катушками преобразуют механичес- кое движение в электрический сигнал. Вторичная катушка Рис. 1.61 Примечание: вторичные катушки установлены таким образом, что напряжение, вых наведенное в каждой из них, имеет противоположную полярность: дувых = ду1-ди2 На диаграмме (рис. 60) показана первичная катушка, управляемая ге- нератором. Если сердечник двигается вверх, поток, наведенный в верх- ней обмотке, увеличивается, и Vt также увеличивается. Магнитный по- ток, наведенный в нижней катушке, уменьшается, и, следовательно, V2 также уменьшается. Следовательно, перемещение сердечника будет за- регистрировано как ( V2 - Vi). Выходное напряжение также зависит от управляющей частоты и вели- чины напряжения V внеш. Когда сердечник находится в центральном или нулевом положении, выходное напряжение равно нулю. По мере того, как сердечник движется выше и ниже нулевого положения, выходной сигнал нарастает и умень- шается на ту же самую величину, но с изменением по фазе на 180°.
1.4. Позиционирование и движение 61 Для того чтобы выделить сигнал (и, следовательно, направление движе- ния), необходимо использовать тех- нику синхронной демодуляции. Для управления и обработки сигналов ЛПДТ могут быть использованы та- кие интегральные микросхемы, как AD698 или NE5521. Рис. 1.62. Сердечник и катушка ЛПДТ Чувствительность ЛПДТ измеряет- ся в мВ/мм/ Твнеп[. Типовой диапазон перемещений составляет от ±0,2 мм до ±250 мм. Типичная управляю- щая частота Увнеш — от 1 до 10 кГц. С соответствующей аппаратной реа- лизацией ЛПДТ может регистрировать перемещение менее 1 нм. 1.4.5. Преобразователь угловой скорости Электромагнитная индукция была использована для получения напря- жения, зависящего от скорости перемещения катушки относительно не- подвижного магнита (или наоборот). Зубчато-роторный магнитный тахометр Когда ротор вращается, магнитные зубы на роторе изменяют магнитную цепь. При этом в обмотке, окружающей магнит, наводится напряжение. Амплитуда и частота выходного напряжения прямо пропорциональны скорости вращения со. Рис. 1.63
П реобразовател и 62 Автомобильный спидометр Постоянный магнит вращается на оси и индуцирует в диске вихревые токи. Эти вихревые токи в свою очередь образуют магнитное поле, ко- торое взаимодействует с вращающимся магнитным полем на роторе. Конечным результатом является сила, поворачивающая диск, которая пропорциональна скорости вращения ротора. Рис. 1.64 Рис. 1.65 Диск связан со стрелкой на шкале. Шкала отградуирована таким обра- зом, чтобы показывать скорость в желаемых единицах (т.е. миль/ч или км/ч). 1.4.6. Позиционно-чувствительная диодная матрица Диодная матрица представляет собой сборку из 1024 отдельных фото- диодов на плоской подложке. Этот прибор особенно полезен для исполь- зования в спектрофотометрах, где свет, разложенный на составляющие при помощи призмы, падает на матрицу и интенсивность спектра с раз- личными длинами волн измеряется одновременно. В спектроскопии по поглощению рентгеновского излучения и рентгеновской дифракции диодная матрица используется в качестве позиционно-чувствительно- го детектора (ПЧД) для определения угла дифракции или интенсивно- сти пучка рентгеновского излучения.
1.4. Позиционирование и движение 63 Выходом диодной матрицы явля- ется аналоговый сигнал, который служит мерой расстояния от края матрицы до центра падающего светового пятна. Отклик диодной матрицы — очень быстрый сиг- нал (время нарастания ~ 5 мкс), и этот прибор обладает очень вы- соким позиционным разрешени- ем (~ 250 нм) и нелинейностью менее 1% от всей шкалы. В сборке матрицы резистивный рис у материал располагается на одной стороне рп-перехода. Свет, падающий на переход (находящийся под об- ратным смещением около 12 В), генерирует ток, максимальная величи- на которого находится в центре луча с наибольшей силой света. Этот ток течет через резистивный материал к соединительному электроду. Та- ким образом, выходной токовый сигнал зависит от полного сопротив- ления от электрода до пятна, где этот ток генерируется. Фоновый свет будет генерировать в приборе сигнал, соответствующий центру сборки. Пятно для измеряемого положения падающего света должно быть как можно более ярким без повреждения фотодиодов из- за их интенсивного нагрева. Необходимо отметить, что этот прибор бу- дет реагировать только на распределение света, который фактически падает на чувствительные элементы матрицы, и, таким образом, выход- ной сигнал отражает местоположение центроиды пятна, образуемого на сборке, которое, возможно, будет не таким, какое возникает на приборе при освещении всей матрицы. 1.4.7. Контроль перемещения Шифраторы положения обычно используются в системах контроля пе- ремещения для вырабатывания сигналов обратной связи о положении и скорости, поступающих в PID контроллер. В свою очередь PID конт- ролер генерирует сигнал напряжения, который образует профиль ско- рости, что обеспечивает осуществление движения в желаемом виде.
Преобразователи 64 Шифратор углового перемещения Шифратор углового перемещения в его наиболее простом виде содер- жит диск, в котором проделаны отверстия на точном расстоянии друг от друга. Обычно диск установлен на оси, вращение которой должно быть измерено. В свою очередь ось может быть частью винта, на который ус- тановлена гайка, имеющие резьбу с нулевым зазором, которая преобра- зует вращение оси в линейное перемещение гайки. Вращение диска из- меряется при помощи фотоэлемента, регистрирующего свет от излучате- ля, установленного по другую сторону диска. Разрешение, или размер шага, определяется углом между отверстиями. Масштабируемые отверстия Ускорение до начала движения V Рис. 1.67 Замедление Линейный шифратор Оптический излучатель и фотоэлемент Рис. 1.68. Шифратор углового перемещения Линейный шифратор перемещений счи- тает число линий, над которыми он пе- ремещается, оптическим методом при помощи излучателя и фотоэлемента. Преимуществом этого метода перед из- мерением линейного перемещения с вра- щающимся винтом с гайкой является то, что здесь измеряется реальное расстоя- ние. Точность измерений зависит от мас- штаба линий на дорожке и обычно быва- ет порядка 20 мкм. и фотоэлемент Дорожка Рис. 1.69. Линейный шифратор
1.4. Позиционирование и движение 65 Выходной сигнал от оптического шифра- тора может быть квадратичным. Шифра- тор вырабатывает два сигнала прямоуголь- ной формы со сдвигом по фазе 90°. Кон- троллер движения может затем регистри- ровать четыре изменения по фазе на один цикл, дающие четыре перепада напряже- ния на один шаг измерения. Некоторые ко- дировщики могут затем интерполировать Рис. 1.70. Квадратичное кодирование сигналы от отверстий или щелей с показа- телем интерполяции до 50. Также кодировщики без труда обеспечива- ют разрешение до 0,1 мкм. 1.4.9. Вопросы для повторения 1. В емкостном преобразователе емкость обычно связана с усилителем заряда. Коэффициент усиления этого типа усилителя не зависит от частоты. Каковы преимущества такого решения? 2. Емкостный датчик преобразователя перемещения с переменным ди- электриком состоит из двух квадратных металлических пластин со сторонами w=L = 5 см, отстоящими друг от друга на расстоянии 1 мм. Между пластинами находится экран из диэлектрика толщиной 1 мм и с той же площадью, как и пластины. 3. а) Если диэлектрическая постоянная воздуха ег = 1, а для диэлект- рического материала гг = 4, рассчитайте емкость датчика при пе- ремещении на выходе L - х = 2,0 см. б) Определите чувствитель- ность прибора. ~ А Подсказка: С = еге0т а (Ответ: 61,85 пФ, 5,75 пФ/мм) Движущийся столик для об- разцов с позиционированием оснащен шифратором углово- го перемещения с числом ли- Рис. 1.71
Преобразователи 66 ний 2000. К нему подсоединен винт с шагом резьбы 2 мм, который преобразует вращение в линейное движение. Рассчитайте линейную длину шага. (Ответ: 1 мкм) 4. Переключатель работает на размыкание, и напряжение размыкаемой цепи равно 12 В. Вычислите напряженность электрического поля при зазоре между контактами, равном 1 мкм. (Ответ: 1,2 107 В/м).
1.5. Сила, давление и расход 1.5.1. Прибор для измерения механического напряжения Тензодатчик представляет собой металл или полупроводник, сопротив- ление которого существенно изменяется при его деформации. Дефор- мация обычно выступает как мера нагрузки и, следовательно, силы, при- ложенной к структуре тензодатчика. Сопротивление образца материа- ла длиной I и площадью поперечного сечения А равно: где р — удельное сопротивление материала. Изменение длины или площади образца под воздействием нагрузки вызывает изменение сопротивления данного элемента. Если сопротив- ление этого элемента равно RQ в отсутствие нагрузки, то фактор (чув- ствительность) тензодатчика G дается выражением: Относительные изменения сопротивления I АЛ L ь ----Относительные изменения длины (нагрузки) /to Тензодатчики обычно работают при малой величине тока (15-100 мА) для того, чтобы исключить изменения в сопротивлении из-за теплового расширения. Элемент тензодатчика обычно образует одно плечо мостовой схемы, которое используется для измерения изменений сопротивления прибо- ра. Чувствительность измерений при помощи тензодатчика зависит от числа активных плеч измерительного моста. Тензодатчики поставля- ются с номинальным сопротивлением от 30 до 300 Ом. Наиболее рас- пространенными являются тензодатчики с сопротивлениями 120, 350 и 1000 Ом.
Преобразователи 68 Материалы тензодатчиков выбираются таким обра- зом, чтобы изменения в удельном сопротивлении из-за нагрузки (пьезорезистивный эффект) были малы, и геометрия должна быть такой, чтобы нагруз- ка вызывала большое изменение длины элемента. Обычно факторы тензодатчиков G близки к 2. Тензодатчики обычно содержат металлическую фольгу, закрепленную на пластиковой клейкой пленке. Пленка в свою очередь прикреплена к ус- тройству, натяжение которого должно быть изме- рено с «активной» осью датчика, отцентрирован- ной в направлении ожидаемого натяжения. Не- сколько датчиков могут быть размещены на общей Рис. 1.73. Активные оси пленке, каждый из которых ориентирован в различных направлениях, для того чтобы образовывать тензодатчики в виде розетки. Выходной сигнал от элемента тензодатчика обычно содержит инфор- мацию об изменении размеров из-за изменений в температуре. Свой- ства теплового расширения материала тензодатчика обычно устанав- ливаются выбором материала образца. В некоторых конфигурациях элемент тензодатчика встроен в плечо мо- стовой цепи. Выходное напряжение определяется выражением: При достижении баланса R3 = R2Rgi\ Vo = 0. Когда изменяется сопротивление Rg1 изменяется напряжение Vo Изме- нение сопротивления Rg зависит от фактора датчика G и натяжения е таким образом, что: AjR — zRgG. Пусть R{ = R2 и R3 = Rg, тогда выходное напряжение при изменении Rg на величину AR равно: eG 1
1.5. Сила, давление и расход 69 Отметим, что это выражение описы- вает нелинейный выход прибора при деформации. Перед измерением деформации мост должен быть на- строен на нулевой выход (или обну- лен) в отсутствии деформации. За- тем при приложении усилия изме- ряется выходное напряжение. Обычные тензодатчики используют внешнее напряжение в пределах 5 - 10 В. При этом выходной сигнал ле- жит в милливольтовой области на- Рис. 1.74. Четырехсторонняя мостовая цепь включения тензодатчика пряжений. Поскольку измеряются очень слабые сигналы, сопротивления, образующие мостовую схему, должны быть точно подогнанными, а внешнее напряжение должно быть очень стабильным. Падения напряжений, обусловленные сопротивлением проводников, связывающих источник внешнего напряжения и мостовую цепь, могут быть источником погрешности, когда преобразователь тензодатчика расположен на некотором расстоянии от цепи, вырабатывающей сиг- нал. Для компенсации этого эффекта может быть использован прием , обеспечивающий дистанционную регистрацию сигнала . В этом случае для обеспечения обратной связи в точках подключения внешнего на- пряжения Vex к мостовой схеме присоединяются дополнительные из- мерительные проводники. Эти проводники использованы для регулирования или управления ис- точником напряжения таким образом, чтобы требуемое Vex поступало на мостовую цепь. Другой метод использует прямые измерения напря- жения Vex, приложенного к мостовой цепи. Это измеренное напряже- ние затем используется в расчетах как величина Vex. Тензодатчики могут быть откалиброваны на месте путем использова- ния шунтирующего сопротивления известной величины, которое вре- мя от времени замещает датчик в мостовой цепи и таким образом ими- тирует известную силу натяжения, измеренную электронной схемой.
Преобразователи 70 1.5.2. Сила Наиболее распространенным типом преобразователя силы является пьезоэлектрический датчик. В этом приборе усилие прикладывается к таким пьезоэлектрическим кристаллам, как кварц или цирконат тита- нат свинца (PZT). Сила, действующая на кристалл, перемещает внутри его атомы. Это перемещение вызывает в результате появление заряда, который затем может быть измерен электрическим способом. Наведен- ный заряд прямо пропорционален приложенной силе. d — чувствительность прибора (т. е. величина заряда на единицу прило- женной силы). Для кварца d =2 х 10"12 Кл/Н. В пьезоэлектрическом преобразователе силы на поверхность кристал- ла нанесена металлическая обкладка. Кристалл предварительно пере- веден в ненапряженное состояние для того, чтобы можно было изме- рять как силу натяжения, так и сжатия. Пьезоэлектрические преобразователи силы полезны для измерения быстро меняющихся сил, но их отклик быстро спадает при низких час- тотах, вследствие чего их часто относят к приборам переменного тока. При частотах менее нескольких герц требуется преобразователь силы на постоянном токе, либо полупроводникового типа, или использую- щий пьезорезистивный датчик напряжения. Прогиб диафрагмы, к ко- торой прикреплен тензодатчик, регистрируется как нарушение условия Рис. 1.75. Пьезоэлектрический преобразователь Рис. 1.76. Пьезоэлектрический преобразователь Рис. 1.77
1.5. Сила, давление и расход 71 баланса в мостовой цепи. При низ- ких частотах утечка заряда в пье- зоэлектрическом приборе вызыва- ет уменьшение выходного сигнала, ограничивая тем самым частотную область снизу, начиная с несколь- ких герц. При более высоких час- тотах заряд постоянно подпитыва- ется изменением размеров прибо- ра и достигается линейный рабо- чий диапазон. При частотах боль- ших, чем резонансная частота, для обоих типов преобразователей ме- ханический отклик системы не мо- жет поддерживаться в пределах, соответствующих скорости изменения приложенной силы, и величина отклика снова падает. 1.5.3. Устройство пьезоэлектрических датчиков Пьезоэлектрические преобразователи силы образуют выходной сигнал, основанный на изменении заряда на гранях кристалла. Емкость крис- талла образует выходные напряжения в соответствии с выражением: \V=\q/C. Для кристаллов из кварца емкость относительно мала, что ведет к боль- шому скачку напряжения из-за изменения заряда. Это напряжение мо- жет быть измерено при помощи усилителя напряжения с большим вход- ным сопротивлением (МОЗТЕТ-схема). Таким образом, чувствитель- ность преобразователя определяется коэффициентом усиления напря- жения усилителя. Такие системы обладают очень хорошей частотной характеристикой (1 МГц), но имеют относительно высокую фоновую подставку. Когда напряжение на сопротивлении R меняется, изменяется напряже- ние смещения на MOSFET и сигнал проходит через входную емкость С, обеспечивая измерение силы. Для керамических кристаллов (например PZT) внутренняя емкость до- вольно высока и выходной сигнал может поступать на вход вольтметра
Преобразователи 72 или осциллографа с большим входным сопротивлением. Однако исполь- зование зарядового усилителя позволяет преобразователю иметь низ- кое выходное сопротивление, обеспечивая тем самым уверенное про- хождение сигнала на сравнительно большое расстояние до измеритель- ного прибора с большим входным сопротивлением. Помещая зарядо- вый усилитель как можно ближе к кристаллу, можно получить на выхо- де очень низкую величину шума. Усиление такого усилителя выражает- ся в значениях мВ/пКл и определяет чувствительность преобразователя. При высоких частотах емкость обратной связи ограничивает частотную характеристику прибора при частотах около 100 кГц. Рис. 1.80
1.5. Сила, давление и расход 73 1.5.4. Ускорение и вибрация Обычно измерения ускорения производят механическим способом. Сейсмическая масса уравновешивается пружиной и демпфером. Мас- са соединяется с рычагом, который, в свою очередь, приводит в движе- ние пьезорезистивный, емкостный или индуктивный преобразующий элемент или пьезоэлектрический кристалл. Образующийся в результа- те выходной сигнал показывает вели- чину ускорения вспомогательной рамки прибора. Этот процесс подчиняется уравне- нию: „ d2x Л dx . г = m-— + k—- + kx, dt1 dt гдех — величина перемещения. Уско- рение равно: Если отношение демпфирования S = 2^/^ ’ недемпфированная соб- Вспомогательная ственная частота равна [Г _ а S1 + 2^(О05 + (Во ’ где S = усо х — в метрах а — в мс'2 со — в рад/с. Если со0 известна, то ускорение а может быть найдено из изме- Рис. 1.82 рения перемещения массы.
Преобразователи 74 кристаллов Рис. 1.83 Высокочастотные ускорения (вибрации) могут быть измерены с помо- щью сейсмической массы, соединенной с пьезоэлектрическим кристал- лом. Так как v = гео, а = г;2/г, a v тог; = — их0 =—, со со где v — максимальная скорость (мс-1), Xq — амплитуда вибрации (м). 1.5.5. Масса Масса может быть измерена путем уравновешивания ее некоторой си- лой. Сила может возникать из-за отклонения пружины или некоторых других упругих элементов с линейной характеристикой. В высококаче- ственных весоизмерительных приборах перемещения регистрируются электронным способом и используются в цепях обратной связи для кон- троля силового привода, который обращает перемещения в ноль. Сигнал, поступающий на силовой привод, используется в качестве меры массы образца. Электронные весы обычно представляют собой автономный прибор, имеющий цифровую индикацию и компьютерный интерфейс. Компь-
1.5. Сила, давление и расход 75 ютерный интерфейс дает возможность выдавать команды в коде ASCII, часто в виде последовательных сообщений. Значения массы могут быть получены прочтением последовательных сообщений путем посылки ко- манд чтения. Формат результата взвешивания обычно представляется в специфическом виде. Типичным примером является: I III I I I - I 3 | 2 | . | 4 | 5 | 6 | | g | CR | LF: 01 02 03 04 05 06 07 08 09 1 0 11 12 13 14 1 5 16 1 7 18 _________ ___ CR LF I_________________________________________I I_I I___I Идентификационный блок (например, I — недействительный) Блок данных (например — 32,546) Блок единиц измерения (г, %) Рис. 1.84 Рис. 1.85. Высококачественные весы с обратной связью по перемещению. Цифровой выход позволяет получить разрешающую способность по массе до 0,00001 г
Преобразователи 76 1.5.6. Атмосферное давление Единицами для измерения атмосферного давления являются: Н/м2; миллибар (=100 Н/м2); мм Hg (ртуть при 0 °C и g=9,80665 мс’2). Нормальным атмосферным давлением является: 101,325 кПа=760 мм Hg=29,927 дюйм Hg. Фиксированная точка Установочный винт с насечкой для бачка Рис. 1.86 Уровень ртути измеряется по вершине мениска Уровень ртути возрастает до тех пор, пока ее поверхность не коснется фиксированной точки в бачке •
1.5. Сила, давление и расход 77 Примечание: «Торр» при использовании в работах с вакуумом равен 1/760 величины нормального атмосферного давления, но он не признается для изме- рения барометрического давления. 1 мм Hg = 1 Торр (по имени ученого Торричелли) Атмосферное давление стандартно измеряется при помощи ртутного барометра, поскольку он дает прямые показания давления и использует тяжелую жидкую среду, которая обеспечивает компактные размеры при- бора. Ртутные барометры бывают двух основных типов: Фортина и Кью. В барометре Фортина поверхность ртути в бачке устанавливается в фиксированной точке до снятия показаний — этот тип включает также манометр с [/-образной трубкой. Исторически ртутные барометры использовались при различных нор- мальных гравитациях и температурах, изменяющихся в зависимости от условий использования — метрологических условий, физических и т. д. Это привело в 1954 г. к принятию международных стандартов, напри- мер, к стандарту В52520. Конструкция барометра Фортина такова, что он позволяет получить пря- мые показания давления в случае, когда весь прибор находится при 0° С и при гравитационной постоянной 9,80665 мс-2 (нормальные условия). Корректирующий фактор Г0 = ГТ + г (Р-а)Г т 1+рг Реальные показатели 4 барометра при Т С Скорректированные показания барометра Поправочные температурные таблицы дают возможность учесть тепло- вое расширение ртути (р = 0,0001818) и латуни (а = 0,0000184). Поправочные таблицы для гравитации выражены в значениях широты местонахождения прибора и высоты над уровнем моря. Ускорение сво- бодного падения как функции широты ф° дается выражением: g0>o = 9,80616( 1 - 0,0026373 cos 2ф + 0,0000059 cos2 2ф). При высоте над уровнем моря Z и широте ф ускорение свободного паде- ния равно: g0(2 = g0,o-(O,OOOOO3O86Z).
Преобразователи 78 Эти значения g дают поправки к показаниям барометра, находящегося на высоте Z над уровнем моря и на широте ф. 7ф,0 = r^z + 0,000003086Z -ГФ,2-------------- &ф,0 гф 0 — показания барометра на уровне поверхности моря и широте ф; ГФ, z — реальные показания барометра на широте ф и высоте Z м. Поправка к показаниям барометра для стандартного ускорения свобод- ного падения равна: Гп = ?ф,о + [ ^>ф,0 1 ф,° 19,80655 1 гп — показания барометра в месте, где g = 9,80665 м/с2 и на уровне повер- хности моря. ГФ, о ~ реальные показания барометра на широте ф и на уровне поверхно- сти моря. Если необходимо знать атмосферные давления в какой-либо точке выше или ниже бачка барометра (т. е. барометр не может быть легко установ- лен в желаемое положение), то последующая поправка должна быть сделана на гидростатичное давление воздушного столба между двумя высотами. Например, для точки, расположенной на 1 м над бачком, поправка рав- на -0,1181 мбар, расположенной на 1 м ниже поправка равна +0,1181 мбар. 1.5.7. Давление Простой датчик переключающего типа Датчик давления масла представляет собой датчик, ввернутый в выс- верленное отверстие на выходной части масляного насоса. Датчик дав- ления масла содержит диафрагму, которая размыкает контакты в том случае, если давление масла значительнее превышает силу противодей- ствующей пружины.
1.5. Сила, давление и расход 79 Датчик Бурдонского типа Датчик Бурдона содержит трубку, изогнутую в виде спирали или дуги. По мере увеличения давления в трубке спираль раскручивается. Указа- тель, связанный с концом трубки, может быть соединен с рычагом и от- калиброван в единицах давления. Типичная трубка диаметром 50 мм имеет перемещение до 4 мм. Обычно измеряется давление примерно от 35 кПа до 100 кПа. Движение может Конец трубки, перемещающийся из-за изменения давления Давление, приложенное к входу трубки Рис. 1.88
П реобразовате л и 80 быть непосредственно зарегистрировано измерителем движения либо передано на вход датчика перемещения, обеспечивающего на выходе электрический сигнал, пригодный для компьютерной обработки. Трубка в свою очередь изготовлена из латуни и имеет эллиптическое или прямоугольное поперечное сечение. 1.5.8. Промышленные измерители давления Давление является одним из наиболее важных параметров, которые не- обходимо измерять в технологических процессах. Наиболее общее уст- ройство для измерения давления содержит диафрагму, связанную с пье- зорезистивным преобразователем перемещения. Искривление диафраг- мы вызывает нарушение баланса мостовой схемы, при этом величина разбаланса является мерой давления. Обычно диафрагма изготавливается из нержавеющей стали, что позво- ляет измерить давление воды и других коррозионных сред. В некото- рых случаях используют кремниевые диафрагменные датчики, кото- рые полезны при высокочастотных измерениях. Тензодатчик в таких приборах встраивается в них в процессе изготовления при помощи атом- ной диффузии. Диафрагма может быть также прикреплена к пьезоэлектрическому кри- сталлу. Преобразователи давления такого типа включают компенсацию ускорения, которая минимизирует влияние на прибор вибрации. Это так- же полезно при измерении давлений, имеющих место в условиях высокочастотного давления. Когда преобразователь давления устанавлива- ется, необходимо отметить, что любая механи- ческая нагрузка (кроме той, которая вызвана из- меряемым давлением) будет давать прогиб ди- афрагмы, что дает погрешность в измерении сигнала. Общим практическим приемом явля- ется отслеживание выходного сигнала прибора (при нулевом давлении) в течение его установ- ки и закрепления, для того чтобы исключить любое механическое напряжение в конструк- Рис. 1.89 ции датчика и, следовательно, в диафрагме.
1.5. Сила, давление и расход 81 Различные виды давления Манометрическое Давление, измеренное относительно атмос- ферного давления. Абсолютное Абсолютное давление, равное манометричес- кому давлению плюс атмосферное давление. Дифференциальное Давление, измеренное относительно вспомо- гательного давления. Испытательное Максимальное давление, которое может быть приложено к прибору и воздействовать на него согласно спецификации. Давление разрушения Максимальное давление, которое может быть приложено к преобразователю без его физи- ческого разрушения 1.5.9. Звук Микрофоны являются преобразователями давления, предназначенны- ми для быстрых изменений давления с малыми амплитудами. Для про- фессиональной звуковой индустрии наиболее важными параметрами микрофона являются частотная характеристика и диаграмма направ- ленности. Большинство используемых микрофонов являются так на- зываемого конденсаторного типа. Конденсаторный микрофон Металлическая диафрагма образует одну обкладку емкости, другая об- кладка зафиксирована. Звуковые волны заставляют диафрагму двигать- ся. Если диафрагма движется в направлении за- фиксированной обкладки и если напряжение на обкладках постоянно, то это вызывает увеличе- ние величины электрического поля между об- кладками, поскольку V = Ed. Увеличение силы поля заставляет большее число зарядов переме- щаться между обкладками, в результате чего возрастает ток в микрофонных соединительных проводах. Когда диафрагма движется от зафик- сированной обкладки, изменение тока происхо- Рис. 1.90
Преобразователи 82 дит в обратном направлении. Результирующий ток имеет частотные со- ставляющие, равные падающим звуковым волнам. При работе с высо- кими частотами несущий сигнал переменного тока приложен к обклад- кам. Звуковые волны в результате этого представлены как модуляция этого несущего сигнала. Пьезоэлектрический микрофон Диафрагма прикреплена к кварцевому кристаллу. Перемещения крис- талла, вызванные звуковыми волнами, генерируют выходное напряже- ние, пропорциональное амплитуде звуковых волн. Некоторые кристал- лические микрофоны содержат в своем составе предусилитель для сни- жения уровня шумов, поступающих в основной усилитель мощности. Микрофон с подвижной катушкой Диафрагма прикреплена к катушке, которая движется относительно по- стоянного магнита. Напряжение, наведенное в катушке, пропорциональ- но амплитуде звуковой волны. Углеродный микрофон Звук воздействует на диафрагму, которая в свою очередь воздействует на окружающий объем углеродных гранул. Контактное сопротивление между гранулами зависит от давления. Если приложено постоянное на- пряжение, результирующее сопротивление образует сигнал переменного тока, пропорциональный интенсивности звука. 1.5.10. Поток Измерение потоков газов или жидкостей может быть выполнено, ис- пользуя сужение в трубопроводе (дроссель), которое вызывает перепад давления. Объемная скорость потока обычно пропорциональна квад- ратному корню разности давлений. Такие типы преобразователей осно- ваны на перепаде давления и называются dp расходомерами. Они мо- гут использовать измерительные диафрагмы, сопла, трубки Пито и цен- тробежные коленчатые трубки.
1.5. Сила, давление и расход 83 Измерительная диафрагма Характеристики: . Отсутствие движу- щихся частей . Нелинейный выход . Постоянная потеря давления Трубка Вентури Рис. 1.91 D Для несжимаемых жидкостей и потока без трения теоретическая объем- ная скорость потока Qh равна: 2(^~Р2) Р Для расходомера с измерительной диафрагмой Л2 есть площадь суже- ния центральной части потока. Для реальных сред, обладающих свойствами жидкостей, применяется расходный коэффициент: Qactual CQjh- Расходный коэффициент зависит от типа расходомера (с измеритель- ной диафрагмой или трубкой Вентури) и обычно определяется экспе- риментально. В одном из типов коммерчески доступ- ных приборов трубка размещена перпен- дикулярно к направлению движения по- тока. Отверстия на каждой из сторон трубки — с лицевой стороны потока (вы- сокое давление) и обратной стороны по- Рис. 1.92
Преобразователи 84 тока (низкое давление) — направляют поток к отдельным камерам внут- ри трубки. Измеряется разность давлений, которая калибруется для обеспечения получения значений скорости потока. Конструкция попе- речного сечения трубки оптимизирована для обеспечения измерений в широком диапазоне вязкостей контролируемых сред. Позитивное перемещение Расходомеры с позитивным перемещением и с вращающимися крыль- чатками используют физическое движение крыльчаток или поршня в качестве индикации величины потока. В типичном приборе две крыль- чатки вращаются от движения потока жидкости. Магниты на крыль- чатках воздействуют на внешний датчик, который генерирует импульс- ный выходной сигнал. Каждый импульс соответствует известному ко- личеству жидкости, захватываемому кулачками крыльчатки. Таким об- Рис. 1.93 разом, скорость счета импульсов мо- жет быть откалибрована в единицах потока (в л/мин). Следует отметить, что должно быть обеспечено достаточ- ное обратное давление на выходной стороне расходомера для того, чтобы во время работы прибора не образовы- вались газовые пузыри. Расходомеры с позитивным переме- щением могут быть использованы только для измерений потоков жид- кости. Турбинный прибор Турбинный расходомер содержит вра- щающуюся крыльчатку, угловая ско- рость которой характеризует скорость потока. Этот тип расходомера позво- ляет измерять потоки как жидкостей, так и газов и пригоден для очень низ- ких скоростей потоков.
1.5. Сила, давление и расход 85 Тепловые приборы Массовая скорость потока может быть определена путем измерения тем- пературного перепада нагретого датчика. Техника пригодна как для из- мерения потоков газов, так и жидкости. Некоторые датчики этого типа используются как переключатели для индикации «есть поток/нет по- тока», что может быть использовано в устройствах, связанных с техни- кой безопасности, а также в уровнемерах. В этих приборах также нет движущихся частей. Ультразвуковые приборы В одном из ультразвуковых методов измерения ультразвуковой сиг- нал направляется на движущуюся среду под определенным углом и доплеровский сдвиг частоты отраженного сигнала является мерой ско- рости потока. В другом методе для измерения потока используется время распространения ультразвукового импульса от передатчика к приемнику. Диапазоном измерений («спадом») является отношение между мини- мальной и максимальной величиной скорости потока. «Спад» 10:1 означает, что максимальная скорость потока в системе в 10 раз больше минимальной. Хороший расходомер будет обеспечивать до- статочную точность измерений для «спада» — примерно 150:1. Прибор поплавкового типа Текущая жидкость действует на массу поплавка, который введен в по- ток. Откалиброванная шкала прямо показывает скорость потока. Рас- ходомер монтируется вертикально с входным отверстием в нижней ча- сти прибора. Этот тип расходомера очень чувствителен к устройству входа и конфигурации расходных трубопроводов. Входной трубопро- вод должен иметь как можно больший диаметр, поскольку он является входным соединением расходомера, и быть как можно ровнее — т.е. сво- бодным от всякого рода изгибов, перекручиваний и любых других на- рушений правильной формы. Для каждых расходомеров выход, или расходная трубка, должны быть как можно больше для минимизации обратного давления.
П реобразовател и 86 Масштаб шкалы калибруется для выхода при стандартном атмосфер- ном давлении. Для измерений потока жидкости допускается ослаблен- ное обратное давление. Уравнение Бернулли Рис. 1.95 1) Это уравнение описывает физику невозмущенного потока или ламинарное течение. 2) Уравнение непрерывности = Л2^2- 3) Уравнение Бернулли Р\ +PgK =Р2 +Pg^2 +^РГ,2- 1.5.11. Измерители уровня Измерение уровня жидкости в емкостях является очень важным объек- том применения датчиков и преобразователей для контроля техноло- гических процессов. В настоящее время известны различные методы: • Поплавковый метод • Метод дифференциального давления • Ультразвуковой метод • Конденсаторный метод • Метод с использованием радаров В поплавковой системе поплавок обычно воздействует непосредствен- но на преобразователь перемещения или монтируется на кронштейне, который в этом случае действует как преобразователь перемещения. Поплавковые системы являются механическими устройствами, склон- ными к изнашиванию и коррозии. Преобразователь перемещения мо- жет быть резистивного типа и выдавать непрерывно изменяющийся сигнал или сигнал релейного типа, указывающий состояние «да/нет» для верхнего и нижнего пределов уровня.
1.5. Сила, давление и расход 87 Преобразователь уровня по методу дифференциального давления из- меряет разность давлений между верхним и нижним положением в ем- кости (или атмосферным давлением для открытой емкости), и, зная плотность жидкости, может быть определена ее высота. Др = pgA/z Разность давлений Высота жидкости Ультразвуковые преобразователи уровня измеряют уровень путем из- мерения величины времени прохождения ультразвукового импульса, зарегистрированного пьезоэлектрическим датчиком, после его отраже- ния от поверхности жидкости. Поскольку в этом преобразователе нет движущихся частей, на точность прибора влияют только испарение жидкости и турбулентность. В измерителе конденсаторного типа стенка емкости используется как одна обкладка конденсатора, а электрод, помещенный в центре емкос- ти, образует электрод конденсатора. Изменения в уровне жидкости (ко- торая должна быть непроводящей) изменяют емкость (благодаря изме- нению проводимости изолирующей среды или диэлектрика) в электри- ческой цепи под воздействием радиочастотного сигнала. Для электро- проводящей жидкости электрод покрывается изолирующим экраном (образуя диэлектрик), и изменение уровня регистрируется как измене- ние величин конденсатора благодаря изменению эффективной площа- ди между центральным электродом и заземленными стенками емкости. Радарные системы работают по принципу, аналогичному ультразвуко- вым преобразователям, за исключением того, что для определения вре- мени отражения от поверхности жидкости используется электромагнит- ное излучение. 1.5.12. Вопросы для повторения 1. Элемент тензодатчика имеет масштабный коэффициент 2,0 и сопро- тивление в ненагруженном состоянии 150 Ом. Если изменение сопро- тивления элемента при максимальной нагрузке равно 5 Ом, опреде- лите максимальную нагрузку, для которой элемент предназначен. (Ответ: 1,67%)
Преобразователи 88 2. Вычислите требуемую жесткость пружины k и постоянную затухания X для акселерометра, который имеет собственную резонансную часто- ту, равную 10 Гц, отношение затухания 0,8 и сейсмическую массу 5 г. (Ответ: 0,197 Н/м; 0,05 Нс/м) 3. Кожух компрессора вибрирует по синусоидальному закону с ампли- тудой перемещения 10-4 м и частотой 500 Гц. Рассчитайте амплиту- ду ускорения. (Ответ: 100 г) 4. Ожидаете ли вы, что резонансная частота пьезорезистивного преоб- разователя силы будет выше или ниже, чем для пьезоэлектрическо- го преобразователя силы, и почему? 5. Сильфон используется для создания силы в системе без существенного вклада в жесткость этой системы. Если сильфон может рассматривать- ся как последовательно соединенные 5 пружин, каждая с жесткостью 1 Нм-1, рассчитайте жесткость, вносимую в систему этим сильфоном. 6. Представьте себе выражение, описывающее чувствительность пье- зоэлектрического преобразователя силы. Полагая 5 = /со, определите выражение для чувствительности как функцию w и укажите общие свойства этой функции на произвольно нарисованном от руки гра- фике. Предположите, что со0 и — константы. J_____________ AF k s2 + 2^5 + (Од 7. Барометр Фортина используется для измерения атмосферного дав- ления на северной широте 53° и на высоте 10 м над уровнем моря. Нониусная шкала барометра показывает 992,4 мбар, и расположен- ный вблизи термометр показывает 19,8 °C. Рассчитайте точное ат- мосферное давление. (Ответ: 989,84 мбар) 8. Как изменяется скорость потока при изменении скачка давления в преобразователе потока резистивного типа (дайте, пожалуйста, по- луколичественный ответ, т. е. по квадратичному закону, линейно, эк- споненциально и т.д.)? 9. Если коэффициент расхода для конкретной платы с диафрагмой диа- метром 1 см, установленной внутри 5-сантиметровой трубки, равен 0,78, рассчитайте разность давлений для скорости потока воды 1 л/с. (Ответ: 8,34 кПа)
Часть 2: Сопряжение (интерфейс)
2.0. Сопряжение (интерфейс) Использование компьютера для записи результатов измерений с пре- образователя является общей практикой. Выходным сигналом преоб- разователя является, как правило, аналоговый сигнал, который должен быть преобразован в цифровой формат для последующего анализа и хранения. Соединение между преобразователем и компьютером назы- вается компьютерным интерфейсом.
2.1. Системы счисления 2.1.1. Двоичная система счисления Десятичное Двоичное 0 0000 1 0001 2 0010 3 0011 4 0100 5 0101 6 0110 7 0111 8 1000 9 1001 10 1010 11 1011 12 1100 13 1101 14 1110 15 1111 В десятичной системе счисления использу- ются десять цифр для записи чисел. Двоич- ная система счисления, или система с осно- ванием 2, использует только цифры 0 и 1. Эти двоичные числа названы битами (от binary digi0. Компьютеры состоят из мил- лионов транзисторных ключей, которые мо- гут находиться в двух состояниях — вкл. и выкл., или истина и ложь, и соответственно цифры 1 и 0 двоичной системы счисления используются для представления текущего состояния этих ключей. Последовательность бит составляет цифро- вой код, который может использоваться для представления информации. Наиболее по- пулярным кодом, используемым для представления десятичных цифр и алфавита, является код ASCII*. Поскольку используются только 2 цифры для представления двоичных чисел (0 и 1), то при записи больших чисел их запись в двоичной систе- ме может быть весьма громоздкой. К примеру, десятичное число 26 в двоичной системе записывается: 2610 = 11010 Группа из 8 битов встречается очень часто в компьютерных системах и называется байтом. Группы длиной более 8 бит, такие, как 12 и 16 бит, называются словом. Самый левый бит в двоичной записи числа назы- вается наиболее значимым битом (msb), поскольку он имеет наиболь- ший вес при определении величины числа. Крайний правый бит назы- вается наименее значимым битом (Isb). * ASCII — American Standard Code for Information Interchange — Американский стандарт- ный код для обмена информацией, код ASCII. {Прим, пер.}
Сопряжение (интерфейс) 92 Степени двойки 22 4 23 8 24 16 2s 32 2б 64 27 128 2е 256 29 512 2io 1024 211 2048 212 4096 213 8192 214 16384 2’5 32768 216 65536 Для удобства представления больших чисел в дво- ичной системе счисления вводится производная величина, равная 210 = 1024. Например, число 65 536, поделенное на 1024, записывается как 64к, где «к» (кило) обозначает поделенное на 1024. Сло- во длиной 24 бита —167772116 — поделим на 1024 дважды и получим 16М, где М означает мега. 1024 байта — это 1 килобайт (кб), и, соответствен- но, 640 кб составляет 640 х 1024 = 655 360 байт. 1 ме- габайт (Мб) — это 1 х 1024 х 1024 = 1 048 576 байт. 64 кб = 65 536 байт, которые при последователь- ной нумерации будут представлены числами от 0 до 65 535. 2.1.2. Преобразование числа из десятичного в двоичное Двоичная система счисления использует только две цифры — 0 и 1. Очень просто преобразовать число из десятичного в двоичное путем последовательного деления на 2. Начнем деление от правого края стра- ницы и продолжим к левому. 26 4-2 13 0 Делимое Частное Остаток Перенесем полученное в результате первого деления частное в левую колонку на место делимого и снова разделим на 2. 13> 26 4-2 К 2 4- 6 рГз~| Частное 1 0 Остаток Повторяем деление до тех пор, пока частное не станет равным 0.
2.1. Системы счисления 93 1 V 3 > 6 > 13 v 26 Делимое -ь2 Х^ ^2 Х^ +2 Х^ 2 Х^ 2 н- 0 П~| |3~| |6~| 1~13~] Частное 110 10 Остаток Результатом преобразования являются остатки от деления: 2610 = 11010. Для преобразования из двоичного в десятичный код каждая двоичная позиция, начиная с наименее значимого бита, представляет собой сте- пень, в которую нужно возвести основание 2, начиная счет позиций с 0. Пример: Преобразование двоичного числа 11010 в десятичный код: = 1(24) + 1(23) + 0(22) + Ц21) + 0(2°) = 26 Биты в байте нумеруются от 0 до 7, начиная от правой позиции к левой, что может показаться нумерацией «наоборот», но при этом номер пози- ции совпадает со степенью, в которую необходимо возвести 2 при пере- воде числа в десятичный код. 2.1.3. Шестнадцатеричные числа Программирование на ассем- блере или на уровне машин- ного языка зачастую связано с обработкой групп из 4, 8 или 16 битов за одну опера- цию. По этой причине намно- го легче использовать систе- му счисления, основание ко- торой длиной 4 бита, макси- мальное количество комби- наций — 16 от 0000 до 1111. Шестнадцатеричная система счисления основывается на 16 комбинациях 4 бит и ис- пользует буквы для обозна- чения чисел больше 910. Так, Десятичные Шестнадца- Двоичные (числа) теричные 0 0 0000 1 1 0001 2 2 0010 3 3 0011 4 4 0100 5 5 0101 6 6 0110 7 7 0111 8 8 1000 9 9 1001 10 А 1010 11 В 1011 12 С 1100 13 D 1101 14 Е 1110 15 F 1111
Сопряжение (интерфейс) 94 один разряд может содержать цифры от 0 до 9 и буквы от А до F, кото- рые представляют числа больше 910. Шестнадцатеричные (hex) числа могут быть записаны со знаком $ пе- ред числом для отличия их от десятичных. Например, число $FF есть десятичное число 255, или 1111 1111 в двоичном коде. Двоичные числа могут обозначаться символом %, а десятичные целые числа «.», которая в этом случае не должна восприниматься как разделитель дробной час- ти. Шестнадцатеричные и двоичные числа могут так же обозначаться путем добавления в конец числа букв «Ь» и «Ь» соответственно. 2.1.4. Преобразование числа из десятичного в шестнадцатеричное Преобразование числа из десятичного в шестнадцатеричное: Последовательное деление на 16. Начнем деление от правого края стра- ницы и продолжим к левому. Останавливаемся, когда частное от деления будет 0. Результат преобразования представлен остатками от делений. Пример: Преобразование десятичного числа 26 в hex: 1 V 26 Нб\ ч 4-16 0 |Т~| Частное 1 10 Остаток Результат: 1А (десятичное число 10 представляется буквой А в шест- надцатеричной системе счисления). Преобразование числа из шестнадцатеричного в десятичное: Так же как при преобразовании из двоичного в десятичное, позиция каждой цифры в числе, начиная с наименее значащей цифры, представ- ляет собой степень, в которую необходимо возвести основание системы 16 — начиная с 0.* * Полученное число следует умножить на величину соответствующей цифры и сложить произведения между собой. {Прим, пер.}
2.1. Системы счисления 95 Пример: Преобразование 1А в десятичный код: 1А = 1(161) + 10(16°) = 26 Преобразование числа из шестнадцатеричного в двоичное: Каждая шестнадцатеричная цифра должна быть заменена своим двоич- ным эквивалентом из 4 бит (см. таблицу). Пример: Преобразование 1А в двоичный код: 1 А 0001 1010 Результат: Найдите в таблице двоичный эквивалент шестнадцатерич- ной цифры и запишите двоичное число группами по четыре цифры. Такая группа из 8 цифр называется байтом. Результат преобразования 0001 1010 и нули слева могут опускаться при желании. Зачастую удобно записывать двоичные цифры группами по четыре, поэтому мы записали 0001 1010. Группировка цифр производится только для нашего удобства чтения. 2.1.5. Дополнение до 2-х (дополнительный код) Дополнение до 2-х является специальной операцией, выполняемой над двоичными числами, результатом которой является новое двоичное число, значение которого будет разъяснено ниже. Дополнение до 2-х* находится путем инвертирования нулей и единиц в двоичном числе (об- ратный код или дополнение до единицы) и затем сложение с 1. Пример: Найти дополнительный код числа 13 Исходное число 13 0 0 0 0 1 1 0 1 Инвертирование всех бит 11110 0 10 * Добавление 1 1 Дополнительный код 11110 0 11 Число в дополнительном коде может быть использовано для представления отрицатель- ных целых чисел, позволяя компьютеру вы- * Или дополнительный код числа. {Прим, пер.} Двоичное число в этой строке называется до- полнением до едини- цы (обратный код)
Сопряжение (интерфейс) 96 поднять операцию вычитания схемой сложения цифр. Применение опе- рации дополнения дважды дает в результате исходное число. Учтите, что в наших рассуждениях мы всегда оперируем с целыми чис- лами. На самом деле это единственный тип чисел, с которыми может работать компьютер. Тем не менее нам так же приходится применять дроби и очень большие числа в повседневном применении компьютера. Как же это достигается? Если коротко, то компьютер разделяет все чис- ло на две части, одна из которых называется мантисса числа, а другая — экспонента. Число 7 х 105 (иногда записывается в виде 7Е5) есть число 700 000. В данном примере 7 — это мантисса, а число 5 — экспонента. Компьютер хранит мантиссу и экспоненту в различных регистрах па- мяти. В простых системах мантиссе отводится 4 байта памяти и 1 байт под экспоненту. Преобразование в данный формат обычно производит- ся в программе, также для выполнения этой процедуры к микропроцес- сору добавляется специализированный математический сопроцессор, который выполняет ее намного быстрее. 2.1.6. Числа со знаком В ячейку памяти длиной 8 бит могут быть записаны десятичные целые числа в диапазоне от 0 до 255. Для того чтобы в ячейке памяти можно было хранить положительные и отрицательные числа, наиболее знача- щий бит резервируется под знак числа и называется знаковым. Он ука- зывает, является ли число положительным (знаковый бит = 0) или от- рицательным (знаковый бит =1). Остальные 7 бит ячейки используют- ся для размещения собственно величины числа, но способ записи раз- личается для положительных и отрицательных чисел. 1. Положительные числа: Остав- шиеся 7 бит содержат непосред- ственно величину числа. 7 бит позволяют кодировать числа от О до+127. О 0101000 0 в старшем разряде (msb) обо- значает положительное число. Величина числа 23 + 24 = 40 Отрицательные числа: Представляются в дополнительном коде. Пример: -40 записывается: 40 в двоичном коде 00101000 обратный код 11010111 добавление 1 1 -40 в доп. коде 11011000 Знаковый бит (msb) указывает на то, что число отрицательное.
2.1. Системы счисления 97 Одна и та же последовательность бит может представлять собой запись знакового или беззнакового числа, в зависимости от контекста использо- вания этого числа. Для чисел, начинающихся с 0, в двоичном коде нет никаких трудностей, поскольку они имеют одинаковое значение в обеих записях. Числа, начинающиеся с 1, могут быть интерпретированы как беззнаковое целое или как отрицательное число в дополнительном коде. 7F 0 1 1 1 1 1 1 1 +127 • • • • • • • • • • • • • • • • • Т- • • • 2 • 0 0 0 0 0 0 0 1 1 0 0 0 0 0 0 0 0 0 0 FF 1 1 1 1 1 1 1 1 -1 • 1 1 1 1 1 1 1 0 -2 • • • • • • • • • I ‘ • • • 1- 80 1 0 0 0 0 0 0 0 -128 В ячейку длиной 8 бит могут записываться числа со знаком в диапазоне от-128 до+127. Операция сложения с 1 в процедуре нахождения дополнения числа учи- тывает возможность записи ±0 (т. е. значения дополнения до единицы лежат в диапазоне от -127 до -0 и от +0 до 127). 2.1.7. Вычитание и умножение Вычитание При вычитании выполняется операция сложения с дополнением вычи- таемого числа. П р и м е р: 43 - 40 = 43 + (-40) 00101011 +43 11011000 -40 в доп. коде 100000011 результат 11b (т.е. 3d) Дополнительный бит слева, получив- шийся в результате сложения, назы- вается битом переноса. Бит перено- са игнорируется в арифметике с чис- лами со знаком, но учитывается при операциях с беззнаковыми числами. 4 - 1182
Сопряжение (интерфейс) 98 П р и м е р: 40 - 43 = ? 00101000 +40 11010101 -43 в доп. коде 11111101 результат сложения Наиболее значащий бит (msb) является знаковым битом, который в данном слу- чае обозначает отрицательное число. Для преобразования в десятичный код необходимо найти инверсию 2-го до- полнения этого числа в двоичном коде. Преобразуем полученный результат в десятичную форму: 11111101 результат, полученный выше 00000010 дополнение 1 прибавляем 1 00000011 окончательный результат «-3» Окончательный результат в десятичном виде «-3», по- скольку знаковый бит ука- зывает на то, что это отри- цательное число. Умножение Умножение и деление на 2 в двоичной системе счисления очень просто выполняются при помощи операции сдвига. Рассмотрим умножение 2 х 4 = 8. В двоичном коде 410 = 0100 и сдвиг влево дает 1000 (810). Деле- нию на 2 соответствует сдвиг вправо. Операция умножения с другими числами в двоичной системе выполня- ется аналогично десятичным числам, например 12x6 = 72. Позиции битов в двоичном числе аналогичны единицам, десяткам, сот- ням в десятичном. 110 0 1-й сомножитель 1210 0 110 2-й сомножитель 610 0 0 0 0 х 0 без сдвига 110 0 х 1 и сдвиг влево 110 0 х 1 и дважды сдвиг влево 0 От 000 хОи трижды сдвиг влево 1 0 0 1 0 0 0 0 просуммировать с учетом сдвига, результат = 72 Операция умножения включает в себя повторяющийся сдвиг влево и сложение. Операция деления выполняется практически так же, за ис- ключением того, что включает повторяющиеся вычитания делителя Начинайте умножать 1-й сомножитель на наименее значащий бит (Isb) 2-го сомножителя. Повторите операцию последовательно с другими битами 2-го сомножителя, сдвигая результат каждый раз влево на одну позицию.
2.1. Системы счисления 99 2.1.8. Двоично-десятичный код Для представления данных в двоичном коде применяются различные схемы кодирования. Безусловно, любое число можно непосредственно представить в двоичной системе счисления, но иногда для удобства пользуются схемами кодирования. Наиболее известная схема кодиро- вания для числовых данных — это преобразование в двоично-десятич- ный код (BCD). Двоично-десятичный код использует числа 0 и 1 для представления десятичных чисел от 0 до 9. Каждая цифра числа в деся- тичном коде преобразуется в 4-битное двоичное число. Основное преимущество двоично-десятичного кода состоит в том, что двоичные числа кода BCD (тетрады) легко распознаются и преобразу- ются в десятичный код благодаря строгой позиции каждого числа. Основной недостаток этого способа кодирования состоит в том, что ма- тематические операции над кодом BCD выполняются намного труднее. Для выполнения математических операций требуются специализиро- ванные сумматоры чисел в BCD коде. Примечание: Двоичные числа свыше 1001 не являются числами кода BCD. Рассмотрим преобразование числа 2563. Для представления этого чис- ла в двоично-десятичном коде следует просто последовательно записать двоичное представление каждой цифры десятичного числа. 2 5 6 3 0010 0101 0110 0011 Каждое десятичное число от 0 до 9 может быть представлено двоичным числом длиной 4 бита. Вес или вклад наиболее значащего бита в каж- дом двоичном числе составляет 23 = 8. Вес наименее значащего бита — 2° = 1. Веса битов в двух других позициях — 22 = 4 и 21 = 2. Двоично- десятичный код иногда обозначают как код 8421 именно исходя из этих соображений. 2.1.9. Код Грэя Код Грея является широко известным кодом, изначально используемым при кодировании углового положения в шифраторах угла поворота вала. Такой шифратор может быть реализован в виде прозрачного диска с на- несенной на него специальным образом маской, концентрические до-
Сопряжение (интерфейс) 100 рожки которой считываются фотодатчиками (рис. 2.1). Основной проблемой применения двоичной системы кодирования в датчиках положения данного типа является то, что при многих по- ложениях несколько дорожек одновременно меняют свое состояние (с прозрачного на не- прозрачный). Из-за этого в результате могут возникать ошибки считывания показаний при вращении от одной позиции к другой. При использовании кода Грэя лишь одна до- Рис. 2.1. Код Грея рожка меняет свое состояние каждый раз при переходе от одной пози- ции к следующей. При сбоях считывания показаний диска ошибка воз- можна только лишь в одном бите. Код Грэя является невзвешенным кодом. Любое двоичное число может быть преобразовано в код Грэя, не существует верхней границы числа кодовых комбинаций. Преобразо- вание из кода Грэя в двоичный код может быть легко выполнено на ком- пьютере, и поэтому этот код является идеальным для данного вида при- кладных задач. Десятичные Шестнадцатеричные Двоичные Код Грея (числа) 0 0 0000 0000 1 1 0001 0001 2 2 0010 0011 3 3 0011 0010 4 4 0100 0110 5 5 0101 0111 6 6 0110 0101 7 7 0111 0100 8 8 1000 1100 9 9 1001 1101 10 А 1010 1111 11 В 1011 1110 12 С 1100 1010 13 D 1101 1011 14 Е 1110 1001 15 F 1111 1000 Для преобразования из двоичного кода в код Грэя следует начать с бита msb и сравниить его с 0. Если msb = 0, то запишем 0 для msb числа в коде
2.1. Системы счисления 101 Грэя, в противном случае запишем 1. Затем мы сравниваем бит, следую- щий за msb, и сравниваем его с msb. Если они совпадают, то записываем О в следующую позицию числа в коде Грэя, в противном случае записыва- ем 1. Затем мы последовательно сравниваем каждый бит двоичного чис- ла с предыдущим слева битом и записываем 0 при совпадении и 1 при несовпадении. Данная процедура продолжается до тех пор, пока не будет сравним Isb со вторым битом. 2.1.10. Коды ASCII Код ASCII — наиболее универсальный код для представления число- вых, буквенных и специальных символьных данных. Этот код в стан- дартной форме является 7-битным. 7 бит позволяют закодировать 128 различных комбинаций. 8-й бит иногда используют в качестве бита чет- ности для выявления ошибок. В расширенном варианте набора симво- лов ASCII 8-й бит используется для записи других 128 знаков, которые содержат математические и другие специальные символы. 7-битный код ASCII 2 3 4 5 6 msb 7 0 1 0 NUL DLE Space 0 @ P p 1 SOH DC1 ! 1 A Q a q 2 STX DC2 2 В R b r 3 ЕТХ DC3 # 3 C S c s 4 EOT DC4 $ 4 D T d t 5 ENQ NAK % 5 E u e u 6 АСК SYN & 6 F V f V 7 BEL ЕТВ • 7 G w g w 8 BS CAN ( 8 H X h X 9 НТ ЕМ ) 9 I Y 1 У А LF SUB * J z j z В VT ESC + К [ k { С FF FS < L \ 1 1 D CR GS - = M 1 m ) Е SO RS > N Л n - F SI US / ? 0 0 DEL Isb Пример: Число 4F или 100 1111 соответствует символу «О».
Сопряжение (интерфейс) 102 Первые 32 символа кода являются управляющими кодами. Эти коды интерпретируются устройством, которому пересылаются данные. На- пример, принтер, получая код CR, выполняет возврат каретки. Во мно- гих приложениях используется хранение данных в формате ASCII. Это, наверное, наиболее универсальный и используемый метод представле- ния числовых и символьных данных, одновременно подходящий для задач хранения данных и их передачи. 2.1.11. Булева алгебра Цифровые электронные схемы содержат компоненты, которые работа- ют как высокоскоростные переключатели, которые коммутируют высо- кий уровень TTL (5 В) и низкий уровень TTL (О В). Такие схемы пре- красно подходят для представления двоичных чисел 0 и 1. Высокий и низкий уровни могут восприниматься как логические уровни «исти- на» и «ложь», позволяя, таким образом, применять Булеву алгебру, реализованную на цифровых схемах, для обработки двоичных данных. Компоненты логических схем называются логическими вентилями. Булева алгебра состоит из правил, которые определяют отношения меж- ду логическими состояниями «истина» (1) и «ложь» (0). Операции в Булевой алгебре представляются в виде таблиц истинности. Двоичная система Истина Ложь Высокий Низкий Отмечено Пробел Вкл. Выкл. 1 0 5В ОВ Выход = 1 (высокий уровень), когда оба входа А и В в 1 Рис. 2.2. Вентиль И А в AAND В А*В 0 0 0 Выход «истина», 0 1 0 если А и В истинны 1 0 0 1 1 1 AND (И) А в A OR В А+В 0 0 0 Выход «истина», 0 1 1 если хотя бы один — 1 0 1 А или В — истинны 1 1 1 OR (ИЛИ) А в A NAND В 0 0 1 Выход «истина», 0 1 1 если хотя бы один — 1 0 1 А или В — ложны 1 1 0 NAND (И с отрицанием)
2.1. Системы счисления 103 Выход = 1 (высокий уровень), когда оба входа А и В в О Рис. 2.3. Вентиль ИЛИ с отрицанием А В A NOR В 0 0 1 Выход «истина», 0 1 0 если А и В одновре- 1 0 0 менно ложны 1 1 0 NOR (ИЛИ с отрицанием) А В AXORB 0 0 0 Выход «истина», 0 1 1 если А и В различны 1 0 1 1 1 0 XOR (исключающее ИЛИ) 2.1.12. Цифровые логические схемы Булева алгебра может быть реализована на цифровых электронных схе- мах при использовании комбинации логических вентилей. Например: комбинация вентилей «И с отрицанием» NAND дает логи- ческую функцию «исключающее ИЛИ» XOR (рис. 2.4). Рис. 2.4 Таблица истинности А В I О ООО О 1 1 1 0 1 1 1 о
Сопряжение (интерфейс) 104 В схеме, приведенной ниже (рис. 2.5), функция XOR используется для сло- жения двух чисел А и В. Вентиль «И» формирует бит переноса. Это схема одноразрядного сумматора. Таблица истинности А В S с 0 0 0 1 1 0 1 1 0 1 1 0 0 0 0 1 Правила Булевой алгебры А+В=В+А В.А=А.В (А + В) + С = А + (В + С) (А ♦ В) ♦ С = А »(В • С) А + АВ = А .(1 + В) = А А .(А + В) = А А .(В + С) = А . В + А • С А + (В ♦ С) = (А + В) .(А + С) А +А = А А. А = А А.А = 0 А + А = 1 А = А 0 +А = А 1 . А = А 1 + А= 1 0.А = 0 А + А . В = А + В А .(А + В) = А • В De Morgan’s theorem (А + В) = А.~В (А . В) = А + В 2.1.13. Вопросы для повторения 1. Какое количество чисел может быть представлено с помощью пос- ледовательности из 8 бит? 2. Ниже в таблице приведены несколько десятичных чисел. Заполните таблицу, используя правило преобразования в дополнительный код.
2.1. Системы счисления 105 Десятичные -1 127 28 Двоичные Шестнадцатеричные 3. Заполните таблицу, используя правило преобразования в дополни- тельный код. Двоичные 1010 Десятичные Шестнадцатеричные 80 FF 4. Найдите дополнительный код $0Е и покажите, что применение пра- вила преобразования в дополнительный код дважды возвращает ис- ходное значение числа. 5. Рассмотрим двоичную комбинацию 1011 1101. Найдите такую ком- бинацию бит (называемых маской), которая, будучи объединена (ис- пользуя выражения Булевой алгебры) с первым числом, давала бы инверсию второго слева бита (0 вместо 1 и наоборот), но оставляла бы остальные биты без изменений. 6. Расскажите об отличительных особенностях кода Грэя, двоично-де- сятичного кода и кода ASCII. 7. Разработайте логическую схему, которая реализует операцию исклю- чающего ИЛИ, но использует только вентили ИЛИ (OR) и ИЛИ с отрицанием (NOR). 8. Нарисуйте простейшую цифровую схему по задан- о X А В с нои таблице истинности. 0 0 1 0 1 0 1 0 1 2.1.14. Упражнения 1 1 1 1. Запустите калькулятор MICROSOFT Windows и установите инже- нерный вид. Затем установите BIN для перехода в режим двоичного счета и режим WORD. Сложите два 16-битных числа, приведенных ниже, дважды — один раз вручную на бумаге, второй раз на калькуляторе:
Сопряжение (интерфейс) 106 1011101110101010 1101110111001100 Рис. 2.6 2. Переведите калькулятор в режим HEX и установите BYTE, затем на- берите число FFFE Преобразуйте число в десятичный код, затем в двоичный путем выбора соответствующих режимов Dec и Bin: Dec: _______________________ Bin: _____________________ 3. Выполните операцию вычитания в десятичном коде, дающую отри- цательный результат (скажем, 8-10). Преобразуйте результат в Hex, а затем в двоичный код. Каков смысл этих результатов? Dec: Hex: Bin: 4. Рассмотрим пример 2x4 = 8. Убедитесь в том, что умножение в дво- ичном коде с помощью калькулятора аналогично сдвигу влево дво- ичного представления числа 410 (вам может понадобиться справка по использованию калькулятора, для того чтобы правильно выпол- нить операцию «сдвиг влево»). 5. Рассмотрим последовательность бит 1011 1101. Найдите такую ком- бинацию бит (называемых маской), которая, будучи объединена (ис- пользуя выражения Булевой алгебры) с первым числом, давала бы инверсию второго слева бита (0 вместо 1 и наоборот), но оставляла бы остальные биты без изменений. Используйте калькулятор для проверки (при помощи кнопок операций Булевой алгебры).
2.2. Архитектура компьютера Комбинация функциональных компонентов, составляющих компьютер, называется архи- тектурой микрокомпьютера. Основными функциональными компонентами микрокомпьюте- ра являются модуль централь- ного процессора (CPU), память и устройства ввода/вывода (I/O) (рис. 2.7). Двоичная информация переда- ется посредством логики TTL по проводникам, составляющим ? шину: адресная шина, шина дан- ных и шина управления. В то время, как на шине адреса выставлен ад- рес ячейки памяти, на шине данных размещается байт данных, предназ- наченный для записи или считанный из данной ячейки памяти. Сигна- лы на управляющей шине указывают CPU, производится ли в данный момент операция чтения или записи для текущей ячейки памяти. Шина адреса является однонаправленной — адрес выставляет только CPU. Микросхема 8086 имеет адресную шину разрядностью 20 бит, но внутренние регистры процессора только 16-битные. Для адресации 1 мегабайта памяти используется специальная схема адресации памяти по сегментам. Каждая ячейка памяти хранит 8 бит, или 1 байт данных. Все ячейки па- мяти перенумерованы и имеют свой уникальный адрес. Шина данных микропроцессора 8086 имеет разрядность 16 бит и явля- ется двунаправленной. По ней могут передаваться данные как побайт- но, так и словами в обоих направлениях между процессором и памятью микрокомпьютера*. И устройствами ввода-вывода. {Прим, пер.)
Сопряжение (интерфейс) 108 Шина управления обеспечивает синхронизацию работы устройств и выдачу сигналов управления, единственно интересным из которых для нас является сигнал чтения/записи. Этот сигнал обозначается R/ W (чтение/ не_запись). В процессе цикла чтения процессор получает дан- ные из памяти или от периферийных устройств, регистры которых так же отображаются в памяти. В цикле записи процессор пересылает дан- ные в ячейку памяти или в устройство, отображаемое в памяти. Номинально шина данных имеет разрядность 16 бит, но физически в ма- шинах серии 8088 она разрядностью только 8 бит. Внутри процессор опе- рирует как 16-битное устройство, а пересылает 2 байта последовательно. Более того, шина данных и первые 8 линий адресной шины мультиплекси- рованы (т. е. одни и те же линии используются для передачи разных сигна- лов, только в разное время). В последних процессорах шина данных дос- тигает разрядности в 64 бита (и более). 2.2.2. Память Каждая ячейка памяти хранит 8 бит, или 1 байт данных. Ячейки памяти перенумерованы и имеют уникальный адрес. Когда процессор выпол- няет операцию чтения или записи в конкретную ячейку памяти, то он выставляет адрес требуемой ячейки памяти на шину адреса, и на шине данных появляются данные, записываемые В ячейку памяти или счи- тываемые ИЗ нее. Внутренние схемы обеспечивают считывание или запись только той ячейки памяти, адрес которой выставлен на шине адреса. Операторы программы всегда сохраняются в сегменте кода. Данные программы хранятся в сегменте данных. Размер памяти, которая может быть адресова- Адрес данные 00F101 32 00F100 D3 00Е111 32 на процессором, зависит от разрядности шины адреса. У микропроцессора Intel 8086 разрядность шины адреса состав- ляет 20 бит, таким образом возможно адресовать 210= 1 048 576 байт (1 Мб памяти RAM*). Каждая ячейка памяти пронумерована от $00000 * RAM — Random Access Memory — память с произвольной выборкой, в русской техни- ческой литературе — оперативное запоминающее устройство (ОЗУ).
2.2. Архитектура компьютера 10S до $FFFFF. Тем не менее внутренние рабочие регистры микропроцес- сора имеют разрядность лишь 16 бит, поэтому для адресации использу- ется специальная схема адресация памяти — сегментами. Для сравне- ния: процессор 80286 имеет уже 24-битную адресную шину и способен адресовать 16 Мб ОЗУ. В более поздних процессорах реализована 32- разрядная шина адреса (486), позволяющая адресовать 4 Гб памяти, а процессор Pentium Pro и более поздние адресуют 64 Гб памяти. Память разделена на ряд сегментов, каждый из которых имеет размер 64 кб: • Сегмент кода • Сегмент данных • Сегмент стека • Дополнительный сегмент Каждый сегмент содержит 64 кб данных. Если общее адресное пространство 1 048 576 байт, то их возможно разделить на 1 048 576/65 536 = 16 сегментов. Память 0100 4 (старших) бита 0011 определяют один 0010 из 16 возможных 0001 сегментов памяти 0000 Поэтому, чтобы указать конкретное расположение ячейки, все, что нам нужно, — это 4-битный базовый адрес и 16-битный код смещения высокого уровня 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 I I 16-битный код смеще- Пак/ HH3h 1ЯТЬ сого ния определяет конкрет- уровня ную ячейку памяти в сег- менте из 65 536 ячеек. К сожалению, не все так просто на самом деле. Сегменты не должны начинаться на границах, как показано выше. На самом деле, чтобы ис- пользовать полную разрядность 16-битных внутренних регистров про- цессора, сегменты могут начинаться где угодно в пределах 16-битного адресного пространства. 2.2.3. Сегментированная память Ниже показано, как работает сегментированная память: Сегмент: 1010 0111 1010 0100 Смещение: 1000 1001 1100 1110
Сопряжение (интерфейс) 110 1. 16-битный сегмент умножается на 16 для получения 20-битного ба- зового адреса сегмента путем 4-кратного сдвига влево. 1010 0111 1010 0100 0000 + ____ 1000 1001 1100 1110 1011 0000 0100 0000 1110 Базовый адрес сегмента (20 бит) .____________I ◄----------- Смещение (16 бит) ◄---- Абсолютный адрес (20 бит) 2. Для получения 20-битного абсолютного адреса 16 бит смещения сум- мируются с базовым адресом сегмента (предварительно сдвинутым). 3. Адрес сегментированной памяти записывается в следующем виде — после адреса сегмента ставится двоеточие и затем записывается сме- щение. Например: FFE2:01D0 t t Сегмент Смещение Число, полученное после сложения адреса сегмента и смещения, назы- вается абсолютным адресом. Примечание: Поскольку сегменты могут быть представлены любым 16-битным числом, то возможно существование двух разных адресов сег- мента памяти, адресующих одну и ту же физическую ячейку памяти! На- пример, 0010:0000 эквивалентен адресу 0000:0100, которые указывают на ячейку памяти $ 100. действительно доступная используемая Рис. 2.8 Почему так важно иметь сегменты, начинающиеся в любом месте 16-битного адресного пространства? Это позволяет наиболее эффектив- но использовать память. Например, какая-либо программа может зани- мать менее 64к сегмента кода. Остав- шаяся доступная часть памяти мо- жет быть использована под сегмент данных путем частичного перекры- тия сегментов. Поскольку под за- пись сегмента отводится 16-битное число (а не 4-битное), начало каждого сегмента может быть определено
2.2. Архитектура компьютера 111 в любом месте 16-битного адресного пространства (иначе шаг начала сегмента был бы 64к) Этот пример показывает, как сегмент стека может быть размещен в пре- делах одного блока в 64к частично занятого сегментом кода. 2.2.4. Представление данных в памяти Каждая ячейка памяти может хранить 8 бит, или 1 байт данных. Разряд- ность шины данных показывает, какое количество данных может быть передано в процессе одной операции чтения/записи. Микропроцессор 8088 имеет разрядность шины данных 8 бит, но может обрабатывать 16 бит данных за одну операцию, поскольку имеет внутренние регист- ры разрядностью 16 бит. Процессор 8086 имеет полную 16-битную шину данных. В микропроцессоре 80486 реализована 32-битная шина данных, а в процессоре Pentium — 64-битная. Содержимое ячеек памяти интерпретируется процессором следующим образом: Данные Логические (0 или 1, обозначающие «истина» или «ложь») или числовые данные — знаковые или беззнаковые целые в двоичном коде. Инструкции Команды в машинном коде. Адрес «Указатель», по которому процессор делает выборку данных Группы бит больше, чем байт, называются ма- шинными словами. В 16-битной машине тер- мин «слово» используется для обозначения 16-битных (2-байтных) данных, а также терми- ны «длинное слово» и «двойное слово» — для обозначения данных размерностью 4 байта. В архитектуре 8086 слова хранятся таким об- Адрес Данные 06001 ЗЕ 06000 01 разом, что старший байт располагается по старшему значению адреса. В данном примере при обращении к слову по адресу 06000Н будет счи- тано значение ЗЕ01Н. Слова и двойные слова считаются выровненны- ми, если они начинаются с адресов, кратных 4. Двойные слова занимают 4 адреса в памяти и хранятся таким образом, что старшее слово хранится в старшей паре адресов. Внутри каждого
Сопряжение (интерфейс) 112 слова старший байт располагается по старшему значению адреса. При- нято записывать адреса памяти снизу вверх. 68000 Эффективная разрядность шины адреса микросхемы МС 68000 состав- ляет 24 бита (3 байта).(На самой микросхеме шина адреса имеет размер- ность 23 бита и нумеруется с А1 по А23, а также имеется внутренний бит АО, который управляет направлением, в котором используется шина дан- ных. Таким образом эффективная разрядность шины составляет 24 бита.) Адресуемое пространство составляет количество адресов = 224 = 16 777 216, которые нумеруются от 0 до 16 777 125 или в шестнадцатеричном коде $000000 до $FFFFFF. Каждый адрес указывает на ячейку памяти в один байт (или 8 бит), суммарно адресуется 16 Мб ОЗУ. 2.2.5. Буферные элементы Двоичные сигналы транслируются между микропроцессором и ячейка- ми памяти посредством шин адреса и данных. Передача данных по об- щей шине требует, чтобы одна и только одна ячейка памяти, только та, чей адрес выставлен на шине адреса, имела бы в данный момент под- ключение к шине данных. Схема дешифратора адреса определяет поло- жение выбранной ячейки памяти для активизации процесса чтения/за- писи. Активизация ячейки памяти состоит в подключении данной ячей- ки на шину данных и гарантии того, что все другие ячейки надежно от- ключены. Процедура подключения выполняется с помощью тристабиль- ных элементов — буферов с третьим состоянием (tri-state). В таблице, приведенной ниже, показано, что соединение между шиной данных и ячейкой памяти должно быть переведено в высокоимпедансное состояние, когда сигнал CS (chip-select) имеет низкий логический уро- вень, и пропускать данные, когда CS имеет высокий логический уровень. Данные CS Соединение 0 0 Высокий импеданс 1 0 Высокий импеданс 0 1 0 1 1 1
2.2. Архитектура компьютера 113 Буферы изолируют ячейки памяти от шины данных, а также позволяют данным проходить насквозь в процессе выполнения операций чтения/ записи. Поскольку шина данных должна пропускать данные в обоих на- правлениях, то все подключения к шине данных и к ячейкам памяти должны иметь возможность находиться в состояниях «высокий уровень TTL» и «низкий уровень TTL» (для представления логических уров- ней 1 и 0). Когда ячейка памяти НЕ выбрана (дешифратором адреса), то буферный элемент должен эффективно изолировать ячейку памяти от шины данных путем установки на вы- ходе на шину высокоимпедансного состо- яния. Термин тристабильный означает, что выходными состояниями буфера могут быть высокий логический уровень, низкий или высокоимпедансное состояние. Простым примером логики с третьим со- стоянием может служить схема на двух транзисторах, как показано ниже Q1 Q2 Выход Off Off Высокий импеданс Off On OV On Off +5 V 2.2.6. Триггер-защелка Триггер-защелка — это устройство, способное хранить данные, подан- ные на его вход. Ячейка памяти в микрокомпьютерной системе являет- ся триггером-защелкой. Обычно сигналы, предназначенные для запо- минания в ячейках памяти, появляются на шине данных на мгновение, а затем исчезают. Временные соотношения между всеми сигналами ус- танавливаются внутренней тактовой частотой, которая имеет порядок десятков и сотен МГц. Схема дешифратора определяет, какой из буфе- ров активизировать (подключить на шину данных). Активизированный буфер, в свою очередь, подсоединяет входы триггера на шину данных. Сигналы на шине данных передаются через буферы на схемы тригге- ров-защелок, которые сохраняют сигнал на своих выходах.
Сопряжение (интерфейс) 114 Схема триггера-защелки может быть реализована на нескольких RS триг- герах. Как показано на рисунке, 4-битные данные на входах D3... Do передаются на выход Q при наличии сигнала clock. Когда на входе D при- сутствует логическая 1, то входы триггера 5 = 1, R = 0 и выход Q уста- навливаются в 1. Когда на входе 0, то S = О, R = 1 и выход Q = 0. Восьмеричный триггер-защелка имеет 8 входов и 8 выходов. Когда сиг- нал разрешения защелкивания дан- ных {data latch enable, DLE) устанав- ливается в высокий логический уро- вень, то логический уровень входов копируется на соответствующий вы- ход. Триггер-защелка сохраняет со- стояние на выходе, даже если данные на входе меняются, но только при низком уровне сигнала DLE. Важно устанавливать сигнал DLE при появ- лении данных на входе защелки. Сиг- нал DLE тактируется таким образом, чтобы он был установлен тогда, ког- да данные присутствуют на шине дан- ных. Для синхронизации использу- ются тактовые сигналы clock. 2.2.7. Триггер Триггера могут использоваться для представления двоичных чисел. RS триггер представляет собой цифровую схему, которая может при- нимать одно из двух стабильных состояний — установлен (set) и сбро- шен (reset). Такая схема может быть реализована на вентилях И с ин- версией по выходу — ИНЕ (NAND). Таблица истинности отражает воз-
2.2. Архитектура компьютера 115 можные состояния триггера. Напряжение с одного из выходов может использоваться для представления или хранения двоичного числа — оно может быть как высоким уровнем (логическая 1), так и низким уровнем (логический 0), и будет удерживаться на выходе триггера до тех пор, пока на короткое время не будут вновь активизированы входы тригге- ра, сбрасывая или устанавливая выход триггера. Таблица переходов (RS): R S 0 0 Не используется 0 1 Q = 0; Q = 1 1 0 Q= 1;Q = 0 1 1 Без изменения В микрокомпьютере применяются тактируемые триггеры для синхро- низации всей схемы. Сигнал со входа 5 поступает на выход Q по сигналу clock и сохраняется там, даже если сигнал со входа 5 снимается и сигнал clock сбрасывается в низкий уровень. Рис. 2.12 Таблица переходов (тактируемый RS): R S 0 0 Без изменения 0 1 Q = 1;Q = 0 1 0 Q = 0; Q = 1 1 1 He используется Когда clock сбрасывается в низкий уровень, то данные защелкиваются на выходе Q благодаря тому, что внутри схемы тактируемого триггера входы S =R= 1 (благодаря схеме ИНЕ в цепи clock). Триггер реагирует на входные сигналы, только когда сигнал clock ус- танавливается в высокий уровень.
Сопряжение (интерфейс) 116 2.2.8. Ввод/вывод данных Существуют три метода управления устройствами ввода/вывода. Пер- вый — это использование портов. В микрокомпьютерах на базе 8088 пор- ты идентифицируются с помощью 16-битного номера порта. Поэтому всего доступно 65 536 портов, пронумерованных от 0 до 65 535. CPU использует сигналы шины управления для того, чтобы указать, что ин- формация на шинах адреса и данных относится именно к определенно- му порту, а не к ячейке памяти. Порт с определенным адресом затем принимает или передает данные из своей внутренней памяти, которая не является частью основной памяти компьютера. Но иногда некото- рые устройства используют основную память компьютера в своих це- лях, и тогда передача данных для таких устройств происходит через ад- ресацию основной памяти. Это и есть второй метод, используемый для ввода/вывода. Такого рода устройства (как, например, видеоадаптеры) называются устройствами, отображаемыми в памяти. ♦ Видеоадаптеры ♦ -=J Дисковые накопители ♦ ф Зву»оеые видео и игровые устройства ♦ Клавиатура I ♦ Контроллеры ги^ их дисков I ♦ Контроллеры «естких дисков ♦ Контроллеры шины USB ♦ Модем ♦ " Мониторы ♦ Мышь ♦ / Порты СОМ и LPT ♦ Cerwr - платы Системные устройства ♦ Устройства интерфейса с пользователем ♦ Устройство чтения компакт дисков Этот список показывает диапазон устройств ввода- вывода типово- го настольного микрокомпьютера. Эти устройства зачастую могут быть с отображаемой памятью, и данные записываются из/в них через адаптеры интерфейса. Не- которые порты не имеют отобра- жения в памяти, и сигнал на шине управления указывает централь- ному процессору, что текущий ад- рес — это адрес порта, а не ячейки памяти. Рис 2 13 Третий метод ввода-вывода зак- лючается в обходе центрального процессора и записи или чтении непосредственно из памяти. Это назы- вают прямым доступом к памяти (Direct Memory Access, DMA). Специ- альный контроллер прямого доступа в память управляет потоками дан- ных на шине. Обмен данными между жестким диском компьютера и па- мятью обычно выполняется с помощью прямого доступа в память.
2.2. Архитектура компьютера 117 Шины ISA и PCI Часть успеха платформы IBM-PC и семьи микропроцессора Intel обязана использованию открытой архитектуры, возможной благодаря наличию шин расширения. Шина ISA (Industrial Standard Architecture) имеет 16-разряд- ную шину данных. Появление процессора Pentium сопровождалось вве- дением шины PCI (Peripherial Component interface). Эта шина поддержи- вает 32- и 64-битовую передачу данных с увеличением скорости переда- чи данных по сравнению с шиной ISA. 2.2.9. Модуль микропроцессора (CPU) Модуль центрального процессора организует и дирижирует всеми вы- полняемыми действиями в микрокомпьютере. Каждая операция в пре- делах центрального процессора — фактически очень простая задача, зак- лючающаяся в применении Булевой алгебры над двоичными числами. Большое количество этих простых задач объединяется, формируя не- которую законченную функцию, которая на первый взгляд выглядит сложной. Модуль центрального процессора — по существу то же самое, что и более знакомый и общий термин «центральный процессор» — CPU (данный тер- мин применяется к любому компьютеру, и не только к микрокомпьютеру). Центральный процессор отвечает за передачу данных между основной памятью и устройствами ввода-вывода, за выполнение арифметических и логических операций и за управление последовательностью всех дей- ствий. Центральный процессор включает различные подкомпоненты, такие, как арифметико-логическое устройство (Arithmetic Logic Unit, ALU), дешифратор команд, внутренние регистры и различные схемы управления, которые синхронизируют различные сигналы на шинах. CPU Дешифратор команд Арифметико-логическое устройство Регистры Адресные регистры Указатели Флаги Указатель инструкции Рис. 2.14
Сопряжение (интерфейс) 118 Развитие процессора 80 х 86 1972 Intel анонсирует микросхему 4004 с 4-битной шиной данных, 10 000 транзисторов. 1974 Процессор 8080 с 8-битной шиной данных и 64 кб адресуемой па- мяти (RAM). 1978 Процессор 8080 с 16-битной шиной данных и 1 Мб адресуемой па- мяти, тактовая частота 4 МГц. 1979 Процессор 8080 с 8-битной внешней шиной и 16-битной внутрен- ней шиной. 1982 80286, адресная шина 24 бита, 16 Мб адресуемой памяти, такто- вая частота 6 МГц. 1985 80386DX с 32-битной шиной данных, 10 MIPS*, тактовая частота 33 МГц, 275 х 103 транзисторов. 1989 80486DX с 32-битной шиной данных, внутренний математический сопроцессор, >1 х 106 транзисторов, 30 MIPS, тактовая частота 100 МГц, 4 Гб адресуемой памяти. 1993 Pentium, 64-битная шина PCI, 32-битная шина адреса, суперска- лярная архитектура позволяет выполнять более одной операции за такт, выполнение операций с плавающей точкой, >3 х 106 тран- зисторов, 100 MIPS, >200 МГц, 4 GB адресуемой памяти. 1995 Pentium Pro, системная шина 64 бита, 5.5 х 106 транзисторов, ди- намическое выполнение, основанное на анализе потоков команд и определении инструкций, готовых к выполнению, 64 Гб адресуе- мой памяти. 1997 Pentium II, 7,5 х 106 транзисторов, технология ММХ для видеопри- ложений, 64 Гб адресуемой памяти. 1999 Pentium III, 9,5 х 106 транзисторов, тактовая частота от 600 Мгц до 1 ГГц. 2000 Pentium 4, 42 х106 транзисторов, 1,5 ГГц. 2001 Процессоры Xeon, Celeron, 1,2 ГГц, 55 х 106 транзисторов. 2.2.10. Регистры Микропроцессор 8088/86 имеет 14 внутренних регистров. Все регист- ры 16-битные. Регистры используются для временного хранения дан- ных в момент выполнения процессором арифметических или логичес- ких операций. MIPS — Million Operations Per Second — миллионов операций в секунду.
2.2. Архитектура компьютера 119 О 15 Регистры данных АХ АН I AL ВХ ВН _ . __ BL СХ СН I CL DX DH । DL Регистры данных могут разделяться на два 8-битных регистра зависимо- сти от текущей разрядности обрабатываемых микропроцессором данных. В пределах регистров X существуют регистры AL, BL, CL и DL, и АН, ВН, СН и DH. Каждая из половинок регистра X может быть адресована с помощью меток L и Н. • АХ — аккумулятор и используется как место временного хранения данных, участвующих в арифметических и строковых (символьных) операциях. • ВХ — регистр базовой адресации и обычно используется для хране- ния смещения полного адреса сегмента памяти в процессе операций с памятью. • СХ — регистр счетчика и используется в качестве счетчика при вы- полнении циклических операций. • DX — регистр данных, а также 16-битный регистр общего назначе- ния, использующийся в арифметических и строковых операциях. 15 Регистры сегмента О CS DS SS ES • CS — сегмент кода — содержит базовый адрес сегмента памяти, в которой расположен код исполняемой программы. • DS — сегмент данных — содержит базовый адрес сегмента памяти, в которой расположены хранимые текущие данные (такие, как пере- менные). • SS — сегмент стека — содержит базовый адрес сегмента стека, в ко- тором хранятся адрес возврата и содержимое регистров в процессе выполнения подпрограмм основной программы. • ES — дополнительный сегмент — содержит базовый адрес дополни- тельного сегмента, который используется для дополнения функций (расширения) сегмента данных.
Сопряжение (интерфейс) 120 Регистры смещения О IP SP BP SI DI • IP — указатель инструкции (и программный счетчик), который со- держит смещение адреса к сегменту кода для адреса следующей ис- полняемой команды в программе. • SP — указатель стека и в совокупности с указателем базы ВР обес- печивает значение смещения в сегменте стека SS. Это и есть положе- ние (адрес) вершины стека. • ВР — указатель базы — используется совместно с указателем стека для задания смещения в сегменте стека. • SI и DI — индексные регистры и используются (обычно совместно с регистром данных) для задания смещения в сегменте данных при обработке длинных строковых переменных. Флагами называют отдельные биты, которые используют для отобра- жения результатов различных операций сравнения и других процессов, выполняемых процессором. В программах могут выполнятся ветвления в зависимости от состояния флагов. Хотя сами флаги — индивидуаль- ные биты, они упорядочены вместе в виде 16-разрядного регистра так, чтобы их содержание могло быть легко сохранено и восстановлено вся- кий раз, когда это необходимо (например, во время выполнения под- программы). Флаги OF DF IF TF SF ZF AF PF CF Флаг переноса произошел перенос при выполнении арифметической операции Флаг четности четное количество единиц Дополнительный флаг переноса используется для операций над дво- ично-десятичными числами Флаг нуля результат операции 0 или результат сравнения — совпадение Флаг знака отрицательный результат или несов- падение
2.2. Архитектура компьютера 121 Флаг системного прерывания Флаг разрешения прерывания Флаг направления Флаг переполнения устанавливающий пошаговый режим выполнения программы прерывания разрешены указывает, уменьшается или увели- чивается индексный регистр переполнение регистра При выводе состояния флагов в диагностических программах исполь- зуется специальная запись состояний флагов. После выполнения инструкции флаг либо установлен (логическая 1), либо сброшен (логический 0). Флаги используются для организации условных переходов в текущей выполняемой программе. Существуют другие инструкции, которые позволяют программе уста- навливать или сбрасывать некоторые флаги. Регистр флагов обычно целиком помещается в стек при заходе в подпрограмму и извлекается из стека при возврате в основную программу. Флаг Установлен Сброшен CF переноса CY NC PF четности РЕ РО AF дополнительный переноса NA ZF нуля ZR NZ SF знака NG PL IF разрешения прерывания EI DI DF направления UP OF переполнения NV Стеком называют блок памяти для временного хранения данных. Сохра- нение данных в стеке называется занесением (push) в стек данных, обрат- ная ей операция — извлечение (pop). Данные, занесенные в стек, извле- каются из стека по принципу «последним пришел, первым вышел» (last- in, first-out, LIFO). Текущее смещение, указывающее на «вершину стека», называется указателем стека. Базовый адрес содержится в регистре сег- мента стека SS. Поэтому полный адрес вершины стека SS:SP. Стек запол- няется от верхней памяти к нижней. Низ стека таким образом SS:FFFF. 6000 А8 5FFF 34 5FFE FE-*- Вершина стека В приведенном примере данные по адресу смещения 5FFE и есть вершина стека. Базо- вый адрес сегмента для данного смещения за- дается содержимым регистра сегмента стека.
Сопряжение (интерфейс) 122 При вызове подпрограммы из основной программы содержимое CS и IP заносятся в стек. После завершения выполнения подпрограммы CS:IP извлекаются из стека, и таким образом выполнение основной програм- мы продолжается из состояния, в котором оно находилось до вызова подпрограммы. Сама подпрограмма так же может сохранять содержи- мое регистров, помещая их в стек и затем извлекая при передаче управ- ления в основную программу. В момент занесения или извлечения данных из стека указатель стека SP декрементируется или инкрементируется на 2 или 4 в зависимости от того, заносится ли или извлекается машинное слово или двойное слово. 2.2.11. ПЗУ Обычная память называется памя- тью с произвольным доступом (random access memory, RAM) и доступна для чтения или записи. Постоянное запоминающее уст- ройство ПЗУ (read only memory, ROM) доступно только для чте- ния. Данные в ПЗУ записываются в процессе производства микро- схемы памяти. Для микрокомпью- тера на базе 8086 существует ряд программ, записанных в ПЗУ, ко- торые позволяют компьютеру вы- полнять определенные базовые операции. К примеру, ПЗУ обыч- но содержит: • Стартовые подпрограммы. • BIOS (basic input/output services) — сервис базовых опе- раций ввода/вывода. • Различный BIOS дополнитель- ного оборудования, подклю- ченного к компьютеру. В своей книге мы особенно инте- ресуемся передачей данных по последовательным каналам свя- зи. Вот пример подпрограмм BIOS для последовательного порта: Сервис 0 инициализация параметров порта 1 передать символ 2 принять символ 3 запросить статус порта Например, параметры последо- вательного порта (скорость пе- редачи, четность, стоп-бит, биты данных) указываются в виде на- бора бит одного байта, который помещается в регистр AL. При вызове сервиса (с помощью пре- рывания) начальная информация считывается из AL и BIOS про- граммирует последовательный порт.
2.2. Архитектура компьютера 123 1. Стартовые подпрограммы Первая программа, выполняемая на компьютере после включения пи- тания, — это программа самодиагностики (power on self test, POST), которая производит тестирование памяти, инициализирует все поддер- живаемые микросхемы и таблицу прерываний и в заключение загружа- ет операционную систему 2. BIOS BIOS является общепринятым обозначением для сервиса базовых опе- раций ввода/вывода; сервис заключается в наборе программ, которые позволяют прикладной программе согласованно взаимодействовать с устройствами ввода/вывода, присоединенными к компьютеру Програм- мы BIOS обычно хранятся в ПЗУ. Операционная система вызывает под- программы из BIOS посредством прерываний. ROM BIOS освобожда- ет прикладную программу от прямого взаимодействия непосредствен- но с регистрами клавиатуры, видеовыводом, последовательной и парал- лельной связью и т.д. 2.2.12. Прерывания Сервис устройств ввода/вывода обычно происходит через прерывания. При получении сигнала прерывания микропроцессор приостанавливает свою текущую работу и выполняет подпрограмму обработки прерывания или обработчик прерывания. После выполнения подпрограммы обработ- ки прерывания восстанавливается нормальное выполнение программы. Существует три типа прерываний: 1. Прерывания микропроцессора Эти прерывания инициируются различными ошибками (такими, как деление на 0 или арифметическое переполнение). Эти прерывания так- же называют исключения процессора. 2. Аппаратные прерывания Эти прерывания физически поступают по электрическим связям в мик- рокомпьютер. Специальное прерывание NMI имеет наивысший приори-
Сопряжение (интерфейс) 124 тет и не может быть замаскировано другими прерываниями. Оно вы- полняется в момент критичных аппаратных событий — таких, как про- падание питания. 3. Программные прерывания Эти прерывания инициируются программами для выполнения различ- ных операций — таких, как запись файла на диск, чтение из последова- тельного порта и т.д. Такие встроенные подпрограммы обработки пре- рывания являются частью BIOS компьютера — сервиса базовых опера- ций ввода/вывода. Прерывания обрабатываются на основе приоритета. Номер прерывания определяет его приоритет. Прерывания высокого уровня не могут быть обработаны, если выполняются прерывания низкого уровня с более высоким приоритетом. Управление аппаратными прерываниями осуществляет программируе- мый контроллер прерываний: микросхема 8259. Эта микросхема может быть запрограммирована для реализации различных схем приоритета и для обработки тактируемых по фронту сигналов прерывания. Кон- троллер определяет, какое из прерываний требует обработки, и указы- вает микропроцессору на ожидание прерыванием обработки посред- ством сигнала INTR. При поступлении сигнала подтверждения от ЦПУ контроллер прерываний выставляет номер прерывания на шину дан- ных, и ЦПУ определяет адрес соответствующего обработчика прерыва- ния, затем выполняется необходимая подпрограмма обработки преры- вания. Контроллер 8259 может поддерживать до 8 устройств. Микрокомпьютер на базе 8086 имеет один контроллер прерываний 8259. Микрокомпьютер 80286 и последующие имеют уже два, причем второй контроллер включен каскадно на второе прерывание первого контроллера, что дает доступ к 15 устройствам. Таблица векторов прерываний содержит указатели на адреса подпрог- рамм обработки прерываний, сопоставленных каждому из 256 доступ- ных прерываний. Таблица векторов прерываний обычно располагается в нижней памяти. Вектора прерываний с 0 по 31 обычно резервируются под прерывания микропроцессора. Указатель может использоваться как для аппаратных, так и для программных прерываний.
2.2. Архитектура компьютера Вектор Прерывание 32 - 255 Доступны для аппа- ратных и программ- ных прерываний 17-31 Резерв 16 Ошибка мат. сопро- цессора 14-15 Резерв 13 Ошибка общей защиты 12 Ошибка стека 10-11 Резерв 9 Клавиатура 8 Аппаратный таймер 7 Мат. сопроцессор недоступен 6 Неправильный код операции 5 Печать экрана 4 Переполнение 3 Точка останова 2 Немаскируемое прерывание (NMI) 1 Отладка/единичный шаг 0 Ошибка деления 125 Номер прерывания определяет его положение в таблице векторов пре- рывания и его приоритет (за ис- ключением немаскируемого пре- рывания 2 (NMI), которое имеет наивысший приоритет, поскольку имеет прямое подключение к про- цессору). Прерывания микропроцессора де- лятся по условиям возникнове- ния — ошибка, непредусмотрен- ная ситуация, останов. При воз- никновении ошибки после выпол- нения подпрограммы обработки прерывания инструкция, вызвав- шая ошибку, вновь выполняется. При наступлении непредусмотрен- ной ситуации после выполнения подпрограммы обработки преры- вания выполняется следующая ко- манда запущенной программы. Ус- ловие останова прерывает даль- нейшее выполнение программы и требует ее перезапуска. Флаг прерывания IF используется для определения возможности об- работки аппаратного прерывания. При выявлении аппаратного преры- вания процессор сбрасывает соответствующий флаг прерывания авто- матически, но это может быть так же выполнено в подпрограмме обра- ботки прерывания, если в процессе обработки текущего прерывания воз- никает дополнительное прерывание с более высоким приоритетом. Немаскируемое прерывание (non-maskable interrupt — NMI) является специальным аппаратным прерыванием, которое соединено непосред- ственно с выводом NMI микропроцессора. Немаскируемому прерыванию назначен номер 2, и, поскольку оно не может быть маскировано никаким другим прерыванием, оно имеет наивысший приоритет и задумано для обработки его за как можно меньшее время. Данное прерывание управ- ляется такими условиями, как возникновение неисправности по питанию или ошибки чтения/записи памяти.
Сопряжение (интерфейс) 126 2.2.13. Карта памяти Память адресуется при помощи указателей на сегмент и смещения. Од- нако, как мы видели, фактическое значение сегмента может быть на лю- бом месте 16-битного адресного пространства. Сама память разделена на блоки. Есть 16 блоков, каждый размером 64 кб (65 536 байтов). Блок О — первый блок и начинается с адреса 00000 и продолжается до 0FFFF. Блок 1 начинается с 10000 и располагается до 1FFFF и т.д. FFFFF 16 блоков х 64к = 1 Мб ОЗУ Хороший пример устройства, отображаемого в памяти, это плата видеоадаптера дисплея. Адаптер содержит микросхемы памяти, которые считаются от- раженными в основной памяти в блоках А и В. t Блоки с А по F зарезервирова- ны для специальных нужд — ви- деопамять, подпрограммы вво- да/вывода и т.д. Блоки с 0 по 9 являются пользо- вательскими и используются для размещения стартовых под- программ, пользовательских программ и данных. 10 блоков по 64к дают нам в сумме 640к. I Большая часть из 640к доступ- на пользовательским програм- мам, за исключением неболь- шой части в нижней памяти, на- чинающейся с адреса 00000. Эта часть нижней памяти со- держит вектора прерываний, которые используются для сер- виса устройств ввода-вывода, подключенных к компьютеру.
2.2. Архитектура компьютера 127 2.2.14. Реальный и защищенный режим работы процессора Процессоры 80286 и выше могут работать в реальном или в защищен- ном режиме. Работая в реальном режиме, центральный процессор вы- полняет основную систему команд процессоров 8086/8088. В защищен- ном режиме центральный процессор использует расширенные возмож- ности управления памятью и многозадачности под операционной сис- темой Windows. В защищенном режиме процессоры 80386+ могут ра- ботать в виртуальном режиме 8086, позволяющем командам процессо- ра 8086 выполняться в окне «DOS». Многозадачный режим под Windows требует, чтобы про- граммы, выполняющиеся на ком- пьютере, были изолированы друг от друга, поэтому необходим за- щищенный режим работы. В за- щищенном режиме программа не может записать непосредственно в память. Вместо этого любые данные записываются или счи- тываются из виртуального про- странства памяти и затем пере- носятся в физическую память, используя процесс ЦПУ, назван- ный виртуальной-к-физической трансляцией. Работая в защищенном режиме, структура регистров центрально- го процессора отлична от исполь- Бит 0 в регистре управления — защита разрешена (Protection Enable, РЕ), который в реальном режиме переключает централь- ный процессор в защищенный режим. При сбросе РЕ — изна- чально 0 и центральный процес- сор находится в реальном режи- ме. При запуске ОС Windows пе- реключает этот бит в 1, чтобы перевести процессор в защи- щенный режим. Упражнения в этой книге разработаны для ре- ального режима работы цент- рального процессора. Реальный режим может моделироваться в окне команд DOS или запуская компьютер в командном режиме (command mode). зуемой в реальном режиме. Самое важное дополнение — дескриптор- ные таблицы, которые содержат информацию о памяти и прерываниях для каждой выполняемой задачи. Подробная информация для каждой задачи или приложения, выполняемого на микропроцессоре, содержится в регистре задач.
Сопряжение (интерфейс) 128 Виртуальная область Виртуальная область памяти задачи А памяти задачи С Рис. 2.15 Каждой задаче назнача- ются глобальные и ло- кальные ресурсы памя- ти. Любая из задач мо- жет получить доступ к глобальной области па- мяти, но никакая зада- ча не может получить доступ к локальной па- мяти другой задачи. Каждой задаче также присваивается уровень привилегий. Ядро от- ветственно за задачи низкого уровня — та- кие, как управление па- мятью, ввода-вывода и задачи планирования вычислительного про- цесса. Ядро имеет са- мый высокий уровень привилегий: 0. Задачи с более низким уров- нем привилегий могут ис- пользовать подпрограммы, которые имеют более высо- кий уровень привилегий, но не могут изменить их. Пользовательским про- граммным приложениям на- значен самый низкий уро- вень привилегий: 3. Комбинация локального адресного пространства и иерархия уровней привилегий позволяют изолировать команды и данные для всех выпол- няемых задач друг от друга. Данные одной задачи, таким образом, за- щищены от ошибок, возникающих в другой задаче.
2.2. Архитектура компьютера 129 В отличие от операции реального режима, операции ввода/вывода от пользовательских приложений не имеют необходимого уровня приви- легий и поэтому должны выполнять эти функции посредством драйве- ра устройства ввода/вывода. Это гарантирует, что операции ввода/вы- вода выполняются, не нарушая не только адресное пространство дру- гой выполняющейся прикладной программы, но также и то, что опера- ции ввода/вывода не затрагивают задач низкого уровня центрального процессора — планирования вычислительного процесса и управления памятью. Значение операции защищенного режима для интерфейса с устройства- ми состоит в том, что при выполнении центральным процессором не- скольких задач или приложений пользователю кажется, что они выпол- няются одновременно, тогда как на самом деле выполнение задач цент- ральным процессором распределено по времени. Для критических по времени выполнения приложений интерфейса с устройствами пользо- ватель должен помнить об ограничениях, накладываемых режимом раз- деления по времени и иерархией привилегий. Виртуальные драйверы устройства (VxD) обычно имеют уровень привилегий ядра, который раз- решает прямой ввод/вы- вод, что в совокупности с прямым доступом к памя- ти необходимо для крити- ческих по времени выпол- нения приложений интер- фейса с устройствами. Когда DOS приложение выполняется в DOS или окне команд в среде Windows, центральный процессор переводится в виртуальный режим 8086 путем установки флага VM в расширенном реги- стре флагов. Программа DOS выполняется как за- дача защищенного режи- ма, и при переключении Рис. 2.17
Сопряжение (интерфейс) 130 центрального процессора на эту задачу устанавливается флаг VM как часть процесса переключения задач. Программам в режиме DOS назна- чен уровень привилегий 3. Схема адресации памяти для такой задачи имитируется такая же, как для реального режима работы ЦПУ, и может быть сконфигурирована как часть свойств данной задачи. 2.2.15. Вопросы для повторения 1. Дать краткие ответы на следующие вопросы: (а) Какое количество памяти (или ячеек памяти) может быть адре- совано микропроцессором 8086 и почему? (Ь) Каково наибольшее шестнадцатеричное число (без знака), ко- торое может быть сохранено в одной ячейке памяти, и почему? (с) Сколько ячеек памяти может быть считано в одном цикле чте- ния/записи и почему? (d) Что такое длинное слово (long word) и как оно хранится в памяти? 2. Перечислите четыре типа регистров специального назначения мик- ропроцессоров 8086. 3. Объясните различие между портом и адресом. 4. Нарисуйте структурную схему, которая выделяет основные компо- ненты микрокомпьютерной системы (такие, как центральный про- цессор, память и т.д). Поясните функцию каждого основного компо- нента и его взаимодействия с другими. 5. Что такое ROM BIOS? 6. Какой бит в регистре флагов указывает на то, что результат опера- ции вычитания отрицательный? 2.2.16. Упражнения 1. Запустите ваш компьютер в режиме DOS или откройте окно коман- ды DOS в среде Windows. 2. Введите команду mem в командной строке DOS и определите, сколь- ко оперативной памяти содержит ваш компьютер и как она распре- делена. Заполните нижеприведенную таблицу значениями, выведен- ными на экран.
2.2. Архитектура компьютера 131 3. Запустите программу отладки, набрав команду debug в командной строке DOS. В командной строке появляется символ «-», который говорит о том, что отладчик готов ко вводу команды. 4. Введите команду г — и на экран будут выведены значения регистров. Заполните нижеприведенную таблицу значениями, выведенными на экран (включая последнюю строку из отчета отладчика). Тип памяти Размер Занято Свободно Обычная Верхняя Зарезервировано Память XMS Всего памяти Ниже 1М б Максимально допустимый размер программы Наибольший свободный блок верхней памяти АХ= ВХ= сх= DX= SP= BP= Sl= Dl= DS= ES= ss= CS= IP= 5. Какой статус всех флагов? Они установлены или сброшены? Есть среди флагов такой, который находится в противоположном состоя- нии по отношению к другим? Почему так? 6. Последняя строка в списке регистров показывает машинный код и название на языке ассемблера команды, на которую указывают реги- стры CS:IP. Сравните сегментный адрес в начале этой строки с со- держимым регистров CS и IP. CS: IP: 7. Чтобы посмотреть содержимое одного регистра, необходимо ввести г XX, где XX — название регистра. Программа отладчика отвечает текущим содержимым регистра и затем предлагает нам изменить это значение. Посмотрите содержимое регистра АХ и изменение его на 00FE. 8. Для просмотра флагов необходимо ввести г f в строке команд отлад- чика. Можно изменять состояние любого флага путем ввода соот- ветствующего кода флага. Выведите состояние флага четности и за- тем измените его на четный.
Сопряжение (интерфейс) 132 АХ аккумулятор ВХ база СХ счетчик DX данные CS сегмент кода DS сегмент данных SS сегмент стека ES дополнительный сегмент IP указатель команд SP указатель стека ВР указатель базы SI индекс источника DI индекс приемника Коды флагов Флаг Установлен Сброшен CF Переноса CY NC PF Четности РЕ РО AF Дополнительный АС NA ZF Нуля ZR NZ SF Знака NG PL IF Прерывания EI DI DF Направления DN UP OF Переполнения OV NV 9. Команда «дамп памяти» — d. Синтаксис команды: d [адрес] Если базовый адрес сегмента не указан, то в качестве адреса берется текущее смещение к содержимому регистра DS. Просмотрите содер- жимое области памяти BIOS, которая располагается по адресу F000:0000. Учтите, что команда d отображает только 128 байт, начи- ная с указанного адреса. Команда d выводит содержимое памяти в шестнадцатеричном коде и пытается интерпретировать символы ASCII, и если какой-либо код является допустимым значением ASCII, то этот символ выводится с правой стороны экрана. Продол- жайте просматривать содержимое области памяти BIOS, пока не най- дете сообщение об авторском праве производителя вашего компью- тера. Запишите местоположение (адрес) памяти, в котором встре- тилось сообщение.: Вы можете продолжить вводить команду d без параметров и просмотреть содержимое памяти. В содержимом BIOS можно встретить много весьма интересных сообщений. 10. Отладка допускает просмотр, ввод, заполнение, перемещение, срав- нение и поиск данных в памяти. Команда ввода {enter) е позволяет изменять содержимое памяти. Синтаксис: е [адрес] [данные]. Введите значение FF в ячейку памяти DS:0000, набрав: е DS:0000 FF. Убедитесь в том, что содержимое DS:0000 изменилось, набрав е DS:0000 и затем клавишу (enter) для завершения режима ввода.
2.2. Архитектура компьютера 133 И. Команда «заполнение» (fill) заполняет блок памяти одинаковыми значениями. Синтаксис: f [начальный адрес] [конечный адрес] [данные]. Инициализируйте ячейки памяти DS:0000 до 0100 нулями. Учтите, что конечный адрес задается только смещением и предполагается, что базовый адрес такой же, как у стартового адреса. Проверьте со- держимое этих ячеек памяти с помощью команды d. 12. Команда «перемещение» (move) позволяет нам копировать блок па- мяти из одного места памяти в другое. Синтаксис: m [начальный адрес] [конечный адрес] [адрес назначения]. Как и раньше, базовый адрес сегмента или подразумевается (содер- жимое регистра DS), или определен начальным адресом. Перемес- тите содержимое DS:0000 до DS:0100 в DS:0200. 13. Команда «поиск» (search) позволяет нам просматривать блок памя- ти и выполнять поиск определенного байта. Синтаксис: s [начальный адрес] [конечный адрес] [данные]. Адреса всех совпадений будут выведены на экран. Выполните по- иск в памяти с адреса F000:0000 до F000:FFFF для символов «read, failure». Символьные данные могут быть введены в команду отладки, если они заключены в кавычки. Когда отладчик обрабатывает команду, символы ASCII заменяются на их код. Выведите содержимое соседних ячеек памяти с помощью команды d. 14. В дополнение к загрузке и выполнению программ на машинном язы- ке (которые мы исследуем в следующем лабораторном практикуме) программа отладчика — также удобный шестнадцатеричный каль- кулятор. Команда h позволяет нам добавлять и вычитать шестнад- цатеричные числа. Обе операции выполняются при помощи одной команды. Синтаксис: h [шестнадцатеричное число 1] [шестнадцатеричное число 2]; сумма и разность этих двух чисел выводятся в шестнадцатеричном виде. (а) Вычислите сумму шестнадцатеричных чисел 00FF и АВ 10. (Ь) Определите отрицание числа АЗ (оно будет выведено в допол- нительном коде).
2.3. Язык ассемблер 2.3.1. Система команд Микропроцессор функционирует только под управлением команд, ко- торые определены в его системе команд. Система команд состоит из ряда шестнадцатеричных кодов, или кодов операции, которые распознают- ся декодером команд центрального процессора. Каждая серия микро- процессоров имеет свою уникальную систему команд, хотя большин- ство команд настолько обычны, что они повторяются с незначительны- ми модификациями во всех микропроцессорах. В процессорах 8086 ко- манды имеют длину от 1 до 6 байт. Существуют некоторые общие классы операций: • Перемещение данных • Арифметика целых чисел и чисел с плавающей запятой • Логические операции • Сдвиг и циклический сдвиг • Битовые операции • Управление программными переходами (ветвление) Последовательность кодов операций, упорядоченных для выполнения специфической задачи, называют программой на машинном языке или просто машинным кодом. Чтобы выполнять программу на машинном языке, машинный код должен быть помещен в сегмент кода памяти ком- пьютера. Первый байт программы хранится по самому младшему адре- су, и последующие байты программы сохраняются последовательно в старших адресах памяти. Команды машинного кода могут быть длиной от 1 до 6 байтов. В каче- стве примера следующие 3 байта кода перемещают число 2000Н в ре- гистр АХ:
2.3. Язык ассемблер 135 В8 00 20 0100 10ОО 0000 0000 0010 0000 Наиболее значащие 6 бит первого байта оп- ределяют «код опера- ции» команды. Следу- ющий бит определяет, является ли операнд регистра (определен- ный во втором байте команды) источником или адресатом, и тре- тий бит определяет, будет ли операция вы- полняться над байтом или словом. Второй байт содержит информацию об опе- рандах команды — ре- жим, регистр и облас- ти регистра/памяти команды. Другие байты содер- жат информацию о различных способах адресации, которые требуют данных и/или обращаются кданным, которые используются как смещения для вы- числения конечного «исполнительного ад- реса» для команды. 2.3.2. Язык ассемблер Декодер команд центрального процессора может интерпретировать толь- ко команды машинного кода, которые определены в системе команд. Про- граммирование в машинных кодах чрезвычайно трудоемко, и по этой при- чине программы обычно пишутся на языке ассемблер. Программа на языке ассемблер преобразуется в машинный код программой ассемблер. Исходный код — текст из ASCII сим- волов. В переходах используются символические метки для того, что- бы программисту не было необхо- димости вычислять абсолютные адреса.
Сопряжение (интерфейс) 136 Разрозненные объектные модули объединяются в единый исполняе- мый модуль, в котором налажены взаимосвязи между модулями. I Исполняемый модуль, создан- ный компоновщиком, является перемещаемым. Базовый адрес, на который ссылаются все дру- гие адреса, назначается опера- ционной системой на этапе заг- рузки и выполнения. Компонов- щик создает исполняемый файл (с расширением .ехе). В некото- рых случаях может быть создан меньший .сот файл, используя перемещающий загрузчик. Заг- рузчик обеспечивает базовый адрес и затем пересчитывает все относительные адреса в абсо- лютные адреса. Итоговый про- граммный файл также является исполняемым, но имеет расши- рение .сот. Файлы сот являют- ся меньшими по объему и выпол- няются быстрее, чем ехе-файлы, так как исчезает необходимость в пересчете адресов. Машинный код со всеми адресами определяется относительно базо- вого адреса. Таким образом, объек- тный модуль является перемеща- емым. Для больших программ мо- гут быть созданы несколько таких объектных модулей. Адрес памяти Машинный язык 1F6D:0100 B8 1 F6D:0101 00 1F6D:0102 20 1F6D:0103 8E 1F6D:0104 D8 1F6D:0105 BF 1F6D:0106 00 1F6D:0107 00 1F6D:0108 B9 1F6D:0109 FF 1F6D:010A 00 1F6D:010B BA 1F6D:010C 00 1F6D:010D 00 1F6D:010E 89 1F6D:010F 15 1F6D:0110 47 1F6D:0111 49 1F6D:0112 75 1F6D:0113 F7 1F6D:0114 90 2.3.3. Выполнение программы Микропроцессор может интерпретировать только команды машинного кода, определенные в его системе команд. При выполнении программы машинного языка счетчик программы или регистр указателя команды (IP) содержит смещение адреса следующей исполняемой команды. Ба- зовый адрес начала сегмента содержится в регистре сегмента кода (CS).
2.3. Язык ассемблер 137 Начальное значение CS и IP определяется операционной системой в момент запуска ее пользователем. Выполняется следующая последова- тельность действий. Цикл ВЫБОРКИ-ВЫПОЛНЕНИЯ -►1. Центральный процессор выбирает команду по адре- су, содержащемуся в счетчи- ке программы (регистр PC) (и по адресу +1 для команд длиной 2 байта); регистр указателя команды инкре- ментируется прежде, чем выполняется команда. 2. Команда декодируется де- кодером команды, который решает, какое действие бу- дет следующим. 3. При необходимости из па- мяти выбираются данные операнда. — 4. Команда выполняется. Как правило, арифметико-логи- ческое устройство (АЛУ) выполняет необходимые операции «И», «ИЛИ» и т.д. Результат выполнения ко- манды помещается в ре- гистр или обратно в опера- тивную память (что требует цикла записи). В регистре состояния также устанавли- ваются соответствующие флаги. Операция выборки состоит из адре- са, помещаемого на адресную шину; цикла чтения, определяемо- го сигналами на шине управления. Шестнадцатеричные данные по указанному адресу (и адрес+1 для 2-байтовых команд) переносятся через центральный процессор по шине данных в декодер команд. Некоторые команды требуют даль- нейшего считывания данных (опе- рандов) из памяти, в то время как другие команды автономные, вы- полняемые незамедлительно. Де- кодер команд определяет набор сигналов управления, требуемых для выполнения команды. Адрес следующей исполняемой ко- манды находится в регистре IP (ре- зультат шага 1), и цикл повторяет- ся. Если программа содержит неко- торые команды ветвления, то ад- рес, на который выполняется пере- ход, помещается в регистр IP на те- кущем выполняемом шаге, и он го- тов к следующему циклу выборки.
Сопряжение (интерфейс) 138 2.3.4. Структура программы на языке ассемблер Программа на языке ассемблер содержит операторы, которые могут быть как командами ассемблера (из системы команд) или директивами ас- семблера (которые являются командами для программы ассемблера при трансляции программы в машинный язык). Программы на языке ассемблер используют сегмент кода памяти для хранения команд, данные и дополнительный сегмент для данных и сег- мент стека для данных стека. Для облегчения процесса программирова- ния программа на языке ассемблер также разделена на сегменты. Директивы ассемблера SEGMENT и ENDS опреде- ляют начало и конец сег- мента программы. Напри- мер, сегмент данных про- граммы выглядит так: - За сегментом данных сле- дует сегмент кода, кото- рый фактически содержит команды центрального процессора. -► DATASEG SEGMENT ... Директивы описания данных DATASEG ENDS CODESEG SEGMENT ASSUME CS:CODESEG PUSH BP PUSH DS 1 MOV BP SP 1 MOV DS, ES:[SI] 1 Другие инструкции Отметьте, что каждый сегмент программы начинается с директивы SEGMENT и Эти операторы програм- мы написаны в текстовом редакторе и сохранены как исходный файл. Про- грамма на языке ассемб- лер заканчивается дирек- тивой ENDS, которая со- общает ассемблеру о за- вершении трансляции при достижении этой строки в файле. заканчивается директивой POP DS ENDS. POP BP RET 08H CODESEG ENDS ---- В этих примерах DATASEG и CODESEG — названия, которые мы даем каждой доле.
2.3. Язык ассемблер 139 СИНТАКСИС Метка: <tab> мнемоника <tab> операнды <tab>; комментарий 1 Метки явля- 1 Мнемоника ко- 1 Операнды, или 1 Комментарии ются необяза- манды языка параметры, или могут быть до- тельными и ассемблер. данные, над кото- бавлены в кон- необходимы Производитель рыми будет вы- це каждой стро- при зацикли- выпускает таб- полняться коман- ки (отделяются вании фраг- лицы или книги, да ассемблера. пробелом и мента про- граммы. в которых пере- числены все до- пустимые мне- моники команд (система ко- манд) и их функ- ции. Для команд мик- ропроцессора 8088, требующих двух операндов, первый из них — адресат, второй — источник. символом «;»). 2.3.5 Директивы ассемблера Имя <tab> директива <tab> операнды <tab>; комментарий Существует несколько групп директив ассемблера: 1. Директивы определения символа позволяют назначать имена кон- стантам, адресам, операндам и т.д. Есть две директивы определения: имя EQU выражение имя = числовое выражение 2. Директивы определения данных определяют место в памяти для пе- ременных. имя DB выражение ◄ имя DW выражение ◄ имя DD выражение ◄ 3. Директивы внешних связей PUBLIC выражение EXTRN имя:тип INCLUDE имя файла Размещает 1байт Размещает 2 байта (слово) Размещает 4 байта (длинное слово) Позволяют использовать в текущей программе подпрограммы, суще- ствующие в других программах.
Сопряжение (интерфейс) 140 4. Сегменты и процедурные директивы делят программу на сегменты и/или подпрограммы. Директивы SEGMENT и ENDS отмечают на- чало и конец сегмента программы. Имя_сегмента SEGMENT PARA PUBLIC “class” Имя, данное Определяет на- Определяет то, Определяет класс сегменту значение сег- мента на грани- цу 16-байтной памяти. что все сегмен- ты с таким же именем будут объединены в сегмента. Класс может быть одним из четырех типов сегментов про- один сегмент. граммы: сегмент данных, кода, стека или экстра. 2.3.6 Сегмент кода Сегменты программы могут записываться в исходном файле в любом порядке. Сегмент кода является, возможно, самым важным, поскольку содержит исполняемые операторы ассемблера. Директива ASSUME обычно включается в сегмент кода и используется для назначения ре- гистров сегмента на базовые адреса сегмента программы. ASSUME DS: имя, СВ:имя, ЕВ:имя, SS:hma Пример: CODESEG SEGMENT ‘CODE’ ASSUME CS.CODESEG, DS:DATASEG CODESEG ENDS END В этом примере «CODESEG» — название, данное сегменту кода. Опе- ратор ASSUME определяет, что регистр CS содержит базовый адрес для сегмента «CODESEG». Класс «CODE» в операторе SEGMENT также идентифицирует сегмент «CODESEG» как сегмент кода. PROC и ENDP определяют часть кода, которая используется как под- программа. Последняя команда (перед ENDP) должна быть RET. Про- цедура может быть NEAR (близкой) или FAR (далекой). Процедуры NEAR определены и вызываются в пределах одного сегмента кода (цен-
2.3. Язык ассемблер 141 тральный процессор должен только поместить адреса возврата IP в стек во время выполнения подпрограммы). При выполнении процедуры FAR в стек помещаются оба регистра CS и IP. PROCNAME PROC FAR RET08H PROCNAME ENDP Для процедур, вызываемых из других модулей, имя должно быть дек- ларировано как «открытое», используя директиву PUBLIC ассемблера. CODESEG SEGMENT “CODE” ASSUME CS:CODESEG, DS:DATASEG PUBLIC PROCNAME 2.3.7. Оформление программы на языке ассемблер Ниже приведена полезная подборка операторов, необходимых для на- писания простой программы на языке ассемблер, которая после транс- ляции и компоновки может быть запущена из командной строки DOS. CODE SEGMENT “CODE” ASSUME CS:CODE Эта оболочка программы — очень простое приложение ас- MYPROG PROG FAR PUSH DS PUSH AX Другие операторы RET семблера, которая подходит для очень коротких программ, не тре- бующих обработки параметров из командной строки. Она подхо- дит для создания интерфейса MYPROG ENDP ассемблера с последовательной CODE ENDS END системой сбора данных, которая будет описана ниже. Название программы — «MYPROG». Операторы, необходимые для на- писания выполняемой программы на языке ассемблер, зависят от опе- рационной системы и метода, которым должна быть запущена програм- ма. Если программа на языке ассемблер вызывается как подпрограмма из программы более высокого уровня, то обработка параметров и вое-
Сопряжение (интерфейс) 142 становление стека отличаются от случая, где программа компилирует- ся в автономный исполняемый файл (EXE). Приведенный пример подходит для автономной программы. Програм- ма транслируется в объектный файл OBJ, который затем компонуется для формирования исполняемого файла EXE, который затем может за- пускаться на исполнение из командной строки DOS. Особое внимание следует проявить в отношении команды RET. Коман- да RET без параметров появляется иногда для извлечения 4 байт из сте- ка, вот почему в этом примере мы поместили DS и АХ в стек в начале программы. Если не включить эти команды (PUSH DS, PUSH АХ), то программа «зависнет» и не возвратится в командную строку DOS после завершения. Оператор END также важен, если в программном файле более одной процедуры. Если в программе более одного блока PROC и ENDP, то оператор END должен сопровождаться меткой, которая указывает, ка- кая процедура должна выполняться при запуске программы. 2.3.8. Ветвления Если не указано иное, процессор будет последовательно выполнять одну команду за другой. Такое линейное выполнение инструкций может быть изменено путем ветвления. Существует два типа ветвления (перехода). Безусловный переход на инструкцию, расположенную по указанно- му адресу. Синтаксис: JMP метка Переход включает в себя изменение содержания указателя команды IP. Для перехода к метке центральный процессор получает число, значе- ние которого зависит от того, где метка расположена в программе отно- сительно текущего адреса IP. Это число (которое может быть положи- тельным или отрицательным) добавляется к содержимому регистра IP для нахождения смещение метки. Это смещение затем помещается в IP, и выполнение программы продолжается с адреса CS:IP. Если переход выполняется в пределах сегмента, то это — БЛИЗКИЙ (NEAR) пере- ход. Переход в другой сегмент — ДАЛЬНИЙ (FAR) переход. Условный переход на инструкцию в зависимости от результатов выполнения условия. Синтаксис: Jcc метка
2.3. Язык ассемблер 143 Биты регистра флагов отражают результаты выполнения инструк- ций. Многие команды изменяют состояние флагов. Некоторые ко- манды не устанавлива- ют никаких флагов во- обще. Операторы уп- равления программы опрашивают флаги и позволяют выполнять переход к другим час- тям программы поми- мо основной последо- Символ сс — код условия (condition code). Если сс истина, то выполняется переход к метке. Если ложь, то выполнение программы продолжается со следующей командой, сле- дующей за Jcc. Jcc Опрашиваемые флаги Jo флаг переполнения установлен OF=1 Jno флаг переполнения сброшен OF=0 Jz равенство 0 ZF=1 Jnz неравенство 0 ZF=O Jnc флаг переноса сброшен CF=0 Jc флаг переноса установлен CF=1 Js флаг знака установлен SF=1 Jns нет знака SF=O вательности команд. Двоичные разряды, или флаги в регистре флагов, опрашиваются, и ход выполнения программы изменяется в зависимости от команды перехода. Флаги устанавливаются предшествующей переходу командой. Боль- шинство операторов ассемблера устанавливает флаги как часть проце- дуры выполнения команд центральным процессором. Какие именно флаги изменяются выполнением оператора, зависит от конкретной ко- манды. Команды Jcc не устанавливают флаги в регистре флагов, а толь- ко проверяют состояние флагов. Поэтому можно использовать несколь- ко команд Jcc последовательно, каждая из которых опрашивает резуль- тат выполнения команды, предшествующей командам ветвления. 2.3.9. Регистровая и непосредственная адресация Большинство команд ассемблера связаны с чтением или записью данных в/из памяти и/или регистров. Термин «адресация» используется для описания методов задания операндов-источников и операндов-адресатов. Регистровая и непосредственная адресация означает, что операнд яв- ляется или регистром, или определен в виде константы в пределах ко- манды ассемблера непосредственно.
Сопряжение (интерфейс) 144 В регистровой адресации операнд выбирается и записы- вается в регистр. Например: MOV АХ, DX В непосредственной адре- сации фактическое число, оп- ределенное в операторе про- граммы, используется как опе- ранд-источник. Например: MOV СХ, 7FH В этом примере 16-разрядное содержи- мое DX копируется в АХ. Содержимое DX не изменяется. В этом примере шестнадцатеричное число 7F:H перемещается в регистр СХ. Однако регистр СХ имеет разрядность 16 бит, 8 число 7FH — 8-битовое число: 0111 1111. Так как это число положи- тельно (0 в старшем разряде), наиболее значащие 8 бит регистра СХ заполняют- ся нулями. СХ: 0000 0000 0111 1111 Для отрицательных чисел, т.к. АЗ, наи- более значащие биты заполняются еди- ницами. СХ: 1111 11111010 0011 Команда MOV Команда MOV является одной из основных инструкций в программе на языке ассемблер. Синтаксис инструкции имеет вид: MOV назначение, источник. В действительности данные копируются, а не переносятся из источни- ка в место назначения. Данные источника не изменяются. Есть ряд ог- раничений на команду MOV: • Данные не могут быть перенесены из одной ячейки памяти в другую одной командой MOV. • Непосредственное значение не может быть перенесено в регистр сегмента. - Данные из регистра одного сегмента не могут быть перенесены в регистр другого сегмента. - Регистр CS не может быть указан в качестве назначения для коман- ды MOV. Некоторые из этих ограничений могут быть преодолены путем перено- са данных в регистр данных (например АХ), а затем в регистр назначе- ния.
2.3. Язык ассемблер 145 2.3.10. Адресация памяти Если операнд сохранен в памяти, то процессор должен вычислить дей- ствительный физический адрес, по которому будут произведены чте- ние или запись данных. Физический адрес формируется из базового адреса сегмента и смещения. Смещение является эффективным адре- сом. Базовый адрес сегмента может быть содержимым любого регистра сегмента. Эффективный адрес может быть сформирован различными способами. В основном эффективный адрес формируется из: Эффективный адрес = база +индекс + смещение Таким образом, физический адрес: CS SS DS ES t Базовый адрес сегмента ВХ + SI BP DI 8 бит смещения 16 бит смещения Смещение (эффективный адрес) Для формирования эффективного адреса могут быть использованы различные сочетания элементов. При прямой адресации памяти информация об адресе дается в команде непосредственно. Пример: MOV АХ, [0А40Н] В этом примере выполняется перемещение содержимого ячейки памя- ти со смещением 0А40 в регистр АХ. В этом примере есть несколько моментов, которые требуют внимания. Первое: в операнде отсутствует базовый адрес сегмента. В этом случае содержимое регистра DS являет- ся базовым адресом сегмента. Во-вторых, регистр АХ имеет разрядность 16 бит, и, таким образом, слово перемещается из смещения и смеще- ния+1, причем старший байт регистра АХ получает данные из адреса смещение+1. Общий формат для прямой адресации памяти: DS:[прямой адрес]
Сопряжение (интерфейс) 146__________________________________________________________________ Коды размера Нет никаких явных кодов размера (данных), используемых в командах ассемблера процессора 8086. Код размера берется из размера опе- рандов. Например, команда MOV, перемещая данные в или из регистра сегмента, — это всегда операция над словом (2-байтовая). Перемеще- ние данных в или из AL будет всегда байтовой операцией, так как AL имеет разрядность 8 бит. 2.3.11. Косвенная адресация памяти Как и в случае с прямой адресацией, в косвенной адресации эффектив- ный адрес (т.е. смещение) объединяется с содержимым DS для форми- рования физического адреса. Эффективный адрес определяется из со- держимого или базового, или индексного регистра. MOV СХ, [ВХ] В этом примере скобки указывают на косвенную адресацию, ВХ содер- жит 16-битное число, которое используется как относительное смеще- ние и в совокупности с DS получает абсолютный адрес (и адрес+1), ко- торый содержит 16-разрядные данные, которые и будут перемещены в СХ. Отметьте, что термин «относительное смещение» здесь означает, что смещение задано относительно содержимого регистра DS. Формат косвенного адреса в общем виде: DS : [BX/BP/SI/DI] Косвенная базовая адресация со смещением особенно удобна для об- ращения к данным в таблицах или списках. Адрес включает смещение, которое добавляется к содержимому регистра ВХ или ВР для формиро- вания эффективного адреса. MOV [ВХ] + 0А10Н, AL В этом примере смещение для операнда-адреса- та находится путем добавления числа 0А10Н к со- держимому регистра ВХ. Затем сумма совместно с содержимым DS, как базового адреса сегмента, используется для формирования физического ад- реса, из которого получают данные операнда. Формат в общем виде: DS/SS : [ВХ/ВР] + 8-битное смещение / 16-битное смещение
2.3. Язык ассемблер 147 Если используется ВР, то по умолчанию регистр базового адреса сег- мента — SS, а не DS. Базовый адрес сегмента В этих примерах по умолчанию базовый адрес сегмента для смещения (или эффективного адреса) — значение в регистре DS. Однако это может быть изменено путем явного задания регистра сегмента. Например: MOV АХ, ES: [0А40Н] 2.3.12. Индексная адресация памяти Есть несколько форм индексной адресации, каждая из которых исполь- зуют смещение как указатель на начало массива данных в памяти и ин- дексный регистр как индекс для выбора указателя на элемент в массиве. MOVALJSI] + ЮЮН Приведенный пример показывает режим прямой индексации. Смеще- ние 10 ЮН добавлено к содержимому индексного регистра стека для формирования эффективного адреса. Базовый адрес сегмента по умол- чанию задается содержимым регистра DS. Преимущество этого типа адресации состоит в том, что индекс стека может быть инкрементиро- ван или декрементирован для нахождения последующего или предыду- щего элемента в массиве данных, которые начинаются cDS:1010H. DS : [SI/DI] + 8-битное смещение / 16-битное смещение Комбинация косвенной базовой адресации и прямой индексной адре- сации приводит к косвенному базовому индексному способу адреса- ции. Этот способ удобен для обращения к двумерным (ш х п) массивам. Смещение определяет местонахождение массива в памяти. Базовый ре- гистр определяет «ш» координату, а индексный регистр определяет ко- ординату «п» элемента. MOVAL,[BX] [SIJ+1010H Эффективный адрес находится из содержимого регистра ВХ, добавлен- ного к содержимому регистра SI и затем добавленного к значению пря- мого смещения 10 ЮН. Базовый адрес сегмента по умолчанию — DS. DS : [ВХ/ВР] [ВХ/ВР] + 8-битное смещение / 16-битное смещение
Сопряжение (интерфейс) 148 2.3.13. Прерывания Программные прерывания используются обычно в программах на языке ассемблер для того, чтобы посредством BIOS выполнять основные за- дачи ввода-вывода. Программные прерывания вызываются с помощью оператора INT. INT номер прерывания При обработке команды прерывания выполняется следующая последо- вательность действий: 1. Регистр флагов помещается в стек. 2. Блокируются прерывания, чтобы предотвратить прерывание под- программы обработки прерывания другим прерыванием с более низ- ким приоритетом. 3. Содержимое регистров CS и IP помещается в стек. 4. Указатель адреса для программы обработки прерывания находится из таблицы векторов прерываний и загружается в регистры CS и IP. 5. Центральный процессор начинает выполнять команды, расположен- ные по адресу CS:IP. Следующий пример показывает, как читать системные часы для полу- чения текущей даты и времени. MOV АН, 2СН ; ЗАДАЕМ СЕРВИС DOS НС МЕР 2СН INT 21Н ; ВЫЗЫВАЕМ ПРЕРЫВАНИЕ ДЛЯ ВЫПОЛНЕНИЯ СЕРВИСА Программные прерывания имеют номер 32 (20Н) и выше, и им обычно назначается более высокий приоритет, чем внешним аппаратным пре- рываниям. Большинство программных прерываний назначено операци- онной системой на BIOS. Прерывания BIOS Программные прерывания обычно предоставляют сервис. Конкретный сервис (функция) вызывается через код сервиса, помещенный в регистр АХ. Вот некоторые из программных прерываний: Прерывание Функция 05h Печать экрана 10h Функция работы с изображением 11 h Сервис списка оборудова ния
2.3. Язык ассемблер 149 12h 13h 14h 15h 16h 17h 18h 19h 1Ah Сервис объема памяти Сервис работы с дисковым накопителем Сервис коммуникации по последовательному порту Поддержка сервисов системы Сервис обработки клавиатуры Сервис работы с принтером (по параллельному порту) ROM BASIC Подпрограмма начальной загрузки DOS Подпрограммы работы с часами реального времени 2.3.14. Вопросы для повторения 1. Как соотносятся между собой код операции машинного языка, мне- моника и ассемблер? Покажите, почему невозможно существование ассемблера, который бы создавал исполняемую программу, которая будет выполняться на разных типах компьютеров. 2. Какова последовательность действий в центральном процессоре в процессе выполнения операторов программы? 3. Определите физический адрес, заданный в виде сегмент:смещение 4000Н:2Н. 4. Каков общий синтаксис операторов ассемблера процессора 8086? 5. Напишите короткую программу на языке ассемблер, которая упоря- дочит два 8-битовых числа в порядке возрастания. 6. Регистр АХ содержит значение 1100Н и ВХ содержит 2В01Н. Запишите содержимое регистра АХ после выполнения каждого из следующих операторов ассемблера: AND АХ, ВХ OR АХ, ВХ XOR АХ, ВХ 7. Следующий фрагмент программы выводит символ на экран. Объясните, что появляется на экране, если шестнадцатеричное чис- ло А6 помещается в AL. Как изменить программу на языке ассемб- лер так, чтобы на экране было напечатано истинное шестнадцатерич- ное число, записанное в AL? MOV АН, 9Н INT ЮН
Сопряжение (интерфейс) 150 2.3.15. Упражнения Для создания программы на машинном языке, используя ввод на языке ассемблер, можно использовать программу DEBUG (отладчик). Коман- дами могут быть команды ассемблера или команда а. 1. Запустите программу debug и введите команду а с указанием началь- ного адреса, как показано ниже: aCS:0100 Программа ответит начальным адресом нашей программы вида CS:0100 и значком приглашения ко вводу Введите короткую программу на языке ассемблер, приведенную ниже, и нажмите клавишу ENTER пос- ле последнего значка _ для завершения г вода команд. Программа на языке ассемблер Программа DEBUG отвечает адресом 1 Вы вводите эти команды I 1F6D:0100 MOV ▼ АХ, 2000 1F6D:0103 MOV DS, АХ 1F6D:0105 MOV DI, 0000 1F6D:0108 MOV СХ, OOFF 1F6D:010B MOV DX, 0000 1F6D:010E MOV [DI], DX 1F6D:0110 INC DI 1F6D:0111 DEC CX 1F6D:0112 JNZ 010B 1F6D:0114 NOP Эта программа заполняет нулями ячейки памяти с 2000:0000 по 2000:00FF. 2. Проверьте содержимое про- граммы на языке ассемблер, на- брав команду и: и CS:0100 3. Теперь программа готова к вы- полнению. Команда go выпол- няет всю программу целиком, а команда trace выполняет ука- занное количество строк и за- тем останавливается, и тогда возможно проверить содержи- мое регистров и ячеек памяти, прежде чем продолжить вы- полнение. Введите команду трассировки trace t: t = CS:0100. Проверьте содержимое регист- ров после выполнения каждого оператора. Набирайте команду i: для продолжения выполнения программы до обработки после- дней инструкции — не нажи- майте t после шага NOP.
2.3. Язык ассемблер 151 Упражнения: (а) Исследуйте и запишите содержимое ячеек памяти от 2000:0000 до 2000:00FF. (b) Исследуйте содержимое регистров АХ, DX, DI, СХ и объясните их значения. (с) Дизассемблируйте программу и определите код машинного языка для первого оператора MOV. (d) В приведенной программе за оператором JNZ следовало шестнад- цатеричное число 010ВН. Что означает это число? 4. Команда трассировки trace необходима для однократного выполне- ния одной строки программы. Команда go выполняет программу без остановки. Однако мы должны быть внимательны и выполнить толь- ко те команды, которые мы поместили в ячейки памяти CS:0100 — CS:0114. Команда go позволяет нам выполнять блок операторов, за- давая ячейку памяти, на которой необходимо остановиться. Изме- ните немного программу, отредактировав содержимое памяти 010ВН: MOV DX, OOFF с помощью команды а повторно ассемблируйте эту строку: aCS:010B. Запустите программу, используя команду go: д = CS:0100 0114. Исследуйте содержимое ячеек 2000:0000 — 2000:00FF и прокоммен- тируйте это. 5. Общей практикой является использование текстового редактора для написания больших программ на языке ассемблер. Программа сохра- няется в файл на диске и затем транслируется в машинный код с по- мощью программы ассемблер. Используя редактор текста, создайте текстовый файл, содержащий операторы ассемблера, приведенные ниже.
Сопряжение (интерфейс) 152 Примечание: «ZERO» — название, которое мы дали процедуре. Имя необходимо для того, чтобы связать эту программу с рядом других. Другие процедуры тогда мо- гут вызывать эту программу по названию процедуры. CODESEG SEGMENT 'CODE" ASSUME CS:CODESEG ZERO PROC FAR PUSH DS MOV AX,OH PUSH AX MOV AX,2000H MOV DS,AX MOV DI, OH MOV CX,OOFFH START: MOV DX,OH MOV [DI ] , DX INC DI DEC CX JNZ START RET ZERO ENDP CODESEG ENDS END 6. Сохраните файл на диск с расширением имени файла .asm. Например: LAB2.ASM. 7. Запустите макроассемблер Microsoft, набрав masm в командной строке DOS. Ассемблер отвечает запросом имени исходного файла, объектного файла, файла листинга программы и файла листинга пе- рекрестных ссылок. Названия по умолчанию для объектного файла и файла перекрестных ссылок могут быть выбраны простым нажа- тием клавиши ENTER в строке диалога. Для этого упражнения не принимайте значение по умолчанию NUL.LST (которое не создает никакого файла списка), а введите имя: LAB2.LST. 8. Если в исходном файле есть синтаксические ошибки, то ассемблер сообщит о них. Если ошибок нет, то процесс продолжается. Отре- дактируйте файл листинга программы, созданный ассемблером, и посмотрите комментарии. Листинг исходного кода содержит исход- ные операторы и соответствующие команды машинного кода. 9. Объектный файл, созданный ассемблером, содержит машинный код, но он еще не является исполняемым. Отдельная программа, назван- ная «компоновщик», используется для создания конечного испол-
2.3. Язык ассемблер 153 няемого программного файла. Запустите программу компоновщи- ка, набрав link в строке команд DOS. Компоновщик запрашивает названия объектных файлов (в нашем примере он только один) и название конечного исполняемого файла, файла карты компонов- щика и файлов библиотек. Введите название объектного файла (на- пример, LAB2.OBJ) и также укажите файл карты загрузки с тем же самым именем файла, но с расширением .МАР. В нашем случае не требуются файлы библиотек, поэтому просто на- жмите ENTER в строке приглашения после LIB и DEF. (Игнори- руйте сообщение компоновщика об отсутствии сегмента стека.) 10. Компоновщик создает два файла: исполняемый программный файл с расширением EXE и файл карты загрузки, который содержит стар- товый адрес, адрес останова и длины программы для каждого сег- мента программы. Исследуйте содержимое файла МАР, используя текстовый редактор, и найдите адрес останова программы. 11. Файл EXE имеет форму исполняемого файла и может быть выпол- нен непосредственно из командной строки DOS. Но в данном уп- ражнении мы запустим программу из программы DEBUG. Посколь- ку исполняемый файл имеет имя LAB2.EXE, то запустим програм- му отладчика DEBUG с именем этого файла в качестве параметра команды: debug Iab2.exe. Проверьте состояние регистров (используйте команду г). 12. Проверка правильности загрузки программы может быть выполне- на с помощью команды дизассемблирования. Стартовый адрес за- дают CS:0000. Дизасемблированные команды с этого стартового ад- реса и до адреса останова, указанного в файле МАР (см. шаг 10). u CS:0000 адрес останова Сравните результат с исходным листингом программы (LAB2.ASM). 13. Теперь запустите программу с помощью команды g. Используйте команду отображения дампа памяти d для проверки выполнения программой намеченной цели. g =CS:0000 Какое сообщение выводит на дисплей программа DEBUG после вы- полнения программы?
Сопряжение (интерфейс) 154 ___________________________________________________________ Упражнения: (а) Исследуйте файл LST, созданный ассемблером, и сравните содер- жимое с результатом дизассемблирования (см. шаг 2). (Ь) При запуске транслированной и скомпонованной программы из про- граммы DEBUG с помощью команды до нам не требовалось указы- вать адрес останова, как это мы делали в шаге 4. Почему? (с) В исходном файле (.ASM) мы использовали метку как адресат для команды JNZ. Исследуйте дизассемблированную программу (из шага 12) и убедитесь, что ассемблер вычислил правильное смеще- ние для этого перехода. 14. Напишите программу на языке ассемблер, которая меняет между собой содержимое ячеек 2000:0000 и 2000:00FF. 15. Напишите программу на языке ассемблер, которая выполняет 8- битовое вычитание. Содержимое 2000:0000 должно быть вычтено из содержимого ячейки 2000:0001, и результат сохранен в ячейке 2000:0002. Сравните ваш ответ с результатом, полученным с помо- щью карандаша и бумаги; используйте дополнение до 2-х (допол- нительный код). Убедитесь, что при тестировании вы включаете пример, который дает отрицательный результат операции вычита- ния. 16. Напишите программу на языке ассемблер, которая складывает два 16-разрядных числа, приведенных ниже, и сохраняет результат в ячейках 2000:0000, 2000:0001 и 2000:0002 (потребуется третья ячей- ка памяти, поскольку результат сложения этих двух чисел превы- шает 16 разрядов). 1011101110101010 1101110111001100 17. Напишите программу на языке ассемблер, которая проверяет содер- жимое регистра АХ и выполняет операцию инкремента, декремента или оставляет без изменений данные в ячейки памяти по адресу 2000:0000 в зависимости от того, является ли число в АХ положи- тельным, отрицательным или нулевым (в дополнительном коде). 18. Напишите программу на языке ассемблер, которая заполняет адре- са с 2000:0000 по 2000:FFFF нулями. (Вы можете использовать опе- ратор циклического перехода, пока не выполнится некоторое усло- вие — например, загрузите число 0000 в регистр данных и инкре-
2.3. Язык ассемблер 155 ментируйте его каждый раз при заполнении 0 ячейки памяти, пока число не станет равным FFFF. Используйте команды J[cc] для дос- тижения результата.) 19. Напишите программу на языке ассемблер, которая переставляет содержимое ячеек памяти 2000:0400 — 2000:04FF с содержимым ад- ресов 2000:0500 - 2000:05FF. 20. Напишите программу на языке ассемблер, которая бы сканировала область памяти 2000:0000 — 2000:FFFF и проверяла, содержит ли массив байт данных, равный значению в регистре AL. Поместите адрес найденной ячейки в регистр ВХ. 21. Напишите программу на языке ассемблер, которая бы возвращала содержимое ячейки памяти, базовый адрес сегмента, который опре- делен в DS, а смещение — в SI. Содержимое должно быть загружено в младшую половину АХ. 22. Напишите программу на языке ассемблер, которая вызывает сер- вис 21С DOS через прерывание 21Н. Исследуйте содержимое реги- стров CH, CL, DH и DL и определите, какая информация возвраща- ется этим сервисом. (Номер сервиса DOS должен быть помещен в АХ перед вызовом прерывания.)
2.4. Сопряжение (Interfacing) Термин сопряжение (Interfacing) используется для описания соедине- ния между преобразователем или каким-либо внешним устройством и микрокомпьютером. Схемы интерфейса необходимы для установления разного рода совместимости: • совместимость по уровню напряжения • изменение величины тока • электрическая изоляция Рис. 2.18. Типовая панель с портами ввода- вывода компьютера • согласование скоростей передачи данных • цифро-аналоговое и аналого-циф- ровое преобразование Механические или электронные уст- ройства, требующие подключения к микропроцессору, могут быть чем угодно: монитором, клавиатурой, вне- шними приборами. При установле- нии интерфейса с такими устройства- ми обычно сталкиваются с двумя про- блемами: • Большинство устройств не рабо- тают на той же скорости, что мик- ропроцессор. • В какой-либо момент времени мо- жет быть больше одного устрой- ства, требующего обслуживания. Порт — подключение внешнего мира к микропроцессору. Цель порта вво- да состоит в том, чтобы передать ин- формацию из внешнего мира на мик- ропроцессор. Порт вывода обеспечи- вает передачу информации внешнему миру от микропроцессора. Каждый
2.4. Сопряжение (Interfacing) 157 порт имеет адрес и таким образом связан с адресной шиной, и информа- ция к или от порта передается по шине данных. С точки зрения микро- процессора, работа с портом аналогична работе с памятью. Порты могут быть отображаемые в памяти, помещая информацию не- посредственно в оперативную память компьютера, или с назначенным отдельным адресом порта. В момент обращения центрального процес- сора для выполнения операции чтения-записи в порт адаптер интер- фейса соединяет шину данных процессора с устройством ввода-выво- да, используя совместимые сигналы. 2.4.2. Порты ввода-вывода В микрокомпьютере на базе микропроцессора 8086 порты ввода-выво- да идентифицируются с помощью 16-разрядного номера порта или ад- реса порта. Таким образом, в общей сложности максимально возможно 65 536 портов, пронумерованных от 0 до 65 535 (FFFF). Центральный процессор использует сигнал на шине управления для указания того, что информация адресной шины и шины данных предназначается не порту, а памяти. Порт с указанным номером получает или передает дан- ные из собственной внутренней памяти. Порты ввода обычно требуют обслуживания (т.е. чтения данных) с не- регулярными интервалами, и, более того, их сигналы могут появиться только на мгновение. Для необходимого обслуживания портов приме- няются различные методы работы с портами, такие, как опрос, преры- вания и прямой доступ к памяти (ПДП). Адрес порта Устройство ввода-вывода 0000 -001F Контроллер прямого доступа к памяти 0020 -003F Программируемый контроллер прерывания 0040 -005F Системный таймер 0060- -0060 Стандартная клавиатура 101/102-клавиши 0061 — 0061 Системный динамик 0062 -0063 Расширение объединительной платы для базовой системы ввода-вывода ACPI 0064 — 0064 Стандартная клавиатура 101/102-клавиши 0065 -006F Расширение объединительной платы для базовой системы ввода-вывода ACPI 0070 -007F Системные CMOS/часы реального времени
Сопряжение (интерфейс) 158 0080 - 009F 00А0 — OOBF 00С0 - OODF 00Е0 - OOEF 00F0 - OOFF 0170-0177 0170 — 0177 01F0-01F7 01F0 —01F7 02F8 — 02FF 0376 - 0376 0376 - 0376 0378 — 037F 03В0 — ОЗВВ 03С0 - 03DF 03F0 - 03F5 03F6 - 03F6 03F6 - 03F6 03F7 - 03F7 03F8 - 03FF 04D0 — 04D1 Контроллер прямого доступа к памяти Программируемый контроллер прерываний Контроллер прямого доступа к памяти Расширение объединительной платы для базовой системы ввода-вывода ACPI Числовой процессор Контроллер Ultra АТА Intel(R) 82801 BA — 244В Вторичный IDE контроллер (двойной буфер fifo) Контроллер Ultra АТА Intel(R) 82801 BA — 244В Первичный IDE контроллер (двойной буфер fifo) Порт связи (COM2) Контроллер Ultra АТА Intel(R) 82801 BA — 244В Вторичный IDE контроллер (двойной буфер fifo) Порт принтера ECP (LPT1) Графический контроллер Intel(R) 82815 Графический контроллер Intel(R) 82815 Стандартный контроллер гибкого диска Контроллер Ultra АТА Intel(R) 82801 BA — 244В Первичный IDE контроллер (двойной буфер fifo) Стандартный контроллер гибкого диска Порт связи (СОМ1) Программируемый контроллер прерываний 2.4.3. Опрос Самый простой метод определения того, что устройство требует обслу- живания, — опросить его. Процесс называют опросом. При таком спо- собе центральный процессор непрерывно и последовательно опраши- вает каждое устройство. Если устройство требует обслуживания, то его запрос (или доступ к шине) выполняется. Если устройство не требует обслуживания, то центральный процессор опрашивает следующее уст- ройство. Опрос очень нагружает центральный процессор, так как процессор дол- жен тратить много времени, опрашивая устройства, которые не требу- ют обслуживания. Однако этот способ может быть легко реализован в программном обеспечении, что делает его гибким и удобным. В некото- рых случаях опрос может быть фактически быстрее, чем более прямые методы доступа к устройству (прерывания и прямой доступ в память).
2.4. Сопряжение (Interfacing) 159 Рис. 2.19 Связь с помощью интерфейса в многозадачной среде Связь с помощью интерфейса в многозадачной операционной системе, такой, как Windows, сопряжена со многими проблемами, которые могут потребовать отдельного рассмотрения. Три основных метода (опрос, пре- рывания и прямой доступ в память) не гарантируют получения данных от связанного с помощью интерфейса устройства, так как обращение выпол- няется в строго определенное время. Это создает проблему для крити- ческих ко времени приложений, в которых важно время регистрации дан- ных, а также для приложений, требующих большого объема передавае- мых данных. Для минимизирования проблемы могут быть приняты определенные меры. Устройства ввода-вывода, такие, как универсальные платы сбора данных, используют виртуальные драйвера устройств, в которые включены коман- ды с привилегиями низкого уровня, аппаратную буферизацию; также мо- жет использоваться и режим ведущего при прямом доступе в память с не- которым эффектом, но не могут устранить ограничения всей системы, на- кладываемые многозадачной средой. В некоторых приложениях, в которых стоимость и затраты являются соот- ветствующими, связь с помощью интерфейса может быть сделана в пре- образователе, и тогда данные буферизируются и передаются микроком- пьютеру в удобное для микропроцессора время. В таких системах преоб- разователь содержит собственный микропроцессор и программируется
Сопряжение (интерфейс) 160 с помощью стираемого программируемого постоянного запоминающего устройства (программируемого ПЗУ). В таком случае можно посылать встроенному микропроцессору команды управления для выполнения раз- личных внутренних программ, используя обычный протокол последова- тельной передачи данных. Интеллектуальные преобразователи имеют все возможности для получе- ния необходимых данных отдатчика при самых разнообразных условиях, могут сообщать о возникшей внутренней ошибке и самокалиброваться под управлением компьютера через Интернет, радио или прямое кабельное подключение. 2.4.4. Прерывания Аппаратными прерываниями управляет программируемый контроллер прерываний 8259. С помощью аппаратных прерываний управляются устройства ввода-вывода, принтер, клавиатура и дисководы. Каждое устройство имеет свой номер IRQ, называемый номером запроса на прерывание, который используется для разделения устройств, исполь- зующих контроллер 8259. Чем ниже IRQ, тем выше приоритет. Применительно к интерфейсным задачам время, затрачиваемое на ре- гистрацию и обработку прерывания (время ожидания прерывания), может привести к необходимости значительной (по объему) буфериза- ции данных в устройстве ввода-вывода. Кроме того, критичные по вре- мени приложения могут работать не совсем так, как задумано. Рис. 2.20
2.4. Сопряжение (Interfacing) 161 Типовое распределение запросов на прерывание О Системный таймер 1 Стандарт 101/102-keyboard 2 Программируемый контроллер ------ прерывания 3 Порт связи (COM2) 4 Порт связи (С0М1) 5 (свободный) 6 Стандартный контроллер гибкого диска 7 Порт принтера программы исправления ошибок (LPT1) Дополнительные прерывания от второго контроллера прерываний 8259 8 Системные CMOS/часы реального времени 9 Графический контроллер Intel(R) 82815 9 Держатель запроса на прерывание ACPI для регулирования запроса на прерывание PCI 9 НАУЧНЫЙ запрос на прерывание, используемый шиной ACPI 10 Интегрированный звуковой контроллер SoundMAX 10 Intel(R) 82801 ВА/ВАМ контроллер шины SM-2443 10 Держатель запроса на прерывание ACPI для регулирования запроса на прерывание PCI 11 Intel(R) 82801 ВА/ВАМ универсальный хост контроллер USB-2444 11 Интегрированный контроллер Ethernet ЗС920 Зсот 11 Держатель запроса на прерывание ACPI для регулирования запроса на прерывание PCI 12 PS/2 совместимый порт для мыши 13 Математический сопроцессор 14 Первичный контроллер IDE (двойной буфер FIFO) 14 Intel(R) 82801 ВА Контроллер накопителей Ultra АТА-244В 15 Intel(R) 82801 ВА Контроллер накопителей Ultra АТА-244В Системы на основе шины PCI имеют возможность совместного использования запроса на прерывание. Когда происходит об- щее прерывание, то операционная система вызывает каждую из назначенных программ обработки прерывания, пока одна из подпрограмм (сконфигурированная драйвером устройства ап- паратных средств) не затребует прерывания, протестировав ус- тройства. Например, в пределах каждого устройства доступны регистры, чтение которых может идентифицировать, вызывало ли устройство прерывание. 6 - 1182
Сопряжение (интерфейс) 162 2.4.5. Прямой доступ к памяти (ПДП) При обычной передаче данных данные переносятся из одной ячейки памяти в другую через регистры центрального процессора. Централь- ный процессор удерживает данные на время переключения сигналов шины управления с чтения на запись, так как шина данных не может быть одновременно в состояниях чтения и записи. Временное хранение данных, и как следствие — передача данных в и из центрального про- цессора, сопряжено с потерей времени и совершенно бесполезно в ин- терфейсных приложениях, которые требуют быстрого накопления дан- ных и точной синхронизации. В режиме прямого доступа к памяти (ПДП, Direct Memory Access — DMA) данные передаются непосредственно между памятью и портом ввода-вывода, регистры порта ввода-вывода независимы от оператив- ной памяти (не отображаются в ней). Прямой доступ к памяти требует полного управления над шинами адреса, данных и управления. Когда происходит передача данных в режиме ПДП, контроллер прямого дос- тупа к памяти 8237 запрашивает управление шиной у центрального про- цессора. Центральный процессор быстро передает управление и времен- но отстраняется от любой деятельности на шине. При этом контроллер прямого доступа к памяти пере- дает данные от порта в память или обратно непосредственно, без любого стека или операции с регистрами, которые обычно требуются центральному про- цессору для выполнения той же задачи. Прямой доступ к памя- ти действует как третье лицо при передаче данных. Контроллер прямого доступа к памяти 8237 имеет несколько независимых каналов, каждый из которых назначен на свое ус- тройство. Канал 2 обычно на- значается на контроллер гибко- го диска. Операция с прямым
2.4. Сопряжение (Interfacing) 163 доступом к памяти может выполняться над одним-единственным бай- том или словом, блоком байт или, по необходимости, над совокупнос- тью байт. Передача с помощью режима ПДП может быть инициирована запросом от аппаратных средств (через вход DREQ микросхемы 8237) или программным запросом через регистр запроса. На шине PCI управление прямым доступом к памяти может быть вы- полнено не только контроллером прямого доступа, но также и устрой- ством, требующим прямого доступа к памяти. В таких системах устрой- ство, принимающее управление шиной, называют ведущим (bus master). В интерфейсных приложениях, для того чтобы гарантировать передачу данных с максимальной скоростью между устройством ввода-вывода и памятью, применяется комбинация режима ведущего ПДП и высоко- скоростной шины PCI. Более того, режим ведущего ПДП не требует распределения и использования каналов прямого доступа в память, так как контроллер прямого доступа к памяти не задействуется. Режим ве- дущего ПДП является «работой от первого лица», так как устройство ввода-вывода само управляет процессом передачи данных. 2.4.6. Последовательный порт Большинство микрокомпьютеров оснащено одним, а зачастую двумя последовательными портами. Последовательные порты маркированы СОМ1 и COM2. Номера 1 и 2 — только для нашего «внешнего» удоб- ства. Фактические «внутренние» номера портов или их адреса — 3F8 для СОМ1 и 2F8 для COM2. Порты СОМ обычно находятся на задней панели микрокомпьютера и имеют вид 25- или 9-выводных разъемов. Эти выводы связаны с буфе- рами, которые преобразуют напряжение на выводе, используемое для передачи данных по внешним линиям (обычно используется стандарт RS232), к уровням ТТЛ, используемым для передачи данных внутри компьютера. Внутренние сигналы генерируются специализированной микросхемой связи, называемой УНИВЕРСАЛЬНЫМ АСИНХРОН- НЫМ ПРИЕМОПЕРЕДАТЧИКОМ (Universal Asynchronous Receiver/ Transmitter, UART). Последовательный порт чаще всего используется для передачи данных. Следовательно, по одному из сигнальных проводников передаются дан- 6*
Сопряжение (интерфейс) 164 DTR RI GND TD RD RTS CTS DSR GND DCD DSR RTS CTS RI DCD RD TD DTR GND 9-контактный разъем 25-контактный разъем 9-выводные разъ- емы были введе- ны для экономии пространства на панели интерфей- сной платы при объединении па- раллельного и последовательно- го порта на одной плате. Рис. 2.22. Расположение выводов последовательного порта связи RS232 ные, по другому принимаются. Другие сигналы используются для уп- равления потоком данных и установления связи между двумя последо- вательными портами различных компьютеров. Зачастую последователь- ные порты соединяются с модемом, который преобразует цифровые дан- ные в аналоговые сигналы для передачи по телефонной линии. Обработка и управление передачей данных осуществляются установ- кой и чтением двоичных данных внутренних регистров универсального асинхронного приемопередатчика. Каждый из этих регистров имеет ад- рес (т.е. адрес порта) в пространстве адресов порта компьютера. 2.4.7. Адресация последовательного порта Адреса портов для IBM совместимых машин были стандартизированы много лет назад. Назначение СОМ1 Прием/передача данных 3F8 Разрешить прерывания 3F9 Источник прерывания 3FA Управление линией 3FB Управление модемом 3FC Статус линии 3FD Статус модема 3FE COM2 2F8 — Базовый адрес. 2F9 Общепринята ссылка на 2FA первый адрес как на ба- 2FB зовый адрес. 2FC 2FD 2FE
2.4. Сопряжение (Interfacing) 165 В Windows можно легко узнать базовые адреса COM-портов. В панели управления выберите «система», а затем «оборудование». Выберете COM-порт, затем свойства. ’t < П м йсдСММТ’ »«ый порт (| ОМ1| П2Г8-0*Т порт [СОМ1] Рис. 2.23 Каждый адрес порта — регистр, который позволяет инициализировать последовательный порт и управлять им командами из программы. Та- ким образом, микросхема контроллера последовательного порта UART 8250 является программируемой в том смысле, что контроллером мож- но управлять программно, а не аппаратной схемой. При добавлении платы интерфейса последовательного порта к компь- ютеру должен быть установлен базовый адрес или перемычкой на пла- те, или программным обеспечением. Это позволяет сконфигурировать плату как СОМ1 или COM2 (или даже COM3 или COM4).
Сопряжение (интерфейс) 166 2.4.8. Регистры последовательного порта Регистр управления линией LCR (Line Control Register) Бит установки делителя генера- тора скорости обмена О — нормальная работа 1 — загрузить О делитель 1 7 О Четность ООО Перерыв нет есть 001 011 101 111 нет контроля нечет. чет. метка пауза Стоповые биты 0 1 Биты данных 00 5 01 6 10 7 11 8 1 2 Рис. 2.24 Регистр статуса линии LSR (Line Status Register) 7 0 Регистр передатчика пуст Передатчик готов Перерыв Ошибка Получен байт Ошибка переполнения Ошибка четности кадра Рис. 2.25 Регистр статуса модема MSR (Modem Status Register) CD RI DSR dCTS dDSR dRI dCD Флаги с префиксом d устанавливаются при изменении состояния сигналов управления линией с момента пос- леднего их чтения.
2.4. Сопряжение (Interfacing) 167 Регистр управления модемом MCR (Modem Control Register) О Закольцовывание О — нормальная работа 1 — выход замкнут на вход OUT 2 О — запретить прерывание 1 — разрешить прерывание DTR RTS > OUT1 (не использ.) Регистр MCR не устанавливается са- мим приемопередатчиком. Следует устанавливать биты регистра для уп- Рис. 2.27 равления приемопередатчиком и/ или линиями управления модемом. 2.4.9. Регистры и прерывания последовательного порта Обычной является работа с последовательным портом (т.е. с микросхе- мой 8250 UART) через использование прерываний. Но это не является обязательным. Микросхема 8250 имеет 4 внутренних сигнала прерыва- ния, которые могут подключаться через вывод INTR к линии прерыва- ния IRQ процессора. Бит OUT 2 в регистре управления модемом опре- деляет, подключать или нет выход INTR на линию IRQ процессора. В этом случае прерывания, сгенерированные внутри UART, могут ис- пользоваться процессором лишь при необходимости. Примечание: СОМ1 обычно использует прерывание IRQ4, а COM2 — IRQ3. 1 в соответствующей позиции разрешает внутреннее прерывание. Оно не будет передано на внешнюю линию IRQ процессора, если не установлен в 1 бит OUT2 регистра MCR. Регистр разрешения прерывания IER (Interrupt Enable Register) 7 0 Изменение статуса модема Приняты данные Буфер передатчика пуст Ошибка статуса линии или перерыв Рис. 2.28
Сопряжение (интерфейс) 168 Регистр идентификации прерывания 7 О 1 нет необслуженного внутреннего прерывания v 0 есть необслуженное Идентификация прерывания внутреннее прерывание 00 Изменение в статусе модема 01 Буфер передатчика пуст 10 Приняты данные 11 Ошибка статуса линии или перерыв Рис. 2.29 2.4.10. Скорость передачи последовательного порта Скорость передачи (битовая) — это количество бит в секунду, которое может быть принято или передано через UART. Скорость определяется схемой тактирования, которая для большинства микросхем UART на- ходится на чипе и программируется. 1.8432Х106 16£> 115200 В Где D — делитель скорости пе- редачи, который должен быть загружен в UART. Пример: Необходимо установить скорость передачи 9600 бод. Определить значения делителя D. 115200 9600 = 12 Как загружается делитель? 1. Бит 7 регистра LCR устанавливается в 1. 2. Младший байт D записывается в порт с базовым адресом (3F8 для СОМ1).
2.4. Сопряжение (Interfacing) 169 3. Старший байт D записывается в порт с адресом — базовый адрес +1 (3F9). 4. Бит 7 регистра LCR сбрасывается (а также устанавливаются другие параметры, такие, как скорость передачи, стоповые биты и т.д.). 5. Проверяем порт с адресом базовый адрес +1 для настройки преры- ваний. Тактовая частота микросхемы UART должна быть в 16 раз больше выб- ранной скорости передачи. Схема тактирования использует кварцевый резонатор для задания частоты, в случае микросхемы 8250 UART час- тота кварцевого резонатора постоянна и составляет 1,8432 МГц. Такто- вая частота понижается ступенчато на последовательности счетчиков для получения необходимого значения частоты, соответствующей не- обходимой скорости передачи. 2.4.11. Работа с последовательным портом Несмотря на то что запись и чтение последовательного порта возмож- ны напрямую через регистры последовательного порта, более удобным является использование либо языков прикладных программ, либо сер- висных подпрограмм BIOS. Большинство прикладных языков имеют операторы или функции, которые облегчают программирование после- довательного порта. Например, оператор OPEN “СОМ1:9600,N,8,1” AS #1 в языке бейсик позволяет сконфигурировать последовательный порт отвлеченно от знания конкретных адресов портов. Тем не менее для за- дач интерфейса с устройствами необходимо прямое манипулирование с регистрами. Например, сервисная подпрограмма BIOS на IBM, совме- стимом с ПК, не позволяет устанавливать RTS для аппаратного квити- рования. В Visual Basic необходимо использование объекта последовательного порта. Объект MS Comm 1 имеет свойства, установив которые в коде, можно сконфигурировать последовательный порт, на который назначен этот объект.
Сопряжение (интерфейс) 170 .MSComml. Settings = “9600,Е,7,1” .MSComml.InputLen = О .MSComml.RTSEnable = True .MSComml. DTREnable = False .MSComml. PortOpen = True Данные инструкции высокого уровня в результате разворачиваются в последовательность инструкций машинного языка, которые вызывают сервис BIOS посредством системы прерываний. Параметры инициализации последовательного порта: скорость переда- чи, четность, стоповые биты, биты данных. Они объединяются в 8-бит- ное число, которое загружается в AL перед вызовом прерывания. Номер вызываемого сервиса (0 для инициализации последовательного порта) помещается в АН. Параметры сервиса помещаются в AL. Вызы- вается прерывание, и результат помещается в AL (или АХ для сервиса 3), например: mov АН, О Int 14Н 2.4.12. Параллельный порт принтера Параллельный порт микрокомпьютеров обычно используется для вы- хода на принтер, а также в нем есть несколько входных линий, которые используются для определения статуса принтера (таких, как отсутствие бумаги и др.). Интерфейс принтера Centronics содержит 8 линий дан- ных, строб данных, квитирование, три линии управления и четыре ли- нии статуса. Порт принтера управляется адаптером параллельного порта. Адаптер имеет три регистра, которым назначены адреса портов ввода-вывода. Вы- водимый на печать байт хранится в регистре данных, который имеет ба- зовый адрес порта. Регистр статуса принтера содержит информацию, переданную принтером компьютеру, и имеет адрес базовый+1. Регистр управления принтером имеет адрес базовый+2 и содержит биты управ- ления функциями принтера.
2.4. Сопряжение (Interfacing) 171 Расположение выводов последовательного порта Устанавливает- ся компьюте- ром в низкий уровень для ак- тивизации ав- томатического перевода стро- ки при переда- че символа CR. —AUTOLF ---ERR n INIT Устанавли- вается прин- тером в низ- кий уровень, если в прин- тере возни- кает ошибка. Устанавливает- ся компьютером в низкий уровень — для инициализа- ции принтера. Устанавл и вается компьютером в низкий уровень для разрешения печати. SELIN GND STB DO D1 D2 D3 D4 D5 D6 D7 ACK Сигнал строби- рования линий " данных (отри- цательный им- пульс) Линии данных Отрицатель- ный сигнал — подтвержде- ния выстав- ляется прин- тером, когда данные вос- приняты. BSY --- PE --- SEL 25 выводов (со стороны компьютера) 36 выводов (со стороны принтера) — не показано Устанавливается принтером в высокий уровень, когда принтер в состоянии “online”. Puc. 2.30 Устанавлива- ется принте- ром в высокий уровень, когда — принтер не готов принять данные. Устанавливается принтером в высокий уровень, когда в принтере нет бумаги. 2.4.13. Регистры параллельного порта Регистр данных порта принтера (базовый) 378Н 7 О
Сопряжение (интерфейс) 172 Регистр статуса порта принтера (базовый+1) 379Н О ошибка 1 нет ошибки О выключен 1 включен ► 0 есть бумага 1 нет бумаги О занят 1 свободен Рис. 2.31 Регистр управления портом принтера (базовый+2) 37АН О запретить прерывание 1 разрешить прерывание О отменить выбор принтера 1 выбрать принтер О STB high 1 STB low О нормальная работа 1 автоматический перевод строки О инициализировать принтер нормальная работа Рис. 2.32 Базовый адрес параллельного порта принтера может быть одним из: В ОС Windows можно выяснить базовый адрес параллельного порта с помощью диспетчера устройств панели управле- ния. Выберите LPT1, а затем свойства. ЗВС^—Этот адрес может быть LPT1, если установлен монохромный видео- адаптер. 378 ◄— Этот адрес используется 278 для порта LPT1 на боль- шинстве ПК. В этом слу- чае адрес 278 будет ба- зовым адресом порта LPT2 (если установлен). 1
2.4. Сопряжение (Interfacing) 173 2.4.14. Работа с параллельным портом принтера Несмотря на то что запись и чтение параллельного порта принтера воз- можны напрямую через регистры, более привычным является исполь- зование сервисных подпрограмм BIOS, доступных через операционную систему компьютера. В большинстве случаев это делается косвенно, посредством операторов языков высокого уровня, таких, как PRINT. Также возможно (а иногда желательно) вызывать подпрограммы BIOS непосредственно из ассемблерной программы. Сервисы BIOS вызываются через прерывание 17Н. Доступны 3 серви- са, выбор которых происходит через значение, помещаемое в АН. Для записи байта в принтер данные, выводимые на печать, помещаются в AL. В регистр DX записывает значение, соответствующее номеру ис- пользуемого порта LPT (0 для LPT1). АН Сервис BIOS 00 Записать байт 01 Инициализировать принтер 10 Вывести статус принтера После выполнения сервиса содержимое регистра статуса принтера помещается в AL. Параллельный разъем тип Centronics При использовании порта принтера посредством подпрограмм сервиса BIOS или при прямом обращении не- обходимо выполнение следующей пос- ледовательности для записи данных: • Записываемые данные помещают- ся в регистр данных порта принте- ра. Т.е. байт данных записывается по базовому адресу порта принте- ра. • Подтверждение готовности принте- ра к чтению данных происходит че- рез проверку бит регистра статуса порта принтера. • Затем на линии STB формируется отрицательный импульс путем за- писи 1 в бит 0 регистра управления портом принтера. Это активирует передачу данных из регистра дан- ных порта принтера на линии дан- ных разъема порта.
Сопряжение (интерфейс) 174 Примечание: Хотя параллельный порт принтера обычно используется для вывода на печать (т.е. для вывода), ничто не запрещает использовать порт для ввода и вывода для других периферийных устройств. Более по- здний стандарт IEEE 1284 (1994) определяет пять режимов передачи дан- ных: режим совместимости (стандартный режим); режим полубайта (4 бита в параллель, используя линии статуса для данных); режим байта (8 бит в параллель, используя линии данных); EPP (Enhanced Parallel Port — рас- ширенный параллельный порт), используемый прежде всего для CD-ROM, магнитной ленты, жесткого диска, сетевых адаптеров и т. д., и ЕСР (Extended Capability Port — порте расширенными возможностями), исполь- зуемый прежде всего новыми поколениями принтеров и сканеров. 2.4.15. Вопросы для повторения 1. Расположите в правильном порядке следующие утверждения, кото- рые описывают последовательность действий при обслуживании центральным процессором управляемого прерываниями устройства, (а) Адрес возврата (т.е. содержимое счетчика программы) помеща- ется в стек. (Ь) Центральный процессор переадресуется к программе обработ- ки прерывания. (с) Центральный процессор возвращается к основной программе. (d) Выполняется программа обработки прерывания. (е) Центральный процессор проверяет маску прерывания. (f) Адрес возврата возвращается в счетчик программы PC. 2. Кратко опишите различие между устройствами ввода-вывода, управ- ляемыми программно и по прерыванию. 3. Какие существуют три различных типа прерываний в процессоре на базе 8086? 4. Сколько каналов доступно в контроллере прямого доступа к памяти 8259? Как можно нарастить количество каналов? 5. В чем различие между режимом ведущего при прямом доступе к па- мяти и прямым доступом к памяти через контроллер 8259? 6. Каково должно быть содержимое регистра управления линией УНИ- ВЕРСАЛЬНОГО АСИНХРОННОГО ПРИЕМОПЕРЕДАТЧИКА для задания следующего режима обмена: 7 бит данных, 1 стоп бит и проверка на четность?
2.4. Сопряжение (Interfacing) 175 7. Каково основное различие между последовательной и параллельной передачей данных? Приведите примеры достоинств и недостатков каждого способа. 8. Как данные передаются через параллельный порт? 9. Что ограничивает максимальную скорость сбора данных в режимах опроса (polling), прерывания и при прямом доступе к памяти (DMA)?
2.5. Аналого-цифровое и цифро- аналоговое преобразование 2.5.1. Преобразование Преобразование и связь с микрокомпьютером — это процесс, в котором измеряемая физическая величина преобразуется в аналоговый элект- рический сигнал измерительным преобразователем (датчиком); затем аналоговый сигнал оцифровывается аналого-цифровым преобразовате- лем (АЦП) и сохраняется в памяти компьютера. Физическое явление: Температура Напряжение Положение Ускорение Усилие Измерительный преобразователь (датчик и первичный преобразователь) Рис. 235
2.5. Аналого-цифровое и цифро-аналоговое преобразование 177 АЦП может располагаться или рядом с датчиком, или, как в большин- стве случаев, на специализированной интерфейсной плате, установлен- ной в микрокомпьютере. Интерфейсная плата работает напрямую с па- мятью посредством режима ПДП (DMA) или как устройство, отобра- жаемое в памяти. Если цифровое значение следует воспроизвести на некотором внешнем устройстве, то оно преобразуется в аналоговый электрический сигнал адаптером интерфейса, содержащим цифро-аналоговый преобразова- тель - ЦАП (ADC). Затем исполнительный механизм преобразует ана- логовый сигнал в физическую величину. 2.5.2. Критерий Найквиста* Аналоговый сигнал изменяется непре- рывно во времени. Хорошим приме- ром является синусоида с частотой со. Если требуется сохранить этот сигнал в виде последовательности числовых данных, то следует выбирать пары (y,t) через подходящие интервалы времени. Чем меньше интервал, тем точнее бу- дет представление исходного сигнала при его восстановлении из данных. Рис. 2.36 Дискретные числовые данные 0 0 я/4 0,797 тг/2 1 Зтс/4 0,707 п 0 5я/4 -0,707 Зтс/2 -1 7л/4 -0,707 2 л 0 * Условие, устанавливающее соотношение между частотой выборки и максимальной ча- стотой в спектре сигнала, также известно как теорема Котельникова (прим. пер.).
Сопряжение (интерфейс) 178 У В этом примере отсчеты брались / \ с интервалом л/4 или 45°. Если мы / \ /7 \ уменьшим интервал выборки до \ —у------Q)t л/8 (т.е. увеличим скорость вы- / \\ / борки), то получим более точное \ / \ F представление исходного аналого- вого сигнала. Какова минимальная частота вы- Рис 238 ' , борки, необходимая для восста- новления сигнала? Критерий Найквиста определяет, что частота выборки (количество отсчетов в се- кунду) должна быть в два раза больше наивысшей гармоники исходно- го сигнала. Если сигнал был оцифрован с интервалом больше, чем л, то при восста- новлении исходного сигнала может получиться также синусоида, толь- ко с другой (меньшей) частотой. Это называется наложение спектров (aliasing). Восстановленный сигнал является ложной частотой по отно- шению к исходному сигналу. 2.5.3. Разрешающая способность и шумы квантования При сохранении аналоговых данных в цифровых системах, таких, как компьютер, возникает очень интересная проблема. Проблема состоит в том, что данные могут быть представлены числами из диапазона, допу- стимого аналого-цифровым преобразователем. Например, для 8-битного АЦП отсчеты исходных аналоговых данных будут находиться в диапа- зоне двоичных чисел от 0000 0000 до 1111 1111, или от 0 до 255 в деся- тичном виде. Числа, которые не являются целыми 8-битными числами, округляются в большую или меньшую сторону до ближайшего целого и затем сохраняются. Если диапазон напряжений входного сигнала АЦП составляет от 0 до 5 В, то полная шкала, или 5В, на входе будут преобразованы в код 255 на выходе. Разрешающая способность АЦП составит: — = 0.0196 В 255
2.5. Аналого-цифровое и цифро-аналоговое преобразование 179 Поэтому для входного диапазона от 0 до 5 В в данном примере разреша- ющая способность АЦП составляет 19,6 мВ на бит, или 0,39%. 12-бит - ный АЦП будет иметь разрешающую способность 1,22 мВ на бит (0,22%), поскольку он делит 5 вольт на 4095 ступеней. В общем случае разрешающая способность А N-битного АЦП составляет: А = Vref/2N, где Vref — допустимый диапазон входного сигнала АЦП в вольтах. Шумы квантования Ошибка квантования Ае составляет не более половины одного кванта (младшего разряда) и описывает основную погрешность, связанную с процессом деления уровня непрерывного аналогового сигнала на конеч- ное число бит (процессом квантования). А - V”f 2(2У) Ошибка квантования является случайной величиной и поэтому округ- ляется в большую или меньшую сторону с равной вероятностью. Эта неопределенность выражается в том, что цифровой сигнал содержит шумы квантования, фиксированной амплитуды и равномерного распре- деления по частоте. Среднеквадратическое значение в вольтах шумов квантования: Разрешающая способность аХ ето-712 Шумы квантования накладывают ограничение на соотношение сигнал- шум, достижимое на конкретном АЦП. 2.5.4. Запас по частоте дискретизации В общем случае любой сигнал может быть представлен суммой гармо- ник. Такие сигналы могут быть разложены в ряд Фурье. Диапазон час- тот, воспринимаемых конкретной схемой аналого-цифрового преобра- зователя, называется шириной спектра.
Сопряжение (интерфейс) 180 Входной сигнал (в частотной области) Ширина спектра Рис. 2.39 Критерий Найквиста устанавлива- ет наименьшую частоту выборки, по крайней мере в два раза боль- шую, чем наивысшая гармоника входного сигнала: fs » 2f0. 2f0 fs ------------1----1— (0 Отношение частоты выборки к час- тоте Найквиста называется вели- чиной запаса по частоте дискре- тизации (oversampling ratio — OSR): OSR = fs/2f0. Даже если выполняется критерий Найквиста, наличие шумов кванто- вания ограничивает возможность системы точно представлять входной сигнал. Этот шум, амплитуда которого не зависит от частоты, становит- ся составной частью оцифрованных данных. Мощность, связанная с шумами квантования, Рп находится путем интегрирования erms в по- лосе частот от 0 до f0: Р„=^(1/О5Л), Соотношение сигнал-шум (5Л/7?): SNR = Ps/Pn, где Ps —мощность сигнала, Рп — мощность шумов. 1 2 >/2 ^ms SNRdb = 2Q\ogw = 6.02У + 1.76 Это означает, что соотношение сигнал-шум (signal-to-noise ratio — SNR) может быть улучшено за счет увеличения запаса по частоте диск- ретизации OSR или за счет повышения разрядности N. Поскольку уровень шумов выражается среднеквадратическим значени- ем напряжения, то необходимо в формулу подставлять также средне- квадратическое значение напряжения входного сигнала. Максимальное значение соотношения сигнал-шум достигается при полном использо-
2.5. Аналого-цифровое и цифро-аналоговое преобразование 181 вании всего диапазона АЦП. Максимальное значение амплитуды вход- ного сигнала Vin с учетом прохождения положительной и отрицатель- ной полярности сигнала составит Vin=Vref/2, а среднеквадратическое зна- чение составит Vref /2\/2. Увеличение разрядности повышает соотношение сигнал-шум. Запас по частоте дискретизации N-битного АЦП так же уменьшает мощность шумов, поэтому N-битное АЦП работает так же, как АЦП с разряднос- тью N+w. Если fs — начальная частота дискретизации, то для достиже- ния дополнительной разрядности w следует применить частоту диск- ретизации (запас по частоте дискретизации), равную 4wfs. 2.5.5. Аналого-цифровые преобразователи Аналого-цифровой преобразователь воспринимает на входе напряже- ние и выдает положительное целое число на выходе, значение которого пропорционально величине входного напряжения. • Метод последовательного счета • Метод последовательного приближения Цифровые данные могут быть сохранены и обработаны на микрокомпью- тере, аналоговые — нет. Вольты О 5 01100111 0 .. Цифровые сиг- 0 налы на выходе 5 представляют 5 собой уровни 5 двоичной логики Рис. 2.40 Типовое время преобразования 8 бит 12 бит 16 бит Метод последовательного счета 20 мс 40 мс 250 мс Метод последовательного приближения 10 мкс 20 мкс 500 мкс
Сопряжение (интерфейс) 182 Ошибка преобра- зования в конеч- ной точке шкалы Рис. 2.41 Смещение нуля Типовое значение нелинейности со- ставляет ±1/2LSB Типовое значение дифференциальной нелинейности со- ставляет ±1/2LSB Погрешность преоб- разования в конеч- ной точке шкалы ус- танавливается вне- шним резистором Ошибка смещения нуля: подстраивает- ся внешним резис- тором 2.5.6. АЦП (интегрирующие) Аналого-цифровое преобразование обычно выполняется путем сравне- ния неизвестного входного сигнала с внутренним опорным напряже- нием. Генератор напряжения обеспечивает опорное напряжение, кото- рое изменяется, пока не станет равным (с заранее определенной точно- стью) уровню напряжения входного сигнала. В АЦП последовательного счета опорное напряжение линейно нарас- тает малыми шагами, пока не станет равным или не превысит уровень входного сигнала; цифровой счетчик используется для подсчета числа шагов изменения напряжения до совпадения уровней во время преоб- разования. В итоге число в счетчике пропорционально уровню входно- го напряжения.
183 2.5. Аналого-цифровое и цифро-аналоговое преобразование Входное напряжение Рис. 2.42 Время преобразования зависит от величины входного сигнала. Этот тип АЦП пригоден для записи сигналов, медленно изменяющихся во вре- мени. Оцифрованное значение на выходе АЦП отражает среднее значе- ние (или интеграл) входного сигнала за период выборки. В более совершенных устройствах применяется техника двойного на- клона (dual slope). После начального периода обнуления аналоговый входной сигнал интегрируется (накапливается) в течение определен- ного числа тактовых импульсов. Вход интегратора затем соединяется с внутренним опорным напря- жением, которое имеет поляр- ность, противоположную по- лярности входного сигнала. Количество тактовых циклов, за которое интегратор «разря- жается» до 0, пропорциональ- но величине входного аналого- вого сигнала. Точность преоб- разования в этом случае зави- сит от точности опорного на- пряжения. Рис. 2.43
Сопряжение (интерфейс) 184 2.5.7. АЦП (последовательного приближения) В данном методе входное напряжение сравнивается с половиной пол- ной шкалы напряжения, а затем каждый раз с меньшими приращения- ми напряжения в случае несовпадения. Последовательность действий такова: 1. Установить все биты в 0. 2. Установить старший разряд (MSB) в 1. 3. Если Vin > VD/A, то входное напряжение превышает половину шка- лы, поэтому оставляем 1 в старшем разряде; если нет, то сбрасываем старший бит в 0. 4. Устанавливаем следующий старший бит (MSB-1) в 1 (т.е. мы можем получить 1100 0000 или 0100 0000). • 5. Если Vin > VD/A, то входное напряжение превышает 6/8 полной шка- лы, поэтому оставляем 1 в данном разряде, иначе сбрасываем бит в 0. 6. Устанавливаем еле- t ЛЯП Тактовая частота Рис. 2.44 дующий бит (MSB- 2) в 1 (т. е. возможны варианты 0010 0000, 01100000,1010 0000 или 1110 0000). 7. Если Vin > VD/A, то входное напряжение превышает 7/8 пол- ной шкалы, поэтому оставляем 1 в дан- ном разряде, иначе сбрасываем бит в 0. 8. Повторяем действия разряд за разрядом до младшего разряда включительно. Время преобразования в этом случае постоянно и составляет N/f, где N — разрядность АЦП, f — тактовая частота АЦП.
2.5. Аналого-цифровое и цифро-аналоговое преобразование 185 Этот метод позволяет выполнять сбор данных на высоких скоростях (до 100 000 преобразований в с). Но так же и возможность возникновения ошибок возрастает. Постоянное время преобразования означает, что входной сигнал должен быть постоянным или удержан на время выбор- ки (преобразования). 2.5.8. Апертурная ошибка Ранее было показано, что преобразование аналогового сигнала в циф- ровой код требует определенного времени — времени преобразования, которое в случае метода последовательного приближения является по- стоянным. Теперь если аналоговый сигнал изменяется в процессе вы- полнения преобразования, то выходное значение будет получено с ошиб- кой. Это и называется апертурной ошибкой. Например, для 8-битного АЦП наименьшее значение 8 изменения вход- ного сигнала, соответствующее одному биту, составит 8 = 1/28 = 0,0039 частей от полной шкалы входного сигнала. Рис 2.45 Это и будет максималь- ным изменением Vjn за некоторое время At. В процессе выполнения преобразова- ния входной сигнал изменяется. Для того чтобы выходной код не содержал ошибки, необходимо, чтобы измене- ние сигнала было меньше, чем наи- меньшее приращение, фиксируемое как один бит, т. е. произведение 8А. При гармоническом входном сигнале: Vin = A sin cot dVin Л —— = Acocoscot dt Максимальная ско- - дю рость изменения dt входного сигнала при coscot = 1. AVin = (А со) At
Сопряжение (интерфейс) 186 Временная апертура (временное окно) — это максимальное время, в течение кото- рого должно быть выполнено преобразо- вание, прежде чем входной сигнал изме- нится настолько, чтобы повлиять на вы- ходной код. Максимальное значение вре- менной апертуры (временного окна) для гармонического сиг- нала с частотой f. Для исключе- ния ошибки время преобразо- вания должно быть меньше этой величины. Например, для входного сиг- нала 100 Гц, 8-разрядный АЦП: ta = 6,2 мкс. AVin = (Aco)At = ta ЗА = (Aco)ta ------ -ta = *=J- co 2л/ ▼ Для того чтобы выход- ной код не содержал ошибки, необходимо выполнение условия AVin < ЗА. Максимально допустимое время преобразования при AVin < 8А. 2.5.9. Микросхема ADC08xx Серия интегральных микросхем ADC08xx представляет собой 8-бит- ные аналого-цифровые преобразователи, использующие технику пос- ледовательного приближения. Время преобразования определя- ется тактовой частотой и занимает приблизительно 64 периода для выполнения 8-битного преобразо- вания. Поэтому для достижения скорости выборки 10 000 выборок в секунду необходима тактовая ча- стота: f = (64)(10х103) = 640 кГц. Время преобразования составит: Т _ 64 64 такта на одно пре- 64х 103 образование, 640 000 = 100 мкс. тактов в секунду. Преобразование инициируется внешним стартовым импульсом по выводу WR. Преобразование начи- нается при переходе WR от низко- го уровня к высокому. Сигнал WR должен оставаться высоким уров- нем в процессе преобразования. Когда преобразование завершено, INTR устанавливается в низкий уро- вень, сигнализируя о том, что циф- ровые данные на выходе готовы и устройство готово к выполнению следующего преобразования. Микросхема воспринимает в каче- стве входного сигнала дифферен-
2.5. Аналого-цифровое и цифро-аналоговое преобразование 187 +5V Рис. 2.46 циальный сигнал между двумя аналоговыми входа- ми. Если -Vin присоединен к земле, то другой (+Vin) может использоваться как однополярный вход. Если не подано никакого внеш- него опорного напряжения на вход Vref/2, то микросхе- ма использует внутренний источник опорного напря- жения, который зависит от напряжения Vcc. В микросхему встроен RC генератор, частота кото- рого равна приблизитель- но 1/RC. Например: 6680 кГц= 1/ 10к(147 пФ) 2.5.10. Выборка — хранение Для того чтобы избежать апертурной ошибки, следует принимать во внимание время преобразования и необходимые характеристики быст- родействия АЦП. Например, задаваясь временем преобразования, ска- жем, 100 мкс, определим максимальную частоту гармонического сигна- ла, которая может быть оцифрована 8-битным АЦП ADC0804 без апер- турной ошибки? Для 8-битного АЦП, 5 = 1/28 = 0.0039 100x10“ = »^ 2л/ /=6.2 Hz Вопрос. Какое количество бит в секунду необходимо пе- редавать для данной частоты сигнала? N = 1/620х 10-6= 1611 байт/с = 12 888 бит/с. Не так много! Что же делать?
Сопряжение (интерфейс) 188 Нам необходима схема, которая бы делгша выборку входного напряже- ния в определенный момент и защелкивала (удерживала) его, пока АЦП не выполнит преобразование — схема выборки-хранения. Существует несколько таких ИС, основными из которых являются серии LF198, 298, 398. Когда логический вход имеет высокий уровень, выход повторяет значе- ние на входе. Когда логический вход переходит в низкое состояние, то аналоговый сигнал захватывается и передается на выход. Значение на выходе остается неизменным, пока логический вход удерживается низ- ким уровнем. Время выполнения операции выборки-хранения должно быть меньше времени преобразования (иначе такая схема нам не нужна!). Приведен- ная схема имеет время преобразования около 10 мкс. 2.5.11. Управление схемой выборки-хранения Теперь для управления схемой выборки-хранения можно использовать сигналы с АЦП.
2.5. Аналого-цифровое и цифро-аналоговое преобразование 189 WR: При низком сигнале WR устанавливается режим ожи- дания (standby). Преобразо- вание начинается по фронту WR. Сигнал WR должен оста- ваться высоким уровнем в те- чение всего процесса преоб- разования. INTR: Отрицательной поляр- ности — после завершения преобразования устанавлива- ется в низкий уровень на 8 так- тов. Затем сигнал WR должен удерживаться низким уров- нем не менее 500 нс для нача- ла нового преобразования. выборки хранения Рис. 2.48 0804 Для управления схемой вы- борки-хранения можно ис- пользовать триггер 7476. Выход Q триггера можно сделать низким уровнем, пока выполняется преобра- зование, указывая схеме вы- борки-хранения на режим «хранение». d CLK1 К1 h S1 Q1 R1 01 Л £ GND 1 ч Vcc а К2 I CLK2 Q2 1 S2 Q2 I R2 J2 Рис. 2.49 Таблица истинности: R S Q Q 1 1 без изменений 0 1 0 1 1 0 0 1 J к Переход CLK из 1 в 0 0 0 без изменений, Qn+1 = Qn 0 1 Qn+i = 0 (RESET) 1 0 Qn+1 = 1_(SET) 1 1 Qn+i ~ Qn
Сопряжение (интерфейс) 190 • Стартовый импульс запускает процесс преобразования, поскольку он подается напрямую на WR. • Изначально SET имеет высокий уровень, и изначально RESET тоже имеет высокий уровень, выход Q отреагирует на переход из 1 в 0, и поскольку} имеет высокий уровень (а К низкий), то Q установится в низкий уровень. Преобразование начинается при переходе сигна- ла CLK (WR) из низкого в высокий уровень. • После завершения преобразования сигнал INTR устанавливается в низкий уровень и, воздействуя на вход RESET, переключает выход триггера Qв высокий уровень независимо от состояния входа}, ука- зывая схеме выборки-хранения на режим «выборка». 2.5.12. Цифро-аналоговое преобразование Цифро-аналоговое преобразование может быть выполнено на резистив- ной матрице, и преобразование в аналоговый сигнал обычно занимает порядка нескольких наносекунд. Поскольку цифровой сигнал является ступенчатой аппроксимацией входного аналогового сигнала, то выход- ной сигнал цифро-аналогового преобразователя отражает ступенчатую природу сигнала. Двоичный или цифровой входной сигнал 122, 134, 156, 169, 191, 210, 225, 255, 225, 210, 191, 169... DAC Аналоговый выходной сигнал Рис. 250
2.5. Аналого-цифровое и цифро-аналоговое преобразование 191 Крутые ступени формы выходного сигнала выливаются в высокочастот- ные компоненты восстановленного сигнала, которых не было в исходном. Для сглаживания формы сигнала и получения более правдоподобной фор- мы восстановленного сигнала может быть применен фильтр низких частот. Цифро-аналоговое преобразование может быть выполнено на много- звенной схеме резисторов или на взвешенном входе операционного усилителя. Напряжение на выходе зависит от потенциалов, приложен- ных к входам. Потенциалы могут быть нулевыми (для логического 0) или, например, напряжением питания Vcc (для логической 1). ТТЛ вход, подсоединенный к резистору с наименьшим номиналом, имеет наиболь- ший вес по сравнению с остальными; чем больше цифровое значение на входе, тем больше напряжение на выходе. Аналоговый выход 2.5.13. Микросхема DAC0800 Популярные универсальные микросхемы 8-битного цифро-аналогово- го преобразователя — серия DAC080x. Время установления сигнала со- ставляет порядка 100 нс. Выход этой ИС выполнен в виде двух комплементарных токов 10 и 10. На рисунке показано, что токовые выходы подсоединены к питанию V+ через сопротивление Юк. Выход по напряжению можно получить, из- меряя напряжение между двух выходных выводов или между одним из
Сопряжение (интерфейс) 192 рис. 253 выходов и общей цепью (землей). При увеличении двоичного числа на входе ЦАП ток 1о возрастает, а ток 1о уменьшается. Уменьшение тока 1о влечет уменьшение падения напряжения на сопротивлении Юки воз- растании напряжения Vo, измеренного относительно земли. Напряжение Vref обеспечивает опорное токовое значение. Установка Vref равно- го напряжению питания V+ дает возмож- ность изменения выходного напряжения в положительную и отрицательную сто- роны. Установка Vref равного половине напряжения питания V+/2 дает измене- ние выходного напряжения от 0 до V+. Рис. 254
2.5. Аналого-цифровое _______________________и цифро-аналоговое преобразование 193 2.5.14. Плата сбора данных В большинстве случаев подавляющее большинство задач по сбору дан- ных решаются с помощью платы сбора данных общего назначения. Та- кие платы обычно устанавливаются в слоты ISA или PCI микрокомпь- ютера и содержат: • 16 аналоговых каналов на вход (АЦП) • 40 цифровых входов-выходов • 4 канала аналогового выхода (ЦАП) • 4 16-битных счетчика • 2 выхода 16-битных таймеров На плате аналоговые каналы мультиплексируются на один вход АЦП, обеспечивая возможность непрерывного последовательного сканирова- ния всех аналоговых входов. Интерфейсные платы позволяют вводить либо 16 униполярных сигналов, либо использовать входы попарно для 8 дифференциальных сигналов. Аналоговые входы могут быть допол- нены схемами синхронной выборки-хранения для уменьшения ошиб- ки, возникающей вследствие последовательного опроса входов через мультиплексор. Конфигурирование и управление интерфейсной платой осуществляет- ся через программный интерфейс пользователя (API — application user interface). Он обеспечивает выполнение функций: таких, как сбор дан- ных, управление счетчиками и таймерами и выбор метода переключения. Сканиро- Сканиро- вание 0 | вание 1 I ------- Сканиро- Сканиро- вание 2 | вание 3 -1 2 3 0123 0123 0123 Интервал сканирования Интервал выборки (5 или 10 мкс) Состояние бездействия Рис. 255
Сопряжение (интерфейс) 194 При сборе данных по нескольким каналам важным параметром являет- ся скорость выборки (с интервалом 1/скорость выборки). Скорости выборки и другие критические по времени операции зависят от задаю- щего тактового генератора на плате или внешнего тактового сигнала. Передача данных может быть инициирована программным опросом, прерыванием или режимом DMA. Задержка обработки прерывания, особенно в многозадачной операционной системе, может ограничивать максимальную скорость передачи данных. Максимальная скорость пе- редачи данных обычно достигается в режиме ведущего при прямом до- ступе к памяти (bus-mastering DMA). 2.5.15. Вопросы для повторения 1. АЦП с разрешением 10 бит воспринимает по входу напряжение от 0 до 5 В. Определите разрешающую способность АЦП. Ответ: 4,88 х 10-3 В 2. Определите время апертуры для входного гармонического сигнала частотой 500 Гц 8-разрядного АЦП последовательного приближения. Ответ: 1,24 х 10“6 с. 3. Задавшись временем преобразования, скажем, 50 мкс, найдите мак- симальную частоту гармонического сигнала, который может быть оцифрован 8-разрядным АЦП без апертурной ошибки. Ответ: 12,4 Гц 4. Какое назначение имеет схема выборки-хранения? 5. Рассчитайте время установления ЦАП, который преобразует 16-бит- ные данные CD плеера в звук в частотном диапазоне от 20 до 20 000 Гц, сигналы которого мы воспринимаем без апертурной ошибки. Ответ: 1,2 х Ю-10 с. 6. Сигнал, приведенный на рисунке ниже, подается на вход схемы вы- борки-хранения. Изобразите выходной сигнал этой схемы, который, в свою очередь, поступает на вход АЦП при переходе логического входа из состояния опроса в состояние хранения, как показано на рисунке.
195 2.5. Аналого-цифровое и цифро-аналоговое преобразование Опрос Рис. 2.56 Хранение 7. Разработайте (в общем виде) цифро-аналоговый преобразователь, который использует набор резисторов и ни одного активного компо- нента. 7
2.6.1. Передача данных У cot АЦП После того как аналоговый сигнал оцифрован аналого-цифровым пре- образователем, цифровую информацию нужно передать в порт микро- компьютера для последующего размещения ее на шине данных. Недо- рогой готовый способ — последова- тельная передача данных, используя последовательный порт. К другим общим методам относятся исполь- зование интерфейсной платы анало- го-цифрового преобразователя, ко- торая взаимодействует непосред- ственно с магистральной шиной компьютера, и параллельная шина GPIB. 7 6 5 Схема последовательного интерфейса Плата последовательного интерфейса Бит, передаваемый по однопроводной линии связи Последовательный порт 3 2 10 Шина данных IIIIIIIIIIIIIIIIII Рис. 257
2.6. Передача данных 197 Последовательность передачи байта цифровой информации: (а) байт преобразуется в последовательность бит (Ь) бит передается по однопроводной линии связи (с) принятые биты собираются в байт Цифровая информация из аналого-цифрового преобразователя — ряд байтов, сгенерированных один за другим, поскольку происходит неоднок- ратная выборка входного сигнала. В последовательном методе передачи биты, составляющие каждый байт, посылают последовательно по одному по однопроводной линии и затем повторно собираются в байт после пе- редачи. 2.6.2. Преобразование байта в последовательность В конце процесса передачи байт данных передается по однопроводной линии. Передача осуществляется с помощью сдвигового регистра спе- циальной интегральной схемы, называемой универсальным асинхрон- ным приемопередатчиком (UART — Universal Asynchronous Receiver/ Transmitter). 4-битный сдвиговый регистр Импульс передачи
Сопряжение (интерфейс) 198 Сдвиговый регистр может быть организован при помощи каскадного включения JK триггеров. Положительный фронт импульса передачи загружает асинхронно входы S и R данными для последующего сдвига. Например, если D = 0, то по импульсу передачи S = 1,R = 0hQ = 0. Если D = 1, тогда S = 0, R = 1 и Q = 1. Так, после импульса передачи параллельные данные передаются на входы J каждого триггера. Когда импульс передачи сбрасывается в низкий уровень, входы R и S оба в 1, что соответствует состоянию, не изменяющему выход, и на такт сдвиго- вого импульса данные передаются по цепочке от Q к J, последователь- ный выходной поток бит формируется на последнем выходе Q. На приемном конце последовательность бит преобразуется в параллель- ные 8-битные данные с помощью обратных действий. Данные вводятся по сигналу тактовых импульсов, а затем по импульсу передачи данные передаются на параллельные выходы. В настоящее время последовательность бит непосредственно не пере- дается на большие расстояния по проводам, поскольку двоичные сиг- налы легко искажаются расстоянием. Этот факт, совместно с требова- нием к синхронизации передатчика и приемника, означает, что требу- ются альтернативные методы для передачи данных на расстояния, пре- вышающие 15 м. 2.6.3. Интерфейс RS232 Стандарт на интерфейс RS232 устанавливает необходимые сигналы управления и линии данных для организации передачи данных между компьютерным оборудованием (или оборудованием терминала дан- ных — data terminal equipment DTE) и модемом (или оборудованием пе- редачи данных — data communication equipment DCE). Модулированный сигнал несущей (частоты) передается го двухпроводной телефонной сети между подсоединенными модемами. Модем преобразует или «модулирует» цифровую информацию в фор- му, подходящую для передачи по телефонной сети. Принимающий мо- дем демодулирует сигнал обратно в цифровые данные для использова- ния принимающим компьютером. Модемы передают информацию при помощи синусоидальной несущей частоты, которая модулирована (по амплитуде, частоте или фазе).
2.6. Передача данных 199 модем ----► компьютер Рис. 259 1. Сигнал RTS устанавливается в высокое состояние отправля- ющим компьютером, сигнали- зируя о том, что данные готовы к отправке. 2. Передающий модем посы- лает несущий сигнал принима- ющему модему, который в свою очередь выставляет сигнал DCD для принимающего компьюте- ра, который таким образом опо- вещается о наличии несущей. 3. Передающий модем выжи- дает заданное число периодов для того, чтобы принимающий компьютер подготовился к при- ему данных. 4. Передающий модем выстав- ляет сигнал CTS, сигнализируя отправляющему компьютеру о возможности начала передачи данных. 5. Передающий модем прини- мает цифровые данные от отправляющего компьютера по сигнальной линии TD и модулирует несущую соответственно данным. Принимаю- щий модем демодулирует несущую и помещает данные на линию RD связи с принимающим компьютером. 6. Когда отправляющий компьютер заканчивает передачу данных, он сбрасывает сигнал RTS для передающего модема, который обрывает несущую и сбрасывает сигнал CTS. Принимающий модем детектирует пропадание несущей и снимает сигнал DCD принимающему компью- теру. 2.6.4. Синхронизация Биты данных обрамляют стартовый и столовый биты. Когда по сигналь- ной линии не передаются данные — линия в ожидании и находится в состоянии высокого логического уровня (метка). Стартовый бит — низ- кого уровня (пауза), и поэтому, когда приемник ловит переход от метки
Сопряжение (интерфейс) 200 к паузе, то это означает, что следующий бит, который предстоит при- нять, наименее значащий бит передаваемых данных. После того как все биты данных приняты, приемник интерпретирует следующий бит как столовый бит, который передается меткой. Если принятый бит оказы- вается не меткой, то приемник фиксирует ошибку передачи. 8 бит данных 0 10 110 1 л .. Стартовый Стартовый бит бит подтвержден определен . мм р О 1-й бит данных определен шлллллг ллллшишплллштпл W 8 тактов 16 тактов 16 тактов Рис. 2.60 Тактовая частота приемника обычно в 16 раз больше скорости переда- чи. После определения перехода от метки к паузе приемник отсчитыва- ет 8 тактов. Если сигнал все еще в низком уровне, то он воспринимается как стартовый бит. Приемник отсчитывает еще 16 тактовых импульсов и затем определяет бит данных, и так до тех пор, пока не будут приняты все биты данных и столовый бит(ы). Таким образом определение бита всегда происходит в середине интервала передачи одного бита. После бит данных и перед стоповым битом может находиться бит чет- ности, который используется для проверки правильности данных. В слу- чае четности сумма всех переданных 1 (включая сам бит четности) дол- жна быть четным числом (и наоборот). Приемник вычисляет свое соб- ственное значение четности при приеме байта и затем сравнивает его с переданным. Несовпадение означает ошибку по контролю четности.
2.6. Передача данных 201 Скорость передачи — это скорость передачи бит данных, которая выра- жается в бодах (baud rate). Вообще скорость в бодах равна скорости пе- редачи бит (bit rate); тем не менее в некоторых системах передачи дан- ных возможна передача более одного бита данных (за счет амплитудной и фазовой модуляции) в одном передаваемом бите, и поэтому скорость передачи бит оказывается выше, чем просто скорость передачи. 2.6.5. Универсальный асинхронный приемопередатчик (UART 6402) Универсальный асинхронный приемопередатчик 6402 берет байт парал- лельных данных в регистр буфера передатчика ( Transmitter Buffer Register) по входам TBR1-8. Эти данные передаются в регистр передатчика (Transmitter Register) для сдвига. Выходной поток двоичных сигналов по- является на выходе регистра передатчика (Transmitter Register Output — Vdo х not used £ GND 5 RRD I 1:1 -*-| RBR8 3 RBR7 5 RBR6 Ф RBR5 | RBR4 Q- RBR3 = RBR2 § -4-1 RBR1 3 PE “ FE OE SFD RRC DRR DR Вход ► RR1 1 40 2 39 3 38 4 37 5 36 6 35 7 34 8 33 9 32 10 31 11 6402 30 12 29 13 28 14 27 15 26 16 25 17 24 18 23 19 22 20 21 TRC EPE I CLS1 I CLS2 1 SBS PI I CRL I TBR8 g I TBR7 J TBR6 § x TBR5 § 3 TBR4 x I TBR3 c * I TBR2 § й I TRO I TRE I TBRL I TBRE v 1 MR Выход последовательных последовательных данных SBS, стоповые би- ты, 0 — 1 бит, 1 — два стоповых бита Четность PI ЕРЕ Без контр. 1 х Чет. 0 1 Нечет. 0 0 Длина символа CLS1 CLS2 5 0 0 6 1 0 7 0 1 8 1 1 Например: 8 бит данных, 1 стоп бит, без контр, четности CLS1, CLS2 в 1 PI и ЕРЕ в 1 SBS в 0.
Сопряжение (интерфейс) 202 TRO). Точно так же последовательные данные считываются по входу ре- гистра приемника (Receive Register Input — RRI), преобразуются в символ в регистре приемника (Receive Register) и выдаются с выводов RBR1-8 буфера регистра приемника (Receive Buffer Register). Передающая часть схемы автоматически добавляет стартовый, столовый биты и биты чет- ности согласно логическим уровням на управляющих входах. Приемник проверяет четность и ошибки по стоповому биту и выдает логические уровни на различных индикаторных выводах микросхемы. Когда сигнал TBRL переходит в низкий уровень, данные считываются со входов TBRL1-8 и переносятся в регистр буфера передатчика. При переходе сигнала TBRL из низкого в высокое состояние данные переда- ются из регистра буфера передатчика в буфер передатчика, где проис- ходят сдвиг данных и передача на выход TRO. Если сигнал на выводе RRD удерживается в низком уровне, это значит, что на выходах RBR1-8 — результат последнего чтения из входного по- тока по входу RRI. Высокий уровень на DR сигнализирует о том, что доступно чтение данных на RBR1-8. После чтения сигнал DR должен быть сброшен при помощи отрицательного импульса на DRR. Описание назначения выводов микросхемы UART 6402 приведено ниже: RRD: Receive Register Disable — отключить приемный регистр. Высо- кий уровень переводит выходы RBR1 — RBR8 в высокоимпедан- сное состояние. RBR8 — RBR1: Выходы Receive Buffer Register — регистра буфера прием- ника. Параллельные данные выдаются с этих выводов. РЕ: Parity Error — ошибка четности: высокий уровень сигнализирует о том, что четность принятых данных не совпадает с установлен- ной в контрольном бите четностью. Когда контроль четности от- ключен (PI), то этот вывод удерживается в низком уровне. FE: Framing Error — ошибка кадра: высокий уровень означает непра- вильно принятый стартовый бит. ОЕ: Overrun Error — ошибка переполнения: высокий уровень означа- ет, что флаг принятых данных не был сброшен, прежде чем пос- ледний символ был передан в регистр буфера приемника. SFD: Status Flag Disable — флаги состояния отключены: высокий уро- вень входа переводит выходы РЕ, FE, ОЕ, DR, TBRE в высокоим- педансное состояние. RRC: Receiver Register Clock — тактирование регистра приемника. Ус- танавливается в 16 раз больше скорости передачи.
2.6. Передача данных 203 DRR: Data Received Reset — сброс принятых данных. Низкий уровень DR: сбрасывает выход DR в низкий уровень. Data Received — данные приняты. Высокий уровень сигнализи- рует о том, что принят символ и перемещен в регистр буфера приемника. RRI: Receiver Register Input — вход регистра приемника. Последова- тельные данные поступают по этому входу в регистр буфера при- емника. MR: Master Reset — общий сброс. Высокий уровень сбрасывает сиг- налы РЕ, FE, ОЕ и DR и устанавливает TRE, TBRE и TRO. После включения питания должен быть подан положительный импульс для сброса приемопередатчика. TBRE: Transmitter Buffer Register Empty — регистр буфера передатчика пустой: означает, что данные из регистра буфера передатчика пе- реданы в регистр передатчика и он готов принять новые данные. TBRL: Transmitter Buffer Register Load — загрузка регистра буфера пе- редатчика. По сигналу низкого уровня данные с входов TBR1-8 переносятся в регистр буфера передатчика. TRE: Transmitter Register Empty — регистр передатчика пуст. Высокий уровень сигнализирует о том, что передача символа, включая столовый бит, завершена и что теперь регистр передатчика пуст. TRO: Transmitter Register Output — выход регистра передатчика. Вы- ход последовательных данных. TBR1-8: Входы регистра буфера передатчика. Через эти выводы проис- ходит загрузка параллельных данных в регистр буфера передат- чика. CRL: Control Register Load — загрузка регистра управления. По высо- кому уровню сигнала происходит загрузка регистра управления параметрами настройки четности, длины символа и др. TRC: Transmitter Register Clock — тактирование регистра передатчи- ка. Устанавливается в 16 раз больше скорости передачи. Более универсальный UART 8250 (16450) расширяет функциональные воз- можности базового 6402 наличием программируемых регистров, посред- ством которых устанавливаются скорость передачи, четность и стоповые биты, и наличием контроллера прерываний. Команды высокого уровня в прикладной программе устанавливают соответствующие биты во внутрен- них регистрах (см. раздел 2.4.5). Отличительной особенностью более по- здних 16550 UARTS стал буфер «первым пришел, первым вышел» (в по- рядке поступления), который позволяет передавать данные на максималь- ной скорости, в то время как процессор занят выполнением других задач.
Сопряжение (интерфейс) 204 2.6.6. Драйверы линии Выводы RRI и TRO микросхемы 6402 — последовательные линии вво- да и вывода. Полярность сигналов — +5 В (метка или высокий уровень), и О В (пауза или низкий уровень). Однако передача последовательных данных по проводам по интерфейсу RS232 требует уровня сигнала от -15 до -12 В для метки, и от +12 до +15 В для паузы. Драйверы линии используются для преобразования логических уровней приемопередат- чика к требуемым уровням интерфейса RS232 на выводах TD и RD. Очень полезная ИС-232СРЕ — двойной передатчик/приемник RS232. Эта микросхема требует однополярного питания +5 В и генерирует на- пряжения + 10 В и -10 В, необходимые для управления сигнальными линиями RS232. (Примечание: сигналы процедуры установления свя- зи (handshaking) CTS, RTS, DSR и т.д — также +10 В, -10 В.) Микросхема 232 воспринимает сигналы ТТЛ или КМОП логики и обес- печивает ±10 В на выводах RS232. Она также принимает сигналы RS232 и обеспечивает эквивалентные уровни ТТЛ или КМОП на выходе. Мик- росхема содержит два отдельных канала, содержащих схемы приема и передачи сигнала. IpF Ci+ V+ 1MF ВЫХОД RS232 Сг 4 С2+ « с2- Я V- out in +5V IpF V Т1 R1 R1 Т1 КЗ W КЗ ► выход ТТЛ > выход ТТЛ Рис. 2.62 3.3k выход >RS232 T2in R2out GND вход RS232 Передача: вход ТТЛ, выход RS232 Прием:вход RS232, выход RS232. Внешние конден- саторы использу- ются внутренними удвоителями напряжения для получения ±10 В сигналов RS232.
2.6. Передача данных 205 2.6.7. Тактирование универсального асинхронного приемопередатчика Микросхема 6402 имеет два раздельных входа для тактовой частоты, но обычно они тактируются от одного источника тактовых импульсов для того, чтобы скорости передачи и приема были равны. Частота тактового сигнала в 16 раз больше скорости передачи. Микросхема 6402 не содер- жит программируемого делителя частоты (в отличие от 8520), поэтому соответствующая тактовая частота должна формироваться внешней схе- мой на основе двоичного счетчика. Для формирования выходного сигнала прямоугольной формы может использоваться кварцевый генератор совместно с высокоскоростным инвертором; выходная частота может быть поделена на двоичном счет- чике до необходимой величины. 4.9152 MHz Второй инвертор изоли- СР1 MR1 Q0, Q1i Q21 Q3, GND Vcc I CP2 P mr2 qo2 Q12 Q22 Q32 Сигнал CLK в 16 раз больше скорости передачи в бодах. 1—► 153.6 kHz (9600 бод) >-► 76.8 kHz (4800 бод) 38.4 kHz (2400 бод) ► 19.2 kHz (1200 бод) 307.2 kHz (19 200 бод) 4.9152 MHz clk JTTL рует схему генератора от тактируемой схемы. Рис. 2.63 о
Сопряжение (интерфейс) 206 Рис. 2.64 Свойства кварцевого пьезоэлектрика электри- чески эквивалентны последовательно вклю- ченным индуктивности и конден- сатору на резонансной частоте. Приведенная схема является КМОП реализацией генератора Колпитца (Colpitts). Входные- выходные уровни инвертора ос- циллируют на резонансной часто- те кварца. Рис. 2.65 2.6.8. Общий сброс универсального асинхронного приемопередатчика MR: Master Reset — общий сброс. Высокий уровень сбрасывает сигна- лы РЕ, FE, ОЕ и DR и устанавливает TRE, TBRE и TRO. После вклю- чения питания на вход MR должен быть подан положительный импульс для сброса приемопередатчика. Для формирования короткого положи- тельного импульса на MR после включения питания может использо- ваться простая схема задержки на конденсаторе и вентиле ИНЕ. Посто- янная времени — просто произведение RC, и для значений Rt = 100 кО и С = 4,7 pF дает значение постоянной около 0,5 с. Подходящая ИС ИНЕ серии 7400 + 5В к выв. MR Рис. 2.66 Рис. 2.67
2.6. Передача данных 207 Изначально выход элемента ИНЕ О В. При подаче напряжения пита- ния Vcc выход элемента ИНЕ устанавливается в 1, поскольку на одном из входов +5 В, а на другом О В. По мере заряда конденсатора через ре- зистор Rj напряжение на верхнем входе элемента ИНЕ повышается и через время, определяемое R^, выход ИНЕ сбросится из 5 В в О В. Ре- зистор 1 kQ ограничивает ток через вход ИНЕ и является защитным. 2.6.9. Нуль модем Последовательный протокол RS232 был спроектирован для передачи данных на значительное расстояние, используя телефонную сеть, но может также использоваться для местной коммуникации с устройством, подключенным к последовательному порту компьютера. Те же самые линии управления могут использоваться для управления потоком дан- ных между соединенным оборудованием без использования модема; однако существует проблема: если оба устройства соединены вывод к выводу и пытаются передать данные по линии передачи, то никакие сигналы не появятся на приемных линиях. Таким образом, передающие и принимающие линии должны быть перекрестно. Этот тип подключе- ния называют нуль модемом. Соединяя вместе DTR, DSR и DCD, в действительности сообщаем компь- ютеру, что модем подсоединен к те- лефонной линии, на которой есть правильный несущий сигнал, и дан- ные можно посылать или получать. Конечно, нет никакого модема вооб- ще, отсюда и термин — нуль модем. TD, RD и общий сигналы — мини- мально необходимый набор сигналов для последовательного подключения между двумя компьютерами, другие подключения могут потребоваться, если программное обеспечение на компьютерах проверяет состояние модема перед приемом или переда- чей данных.
Сопряжение (интерфейс) 208 В приведенном выше примере подключения между RTS и CTS и DTR, DSR и DCD заставляют компьютер расценивать подключение, как буд- то оно происходит между модемами, даже если никакой модем не ис- пользуется вообще. Например, компьютер, который отправляет данные первым, устанавливает линию RTS, которая теперь непосредственно подсоединена к CTS. Передающий компьютер, таким образом, немед- ленно получает сигнал CTS от его собственного RTS и начинает пере- давать данные по выводу TD. Принимающий компьютер получает эти данные по линии RD. 2.6.10. Сервисы BIOS для последовательного порта Сервисы BIOS используются для инициализации и работы с последо- вательным портом. Сервисы доступны через прерывание 20 (14Н). Па- раметры прерывания указываются в регистре AL. Последовательный порт определяется содержимым регистра DX. Доступно четыре сервиса: инициализация последовательного порта Параметрами инициализации последовательного порта являются: скорость передачи, четность, стоповые биты, биты данных. Парамет- ры объединены в 8-битное число, которое загружается в AL. передать один символ Передаваемые 8-битные данные помещаются в AL. После передачи код статуса помещается в АН. принять один символ Принятый символ помещается в AL. Соответствующий код статуса помещается в АН. прочитать статус последовательного порта Статус порта, возвращаемый сервисами 0-2 и сервисом 3, имеет сле- дующие значения бит в регистрах АН и АХ соответственно (см. таб- лицу ниже). 1 в любой позиции означает состояние или ошибку.
2.6. Передача данных 209 Биты Скорость Биты Четность Бит Кол-во 765 передачи, 43 2 стоповых бод бит ООО 110 00 нет 0 один 00 1 150 0 1 нечет. 1 два 0 1 0 300 1 0 нет Бит данные 0 1 1 600 11 нечет. 1 0 биты 1 00 1200 00 не использ. 1 0 1 2400 0 1 неиспольз. 1 1 0 4800 1 0 7 1 11 9600 11 8 АН AL 7 Тайм-аут 7 Обнаружен носитель данных (DCD) 6 Сдвиговый регистр передатчи- ка пуст 6 Индикатор звонка (RI) 5 Регистр хранения передатчика пуст 5 Готовность модема (DSR) 4 Обнаружен перерыв 4 Готовность к посылке (CTS) 3 Ошибка окружения (передача не синх.) 3 Изменение в DCD 2 Ошибка четности 2 Изменение в RI 1 Ошибка переполнения (пере- записи) 1 Изменение в DSR 0 Данные готовы (байт данных получен) 0 Изменение в CTS Биты «Изменение» отражают изменения в соответствующих флагах с мо- мента последнего чтения. Вызываемый сервис помещается в регистр АН. Параметры сервиса по- мещаются в AL. Вызывается прерывание, и результат помещается в AL (или АХ для сервиса 3). mov АН,О int 14Н
Сопряжение (интерфейс) 210 2.6.11. Работа с последовательным портом в языке бейсик Коммуникация по последовательному каналу может быть легко реали- зована в бейсике. Этот язык содержит операторы, которые позволяют программировать UART без привязки к конкретному адресу порта уст- ройства ввода/вывода. Параметры инициализации последовательного порта устанавливаются при помощи оператора OPEN: OPEN “СОМ1:9600,N,8,1 ” AS #1, который инициализирует СОМ1 на скорости 9600, без контроля четно- сти, 8 бит данных, 1 столовый бит. Данные записываются в или считы- ваются из файла за номером «1». Для чтения 1 байта из СОМ1 записываем: A$=INPUT$(1,#1) Байт считывается из приемного буфера UART и преобразовывается в символ ASCII, а затем присваивается строковой переменной А$. Для отображения считанного десятичного числа мы можем воспользовать- ся функцией ASC: PRINT ASC(A$) Функция INPUTS является более предпочтительным методом чтения дан- ных из последовательного порта. Другие операторы, такие, как INPUT и LINE INPUT, могут работать, а могут дать непредсказуемый результат, если данные во входном потоке содержат управляющие символы ASCII, такие, как LF и CR. Если бы мы использовали оператор INPUT, то ввод был бы остановлен при наличии во входящих данных запятой или символа CR. Это нормально для чтения данных с клавиатуры, но не из файла, в котором мы хотим обработать всю информацию. В Visual Basic (VB) процедура очень сходна. Объект СОММ порта по- мещается в окно формы, в примере, приведенном ниже, окно формы названо frm_MainMenu и объект СОММ порта назван MSComml. Объект MSComml имеет свойства, которые могут быть установлены, конфигурируя таким образом последовательный порт, на который на- значен объект. frm_MainMenu . MSComml . Settings = “9600, Е, 7, 1 ” frm_MainMenu . MSComml . InputLen = 0 frm_MainMenu . MSComml . RTSEnable = True frm_MainMenu . MSComml . DTREnable = False frm_MainMenu . MSComml . PortOpen =True
2.6. Передача данных 211 Методы, доступные для последовательного порта, позволяют считывать символы и присваивать их переменным или записывать значение пере- менной и передавать из компьютера: ReadChar = frm_MainMenu . MSComml . Input frm_MainMenu . MSComml . Output = WriteString + vbCr 2.6.12. Аппаратное квитирование Хотя на первый взгляд чтение из последовательного порта с помощью языка бейсик не представляет никаких трудностей, но проблемы воз- никают, когда данные не могут быть считаны достаточно быстро и при- емный буфер переполняется. Размер буфера составляет 255 символов (1 символ=1 байт). Для приостановки отправки данных с компьютера- отправителя до освобождения буфера на принимающем компьютере используется квитирование (подтверждение) — это могут быть как про- граммные коды, так и аппаратные сигналы. В языке бейсик есть много различных функций для организации программного или аппаратного квитирования. • Оператор LOC(x) возвра- щает количество симво- лов во входном буфере в файл «х» • Оператор LOF(x) возвра- щает количество сво- бодных ячеек памяти во входном буфере • Оператор EOF(x) возвра- щает (-1), если буфер пуст, или 0 — если пол- ный. Регистр MCR (Modem Control Register) О 7 OUT 2 DTR ► RTS "►OUT1 0 — запретить прерывание 1 — разрешить прерывание Для COM2 адрес регистра MCR 02FCh Рис. 2.69 Для системы сбора данных с последовательным каналом передачи дан- ных должно использоваться аппаратное квитирование, потому что не существует методов интерпретации программных кодов, таких, как XON и XOFF. Линия RTS является наиболее простым способом реализации
Сопряжение (интерфейс) 212 квитирования. RTS принимает высокий логический уровень (-10 В на сигнальной линии RS232) при заполнении буфера, и затем низкий уро- вень, когда буфер пуст. Теперь линия RTS доступна через бит 2 регист- ра управления MCR. Установка этого бита в 0 переведет линию RTS в высокий логический уровень. Для записи байта в регистр памяти мож- но воспользоваться оператором OUT языка бейсик. OUT &H2FC,&H8 Устанавливает RTS в высокий логический уровень OUT &H2FC,&HA Устанавливает RTS в низкий логический уровень Примечание: Оператор INPUTS языка бейсик позволяет использовать прерывания для считывания данных из последовательного порта. Убеди- тесь, что бит OUT2 установлен в 1 при записи данных в регистр MCR. Эти операторы в комбинации с операторами LOC, LOF и EOF могут быть использованы для управления линией RTS. Сигнал RTS в конечном итоге используется для остановки и возобновления передачи данных при необ- ходимости. 2.6.13. RS485 Максимальная протяженность линии связи, обеспечиваемая RS232, со- ставляет около 15 м, что в промышленном применении может быть не- достаточным, особенно когда компьютер расположен, скажем, в комна- те управления, на некотором удалении от преобразователя (сигнала дат- чика). Кроме того, максимальная скорость передачи данных может быть ограничением для быстрого сбора данных. Стандарты RS422 и RS485 разрабатывались для преодоления этих ограничений и обеспечения большей гибкости и производительности для задач контроля. Повышение скорости передачи и увеличение максимальной длины ка- беля было достигнуто за счет использования дифференциального на- пряжения на сигнальных линиях А и В. Для паузы, или логического 0, напряжение на линии А превышает напряжение на линии В на 5 В. Для метки, или логической 1, напряжение на линии В больше, чем на линии А. По входам ресивера микросхемы драйвера линии определяется, яв- ляется принимаемый сигнал паузой или маркером, путем сравнения напряжений на линиях А и В. Таким образом для передачи сигнала не- обходимо два сигнальных проводника.
2.6. Передача данных 213 В отличие от RS232, в котором обычно устанавливается соединение меж- ду двумя абонентами, стандарт RS485 позволяет подключать до 32 драйве- ров линии и 32 ресиверов на одну пару сигнальных проводников. Это достигается за счет тристабилыюй логики на выводах драйверов. В тристабильной логике выходы могут находиться в логическом О, логической 1 или в высокоимпе- дансном состоянии. Последнее состояние эквивалентно отсое- динению драйвера от линии. Вы- сокоимпедансное состояние ус- танавливается сигналом “enable” на микросхеме драйвера. Преимущества RS485: • Предельная длина линии 1200 м. • Скорость передачи до 10 Мбод. • 32 драйвера и ресивера на одной линии. • ТТЛ уровни сигналов TD (А-) RD (А ) RTS (А-) CTS (А-) экран TD(B+) RD(B+) RTS(B+) CTS(B+) Рис. 2.71. Разъем DB9 стандарта RS485 2.6.14. GPIB Интерфейсная шина общего назначения {GeneralPurpose Interface Bus — GPIB), или интерфейс IEEE 488, была разработана компанией Hewlett Packard в 1965 году для объединения различного научного измеритель- ного оборудования. Допускается подключение до 15 устройств на ин- терфейсные линии (на шину). Одно из устройств работает в режиме управления — «контроллер». Управление может быть передано при не- обходимости другому устройству. Интерфейс состоит из: • 8 линий данных • 3 линий управления данными • 5 управляющих линий Рис. 2.72. • 8 земляных линий * Разъем GPIB
Сопряжение (интерфейс) 214 8 бит данных могут передаваться одновре- 7 менно в параллель, каждая линия обеспечи- вает скорость в 1 Мбит/с. Максимальная ------— длина кабеля 20 м и рекомендованное рас- Данные стояние между устройствами не более 4 м; ---------------IFC также могут использоваться удлинители и ----------------ATN расширители шины. SRQ Устройства могут быть сконфигурированы REN как приемники сообщений, источники сооб- Управление щений и контроллеры шины. • Приемники сообщений: устройство, _____________________NRFD сконфигурированное как приемник со- NDAC общений, принимает данные с шины от Квитирование другого устройства. На линии допуска- ется одновременное присутствие более одного приемника сообще- ний. Приемник сообщений принимает данные по сигналу чтения от контроллера. • Источник сообщений: устройство, сконфигурированное как источ- ник сообщений, может передавать данные другим устройствам на шине. Одномоментно допускается наличие только одного источни- ка сообщений на шине. Источник сообщений дожидается команды управления от контроллера и помещает свои данные на шину. • Контроллер: контроллер может назначать другие устройства как приемники или передатчики сообщений или передать управление шиной. Наличие контроллера необязательно. Например, если на шине только один источник, а остальные подсоединенные приборы — приемники, то необходимость в контроллере отпадает. Данные помещаются на шину источником сообщений, когда ни одно из устройств не удерживает сигнал неготовности приема данных NRFD (not ready for data) в низком уровне (отрицательная логика). Сигнал DAV (data valid) означает, что данные готовы, и затем все устройства удер- живают сигнал NDAC (по data accepted) в низком уровне, пока не счи- тают данные с шины. Параллельное соединение устройств гарантиру- ет, что сигнал NDAC вернется на высокий уровень только после того, как все устройства примут данные. Каждое устройство отвечает на команды, посылаемые по шине данных. Каждое устройство распознает свой адрес, когда он появляется на шине
2.6. Передача данных 215 данных. Адрес устройства обычно устанавливается переключателями или программно. Управление шиной выполняется контроллером, кото- рый содержит, как правило, микросхему специального назначения на интерфейсной карте GPIB. 2.6.15. USB — Многочисленные периферийные устройства подключаются через пос- ледовательные, параллельные порты и PS/2, и требования простого в использовании интерфейса реализовались в разработке универсальной последовательной шины (Universal Serial Bus — USB). Интерфейс USB разрабатывался как дешевый, наращиваемый, высоко- скоростной последовательный интерфейс, позволяющий реализовать функцию “plug and play”, предназначенный прежде всего для бизнеса и различной бытовой периферии. Скорости передачи данных для первой реализации интерфейса USB составляли до 12 Мбод. USB 2.0 обеспечивает скорости до 480 Мбод, делая его пригодным для аудио и видео в реальном времени, для циф- ровых камер высокого разрешения и устройств хранения данных. Система USB состоит из: • Взаимосвязь USB------------ • Устройства USB --------ч • Хост-контроллер USB \ ▼ \ В любой системе USB существует только один ведущий контрол- лер — хост-контроллер. Хост-кон- троллер посылает маркерный па- кет, который описывает тип и на- правление данных, адрес устрой- ства и номер конечной точки. За- тем адресуемое устройство прини- мает пакет данных и отвечает па- кетом подтверждения. Соединения между устройствами USB, протоколы передачи данных, способ адресации устройств. USB устройства являются также хабами (разветвителями), которые обеспечивают подключение дру- гих хабов или устройств. Хост- контроллер опрашивает хабы для определения подключения или от- ключения устройств. При подклю- чении устройства ему назначается хост-контроллером уникальный адрес шины.
Сопряжение (интерфейс) 216 Сигналы и питание передаются в USB по четырехпроводному кабелю. Дифференциальный сигнал передается по двум из них. Существуют 3 скорости передачи данных: • высокоскоростная (high speed) на скорости 480 Мбод • полноскоростная (full speed) — 12 Мбод • низкоскоростная — 1,5 Мбод Рис. 2.73 Допускается максимально 7 уровней в сети. Уровень 1 является корне- вым разветвителем, а уровень 7 может содержать только устройство. Для работы интерфейса USB необходимо, чтобы одно из устройств на шине было ведущим (хост контроллером), что накладывает определен- ные ограничения на использование данного интерфейса в промышлен- ных системах. Простой модем, например, может быть соединен с помо- щью нуль модемного соединения и использоваться совместно с ПЛ К или другим преобразователем, поддерживающим интерфейс RS232. При
2.6. Передача данных 217 использовании USB интерфейса компьютер должен обязательно выпол- нять функцию хост-контроллера, даже если требуется передача данных только в одном направлении от одного устройства на шине к другому Дополнение «on the go» (OTG) к стандарту USB 2.0 позволяет выпол- нять передачу данных между одноранговыми устройствами без участия полнофункционального хост-контроллера. В интерфейсе RS232 формат данных не определен — обычно это текст в кодах ASCII, но это совершенно не обязательно. USB использует различ- ные уровни протоколов передачи для приема и передачи данных, каждая транзакция происходит посредством передачи пакетов данных. Каждая передача по шине USB включает в себя: маркер (token packet), необяза- тельный пакет данных (data packet), пакет статуса (status packet). Все транзакции инициирует хост-контроллер USB. Маркерный пакет содержит тип предстоящей транзакции (чтение или запись и адрес по- лучателя). Пакет данных содержит передаваемые данные. Заключитель- ный пакет статуса содержит информацию о том, была ли информация передана или принята благополучно. Назначение контактов кабеля USB 1 Красный +5В 2 Белый D- 3 Зеленый D+ 4 Черный Земля —► Позволяет подключать устройства с «питани- ем от линии» (не требуется батареек или ка- кого-либо вторичного источника питания для ведомого устройства). Интерфейс USB разрабатывался таким образом, чтобы соответствовать принципу «включай и работай» (plug and play). При подключении но- вого устройства на шину хост-контроллер определяет его наличие по уровням сигналов на линиях данных D+ и D-. Затем хост-контроллер запрашивает дескриптор нового устройства, присваивает новому уст- ройству адрес и затем автоматически загружает необходимые драйвера этого устройства. При отключении устройства хост-контроллер опре- деляет это и выгружает драйвера. Этот процесс называется составлени- ем списка устройств (enumeration). Firewire (IEEE 1394) — стандарт последовательного интерфейса, изначаль- но разработанного компанией Apple Computer (USB разработан компани- ей Intel). Firewire обеспечивает скорость передачи до 400 Мбит/с и явля- ется конкурентом USB (в то время, когда Firewire только был представлен,
Сопряжение (интерфейс) 218 он был в несколько раз быстрее USB). Так же как и USB 2.0, основными достоинствами данного стандарта является высокая скорость при пере- даче видео с цифровых видеокамер без необходимости установки специ- ализированных интерфейсных карт. 2.6.16. TCP/IP TCP расшифровывается как Transmission Control Protocol (протокол уп- равления передачей), a IP — Internet Protocol (Интернет протокол). TCP/ IP представляет собой набор протоколов, который позволяет компьюте- рам обмениваться данными посредством множества различных физичес- ких коммуникационных сетей. TCP/IP обеспечивает протоколами на двух различных уровнях по 7-уровневой модели OSI (OSI Reference Model). Всемирная паутина (world wide web — www) и электронная почта email (SMTP) используют TCP/IP для передачи данных через Интернет, ко- торый, в свою очередь, функционирует на основе сетевых систем пере- ключения пакетов, наиболее популярная из которых — Ethernet. Непосредственно соединение между компьютерами происходит через спутники, коаксиальные кабели, телефонные линии и т.д. С точки зре- ния интерфейсных задач, Интернет подходит для передачи команд и получения результата от удаленного сенсора, но совершенно не подхо- дит для непосредственной связи с преобразователем (сигнала датчика) из-за большого времени отклика процесса. 7-уровневая модель OSI г7. Application (приложений) п |6. Presentation (презентаций)! Lp. Session Цессии)________( Telnet, FTP (File Transfer Protocol — протокол передачи файлов), SMTP (Simple Mail Transfer Protocol — простой протокол передачи писем), HTTP (HyperText Transfer Protocol — протокол передачи гипертекста) и др. Этот уровень определяет приложение, используемое для выполнения требу- емых пользователю коммуникаций. На этом уровне IP адреса декодиру- ются с помощью сервера имен доменов (Domain Name Server — DNS). 4. Transport (транспортный) TCP связан с приемом и отправкой пакетов и сборкой их в правильном порядке. Он разработан с тем расчетом, чтобы не зависеть от характе- ристик конкретной сети.
2.6. Передача данных 219 3. Network (сетевой) IP связан с доставкой пакетов данных через Интернет. IP изолирует про- токолы верхнего уровня от специфичных характеристик. Он не распре- деляет пакеты, только связан с передачей пакета данных к требуемо- му адресату. IP адреса назначены определенным устройствам сети для идентификации их с целью отправки и приема данных. 2. Data link (передачи данных) Протоколы переключения пакетов. Протоколы Data Link Control (DLC), Ethernet. Этот уровень связан с передачей пакетов в специальном ре- жиме доставки посредством механизмов физического уровня. Харак- теристики Ethernet определяют время отклика сети. 1. Physical (физический) Провода, кабели, ВЧ каналы передачи. 2.6.17. Вопросы для повторения 1. Какая основная цифровая логическая схема формирует основу уни- версального асинхронного приемопередатчика, используемого для последовательной передачи данных? 2. Последовательный интерфейс RS232 очень популярен из-за его дос- тупности и простоты. Не описывая фактическую последовательность событий, опишите функцию шести обычно используемых сигналов. 3. Что такое «нуль модем» и при каких условиях он может быть ис- пользован? 4. Почему тактовая частота приемника должна быть в 16 раз больше скорости передачи данных? 5. Что такое бит четности? 6. Для чего необходимы микросхемы 232 драйвера линии для связи между двумя универсальными асинхронными приемопередатчика- ми, которая происходит по внешнему сигнальному кабелю? 7. Почему при последовательной передаче данных существует выбор 5, 6, 7 или 8 бит данных при передаче или приеме? (Подсказка: рас- смотрите коды ASCII для передачи символа.) 8. Каково основное преимущество интерфейса RS485? 9. Какое преимущество имеет интерфейс GPIB над RS232?
2.7. Программируемые логические контроллеры Производственными процессами традиционно управляли электромеха- нические системы (то есть выключатели и реле). Электромеханическая система управления управляет выходными состояниями согласно вход- ным состояниям. Логика переключения и результирующих действий зависит от способа, которым выключатели и реле включены между со- бой. В таких системах не так легко изменить алгоритм функционирова- ния, и системы непросты в обслуживании. В конце 1960-х были внедрены цифровые контроллеры, которые исполь- зовали некоторый уровень программирования для управления после- довательностью операций, требуемых в производственном процессе. Программируемый логический контроллер (ПЛК) анализирует вход- ные состояния и включает или выключает выход согласно предвари- тельно загруженной программе, которая может быть легко обновлена в случае необходимости. Усовершенствования в технологии привели к тому, что программируемые контроллеры могут обмениваться данны- ми друг с другом, а также получать и передавать данные управления отдаленным терминалам. Современные системы используют стандар- тизированные способы задания алгоритма — функциональные блок-схе- мы и структурное программирование. ПЛК имеют стандартные интерфейсы ввода и вывода. Стандартные входные интерфейсы позволяют напрямую подключать и обрабатывать сигналы первичных преобразователей. Стандартные выходные интер- фейсы позволяют непосредственно подключать реле или схемы, кото- рые приводят в действие исполнительные механизмы технологических процессов. ПЛК работают под управлением программы. Программа состоит из ряда утверждений или логических команд, названных списком. Блок управ- ления сканирует входы и выполняет логические операции согласно заг- руженной программе и затем переключает соответствующие выходы. Входы сканируются вновь, и процесс циклически повторяется. Резуль- тат — производственный процесс.
2.7. Программируемые логические контроллеры 221 Рис. 2.74 Сам ПЛК состоит из блока управления (или центрального процессо- ра), а также подключений для входа и выходов, оперативной памяти (-10 КБ) и модуля электропитания. Входы ПЛК гальванически развязаны, чтобы защитить ПЛК от шумов. 2.7.2. Синхронизация Программа ПЛК состоит из ряда команд и представляет собой логичес- кие операции, совершаемые над входными данными. Состояние выхо- дов установлено или сброшено в соответствии с логическим результа- том выполнения команд программы. Рис. 2.75 Состояния всех входов копируются в оперативную память, прежде чем выполняются команды программы. Затем последовательно выполняют-
Сопряжение (интерфейс)_______________________________________ 222 ся команды. Конечные выходные состояния сохраняются в оператив- ной памяти. Когда выполнение программы (одного цикла. — Прим, пер.) завершено, сохраненные состояния выходов передаются на выходные терминалы ПЛК. Так как чтение входов (время отклика по входу), обработка команды (время выполнения) и установка выходов (время отклика выхода) за- нимают конечное время для ПЛК, то изменения входных состояний могут быть регистрированы, только если они длятся дольше, чем время опроса (время отклика по входу + время выполнения + время отклика выхода). Если вход изменяется более быстро, то ПЛК, возможно, не за- фиксирует изменение, и необходимое выходное состояние не может быть установлено. Это называют фазовой ошибкой. Когда входное состояние изменяется, изменение на выходе произойдет, в наихудшем случае, через два цикла программы. Время опроса ПЛК обычно выра- жается временем, необходимым для выполнения 1024-байтной про- граммы, и зависит от тактовой час- тоты контроллера. Время сканиро- вания (цикла) находится обычно в пределах 5- 10 мс. Выход Вход Опрос 1 1 Опрос 2 Рис. 2.76 В некоторых ПЛК программа выполняется строка за строкой. Блок уп- равления опрашивает те входы, на которые ссылается каждый опера- тор программы при выполнении. Тогда выход, указанный в каждом опе- раторе программы, обновляется согласно результату логической опе- рации в операторе программы и затем сохраняется или защелкивается в том состоянии. 2.7.3. Функциональные компоненты Входы PLC состоят из входных реле, или контактов, которые могут быть физическими устройствами или имитируются как маркированные кон- такты в программе. Выходы называют обмотками, представляющими
2.7. Программируемые логические контроллеры 223 обмотку реле. Выходы могут принимать форму транзисторных выклю- чателей, триаков или реле. Помимо входов и выходов, блок управления также обычно содержит защелки, счетчики, таймеры и регистры для хранения данных. Некоторые устройства ПЛК также имеют возмож- ность ввода-вывода аналоговых сигналов. Защелка Когда установлено в состояние «истина», выход защелки остается в состоянии «вкл.», пока защелка не будет сбро- шена. Счетчик Считает импульсы на своем входе и устанавливает выход (таймера) в состояние «истина», когда на входе подсчи- тано предварительно установленное число импульсов. Истина при входе сброса обнуляет накопленный счет. Таймер Выход таймера принимает состояние «вкл.» или «исти- на» через определенное, предварительно установленное число секунд после того, как вход принял состояние «ис- тина». Когда вход установлен в состояние «ложь», тай- мер сбрасывается и выход принимает значение «ложь». В то время как таймер считает в обратном порядке, ПЛК продолжает опрашивать входы и выполнять команды. Из-за таймеров могут возникать ошибки ввода и выво- да, так как входной сигнал таймера может не быть реги- стрирован, пока он не опрошен. Затем выходное устрой- ство может быть не активизировано, пока ПЛК не закон- чит выполнение программы (цикла программы. — Прим, пер.). Регистры Используются для того, чтобы хранить данные или ре- зультаты логических операций в виде бит (истина 1 или ложь 0). Регистры подобны внутренним контактам. Со- держание регистров может быть сдвинуто влево или впра- во. Информационные разряды могут быть записаны и считаны из регистров, используя команду MOV. ПЛК может обмениваться данными с внешними устройствами, исполь- зуя последовательную передачу данных по интерфейсу RS232. ПЛК может с этой целью быть оснащен последовательным портом RS232. Обмен данными может происходить в обоих направлениях. Данные могут быть сохранены в памяти данных ПЛК.
Сопряжение (интерфейс)___________________________________ 224 Выполняемая ПЛК логическая программа обычно вводится через кла- виатуру или загружается из микрокомпьютера. Перед выполнением программы производятся различные проверки, чтобы гарантировать, что программа была передана без ошибок в ПЛК. Для того чтобы обезо- пасить производственный процесс в момент пропадания питания, вне- дряются различные системы. Системы на ПЛК проектируются так, что- бы быть устойчивыми и работать без обслуживания в индустриальной среде. 2.7.4. Программирование ПЛК функционирует по командам листинга кода. Чтобы облегчить со- здание листинга кода, используются диаграммы логики многозвенной схемы для моделирования состояния и действий входных и выходных устройств. Диаграмма многозвенной схемы состоит из двух вертикаль- ных шин, внутри которых на звеньях помещены символы контактов, реле, функций и логических операций. Логический поток (или текущий поток) направлен на диаграмме слева направо и от вершины к основа- нию. Выход звена активирован, если есть непрерывный путь для логи- ческой «истины» до левой (или положительной) шинки многозвенной схемы (логическая непрерывность). Отрицательная, или земляная, шинка Каждое звено должно содер- жать один или более входов и один или более выходов. Пер- вым объектом в звене должен быть вход, последним — вы- ход, счетчик, таймер или внут- реннее реле. Последнее звено многозвенной схемы содер- жит инструкцию конца пере- числения «End». Рис. 2.77
2.7. Программируемые логические контроллеры 225 Основные инструкции Символ Код Действие —1 LD Принимает значение «истина» при замыкании кон- тактов. LDB Принимает значение «истина» при размыкании контактов (обратное к LD). OUT Принимает значение «истина», приводя в действие обмотку реле и замыкая нормально открытые кон- такты реле, если есть непрерывный путь от пра- вой шинки к реле. OUTB Обратное к OUT. ПЛК сканирует диаграмму многозвенной схемы от вершины к основа- нию слева направо. По инструкции LD анализируется состояние кон- тактов, и элементу присваивается значение «истина», если контакты замкнуты или находятся в состоянии «включено». Символ может так- же использоваться для внутренних вспомогательных реле или выклю- чателей, которые физически не существуют. 2.7.5. Диаграммы многозвенной логики Диаграммы многозвенной схемы могут быть весьма сложными. Систе- мы на ПЛК в основном способны выполнять математические действия над данными, применять операторы Булевой алгебры и сохранять дан- ные в ячейках памяти или регистрах. Рассмотрим эти простые примеры: Диаграмма Код многозвенной схемы хооо хюо Y400 "Н 1 " 11 1 LD ХООО AND ХЮО OUT Y400 end End " Выходы активизированы, только когда есть непрерывный путь от ле- вой стороны к правой в многозвен- ной схеме. Выход Y400 активизирован (истин), когда оба входа Х000 И Х100 замк- нуты (истинны). Рис. 2.78 1
Сопряжение (интерфейс) 226 Диаграмма Код многозвенной схемы хооо LD ХООО ORX100 OUT Y400 END Выход Y400 активизирован (истин), когда вход ХООО ИЛИ Х100 замкнут (истин). LD ХООО ANIX100 OUT Y400 END Выход Y400 активизирован (истин), когда вход ХООО замкнут И Х100 ра- зомкнут (ложен). ХООО LD ХООО ORIX100 OUT Y400 END Выход Y400 активизирован (истин), когда вход ХООО замкнут ИЛИ Х100 разомкнут (ложен). Рис. 2.78_2 LD X000 OUT T300 K10 LD T300 OUT Y400 END Таймер Т300 начинает обратный счет, когда ХООО замкнут (истин). По истечении 10 секунд контакты тай- мера Т300 замыкаются (принимают значение «истина») и активизирует- ся выход Y400 (истина). В приведенном ниже примере приведена схема таймера, выходное уст- ройство которого включается и удерживается во включенном состоянии на время импульса на входе схемы. Эта схема использует внутреннее реле. ПЛК эмулирует обмотки и контакты внутренних реле в памяти. Так же как и внешние реле, они содержат обмотку и наборы контактов, которые могут использоваться как входы для других элементов в звеньях. В этом примере, когда вход ХООО истин, есть логическая непрерывность через нормально закрытый контакт Т300 таймера к выходу Y400. Это
2.7. Программируемые логические контроллеры 227 истинное состояние подается обратно во вход нормально закрытого контакта тай- мера. Таким образом, когда вход Х000 ложен, выход Y400 остается включен- ным — он защелкивается от собственных контактов. Теперь, когда вход Х000 принимает зна- чение «ложь», на таймер поступает запус- кающий обратный счет сигнал «истина». В течение периода счета выходное устрой- Х000 Т300 Y400 Рис. 2.79 ство Y400 остается активированным через защелкивающую цепочку кон- тактов Y400. По окончании счета нормально закрытые контакты Т300 раз- мыкаются, прерывая логическую непрерывность для выхода Y400, и Y400 деактивизируется. Приведенная многозвенная логика работает как рас- ширитель импульсов. Краткий импульс на входе Х000 может быть рас- ширен до длительного на выходе Y400*. Диаграммы многозвенных схем могут с легкостью стать непонятными и неудобными в обращении, если не применять определенную методо- логию для формирования структуры. На время, задаваемое таймером (прим. пер.)
Сопряжение (интерфейс)_____ 228 2.7.6. Характеристики ПЛК Существует множество систем на ПЛК. В таблице приведены некото- рое типичные характеристики и возможности. • 16 гальванически изолированных входов переменного тока, 100 В — 220 В, 50-60 Гц. • 8 гальванически изолированных входов постоянного тока, 5 В — 24 В. • 8 аналоговых входов, 0-5 В. • 2 высокоскоростных гальванически изолированных входа, до 100 кГЦ. • 8 гальванически изолированных выходов, до 220 В, 8 А. • 8 гальванически изолированных выходов, 48 В, 8 А. • 32 таймера, 16 с дискретностью 0,01 с, 16 с дискретностью 1 с. • 32 инкрементных или декрементных счетчика. • 256 внутренних реле. • Часы реального времени со временем и датой. • Резервная копия оперативной памяти. • Регистрация данных до 16 Кб. • Программируемый LED дисплей 4.5 цифры. • Внутренний источник питания 110 В/220 В. • Многозвенная логика в памяти EEPROM для 2 программ по 4к 32-раз- рядных слова каждая. • Частота опроса 7 мс/Кб 32-разрядных команд. • Индикатор реального времени опроса. • Сеть и ввод/вывод, расширяемый через интерфейс RS485. • Анодированная конструкция из алюминиевого сплава для тяжелого ре- жима работы. • Защищенность от электромагнитных шумов и эффективное рассеива- ние тепла. • Размеры прибора соглас- но стандарту DIN 43700. Рис. 2.81. Панель управления ПЛК для системы холодного водоснаб- жения
2.7. Программируемые логические контроллеры 229 2.7.7. Вопросы для повторения 1. Операция опроса, которая является особенностью ПЛК, может быть сравнима с многозадачным режимом работы прикладного языка про- граммирования на основе принципа «управляемый событием» (event base), таким, как Visual Basic. Вы согласны с этим утверждением? 2. Спроектируйте диаграмму логики многозвенной схемы, которая включает двигатель компрессора рефрижератора, когда температу- 3. ра повышается выше установленного предела, и выключает его, ког- да температура падает ниже другого установленного предела. Спроектируйте диаграмму логики многозвенной схемы, которая бу- дет управлять пешеходным переходом с рядом светофоров. Нажатие кнопки на каждой стороне поступает на вход. Красный, желтый и зеленый сигналы светофора, сигналы «Идите» и «Стойте» — выхо- ды. После нажатия пешеходом кнопки происходит задержка в 60 се- кунд перед выключением зеленого сигнала светофора и включением желтого. Желтый зажигается на 10 секунд, затем выключается, и за- жигается красный свет. Затем следует задержка в 2 секунды перед включением сигнала «Идите» для пешеходов. «Идите» горит в тече- ние 60 секунд, после чего этот сигнал выключается и начинает ми- гать сигнал «Стойте» в течение 10 се- кунд. Через 10 секунд сигнал «Стойте» светит непрерывно. В это же время есть 2 секунды задержки перед выключени- ем красного света и включением зелено- го сигнала. Зеленый сигнал светофора остается включенным до нажатия одной из кнопок на пешеходном переходе. Если пешеход нажимает кнопку более одного раза, в то время как горит зеле- ный, система реагирует только на пер- вое нажатие. Если пешеход нажимает кнопку в момент действия сигнала «Идите» и мигает «Стойте», то нажатие игнорируется. Рис. 2.82
2.8. Проект сбора данных 2.8.1. Система сбора данных с последовательным выходом Проект заключается в разработке системы сбора данных с преобразова- нием из аналогового сигнала в цифровой код, которая считывает темпе- ратуру с термопары и передает данные в последовательный порт ком- пьютера. Для этого в компьютере не требуется наличия никаких специ- ализированных интерфейсных карт. Этот тип интерфейса подходит для сравнительно медленно меняющихся физических величин. Система тре- бует двуполярного питания ±5 В и небольшого числа интегральных схем, Выборка АЦП и хранение Цифровые Вход термопары и компенсация холодного спая Инструменталь- ный усилитель последова- тельный порт Сброс UART* ЦАП Рис. 2.83 Генератор тактовых импульсов Приемопередат- чик (драйвер) которые можно с легкос- тью приобрести у постав- щиков электронных ком- понентов. Такую систему можно использовать прак- тически с любым компью- тером, имеющим последо- вательный порт. Перечень элементов 1 ХАОС0804АЦП 1 х 6402UART 1 х 7400 ИНЕ 1 х 232СРЕ приемопередатчик RS232 1 х 74НС04 шестнадцатерич- ный инвертор 1 х 74НС393 счетчик 1 х 4.9152 МГц кварцевый резонатор 2x33 пФ; 1 х 147 пФ (или 3 х 47 пФ); 4x1 мкФ; 1 х 4.7 мкФ; 1 х 47 мкФ; 2x3.3 к; 1 х ЮМ; 1 х 100 к; 1 х 1 к; 2 х 10 к * UART — Universal Asynchronous Receiver Transmitter — универсальный асинхронный при- емопередатчик.
2.8. Проект сбора данных 231 Аналого-цифровой преобразователь преобразует аналоговый сигнал 0 - 5 В в 8-битовое цифровое значение (0-255). Это цифровое значение передается через универсальный асинхронный приемопередатчик, ко- торый преобразовывает данные в последовательный поток бит для пе- редачи по одному проводу в последовательный порт компьютера. Данные от схемы появляются в виде Г Аналоговый вход 0-5 В АОСОМЮ -V* RD AGND CS ___ЙЩ_____ ।____ Отрицательный им- пульс на INTR сообща- ет UART (выв. TBRL), что данные готовы и защелкнуты. Переход 0 -1 на TRE указывает на то, что данные были переданы, и иниции- рует аналого-цифровой пре- образователь начать новое преобразование. Сигнал TRE должен быть отрицательным импульсом, чтобы запустить последовательность. Рис. 2.84 последовательного потока двоичных сигналов на выводе RD последователь- ного порта компьютера. Данные состо- ят из стартового бита, 8 информацион- ных разрядов и 1 стопового бита. Для отображения данных на дисплее или сохранении их в памяти исполь- зуется коммуникационное программ- ное обеспечение. 4.9152 MHz TRO TTLout NAHD Т1 Импульс сброса г П2 ОгМг Т1 Выход RS232 к последова- тельному порту
Сопряжение (интерфейс) 232 2.8.2. Проектирование схемы 1. Подсоедините микросхему ADC0804, как показано на рисунке ниже. Используйте напряжение питания +5 В для Vcc. 2. Подайте напряжение 2 В постоянного тока на + Vin (аналоговый вход) и измерьте напряжение на цифровых выходах. 3. Преобразуйте комбинацию напряжений в двоичный код (DB7... DB0). 4. Разместите UART на лабораторной макетной плате и отконфигури- руйте устройство для работы с форматом 8 бит данных, без контроля четности, 1 стоп бит. 5. Установите сигналы CRL, PI и ЕРЕ в 1, a SBS, SFD и RRD в 0. Ис- пользуйте +5 В в качестве Vdd. 6. Теперь нам надо сообщить UART, что данные на TBR1 ...TBR8 дей- ствительны и готовы к передаче после завершения аналого-цифро- вого преобразования. Выбираем подходящий сигнал микросхемы АЦП и соединяем его с TBRL микросхемы UART.
2.8. Проект сбора данных 233 7. Нам также надо инициировать новую процедуру конвертации в АЦП после завершения переда- чи данных микросхемой UART. Выбираем подходящий сигнал микросхемы UART и соединяем его с WR микросхемы АЦП. +5 V* 1 2 3 4 5 6 7 8 9 V VDD not used GND RRD RBR8 RBR7 RBR6 RBR5 RBR4 10 RBR3 11 RBR2 12 RBR1 13 PE 14 FE 15 OE 16 SFD 17 RRC 18 DRR 19 DR 20 RRI CXJ о 3 Выбор длинны CLS1 CLS2 символа 5 0 0 6 1 0 7 0 1 8 1 1 Контроль PI ЕРЕ четности Нет 1 X Четн. 0 1 Нечетн. 0 0 SBS, стоповые биты: 0 — один, 1 — два стоповых бита TRC ЕРЕ CLS1 CLS2 SBS PI CRL TBR8 TBR7 TBR6 TBR5 TBR4 TBR3 TBR2 TBR1 TRO TRE TBRL TBRE MR 40 39 38 37 36 35 34 33 32 31 30 29 28 27 26 25 24 23 22 21 I соединить с DB0-DB7 микросхемы ADC0804 +5V ।► в схему драйвера линии Рис. 2.86
Сопряжение(интерфейс) 234 8. Поместите микросхему драйвера последовательной линии связи 232СРЕ на лабораторную макетную плату 9. Подсоедините ТТЛ выход микросхемы UART к ТТЛ входу микро- схемы 232СРЕ. Примечание: микросхема 232 является сдвоенной и содержит два набора независимых приемопередатчиков. Выберите либо Т1 и R1 или Т2 и R2. 10. Соедините, как показано на рисунке, конденсаторы, резисторы и питающее напряжение с микросхемой 232СРЕ. Рис. 2.87 11. Соберите кварцевый генератор на высокоскоростных КМОП инвер- торах 74НС04. 12. Поделите тактовый сигнал генератора для получения скорости пе- редачи 9600 бит/с с помощью высокоскоростного КМОП счетчика 74НС393. 13. Подайте поделенную частоту генератора на тактовый вход TRC при- емопередатчика.
2.8. Проект сбора данных 235 +5 V +5V < СР1 fl MR1 Q01 I Q1, Q21 fl Q31 fl GND о GO <0 307.2 кГц (19 200 бод) Частота сигнала CLK должна быть в 16 раз _ больше скорости “Г передачи mr2 ------- —I I____I Q02 fl—> 153.6 кГц (9600 бод) Q12 -> 76.8 кГц (4800 бод) Q22 fl—► 38.4 кГц (2400 бод) Q32 19.2 кГц (1200 бод) Puc. 2.88 14. Соберите схему сброса для микросхемы UART на вентиле ИНЕ микросхемы 7400 и сопутствующих компонентах. Рассчитайте не- обходимые значения элементов Rt и С для получения постоянной времени 2 с.
Сопряжение (интерфейс) 236 15. Соедините выход схемы сброса со входом MR микросхемы UART. 16. Схема интерфейса теперь готова к тестированию. Первый шаг — те- стирование схемы на наличие тактового сигнала на микросхеме UART. Посмотрите наличие сигнала осциллографом и устраните, при необходимости, ошибки в схеме тактового генератора. 17. Затем зашунтируйте аналоговый вход на землю (О В) и снимите на- пряжения на цифровом выходе АЦП. Все они должны быть О В. Устраните все ошибки, прежде чем идти дальше. 18. Измерьте ТТЛ сигнал на выходе TRE микросхемы UART. Там дол- жен быть положительный импульс 5 В (стоповый бит) после серии нулей — данных. 19. Измерьте сигнал на выходе приемопередатчика последовательного ка- нала и убедитесь, что та же последовательность передается уровнями -10 и+10 В. 20. Теперь подайте малое постоянное напряжение на аналоговый вход АЦП и убедитесь в том, что выход с приемопередатчика 232 содер- жит соответствующие данные. (Значение байта, передаваемого как данные в двоичном потоке на выходе приемопередатчика, должно соответствовать величине приложенного постоянного напряжения в диапазоне 0-5 В.) 21. Сконфигурируйте 25-выводный или 9-выводный соединительный кабель, как «нуль-модем» с аппаратным квитированием связи (соеди- ните сигнал RTS разъема последовательного порта компьютера с од- ним из свободных входов RS232 микросхемы приемопередатчика).
2.8. Проект сбора данных 237 22. Теперь понадобится некоторая процедура подтверждения связи — квитирование. При заполнении приемного буфера сигнал RTS ус- танавливается в 1 принимающим компьютером или нашей приклад- ной программой. Когда буфер свободен, сигнал RTS сбрасывается в низкий уровень. Когда буфер передатчика микросхемы UART пуст, то UART устанавливает сигнал TRE в высокий уровень. TRE имеет низкий уровень в процессе передачи. Нам следует упорядочить сиг- налы так, чтобы при низком уровне RTS и при переходе TRE из низ- кого в высокий сигнал WR на АЦП изменялся с низкого на высо- кий, инициируя новое преобразование, и удерживался высоким в процессе преобразования. Приемопередатчик 232 схемы Разъем последовательного последовательного порта компьютера интерфейса То RS232 in From RS232 out то рзгзг^. in То е- RS232 out На нашей плате последовательно- го интерфейса сигнал RTS будет управляться нами путем соедине- ния его с соответствующими выво- дами других микросхем. Тем не ме- нее он должен сначала пройти че- рез микросхему приемопередат- чика для согласования логических уровней линии RS232 и ТТЛ логики. Принимающий компьютер Рис. 2.90 Высокий уровень сигнала при RTS пустом буфере (RTS низкий), +5 В — полный в противном случае — низкий О В — пустой (когда буфер полон). Рис. 2.91 Сигнал TREудерживается низ- ким уровнем микросхемой UART в процессе передачи. TRE принимает высокий уро- вень при пустом буфере пере- датчика, сигнализируя о за- вершении передачи символа.
Сопряжение (интерфейс) 238 Рассмотрим логическую схему на предыдущей странице. Когда идет про- цесс передачи и буфер пуст или полон — выход имеет высокий уровень. После завершения передачи выход становится низким, если буфер пуст, в противном случае — высокий уровень. Таким образом, если выход пе- реходит в низкий уровень, то передача завершена и приемный буфер пуст — можно инициировать новое преобразование. Но для иницииро- вания преобразования требуется переход из низкого в высокий на WR. Отсюда видно, что если инвертировать сигнал, то достигается необхо- димое действие. Таким образом, при завершении передачи и пустом бу- фере окончательный выход переходит из низкого состояния в высокое и остается высоким. Инициируется новое преобразование, по заверше- нии которого сигнал INTR указывает микросхеме UART готовность к передаче. UART удерживает сигнал TRE низким уровнем в процессе передачи, который, в свою очередь, удерживает сигнал WR низким. Инвертор может быть t0 _________________________ получен из вентиля ИНЕ: +5Ve_____________•_______________ From TRO to WR < C2+ c2- V- Выход RS232 к RD последовательного порта Вход RS232 RTS от последовательного порта Рис. 2.92
2.8. Проект сбора данных 239 2.8.3. Программирование В этой части проекта необходима компьютерная программа для управ- ления системой сбора данных с последовательным выходом. Програм- ма должна формировать сигналы управления и данных последователь- ного порта. Такая программа может быть реализована на языке низкого уровня — ассемблере или языке приложений — таком, как бейсик. Предполагается, что система сбора данных была изготовлена и работа- ет должным образом. Это может быть проверено с помощью осциллог- рафа. При низком уровне сигнала RTS от последовательного порта ком- пьютера^ 10 V на соответствующем сигнальном проводе) должен быть поток данных на RD. Язык ассемблер 1. В этой части проекта программа на языке ассемблер должна выпол- нять следующие шаги (функции): (а) Инициализирует последовательный порт (СОМ1 или COM2). (Ь) Определяет условие и устанавливает RTS в высокий логичес- кий уровень (-10 В на линии RS232). (с) Читает 1 байт из последовательного порта. (d) Отображает значение на экране. (е) Определяет условие и устанавливает RTS в низкий логический уровень (+10 В). (f) Позволяет завершить работу программы нажатием любой кла- виши на клавиатуре. Для инициализации последовательного порта используется сервисная подпрограмма 0 BIOS. Порт, который будет инициализирован (0 для СОМ1, 1 для COM2), определен в регистре DX. Параметры инициали- зации транслированы в байт из информации, данной в таблице. Номер вызываемой подпрограммы (0) помещаем в АН. Байт, содержа- щий инициализирующую информацию, помещаем в AL. Обслуживание последовательного порта вызывается через прерывание 14Н. Таким об- разом, чтобы инициализировать последовательный порт COM2 на 9600 бод, 8 бит данных, 1 столовый бит и без контроля четности, потребуют- ся следующие команды ассемблера:
Сопряжение (интерфейс) 240 MOV DX, 01Н MOV АН, О MOV AL, ОЕЗН INT 14Н ; ВЫБИРАЕМ COM2 ; ИНИЦИАЛИЗИРУЕМ ПОСЛЕДОВАТЕЛЬНЫЙ ПОРТ ; 9600, N, 1,8 Есть четыре подпрограммы BIOS для обслуживания последовательно- го порта. Номер вызываемой подпрограммы обслуживания помещает- ся в АН. Параметры или данные для подпрограммы помещаются в AL. Вызывается 14-е прерывание, и любые результаты помещаются в AL (или АХ для подпрограммы 3). Подпрограммы BIOS 0 инициализация последовательного порта 1 передать один символ 2 принять один символ 3 прочитать статус последовательного порта Биты Скорость Биты Четность Бит Кол-во 765 передачи, 43 2 стоповых бод бит 000 110 00 нет 0 один 00 1 150 0 1 нечет. 1 два 0 1 0 300 1 0 нет Бит данные 0 1 1 600 11 нечет. 1 0 биты 100 1200 00 неиспольз. 1 0 1 2400 0 1 неиспольз. 1 1 0 4800 1 0 7 111 9600 11 8 2. Теперь плата последовательного интерфейса управляется сигналом RTS от компьютера. Для запуска аналого-цифрового преобразова- ния необходимо установить напряжение — 10 В на линии RTS (что соответствует высокому уровню ТТЛ). Это называется аппаратным квитированием (подтверждением установления связи). Среди под- программ BIOS нет таких, которые бы управляли сигналом RTS, поэтому понадобится непосредственная запись в регистр модема (MCR — modem control register). Для запуска преобразования бит RTS регистра MCR устанавливается в 1 (а так же OUT2 устанавли- вается в 1, для того чтобы дать возможность выполняться подпрог- раммам BIOS).
2.8. Проект сбора данных 241 Определим набор бит — шестнадцатеричное число, которое необходи- мо записать в MCR для начала преобразования. Затем определим шест- надцатеричное число для записи в MCR, необходимое для запрета пре- образования. MCR (Modem Control Register) 7 О Обратная связь ◄— О нормальная работа 1 режим с обратной связью I OUT2 О отключить прерывания 1 активировать прерывания DTR RTS OUT1 (не используется) Рис. 2.93 Примечание: Логическая 1, записанная в бит RTS, устанавливает вы- ходной сигнал RTS низкого уровня (+10 В на сигнальной линии), что при- водит к запуску преобразования на интерфейсной карте. Цель СОМ1 COM2 Принять, передать данные 3F8 2F8 Разрешить прерывания 3F9 2F9 Идентифик. прерывания 3FA 2FA Управление линией 3FB 2FB Управление модемом 3FC 2FC Статус линии 3FD 2FD Статус модема 3FE 2FE 3. Шестнадцатеричные коды, которые устанавливают и сбрасывают линию RTS, должны быть записаны в MCR, который, для COM2, расположен по адресу порта ввода/вывода 2FCH. Команда MOV не может использоваться для этого, так как MOV пишет данные в реги- стры или обычные ячейки памяти. Для записи по адресам портов ис- пользуются команды языка ассемблер IN и OUT. 4. Для побайтного чтения из последовательного порта может быть ис- пользована подпрограмма BIOS «получить один символ» и преры-
Сопряжение (интерфейс) 242 вание 14Н. Однако, когда это используется, 14-е прерывание очища- ет MCR, и управление RTS потеряно. Таким образом, регистр RX/ ТХ (расположен по базовому адресу порта ввода/вывода 3F8H или 2F8H) должен быть считан непосредственно командой IN. Теперь команда OUT имеет две формы. Первая форма: OUT d8, AL или АХ d8 в данном случае — 8-битный адрес порта от 0 до 255, который подхо- дит тогда, когда производится запись в порт из указанного диапазона. Если запись происходит в порт с большим адресом, то 16-битный номер порта загружается в DX, а затем команда OUT извлекает адрес из DX. Таким образом, вторая форма записи: OUT DX, AL или АХ Записывается байт или слово в зависимости от того, указан ли AL или АХ в качестве источника. Для записи байта по адресу 2FCH байт поме- щается в AL, затем номер 2FCH загружается в DX: MOV DX,02FCH MOV AL,0AH OUT DX, AL Команда IN имеет очень схожий синтаксис: INAL или АХ, d8/DX Источник указывается либо адресом порта ввода/вывода в DX или не- посредственно номером порта (для портов 0-255). Считанный байт по- мещается в AL. Если АХ указан в качестве адресата информации, то из порта считывается слово. В нашем случае в порту доступен для чтения только 1 байт (порт ввода/вывода 3F8H или 2F8H содержат только один байт из сервисного буфера последовательного порта). Поэтому в каче- стве адресата информации должен быть указан AL. 5. Теперь последовательный порт может быть инициализирован (исполь- зуя вызов прерывания BIOS), преобразования могут быть начаты и остановлены (используя команду OUT для MCR), и данные могут считываться (используя команду IN). Было бы удобно отображать байт на экране и также позволить пользователю выйти из программы, на- жав клавишу. Эти две последние особенности могут быть с готовнос- тью реализованы, используя сервисные подпрограммы BIOS.
2.8. Проект сбора данных 243 Примечание: Сервисные видеоподпрограммы BIOS позволяют выве- сти символ на экран. Символ означает символ ASCII. Таким образом, ше- стнадцатеричное число в AL обрабатывается как код ASCII, и соответству- ющий символ появляется на экране. Для появления на экране именно чис- ла из регистра, а не его интерпретации в ASCII, необходимо проанализи- ровать число и иметь программу, которая формирует коды ASCII, соответ- ствующие каждой цифре в отображаемом числе. Видеообслуживание вызывают через прерывание ЮН. Есть несколько возможных функций для вывода символа на экран. Одна из тех, кото- рая может использоваться, — функция 9Н. Эта функция выводит сим- вол ASCII на экран в текущую позицию курсора и не изменяет позицию курсора (другие функции автоматически перемещают позицию курсо- ра так, чтобы экран был бы заполнен данными, в нашем случае — сим- волами, считанными из последовательного порта). Выводимый на эк- ран символ определяется числом в AL. Выполняемая функция опреде- ляется числом в АН. MOV АН, 9Н ФУНКЦИЯ ВЫВОДА НА ЭКРАН INT ЮН ;БАЙТ НА ВЫВОД УЖЕ В AL Функцию обслуживания клавиатуры вызывают через прерывание 16Н. Вызываемая функция определяется числом в АН. Нас интересует фун- кция 1, которая сообщает, действительно ли есть символ в буфере кла- виатуры. Если в буфере есть символ, то функция сбрасывает флаг нуля (ZF) в 0. Если в буфере нет никакого символа с клавиатуры, ZF уста- навливается в 1. Для завершения программы можно использовать ус- ловный переход с помощью команд JNZ и JMP. MOV АН, 01Н ОБСЛУЖИВАНИЕ КЛАВИАТУРЫ INT 16Н JNZ END JMP READ БЕЙСИК 1. Напишите программу на языке бейсик, которая будет выполнять следующие шаги: (а) Ввод пользователем скорости передачи в бодах и номер СОМ порта.
Сопряжение (интерфейс) 244 (b) Инициализирует последовательный порт (С0М1 или COM2). (с) Определяет условие и устанавливает RTS в высокий логичес- кий уровень (-10 В на линии RS232). (d) Определяет условие и устанавливает RTS в низкий логический уровень (+10 В). (е) Определяет, какое количество байт ожидает чтения. (f) Определяет, какое количество свободного места доступно в при- емном буфере. (g) Читает 1 байт из последовательного порта и отображает значе- ние на экране в десятичном формате. (h) Выполняет все вышеупомянутые функции вместе, так чтобы программа непрерывно отображала считанный из последова- тельного порта байт на экране. В то же самое время программа должна остановить и продолжить передачу данных от платы последовательного интерфейса, если буфер становится слишком полным или пустым. Примечание: Сделайте вашу программу дружественной для пользо- вателя. Т.е. позвольте программе непрерывно читать последовательный порт, пока пользователь не нажимает Esc, в это же время программа зак- роет обработку файла и выйдет аккуратно в операционную систему или строку диалога интерпретатора бейсика. Вопросы: (а) Вычислите апертурное время и максимальную частоту, достижимую без апертурной ошибки, для времени преобразования, используе- мого в этой схеме. (Ь) Вычислите необходимую скорость в бодах, которая обеспечила бы эту максимальную частоту. (с) Сравните с максимальной частотой вашей схемы. (d) Предложите метод (или два), который бы позволил увеличить мак- симальную частоту. 2.8.4. Выборка-хранение 1. Соберите схему управления выборкой-хранением на JK триггере 7476, как показано на рисунке, но пока не соединяйте R и INTR. Сна- чала подключите напряжение питания +5 В к выводу R.
2.8. Проект сбора данных 245 2. Опробуйте работу триггера, подавая отрицательный стартовый им- пульс и наблюдая выход Q . Затем подайте О В на вход R и наблю- дайте выход Q. 3. Убедитесь в том, что триггерная схема работает правильно, затем отклю- чите R от источника питания +5 В и подсоедините к выводу INTR АЦП. 4. Подсоедините микросхему выборки-хранения LF398, как показано на рисунке: +5V Логический вход Аналоговый вход •— fl 1 2 -fl 3 fl 4 CD 00 7 fl 6 fl > В схему квитирования (или TRE) > kTBRL 0.01 pF Выход 5 Перечень элементов: 1 x 7476 JK триггер 1 x LF398 выборка-хранение 1 х конденсатор 0,01 мкФ Рис. 2.94 Микросхема LF398 требует двуполярного питания. В идеальном слу- чае оно должно быть на несколько вольт больше, чем максимальный размах напряжения сигнала. ±10 В являются приемлемыми, но пита-
Сопряжение (интерфейс) 246 ния ±5 В достаточно, если отсутствует источник питания ±10 В и вход- ной сигнал будет ограничен по амплитуде. Последовательность операций такова: • Стартовый импульс инициирует процедуру конвертации, по- скольку он напрямую подключен к WR. • Поскольку сигнал SET высокого уровня и изначально RESET высокого уровня, то выход Q будет реагировать на переход clock в низкий уровень, и поскольку J имеет высокий уровень (и К — низкий), Q устанавливается в низкий уровень. Выборка будет за- щелкнута в момент перехода сигнала clock в низкий уровень. Пре- образование начинается в момент перехода clock (WR) обратно на высокий уровень. • По завершении преобразования сигнал INTR становится низким, устанавливая сигнал RESET также в низкий уровень, что приво- дит к высокому уровню на выходе Q независимо от состояния сигнала на входе J и перевод схемы выборки-хранения в состоя- ние «выборка». 5. Используя сигнал синусоидальной формы, сравните формы сигна- лов (с помощью осциллографа) на входе и выходе микросхемы вы- борки-хранения LF398. Зарисуйте осциллограммы (для получения чистой картинки вы можете повысить частоту сигнала приблизитель- но до 100 Гц). Измерьте ширину ступенек (в микросекундах) на вы- ходе LF398. 6. Исследуйте сигналы, появляющиеся на логических входах LF398, и запомните время между каждым импульсом. 7. Сравните верхний предел с частотой характеристики системы ана- лого-цифрового преобразования с и без использования микросхемы LF398. Вопросы: (а) Прокомментируйте ширину ступенек на выходе микросхемы LF398 в зависимости от частоты входного сигнала. (Ь) Повышает ли наличие схемы выборки-хранения значение макси- мальной частоты, которое может быть оцифровано без апертурной ошибки? (с) Есть ли другие аспекты вашей схемы, которые могут ограничивать верхний частотный предел?
2.8, Проект сбора данных 247 2.8.5. Система цифро-аналогового преобразования Для целей демонстрации система сбора данных с последовательным выходом может быть легко изменена с целью добавления возможности цифро-аналогового преобразования. Цифровые данные из компьютера пересылаются (через микросхему приемопередатчика) в регистр при- емника микросхемы UART. Цифровые данные могут быть преобразова- ны в аналоговый сигнал при помощи микросхемы DAC0800 и наблю- даться с помощью вольтметра или осциллографа. 1 1 2 3 1 IX 1 1 Ко ВХОДУ 1 ]RS232 *4 ТО Приемопередат- । с выхода э-4 RD чик 232 схемы |RS232 J । RTS последователь- । Ко входу ’ ।— cis ного интерфейса J RS232 ! 1 DTR « К выходу •-}—ч DSR ; RS232 । DCD 1 ’ RI GND Рис. 2.95 ' ! Разъем к последовательному порту компьютера Перечень элементов: 1 х DAC0800 ЦАП 2x4,7 к; 2 х 10 к 1 х0,01 мкФ; 2x0,1 мкФ 1. Первый шаг в нашем ЦАП преобразователе — это получение цифро- вой информации из последовательного порта компьютера. Подайте сигнал TD от последовательного порта компьютера на свободный вы- вод RS232 IN приемопередатчика RS232. Соедините соответствую- щий ТТЛ выход с выводом RRI (receive register input — вход регист- ра приемника) микросхемы 6402 UART. 2. Подсоедините CTS последовательного порта компьютера на свобод- ный выход RS232. Установите сигнал CTS в высокий уровень для того, чтобы передающий компьютер передавал данные непрерывно. Для этого подсоедините соответствующий вывод ТТЛ IN к +5 В схемы. 3. Подсоедините микросхему D АС0800 к схеме, как показано на рисун- ке; цифровые входы соединить с цифровыми выходами микросхемы UART. Также подсоединить тактовый сигнал на схему приемника UART, соединив выводы 40 и 17. 4. Подключите вольтметр к Vo.
Сопряжение (интерфейс)_______________________________________ 248 5. Измените вашу прикладную программу, добавив в нее операцию за- писи. Как демонстрация работы ЦАП, полная процедура — во-пер- вых, принять аналоговый сигнал на АЦП и передать оцифрованное значение в компьютер. Затем компьютер передает оцифрованный сигнал обратно на плату и ЦАП преобразует сигнал обратно в анало- говую форму. 6. При поданном стабильном сигнале 0 - 5 В на вход АЦП и запущен- ной программе измерьте выходное напряжение ЦАП и установите опорное напряжение Vref (если имеется регулируемый источник на- пряжения) так, чтобы значение 255 или FF на входе ЦАП давало +5 В на аналоговом выходе. Vref должно находится в пределах 2,3 В. Если нет регулируемого источника напряжения, то подсоедините Vref к +5 В и записывайте значение выходного напряжения для кодов от 0 до FF на входе ЦАП. 7. Замените стабильный аналоговый сигнал постоянного тока на сину- соидальный сигнал от генератора сигналов. Помните, что сигнал ге- нератора, поданный на вход АЦП, должен быть всегда положитель- ным и изменяться от 0 до 5 В. 8. Подключите осциллограф к Vo и наблюдайте выходной аналоговый сигнал. Вопросы: (а) Сравните напряжения на аналоговом выходе ЦАП для 0 и стабиль- ных 5 В на входе ЦАП. Можно ли определить значение опорного на- пряжения Vref ЦАП? (Ь) Наблюдайте на осциллографе выходной сигнал с ЦАП при подан- ном синусоидальном напряжении на вход АЦП. Объясните разницу форм двух сигналов.
2.8. Проект сбора данных 249 0.1 pF 10k B3 msb B4 К выводам RBR8...RBR1 Микросхемы 6402 UART о > о о оо 'out В1 В2 'out V- VLC 0.01 pF CMP 5k 10k Vref- Vref+ v+ 5k B8 B7 I B6 B5 |. Isb <• +5V К регулируемому источнику напряжения 0-10 В или фиксированному 5В Puc. 2.96
250
Часть 3: Обработка сигналов
3.0. Обработка сигналов Сигналы от преобразователя обычно имеют очень малый размах. Для под- готовки сигналов для передачи по интерфейсу в компьютер они должны быть усилены до приемлемого уровня и отфильтрованы для исключе- ния нежелательного шума. Этот процесс называется обработкой сигнала.
3.1. Передаточная функция 3.1.1. Инструментальные средства Инструментальные средства обеспечивают формирование из сигнала преобразователя выходного сигнала, пригодного для измерения. Это обычно достигается применением нескольких ступеней обработки сиг- нала, начиная с сигнала преобразователя или входа Q. Рис. 3.1 Желательно иметь линейную зависимость между входной и выходной величиной для различных процессов, так чтобы Q3 = К^К^. На практике полезный сигнал преобразуется в каждом каскаде вместе с ошибками и сопутствующим шумом. Задача инструментальных средств состоит в максимальной передаче сигнала и минимизации ошибок и шума. Процесс обработки сигналов связан с: • электрической природой сигналов и методами их измерений • преобразованием сигнала за счет применения передаточной функ- ции для обеспечения усиления и фильтрации шумов • источниками и природой шумов в составе сигнала • восстановлением сигнала — фильтрацией, усреднением, сглажива- нием и т. д. Важным моментом в подключении преобразователя к предусилителю является обеспечение передачи максимальной энергии сигнала преду- силителю с помощью процесса, называемого согласование импедансов. Vs — напряжение, вырабатываемое источником сигнала Vin — напряжение на входе усилителя Преобразователь ,Ч„ "\Усилитель г5 VsC£) г Рис. 3.2
Обработка сигналов 254 В идеальном случае входное сопротивление усилителя Rin много боль- ше выходного сопротивления источника сигнала Rs, потому что в про- тивном случае на входе усилителя возникает незначительное напряже- ние Vin. Так, если Rs» Rin, то большая часть напряжения падает на Rs а не на входе усилителя. Усилители должны иметь высокий входной им- педанс Rin по отношению к Rs — выходному сопротивлению источника сигнала. 3.1.2. Передаточная функция Существует определенная зависимость между входным сигналом S(t) и выходным сигналом R(t) электронной схемы. Такая зависимость назы- вается передаточной функцией данной электронной схемы. Передаточная функция — это зависимость выходного напряжения от входного. Это общее описание схемы, включающее в себя любые фазо- вые эффекты, которые могут возникать в ней. Например, для простого RC фильтра нижних частот, приведенного ниже, передаточная функция будет выглядеть так: 1 + jaRC t Передаточная функция Voutи Ил — либо пиковые зна- чения напряжения, либо среднеквадратические зна- чения напряжений и являют- ся векторами, j — корень квадратный из (-1), поэтому данное выражение содержит комплексные числа. A/W Входной сигнал от преобразо- вателя Vin(t) С Выходной сигнал (отклик) на измерительный прибор или регистрирующее устройство Vout(t) Рис. 33
3.1. Передаточная функция 255 Позже мы увидим, как может быть получена передаточная функция для различных схем (в основном схем фильтров) с помощью операционно- го счисления. Передаточная функция конкретной схемы фильтра ис- пользуется для изменения измеряемого сигнала с целью уменьшения шумов (т.е. нежелательной информации). Математическое представле- ние передаточной функции позволяет проанализировать эффективность различных фильтров и усилителей и разработать их прежде, чем будет собрана какая-то конкретная схема. 3.1.3. Преобразования Большинство физических явлений может быть описано с помощью диф- ференциальных уравнений, то есть уравнений, содержащих производ- ную. Кратчайшим способом записи «производная функции по аргумен- ту» является применение оператора производной1. Например: ^. = DyH^ = D2y, ах dx£ где D — это оператор производной, который, будучи применен к функ- ции z/(x), дает новую функцию от х. Оператор производной может быть комплексным и включать в себя производные высших порядков. На- пример: n d* d3 d2 d = ~т~г + a\ тт + a2 TT + аз ~r + a4, где an — константы, cur ctr dxz dx и тогда d4y d3y d2y dy ^ = а()^ + а1^ + а2-^ + аз^ + а4У dx4 dx5 dx1 dx После применения оператора к исходной функции возникает новая функция. Таким образом, исходная функция преобразуется в другую функцию. 1 В отечественной литературе более распространенной записью производной некоторой функции у является у'х или просто у' для производной первого порядка и запись у" для производной второго порядка.
Обработка сигналов 256 Оператор Исходная функция Новая функция Dy= Y Оператор производной широко используется для записи разных типов дифференциальных уравнений. Другим типом преобразования являет- ся оператор интегрального преобразования Т, который имеет следую- щую форму: Г [ f (£)] - \ f (t)K(s, t)dt = F(s), F(s) является изображением функции/(£), где f — функция от t, которая преобразуется с помощью оператора Т. К — функция переменных snt. Интегрирование порождает новую фун- кцию только переменной s, которая является интегральным преобра- зованием исходной функции f(t). Функция K(s,t) может принимать мно- жество форм, среди которых особенно интересна одна, которая опреде- ляется как: Полученное в результате интегральное преоб- K(s, = < разование называется преобразованием Лапла- = e~st, t > 0 са £[/(0] функции /(0. 3.1.4. Преобразование Лапласа Для функции f аргумента t преобразование Лапласа имеет следующий вид: ЦЖ>] = О Получаемый интеграл, то есть £[/(£)], является функцией только аргу- мента s: £[/(0] = f(s) является преобразованием Лапласа функции f(t). Символ «£» обо- значает оператор Лапласа, который, примененный к функции f(t), дает функцию F(s). Особенно интересен случай, когда f(t) является периодической функ- цией, скажем, f(t) = sinotf:
3.1. Передаточная функция 257 L [sin со£ ] = j sin (tit e stdt 0 Результаты показаны здесь без со промежуточных вычислений. Аналогично £[coscod =---5 . $>0 S2 + со2 Почему преобразование Лапласа так важно для нас? Потому что оно позволяет решать дифференциальное уравнение при помощи алгебра- ических выражений, используя операторы. Скоро мы покажем, как это работает. А сейчас представьте другое интересное преобразование Лап- ласа — £[1]. Z[l] = °je ~stdt о Итак, теперь встает вопрос: «Что такое s?». =— Ге"*Т° Ответ: это зависит от решаемой задачи. sL 0 Для синусоидального сигнала правомерно 1 положить s = /со. s Почему мы используем преобразования? Какой-либо входной сигнал во временной области может быть преобразован в другой сигнал или функцию в частотной области. Преобразованный сигнал может быть изменен с помощью передаточной функции фильтра и затем преобразо- ван обратно во временную область для отображения. Преобразование сигнала дает информацию о частотном составе (спектре) сигнала. 3.1.5. Операционное счисление Рассмотрим схему интегратора: Можно показать, что выходное напряжение пропорционально интегра- лу по времени от входного напряжения. Vout когда RC велико. IV С/ 9 - 1182
Обработка сигналов Рис. 3.4 Рис. 3.5 Если входной сигнал синусоидальный, то выходной сигнал косинусои- дальный1 (амплитуда которого уменьшается с увеличением частоты входного сигнала). Можно показать (см. рис. 3.5), что зависимость амп- литуды и фазы выходного сигнала Vout от входного Vin имеет следующий вид (в комплексном виде): V =--------V- l + 7?Qco т' Когда произведение RC велико, то: v 1 v Сравните записи ''out *гп' ---------------- RCi® Но, 1/»=^Кл d Положим ~Г = s dt s — это оператор. В данном случае оператор производной, и примене- ние оператора s к функции дает про- изводную по времени этой функции. 1 Имеется в виду смещение фазы сигнала между входом и выходом, составляющей для интегратора л/2. {Прим, пер.} Поэтому Vout = — k dt. ш‘ RCi in !_► = -1- у. RCs m Это так же показывает, что в дан- ном случае s =700. Аналогично, для схемы дифферен- ту циатора, Vout = RC dt И можно показать, что: V _ 1 у при малом зна- -I vin’> । | 1 чении RC. RCjca Когда произведение RC мало, и положив s = усо: vout~ RCj(oVin = RCsVin Является ли в данном случае s тем же самым, что и в преобразовании Лапласа?
3.1. Передаточная функция 259 3.1.6. Оператор производной Теперь, если s =j($ и s так же является оператором производной, то что же на самом деле такое «s»? Рассмотрим функцию: у = e~st _ _se-st -~sy Следовательно, «s» является оператором производной для этой функ- ции: d s- — dt Вот почему в преобразовании Лапласа, где K(s,t) = e~st, s рассматрива- ется как оператор производной, а не как простая переменная. Для синусоидальных периодических функций можно положить s =усо и пользоваться s как оператором производной. Так, в наших расчетах ана- лиз в s-области позволяет нам получить информацию о частотах и фазе сигналов (для анализа в частотной области) или дифференциальную по времени информацию (при анализе во временной области). Для анализа схемы выполняют s-преобразование передаточной функ- ции схемы и применяют, при необходимости, алгебраический анализ (выполнение которого намного легче, чем дифференциального), затем результат преобразуется обратно во временную или частотную область. Данная процедура справедлива, потому что при применении преобразо- вания Лапласа к синусоидальной периодической функции s является диф- ференциальным оператором и также отождествлена с произведением /со. На предыдущей странице мы увидели, как двойственная природа s со- гласуется с выходным откликом пассивного интегратора. Давайте, при- меним вновь данный способ к пассивному интегратору, а также к пас- сивному дифференциатору. 9*
Обработка сигналов 260 3.1.7. Пассивный интегратор Рис. 3.6 Анализ в s-области d — = 5 dt Vin=RsQ + ^Q О = 0| £s + - | I C) Теперь Vout = О / \ =1 C Rs + — I C) Vout _ 1 _________ Vin \ + RCs Это выражение является s-преоб- разованием данной функции (справа). Оно не является диффе- ренциальным выражением, а явля- ется простым алгебраическим вы- ражением, включающим диффе- ренциальный оператор 5. Опера- ционное счисление позволяет нам избежать дифференциальных уравнений во временной области и сложных алгебраических вычис- лений в частотной области. Анализ во временнбй области Vout=^ = Vc Vin=VR+Vc — Это дифференциальное уравнение 1-го порядка, включающее произ- водную по времени. Анализ в частотной области (со-области) ( 1 Vin = IZ = l(R-Xq) = I R-—j Ури, Vin -1 . mCJ R—-j шС Алгебраические 11 преобразования V __________ 1-ДсоС/ * ~7?2C2co2+l положим R($C = 1 Затем ~ГГ~ ~ — точка «-3 дБ» *in У/
3.1. Передаточная функция 261 3.1.8. Пассивный дифференциатор Рис. 3.7 Анализ в s-области Анализ во временнбй области = vc = IR + ^jldt d — ~s dt Vin=RsQ + ^Q = Q\Rs + — С Q = jldt J=dQ dt * Vin=^R + ^Q at C Теперь Vout = RsQ Таким образом Vout = Rs Vin Rs + — C _ Vin 1+^c VquC= RCs * Vin 1 + RCs s-преобразование передаточной функции Из рассмотренных примеров вид- но, что 5 = jco согласуется с обыч- ными вычислениями над комплек- сными числами для обеих схем. Далее мы увидим, как s-преобра- зование используется для анализа схем активных фильтров. Анализ в частотной области (со-области) Ц„ = /(/? + -ХС/) Vout=IR vout_ R Vin R-Xcj R R R —— j Ir2 + 1 ~ ®C V +Ю2С2 RasC ~ V/?2<o2C2+l положим 7?соС = 1 rr - гт — точка «—3 дЬ» У in N
Обработка сигналов 262 3.1.9. Передаточное полное сопротивление Передаточное полное сопротивление (передаточный импеданс) звена определяется, как отношение приложенного ко входу звена напряже- ния к протекающему по цепи току при заземленном выходе. В данном простом случае передаточ- ный импеданс равен: 7 _ 1 • %т -----—J соС Рис. 3.9 ZT-R 3.1.10. Вопросы для повторения 1. Преобразователь имеет выходное сопротивление 1,2 МОм. Каково должно быть минимальное входное сопротивление предусилителя, соединенного с преобразователем, для передачи не менее 95% напря- жения сигнала на вход предусилителя? (Ответ: 23 МОм) 2. Рассчитайте простой RC фильтр для подавления помех на частоте 50 Гц на 40 дБ. Оцените эффективность этого фильтра для следую- щих сигналов: (а) 500 Гц, 0,8 В СКЗ1, (Ь) 10 кГц, 1,2 В СКЗ. (Ответ: -20 дБ, -1 дБ) 1 СКЗ — среднеквадратическое значение, rms — root mean square.
3.1. Передаточная функция 3. Рассчитайте центральную час- тоту приведенного полосового фильтра: (Ответ: 160 Гц) 4. Напряжение на входе приведен- ного фильтра скачком изменяет- ся от 0 до +5 В. Найдите зависи- мость напряжения на выходе фильтра от времени и рассчи- тайте время, необходимое для установления на выходе напря- жения 0,1 В. (Ответ: 1,15 мс) Рис. 3.11 5. Используя интегрирование по частям (дважды), покажите, что £[cos соЛ = —г s2 + со2 6. Используя формулу Эйлера, найдите Z[cosco£]: Подсказка: ^udv = uv-^vdu и = e~st du = -se~st dv = cos artdt ejwt - cosco^ +ysinco£ (Подсказка: L[coscot] является действительной частью выражения) 7. F (s) = +25 + ю ’ Найдите обратное преобразование Лапласа с уче- том того, что: Z"1 (F(s)) = e~atIrx (F(s-a)) и в данном случае полагая <7=1.
Обработка сигналов 264 3.1.11. Упражнения 1. Соберите следующую схему: соедините операционный усилитель 741 с подходящим источником питания, подключите неинвертирующий вход на землю, а инвертирующий вход к регулируемому источнику напряжения. Опишите состояния выхода ОУ при изменении вход- ного напряжения от -1 В до +1 В. 2. Изменяйте напряжение плавно и определите входное напряжение (с точностью до милливольта), при котором выходное напряжение равно 0 — может потребоваться незначительное изменение схемы для точного нахождения точки перехода через 0. 3. Оставив заземленным неинвертирующий вход, подайте переменное напряжение малой амплитуды на инвертирующий вход и измерьте усиление при разомкнутой цепи обратной связи в зависимости от частоты входного сигнала. Запишите данные в таблицу, а затем пост- ройте график зависимости усиления (в дБ) от частоты в логарифми- ческом масштабе. Рис. 3.12 741 4. Определите полосу пропускания операционного усилителя при ра- зомкнутой цепи обратной связи. 5. Соберите схему простого инвертирующего усилителя с коэффици- ентом усиления, равным 100. Проверьте входное напряжение сме- щения и подсоедините схему компенсации входного напряжения сме- щения для его устранения. 6. Измерьте напряжение на инвертирующем входе усилителя и проком- ментируйте результат.
3.1. Передаточная функция 265 7. Снимите амплитудно-частотную характеристику усилителя. Опре- делите полосу пропускания усилителя. 8. Измерьте входное сопротивление микросхемы 741 путем преобра- зования схемы в неинвертирующий усилитель с коэффициентом усиления 50. 9. Измерьте выходное сопротивление усилителя путем подсоединения резистора 100 Ом между выходом усилителя и землей и нахожде- ния разницы напряжений на нагруженном и ненагруженном выхо- де усилителя. 10. Преобразуйте схему до коэффициента усиления, равного 10, и по- вторите измерения амплитудно-частотной характеристики, а также входного и выходного сопротивления. Сравните полученные значе- ния с предыдущими и поясните результат. Установка нулевого напряжения смещения Заземлите вход Vin. Подстраивайте потенциометр, наблюдая значение вы- ходного напряжения Vout на осциллографе. Необходимо, чтобы диапазон отображаемого напряжения составлял несколько вольт с каждой стороны от 0. Добейтесь вращением потенциометра нулевого выходного напряже- ния. Для снижения высокочастотных помех на усилителе 741 можно под- ключить конденсаторы емкостью 1 мкФ между каждым выводом питания и землей.
Обработка сигналов_________________________________________ 266 И. Соберите схему дифференциального усилителя с коэффициентом усиления 40. 12. Снимите амплитудно-частотную характеристику усилителя и оп- ределите полосу пропускания. 13. Измерив коэффициент усиления дифференциального сигнала, раз- работайте метод измерения коэффициента усиления синфазного сигнала и затем определите коэффициент подавления синфазного сигнала. 14. Измерьте входное сопротивление по каждому входу усилителя и прокомментируйте результат. Рис. 3.15. Дифференциальный усилитель
3.2 Активные фильтры 3.2.1. Фильтры Пассивные фильтры-схемы RLC фильтров Фильтр 1-го порядка (для математического описания данного фильтра используется дифференциальное уравнение 1-го порядка). R Vout АЛЛ/-----------• С 4= Рис. 3.16 Два фильтра 1-го порядка, включенных последовательно, образуют фильтр 2-го порядка: . Наклон 40 дБ/декаду "X (без нагрузки) -------------------- со Входной импеданс Z2 второго каскада равен выходному им- педансу Zy первого каскада. Для уменьшения искажения выбирается Я2» С2 «
Обработка сигналов 268 Активные фильтры — схемы с операционным усилителем Преимущества: • может содержать усиление • нагрузка не является боль- шой проблемой • возможность каскадирова- ния фильтров для получе- ния фильтров 2-го порядка • нет необходимости приме- нения катушек индуктив- ности (которые дороги, требуют больших токов, ге- нерируют обратные ЭДС) • настройка фильтров может производиться путем изменения номи- налов резисторов 3.2.2. Т-образные фильтры V,n R R •----ш-------------VA С Рис. 3.19 V in Z = R 1 + RCs При возрастании s = /'co ZT увеличивается (фильтр нижних частот) Передаточный импеданс зве- на определяется как отноше- ние напряжения, приложенно- го ко входу, к току, протекаю- щему через выходные зажимы, при заземленном выходе. V2 R VW Рис. 3.20
3.2 Активные фильтры Теперь V2 = IZ = 1-*- 1 + RCs 269 Аналогичный анализ для фильт- ра верхних частот дает С = I2R i = i2r1+RCs R Vin = IR +IZ = I(R + Z) При возрастании s, ZT уменьшается. R Рис. 3.21 = I rI + RCs^(r + _R_} R 1 + RCs J = I2R(l + RCs)fl +—11 I 1 + RCs I = R(1 + 7?Cs)| 1 + —1— |= ZT I2 V \ l + 7?Cs) ZT=R(2 + RCs) Передаточный импеданс Z -Vi" - 1 f1 + 2j?Cs 1 RCs ) Для Т-образных фильтров обыч- но приводятся таблицы с пере- даточными импедансами звень- ев со стандартными номиналами элементов, которые могут легко комбинироваться (в 5-области) для решения конкретной задачи. 3.2.3. Двойной Т-образный фильтр Настроенный режекторный фильтр V.n R1 АЛЛ/- Ri ЛЛЛл Vout С2 с2 r2 ^1 Передаточный импеданс находится при заземленном выходе Vout Рис. 3.22
Обработка сигналов 270 Рис. 3.23 Рис. 3.24 1 Центральная частота: КС Пусть С1 = 2С2 = С Rt = 2R2 = R Z-p Z| Z2 Zx = R}(2 + R^s) z 1 p + 2J?2C2s^ 2 C2s C2R2s j — = * + c s f ZT R^ + RiQs) 2 [l + 2/?2C25 r-----1-----+ CIR^ T’ [^(2 + G^s) 1 + 2C27?25 = 1 , s2c2R R(2 + CRs) 2(1 + CR 5/2)4 _ 1 s2C2R2 ~ R(2 + CRs) + 4R(2 + CRs) 4R(2 + sCR) 4 + s2C2R2 r 2 + sCR Передаточный 1 + s2C2 R2/4 импеданс
3.2 Активные фильтры 271 3.2.4. Активный интегратор/дифференциатор Интегратор Vin = iR _dQ„ dQ = ^-dt = ~CV„ut Vout RCJ Интегральное выражение во временной области ходе не хватает вре- мени для резкого возрастания напря- жения, т.е. усиление уменьшается с воз- растанием частоты. де крутизна сигнала на входе возрастает, и как следствие ве- личина сигнала на выходе возра- стает, т.е. усиление возрастает при возрастании частоты. -V , dV dV v out _ (j v in . pr _ v in R ~ dt ’ out~ dt Дифференциальное выражение во временной области
Обработка сигналов 272 3.2.5. Передаточная функция интегратора Ток / протекает по направлению к Vout, поэтому отрицательный. = 0 —, так как I = —, то Риа RCjcn R ___1_ vin RCj® Передаточная функция в частотной области (со-области) Теперь s = jco К« =1 Vin Передаточная функция в общем виде Полное сопротивление обрат - поэтому Vout RCjay ___1_ RCs = ——-v RCs m но J dt = - = ——\Vindt RC1 Передаточная функция в s-области нои связи Cj(£) и полное входное сопротивле- ние Z, = R, Vout _ Поэтому Т7-- vin Это передаточная функция в общем виде, которая спра- ведлива для схемы фильтра с элементами обратной связи. V v out т 1
3.2 Активные фильтры 273 3.2.6. Активный фильтр нижних частот Схема активного интегратора может быть изменена для работы в каче- стве фильтра нижних частот. Без сопротивления R2 на низких частотах усиление (Vout/Vin) становит- ся очень большим и на постоянном токе достигает значения усиления без обратной связи. Для устранения сдвига требуется ограничение уси- ления на низких частотах. Это и является функцией сопротивления R2. Ri 1 + R2Cs Vout _ Ri i Vin R{l + R2Cs i-i Передаточ- V - * у ная функция out j-j in RCs в s-области При нахождении модуля 11 выражения следует помнить, что s = /со. Для вычис- ления модуля необходимо возвести R2sC в квадрат, а затем извлечь квадрат- ный корень.
Обработка сигналов 274 Анализ в частотной области V , --------V м Rt \ + R2sC 1 у R\ \ + R2Cj(>i _ R2 1 — R2Cj(i> „ ~~ n r ,7 *in R\ l + [T?2Cco] л(нЙ|И 1 1 l + [T?2Cco]2 ' VQMr = Ri 1 Vin R, / 7X- [l + [/?2coC] j2 Передаточная функция в ю-области R2idC = 1 ___________________________________ Vin Rt V2 Следует отметить, что в сравнении с пассивным интегратором данная схема содержит элемент «усиле- ния», равного отношению R2/Ri. 3.2.7. Активный фильтр 2-го порядка R АМт Рис. 3.32
3.2 Активные фильтры 275 Фильтр нижних частот /, = /2 + Д + Л V- - Vv V», -V , V., - V , 71 “--> Ь - "у - ¥n4S’ *3 ~-------j----~¥out^2S> 14 ~-—----- C\s C2S Примечание: для отрицательных значений Vout ток /3 течет в направле- нии, показанном на рисунке, и поэтому положителен. V - Vv Укг-V , m N = VNCts + -VotUC2s + N out V Vxr V . Vxr f 2 A ( 1 A y = VNC1s + -V0W,C2s + ^-^ + ^ = VN + | +-vjc2s + l Hn - Vn (RC\S + 2) + -V0Ut (RC2s + 1) Vn - hR = R(~V0UtC2sy Vin - RC2s{RCxs + 2)(-V0Ut ) + (T?C2s + l) Vout ~1 Передаточная Vin C\C2s2R2 + 3C2Rs +1 функция Cl=-C; C2=-C b 3 Vout _ -1 _ -1 Vin C,C2s2R2 + 3C2Rs + l R2C2s2 + RCsb + l I Выполнение анализа данной схемы в частотной или временной области довольно затруднитель- но. Здесь мы получили передаточную функцию в s-области с небольшими затратами усилий. Vout Vin ^"\Ь < 2 b>2 b: коэффициент демпфирования b = 2 критическое демпфирование b > 2 сильное демпфирование b < 2 недостаточное демпфирование s Рис. 333
Обработка сигналов 276 Передаточная функция данной схемы легко находится в s-области при использовании результатов, ранее полученных для передаточного им- педанса Т-образного звена. Окончательная передаточная функция со- держит член s-2. Поскольку s является дифференциальным оператором, то s-1 может рассматриваться как интегральный оператор. В данном слу- чае в выражение входит s-2, что означает, что в данной схеме интегриро- вание происходит дважды — двойной интегратор.
3.2 Активные фильтры 277 3.2.9. Полосовой фильтр — узкополосный Активный фильтр с двойным Т-образным звеном в цепи обратной связи. Рис. 335 Vin R, •-----VW Сопротивление R2пре- пятствует возникнове- нию нестабильности при открытой цепи обратной связи на центральной частоте со0. При использовании двойного Т-образного фильтра в цепи обратной свя- зи полное сопротивление ZT велико на центральной частоте со0, и в этом случае усиление активной схемы с операционным усилителем макси- мально. На других частотах полное сопротивление ZT мало, и поэтому усиление всей схемы минималь- но. Данная схема представляет собой полосовой фильтр со сле- дующей характеристикой: Если двойной Т-образный фильтр поместить на вход такой схемы, то получится режектор- ный фильтр, препятствующий прохождению сигналов опреде- ленной частоты.
Обработка сигналов 278 3.2.10. Передаточная функция интегратора —— = -RCjid Передаточная функция со-области Кп s = j(d '^- = -RCj(sy Vin = -RCs Передаточная функция s-области d S = — dt dV Vout = -RC-^~ dt Полное сопротивление обратной связи Zj -R 1 полное входное сопротивление Zz =---- усоС Zf поэтому = RCjw V Zf Передаточная = —--- функция в общем ^in ВИДО
3.2 Активные фильтры 279 3.2.11. Активный фильтр верхних частот В активном дифференциаторе при возрастании частоты выходное на- пряжение увеличивается, в идеальном случае, без ограничений (в дей- ствительности ограничено напряжением питания V+ и V-). Это неже- лательно, поскольку высокочастотный шум будет также значительно усилен. Решение состоит в том, чтобы ввести частоту среза. Такая схема работает как фильтр верхних частот. Z. । С Rt । z, ।-------1 — i R2 i Puc. 338 Положим S = JCO Zf=R2 Z=R+-X i = R + — = R +— Когда s мало> To vout ~ RzCsVi,, 1 1 cJ 1 Q(o ' Cs Когда s велико, to Vour = R21 RxVin — Дифференциатор Vqu. Vin Рис. 339 Если умножить и разделить числитель на то мы полу- чим: Vout _ ^2 R[SC Vin ~ Ri R}sC + l Положив |/?tsC|=l, получим точку «-3 дБ». В данном слу- чае, по сравнению с пассив- ным дифференциатором, присутствует элемент «уси- ления»
Обработка сигналов 280 3.2.12. Фильтр верхних частот — со-область r2 VW vout у. 1 + RfSC m V,„ C R, RiCj^ —||—vw l + ^Qco 0 + 7?2Qco l-RtCajy l + ^Qco l-^Cco; in (0 + 7?2Qco)(1-/?1C(oj) z x 7 l + (/?,Qco)2 (O + ^Coy^l-.R.Cco;)!2 14-(/SjCCQz)2 1 /?! (1 + 1)2 ^out _^2 1 vin " R} V2 Vout Vin (~R2R£2tf^ + (R2C®)2 (l + (7?,coC)2)2 О Ъ _ C2&(RlR*C2tf+Rl) ъ _ $c¥(w+i) R2 RtCa> /6 + //?.тП21 Примечание: анализ в s-об- ласти выполняется гораздо про- ще; он позволяет без труда выя- вить основные характеристики схемы. Точную форму амплитуд- но-частотной характеристики схемы тем не менее можно най- Передаточная функция в со-области ти из анализа в со-области.
3.2 Активные фильтры 281 3.2.13. Полосовой фильтр — широкополосный Когда 5 мало, то Volit ~ R2C\sVin Интегратор (фильтр верхних частот) Когда5велико, то Vout R\C2sVin < Дифференциатор (фильтр нижних частот)
Обработка сигналов 282 3.2.14. Усиление по напряжению и дБ Усиление схемы по напряжению находится из передаточной функции: л = = ° Vin А и может быть выражено как отношение (например, Av = 100). Тем не менее усиление схемы может изменяться в пределах нескольких поряд- ков, в зависимости от частоты входного сигнала. Для уменьшения диа- пазона возможных значений усиления зачастую более удобно выражать усиление в логарифмическом масштабе. В данном масштабе усиление выражается в «децибелах» (обычно усиления мощности). ( у V flB = 101og = 20 log Возведение в квадрат производится потому, что логарифмический масштаб отражает усиление мощности схемы, а напряжение и мощность свя- заны соотношением: 3.2.15. Вопросы для повторения 1. Рассмотрим схему фильтра: Vin R V{ •------Ш-------------• С Рис. 3.44
3.2 Активные фильтры 283 (а) Определите передаточную функцию схемы (подсказка: составьте дифференциальное уравнение, связывающее входное и выход- ное напряжения, в зависимости от времени). (Ь) При каких условиях данная схема может быть использована в качестве аналогового интегратора? 2. Определите передаточный импеданс в 5-области для Т-образного фильтра, представленного ниже. С Рис. 3.45 3. (а) Опишите работу схемы аналогового дифференциатора. (Ь) Приведенная схема дифференциатора восприимчива к высоко- частотному шуму. Объясните, почему так происходит. (с) Измените схему для устранения высокочастотного шума и оп- ределите передаточную функцию измененной схемы. (d) Опишите в общих чертах передаточные функции исходной и из- мененной схем и опишите их особенности.
Обработка сигналов 284 4. Рассмотрим модифицированную схему интегратора: (а) Каково назначение резистора обратной связи Т?2? (Ь) Выведите выражение передаточной функции схемы интеграто- ра в 5-области. (с) Определите значение резисторов и конденсаторов схемы, выпол- няющей интегрирование сигналов на частотах свыше 50 Гц. 3.2.16. Упражнения 1. Соберите фильтры нижних частот 1-го и 2-го порядка, как показано на схеме ниже. Выберите номиналы компонентов для получения ча- стоты среза в несколько килогерц. 2. Используя синусоидальный входной сигнал, измерьте амплитудно- частотную характеристику схем фильтров и постройте график пере- даточной функции для каждого фильтра. Сравните точки «-3 дБ» и наклон характеристики для каждого фильтра. 3. Используя входной сигнал прямоугольной формы, определите пе- реходную функцию для каждого фильтра. Сравните реакции на сту- пенчатое воздействие двух фильтров. 4. Для фильтра второго порядка изменяйте значение параметра b и выявите его влияние на переходную функцию схемы.
3.2 Активные фильтры 285 R2C2s2 +RCsb + l Рис. 3.49 5. Разработайте двойной Т-образный полосовой фильтр с центральной частотой со0 = 1000 Гц. 6. Соберите двойную Т-образную схему и измерьте ее передаточную характеристику Постройте график передаточной функции. 7. Соберите полосовой фильтр, используя двойную Т-образную схему. При необходимости для достижения стабильности установите R2.
Обработка сигналов 286 8. Постройте график передаточной функции этого фильтра и проком- ментируйте его. 9. Определите теоретическую передаточную функцию данной схемы и сравните ее с реально измеренной. 10. Определите переходную функцию этого фильтра и прокомменти- руйте результат. Рис. 3.51
3.3. Инструментальный усилитель 3.3.1. Дифференциальный усилитель К = о у1 = /1я1 + /1я2 + V2 = ^2^1 ^2^2 ^=/^+^ + /2^2 = + /2^2 ЛЛЛг r2 Примечание: инвертиру- ющий вход операционного усилителя в данной схеме не является мнимой землей (О В). Внутреннее входное сопротивление операцион- ного усилителя составляет несколько Мом, но посколь- ку входной ток смещения имеет порядок нА, то можно считать Vs = 0, и поэтому на- пряжение на инвертирую- щем входе равно /2Н2. Из выражения (1) Vi = /]7?! + IXR2 + Vout V\-Vout=I\R\+I\R2 J ^-Vout 1 7?, + R2 подставляем в выражение (3) Vi = ItR + I2R2 = ~Vout} R, + —— R2 2 Rx+R2 r}+r2 Vi(R]+R2) = (Vl-V0U[)Rl+V2R2 V]Rl + V2R2=ViRi-VoutRi+V2R2 ViR2=V2R2-V0UtRi (V1-V2)/?2=-VOBt/?1 -Kw=^(v,-v2) R\ A _ -Vout _ ^2 усиление дифферен- d Vx-V2 Rx циального сигнала из выражения (2) V2=I2Rx+I2R2=I2 (Rx^R2) Rt+R2
Обработка сигналов 288 Таким образом, входное сопротивление инвертирующего входа несба- лансированно по отношению к неинвертирующему входу Если зазем- лен вход схемы то входное сопротивление Rin по входу V2 составит 7?! + Т?2. Если заземлен вход V2, то сопротивление по входу будет рав- но 7?t (поэтому при заземленном V2 инвертирующий вход является вир- туальной землей). Это может вызвать проблемы из-за неуравновешен- ной нагрузки источника сигнала. Для того чтобы обойти это, мы можем разработать входной каскад, используя повторитель напряжения. 3-3-2- КОСС Коэффициент ослабления синфазного сигнала (КОСС) — это отноше- ние коэффициента усиления дифференциального сигнала к коэффици- енту усиления синфазного сигнала. Усиление синфазного сигнала на- ходится при = V2. CMRR = ^- = 20 logl0 Более общее выражение для усиления дифференциального сигнала: Небольшие изменения в величинах Т7 _ Т?4 ( 7?! + Т?2 Т?2 т/ резисторов схемы могут повлиять ~^out ~ 7?| 7? +7? j 2 тГ на коэффициент усиления синфазного ' ' сигнала. При синфазном сигнале на входе = V2, поэтому: ~vout _ ^4 R\ + Rz R^ Vin R\ ^R} + R4 J R\ Теперь рас- смотрим схе- му, в которую включены на- пряжения ис- точника и его выходные со- противления:
3.3. Инструментальный усилитель 289 VSI = Ii(Rs + R^ Т7 S 1 ^+^1 ^52 “ ^2 (^5 + + Я4 ) У2=/2(Д3+Д4) v J7?3+7?4)V52 RS + ^3 + ^4 / JR{ + R2)VS2 / Rs + R{ + R2 Теперь, даже если входные напряжения V51=VS2 и резисторы ^абсолютно идентич- ны, то Vi все равно отличается от V2 из-за разницы входных сопротивлений, что про- является в наличии некоторого синфазно- го сигнала. Разница напряжений и V2 уменьшается при снижении сопротивления Rs. При Rs =0 напряжения Vi=V2=Vs, уси- ление синфазного сигнала равно 0. Для до- стижения наибольшего коэффициента уси- ления синфазного сигнала источник сигна- ла должен иметь низкоомный выход — как, например, у повторителя напряжения. 3.3.3. Дифференциальный усилитель с входными повторителями напряжения Повторители напряжения с единичным усилением: высокий входной импеданс, низкоомный выход. = &тм (1 + |Р| Л) ) Л-ю5 10- 1182
Обработка сигналов 290 Для источника сигнала будет нагрузкой только высокий импеданс вход- ного каскада — этим достигается максимальная передача полезного сиг- нала Vs и исключается неравномерность нагрузки источника сигнала. На сам усилитель поступает сигнал источника (входного каскада) с ма- лым выходным сопротивлением — выходное сопротивление операци- онного усилителя Rout очень низкое (около 75 Ом). Улучшается КОСС. Эффект от импеданса источника гораздо более значителен в КОСС, чем от несовпадения номиналов резисторов. 3.3.4. Дифференциальный усилитель с перекрестными обратными связями входных каскадов Примечание: входной каскад не явля- ется дифференциальным усилителем. —• 01 Разница выходных напряжений равна раз- нице входных напряжений, помноженной на усиление. Синфазный сигнал проходит Ra через схему без усиления. Только диффе- ренциальный усилитель в совокупности TS. ослабляет синфазный сигнал. R Резисторы обратной связи Ra и Rb Rb предназначены для поддержания v равного потенциала на инвертиру- *02 —• ющем и неинвертирующем входах операционного усилителя, по- скольку на выводах R фактически присутствуют напряжения и V2. Теперь, Vx-V2 = IR Vol-Vx=IRa V2-Vo2 = IRb
3.3. Инструментальный усилитель 291 R vol_v+v2_vo2=KJi(/?a+/?i) К Vox - Vo2 = ^^(Ra + Rb ) + (V. - v2 ) TV Это усиление входного каскада. — Таким образом, усиление входного каскада может быть изменено путем подстройки всего одного резистора. Ь Л _ + Я/, +Я) Л= R Усиление каскада увеличивает- ся с уменьшением R. При очень больших значениях R коэффици- ент усиления приближается к 1. 3.3.5. КОСС усилителя с перекрестными обратными связями Если входной сигнал содержит синфаз- ную составляющую напряжения Vcm (например, Vt = 5 В, V2 = 3 В — это озна- чает, что = 3 В и Vt - V2 = 2 В), то: V, 10*
Обработка сигналов 292 Поскольку синфазный сигнал не усиливается, то у0 = + У°2 уист тогда - (К. +К2)/2 _ Уо| + Уо2 (H+V2)/2 Vi+V2 но У{-У2 =IR V.- У, v01=n?e=H=^y^+H и +v, И Vo2=V2-IRb=V2-^-+Rb к Если Ra = Rb V,-V> V,-V> TO V01 +Vo2 =-^Ra +V1 +V2--^Ra + V2 Следовательно, Acm = 1 Коэффициент ослабления синфазного сигнала КОСС = А{/Аст, но Аст = 1, поэтому КОСС = Д. Но Ai является коэффициентом усиления входного каскада, который изменяется посредством R. Это означает, что КОСС можно изменять. Для наибольшего значения КОСС требуется большое значение усиле- ния Ai (а следовательно, малая величина сопротивления R). 3.3.6. Инструментальный усилитель Инструментальный усилитель характеризуется высоким усилением и высоким значением КОСС.
3.3. Инструментальный усилитель 293 • Оба входа имеют высокий входной импеданс. • Коэффициент усиления легко изменяется с помощью сопротивле- ния R. • Для устранения какого-либо усиления синфазного сигнала подго- няется сопротивление резистора Rr на входе оконечного дифферен- циального усилителя. Передаточная характеристика входного каскада определяется выраже- нием: Vol-V„2=^-^(Ra+Rb+R) /V Коэффициент усиления диффе- ренциального усилителя: Ad = * Обычно необходимый коэффициент усиления достигается за счет входно- го каскада, а составляющая Ad = R2/Ri отбрасывается. Дифференциальный усилитель разрабатывается с коэффи- циентом усиления Ad, равным 1, и его назначение состоит в исключении син- фазной составляющей сигнала. Общее усиление дифференциального сигнала всей схемой будет равно произведению двух составляющих: Av=-^^-(Ra+Rb+R)^- К R \ Ri + Ra+R)—, полагая Ra= Rb, получим R\ -V!( 3.3.7. Логарифмический усилитель В логарифмическом усилителе в цепи обратной связи включен элемент с нелинейной характеристикой. На практике это может быть диод, но транзистор, включенный как диод, имеет характеристику, более прибли- женную к экспоненте. Экспоненциальная характеристика прямо сме- щенного диода дает снижение по логарифмическому закону коэффи- циента усиления схемы при возрастании входного сигнала.
Обработка сигналов 294 Потенциал коллектора транзистора цепи обратной связи О В (вирту- альная земля), а база транзистора также находится около потенциала земли (О В). При фактически замкнутых коллекторе и базе транзистор работает как диод через рт-переход база - эмиттер. Vin=IRx Примечание: I = IQeeV^kT е/кТ- 40 при Т = 300К — eeyoutiRi ^14) V eV + Т v in _ ° ¥Ollt kT Передаточная функция V = — In^in out e RJ0 Vout «^^=0.026111(^0) Этот усилитель обладает высоким усилением слабых сигналов (при низком входном напряжении Vin) и логарифмически убывающим усилением для сигналов с возрас- тающей амплитудой. Вольт-амперная характеристи- ка диода в области прямых на- пряжений описывается выраже- нием: I~IoeeV/kT, где 10 — ток утечки обратно сме- щенного диода. Примечание: данная аппрок- симация справедлива для пря- мых напряжений, при которых протекающий ток /» /о. Поэтому приведенная здесь передаточ- ная функция требует положи- тельных значений Vin — так, что- бы рл-переход был всегда в об- ласти прямых токов.
3-3. Инструментальный усилитель 295 3.3.8. Амплитудно-частотная характеристика операционного усилителя До сих пор мы полагали, что операционный усилитель (ОУ) обладает бесконечной полосой пропускания и что полоса пропускания конкрет- ной схемы зависит только от параметров внешних пассивных элемен- тов схемы (резисторов и конденсаторов). На практике существует огра- ничение усиления ОУ при разомкнутой обратной связи, которое и оп- ределяет предельную частоту прохождения сигналов. Рис. 359 Верхний предел частоты существует из-за наличия емкостей в самой ИС ОУ, которые введены в нее преднамеренно для увеличения стабиль- ности при работе ОУ с обратной связью. Полоса пропускания схемы ОУ с обратной связью увеличивается при уменьшении коэффициента усиления (при возрастании глубины обрат- ной связи). Для ИС 741 произведение (усиление х полоса пропускания) является практически константой и равно 1 МГц; спад частотной характеристи- ки составляет 25 дБ/декаду.
Обработка сигналов 296 3.3.9. Вопросы для повторения 1. Представленный дифференциальный усилитель имеет коэффициент усиления, равный 10, и КОСС 60 дБ. (а) Какими недостатками обладает эта схема при работе в качестве измерительного усилителя? (Ь) Разработайте входной каскад с перекрестными связями для этого усилителя, который бы обеспечивал общее усиление 100. Рас- считайте новое значение КОСС. (с) Рассчитайте значение выходного сигнала модифицированного усилителя, если на вход усилителя подается дифференциальный сигнал 50 мВ и синфазный сигнал помехи 20 мВ. 2. Логарифмический усилитель содержит в цепи обратной связи диод, обратный ток утечки 10 которого составляет 200 нА. Вольт-амперная характеристика диода I~IQeeV/kT, где e/kT ~ 40 при температуре Т = 300 К. Максимальный прямой ток диода 50 мА. В приведенной ниже схеме логарифмического усили- теля рассчитайте значение сопротивления Rx для получения выход- ного напряжения 0,5 В при входном 20 В.
3.3. Инструментальный усилитель 297 3. Для измерения температуры используется термопара хромель-алю- мель (ТХА). На выходе термопары образуется разность потенциа- лов, величина которой зависит от разницы температур между горя- чим и холодным спаями. Напряжение составляет несколько милли- вольт. Цифровой дисплей получает информацию от АЦП и отобра- жает температуру в °C. АЦП преобразует входной аналоговый сиг- нал от 0 до 10 В в 8-разрядное цифровое значение. Максимальная измеряемая температура 1000 °C. (а) Разработайте инструментальный усилитель, который преобра- зует выходной сигнал термопары к уровню, необходимому для использования полного входного диапазона АЦП (10 В). (Ь) Определите разрешающую способность (в °C) измерительной системы. 4. При каких условиях лучше использовать дифференциальный уси- литель вместо усилителя с несимметричным входом?
Обработка сигналов 298 3.3.10. Упражнения Инструментальный усилитель 1. Соберите простой дифференциальный усилитель и измерьте коэф- фициент усиления дифференциального сигнала и КОСС при работе от источника сигнала, имеющего высокое внутреннее сопротивление (может потребоваться подсоединить последовательно к источнику сигнала высокоомное сопротивление). Прокомментируйте результат. 2. Добавьте на каждый вход усилителя повторитель напряжения с еди- ничным усилением и измерьте коэффициент усиления и КОСС всей схемы. Сравните полученные результаты с предыдущими и поясни- те их. (Примечание: для реализации повторителей напряжения луч- ше использовать другой ОУ, например LM308N.) Дифференциальный усилитель V1 2 Ri ЛЛЛг V2 r2 Vout R3- R1 r4=r Рис. 3.63 Перечень элементов: 2 операционных усилителя LM308N 1 операционный усилитель 741 2 конденсатора 100 пФ Резисторы: 2 х 2,2 кОм; 1 х 56 Ом; 2 х 470 Ом; 2x4,7 кОм.
3.3. Инструментальный усилитель 299 3. Разработайте и соберите входной каскад с перекрестными связями для дифференциального усилителя, но пока не подключайте к уси- лителю. Входной каскад должен иметь коэффициент усиления око- ло 100. 4. Измерьте усиление входного каскада для различных значений R. 5. Измерьте усиление входным каскадом синфазного сигнала и пояс- ните результат. 6. Соедините входной каскад с дифференциальным усилителем и из- мерьте усиление всей схемы, коэффициент ослабления синфазного сигнала и определите полосу пропускания схемы. Поясните резуль- тат. 7. Предложите, как должно быть распределено усиление по двум кас- кадам для оптимального режима работы. 8. Подсоедините выход схемы преобразователя сигнала термопары, взятой из главы 1 этой книги, ко входу инструментального усилите- ля. Затем подсоедините выход инструментального усилителя к ана- логовому входу системы сбора данных из 2-й главы этой книги. Входной каскад с перекрестными связями Для ИС LM308N добавьте емкость 100 пФ между выводом 8 и землей. Рис. 3.66
Обработка сигналов 300 Инструментальный усилитель Рис. 3.67 Логарифмический усилитель Принципиальной проблемой логарифмических усилителей является дрейф, вызванный наличием тока смещения операционного усилителя. Для уменьшения ошибки обычно используют операционные усилите- ли, входной каскад которых выполнен на полевых транзисторах. В схе- ме, представленной ниже, используется операционный усилитель LF356 с полевыми транзисторами на входе. Ток смещения грубо компенсируется резистором Rx (на инвертирую- щем входе) сопротивлением 100 кОм. Для стабилизации схемы от воз- никновения колебаний на высоких частотах параллельно транзистору включается емкость 0,01 мкФ. Резистор большого номинала (20 МОм) необходим для уменьшения смещения выхода. Для установки нулевого напряжения смещения необходим многообо- ротный подстроечный резистор, поскольку регулировочное напряже- ние может изменяться в большом диапазоне.
3.3. Инструментальный усилитель 1. На операционном усилителе соберите схему инвертирующего уси- лителя с коэффициентом усиления 100 (т.е. не используйте пока транзистор в цепи обратной связи). При нулевом напряжении на входе (Vin =0) установите нулевое смещение на выходе ОУ. 2. Теперь включите в цепь обратной связи транзистор и стабилизиру- ющие элементы, как показано выше. 3. Изменяйте входное напряжение Vin в широких пределах для получе- ния начального представления о том, что схема работает. Выходное напряжение Vout не должно сильно изменяться (благодаря тому, что это логарифмический усилитель). 4. После того как убедитесь, что схема работает, изменяйте входное напряжение Vin в пределах от 90 В вниз до 10"3 В, фиксируя выход- ное напряжение примерно в четырех точках в пределах каждой де- кады. 5. Постройте график усиления схемы: по вертикальной оси располо- жите выходное напряжение Vout, а по горизонтальной Virl в логариф- мическом масштабе.
Обработка сигналов_______________________________________ 302 6. Оцените величины для передаточной функции, исходя из получен- ных экспериментальных данных, и сравните их с расчетными значе- ниями. 7. Если позволяет время, попробуйте изготовить логарифмический усилитель на базе ОУ 741 и запишите ваши результаты. Рис. 3.69
3.4. Шумы Например, сопротивление 10 кОм при температуре 300 К в полосе частот 10 кГц имеет среднеквад- ратическое значение напряжения шумов 1,3 мкВ. 3.4.1. Собственный шум Тепловой шум (шум Джонсона или Найквиста*) Среднеквадратическое значение напряжения теплового шума K^=[4^W]t гДе k — постоянная Больцмана 1,38 х 10"23 Дж/К, Т — абсолютная температура (в градусах Кельвина), R — сопротивление, Ом, Д/ — полоса частот, Гц. Мощность теплового шума V2 К2 = 4kTR\f- Р = — = 4kT\f R Мощность теплового шума пропорциональна температуре Т и полосе ча- стот ДЛ Тепловой шум и дробовый шум имеют место на всех частотах и называ- ются белым шумом. Шум может быть уменьшен за счет уменьшения величины любого члена выражения, т. е. за счет уменьшения темпера- туры, сопротивления или полосы частот. Строго говоря, белый шум — это шум, который имеет равномерное рас- пределение и постоянную плотность мощности во всем диапазоне частот. Дробовый шум Дробовый шум связан со случайным распределением заряда, проходя- щего через потенциальный барьер. • термоионная эмиссия • контактные потенциалы Джонсон выполнял эксперимент, а выражение для теплового шума вывел Найквист.
Обработка сигналов 304 Ток, вызванный шумовыми эффектами ft = 2els\f, где Мощность шумов е — заряд электрона 1,6 х 10"19 Кл, Рп = fiR = 2\feinR, где Is величина постоянного тока, A, _сопротивление in — шумовой ток, А А/ — полоса частот, Гц. Примечание: вообще шум возрастает с увеличением полосы частот. Шум возникает из-за случайных флуктуаций, которые могут вносить су- щественный вклад в частотные компоненты всего сигнала. Фликкер-шум Этот тип шумов возрастает с уменьшением частоты и иногда называет- ся шумом 1 //. По этой причине чувствительные к шумам измерения не должны производиться на постоянном токе. Точное происхождение фликкер-шума до конца не выяснено. Фликкер-шум становится несу- щественным по сравнению с другими шумами на частотах свыше 1 кГц. 3.4.2. Окружающий шум Виды окружающих шумов Этот тип шума возникает от источников вне измерительной системы. Окружающий шум часто называется помехами. Помехи могут иметь механическую природу (от механических вибраций) или электричес- кую. Основными помехами являются кондуктивные электромагнитные помехи (Electromagnetic interference — EMI). Такого рода шум может возникать от: • Излучения при резких скачках тока, возникающих при включении или отключении нагрузок большой мощности. • Излучения схем переменного тока, таких, как силовые линии пита- ния, выпрямители и т.д. • Молний. Шум от указанных источников обычно возникает на нижних частотах. Но шум может также возникать и на радиочастотах (radio frequencies — RFf Источниками радиочастотного шума могут быть:
3.4. Шумы 305 • Передатчики (двусторонние радиопередатчики, сотовые телефоны, радары и т.д.). • Любые электронные устройства, работающие на высоких частотах. Еще одним источником шума, а также повреждения схем является элек- тростатический разряд. Электрический разряд особенно вероятен при сухой погоде и зависит от материалов самого оборудования и окружаю- щей обстановки. Снижение окружающего шума Самым лучшим методом снижения шумовых эффектов является умень- шение шума в самом источнике шума. Иногда это невозможно, поэтому следующим эффективным методом является попытка отвести шумовой сигнал на землю путем применения фильтров на входе преобразователя. Если этого недостаточно, то общей рекомендацией по снижению помех может служить продуманное размещение в пространстве чувствитель- ных к помехам компонент. Основной вклад в шумовую составляющую полезного сигнала вносит первый каскад усиления. По этой причине пре- дусилитель должен располагаться как можно ближе к преобразователю. Предусилителем должен быть дифференциальный усилитель с большим коэффициентом подавления синфазных помех (common mode rejection ratio — CMRR). Сигнальные провода от предусилителя до основного уси- лителя мощности должны быть экранированными и по возможности уда- лены от трансформаторов, механических переключателей и других ис- точников помех. Все экраны должны быть заземлены в общей точке для исключения возникновения паразитных земляных контуров. 3.4.3. Соотношение сигнал/шум Относительная величина шумов обычно указывается соотношением сигнал/шум (signal-to-noise ratio), выражаемым в дБ. 11 - 1182
Обработка сигналов 306 Соотношение сигнал/шум — это отношение мощности полезного сиг- нала к мощности шумов. SNR = — Рп Чем выше величина SNR, тем лучше. SNRdb = 101og10|- Мощность пропорциональна Р (или V2), поэтому: 5A^=201og10 Yl Vn ’ где Vs и Vn — среднеквадратические значения напряжения полезного сиг- нала и шума соответственно. Шум всегда присутствует в исходном сигнале и может быть усилен, а также к нему может быть добавлен шум самого инструментального уси- лителя. Снижение величины SNR от входа к выходу усилителя называ- ется «шум-фактором» (noise figure — NF). Шум-фактор ниже пример- но 3 дБ является хорошим. nf-SNRs f~snr0' где SNRs — соотношение сигнал/шум в исходном сигнале, SNR0 — тот же показатель на выходе усилителя. Шум в транзисторе (таком, как ВС 109 PNP BJT) возникает из-за теплового шума сопротивления самого полупроводникового матери- ала и дробового шума при прохождении заряда через ри-переходы транзистора. Фликкер-шум также присутствует и возникает из-за слу- чайной составляющей процесса диффузии носителей заряда. Флик- кер-шум, имеющий обратную зависимость от частоты, является основ- ным источником шумов в транзисторах на низких частотах (менее 1 кГц). В полевых транзисторах дробовый шум не так существен, пото- му как ри-переход является обратно смещенным и ток через него мини- мален.
3.4. Шумы 307 3.4.4. Оптические детекторы Рассмотрим факторы, влияющие на количество электронов г внутри оптического детектора: -П^где г — коэффициент воспроизводства электронов (электронов/с) Т| — квантовая эффективность (квантовый выход) h — постоянная Планка (6,63 х 10"34) v — частота, Гц Ps — мощность падающего луча или пучка Теперь результирующий ток сигнала Is выражается просто: т ePs Is=re = T\-±, где /zv е — заряд электрона. Ток шумов находится из выражения: /2=2ДМ=2А/е2^,где /ZV А/ — полоса частот. Таким образом, соотношение сигнал/шум составит: 2e2Ps2 hv Ps ________ Мощность шумов от «внутрен- wz? = п г 2п р ~ ~р~ них» источников в детекторе A2v2 Ps _ nfi P„ 2/zvA/ 2AvA/ .smin ,vc-' ограничено сигналом (пропорционально Af) Минимальный регистрируемый сигнал возможен при SNR = 1, т. е. ког- да ^smin ~ РП- Эта величина называется эквивалентной мощностью шума (Noise Equi- valent Power — NEP). 11
Обработка сигналов 308 Если мощность фонового излучения шумов Рь много больше мощности сигнала Ps, то сигнал ограничен фоном и соотношение сигнал/шум при- нимает следующий вид: SNR = — Рп r\Ps2 (Ps + Pb)2hvA.f nfi2 Pb2h\iNf' , где Pb — мощность шума фонового излучения, которая присутствует на де- текторе параллельно полезному сигналу \Pb2hvbf П Эквивалентная мощность шума Л/ЕРограничена фоном (пропорционально j&f ) 3.4.5. Синхронный усилитель Синхронный усилитель использует схему фазового детектирования, в которой амплитуда выходного сигнала пропорциональна амплитуде входного сигнала и пропорциональна косинусу фазового сдвига между входным и опорным сигналами — входной сигнал и опорный сигнал должны быть одной частоты. Для работы синхронного усилителя необходимо наличие опорного сиг- нала и периодический входной сигнал. Медленно меняющийся вход- ной сигнал, содержащий шум, может быть представлен периодическим, или повторяющимся при помощи модуляции. К примеру, входной сигнал может быть сравнительно медленно меняю- щимся сигналом постоянного тока (например, сигнал термопары). Путем модуляции сигнал постоянного тока конвертируется в сигнал прямоуголь- ной формы известной частоты (и с амплитудой входного сигнала). Фазовый детектор формирует выходной сигнал, который пропорцио- нален величине амплитуды входного сигнала (при входной частоте, рав- ной частоте опорного сигнала, что обеспечивается работой модулятора также от опорной частоты) и фаза опорного сигнала в котором совпада- ет с фазой сигнала.
3.4. Шумы 309 Дискриминированный Опорный сигнал Рис. 3.71 как тюнер для достижения макси- мального выходного сигнала. Шумы в сигнале отсеиваются, по- скольку через фазовый детектор проходят лишь те компоненты сиг- нала, которые имеют фазу, совпа- дающую с фазой опорного сигнала. 3.4.6. Корреляция Данный метод может быть осуществлен с помощью электронной схемы или с помощью вычислений над сохраненными данными. Интересую- щий сигнал должен быть периодическим. Существует два основных типа корреляции: • взаимная корреляция • автокорреляция Оба метода используют опорный сигнал. При автокорреляции в каче- стве опорного используется сам входной сигнал, сдвинутый по време- ни. В течение периода времени опорный сигнал задерживается на вре- мя т. Входной сигнал и задержанный опорный сигнал перемножаются между собой, а затем суммируются. Затем опорный сигнал вновь сдви- гается по времени, перемножается со входным сигналом и складывает- ся, и так далее, пока полный период не будет коррелирован. Математически коррелированный выход Vout задается выражением: 1 т Vout = тр J Vm , где 1 -т в случае автокорреляции Vref = Vin.
Обработка сигналов 310 Автокорреляция позволяет нам косвенно получить информацию о час- тотном составе сигнала, но не обязательно о форме этого компонента. Вза- имная корреляция дает информацию о форме обрабатываемого сигнала. Рис. 3.72 3.4.7. Вопросы для повторения 1. Вычислите среднеквадратическое значение напряжения шумов в частотном диапазоне 0- 1 кГц при температуре 27 °C на выводах ре- зистора, имеющего сопротивление 100 кОм. Также вычислите мощ- ность тепловых шумов этого резистора. Ответ: 0,04 мВ, 4,14 х 10~15 Вт 2. Преобразователь с внутренним сопротивлением 1 МОм является источником тока в 10 мкА для усилителя со входным сопротивлени- ем 10 МОм и полосой пропускания 10 кГц. Рассчитайте температу- ру, до которой следует охладить преобразователь, для достижения соотношения сигнал/шум SNR не менее 130 дБ. Ответ: -73 °C 3. Фотодиод выдает токовый сигнал в 100 нА при постоянном уровне освещенности. Каково среднеквадратическое значение тока дробо- вого шума диода в полосе частот 100 кГц? Ответ: 5,66 х 10"11 А 4. Полезный сигнал имеет частоту 300 Гц и формирует на выходе пре- образователя напряжение 100 мВ. На выходе также присутствует комбинация теплового и фликкер-шума, которая описывается вы- ражением:
3.4. Шумы 311 V(f) = а + й//В/Гц; а = 2,5 • IO”6; b = 4,0 • 10’3 В. О т в е т: 35 дБ Рассчитайте величину SNR на выходе преобразователя при фильт- рации выходного сигнала в полосе 250 - 350 Гц. 5. Для работы оптического детектора требуется значение SNR не менее 15 дБ. Эквивалентная мощность шума (NEP) ограничена фоном. (а) Рассчитайте соотношение мощностей Ps/Pn. Учитывая, что вы- ход детектора ограничен фоновым шумом, определите мини- мально детектируемую мощность в единицах NEP. (Ь) Найдите отношение минимально детектируемой мощности Psmin к фоновой мощности Рь при температуре 300 К и длине волны X = 8 мкм, если требуется получить разрешение ДТ = 0,05 °C. Psmin = ДР и равно разрешению детектора по мощности Из уравнения Планка. dt "tLt
3.5. Цифровая обработка сигналов 3.5.1. Цифровые фильтры Если произвести выборку из N отсчетов непрерывного сигнала y(t) че- рез равные промежутки времени At, то полученный оцифрованный сиг- нал будет включать в себя полезную информацию плюс шум, который мог содержаться в исходном сигнале. Назначение цифрового фильтра состоит в том, чтобы взять полученный при оцифровке массив данных, произвести математические операции над ним и получить другой массив данных, обладающий определенными заданными свойствами (такими, как, например, сниженный уровень шумов). Цифровые фильтры разделяются на две основные категории: с Беско- нечной Импульсной Характеристикой (БИХ) или с Конечной Импуль- сной Характеристикой (КИХ). Эти термины описывают характерис- тики фильтра во временной области при воздействии импульсного сиг- нала на входе фильтра. Импульсная характеристика h(i) Рис. 3.73 Обратная связь фильтра БИХ j фильтр КИХ фильтр БИХ к Обратная связь фильтра БИХ может устанавливать некоторое значение на входе фильтра, даже если внешний сигнал равен нулю. Выход фильтра никогда не устанавливается в ноль. Он может изменяться, колебаться и даже становиться нестабильным и увеличиваться до бесконечности. БИХ фильтры обычно обсчитываются более эффективно, чем КИХ.
3.5. Цифровая обработка сигналов 313 Разница двух типов фильтров состоит в том, что для КИХ фильтра вы- ходной сигнал затухает со временем до 0 при импульсном сигнале на входе. Выходной сигнал КИХ фильтра зависит от текущего и предыду- щего отсчета (фильтр не рекурсивный). В БИХ фильтре используется механизм обратной связи, поэтому выходной сигнал зависит как от пре- дыдущих выходных значений, так и от предыдущих и текущих входных отсчетов (т.е. является рекурсивным). Существуют два подхода к цифровой фильтрации. Можно производить определенные действия над самими данными, используя фильтрующий алгоритм с необходимой передаточной характеристикой. Другой под- ход — получение частотного спектра входного сигнала с помощью пре- образования Фурье, выборкой необходимых частотных компонент с последующим восстановлением сигнала из модифицированного спект- ра. В этом разделе мы более подробно остановимся на втором методе фильтрации. 3.5.2. Ряды Фурье Ряды Фурье дают представление об амплитудах и частотах гармони- ческих составляющих любого периодического сигнала f(t). Цля перио- дической функции с наибольшей длительностью периода То или основ- ной частотой со0 разложение в ряд Фурье записывается в следующем виде: f (t) = Aq + £ [An cos no^t + Bn sin na^t], n=l где амплитуды составляющих компонент А0,Ап и Вп рассчитываются по формулам: Постоянная составляющая или среднее значение f(t) Амплитуды составляющих частотных компонент лсо0
Обработка сигналов /(<) = t Спе^ П=-оо cn=^T\f(tyn^dt уо о 314 Используя формулу Эйлера, можно показать, что любая гармоничес- кая функция — синус или косинус — может быть представлена парой экспоненциальных функций: cos cot = sin - ~j “ ] При подстановке в ряд Фурье получаем: Примечание: Сп яв- ляется комплексным =-(Д-;В„) и>О числом, действительная 2 часть которого содержит 1 амплитуду косинусной = ~(Лг + jBn) П<® компоненты, а мнимая часть — синусной. График зависимости Сп от частоты является представлением спектра сигнала. Например, если функция f(t) = Acosco0t, то частотный спектр представлен парой линий высотой А/2, расположенных на частотах ±со0. Отрицательные частоты берутся из представления гармонического I сигнала парой экспоненциальных I функций. Здесь отсутствует посто- | со янная составляющая, поскольку со w° среднее значение функции равно 0. ю° Рис. 3.74 Рис. 3.75 График слева представляет амплитуды экспоненциальных компонент сигнала. Частотный спектр сигнала этой же функции будет представ- лен единственной линией высотой А на частоте со0 (рисунок справа). 3.5.3. Преобразование Фурье Непериодические функции можно рассматривать как функции с беско- нечным периодом, т. е. То —> и со0 —> 0. Частотные составляющие более не принимают дискретных значений, а составляют непрерывную беско- нечную последовательность. Теперь в случае периодической функции имеем:
3.5. Цифровая обработка сигналов 315 у0 о При То -> оо, Сп стремится к 0. Это означает, что амплитуда спектраль- ных линий становится исчезающе малой, поскольку спектральные ли- нии сливаются в континуум. Но интеграл конечен, поэтому произведе- ние СпТ0 может быть записано в виде: С„Т0 = J f(ty^dt Произведение лгсоо становится непрерывной величиной со, поэтому: СпТ0 = = или c„=^ = ^F(gj) -оо То 2я Теперь, если вернуться к периодической ~ функции и заменить лгсо0 непрерывной вели- / W = X чиной со, то мы получим: п~~™ °° 1 00 f(t)= £ = — j п=-~2я 0 Интеграл Фурье Функцию /(со) называют преобразованием Фурье функции f(t) и за- писывают как /[/’(01- Функция /(со) является непрерывной функцией аргумента со. На рисунке показано возможное наличие высокочастотного шу- ма в составе сигнала Функция f(t) является также результатом об- ратного преобразования Фурье функции: f(t) = F-1[F(co)]. Принимая во внимание непрерывную природу со, амплитуды частотных составляющих сигна- ла на конкретной частоте стремятся к нулю. В действительности функция /(со) является фун- кцией плотности по частоте: F(<o) = CnT0=Cn — СОо Поэтому более правильно будет говорить, что частотный спектр сигнала имеет амплитуду, ска- жем, 5 В на радиан на определенной частоте со.
Обработка сигналов 316 3.5.4. Квантование Если произвести выборку из непрерывного сигнала//(0 Лфаз через рав- ные промежутки времени At, то частота квантования (частота выбор- ки) составит cos = 2л/АЛ Оцифрованный сигнал имеет длительность То = N&t. Непериодическая последовательность квантов (отсчетов) конечной дли- ны N, взятая за время То, для выполнения анализа может быть представ- лена периодической с периодом То. Для периодического сигнала частот- ный спектр сигнала содержит линии, удаленные между собой на со0 = 2л/Т0, где со0 — основная частота сигнала. Поэтому можно сказать, что непрерывный частотный спектр неперио- дического сигнала может быть полностью представлен набором равно- удаленных частот с минимальным расстоянием Асо = 2 л/То рад/с. Для задач анализа можно допустить, что непериодический сигнал конеч- ной длительности является периодическим с периодом, равным длитель- ности сигнала. Частотные составляющие располагаются на равных ин- тервалах А 2л 2л cos Асо =— =-----= —7 То WAt Сколько частотных составляющих необходимо для представления дан- ных? Вообще-то спектр цифрового сигнала всегда периодический с оди- наковым набором частот, повторяющихся раз за разом с периодом по частоте 2л/АЛ Если производить выборку с интервалом Асо = 2it/Nkt, то общее число различных частот в одном периоде составит
3.5. Цифровая обработка сигналов 317 2л NAt _ AZ 2л Частотные компоненты, содержащиеся в выборке данных из N точек: k = ттт"= , гДе k — целое число от 0 до N- 1. NAt N Разрешающая способность по частоте Дсо составляет (tos/N. Чем больше число выборок N, тем больше разрешающая способность частотных элементов или полоса частот для представления исходного сигнала. 3.5.5. Дискретное преобразование Фурье В общем виде функция F(co) за- дается интегралом: F(w)= J fity^dt Данное выражение можно ап- проксимировать конечной суммой: f (®) = £ г/i (iA*)e'Xi4f)at, г=0 где N — количество отсчетов, взятых через равные проме- жутки времени, и - ве- личина отсчета, взятого в мо- мент времени г’ДЛ Но со в дан- ной формуле представляет со- бой непрерывную величину; тем не менее для конечного числа отсчетов: 2nk Быстрое преобразование Фурье БПФ (Fast Fourier transform FFT) Вычисление по методу дискретного преобразования Фурье ДПФ требу- ет выполнения порядка N2 операций умножения чисел с плавающей точ- кой и занимает много времени. Тем не менее большинство операций ум- ножения повторяются, изменяются лишь значения / и к. БПФ представ- ляет собой коллекцию подпрограмм, которые разработаны для уменьше- ния излишних вычислений. Каждый из различных способов реализации БПФ имеет свои особенности и пре- имущества. Большинство готовых компьютерных подпрограмм реали- зует тот или иной метод БПФ для на- хождения ДПФ серии отсчетов. Ис- пользуемый в некоторых языках про- граммирования алгоритм называет- ся алгоритмом «с раздельным осно- ванием» (split-radix algorithm) и тре- бует выполнения N 1од2Л/ операций.
Обработка сигналов 318 Более того, принимая во внимание, что функция F(co) в действительно- сти является функцией плотности по частоте, можно записать непос- редственно амплитудный спектр сигнала: = Е= C(k), i=0 где k — целое число от 0 до N- 1. При записи через функции синуса и косинуса получаем следующее вы- ражение: с(*)=£у,(«д*) г=0 2nik . . 2nik cos-----1 sin--- N J N Эта формула может быть легко обсчитана программ- ным путем. Все значения C(k) — комплексные числа, имеющие вид А - Bj. Полный массив из N комплексных чисел, составляющих серию, называется дис- кретным преобразованием Фурье — ДПФ {discrete Fourier transform — DFT). Величина C(k) является периодической с периодом 2я/ДЛ Если выполнять суммирование для k больших N - 1, то мы будем получать одинаковый набор частотных составляющих снова и снова. 3.5.6. Фильтрация Рассмотрим сигнал содержа- щий высокочастотный шум: У.п(О Рис. 3.78 Высокочастотный шум вызовет нарастание функции F[yin(t)] на высоких частотах. Если было бы Теперь рассмотрим передаточную функцию Н(со) = у Out/У in идеально- го фильтра нижних частот в со-об- ласти. Рис. 3.79
3.5. Цифровая обработка сигналов 319 возможно полностью отделить по- лезный сигнал ys от шумов уп, то преобразования Фурье F\y(t) ] для каждого сигнала имели бы при- близительно следующий вид: Рис. 3.80 Сигнал можно представить интег- ралом Фурье: Ут (0 = j Vin где Ц„(со) — преобразование Фу- рье в со-области. Если эту функцию Н(со) перемно- жить с преобразованием Фурье функции yinl то амплитуды всех частотных составляющих свыше со0 будут снижены до 0, устраняя таким образом (или, по крайней мере, уменьшая) «шумовую» вы- сокочастотную составляющую в составляющую сигнала. Рис. 3.81 Полученный ряд Фурье или ин- теграл описывает отфильтрован- ный сигнал, шумы в котором сни- жены. yout(0 Хорошая форма сигнала Рис. 3.83
Обработка сигналов 320 3.5.7. Цифровая фильтрация (ю-область) Для заданного входного сигнала отфильтрованный сигнала z/oat(£) находится из обратного преобразования Фурье произведения //(co)F(co). 2/oat(0 = ^ J H^F^^dm Л°>)= f yin(tyiwtdt Для массива дискретных отсчетов не- обходимо заменить непрерывную пе- ременную со на 2nk k N\t Н(со) = 1 СО<СОс = 0 со > сос Дискретное преобразование Фурье отсчетов z/z функции yin(t) имеет вид: = C(k), г=0 где k — целое число от 0 до У- 1. Обратное преобразование Фурье находится из следующих выражений: #,(гД£) = — J F((Ok)ejai&td(O= — YC(k)sj2nik/N N k=Q или комплексные числа г/,(гАг) = 1^С(^) W k=Q 2nik 4 . . 2nik cos----+ zsin----- N N Итак, отфильтрованная последовательность дается выражением: Уош = (k^2nik/N N k=0 Примечание: произведение Н(со)С(/с) содержит комплексные числа. Как было упомянуто выше, youf(/’) — это массив комплексных чисел, содер- жащих одновременно информацию об абсолютной величине и фазе. Аб- солютная величина (модуль) комплексного числа может быть найдена из- влечением квадратного корня из суммы квадратов действительной и мни- мой частей числа.
3.5. Цифровая обработка сигналов 321 Теперь, поскольку 2тг£ k =-----= — N\t N то передаточная функция фильтра может быть представлена функцией аргумента k/N, кото- рый изменяется от 0 до 1. Примечание: дискретное преобразование Фурье ДПФ и инверсное ДПФ позволяет обра- батывать комплексные сигналы (такие, как в схемах с переменным напряжением). Если данные выборки являются дей- ствительными числами, то мнимая составляющая в восстановленном сиг нале уменьшается до 0. 3.5.8. Свертка Передаточная функция фильтра Н в со- Н(со) или s-области в действительности являет- 1 ся преобразованием Фурье! Передаточная функция не показывает амплитуды со- ставляющих функций — синуса и косину- са конкретного сигнала, но показывает w величину соотношения yout/yin для филь- тра в зависимости от частоты. ?ис- 3-85 Для заданного входного сигнала yin(t) отфильтрованный сигнал yout(t) находится из интеграла Фурье следующего вида: 2/o«r(d= J yout(t) является обратным преобразова- нием Фурье произведения Н(со)Е(со). F(®) = -у= j yin (ty-jatdt Н (со) = 1 со < сос = 0 со>сос
Обработка сигналов 322 Если функции h(t) и yin(t) являются исходными функциями во времен- ной области, то можно сказать, что выходной сигнал yout(t) является сверткой этих двух функций. У<м (0= J F e^daa F yin(t)*h(t) = F((o)H(<o) свертка Свертка является специальным типом суперпозиции во временной области. Свертка — это взвешенная сумма про- изведения двух сигналов. Свертка экви- валентна произведению в частотной области. Цифровая фильтрация может быть вы- полнена как во временной области (ис- пользуя свертку), так и в частотной (ис- пользуя преобразование Фурье). Модуляция является еще одним типом суперпози- ции. Рассмотрим формулу: уЦ) = Де'юГ Частотная составляющая модулирована амплитуд- ной составляющей, которая может являться функцией времени. Это называется амплитудной модуляцией. Модуляция является произ- ведением двух функций во временной области. Произ- ведение во временной об- ласти эквивалентно сверт- ке в частотной области. 3.5.9. Дискретная свертка Для нахождения свертки функций y(i) и h(i) необходимо перемножить каждый импульс (отсчет) с импульсной передаточной функцией, сдви- нутой по времени до выравнивания с текущим импульсом. Затем все отклики суммируются между собой для получения конечного отфильт- рованного цифрового сигнала. Цифровой сигнал может быть представлен в виде суммы последователь- ности импульсов, каждый из которых сдвинут на время, равное интер- валу выборки.
3.5. Цифровая обработка сигналов 323 Представим импульсную характеристику h(i) некоего фильтра в следу- Рис. 3.86 i 0 0 0 2 1 -1 1 0 Цифровой сигнал есть сумма сдвинутых по вре- мени импульсов. В общем виде дискретная свертка между двумя массивами дискретных отсчетов г/г„(г) и h(i) имеет следующий вид: y0Ut(n)=Yyin(xyi(n-x'), х=О где п — целое число от 0 до (Ny + Nh- 1). Массивы нумеруются от 0 до N- 1 и содер- жат N элементов. 3.5.10. Цифровая фильтрация (t-область) При цифровой фильтрации часто используются методы фильтрации во временной области и им отдается предпочтение по сравнению с метода- ми в частотной области. Существует несколько способов аппроксима-
Обработка сигналов 324 ции требуемой идеальной передаточной функции фильтра. Передаточ- ные функции двух наиболее популярных фильтров нижних частот при- ведены на рисунке: Рис. 3.87 Передаточная функция фильтра нижних частот — это выражение (на- зываемое разностным уравнением), которое дает сглаженные значения уг в зависимости от входной последовательности г/г и различных взве- шенных комбинаций предшествующих и последующих значений у. Простое (не рекурсивное) разностное уравнение, выполняющее взве- шенное усреднение по пяти точкам, описывается выражением: А = <hVi + «1 (Ум + Ум) + «2 (уML + Ум) Импульсная характеристика конкретного разносного выражения на- ходится при установке г/г в 1 при i = 0, и = 0 при всех остальных значе- ниях i. Например: Уо =Ool + «i (0 + 0) + а2 (О + О) = <2о fa =аоО + а{ (0 + 1)+ «2 (0 + 0) = а, у2 =о00 + а|(0 + 0) + о2(0+1) = о3 Процедура нахождения формы разностного уравнения и значений ко- эффициентов для конкретного фильтра является задачей более полно- го курса цифровой обработки сигналов. Несмотря на это, мы рассмот- рим далее один простой пример. Для вычисления следующей суммы и получения отфильтрованных зна- чений yi может использоваться компьютерная программа.
3.5. Цифровая обработка сигналов 325 । N-\ М-1 У,=-г YaJxH-^bkyi-k . А) |_;=0 k=0 где У — количество прямых коэффициентов (яг), М — количество об- ратных коэффициентов (bk). 3.5.11. Пример Нерекурсивный moving усредняющий фильтр. Синусоида #2 Синусоида #1 Рис. 3.88 Измеренные данные Возьмем набор измерений величины у, полученных через равные про- межутки времени \t (т.е. с частотой выборки /= 1/Д£). Предположим, что величина г/г в момент времени i\t может быть пред- ставлена суммой двух синусоид плюс постоянная составляющая, при необходимости, при k = 0 — итого 3 слагаемых.
Обработка сигналов 326 1 2 у{ (iAt) = - У F (w)ej2mk/N 3 k=Q Требуется найти такое уравнение, которое давало бы наилучшее при- ближение величины уг при любом значении i. Такое уравнение называ- ется уравнением сглаживания. Предположим, что сглаженное значение z/z в каждой точке задается сле- дующей формулой: у{ = ад + «1 (г/i+i + &-i) + «2 (г/,+2 + У,-2) Данное уравнение представляет собой уравнение сглаживания по пяти точкам (разностное уравнение). 3.5.12. Сглаживающая передаточная функция уг — отсчеты входного сигнала, г/г — сглаженные или эмпирические от- счеты выходного сигнала. Константы а0, щ и а2 выбираются таким об- разом, чтобы сгладить все шумы, содержащиеся во входном сигнале. Вклад в значение сглаженного отсчета каждого конкретного входного отсчета и четырех соседних отсчетов уг. + ь г/г_ b yt + 2, yi-2 и составляют формулу сглаживания. Теперь каждый выходной отсчет yz может быть вычислен путем суммирования синусоид #1 и #2 в каждой точке i (см. раздел 3.5.11). Подстановка дает: Уг = сум + ах (ум + г/м)+а2 (yi+2 + у{_2) Разностное уравнение g^gjlmklN +й) ^ej2n(i+\)k/N +е>2я(г-1)А/У j + ,7'2>t(i-l)i/yj 2 у,=££(ю*) k=0 a2 ^ei2^>+^klN + e = У, F (co* ^i2raklN Год + ax (ei2nk/N + e~j21'klN)+02 (е2>2"А/№ + k=0 __—--------------------------__ 2 = У F (co* )ej2mk^N([aQ + 2ax cos 2тг k/N + 2a2 cos 4л k/N] k=o 2 но + е № = 2cos(at = ^F^k)H^k^N, k=o 2nk где (£>kM = —
3.5. Цифровая обработка сигналов 327 Н(со) — передаточная функция фильтра. Помните, что форма F(co) мо- жет быть и неизвестной в точности, поскольку при выбранных коэффи- циентах 6Z0, и а2 всегда можно найти г/г из разностного уравнения. Если заранее известно, что входной сигнал содержит, скажем, высоко- частотный шум, то коэффициенты выбираются таким образом, чтобы функция Н(со) принимала вид фильтра нижних частот. Коэффициенты я0, а{ и а2 находятся путем одновременного вычисления нескольких от- счетов данных, взятых (рассчитанных) исходя из требуемой передаточ- ной функции. Для вычисления трех коэффициентов ао, и а2 требует- ся три таких отсчета (Н(со),&). Эти коэффициенты затем используются в разностном уравнении для получения эмпирических значений г/2- при заданных г. 3.5.13. Вопросы для повторения 1. 2. Определите действительную и мнимую части коэффициентов ДПФ для следующих «действительных» цифровых сигналов: (а) 1,2,3, 1,2,3 (Ь) 0, 1, 1,0 В таблице приведены усредненные значения дневной температуры в °C за каждый месяц года в г. Сидней, Австралия. (а) Рассчитайте коэффициенты Фурье А„, Вп для этих данных и для всех необходимых значе- ний k. (Ь) Нарисуйте гистограмму, используя эти дан- ные. (с) Нарисуйте частотный спектр. 3. (d) Выполните обратное ДПФ для проверки ре- зультатов п. (а). Используя метод цифровой свертки, найдите yout(i) = Для следующего набора после- довательностей: 1(о=2;-1,з ’ Январь 25 Февраль 23 Март 22 Апрель 20 Май 19 Июнь 18 Июль 17 Август 17 Сентябрь 19 Октябрь 22 Ноябрь 23 Декабрь 25 Ответ: 2, 5, 4, 5, 15, -7, 12
Обработка сигналов 328 4. Рассчитайте коэффициенты 7 точечного уравнения сглаживания следующего вида: Pi = «0% + «I (г/i+l + 2/i-l ) + «2 (t/i+2 + Уi-2 ) + о3 (Ум + Ум). которое соответствует передаточной функции Н(соД близкой к изоб- раженной на рисунке. Постройте реально получившуюся передаточ- ную функцию фильтра. Подсказка: Возьмите Н(0) = 0; Н( 1) = 1; Н(0,5) = 0,5; Я(0,8) = 1 3.5.14. Упражнения Система измерения температуры состоит из термопары, соединенной с дифференциальным усилителем, выход которого подключен к АЦП; данные с АЦП сохраняются в компьютере в виде массива данных счи- танных значений равной длины. Выборка значений производится каждые 5 с. Разработайте цифровой фильтр (на любом языке программирования по вашему выбору), кото- рый сглаживает любые высокочастотные составляющие в этих данных. Сглаженные данные должны сохранять флюктуации, которые проис- ходят за время большее, чем одна минута.
3.5. Цифровая обработка сигналов 329
Предметный указатель ALU......................... 117 BCD...........................99 BIOS........................ 123 Centronics.................. 170 CMRR........................ 305 CPU.................... 107, 117 DMA.................... 116, 194 dp расходомер.................82 EMI......................... 304 GPIB (IEEE 488)............. 213 hex...........................94 IRQ......................... 160 LIFO........................ 121 Isb...........................91 msb...........................91 NEP......................... 307 OSR......................... 180 OTG......................... 217 PID контроллер.......... 18, 63 Plug-and-play............... 217 POST........................ 123 RAM......................... 122 Я5232 ...................... 198 Я5485 ...................... 212 SNR — Signal to Noise Ratio. 12, 180, 305 TCP/IP...................... 218 UART............... 163, 197, 201 USB......................... 215 Абсолютный адрес............ 110 Автомобильный спидометр.......62 Адрес ячейки памяти......... 108 Адресация памяти.... 143, 146, 147 Адресация порта............. 164 Аккумулятор................. 119 Актинометрия .................46 Аналого-цифровое преобразование.......... 176, 181 Апертурная ошибка............ 185 Арифметико-логическое устройство................... 117 Архитектура микрокомпьютера.............. 107 Атмосферное давление...........76 Базовый адрес........... 109, 145 Байт...........................91 Беззнаковое целое число........97 Белый шум......................12 Бит............................91 Бит четности................. 200 Булева алгебра............... 102 Буферные элементы тристабильные................ 112 Ветвления (переходы) ........ 142 Вибрация ..................... 74 Виртуальный режим 8086 ...... 129 Вопросы для повторения.... 22, 36, 55, 65,87, 104, 130, 149, 174, 194, 219, 229, 262, 282, 296, 310, 327 Время нарастания сигнала ......17 Время опроса ПЛК............. 222 Время отклика..................17 Время преобразования......... 185 Выборка-хранение............. 187 Генератор Колпитца........... 206 Гистерезис.....................15 Горячий (холодный) спай термопары...................31,32 Давление.......................78 Датчик: давления ................ 78 Бурдона.....................79
Предметный указатель 331 Двоичная система счисления.91 Двоично-десятичный код ......98 Дескрипторные таблицы...... 127 Деформация...................67 Децибел.................... 282 Дешифратор команд........... 117 Диаграммы логики многозвенной схемы......... 224 Диапазон преобразователя.....13 Динамический отклик преобразователя .............17 Диод Зенера .................34 Диодная матрица..............62 Директивы ассемблера....... 139 Дифференциатор............. 271 Дополнительный код...........95 Дополнительный сегмент..... 119 Драйверы линии............. 204 Дребезг контактов............56 Дробовый шум............... 303 Емкостный преобразователь положения....................58 Запас по частоте дискретизации 180 Зарядовый усилитель..........72 Защищенный режим работы микропроцессора............ 127 Звук.........................81 Измерители уровня............87 Измерительная диафрагма......83 Индексные регистры......... 120 Интегратор ................ 271 двойной................. 276 Интенсивность излучения.................46 люминесценции.............47 Исключения процессора...... 123 Искрение контактов...........56 Исполняемый файл (.EXE) .... 142 Калибровочные таблицы........33 Кандела......................47 Карта памяти микрокомпьютера............ 126 Квантование................ 316 Квантовая эффективность ....50 Квитирование.............. 211 Килобайт .................. 92 Код Грэя....................99 Код операции.............. 134 Коды ASCII................ 101 Компенсация холодного спая..33 Контактный потенциал........32 Контролируемый параметр.....10 Контроллер прямого доступа к памяти.................. 162 Контроль четности......... 200 Корректирующий сигнал.......18 Корреляция................ 309 КОСС .................. 288, 291 Коэффициент подавления синфазных помех........... 305 Критерий Найквиста........ 177 Логические вентили........ 102 ЛПДТ........................60 Люмен.......................47 Масса.......................74 Машинное слово.......... 91, 111 Машинный код ............. 134 Мегабайт....................92 Метка..................... 139 Метод дифференциального давления....................87 Метод измерения нулевой ................10 отклонения...............10 Механические модели.........21 Микрофон....................81 конденсаторный...........81 пьезоэлектрический.......82 с подвижной катушкой ....82 углеродный...............82 Мнемоника команды......... 139 Модем..................... 198 Модуль центрального процессора............ 107,117 Мостовая схема..............69 Мощность излучения..........46
Предметный указатель 332 Наложение спектров (aliasing)................... 178 Нелинейность.................14 Немаскируемое прерывание.... 125 Номер запроса на прерывание................ 160 Номер порта ввода/ вывода.................. 116, 157 Номер прерывания............. 125 Нуль модем................... 207 Обратная связь.................18 Общий сброс.................. 206 Объектный модуль............. 136 Объектный файл............... 142 Операнды..................... 139 Оператор интегрального преобразования............... 256 Оператор Лапласа............. 256 Оператор производной......... 255 Операционное счисление....... 257 Операция сдвига................98 Опрос........................ 158 Оптические детекторы...........53 Освещенность............... 47,48 Отклонение пружин .............22 Относительная влажность........35 Отображение в памяти.... 116, 157 Ошибка установки нулевой точки...14 диапазона...................14 Параллельный порт принтера .. 170 Передаточная функция (схемы)...................... 254 Переключатель..................56 Перепад давления...............82 ПЗУ......................... 122 Пирометр излучения ............... 27 радиационный................30 с угасающей нитью...........30 Плотность потока энергии ......46 Подпрограмма обработки прерывания................... 123 Позиционно-чувствительный детектор (ПЧД)...............62 Полное отклонение шкалы.....13 Порты ввода/вывода .. 116, 156, 157 Последовательный порт.... 163, 196 Потенциометрический датчик.... 57 Поток..........................82 люминесценции...............47 фотонов ................... 46 Преобразование двоичных чисел.......... 92, 94 Фурье...................... 16, 314 быстрое................... 317 обратное.................. 315 дискретное ............... 318 Лапласа ............ 256, 259 Преобразователь.................8 угловой скорости............61 Прерывания............. 123, 160 BIOS...................... 148 аппаратные................ 123 программные.......... 124, 148 Прецизионность.................20 Прибор с зарядовой связью...53 Приоритет прерываний........ 124 Программа................... 134 Программа обработки прерывания................... 148 Программируемый контроллер прерываний 8259.............. 160 Программируемый логический контроллер (ПЛК)............. 220 Программный счетчик......... 120 Прямой доступ к памяти...... 116, 162, 194 Психометрическая таблица.......36 Психрометр.....................35 Пьезорезистивный эффект........68 Пьезоэлектрический преобразователь силы...........70 Радиометрия....................45 Размахошибки...................18 Разрешающая способность .. 14, 179
Предметный указатель 333 Расходный коэффициент........83 Расходомер с позитивным перемещением . 84 турбинный ................84 тепловой ................ 85 ультразвуковой............85 поплавкового типа.........85 Реальный режим работы микропроцессора............ 127 Регистр задач.............. 127 Регистр флагов......... 121,143 Регистры................... 118 Ртутные барометры............77 Ряды Фурье................. 313 Свертка.................... 321 Свет ........................45 Светочувствительный резистор (СЧР)........................49 Сдвиговый регистр.......... 197 Сегмент данных............. 119 Сегмент кода........ 119, 136, 140 Сегмент памяти......... 107, 109 Сегмент стека.............. 119 Сенсор......................8 Сервисные подпрограммы BIOS 169, 173, 208 Сигнал ошибки ...............18 Сигнал чтения/записи........ 108 Система команд............. 134 Скорость передачи........... 201 Смещение.................... 145 Согласование импедансов..... 253 Соотношение сигнал/шум .. 12, 180, 305 Сопряжение................. 156 Стартовый и столовый биты ... 199 Стек....................... 121 Стерадиан....................46 Ступенчатый сигнал...........17 Таблица векторов прерываний . 124, 148 Таблица истинности...... 102, 114 Телесный угол ...............46 Температура равновесия .......24 Температурная шкала по Цельсию................24 по Фаренгейту.............24 международная.............24 Тензодатчик..................67 Тепловой шум............... 303 Тепловые детекторы...........48 Термисторы...................34 Термометр промышленный..............26 контактный................26 бесконтактный ............26 платиновый сопротивления... 27 ртутный...................29 спиртовой.................29 Термопара.................31,32 Термоэлектрическая чувствительность ........... 32 Точность................. 19,20 Триггер.................... 114 Триггер-защелка............. ИЗ Трубка Вентури...............83 Указатель базы............. 120 Указатель инструкции (команды) 120, 136 Указатель стека............ 120 Универсальный асинхронный приемопередатчик........... 163 Управление технологическим процессом....................10 Упражнения... 38, 104, 130, 150,264, 284, 298, 328 Уравнение Бернулли...........86 Усилитель дифференциальный ....... 287 инструментальный ....... 295 логарифмический......... 293 синхронный.............. 308 Ускорение....................73 Фазовая ошибка ПЛК......... 222 Фактор тензодатчика..........67 Физический адрес............. 145
Предметный указатель 334 Фиксированные точки температуры..............24,25 Фильтр ................... 267 активный............... 268 2-го порядка........ 274 верхних частот...... 279 Т-образный.......... 268 двойной Т-образный .... 269 нижних частот....... 273 полосовой........... 277 широкополосный....... 281 режекторный......... 277 цифровой............ 312 Флаг VM................... 129 Флаг прерывания........... 125 Флаги..................... 120 Фликкер-шум............... 304 Фотодетекторы...............45 Фотодиод....................51 лавинный.................52 Шоттки...................52 PIN-.....................52 Фотометрия..................45 Фотопроводимость............49 Фототранзистор .............52 Фотоэлектрический эффект...51 Фотоэлектронный умножитель (ФЭУ).......................54 Фундаментальный интервал...28 Цифро-аналоговое преобразование.......... 177, 190 Частота выборки.............. 178 Чувствительность преобразователя ......... 11, 13 Шестнадцатеричные числа.....93 Шина адреса.................. 107 Шина данных.................. 107 Шина управления.............. 108 Шины ISA и PCI...... 117, 163, 193 Ширина спектра АЦП........... 179 Шифратор положения.................63 углового перемещения .... 64, 99 линейный....................64 Шум квантования.............. 179 Шумовой порог..................12 Эквивалентная мощность шума 307 Электромагнитные помехи..... 304 Электронные весы...............74 Электростатический разряд .... 305 Энергия излучения..............46 Эффект Томсона...................32 Зеебека.....................32 Эффективный адрес............ 145 Язык Ассемблер............... 134 Яркость........................48 Ячейка памяти................. ИЗ
Литература, рекомендуемая для дальнейшего изучения R.M. Bertrand, “Programmable Controller Circuits International Thomson Publishing, 1995. H.B. Boyle, D. Page, “Transducer Handbook: User's Directory of Electrical Transducers,” Butterworth-Heinemann, 1999. W. Buchanan, “Applied PC Interfacing: Graphics and Interrupts,” Addison Wesley Longman, Inc., 1996. F.M. Cady, "Microcontrollers and Microcomputers: Principles of software and hardware engineering," Oxford University Press, 1997. D. Crecraft, S. Gergely, “Analog Electronics Circuits, Systems and Signal Processing,” Butterworth-Heinemann, 2002. A.J. Diefenderfer, B.E. Holton, "Principles of Electronic Instrumentation," 3rd Ed., International Thomson Publishing, 1994. M. Elwenspoek, R. J. Wiegerink, “Mechanical Microsensors,” Springer-Verlag NY, 2000. D.R. Gillum, “Industrial Pressure, Level and Density Measurement,” ISA, 1995. A.R. Hambley, "Electrical Engineering: Principles and Applications," Prentice- Hall, Inc., 1997. E.C. Ifeachor, B.W. Jervis, “Digital Signal Processing: A Practical Approach,” 2nd Ed., Pearson Education, 2002. J.H. Johnson, "Build your own low-cost data acquisition system and display devices," TAB Books, 1994. M. Predko, “PC PhD: Inside PC Interfacing,” McGraw-Hill Professional, 1999. W.H. Rigby, T. Dalby, “Computer Interfacing: A Practical Approach to Data Acquisition and Control Lab Manual,” Simon & Schuster, 1995. LR. Sinclair, “Sensors and Transducers,” Butterworth-Heinemann, 2001. G.A. Smith, “Computer Interfacing,” Butterworth-Heinemann, 2000. M.H. Tooley, “PC-based Instrumentation and Control,” 3rd Ed., Butterworth- Heinemann, 2002. W.A. Triebel, "The 80386, 80486, and Pentium Processors: Hardware, Software and Interfacing," Prentice-Hall, 1998. M.J. Usher, D.A. Keating, "Sensors and Transducers," 2nd Ed., Macmillan Press Ltd, 1996. R.M. White, R. Doering, "Electrical Engineering Uncovered," Prentice-Hall, 1997. I. Busch-Vishniac, “Electromechanical Sensors and Actuators,” Springer-Verlag, NY, 1998.
334 Переводное издание А.С. Фишер-Криппс Интерфейсы измерительных систем Справочное руководство Переводчики Научный редактор Ответственный секретарь Верстка Обложка Корректор К. И. Щекин, А. А. Локанцев А. А. Локанцев Е.А.Дубровская В. А. Новиков Е. А. Егорова Е. Б. Фрунзе Изд. Лиц. ИД № 05030 от 09.06.2001 г. Группа компаний «ИДТ» ООО «Издательский Дом «Технологии» 123060, Москва, ул. Расплетина, д. 5 Главный редактор СТАСЬ К. Н. Исполнительный директор СВЕТЛОВА Н.С. Тел.-факс (495) 609-68-99, 609-68-97 Формат издания 60x84/16. Печать офсетная. Бумага офсетная. Тираж 1000 экз. Заказ № 1182. Отпечатано с готового оригинал-макета в ООО «Чебоксарская типография № 1» 428019, г. Чебоксары, пр. И. Яковлева, 15.
А.С. Фишер-Криппс. Интерфейсы измерительных систем Справочное руководство Компьютеры, преобразователи, инструментальные средства, обработка сигналов Уникальное сжатое практическое руководство по аппаратным средствам, применению и разработке систем, включающих интерфейс с компьютером, использованию преобразователей и инструментальных средств. В настоящей книге представлена сконцентрированная информация, необходимая для разработки интерфейсной системы на основе ПК от выбора подходящего преобразователя до сбора данных, и соответствующей цифровой обработки и нормализации сигналов. Ключевые разделы изложены в понятной и лаконичной форме и разбиты на секции, занимающие одну или две страницы. Это делает книгу простой в использовании и идеальной для тех, кто ограничен временем: инженеров, студентов, повторяющих курс по интерфейсам. Математика и знания в области компьютеров даны по принципу «необходимо знать», что делает книгу сжатым руководством для широкого круга ученых и инженеров, которые хотят использовать потенциал ПК для целей сбора данных. Справочные разделы дополнены практической работой над проектом системы сбора данных, построенной на основе последовательного порта ПК. Простая, широко применяемая технология используется для иллюстрации основных принципов и технических приемов. Также сжато изложена информация по использованию параллельного порта, порта USB и интерфейсных карт с АЦП. Посредством выполнения лабораторных работ читатель знакомится с процессом разработки полнофункциональной измерительной системы, имеющей интерфейс с ПК. А.С. Фишер-Криппс является руководителем проектов в подразделении телекоммуникаций и промышленной физики в Государственной организации научных и промышленных исследований (Commonwealth Scientific & Industrial Research Organization - CSIRO), Австралия. Он также был лектором в Технологическом Университете, Сидней, Австралия, и работал в Национальном Институте Стандартов и Технологий, США. Опубликовано в оригинале под названием Newnes Interfacing Companion. Настоящий перевод публикуется по договору с Elsevier. ELSEVIER ISBN 5-94833-017-6