Читаем Встраиваемые системы. Проектирование приложений на микроконтроллерах семейства 68HC12/HCS12 с применением языка С полностью

Примем, что FS = VRH – VRL представляет собой максимальный размах напряжения для 8-разрядного 5-вольтового ЦАП. В этом случае высокий уровень опорными напряжениями составляет 5 В, а низкий — с 0 В. А как определить, например, аналоговое выходное напряжение соответствующее двоичному входному коду $CA?

Это напряжение можно определить, используя следующую взвешенную сумму для входного кода $CA:

UВЫХ = 5 [(1×1/2) + (1×1/4) + (0×1/8) + (0×1/16) + (1×1/32) + (0×1/64) + (1×1/128) + (0×1/256)] = 3,945 В

Аналоговый сигнал может быть затем создан путем цифровых данных на входах ЦАП, чтобы получить аналоговую реконструкцию. Методика восстановления аналогового сигнала из отдельных двоичных точек может использоваться при многих различных типах сигналов [Barrett 1979, Welch 1997].

Обсудим теперь сбой в разрабатываемом квадратичном генераторе. На рис. 6.2 показано, как эта методика может использоваться, чтобы генерировать сигналы, связанные квадратичной зависимостью (напряжения синусоидальной и косинусоидальной формы). Схема включает в себя программируемый кварцевый CMOS генератор PXO1000 фирмы Statek. Частота генератора устанавливается вручную с помощью DIP переключателей. Генератор является таймером для 8-разрядного двоичного счетчика на базе CMOS, который обеспечивает непрерывный счет от $00 до $FF. Выходной сигнал этого счетчика подается на две отдельных NMOS микросхемы памяти EPROM размером 2048 б, которые сохраняют данные для синусоидальной и косинусоидальной волны. Выходные сигналы с микросхем памяти подаются на отдельные 8-разрядные CMOS цифро-аналоговые преобразователи, которые опять преобразуют отдельные двоичные данные в аналоговый сигнал. Сигналы с ЦАП подаются на операционные усилители, которые осуществляют сдвиг нулевого уровня выходного сигнала ЦАП, и могут также обеспечить подстройку коэффициента усиления.

Рис. 6.2. Квадратичный генератор


На бумаге проект работает вполне правильно. Однако, когда схема была реализована, оказалось, что она является хорошим генератором помех. В чем была проблема? В первоначальном проекте отсутствовали резисторы сопротивлением 4.7 К в выходных цепях NMOS памяти. В главе 5 мы указали, что мы можем обычно напрямую связывать входы и выходы микросхем одного семейства. Однако, при соединении микросхем из различных семейств, мы должны быть очень осторожны. Обратите внимание, что в этом проекте, мы переходим от счетчика CMOS к памяти NMOS и затем обратно на ЦАП CMOS. Мы должны тщательно спроектировать интерфейс между CMOS и NMOS и затем интерфейс NMOS к CMOS. Чтобы эта схема правильно работала, должны быть включены нагрузочные резисторы в выводы NMOS. Это позволяет входам ЦАП на базе CMOS правильно распознавать состояния выходов NMOS. Нагрузочные резисторы показаны на рис. 6.2.

Из этого примера вы можете видеть важность тщательного выбора цепей связи между всеми компонентами внутри схемы. Особую осторожность следует проявлять при соединении микросхем из различных семейств.

6.1.2. Случай таймера для лазерного излучения

Рассмотрим теперь экспериментальную установку для научно-исследовательской работы, которая касалась методов задания времени облучения для записывающего лазера. В эксперименте, лазер управлялся ТТЛ-совместимым импульсом, формируемым ПК. При высоком значении импульса, лазерный затвор был открыт, при низком — закрыт. Цель экспериментов состояла в том, чтобы изучить влияние лазера на ткани глаза при глазной хирургии. В идеале, мы хотели бы привязать работу лазера к временной метке видеозаписи эксперимента. В коммерческом проекте задания времени было найдено и проверено оборудование, обеспечивающее оптимальную стоимость для малобюджетного проекта.

После рассмотрения имеющихся на рынке микросхем, были выбраны цифровые таймеры серии 74LSXX. Компоненты использовались, чтобы создать пятиразрядный счетчик, который управлял бы несколькими семисегментными дисплеями с помощью микросхем драйверов дисплея. Считывание с семисегментных дисплеев производилось оптически объективом фотокамеры, производящей запись эксперимента. Электроника счетчика/дисплея была установлена в пластмассовом корпусе, и окно было вырезано так, чтобы были видны показания дисплея, как это показано на рис. 6.3.

Рис. 6.3. Дисковый прерыватель лазерного излучения поочередно фокусирует на исследуемой точке ткани сначала луч лазера, а затем объектив камеры. Поле обзора камеры, табло дисплея, и путь лазерного луча оптически съюстированы компанией


Перейти на страницу:

Похожие книги

C# 4.0: полное руководство
C# 4.0: полное руководство

В этом полном руководстве по C# 4.0 - языку программирования, разработанному специально для среды .NET, - детально рассмотрены все основные средства языка: типы данных, операторы, управляющие операторы, классы, интерфейсы, методы, делегаты, индексаторы, события, указатели, обобщения, коллекции, основные библиотеки классов, средства многопоточного программирования и директивы препроцессора. Подробно описаны новые возможности C#, в том числе PLINQ, библиотека TPL, динамический тип данных, а также именованные и необязательные аргументы. Это справочное пособие снабжено массой полезных советов авторитетного автора и сотнями примеров программ с комментариями, благодаря которым они становятся понятными любому читателю независимо от уровня его подготовки. Книга рассчитана на широкий круг читателей, интересующихся программированием на C#.Введите сюда краткую аннотацию

Герберт Шилдт

Программирование, программы, базы данных
Программирование. Принципы и практика использования C++ Исправленное издание
Программирование. Принципы и практика использования C++ Исправленное издание

Специальное издание самой читаемой и содержащей наиболее достоверные сведения книги по C++. Книга написана Бьярне Страуструпом — автором языка программирования C++ — и является каноническим изложением возможностей этого языка. Помимо подробного описания собственно языка, на страницах книги вы найдете доказавшие свою эффективность подходы к решению разнообразных задач проектирования и программирования. Многочисленные примеры демонстрируют как хороший стиль программирования на С-совместимом ядре C++, так и современный -ориентированный подход к созданию программных продуктов. Третье издание бестселлера было существенно переработано автором. Результатом этой переработки стала большая доступность книги для новичков. В то же время, текст обогатился сведениями и методиками программирования, которые могут оказаться полезными даже для многоопытных специалистов по C++. Не обойдены вниманием и нововведения языка: стандартная библиотека шаблонов (STL), пространства имен (namespaces), механизм идентификации типов во время выполнения (RTTI), явные приведения типов (cast-операторы) и другие. Настоящее специальное издание отличается от третьего добавлением двух новых приложений (посвященных локализации и безопасной обработке исключений средствами стандартной библиотеки), довольно многочисленными уточнениями в остальном тексте, а также исправлением множества опечаток. Книга адресована программистам, использующим в своей повседневной работе C++. Она также будет полезна преподавателям, студентам и всем, кто хочет ознакомиться с описанием языка «из первых рук».

Бьёрн Страуструп , Ирина Сергеевна Козлова , Бьерн Страуструп , Валерий Федорович Альмухаметов

Программирование, программы, базы данных / Базы данных / Программирование / Учебная и научная литература / Образование и наука / Книги по IT