Menu Home

Бесплатная техническая библиотека для любителей и профессионалов Бесплатная техническая библиотека


Интерфейс PIC-контроллера с компьютером. Энциклопедия радиоэлектроники и электротехники

Бесплатная техническая библиотека

Энциклопедия радиоэлектроники и электротехники / Микроконтроллеры

Комментарии к статье Комментарии к статье

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

Для связи с устройством на МК можно использовать параллельный (LPT) или последовательный (СОМ) порт компьютера. С первым работать проще - в нем можно использовать относительно большее число входных и выходных сигналов, уровни которых совместимы с ТТЛ. Недостатком этого порта является то, что если под DOS или Linux для его использования достаточно простых операций ввода/вывода, то для корректной работы под Windows необходимо строгое соблюдение протокола передачи данных, который при работе с МК не эффективен. Возможно и прямое управление отдельными линиями LPT порта, но для этого требуется установка специального драйвера. "Недостатком" LPT порта можно считать то, что в большинстве компьютеров он всего лишь один и, как правило, занят принтером.

Главные преимущества СОМ порта в том, что стандартный программный интерфейс Windows (API) позволяет непосредственно управлять некоторыми выходными линиями и контролировать входные, а также имеет функцию ожидания некоторого события, связанного с СОМ портом. Его достоинство и в том, что стандарт RS-232, по которому выполнены СОМ порты, допускает подключение и отключение кабелей во время работы устройств (hot plug). К тому же почти всегда в компьютере имеется свободный СОМ порт. Недостаток порта - отличный от ТТЛ уровень сигналов, в котором низкому логическому уровню соответствует напряжение -12, а высокому - +12 В.

Реализация стандартного интерфейса RS-232 потребовала бы от МК точного соблюдения временных интервалов между выдаваемыми сигналами. В реальной ситуации кварцевый резонатор микроконтроллера может не соответствовать частоте передачи данных, а сам МК обычно занят чем-то более важным, чем формирование точных временных интервалов. В результате оказывается проще программно реализовать последовательный синхронный вариант обмена, когда каждый бит данных подтверждается импульсом синхронизации.

Принципиальная схема предлагаемого интерфейса показана на рис. 1.

Интерфейс PIC-контроллера с компьютером

Для преобразования уровней RS-232 в ТТЛ используются резистивные делители R1R4 и R2R5. Диоды VD1 и VD2 необходимы для того, чтобы не пропускать отрицательное напряжение, соответствующее логическому нулю. Выходной ТТЛ сигнал МК в преобразовании не нуждается и может быть подан на входные линии СОМ порта непосредственно. Резистор R3 ограничивает выходной ток МК при возможном случайном коротком замыкании.

Как видно из схемы, для связи с компьютером требуются четыре провода. Компьютер инициирует обмен данными, выдавая синхронизирующие импульсы в линию DTR, выставляя при этом на линии RTS передаваемые данные и получая по линии CTS принимаемые. Изменять данные компьютер и МК могут только при низком логическом уровне сигнала синхронизации. Такой вариант реализации интерфейса позволяет реализовать дуплексный режим передачи данных.

Номера контактов XS1 на схеме указаны для розетки DB-25F при использовании стандартного модемного кабеля. Номера контактов для других разъемов и при использовании нуль-модемного кабеля приведены в табл. 1.

Интерфейс PIC-контроллера с компьютером

Частота следования синхронизирующих импульсов должна выбираться такой, чтобы МК гарантированно успевал обрабатывать данные от компьютера, реагируя на каждый синхронизирующий импульс. Информационные биты передаются последовательно. По окончании передачи битов одного байта следует передача битов следующего, при этом первым передается старший информационный бит. Для приведения интерфейса в исходное состояние (установка номера передаваемого байта в 0) компьютер должен при лог. 1 на линии синхронизации изменить состояние линии данных. МК выдает новый бит данных на линии CTS по спаду импульсов положительной полярности на входе синхронизации DTR, а считывает данные с линии RTS по фронту импульсов положительной полярности. Обмен можно в любой момент прервать, прекратив подачу импульсов синхронизации. Временная диаграмма обмена данными приведена на рис. 2.

Интерфейс PIC-контроллера с компьютером

При реализации интерфейса рекомендуется в некоторых байтах передавать контрольные значения для проверки правильности передаваемых данных.

