Книжная полка Сохранить
Размер шрифта:
А
А
А
|  Шрифт:
Arial
Times
|  Интервал:
Стандартный
Средний
Большой
|  Цвет сайта:
Ц
Ц
Ц
Ц
Ц

Компьютер в домашней лаборатории

Покупка
Артикул: 105589.02.99
Доступ онлайн
159 ₽
В корзину
В книге рассматривается широкий круг вопросов, связанных с практическим применением персональных компьютеров, работающих под управлением операционных систем Windows, для создания устройств домашней электроники. Материал книги охватывает многочисленные аппаратно-программные аспекты проектирования любительских электронных устройств, управляемых от параллельного, последовательного интерфейсов персонального компьютера и звуковой карты. Значительное внимание уделено новым технологиям USB и Bluetooth, а также возможностям их применения в любительской практике. В книге в доступной форме излагается материал по разработке несложных драйверов устройств пользователя, что существенно расширяет возможности их проектирования пользователями различного уровня подготовки. Приводятся многочисленные примеры разработки несложных аппаратно-программных систем сбора аналоговой и цифровой информации, измерительных систем, систем управления внешними устройствами и т. д. Издание может быть полезно радиолюбителям различного уровня подготовки и всем, кто интересуется компьютерными системами управления и контроля.
Магда, Ю. С. Компьютер в домашней лаборатории : практическое руководство / Ю. С. Магда. - 2-е изд. - Москва : ДМК Пресс, 2023. - 199 с. - ISBN 978-5-89818-462-9. - Текст : электронный. - URL: https://znanium.com/catalog/product/2106231 (дата обращения: 07.05.2024). – Режим доступа: по подписке.
Фрагмент текстового слоя документа размещен для индексирующих роботов. Для полноценной работы с документом, пожалуйста, перейдите в ридер.
КОМПЬЮТЕР
В  ДОМАШНЕЙ  ЛАБОРАТОРИИ

Магда Ю. С.

Издание рекомендовано в качестве учебного пособия 
для студентов технических вузов

Москва, 2023

2-е издание, электронное
УДК 621.396.6
ББК 32.872
M12

M12
Магда, Юрий Степанович.

Компьютер в домашней лаборатории / Ю. С. Магда. — 2-е изд., эл. — 1 файл pdf : 199 с. — Москва : 
ДМК Пресс, 2023. — Систем. требования: Adobe Reader XI либо Adobe Digital Editions 4.5 ; экран 10". — 
Текст : электронный.

ISBN 978-5-89818-462-9
В книге рассматривается широкий круг вопросов, связанных с практическим применением персональных компьютеров, 
работающих под управлением операционных систем Windows, для создания устройств домашней электроники. 
Материал книги охватывает многочисленные аппаратно-программные аспекты проектирования любительских 
электронных устройств, управляемых от параллельного, последовательного интерфейсов персонального компьютера 
и звуковой карты. Значительное внимание уделено новым технологиям USB и Bluetooth, а также возможностям 
их применения в любительской практике. В книге в доступной форме излагается материал по разработке несложных 
драйверов устройств пользователя, что существенно расширяет возможности их проектирования пользователями 
различного уровня подготовки. Приводятся многочисленные примеры разработки несложных аппаратно-программных 
систем сбора аналоговой и цифровой информации, измерительных систем, систем управления внешними устройствами 
и т. д.
Издание может быть полезно радиолюбителям различного уровня подготовки и всем, кто интересуется компьютерными 
системами управления и контроля.

УДК 621.396.6 
ББК 32.872

Электронное издание на основе печатного издания: Компьютер в домашней лаборатории / Ю. С. Магда. — Москва : ДМК Пресс, 
2012. — 200 с. — ISBN 978-5-94074-420-7. — Текст : непосредственный.

Все права защищены. Любая часть этой книги не может быть воспроизведена в какой бы то ни было форме и какими бы то ни было средствами без 
письменного разрешения владельцев авторских прав.
Материал, изложенный в данной книге, многократно проверен. Но поскольку вероятность технических ошибок все равно существует, издательство 
не может гарантировать абсолютную точность и правильность приводимых сведений. В связи с этим издательство не несет ответственности за возможные  
ошибки, связанные с использованием книги.

В соответствии со ст. 1299 и 1301 ГК РФ при устранении ограничений, установленных техническими средствами защиты авторских прав, правообладатель 
вправе требовать от нарушителя возмещения убытков или выплаты компенсации.

