Expert Zamkovoy Vladimir "Фабрика инновационных технологий"
Обмен данными между микроконтроллерами, стандарты, примеры - Форум
Меню сайта

Форма входа

Поиск

Друзья сайта

Статистика

Приветствую Вас, Гость · RSS 21.08.2017, 18:02

[ Новые сообщения · Участники · Правила форума · Поиск · RSS ]
Страница 1 из 11
Модератор форума: Диттер 
Форум » Начинающему конструктору » Микроконтроллеры » Обмен данными между микроконтроллерами, стандарты, примеры (USART, SR 485, I2C)
Обмен данными между микроконтроллерами, стандарты, примеры
ДиттерДата: Среда, 21.01.2009, 15:30 | Сообщение # 1
ведущий консультант форума
Группа: Администраторы
Сообщений: 591
Статус: Offline
USART

Универсальный синхронно/асинхроныый приемо-передатчик,

это аппаратное устройство в МК позволяет принимать и передавать информацию по протоколу RS-232,
конечно, с соответствующим преобразователем уровней +/- 12в, для компьютерного RS232 лог."1"=-12в, лог."0"=+12в!,
поэтому для стыковки МК и компьютера обязательно понадобится схема сопряжения уровней.

USART- есть в 16F627 и 16F628 , а в других - смотрите Даташиты (например в 16F84A -нет ), правда его можно реализовать программно но аппаратный работает намного стабильнее.
Прочитать про режимы работы и настройку USART- можно в русифицированной

http://www.microchip.ru:/files/d-sheets-rus/pic16_18.pdf

Рассмотрим прием байта для общего развития.
При отсутствии передачи линия находится в состоянии лог. "1" .
Признаком начала передачи является так называемый старт-бит, который всегда "0". За ним следуют 8 бит данных, младшим битом вперед.
Заканчивается посылка стоп-битом, который всегда "1".
Для достоверного обмена требуется точное совпадение скоростей передачи и приема, погрешность допускается не более 2,5%.
Отсюда вывод - если планируете использовать USART, то тактовый генератор МК должен работать с кварцем.

Приемник по первому спаду - начало старт-бита - синхронизируется, отсчитывает половину периода ( времени передачи одного бита) и проверяет уровень на входе.
Если он не "0" - значит, помеха, все отменяется.
Если "0" - далее отсчитывает по полному периоду, и вдвигает 0 или 1 в сдвиговый регистр.
Когда все 8 бит приняты, отсчитывается еще один период и проверяется наличие на входе "1" - стоп-бита.
Если стоп-бит не равен "1", фиксируется ошибка, иначе байт считается принятым.

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

Что касается частоты, правильнее сказать скорости, то она задается соответствующим регистром, и насколько я понял, она привазана к тактовой частоте МК.
Т.е. на частоте 4МГц, для работы на скорости 9600кбит/с в регистр нужно вписать "одно" значение, для другой скорости - соответственно "другое".
Значения обычно приводятся в примерах программ. Их можно подбирать и экспериментально.

Значения обычно приводятся в даташитах. Во всяком случае, для АВР-ов для всех скоростей в таблице прибодятся baud rates для доброй дюжины кварцев.


Чем больше мы знаем, тем дороже стоим на рынке труда
 
ДиттерДата: Среда, 21.01.2009, 16:16 | Сообщение # 2
ведущий консультант форума
Группа: Администраторы
Сообщений: 591
Статус: Offline
RS-485 официальное название TIA/EIA-485-A

Широко распространенный высокоскоростной и помехоустойчивый промышленный последовательный интерфейс передачи данных. Практически все современные компьютеры в промышленном исполнении, большинство интеллектуальных датчиков и исполнительных устройств, программируемые логические контроллеры наряду с традиционным интерфейсом RS-232 содержат в своем составе ту или иную реализацию интерфейса RS-485.

RS-485 передает цифровую информацию между многими объектами. Скорость передачи данных может достигать 10 Мбит/с, а иногда и превышать эту величину. RS-485 предназначен для передачи этой информации на значительные расстояния, и 1200 метров хорошо укладывается в его возможности. Расстояние и скорость передачи данных, с которыми RS-485 может успешно использоваться, зависят от многих моментов при разработке схемы межсоединений системы. Может успешно осуществлять передачу с использованием различных типов передающей среды, он должен использоваться с проводкой, обычно называемой "витая пара".

RS 485 спроектирован как балансная система. Проще говоря, это означает, что, помимо земляного, имеется два провода, которые используются для передачи сигнала.
Система называется балансной, потому что сигнал на одном проводе является идеально точной противоположностью сигнала на втором проводе. Другими словами, если один провод передает высокий уровень, другой провод будет передавать низкий уровень, и наоборот. Скручивание проводов помогает нейтрализовать любое остаточное электро-магнитное излучение из-за конечного расстояния между двумя проводами.
Спецификация RS-485 рекомендует, но явно не навязывает, чтобы это волновое сопротивление было равно 120 Ом.

Если сопротивление согласующих резисторов не равно волновому сопротивлению кабеля, произойдет отражение, т.е. сигнал вернется по кабелю обратно. Это описывается уравнением (Rt-Zo)/(Zo+Rt), где Zo - сопротивление кабеля, а Rt - номинал согласующего резистора. Хотя, в силу допустимых отклонений в кабеле и резисторе, некоторое отражение неизбежно, значительные расхождения могут вызвать отражения, достаточно большие для того, чтобы привести к ошибкам в данных.
Как общее правило, согласующие резисторы должны быть помещены на обоих дальних концах кабеля

Простейшая сеть на основе RS-485 состоит из одного передатчика и одного приемника. Хотя это и полезно в ряде приложении, но RS-485 привносит большую гибкость, разрешая более одного приемника и передатчика на одной витой паре. Допустимый максимум зависит от того, насколько каждое из устройств загружает систему.

Все приемники и неактивные передатчики должны иметь бесконечный импеданс и никогда не будут нагружать систему. Однако каждый приемник, подключенный к сети и все неактивные передатчики увеличивают нагрузку. Все устройства, которые подключаются к сети RS-485, должны характеризоваться отношением множителей или долей единичной нагрузки. Два примера - MAX3485, который специфицирован как 1 единичная нагрузка, и MAX487, который специфицирован как 1/4 единичной нагрузки. Максимальное число единичных нагрузок на витой паре (принимая, что мы имеем дело с должным образом согласованным кабелем, имеющим волновое сопротивление 120 Ом или больше) - 32. Для приведенных выше примеров это означает, что в одну сеть могут быть включены до 32 устройств MAX3485 или до 128 MAX487.

Сеть с несколькими приемопередатчиками. Как и в примере с одним передатчиком и несколькими приемниками, важно, чтобы расстояния от витой пары до приемников были как можно короче.


Чем больше мы знаем, тем дороже стоим на рынке труда
 
ДиттерДата: Среда, 21.01.2009, 20:50 | Сообщение # 3
ведущий консультант форума
Группа: Администраторы
Сообщений: 591
Статус: Offline
InterIC, или IIC (I2C) шина

Philips разработала простую двунаправленную двухпроводную шину для эффективного “межмикросхемного” (inter-IC) управления. Шина так и называется - InterIC, или IIC (I2C) шина. В настоящее время ассортимент продукции Philips включает более 150 КМОП и биполярных I2C-совместимых устройств, функционально предназначенных работы во всех трех вышеперечисленных категориях электронного оборудования. Все I2C-совместимые устройства имеют встроенный интерфейс, который позволяет им связываться друг с другом по шине I2C. Вот некоторые достоинства шины I2C:
Требуется только две линии - линия данных (SDA) и линия синхронизации (SCL) Каждое устройство, подключённое к шине, может быть программно адресовано по уникальному адресу. В каждый момент времени существует простое отношение ведущий/ведомый: ведущие могут работать как ведущий-передатчик и ведущий-приёмник.

Шина позволяет иметь несколько ведущих, предоставляя средства для определения коллизий и арбитраж для предотвращения повреждения данных в ситуации, когда два или более ведущих одновременно начинают передачу данных В стандартном режиме обеспечивается передача последовательных 8-битных данных со скоростью до 100 кбит/с, и до 400 кбит/с в “быстром” режиме.

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

Максимальное допустимое количество микросхем, подсоединённых к одной шине, ограничивается максимальной емкостью шины 400 пФ.

