Юрий Ревич - Занимательная электроника
- Название:Занимательная электроника
- Автор:
- Жанр:
- Издательство:БХВ-Петербург
- Год:2015
- Город:Санкт-Петербург
- ISBN:978-5-9775-3479-6
- Рейтинг:
- Избранное:Добавить в избранное
-
Отзывы:
-
Ваша оценка:
Юрий Ревич - Занимательная электроника краткое содержание
На практических примерах рассказано о том, как проектировать, отлаживать и изготавливать электронные устройства в домашних условиях. От физических основ электроники, описания устройства и принципов работы различных радиоэлектронных компонентов, советов по оборудованию домашней лаборатории автор переходит к конкретным аналоговым и цифровым схемам, включая устройства на основе микроконтроллеров. Приведены элементарные сведения по метрологии и теоретическим основам электроники. Дано множество практических рекомендаций: от принципов правильной организации электропитания до получения информации о приборах и приобретении компонентов применительно к российским условиям. Третье издание дополнено сведениями о популярной платформе Arduino, с которой любому радиолюбителю становятся доступными самые современные радиоэлектронные средства.
Для широкого круга радиолюбителей
Занимательная электроника - читать онлайн бесплатно ознакомительный отрывок
Интервал:
Закладка:
В микроконтроллерных устройствах с нашими объемами данных, конечно, скорость передачи нас волнует во вторую очередь, но вот количество соединительных проводов — очень критичный фактор. Поэтому все внешние устройства, которые мы далее станем рассматривать, будут иметь последовательные интерфейсы (кроме дисплеев для отображения информации, для которых, увы, последовательные интерфейсы встречаются лишь в моделях достаточно высокого уровня).
Практически любой последовательный порт можно имитировать программно, используя обычные выводы МК. Когда-то так и поступали даже в случае самого популярного из таких портов — UART. Однако с тех пор МК обзавелись аппаратными последовательными портами, что, впрочем, не означает необходимости их непременного использования. Легкость программной имитации последовательных портов — еще одно их достоинство.
Из всех разновидностей портов, которые могут наличествовать в МК AVR, мы особенно обратим внимание на UART ( Universal Asynchronous Receiver-Transmitter , универсальный асинхронный приемопередатчик). UART есть основная часть любого устройства, поддерживающего протокол RS-232, но и не только его (недаром он «универсальный») — например, промышленные стандарты RS-485 и RS-422 также реализовываются через UART, т. к. они отличаются от RS-232 только электрическими параметрами и допустимыми скоростями, а не общей логикой построения.
В персональных компьютерах есть СОМ-порт, который работает по тому же протоколу RS-232, и узел UART точно так же является его базовой частью. Поэтому UART служит основным способом обмена данными МК с компьютером.
Отметим, что отсутствие СОМ-порта в большинстве современных моделей ПК не является препятствием — существуют переходники USB-COM, а в настольную модель можно вставить дополнительную карту с СОМ-портами. О том, как обращаться с UART на практике, рассказывается в главах 21 и 22 , применительно к платформе Arduino — программировать такой обмен на ассемблере гораздо сложнее (хотя и надежнее, см. далее). В главе 22 мы увидим, что существуют простые и при этом достаточно надежные способы организовать передачу через последовательный порт по радиоканалу, что позволяет обойтись вообще без проводов.
Кроме UART, почти все МК AVR содержат самый простой из всех последовательных портов — SPI ( Serial Peripheral Interface , последовательный периферийный интерфейс). Об устройстве SPI упоминалось в главе 16 . Его принципиальная простота сыграла отчасти дурную роль — трудно встретить два устройства, где протоколы SPI полностью совпадают, обычно обмен по этому порту сопровождается теми или иными «наворотами». Следует отметить, что программирование AVR также осуществляется через SPI, однако в общем случае этот интерфейс и SPI для обмена данными — разные вещи, хотя в большинстве случаев выводы у них одни и те же.
Кстати, всем знакомые карты памяти («флэшки») также адресуются через протокол, очень близкий к SPI.
Кроме этих портов, часто применяется очень простой аппаратно, но более сложный с программной точки зрения и довольно медленный интерфейс 12С (в терминологии Atmel AVR он называется TWI ( Two-Wire Interface , двухпроводной интерфейс). С его помощью можно общаться со многими устройствами: часами реального времени, компасами, датчиками, некоторыми разновидностями памяти. Мы рассмотрим его опять же в главах, посвященных Arduino .
В AVR имеется 10-разрядный АЦП последовательного приближения (см. главу 17 ). Работа с ним имеет довольно много нюансов, и мы ее подробно рассмотрим в главе 20 . В главе 22 вы увидите, насколько Arduino упрощает этот процесс. И вообще, некоторые другие узлы МК семейства AVR мы рассмотрим по ходу изложения конкретных схем — так будет нагляднее. Сейчас же мы закончим затянувшееся знакомство с микроконтроллером и обратимся к вопросу о том, как его программировать. Следующие две главы мы посвятим элементарным сведениям о программировании МК на ассемблере, а далее перейдем к языкам высокого (и даже сверхвысокого) уровня. Так вы сможете наглядно сравнить и даже при желании «пощупать руками» преимущества и недостатки того и иного подхода и границы их применимости.
ГЛАВА 19
Персональный компьютер вместо паяльника
О программировании МК
— Чтобы найти дорогу в Лондон, надо уметь говорить по-английски. По-моему, дело это очень трудное.
А.Дюма.Три мушкетера
Внедрение любой новой технологии требует начальных затрат. Не составляет исключения и микропроцессорная технология. В данном случае прямые затраты будут состоять в том, что вам, во-первых, придется приобрести программатор, во-вторых, компьютер — если по какой-то непостижимой случайности у вас его до сих пор нет. Затраты эти могут быть сведены к минимуму — программатор лучше приобрести специализированный, а он стоит на порядок меньше универсального, а компьютер для наших целей сгодится совершенно любой, лишь бы он был из семейства PC, т. е. умел бы работать с Windows (хотя есть программаторы, которые работают и с DOS, и, разумеется, с Linux). Большинство современных программаторов общаются с компьютером через универсальный порт USB (создавая через него виртуальный СОМ-порт), так что в этом отношении проблем не ожидается.
Раз уж мы начали с потребного «железа», то закончим эту тему, а потом перейдем к собственно программированию. Программатор, о котором идет речь, называется ISP-программатором ( In System Programming , т. е. программирование осуществляется прямо в устройстве пользователя). В Интернете можно найти множество предложений самодельных программаторов такого рода (ибо интерфейс программирования AVR не составляет секрета), но их функциональность и удобство пользования часто оставляют желать лучшего [30] Конструкции простейших самодельных программаторов можно найти, например, на сайте: http://avr.ru/ready/tools/prog .
. Поэтому предпочтительно покупать фирменный — так, очень удобные выпускает фирма Argussoft (AS-2/3/4).
Для того чтобы работать с ISP-программатором, естественно, его надо куда-то подключить. Для этого на программируемой плате специально устанавливают программирующий разъем. ISP-программаторы используют один и тот же тип разъема — игольчатый PLD ( PL double , т. е. двухрядный), который хорошо знаком всем, кто когда-нибудь подсоединял жесткий диск с IDE-интерфейсом к материнской плате. Естественно, для ISP-программаторов требуется гораздо меньше контактов, чем для жесткого диска. Минимальное их количество равно 6 (именно столько их у программатора, рекомендуемого самой фирмой Atmel , такой же разъем предусмотрен на всех платах Arduino ) — это выводы SPI-интерфейса программирования: MOSI, MISO и SLK, а также Reset и два вывода питания +5 В и «земля» (ISP-программаторы обычно питаются от программируемой схемы). Указанные выводы SPI-интерфейса присоединяются к одноименным выводам кристалла, которые есть у всех МК AVR, имеющих возможность SPI-программирования.
Читать дальшеИнтервал:
Закладка: