6.1АЦП последовательного приближения Главная особенность таких АЦП состоит в организации управления по одно- или двухпроводной последовательной шине (SPI, Microwire, I2C и т. п.), а не через параллельный интерфейс, требующий наличия одного вывода микросхемы на каждый разряд шины управления. Конечно, такой способ передачи битов данных ограничивает скорость обмена информацией, хотя и здесь можно достичь скорости передачи данных порядка 1 Мбит/с. На практике, с учетом свойств и возможностей схем дискретизации и квантования, не стоит рассчитывать на преодоление барьера в несколько десятков тысяч измерений в секунду, что в среднем соответствует частоте дискретизации 20 кГц. Таким образом, эти электронные компоненты не стоит сравнивать со сверхскоростными АЦП типа «flash» или «video», но они тем не менее относятся к классу быстродействующих АЦП. Поэтому при разрядности от 8 до 12 бит они прекрасно подходят для решения большинства задач в области создания устройств сопряжения. Для понимания принципа преобразования сигналов в АЦП, следует более подробно рассмотреть особенности его построения. Цикл преобразования начинается с фиксации уровня входного аналогового напряжения в устройстве выборки-хранения, а затем преобразователь начинает формировать содержимое регистра. Процесс накопления кодового слова занимает некоторое время, называемое временем преобразования. На практике как минимум один из выводов ANALOG -IN или REF-технологически соединен с общим проводом (GND), вследствие чего лишь некоторые модели последовательных АЦП могут работать по схеме с дифференциальным входом. По окончании процесса преобразования селектор данных расположенный перед выходным каскадом, начинает последовательно выбирать биты информации, содержащиеся в регистре данных, и затем также последовательно подает их на выход DATA OUT. Частота выборки и формирования выходных импульсов определяется внешним тактовым сигналом I/O CLOCK. Для правильного функционирования АЦП необходимо наличие некоторой внешней управляющей системы, которая должна формировать последовательности синхронизирующих сигналов. В большинстве случаев аналого-цифровое преобразование начинается в момент подачи соответствующего сигнала на вывод CS (выбор кристалла). Само по себе преобразование выполняется за несколько десятков микросекунд. После этого необходимо подать нужное количество тактовых импульсов на вывод I/O CLOCK, чтобы выдать результат преобразования через вывод DATA OUT. Хотя величина тактовой частоты вывода данных для некоторых моделей имеет ограничение снизу (например, 100 кГц), она все-таки намного ниже, чем внутренняя тактовая частота преобразования. Как правило, скорость последовательного вывода информации зависит только от скорости, с которой управляющая система может обрабатывать поступающие биты данных. Работа схемы АЦП последовательного приближения заслуживает более подробного описания, так как именно благодаря ей появился этот тип компонентов. Основой функциональной схемы служит коммутируемая матрица конденсаторов. Значение каждого бита данных определяется пороговым детектором, в зависимости от величины заряда каждого из весовых конденсаторов составляющих матрицу АЦП. Соответствует десятиразрядному АЦП. Число конденсаторов содержащихся в матрице должно быть на единицу больше, чем число разрядов. Относительный вес каждой цепи матрицы конденсаторов определяется в соответствии с последовательностью степеней числа два, то есть от 1 до 512 для десятиразрядного АЦП. В начале цикла преобразования логическое управляющее устройство замыкает все ключи Sy и S„ вследствие чего все конденсаторы одновременно заряжаются до уровня входного напряжения V (ре жим выборки). Затем все ключи размыкаются (режим хранения), и пороговый детектор начинает формировать биты данных, сравнивая напряжение REF- с напряжениями на каждом из конденсаторов матрицы. Рис. 6.2.1 Следует помнить, что n-разрядный АЦП может сформировать лишь 2n различных двоичных кодовых слов (256 для 8 разрядов, 1024 для 10 разрядов, 4096 для 12 разрядов и т.д.). Разница между двумя соседними кодовыми словами соответствует аналоговому весу младшего значащего разряда (МЗР, или LSB в иностранной литературе) Изменение входного напряжения на величину, меньшую по сравнению с этой разницей, может быть не отражено в выходных данных. Некоторые преобразователи, кроме того, вносят дополнительную погрешность и формируют результат с точностью до одного или даже до двух МЗР. Такая дискретность результатов преобразования является следствием характерной для АЦП передаточной характеристики в виде «ступеньки». Совершенно очевидно, что в этом случае, как и при любом другом процессе аналого-цифрового преобразования, полученный результат содержит некоторую погрешность, называемую ошибкой квантования. Причины ее возникновения поясняются в графике, приведенном Рис. 6.2.1б. Ошибка квантования появляется в результате замены истинной величины отсчета входного сигнала ее дискретным эквивалентом в виде выходного кода и определяется как разность между графиками ступенчатой передаточной характеристики и идеальной прямой. Максимальная величина ошибки для передаточной характеристики, приведенной на Рис. 6.2.1а, равна половине величины шага квантования (половине аналогового веса МЗР).^ 6.2 АЦП в устройствах сопряжения Рис. 6.3.1 А налого-цифровой преобразователь МАХ 1241, полностью соответствующий АЦП МАХ 1243 по расположению выводов, является 12-разрядной версией, которая использует протокол связи, очень схожий с протоколом, представленным на Рис. 6.3.2. Полностью протокол связи АТТП МАХ 1241 приведен на Рис. 6.3.1. Рис. 6.3.2 Рис. 6.3.3 Рис. 6.3.4С реди полупроводниковых компонентов компаний Linear Technology и Burr-Brown можно найти 12-разрядные АЦП, которые по расположению выводов схожи с АЦП TLC 549 и TLC 1549. Так, приборы LTC 1286 и ADS 1286, практически идентичные друг другу (за исключением некоторых частностей), отличаются от TLC 549 и TLC 1549 по нескольким основным пунктам. Прежде всего тем, что они имеют дифференциальные аналоговые входы +IN и -IN (Рис. 6.3.5) и однополярный вход опорного напряжения VREF. При соединении вывода -IN с общим проводом GND можно получить конфигурацию, совместимую с 8- и 10-разрядными преобразователями. Ее схема приведена на Рис. 6.3.6. Указанная аналогия на уровне подключения микросхем не распространяется на используемые протоколы связи АЦП. Рис. 6.3.4 демонстрирует различия этих протоколов. Для вывода информации вначале следует подать два «пустых» тактовых импульса вместо одного; кроме того, можно считывать выходные данные, как старшими, так и младшими разрядами вперед. Компания Linear Technology производит компонент LTC 1292, родственный вышеназванным образцам. У него есть несколько важных отличий, в частности совершенно непохожее расположение выводов (Рис. 6.3.7). Микросхеме LTC 1292 стоит посвятить несколько дополнительных строк, так как она используется в отдельных АЦП промышленного изготовления, для которых удобно писать специальные программы. Протокол связи LTC 1292 приведен на Рис. 6.3.3. Он очень похож на протокол LTC 1286, но только с виду... В отличие от LTC 1286, у LTC 1292 ограничена минимальная тактовая частота вывода информации на уровне 100 кГц. Это не вызывает трудностей при работе с программами на языках Assembler или С, но усложняет применение программ на языке BASIC или даже на языке PASCAL, работающих на медленном процессоре. Конечно, у нижнего предела тактовой частоты есть определенные допуски на практическое использование, но все же требуется осторожность при оценке.^ 6.3 Построение устройств сопряжения британская компания PICO Technology производит готовые АЦП типа ADC12 (с числом разрядов 12). Входное сопротивление первого из них составляет 200 кОм, а второго 66 кОм. Они подключаются к параллельному порту компьютера и выполнены в виде обычного разъема DB25. Низкое энергопотребление устройств позволило обойтись без внешнего источника питания, и питать их непосредственно от незадействованных цепей передачи данных, ПК. Принципиальная схема устройств приведена на Рис. 6.4.1. Особенность схемотехнического решения состоит в том, что опорное напряжение здесь составляет 2,5 В, а входное напряжение делиться на два. Подобное решение позволяет весьма эффективно и с малыми затратами защитить вход АЦП от перегрузок, а также обойтись для питания устройства напряжением около 5 В, получаемым от цепей информационных данных параллельного порта. Для этого на соответствующих выходах порта программно устанавливаются напряжения высокого логического уровня. При выборе соответствующего АЦП следует учитывать указанные величины входных сопротивлений, если планируется использовать стандартные щупы с делителями. Конечно, возникает соблазн предпочесть ADC 12, а не ADC 10, и получить разрешение в 4096 точек по приемлемой цене. Но следует отметить, что передача 12 бит в последовательном коде занимает как минимум на 50% больше времени, чем передача 8 бит. От этого сильно зависит верхний предел частоты дискретизации, а он должен быть как можно большим. Кроме того, следует учесть, что точность других компонентов (хотя бы входного делителя) составляет 1%. Это соответствует разрешению в 256 точек (8 разрядов), но недостаточно для точности 0.025%, соответствующей разрешению в 4096 точек (12 разрядов).Самостоятельная сборка аналогового интерфейса привлекает, прежде всего, значительной экономией средств, особенно если при этом не понадобится серьезное математическое обеспечение, обычно поставляемое в комплекте с промышленными изделиями. При таком подходе можно также выбрать другие способы связи интерфейс => ПК, например, подключаться к ПК через последовательный, а не через параллельный порт, или же использовать гальваническую развязку, которая в определенных случаях будет необходима. Рис. 6.4.2 Несмотря на то что промышленные изделия обычно используют для подключения АЦП, параллельный порт ПК, все же целесообразнее подключать последовательный АЦП к его последовательному порту. На самом деле главное преимущество такого решения состоит в том, что ПК с двумя (и даже с четырьмя) последовательными портами встречаются гораздо чаще, чем ПК с двумя параллельными портами. С тех пор как появились специальные порты для мыши, у компьютера довольно часто остается свободным, по меньшей мере, один последовательный порт, между тем параллельный порт практически всегда занят принтером, очень полезным в виртуальном измерительном комплексе для вывода графиков и числовых результатов. Еще одним преимуществом последовательного порта RS 232 является более высокая нагрузочная способность по сравнению с большинством параллельных портов. Она позволяет отчасти разрешить проблему питания не всегда экономичных схем интерфейсов. Принципиальная схема, приведенная на Рис. 6.4.2, построена на основе схемы промышленных АЦП ADC 10 и ADC 12. В частности, применен аналогичный входной каскад с делителем напряжения. При использовании тех же номиналов резисторов R4 и R5 (100 кОм для 8-разрядного ADC 10 и 33 кОм для 12-разрядного ADC 12) можно обеспечить автоматическую совместимость этого устройства со всеми приставками, которые будут описаны ниже. Также допускается использование собственных разработок, основанных на драйверах, которые будут описаны далее. Номиналы резисторов входного делителя в любом случае нуждаются в пояснениях, а их подбор требует аккуратности. Надо учитывать, что входное сопротивление микросхемы АЦП последовательного приближения (вывод 2) имеет, по крайней мере во время выполнения преобразования, почти только емкостный характер. При напряжении питания 5 В ток утечки в пределах 1 мкА соответствует активной составляющей сопротивления 5 МОм, что значительно больше входного сопротивления обычного осциллографа. Емкостная же составляющая может достигать 30 пФ у микросхемы TLC 1549 и 100 пФ у LTC 1292. Это не сильно отличается от того, что свойственно входу классического осциллографа, но случай, который нас интересует, совершенно особый. Входная емкость образована элементами устройства выборки-хранения, и она постоянно изменяется. Согласно Рис. 6.4.3, интегрирующий фильтр, образуемый этой емкостью С и всяким сопротивлением R, включенным последовательно с входом, определяет время нарастания сигнала, пропорциональное произведению RC. Если частота дискретизации слишком велика относительно частоты среза интегрирующего фильтра, то преобразование начнется в тот момент, когда эквивалентный конденсатор с емкостью С будет заряжен еще не полностью, и, следовательно, результат измерения будет неверным. Величины резисторов, выбранные для входных цепей ADC 10 и ADC 12, были рассчитаны так, чтобы гарантировать желаемую точность на высоких частотах дискретизации, на которых могут работать эти приборы (около 20 кГц). Однако номиналы резисторов можно увеличивать, если потребителя устраивают не столь высокие скорости измерений. При использовании изделий в комплекте с программами, написанными на языке BASIC с интерпретатором и выполняемыми на не очень быстром процессоре, номиналы можно увеличить до 500 кОм, чтобы получить стандартное входное сопротивление 1 МОм. В обычных случаях прекрасно подойдет номинал 100 кОм (с допуском 1% или меньше). Подключение линий управления и линии данных АЦП к порту RS 232 более сложное, чем к параллельному порту Действительно, рабочие уровни напряжений на выводах последовательного порта обычно составляют около 12 В, тогда как АЦП формирует напряжения от 0 до 5 В. Для решения этой проблемы в схеме установлены три стабилитрона D5 - D7 на напряжение 4,7 В и два резистора R1 и R2. Кроме того, перед интегральным стабилизатором 78L05, формирующим напряжение 5 В из сигнала линии TXD, должен быть включен импульсный диод D8. Предусмотрен также вход для внешнего источника питания, расположенный рядом с аналоговым входом, на тот случай, когда ПК не сможет обеспечить достаточный уровень напряжения. Это бывает, хотя и крайне редко, при использовании некоторых моделей ноутбуков. В такой ситуации простая 9-вольтовая гальваническая батарейка надолго обеспечит работу устройства. Все устройство смонтировано на печатной плате (Рис. 6.4.4), размеры которой невелики, но которая все же не претендует на размещение в корпусе разъема DB9, подключаемого к ПК. Подключение через кабель DB9 (вилка/розетка) с одноименной распайкой (удлинитель, а не нуль-модем) более предпочтительно, чем прямое подключение к разъему ПК В таком случае АЦП будет расположен в непосредственной близости от источника сигнала, а не от ПК, что дает больше преимуществ, чем недостатков, на тех частотах, на которых предполагается работать. Монтажная схема, приведенная на Рис. 6.4.5, соответствуют всем трем вариантам устройства, которые можно собрать самостоятельно • 8-разрядный АЦП с TLC 549, • 10-разрядный АЦП с TLC 1549, • 12 разрядный АЦП с LTC 1286 или ADS 1286. Соединительная колодка с четырьмя контактами (или двумя, если не предполагается использовать внешний источник питания) предназначена для подключения входного сигнала. Подобный способ межблочных соединений представляется более удобным, нежели коаксиальные разъемы BNC пли RCA («тюльпан»), для предполагаемых областей применения. В практическом применении полезна версия устройства, разработанная на основе микросхем АЦП МАХ 1241 и МАХ 1243, имеющих отличные характеристики. Основное отличие от предыдущего варианта заключается только в компоновке печатной платы (Рис. 6.4.6), так как расположение выводов этих компонентов совершенно иное. Для микросхем МАХ 1241 (12-разрядный АЦП) и МАХ 1243 (10-разрядный АЦП) допустимо использовать одни и те же элементы и одинаковое их размещение на плате. Учитывая малую входную емкость этих микросхем (16 пФ), можно попробовать, как минимум удвоить величины резисторов входного делителя для той же частоты дискретизации. Из соображений унификации и совместимости в схеме целесообразно применить источник опорного напряжения производства компании MAXIM, параметры которого адаптированы к параметрам описываемых АЦП. Хотя в этом семействе АЦП существуют модели со встроенным источником опорного напряжения, зачастую лучшие результаты получаются при использовании специализированного и оптимизированного отдельного компонента. Источник опорного напряжения (ИОН) типа МАХ 6125, расположение выводов которого приведено на Рис. 6.4.8, выпускается в корпусе SO для поверхностного монтажа (SMD). Это не «улучшенный стабилитрон», а эквивалент высокоточного (1%) трехвыводного интегрального стабилизатора. Он включает в себя и двухвыводный источник опорного напряжения, и необходимый последнему резистор, вследствие чего потребление тока устройством существенно снижается (75 мкА на ИОН и менее 2,5 мА на АЦП). Для монтажа ИОН в рассматриваемое устройство необходимо добавить небольшую печатную плату (ее топологическая схема приведена на Рис. 6.4.7).Она монтируется на основную плату при помощи трех металлических штырьков, изготовленных из выводов резисторов. Штырьки вставляются в отверстия, предназначенные для резистора R3 и положительного вывода VD4 REF 25 Z (Рис. 6.4.2). Монтаж ИОН МАХ 6125 непосредственно на контактные площадки этой небольшой платы (Рис. 6.4.9) не представляет проблем, если использовать паяльник с тонким жалом, не набирать много припоя и сначала припаять два диаметрально противоположных вывода (например, 4 и 8) Заметим, что припаивать неиспользуемые выводы N С. необязательно. Выбор варианта будет зависеть от доступности компонентов и от возможностей пользователя, но было бы интересно собрать два разных устройства и сравнить получаемые в разных приложениях результаты Описываемые в книге устройства, как правило, используются для измерения параметров сигналов относительно общего или сетевого провода. Но в ряде ситуаций могут возникнуть проблемы из-за того, что общий провод устройства соединен с корпусом ПК. За исключением тех случаев, когда устройство работает с переносным ПК с автономным питанием, его нельзя подключать непосредственно к цепям, не изолированным от сети или находящимся под высоким потенциалом. Добавление нескольких оптронов к рассматриваемой схеме поможет решить эту проблему, хотя и приводит к незначительному ухудшению характеристик интерфейса Какими бы параметрами ни обладал оптрон, в нем всегда используется оптический принцип передачи сигналов без всякой гальванической связи. При этом и источник, и приемник оптического излучения размещены в едином корпусе. Для передачи излучения от источника к приемнику используются различные технологии, описание которых выходит за рамки данной главы. Особенности этих технологий определяют основные характеристики оптрона, обеспечивая, в частности, необходимый компромисс между степенью изоляции, коэффициентом передачи и быстродействием. В большинстве случаев источником излучения служит светодиод из арсенида галлия, работающий в ближней инфракрасной области спектра. При этом спектр его излучения практически совпадает с областью максимальной спектральной чувствительности кремниевых фотоприемников, наиболее дешевых и широко распространенных. В специальных оптронах могут использоваться и другие излучатели, такие как миниатюрные лампы накаливания или газоразрядные светоизлучающие приборы, например неоновые. В качестве фотоприемников можно часто встретить фоторезисторы, как, например, в оптопарах - лампа накаливания-фоторезистор, широко применявшихся лет двадцать назад. Эти оптопары использовались в звуковых трактах в качестве потенциометров с электронным управлением. Оптроны неоновая лампа-фоторезистор применяются в основном в качестве детекторов посылок вызова в некоторых специализированных телефонных устройствах. Самые распространенные оптроны выпускаются в корпусе DIP6 и строятся по схеме, приведенной на Рис. 6.4.10: инфракрасный светодиод оптически связан с фототранзистором, три вывода которого являются выходами оптрона. По Рис. 6.4.10видно, что принятое расположение выводов обеспечивает максимальное расстояние между входом и выходом. Очевидно, что при такой конструкции нет необходимости делать оптрон с изоляцией, выдерживающей напряжение 3000 В, если напряжение пробоя между контактными площадками или печатными проводниками составляет всего около 500 В. Вывод базы обычно не используется, так как транзистор переходит в проводящее состояние в результате фотоэлектрического эффекта. Тем не менее, иногда встречаются схемы, где между базой и эмиттером включен резистор. Обеспечивая быстрое рассасывание накопленного в базе заряда, такое схемное решение заметно улучшает время срабатывания оптрона, но, к сожалению, за счет снижения его коэффициента усиления по току или коэффициента передачи. Надо заметить, что этот резистор уменьшает также и обратный ток коллектора. В некоторых случаях вывод базы можно использовать для управления транзистором независимо от состояния светодиода, но при этом надо следить, чтобы не нарушились изоляционные свойства оптрона. Такой распространенный оптрон, как TIL 111 (аналоги МСТ 2, Hll A2 и т.п.) имеет напряжение изоляции 1500 В, полосу пропускания 300 кГц и коэффициент передачи тока около 8%. Это значит, что при силе тока светодиода 10 мА сила тока фототранзистора будет составлять не более 800 мкА. Оптрон 4N28 при напряжении изоляции 500 В имеет коэффициент передачи тока 10%, тогда как 4N25 имеет такой же коэффициент при напряжении изоляции 2500 В. У моделей типа SL 5500 (специальный телефонный оптрон) коэффициент передачи тока может составлять до 40%, а напряжение изоляции равно 3500. В при постоянном токе или 2500 В (эффективное) при переменном. Оптрон SL 5501, цена которого чуть ниже, имеет коэффициент передачи тока не более 15%. Что касается оптрона CNY 17-2, широко применяемого в телефонии, то его коэффициент передачи достигает 80%, напряжение изоляции составляет 4400 В, а ширина полосы пропускания - более 1 МГц. Некоторые оптроны, выпускаемые в корпусах DIP8, используют фотодиод, соединенный с транзистором, не чувствительным к излучению, а служащим лишь для усиления тока фотодиода. Так как для правильной работы на фотодиод должно быть подано обратное напряжение смещения, создающее соответствующий обратный ток, оптроны такого типа имеют дополнительный вывод для его подключения, обозначаемый VCC. Таким образом можно получить оптроны с достаточно высоким коэффициентом передачи и с исключительным быстродействием - 11 МГц для элемента CNW 136 компании Hewlett Packard. Оптрон HPCL 4562 того же изготовителя, специально предназначенный для передачи аналоговых сигналов, имеет полосу пропускания 17 МГц при коэффициенте передачи тока 200%. Но самым популярным решением для радикального увеличения коэффициента передачи тока является применение составного фототранзистора, построенного по схеме Дарлингтона. Это решение используется при изготовлении широко распространенного оптрона 4N33, имеющего высокий коэффициент передачи тока - 500%, но полосу пропускания только 30 кГц. Более быстродействующий оптрон CNW 139 (производитель -Hewlett Packard) имеет рекордный коэффициент передачи 3000% -иными словами, усиление в 30 раз. В схеме интерфейса, представленной на Рис. 6.4.11, использованы три самые дешевые оптроны 4N33, или отечественные АОТ 127А. Для улучшения параметров этого АЦП следует применять более качественные и дорогие компоненты. Применение оптронов с большим коэффициентом передачи позволяет обеспечить простоту схемотехнических решений, достижение которой является одной из целей данной книги. Рис. 6.4.11 В более серьезных проектах между оптронами и АЦП наверняка будут включаться логические схемы с триггерами Шмитта, служащими в качестве формирователей для быстроизменяющихся сигналов. Малогабаритные последовательные АЦП способны обеспечить большие выходные токи, что позволяет подключать светодиод оптрона непосредственно к их выходам через резистор сопротивлением всего 2,7 кОм. Этого достаточно, чтобы фототранзистор оптрона нормально работал с входными линиями порта RS 232 компьютера, получая напряжение питания от линии RXD того же порта через такой же резистор. Следует учитывать, что напряжение на этой линии более высокое - иногда выше 12В. Для защиты от отрицательного напряжения, появляющегося на выводах порта RS 232 и также воздействующего на светодиоды через резистор сопротивлением 2,7 кОм, в схему добавлены диоды D1 и D2 1N4148. Фототранзисторы оптронов ОР1 и ОР2 формируют управляющие сигналы, которые воздействуют на входы АЦП, соединенные с общим проводом резисторами сопротивлением 82 Ом. Такой номинал, необычно малый и вызывающий потребление большой мощности, необходим для повышения крутизны фронтов управляющих сигналов. Таким образом, гальваническая развязка целиком обеспечена со стороны цифровой части, а схема аналогового входа осталась абсолютно идентичной схеме, показанной на Рис. 6.4.2. В остальной части устройства тоже есть несколько особенностей. Так, для подачи напряжения питания ни в коем случае нельзя использовать порт RS 232, иначе будет нарушена созданная гальваническая изоляция. Поэтому необходим внешний источник питания (например, гальваническая 9-вольтовая батарея). В качестве стабилизатора выбран компонент LM 2931, имеющий очень малое падение напряжения на регулирующем элементе, что позволяет при необходимости обойтись источником питания 5 В. Если же есть уверенность, что внешнее напряжение питания будет всегда больше 5 В, то можно применить обычный стабилизатор 78L05, уменьшив емкость конденсатора на выходе стабилизатора до 10 мкФ. При использовании внешнего источника питания требования к энергопотреблению становятся менее жесткими, поэтому источник опорного напряжения REF 25 Z может быть заменен на менее экономичный, но более дешевый и при этом имеющий точность 0,2%, а не 1% (например, LT 1009 CZ производства компании Linear Technology). При изготовлении этого модуля использована односторонняя печатная плата, чуть более длинная, чем предыдущие, но имеющая ту же ширину. Ее топологическая схема показана на Рис. 6.4.12 Можно заметить, что одна контактная площадка ИОН LT1009 CZ, предназначенная для монтажа элементов цепи точной подстройки, никуда не подключена. Вероятно, такое же изменение понадобится внести в рисунок печатной платы, приведенный на рис 4 3, если возникнет необходимость применить данный компонент вместо REF 25 Z. Это представляет определенный интерес для 10- и 12-разрядных версий АЦП. Расположение элементов схемы на печатной плате показано на Рис. 6.4.13. подключение устройства к ПК производится при помощи такого же кабеля с разъемами DB9, какой использовался в предыдущих случаях.^ 6.4Программное обеспечение АЦП Среди универсальных программ анализа сигналов можно назвать такие как Conan и Flexlab. Обе они могут работать практически с любыми контроллерами АЦП, для чего необходимо написать несложную внешнюю программу-драйвер. Пакет FLEXLAB содержит широкий набор инструментальных средств, ориентированных, в основном, на метрологические технические задачи. Система CONAN содержит много специальных методик для технических, медицинских и биологических приложений. Среди простейшего программного обеспечения, поставляемого вместе с АЦП ADC-10 и ADC-12 можно отметить пакет PICOSCOPE и PICOLOG. Первый из них обеспечивает функции цифрового вольтметра, частотомера, осциллографа или анализатора спектра. Второй предназначен для регистрации сверх медленных процессов. Рис. 6.5.1 Несложные программы, которые могут работать с готовыми или собранными самостоятельно АЦП, можно набрать вручную. Они написаны на языках BASIC и TurboPASCAL, структура программ (Рис. 6.5.1) такова, что позволяет легко адаптировать их под конкретные задачи. Первый блок каждого драйвера (строки 10-90) проводит инициализацию последовательного или параллельного порта, используемого для связи, и обеспечивает подачу напряжения питания на подключенный к нему АЦП. Блок заканчивается командой GOTO 200, передающей управление собственно прикладной программе (строки 200-290) Эта программа универсальна, она зависит только от выполняемой задачи, но ни в коей мере - от применяемого АЦП. Поэтому заменить драйвер при смене АЦП (например, при переходе от 8 разрядного к 12-разрядному) очень просто. Прикладная программа может сама обращаться ко второму блоку драйвера (строки 100-190) настолько часто, насколько требуется. Эта часть драйвера отвечает за выполнение одного — и только одного аналого-цифрового преобразования и за размещение результата (величины напряжения в диапазоне от 0 до 5 В) в переменной D. Только прикладная программа определяет, с какой скоростью будут проводиться преобразования, надо ли комбинировать полученные значения перед выводом результата и каков будет способ обработки результата (цифровое табло, построение кривой, запись на диск, включение сигнала и т. п.). Если не хватит места между строками 200 и 290 программы, можно поместить оператор GOTO в строке 290, что позволит продолжать работу, например, со строки 2000. Еще одна зарезервированная область, начиная со строки 300, предназначена для операторов вывода графики. Блок между строками 300 и 490 отведен для операторов инициализации экрана (выбор графического режима, построение координатной сетки определение цветов и т. п.). Процедура вывода результатов на экран начинается со строки 500. Именно прикладная программа (строки 200 290) будет в нужный момент вызывать графическую подпрограмму командой GOSUB 500. Очевидно, что понадобится использовать графические процедуры предназначенные для каждого из экранных режимов (CGA VGA и т. п.), хотя режим CGA например, без проблем (и даже с не которыми преимуществами) поддерживается всеми современными графическими платами. Драйверы для АЦП ADC 1210 REM ---- ADC12 ----20 KEY OPF;CLS30 B=&H378: REM LPT1:40 N=12: REM число разрядов50 OUT B,160 FOR T=0 TO 100: NEXT T70 OUT В,25480 FOR T=0 TO 500: NEXT T90 GOTO 200100 OUT B,252: D=0: REM ACQUISITION105 OUT B,254: OUT B,252106 OUT B,254: OUT B,252110 FOR P=0 TO N-1120 OUT B,254130 E=INP(B+1) AND 128140 OUT В,252150 IF E=0 THEN D=D+2^ (N-l-F)160 NEXT F170 D=5*D/(2^N-1)180 OUT B,253: RETURN190 REM (c)1997 Patrick GUEULLEprogram adcl2;uses crt;var n,f,e: byte;b,g: integer;d: real;procedure init;begin b: =$378; n;=12;port[b]: =1;delay(100) ;port[b]: =254;delay(500) ;end;procedure acquisition;beginport[b]: =0; d: =0;port[b]: =254;port[b]: =252;port[b]: =254;port[b]: =252;for f: =0 to n-1 do begin port[b] : =254;e: =port[b+l] and 128;port[b]: =252;if e=0 then d: =d+exp((n-l-f)*ln (2)) ;end;d: =(5*d)/(exp((n)*ln(2))-1) ;port[b]: =253;end;procedure affiche;begin acquisition;d: =(int(100*d))/100;writeln(d) ;delay(500) ;end;begincirscr;init;for g: =l to 20 dobeginaffiche;end;end.(* COPYRIGHT 1997 Patrick GUEULLE *) Так как АЦП ADC 12 собран на базе LTC 1292, он требует тактовой частоты не менее 100 кГц. В силу этого обстоятельства драйверы ADC12.BAS и даже ADC12.PAS следует с большой осторожностью использовать на старых и медленных ПК, поскольку в таком случае не всегда удается добиться результатов, которые может обеспечить АЦП ADC 10 при тех же условиях. Самая нежелательная ситуация возникает при исполнении программы в окне Windows, что еще больше замедляет работу по сравнению с выполнением непосредственно в DOS. Следует также заметить, что устройство ADC 12 использует параллельный порт, в отличие от устройств на Рис. 6.4.2 и Рис. 6.4.11. Иначе говоря, АЦП ADC 12 будет работать с полной отдачей только со своим программным обеспечением PICOSCOPE и PICOLOG, причем под DOS лучше, чем под Windows. Описанные в книге устройства, работающие через последовательный порт, не имеют такого ограничения и могут наилучшим образом использовать точность высококачественных АЦП. Только версия с оптоизоляцией (Рис. 6.4.11), потребует определенной аккуратности, так как применение оптронов слегка ухудшает характеристики устройства в 12-разрядном режиме. Из сказанного можно сделать вывод, что с АЦП LTC 1286 или ADS 1286 будут работать нижеприведенные программы при условии, что для связи с ПК используется последовательный порт СОМ1 (адрес 3F8h в строке 30). Драйверы для АЦП LTC 1286 или ADS 1286 10 REM ---- 12BITS ----20 KEY OFF: CLS30 B=&H3F8: REMCOM1:40 N=12: REM число разрядов50 OUT B+4,160 FOR T=0 TO 100: NEXT T70 OUT B+3,6480 FOR T=0 TO 500: NEXT T90 GOTO 200100 OUT B+4,0: D=0: REM ACQUISITION102 OUT B+4,2: OUT B+4,0103 OUT B+4,2: OUT B+4,0104 OUT B+4,2: OUT B+4,0 110 FOR F=0 TO N-1 120 OUT B+4,2 130 E=INP (B+6) AND 16140 OUT B+4,0150 IF E=16 THEN D=D+2^(N-1-F)160 NEXT F170 D=5*D/(2^N-1)180 OUT B+4,1: RETURN190 REM (c)1997 Patrick GUEULLEprogram douzebits;uses crt;var n,f,e: byte;b,g: integer;d: real;procedure init;begin b: =$3F8; n: =12;port[b+4]: =1;delay(100);port[b+3]: =64;delay(500) ;end;procedure acquisition;beginport[b+4] =0 d: =0;port[b+4] =2 port[b+4] =2port[b+4] =2 port[b+4] =0port[b+4] =2 port[b+4] =2port[b+4] =2 port[b+4] =0port[b+4] =2 port(b+4] =2port[b+4] =2 portfb+4] =0for f: =0 to n-1 dobeginport[b+4]: =2;e: =port[b+6] and 16;port[b+4]: =0;if e=16 then d: =d+exp((n-l-f)*ln(2)) ;end;d: =(5*d)/(exp((n)*ln(2))-l);port[b+4]: =1;end;procedure affiche;begin acquisition;d: =(int(1000*d))/1000;writeln(d) ;delay(500) ;end;begincirscr;init;for g: =l to 20 dobeginaffiche;end;end. (* COPYRIGHT 1997 Patrick GUEULLE *) С АЦП MAX 1241 (рис. 4.6) будут работать программы MAXIM12.BAS на языке BASIC и MAXIM12.PAS на языке TurboPASCAL.10 REM ---- MAXIM12 ----20 KEY OFF: CLS30 B=&H3F8: REM COM1:40 N=12: REM число разрядов50 OUT B+4,160 FOR T=0 TO 100: NEXT T70 OUT B+3,6480 FOR T=0 TO 500: NEXT T90 GOTO 200100 OUT B+4,0: D=0;REM ACQUISITION105 OUT B+4,2: OUT B+4,0110 FOR P=0 TO N-1120 OUT B+4,2130 E=INP(B+6) AND 16140 OUT B+4,0150 IF E=16 THEN D=D+2"(N-1-F)160 NEXT F170 D=5*D/(2'^N-1)180 OUT B+4,1: RETURN190 REM (c)1997 Patrick GUEULLEprogram maximl2;uses crt;var n,f,e: byte;b,g: integer ;d;real;procedure init;begin b: =$3F8; n: =12;port[b+4]: =1;delay(100);port[b+3]: =64;delay(500) ;end;procedure acquisition;beginport[b+4]: =0; d: =0;port[b+4]: =2;port[b+4]: =2;port[b+4]: =2;port[b+4]:=0;for f: =0 to n-1 do begin port[b+4]: =2;e: ^port[b+6] and 16;port[b+4]: =0;if e=16 then d: =d+exp((n-l-f)*ln(2)) ;end;d: =(5*d)/(exp((n)*ln(2))-l);port[b+4]: =1;end;procedure affiche;begin acquisition;d: =(int(1000*d)1/1000;writeln(d) ;delay(500) ;end;begincirscr;init;for g: =l to 20 dobeginaffiche;end;end. (* COPYRIGHT 1997 Patrick GUEULLE *)^ Прикладные программы В этом разделе показано, как добавление нескольких строк программы к вышеописанным драйверам, приносит полезные практические результаты. Читатели должны будут самостоятельно вносить требуемые изменения (часто минимальные), которые определяются конкретными задачами. В любом случае объединение соответствующего драйвера и прикладной программы выполняется по команде MERGE (в языке BASIC).Для использования программы VOLTS. BAS совместно с АЦП ADC 10, например, на языке GWBASIC или эквивалентном надо написать следующие строки:load "adcio" (загрузка драйвера);затемmerge "volts" (добавление прикладной програ