Блоки на функциональной схеме соответствуют микросхемам, переход от функциональной схемы к принципиальной происходит быстро.
Нет нужды разрабатывать шинные интерфейсы, т.к. шина уже интегрирована в микросхемы.
Интегрированные адресация устройств и протокол передачи данных позволяют системе быть полностью программно определяемой.
Одни и те же типы микросхем могут быть часто использованы в разных приложениях.
Время разработки снижается, так как конструкторы быстро знакомятся с часто используемыми функциональными блоками и соответствующими микросхемами.
Микросхемы могут быть добавлены или убраны из системы без оказывания влияния на другие микросхемы, подключенные к шине.
Простая диагностика сбоев и отладка; нарушения в работе могут быть немедленно отслежены.
Время разработки программного обеспечения может быть снижено за счет использования библиотеки повторно используемых программных модулей.
Помимо этих преимуществ, КМОП I2C-совместимые микросхемы предоставляют для конструкторов специальные решения, которые в частности привлекательны для портативного оборудования и систем с батарейным питанием:

Крайне низкое потребление.
Высокая стойкость к помехам.
Широкий диапазон питающего напряжения.
Широкий рабочий температурный диапазон

Шина I2C поддерживает любую технологию изготовления микросхем (НМОП, КМОП, биполярную). Две линии, данных (SDA) и синхронизации (SCL) служат для переноса информации. Каждое устройство распознается по уникальному адресу - будь то микроконтроллер, ЖКИ буфер, память или интерфейс клавиатуры - и может работать как передатчик или приёмник, в зависимости от назначения устройства. Обычно ЖКИ буфер - только приёмник, а память может как принимать, так и передавать данные. Кроме того, устройства могут быть классифицированы как ведущие и ведомые при передаче данных (см. Табл 1). Ведущий - это устройство, которое инициирует передачу данных и вырабатывает сигналы синхронизации. При этом любое адресуемое устройство считается ведомым по отношению к ведущему.
Термин (англ) ______Термин (рус)____________ Описание
Transmitter ___________Передатчик ____________Устройство, посылающее данные в шину
Receiver_____________ Приемник ______________Устройство, принимающее с шины
Master_______________ Ведущий______________ Начинает пересылку данных, вырабатывает синхроимпульсы, заканчивает пересылку данных
Slave________________ Ведомый______________ Устройство, адресуемое ведущим
Multi-master -_________ Несколько ведущих могут пытаться захватить шину одновременно, без нарушения передаваемой информации
Arbitration ____________Арбитраж _____________Процедура, обеспечивающая Multi-master
Synchronization________ Синхр. _______________Процедура синхронизации двух устройств


Микроконтроллер А
Массив
ЖКИ драйвер
АЦП
Статическая ОЗУ или ППЗУ
Микроконтроллер B


Чем больше мы знаем, тем дороже стоим на рынке труда
 
ДиттерДата: Вторник, 27.01.2009, 11:49 | Сообщение # 4
ведущий консультант форума
Группа: Администраторы
Сообщений: 591
Статус: Offline
CAN интерфейс - (Control Area Network)

Протокол CAN активно используется уже более 20 лет, что очень важно для таких консервативных областей как железнодорожный транспорт или судостроение. CAN был разработан в 1980 г. фирмой Robert Bosch для автомобильной промышленности. CAN-интерфейс регламентирован международными стандартами ISO 11898 для высокоскоростных и ISO 11519-1 для низкоскоростных приложений.
Низкая стоимость определяется хорошим соотношением цена/производительность, также широкой доступностью CAN-контроллеров на рынке.
Надежность определяется линейной структурой шины и равноправностью ее узлов, так называемой мультимастерностью (Multi Master Bus), при которой каждый узел CAN может получить доступ к шине.
Любое сообщение может быть послано одному или нескольким узлам.
Все узлы одновременно считывают с шины одну и ту же информацию, и каждый из них решает, принять данное сообщение или игнорировать его.
Одновременный прием очень важен для синхронизации в системах управления.
Отказавшие узлы отключаются от обмена по шине.

Гибкость достигается за счет простого подключения к шине и отключения от шины CAN-узлов,
причем общее число узлов не лимитировано протоколом нижнего уровня.
Адресная информация содержится в сообщении и совмещена с его приоритетом, по которому осуществляется арбитраж.
В процессе работы возможно изменение приоритета передаваемого сообщения.
Следует также отметить возможность программирования частоты и фазы передаваемого сигнала и арбитраж, не разрушающий структуру сообщений при конфликтах.
На физическом уровне есть возможность выбора разнотипных линий передачи данных: от дешевой витой пары до оптоволоконной линии связи.

Работа в реальном времени становится возможной благодаря механизмам сетевого взаимодействия (мультимастерность, широковещание, побитовый арбитраж) в сочетании с высокой скоростью передачи данных (до 1 Мбит/с), быстрой реакцией на запрос передачи и изменяемой длиной сообщения от 0 до 8 байт.

Физический уровень

CAN-шины представляет собой соединение «монтажное И» между всеми устройствами, подключенными к ней.
Дифференциальные сигнальные линии называются CAN_H и CAN_L и в статическом состоянии находятся под потенциалом 2,5 В. Лог. 1 (рецессивный бит) обозначает состояние шины, при котором уровень на линии CAN_H выше, чем уровень CAN_L.
При лог. 0 (доминантный бит) уровень на линии CAN_H ниже, чем уровень CAN_L.
Принято следующее соглашение о состоянии шины: пассивное состояние шины соответствует уровню лог. 1, а активное — уровню лог. 0.
Когда сообщения не передаются по шине, она находится в пассивном состоянии.
Передача сообщения всегда начинается с доминантного бита.
Логика работы шины соответствует «проводному И»: доминантный бит «0» подавляет рецессивный бит

Арбитраж узлов CAN-шины

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

В результате узел принимает и обрабатывает только те сообщения, которые предназначены именно для него.

Каждое сообщение имеет свой приоритет, значение которого содержится в идентификаторе сообщения. Кроме того, идентификаторы используются для обозначения типа сообщения. Сообщению с младшим номером идентификатора соответствует высший приоритет; наивысшим приоритетом обладает сообщение с идентификатором, состоящим полностью из нулей. Передача сообщения начинается с отправки на шину идентификатора. Если доступ к шине требуют несколько сообщений, то сначала будет передано сообщение с наиболее высоким приоритетом, то есть с меньшим значением идентификатора, независимо от других сообщений и текущего состояния шины.


Чем больше мы знаем, тем дороже стоим на рынке труда
 
ДиттерДата: Вторник, 27.01.2009, 14:05 | Сообщение # 5
ведущий консультант форума
Группа: Администраторы
Сообщений: 591
Статус: Offline
CCP захват/сравнение/ШИМ (Capture, Compare, Pulse Width Modulation)

(ШИМ есть импульсный сигнал постоянной частоты и переменной скважности, то есть отношения длительности импульса к периоду его следования. С помощью задания скважности (длительности импульсов) можно менять среднее напряжение на выходе ШИМ.)

Данный модуль может быть сконфигурирован для работы в режиме входного сравнения, или таймера сравнения, или ШИМ с выходом.

Практически во всех микроконтроллерах среднего и старших семейств есть модуль CCP (Capture/Compare/PWM — Захват/Сравнение/ШИМ).
Разработчики, использующие контроллеры Microchip, хорошо знакомы с этим стандартным модулем.
Он обеспечивает хорошие характеристики и при этом является легко управляемым.
Совсем недавно появились PICmicro с усовершенствованным модулем ECCP.

Новый модуль предназначен, прежде всего, для работы совместно с парами мощных транзисторов и значительно упрощает построение схем управления силовыми драйверами преобразователей DC/DC и двигателями постоянного тока сервоприводов.
Работа модулей Capture/Compare не изменилась, поэтому останавливаться на них не будем.

Модули ECCP встроены в микроконтроллеры PIC16C717 с 10-разрядным АЦП и PIС16С770/771 с 12-разрядным АЦП, таким образом, автоматически решается проблема создания точной обратной связи. Все это позволяет разработчику создать законченное устройство, используя всего лишь одну микросхему контроллера PICmicro, сэкономив на различных микросхемах драйверов и преобразователей.


Чем больше мы знаем, тем дороже стоим на рынке труда
 