ISBN 978-5-89818-462-9
© Магда Ю. С.
© Оформление, издание, ДМК Пресс
Введение ......................................................................................................... 5

Структура книги ............................................................................................ 5

1. Возможности персонального компьютера .......................................... 7

2. Архитектура вводавывода....................................................................11

3. Параллельный порт в лабораторных разработках ..........................21

3.1. Организация вводавывода данных
через параллельный порт ................................................................25

3.2. Интерфейсы вводавывода дискретных сигналов
параллельного порта.........................................................................27

3.3. Интерфейсы аналоговых сигналов .................................................34

3.4. Расширения портов вводавывода .................................................57

3.5. Полезные проекты.............................................................................61

4. Последовательный порт персонального компьютера
в любительских разработках ....................................................................69

4.1. Стандарт RS232 ................................................................................72

4.2. Устройства измерения и контроля
с использованием последовательного порта ................................75

5. Звуковые карты и их применение .......................................................93

5.1. Импульснокодовая модуляция .......................................................94

5.2. Звуковая карта в домашней лаборатории .....................................96

5.3. Электронные устройства для работы со звуковой картой ........ 105

6. Интерфейсы USB и Bluetooth ....................................................... 117

6.1. Функционирование USB–устройств
в операционных системах Windows ............................................. 123

Оглавление
6.2. Программирование USBустройств.............................................. 126

6.3. Устройства Bluetooth и их программирование ........................... 136

6.4. Программирование Bluetooth ...................................................... 142

Cтек протокола Bluetooth .............................................................. 143

Профили Bluetooth.......................................................................... 144

Основы программирования устройств Bluetooth на языке
Java ................................................................................................... 145

Настройка устройства .................................................................... 147

Поиск устройств .............................................................................. 147

Поиск сервиса ................................................................................. 147

Регистрация сервиса ..................................................................... 148

Соединение и обмен данными ...................................................... 149

7. Основы разработки драйверов устройств в операционных
системах Windows ..................................................................................... 151

7.1. Взаимодействие пользовательской программы
с драйвером устройства ................................................................ 154

7.2. Основы функционирования драйверов
в операционных системах Windows ............................................. 157

Основы функционирования драйверов....................................... 158

7.3. Разработка и отладка простейшего драйвера ........................... 160

7.4. Чтениезапись данных ................................................................... 172

7.5. Применение драйвера параллельного порта ПК ....................... 185

Заключение................................................................................................ 198

ОГЛАВЛЕНИЕ
Введение

Персональные компьютеры применяются настолько широко, что, казалось бы, найти им
новое применение в настоящее время не так и просто. Тем не менее, есть несколько сфер
человеческой деятельности, где персональный компьютер только в последнее время стал
завоевывать серьезные позиции. Одна из таких сфер – домашняя компьютерная электроника или, подругому, использование ПК для создания собственных аппаратнопрограммных
систем, способных выполнять самые разнообразные функции под управлением компьютера.
Эта область включает не только создание различных робототехнических систем, но и устройств
измерения, сигнализации и управления.
Эта книга посвящена практическим аспектам разработки систем компьютерной электроники, работающих под управлением операционных систем Windows на основе программноаппаратных устройств, разработанных автором.
Литературы и документации по данной тематике мало, поскольку раскрытие этой темы
сопряжено со значительными трудностями, связанными с тем, что охватывается очень широкий диапазон знаний – от элементов аналоговой и цифровой схемотехники до программирования USB и Bluetooth. Предлагаемая вашему вниманию книга призвана восполнить этот
пробел.
Читатели без особого труда смогут адаптировать и усовершенствовать приведенный
в книге программный код и схемотехнические решения при разработке собственных систем
компьютерной электроники.
Книга рассчитана на широкий круг читателей – от начинающих до опытных пользователей.

Структура книги

Структура книги такова, что материал можно изучать выборочно, отдельными главами
или последовательно, начиная с первой главы. Это позволяет различным категориям читателей изучать тот материал, который им более всего интересен.
Книга состоит из 6 глав; краткий обзор каждой из них:

