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>.

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

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

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

<< Назад

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

Токсичность интернета преувеличена 07.01.2026

Социальные сети нередко воспринимаются как арена постоянной агрессии, оскорблений и распространения фейковой информации. Новое исследование Стэнфордского университета показывает, что реальность значительно отличается от популярного представления: интернет гораздо менее токсичен, чем многие пользователи считают. Ученые опросили более тысячи американцев, попросив их оценить долю пользователей соцсетей, которые ведут себя агрессивно или распространяют ненависть. Оказалось, что впечатления людей сильно преувеличивают масштабы проблемы. Например, респонденты считали, что почти половина пользователей Reddit хотя бы раз оставляла оскорбительные комментарии, тогда как фактические данные платформы показывают, что таких людей не более 3%. Аналогичная ситуация наблюдается с дезинформацией. Опрос показал, что большинство участников считали почти половину аудитории Facebook распространителями фейковых новостей, однако статистика говорит об обратном: фактическая доля таких пользователей состав ...>>

Процессоры Ryzen AI 400 07.01.2026

Современные вычисления все больше ориентируются на интеграцию искусственного интеллекта и высокую производительность в компактных устройствах, таких как ноутбуки и мини-ПК. Новая линейка процессоров AMD Ryzen AI 400 демонстрирует, как разработчики объединяют мощные центральные ядра, графику и нейросетевые ускорители в одном чипе, чтобы удовлетворять растущие потребности пользователей в играх, контенте и ИИ-приложениях. AMD представила процессоры серии Gorgon Point, которые включают до 12 ядер Zen 5 и до 24 потоков вычислений. Чипы поддерживают интегрированную графику RDNA 3.5, обеспечивают максимальную тактовую частоту до 5,2 ГГц и имеют энергопотребление от 15 Вт до 54 Вт. Особое внимание уделено NPU, способному обрабатывать до 60 триллионов операций в секунду (TOPS), что делает эти процессоры эффективными для задач с искусственным интеллектом. Конструкция Ryzen AI 400 сочетает ядра Zen 5 и Zen 5c, обеспечивая высокую гибкость и производительность. Несмотря на то, что архитектур ...>>

Женщины лучше распознают признаки болезни по лицу 06.01.2026

Способность распознавать, что кто-то нездоров, часто проявляется интуитивно: бледная кожа, опущенные веки, уставшее выражение лица могут сигнализировать о недомогании. Новое исследование международной группы ученых показало, что женщины в среднем точнее мужчин улавливают такие тонкие невербальные признаки болезни, что может иметь эволюционные и социальные объяснения. В отличие от предыдущих работ, где использовались отредактированные фотографии или имитация больных лиц, ученые решили проверить, насколько люди способны распознавать естественные признаки недомогания. Такой подход позволил оценить реальную чувствительность к изменениям в лицах, возникающим при болезни. В исследовании приняли участие 280 студентов, поровну мужчин и женщин. Участникам предложили оценить 24 фотографии, на которых изображены люди как в здоровом состоянии, так и во время болезни. Это дало возможность сравнить восприятие естественных признаков недомогания в реальных лицах. Для анализа состояния каждого ...>>

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

Бюджетный смартфон Nokia 2.3 27.11.2019

Компания HMD Global представила бюджетный смартфон Nokia 2.3 на основе операционной системы Android One, который сразу поступит в продажу по цене 109 евро.

Смартфон укомплектован 6,2-дюймовым дисплеем с каплевидным вырезом, разрешением HD+ (720p) и соотношением сторон 19:9. Корпус выполнен из металла с ребристым покрытием из полимера, его габаритные размеры составляют 157,69 х 75,41 х 8,68 мм, вес - 183 грамма. Покупатель сможет выбрать темно-зеленый (Cyan Green), песочный (Sand) или угольно-черный (Charcoal) вариант оформления.

В качестве центрального процессора Nokia 2.3 выступает чипсет MediaTek Helio A22, дополненный 2 ГБ оперативной памяти и хранилищем данных на 32 ГБ (плюс поддержка карт памяти microSD емкостью до 512 ГБ). Емкость аккумулятора составляет 4000 мАч, при этом производитель обещает до двух дней работы от одного заряда благодаря фирменной технологии "Адаптивная батарея".

Фронтальная камера на 5 Мп (f/2.4) поддерживает биометрическую идентификацию по лицу владельца, основная камера представляет собой сдвоенный фотомодуль из блока на 13 Мп (f/2,2) и 2 Мп сенсора глубины.

Смартфон оснащается отдельной клавишей для вызова Google Assistant, 3,5 мм аудиоразъемом, FM-радио, а также портом micro-USB с поддержкой режима зарядки 5В/2А. Модель Nokia 2.3 располагает модулями GSM/LTE, Wi-Fi 802.11 b/g/n, Bluetooth 5.0, GPS/AGPS, а вот NFC нет. На рынке будут доступны версии с одной или двумя SIM (используется формат nanoSIM).

Модель Nokia 2.3 работает под управлением Android 9 (Android One), однако производитель пообещал обновление до Android 10, а также как минимум 2 года гарантированных обновлений прошивок и 3 года ежемесячных обновлений системы безопасности.

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

▪ Чтобы попасть на самолет, достаточно показать часы

▪ Природа помогает детям учиться

▪ Обнаружены гигантские скопления турбулентного газа в удаленных галактиках

▪ Комфорт и сухость для самолета

▪ Электрогиперкар Pininfarina Battista

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

 

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

▪ раздел сайта Предварительные усилители. Подборка статей

▪ статья Нести свой крест. Крылатое выражение

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

▪ статья Пахиризус вырезной. Легенды, выращивание, способы применения

▪ статья Универсальный металлоискатель. Энциклопедия радиоэлектроники и электротехники

▪ статья Что случилось с грабителями? Секрет фокуса

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

Имя:


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


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





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

www.diagram.com.ua

www.diagram.com.ua
2000-2026