ДиттерДата: Четверг, 19.03.2009, 16:05 | Сообщение # 6
ведущий консультант форума
Группа: Администраторы
Сообщений: 591
Статус: Offline
C интегрированным Wi-Fi-модемом

Линейка процессорных модулей MiniCore компании Rabbit пополнилась новым модулем RCM5600W с интегрированным Wi-Fi-модемом, поддерживающим стандарты 802.11.b/g. Модуль RCM5600W позволяет загружать и выполнять приложение пользователя, написанное на языке Си.

Модуль RCM5600W предназначен для использования в системах управления в реальном масштабе времени, коммуникационных приложениях и в промышленной телеметрии. Миниатюрные размеры модуля упрощают его интеграцию в конечное устройство. Размер модуля составляют всего лишь 30 x 51 x 10 мм (формат mini PCI Express). Rabbit планирует в будущем также представить взаимозаменяемые модели с поддержкой ZigBee и USB.

Модуль RCM5600W совместим на уровне конструктивного исполнения и назначения выводов с модулем RCM5700 , что позволяет разработчикам выбирать требуемый вариант сетевого подключения (Ethernet или Wi-Fi) для своего конечного продукта. RCM5600W включает в себя процессор Rabbit 5000 (74 МГц) с 1 МБ флэш-памяти и 1 МБ SRAM, 35 линий цифрового ввода-вывода общего назначения (GPIO) и шесть последовательных портов.

Основные технические характеристики модуля RCM5600W приведены в таблице:
Параметр Значение
Микропроцессор Rabbit® 5000 (74 MHz)
Последовательная Flash-память программ 1 MB
Оперативная память SRAM 1 MB
Резервная батарея Контакты для внешней батареи для поддержки RTC
Порты ввода-вывода До 35 цифровых линий I/0 c возможностью альтернативной конфигурации
Дополнительный вход Reset in
Дополнительные выходы Status, Reset out
Внешняя шина (I/O Bus) 8 линий данных и 8 линий адреса, линии I/O read/write
Последовательные порты 6 высокоскоростных конфигурируемых портов (CMOS-compatible):
6 x асинхронных (с поддержкой IrDA)
4 x тактируемых последовательных канала SPI (2 как SDLC/HDL)
1 x тактируемый последовательный порт (программирование)

Скорость последовательных портов Максимальная асинхронная скорость = CLK/8
Часы реального времени Есть
Таймеры Десять 8-битных таймеров (6 каскадно наращиваемых) Один 10-битный таймер с 2-мя регистрами совпадения Один 16-битный таймер с 4 выходными и 8 установочными регистрами
Watchdog/Supervisor Есть
Выход ШИМ 4 канальный синхронный ШИМ с 10-битным счетчиком или 4 канала с 16-битным счетчиком
Захват 2 канала захвата могут использоваться для измерения временных характеристик входных сигналов с различных выводов
Квадратурный декодер 2 канала
Питание 3.15 В (мин.) - 3.45 В (макс.)
625 мА @ 3.3 В в режиме передачи/приема
85 mA @ 3.3 В если нет передачи/приема
Рабочая температура -30° C ... +55° C
Разъемы Краевой 52 контактный разъем (mini PCI Express socket)
Размеры 30 мм × 51 мм × 10 мм
Параметры Wi-Fi
Безопасность WEP 64-bit and 128-bit, WPA (TKIP), WPA2(AES/CCMP)
Доступ к сети Infrastructure, Ad-Hoc
Антенный разъем U.FL, 50 Ом
Стандарт 802.11b/g, 2.4 ГГц
:

RCM5600W - процессорный модуль с Wi-Fi 802.11 b/g
RCM5600W SDK - комплект разработчика на базе процессорного модуля
RCM5600W RCM5700 - процессорный модуль с Ethernet RCM5700 SDK - комплект разработчика на базе процессорного модуля RCM5700


Чем больше мы знаем, тем дороже стоим на рынке труда
 
Форум » Начинающему конструктору » Микроконтроллеры » Обмен данными между микроконтроллерами, стандарты, примеры (USART, SR 485, I2C)
Страница 1 из 11
Поиск:

Copyright MyCorp © 2017
Используются технологии uCoz