глава 1 «Возможности персонального компьютера». В этой главе дается обзор основных вариантов применения персонального компьютера в системах домашней электроники;
глава 2 «Архитектура вводавывода». Материал этой главы посвящен вопросам архитектуры подсистемы вводавывода персональных компьютеров. Рассматриваются
общие вопросы функционирования шинных интерфейсов, схемотехники и программирования устройств вводавывода пользователя;
глава 3 «Параллельный порт в лабораторных разработках». В этой главе детально
проанализированы принципы функционирования параллельного порта персонального компьютера и его программирование. Рассматриваются многочисленные аппаратнопрограммные проекты систем измерения и управления с управлением от параллельного порта ПК в операционных системах Windows;
глава 4 «Последовательный порт персонального компьютера в любительских разработках». Эта глава содержит материал по аппаратной архитектуре, протоколам обмена и программированию последовательного порта персонального компьютера. Приводятся практические проекты аппаратнопрограммных систем с использованием
последовательного порта;
глава 5 «Звуковые карты и их применение». Материал главы посвящен вопросам разработки и программирования систем домашней электроники на основе звуковой
карты. В главе проанализированы основы программирования генераторов частот и
систем управления с использованием библиотеки DirectSound пакета DirectX;
глава 6 «Интерфейсы USB и Bluetooth». В этой главе рассматривается широкий круг
вопросов, связанных с применением устройств USB и Bluetooth, включая основы их
функционирования и элементы программирования.

Автор благодарит коллектив издательства «ДМК» за помощь при подготовке книги к изданию. Особая признательность жене Юлии за поддержку и помощь при написании книги.

ВВЕДЕНИЕ
Возможности
персонального
компьютера
Персональные компьютеры в настоящее время широко используются практически во
всех сферах деятельности человека, которые известны всем и каждому: образование, экономика, научные исследования, коммуникации, индустрия развлечений. Тем не менее, есть и
более специализированные сферы деятельности, в которых компьютер может найти и находит достаточно эффективное применение, например, системы сбора и обработки информации в науке и промышленности, робототехника и системы управления, домашняя электроника. Как раз использование персонального компьютера в различных электронных устройствах, а также создание небольших систем сбора и обработки информации, простых систем
охранной сигнализации и многих других устройств обсуждается в этой книге.
Создание собственных аппаратнопрограммных проектов, в основе которых лежит использование домашнего персонального компьютера, требует определенных знаний, как архитектуры самого ПК, так и определенных знаний и навыков программирования. Кроме того,
разработка таких систем требует определенного уровня знаний в схемотехнике, как в аналоговой, так и в цифровой. Тем не менее, рассмотренные в книге проекты под силу реализовать
даже пользователям средней руки. Проектирование собственных устройств с использованием ПК базируется на применении возможностей аппаратных средств, входящих в состав
компьютера:

параллельного порта принтера;
последовательного порта;
звуковой карты;
устройств USB и Bluetooth.

Все эти устройства, помимо их стандартного применения, позволяют создавать и проекты
домашней электроники, которые могут, в принципе, не уступать даже лабораторным и промышленным системам. Более того, в мире выпускается очень много оборудования, применение которого базируется на использовании вышеперечисленных аппаратных средств. Достаточно вспомнить многочисленные версии «электронных осциллографов», базирующихся на
применении звуковой карты и протокола USB, системы сбора данных на базе последовательного и параллельного портов, системы удаленного управления на базе технологии Bluetooth.
В последнее время ведущие разработчики программного обеспечения, в их числе и Microsoft, начали создание программного обеспечения, направленного на поддержку различных
аппаратнопрограммных систем, которые может разработать любой пользователь, используя то или иное периферийное оборудование. Например, известный и быстро развивающийся
программный продукт, такой, как Microsoft Robotics Studio, предлагает программный интер1

Возможности
персонального
компьютера

8
фейс, позволяющий создавать системы управления роботами и другими устройствами домашней электроники. Фирма Phidgets и целый ряд других фирм выпускают электронные модули на базе USB, которые работают с Robotics Studio, снабжены программным интерфейсом и
легко интегрируются в ПК. С помощью таких устройств можно создавать системы управления
и измерения.
Этот перечень можно продолжить. Интерес пользователей к разработкам собственных
аппаратнопрограммных проектов с каждым днем возрастает, и с каждым днем на рынке
появляется все больше и больше устройств, подобных тем, которые выпускает Phidgets. Более того, появление и быстрое развитие беспроводных технологий открывает новые горизонты для творчества. Кстати, в этой нише в последнее время появилось также много фирм,
выпускающих аппаратнопрограммные модули для создания пользовательских электронных
систем. К сожалению, такие системы являются относительно дорогими для отечественных
пользователей, чтобы их можно было легко использовать в собственных электронных проектах. Предлагаемые в книге проекты не требуют больших финансовых затрат на комплектующие, а используемое в них программное обеспечение является бесплатным. Такие аппаратнопрограммные проекты позволяют решать довольно серьезные задачи.
Большинство читателей хорошо представляют себе архитектуру персонального компьютера, но, возможно, не знакомы с тем, как взаимодействуют устройства вводавывода (а к ним
относятся практически все устройства, кроме памяти) с процессором. В следующей главе мы
рассмотрим принципы функционирования устройств вводавывода, поскольку именно они
будут применяться для разработки наших проектов.

