Юрий Ревич - Занимательная электроника

Тут можно читать онлайн Юрий Ревич - Занимательная электроника - бесплатно ознакомительный отрывок. Жанр: sci_radio, издательство БХВ-Петербург, год 2015. Здесь Вы можете читать ознакомительный отрывок из книги онлайн без регистрации и SMS на сайте лучшей интернет библиотеки ЛибКинг или прочесть краткое содержание (суть), предисловие и аннотацию. Так же сможете купить и скачать торрент в электронном формате fb2, найти и слушать аудиокнигу на русском языке или узнать сколько частей в серии и всего страниц в публикации. Читателям доступно смотреть обложку, картинки, описание и отзывы (комментарии) о произведении.
  • Название:
    Занимательная электроника
  • Автор:
  • Жанр:
  • Издательство:
    БХВ-Петербург
  • Год:
    2015
  • Город:
    Санкт-Петербург
  • ISBN:
    978-5-9775-3479-6
  • Рейтинг:
    2.9/5. Голосов: 921
  • Избранное:
    Добавить в избранное
  • Отзывы:
  • Ваша оценка:
    • 60
    • 1
    • 2
    • 3
    • 4
    • 5

Юрий Ревич - Занимательная электроника краткое содержание

Занимательная электроника - описание и краткое содержание, автор Юрий Ревич, читайте бесплатно онлайн на сайте электронной библиотеки LibKing.Ru

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

Для широкого круга радиолюбителей

Занимательная электроника - читать онлайн бесплатно ознакомительный отрывок

Занимательная электроника - читать книгу онлайн бесплатно (ознакомительный отрывок), автор Юрий Ревич
Тёмная тема
Сбросить

Интервал:

Закладка:

Сделать

Кроме UART в порт RS-232 (в том числе в СОМ-порт ПК) входит схема преобразования логических уровней в уровни RS-232, где биты передаются разнополярными уровнями напряжения, притом инвертированными относительно UART. В UART действует положительная логика с обычными логическими уровнями, где логическая единица есть высокий уровень (+3 или +5 В), а логический ноль — низкий уровень (0 В). У RS-232 логическая единица передается отрицательным уровнем от -3 до -12 В, а логический ноль — положительным уровнем от +3 до +12 В. Преобразователь уровня в МК, естественно, не входит, так что для стыковки с компьютером придется его изобретать.

Идея передачи по интерфейсу RS-232 заключается в передачи целого байта по одному проводу в виде последовательных импульсов, каждый из которых может быть 0 или 1. Если в определенные моменты времени считывать состояние линии, то можно восстановить то, что было послано. При этом для приемника и передатчика, связанных между собой тремя проводами («земля» и два сигнальных провода «туда» и «обратно»), приходится задавать скорость передачи и приема, которая должна быть одинакова для устройств на обоих концах линии. Эти скорости стандартизированы и выбираются из ряда: 1200, 2400, 4800, 9600, 14 400, 19 200, 28 800, 38 400, 56 000, 57 600, 115 200 (более медленные скорости я опустил) [42] Отметим, что стандарт RS-232E устанавливает максимальную скорость передачи 115 200, однако функции Windows позволяют установить и более высокую скорость, например, 128 000 или 256 000. Но не все схемы преобразования уровней могут пропустить через себя такие сигналы, и это следует учитывать при проектировании. В Arduino, вследствие общей «тормознутости» платформы, устанавливать связь на скоростях выше принятого по умолчанию значения 9600 не имеет особого смысла — чем меньше скорость, тем надежнее соединение. . Число это обозначает количество передаваемых/принимаемых битов в секунду.

Проблема состоит в том, что приемник и передатчик — это физически совершенно разные системы, и скорости эти для них не могут быть строго одинаковыми в принципе (из-за разброса параметров тактовых генераторов), и даже если их каким-то образом синхронизировать в начале, то они в любом случае быстро «разъедутся». Потому в RS-232 передача каждого байта всегда сопровождается начальным (стартовым) битом, который служит для синхронизации. После него идут восемь (или девять — если используется проверка на четность) информационных битов, а затем стоповые биты, которых может быть один, два и более, но это уже не имеет принципиального значения. Общая диаграмма передачи таких последовательностей показана на рис. 21.3.

Рис 213 Диаграмма передачи данных по последовательному интерфейсу RS232в - фото 237

Рис. 21.3. Диаграмма передачи данных по последовательному интерфейсу RS232в формате 8п2