Исходный код процедуры для МК PIC16F84A [1] на языке С, реализующий предлагаемый интерфейс, приведен в табл. 2. Вызов процедуры link() находится в основном цикле программы и при работе МК вызывается постоянно для того, чтобы контролировать состояние интерфейса. Все переменные, используемые процедурой, объявлены как глобальные. При каждом вызове она считывает состояния входных линий интерфейса (RB6 и RB7) и сравнивает с их состояниями при предыдущем вызове. При некоторых условиях (спад синхронизации, фронт синхронизации, сброс интерфейса) выполняются действия согласно логике работы интерфейса.

Интерфейс PIC-контроллера с компьютером

Исходный код процедуры для компьютера на языке Pascal (Delphi) приведен в табл. 3. Здесь процедура link однократно вызывается для проведения акта обмена информацией с МК. Перед ее вызовом необходимо заполнить передаваемый буфер obuf. По окончании работы процедуры принятые данные будут находиться в массиве ibuf. Процедура открывает указанный СОМ порт компьютера и с помощью функций Windows API [2] управляет состоянием выходных линий и опрашивает входные. После завершения обмена информацией порт закрывается.

Интерфейс PIC-контроллера с компьютером

В процедуре link временные задержки реализованы с помощью функции sleep(). Их значения рассчитывают или подбирают экспериментально по отсутствию потери бит при обмене данными между МК и компьютером. В примере указаны задержки для обмена с PIC-кон-троллером с кварцевым резонатором на частоту 4 МГц, который, кроме того, совершает и другую полезную работу. Если процедура обмена выполняется слишком долго, ее допускается выносить в отдельную нить выполнения операционной системы, чтобы она выполнялась параллельно основной программе [2].

Если при обмене информацией требуются отдельно чтение и запись, можно разнести по различным адресам массивы передаваемых и принимаемых данных, как показано на рис. 2.

В МК формирование передаваемых данных и использование принимаемых удобно построить в виде процедур upload() и download(), вызываемых перед передачей и при приеме очередного байта соответственно. Первая из них должна возвращать значение передаваемого байта по его номеру в передаваемом пакете информации, вторая получает значение принятого байта и его номер в пакете и должна использовать эти значения для изменения регистров МК, записи в EEPROM и пр. Реализация этих процедур для обработки информационного пакета размером 4 байта (табл. 4) показана в табл. 5.

Интерфейс PIC-контроллера с компьютером

Пример программы для МК приведен для компилятора С2С [3]. Процедура для компьютера может быть использована в программе, написанной на Borland Delphi 3 и выше.

Литература

  1. <microchip.com/download/ lrt/pline/picmicro/families/16f8x/30430c.pdf >.
  2. Microsoft Developer Network, Technical Articles. - <msdn.microsoft.com>.
  3. <picant.com/c2c/c.html>.

Автор: С.Кулешов, г.Курган

Смотрите другие статьи раздела Микроконтроллеры.

Читайте и пишите полезные комментарии к этой статье.

<< Назад

Последние новости науки и техники, новинки электроники:

Кислотность океана разрушает зубы акул 03.10.2025

Мировые океаны выполняют важнейшую функцию - они поглощают около трети углекислого газа, выбрасываемого в атмосферу. Это помогает замедлять темпы глобального потепления, но имеет и обратную сторону. Растворяясь в воде, CO2 образует угольную кислоту, которая повышает концентрацию водородных ионов и приводит к снижению pH. Вода становится более кислой, а последствия этого процесса уже заметны для морских экосистем. Средний показатель кислотности океана сейчас равен примерно 8,1, тогда как еще недавно за условную норму брали значение 8,2. По прогнозам, к 2300 году уровень может упасть до 7,3 - это сделает океан почти в десять раз кислее нынешнего состояния. Для обитателей морей подобные изменения означают не просто сдвиг химического равновесия, а реальную угрозу физиологическим процессам, начиная от формирования раковин у моллюсков и заканчивая охотничьим поведением акул. Чтобы выяснить, как именно кислотная среда отражается на зубах акул, группа немецких исследователей провела эксп ...>>

Почтовый космический корабль Arc 03.10.2025

Космические технологии становятся частью инфраструктуры, способной повлиять на логистику, медицину и даже военную сферу. Идея использовать орбиту как глобальный склад для срочных поставок звучала еще недавно как научная фантастика, но стартап Inversion пытается превратить ее в практическое решение. Компания Inversion появилась в начале 2021 года благодаря Джастину Фиаскетти и Остину Бриггсу, которые на тот момент были студентами Бостонского университета. Их замысел состоял в том, чтобы сделать возможной доставку грузов не только через спутниковые сети данных, но и в буквальном смысле - физических предметов. В основе лежит простая мысль: если космос обеспечивает доступ к любой точке Земли, то и грузы должны перемещаться тем же маршрутом. Уже за три года работы команда из 25 специалистов успела построить демонстрационный аппарат "Ray". Его запуск состоялся в рамках миссии SpaceX Transporter-12. Устройство весом 90 килограммов проверяло ключевые технологии Inversion, включая двухком ...>>

Лазерное обогащение урана 02.10.2025

Ядерная энергия остается одним из ключевых источников стабильного электричества, особенно для стран с растущими потребностями в энергоснабжении. Однако обеспечение бесперебойных поставок топлива для атомных станций требует современных технологий обогащения урана, которые одновременно эффективны и безопасны. Американская компания Global Laser Enrichment (GLE) делает значительный шаг в этом направлении, завершив масштабное тестирование лазерной технологии обогащения урана. Демонстрационная программа была проведена на объекте в Уилмингтоне, Северная Каролина. Тестирование технологии SILEX (Separation of Isotopes by Laser EXcitation), разработанной австралийской Silex Systems, стартовало в мае 2025 года и продлится до конца года. В ходе экспериментов компания планирует получить сотни фунтов низкообогащенного урана (LEU), который может быть использован в качестве топлива для атомных электростанций. GLE была создана в 2007 году для коммерциализации лазерных методов обогащения урана в С ...>>

Случайная новость из Архива

Центр управления умным домом IKEA DIRIGER 02.06.2022

Производитель мебели анонсировал новый центр управления для умных домов, который вместе с новым приложением сможет управлять всем - от лампочек до жалюзи из своего каталога и других брендов. Центр получил название DIRIGERA и поддерживает стандарт для устройств умного дома Matter, который раньше назывался Project CHIP.

Устройство DIRIGERA (от шведского слова "направлять") имеет высоту 2,7 см при диаметре 11,2 см, что меньше, чем у прошлой модели TRADFRI, которая была единственным хабом для умного дома у компании. Новый концентратор оснащен портом Ethernet и разъемом USB-C для питания. Он также объединяет соединения WiFi, Zigbee и Thread, служа мостом между различными сетями, которые могут использоваться подключенными объектами в каждом доме.

На данный момент DIRIGERA и приложение Home Smart поддерживают только Matter и смогут взаимодействовать со всем оборудованием, созданным Ikea, а также с сертифицированными по Matter продуктами других брендов.

Хаб для умного дома и приложение выпустят в октябре этого года, сообщается на сайте компании. А в первой половине следующего года также представят функцию удаленного доступа, облегчая доступ к устройствам. IKEA намерена создать собственную облачную сеть, чтобы предложить своим пользователям удаленное подключение к дому.

Руководители IKEA сообщили изданию The Verge, что весь каталог мебели и декора будет становиться все более "умным". В ближайшие годы в магазинах бренда появятся колонки или беспроводные зарядные устройства, встроенные в лампы, полки и столы.

Другие интересные новости:

▪ Люди охотятся на птиц или наоборот

▪ Сверхточные запутанные атомные часы

▪ Тепловой след откроет пин-код смарфона

▪ Магнитное поле улучшает мышцы

▪ Робот поможет одеться

Лента новостей науки и техники, новинок электроники

 

Интересные материалы Бесплатной технической библиотеки:

▪ раздел сайта Жизнь замечательных физиков. Подборка статей

▪ статья Что такое RIAA, MM и MC. Искусство аудио

▪ статья Как возникла поэзия? Подробный ответ

▪ статья Паркетчик. Типовая инструкция по охране труда

▪ статья Доработка акустических систем Амфитон 25АС-027. Энциклопедия радиоэлектроники и электротехники

▪ статья Химическая чистка окислением. Химический опыт

Оставьте свой комментарий к этой статье:

Имя:


E-mail (не обязательно):


Комментарий:





Главная страница | Библиотека | Статьи | Карта сайта | Отзывы о сайте

www.diagram.com.ua

www.diagram.com.ua
2000-2025