ВОЗМОЖНОСТИ ПЕРСОНАЛЬНОГО КОМПЬЮТЕРА
Архитектура
вводавывода
2

Архитектура
вводавывода

В этой главе вкратце рассматриваются основные аппаратнопрограммные аспекты, касающиеся организации и функционирования подсистем вводавывода в компьютерных системах с различной конфигурацией системных шин, включая шину PCI платформы x86, которая
наиболее часто применяется в персональных компьютерах. Такой анализ поможет глубже
понять принципы функционирования различных периферийных устройств в различных системах и облегчит задачи программирования таких устройств. Под термином «подсистема вводавывода» обычно понимают как аппаратные устройства компьютера, так и программный интерфейс, позволяющий взаимодействовать с ними.
Операции вводавывода для большинства компьютерных систем отличаются от операций
с памятью, как на уровне инструкций процессора, так и в плане схемотехнической реализации самих устройств. Схему вводавывода информации можно представить себе так, как показано на рис. 2.1.

Рис. 2.1
Иерархия подсистемы вводавывода компьютера

На самом нижнем уровне устройства взаимодействуют с аппаратурой компьютера через
одну или несколько шин командданных, интерфейс которых для разных аппаратных платформ вообще отличается, хотя некоторые стандарты (например, PCI PCI Express и т. д.) используются разными платформами.
АРХИТЕКТУРА ВВОДАВЫВОДА

Взаимодействие устройств на уровне шин осуществляется с помощью электрических сигналов, временные характеристики которых соответствуют используемому стандарту, а аппаратный интерфейс физического устройства должен обеспечить генерацию всех необходимых
сигналов обмена.
Обмен данными с устройством осуществляется посредством портов вводавывода и отображаемой памяти. В этом случае все операции с устройством выполняются на уровне инструкций процессора или микроконтроллера. Термин «вывод данных» означает операцию записи данных в устройство, а термин «ввод данных» означает чтение данных из устройства. Далее
мы будем использовать эти термины как синонимы.
Схемотехническая реализация портов вводавывода зависит от временной диаграммы
работы сигнальных линий процессора и реализации алгоритма обмена. Напомню, что центральным устройством любой компьютерной системы является процессор или микроконтроллер, который формирует сигналы обмена данными с устройствами в соответствии с определенными правилами.
Для стандартизации обмена данными процессора и устройств вводавывода используется
целый ряд промышленных стандартов обмена данными (так называемых «шинных интерфейсов»
или просто шин), наиболее известными из которых являются PCI и PCI Express. Шинный интерфейс предоставляет разработчикам устройств и пользователям единый стандарт обмена данными, что значительно облегчает интеграцию различных устройств в систему. Физически шина
представляет собой набор электрических линий, сигналы на которых подчиняются определенным правилам или стандартам, например, стандарту PCI, откуда и название шины.
С другой стороны, в большинстве случаев набор сигналов процессора или контроллера
не соответствует стандартам шины, поэтому между процессором и шиной помещают дополнительное устройство, которое обычно называют контроллером шины. Контроллер шины выполняет функции преобразования сигналов процессора в сигналы шинного интерфейса. Например, для систем с процессорами Intel контроллер шины преобразует сигналы процессора
в стандарт PCI или PCI Express (рис. 2.2).

Рис. 2.2
Упрощенная структура шинной
архитектуры

На этом рисунке контроллер шины для упрощения показан в виде одного модуля, хотя на
самом деле он может включать несколько интегральных микросхем и быть довольно сложным. Шина PCI в данном примере является системной шиной, и к ней могут подключаться
другие устройства, сигналы которых соответствуют стандарту данной шины. Например, к шине
PCI может подключаться хостконтроллер шины USB, который, в свою очередь, будет формировать сигналы синхронизации на шине USB для подключения USBустройств.
Таким образом, в любой болееменее сложной компьютерной системе обмен данными
между процессором и устройствами выполняется посредством одной или нескольких шин
Доступ онлайн
159 ₽
В корзину