В современных компьютерах СОМ-порт, как правило, отсутствует. Конечно, его можно обеспечить с помощью дополнительных плат или (в ноутбуках) PCMCIA-карт, но, в общем случае, это неудобно. Куда проще воспользоваться универсальным последовательным портом USB, имеющемся практически на каждом компьютерном устройстве. Микросхемы-переходники, обеспечивающие преобразование USB/RS-232, носят по наименованию выпускающей их фирмы название FTDI и являются составной частью любого устройства, обеспечивающего эмуляцию протокола RS-232 через USB. Устройство при этом имеет лишь простой UART, а преобразование обеспечивается микросхемой, которая в случае Arduino встроена в плату.

При соединении такого устройства с компьютером через USB-кабель драйвер распознает его, как виртуальный СОМ-порт (см. раздел об установке Arduino в этой главе). Кстати, подобную связь с компьютером имеют многие дешевые мобильники — в них со стороны телефона имеется лишь UART, в точности так же, как в МК AVR, а для связи нужен специальный и иногда довольно дорогой кабель-адаптер с установленной внутри микросхемой FTDI или аналогичной.

Как и взаимодействие с АЦП, работа через последовательный порт в Arduino относится к базовым функциям и не требует подключения внешних библиотек. Далее мы увидим, что физически передача через последовательный порт может быть реализована далеко не только с помощью USB, — чуть позже мы рассмотрим модуль, который «прозрачно» для программиста обеспечивает передачу по радиоканалу с помощью тех же самых функций.

Сам по себе обмен через последовательный порт в Arduino немногим сложнее чтения значения аналоговой величины в только что рассмотренном примере термостата и обеспечивается набором функций Serial (см. их описание в разделе Программирование [23]). Для успешной работы спроектированного устройства совместно с Windows, если Arduino IDE в ней не устанавливалась, необходимо установить драйвер ArduinoUSBSerial.inf , входящий в комплект Arduino IDE (находится в основном каталоге размещения среды Arduino). Для обмена данными библиотека Serial использует цифровые порты платы Arduino 0 (RX) и 1 (ТХ). Разумеется, если вы используете функции Serial , то нельзя одновременно с этим использовать порты 0 и 1 для других целей, — обратите внимание, что во всех наших проектах они остаются свободными.

Простейшая пробная программа для работы с функциями serial выглядит так:

Функция Serialwrite отличается от Serialprint тем что первая посылает - фото 238

Функция Serial.write() отличается от Serial.print() тем, что первая посылает данные, как числа, а вторая позволяет организовать вывод в различных строковых форматах (см. описание функции в [23]). Мы здесь употребляем вариант второй функции под названием serial.println , который дополнительно присоединяет к выводу символы перевода строки. Многочисленные примеры употребления этих операторов в разных вариантах вы встретите далее.

* * *

Подробности

Коммуникационные функции Arduino в случае приема нескольких байтов всегда требуют тщательной отладки на макете. На них (функциях) сказываются недостатки Arduino, заключающиеся в общей замедленности работы платформы. Отслеживание данных, приходящих через последовательный порт через непредсказуемые промежутки времени, представляет собой непростую задачу даже при использовании профессионального инструментария. Тем не менее и в простейшем виде, предлагаемом стандартными возможностями Aduino IDE, с этой задачей можно справиться.

Для лучшего понимания, как это делается, стоит учесть, что с последовательным портом в Arduino связан буфер размером 64 байта (не путать с аппаратным буфером самого UART). Чтобы действительно ничего не упустить, следует вызывать функцию Serial.availableо с задержкой — тогда, когда в этом буфере уже что-то имеется, иначе считается только первый пришедший байт, а остальные могут пропасть. Потому мы без зазрения совести ставим в программе временные задержки (функция delay ()) при приеме нескольких байтов из компьютера или другого устройства — операция, которая в случае отсутствия такого буфера, наоборот, только привела бы к гарантированной потере данных. При формировании задержек следует ориентироваться на то, что передача одного байта на скорости 9600 занимает примерно 1 миллисекунду. Так что при приеме в пределах десятка байтов будут разумными величины задержек порядка 10 миллисекунд или несколько более на весь цикл приема. Именно такой прием мы применим при установке часов из компьютера в главе 22 , где и познакомимся с приемом последовательности нескольких байтов.

Читать дальше
Тёмная тема
Сбросить

Интервал:

Закладка:

Сделать


Юрий Ревич читать все книги автора по порядку

Юрий Ревич - все книги автора в одном месте читать по порядку полные версии на сайте онлайн библиотеки LibKing.




Занимательная электроника отзывы


Отзывы читателей о книге Занимательная электроника, автор: Юрий Ревич. Читайте комментарии и мнения людей о произведении.


Понравилась книга? Поделитесь впечатлениями - оставьте Ваш отзыв или расскажите друзьям

Напишите свой комментарий
x