Применение микропроцессоров в системах передачи данных

(14 пт) (14 пт) Кафедра «» (14 пт) (14 пт) (14 пт) К ЗАЩИТЕ ДОПУСТИТЬ « » 2013 г. ПРИМЕНЕНИЕ МПК В СИСТЕМАХ ПЕРЕДАЧИ ИНФОРМАЦИИ Пояснительная записка к курсовой работе .401000.000 ПЗ Студент гр. « » 2013 г. Руководитель – доцент кафедры « » Омск 2013 ЗАДАНИЕ на курсовую работу по дисциплине «Микропроцессорная техника» студента группы

1 Тема проекта: Применение МПК в системах передачи информации. 2 Исходные данные: RS-485, MAX1480, MCS-51, ModBus КАЛЕНДАРНЫЙ ПЛАН № п-п Наименование разделов курсового проекта Срок выполнения Примечание 1 Изучение задания, сбор 18.02.2013 25% информации по теме. 2 Разработка принципиальной схемы 04.03.2013 50% 3 Разработка программных алгоритмов 08.04.2013 75% 4 Создание интерфейса и формирование упр

авляющих сигналов 06.05.2013 90% 5 Окончательный вариант 13.05.2013 100% пояснительной записки. 6 Защита курсового проекта 13 Реферат УДК 2.5 Курсовая работа содержит 39 страниц, 19 рисунков, 7 источников. Передача данных, микропроцессор, линия связи, протокол, драйвер. Объектом разработки является система передачи данных на основе интерфейса RS-485 по протоколу ModBus.

Пояснительная записка выполнена в программе Microsoft Word 2003. Схемы выполнены в программе Microsoft Visio 2007. Содержание Введение… 1 ОСНОВНЫЕ ПОНЯТИЯ О ПЕРЕДАЧЕ ДАННЫХ 2 ИНТЕРФЕЙС RS-2.1 ОСНОВНЫЕ ПОНЯТИЯ И ОПРЕДЕЛЕНИЯ: 2.2 ХАРАКТЕРИСТИКИ ИНТЕРФЕЙСА СТАНДАРТА RS-485: 2.3 СОГЛАСОВАНИЕ ЛИНИИ С ПЕРЕДА

ТЧИКОМ И ПРИЕМНИКОМ. 2.4 ТЕХНИЧЕСКИЕ ХАРАКТЕРИСТИКИ ИНТЕРФЕЙСА: 2.5 ПРИНЦИП РАБОТЫ RS-485: 2.6 ХАРАКТЕРИСТИКИ ЛИНИИ СВЯЗИ: 3 ПРОТОКОЛ MODBUS 3.1 ПРОТОКОЛ ДАННЫХ MODBUS RTU: 3.2 АДРЕСАЦИЯ ДАННЫХ В ПРОТОКОЛЕ MODBUS RTU 3.3 КОНТРОЛЬ ОШИБОК В ПР
ОТОКОЛЕ MODBUS RTU 3.4 ТИПЫ ДАННЫХ И СТАНДАРТНЫЕ КОДЫ ФУНКЦИЙ ПРОТОКОЛА MODBUS 3.5 СТАНДАРТНЫЕ КОМАНДЫ ПРОТОКОЛА MODBUS 4 МИКРОСХЕМЫ ПРИЕМОПЕРЕДАТЧИКОВ ФИРМЫ MAXIM 4.1 ДРАЙВЕР MAX5 МИКРОКОНТРОЛЛЕР MCS-5.1 СТРУКТУРНАЯ ОРГАНИЗАЦИЯ МИКРОКОНТРОЛЛЕРА

1.1 Общие характеристики. 1.2 Функциональная схема микроконтроллера семейства 1.3 Арифметико-логическое устройство 1.4 Назначение выводов микроконтроллера 1.5 Организация портов ввода вывода микроконтроллера 1.6 Устройство портов 1.7 Особенности электрических характеристик портов. 1.8 Последовательный порт микроконтроллера 8051. 33 5.1.

9 Регистр управления/статуса приемопередатчика SCON. 1.10 Скорость приема/передачи информации через последовательный порт. 6 ВЫВОД УПРАВЛЯЮЩИХ СИГНАЛОВ ИЗ МК 1.1 Формирование статических сигналов 1.2 Формирование импульсных сигналов 1.3 Генерация периодического управляющего воздействия (меандра) 1.4 Формирование апериодического управляющего сигнала 3

7 Библиографический список…39   Введение Каждое из трех предшествующих столетий ознаменовалось появлением какой-то технологии, развитие которой определяло прогресс в этом столетии. 18 век – механические системы, 19 – паровые машины, 20 – технологии сбора, передачи, обработки и хранения информации. Сейчас сложно представить себе жизнь без систем передачи данных. Они задействованы абсолютно во всех сферах жизни современного человека. Особенно важно их применение в п

ромышленности, для обеспечения автоматизированных технологических процессов. В данной работе рассмотрены основные понятия о проводной передаче данных, а также приведены: пример системы обмена информацией между двумя контроллерами, описания элементов системы и код программы для ее работы.   1 Основные понятия о передаче данных Передача данных (обмен данными, цифровая передача, цифровая связь) — физический перенос данных (цифрового битового потока) в виде сигналов от точки к точке или от точки к
нескольким точкам средствами электросвязи по каналу связи, как правило, для последующей обработки средствами вычислительной техники. Передача данных может быть аналоговой или цифровой (то есть поток двоичных сигналов), а также они могут быть модулированы посредством аналоговой модуляции, либо посредством цифрового кодирования. Аналоговая связь является передачей постоянно меняющегося цифрового сигнала, цифровая связь является непрерывной передачей сообщений. Сообщения представляют собой либо последовательность импульсов, оз

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

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

проводу, частоте или оптическому пути. Так как это требует меньшей обработки сигнала и меньше вероятность ошибки, чем при параллельной передаче, то скорость передачи данных по каждому отдельному пути может быть быстрее. Этот механизм может использоваться на более дальних расстояниях, потому что легко может быть передана контрольная цифра или бит чётности. Параллельной передачей в телекоммуникациях называется одновременная передача элементов сигнала одного символа или другого объекта данных. В цифровой связи параллельной
передачей называется одновременная передача соответствующих элементов сигнала по двум или большему числу путей. Используя множество электрических проводов можно передавать несколько бит одновременно, что позволяет достичь более высоких скоростей передачи, чем при последовательной передаче. Этот метод применяется внутри компьютера, например, во внутренних шинах данных, а иногда и во внешних устройствах, таких, как принтеры. Основной проблемой при этом является «перекос», потому что провода при параллельной пере

даче имеют немного разные свойства (не специально), поэтому некоторые биты могут прибыть раньше других, что может повредить сообщение. Бит чётности может способствовать сокращению ошибок. Тем не менее, электрический провод при параллельной передаче данных менее надёжен на больших расстояниях, поскольку передача нарушается с гораздо более высокой вероятностью. Если передача данных должна осуществляться на большие расстояния, то тогда возрастает опасность, что при пересылке данных может произойти ошибка. Речь иде

т о длинных линиях передачи данных между двумя раздельными блоками обработки данных, каждый из которых имеет собственный логический потенциал земли и устройство защиты от замыкания на землю. Между точками заземления в обоих блоках существует разница напряжений, воспринимаемая как помеха. Поблизости от устройств обработки данных имеется много источников помех, оказывающих влияние на линии связи. При большой длине кабеля возрастает опасность наводки помех. Другой проблемой является согласование в линиях пе

редачи данных. Если эти линии не совсем точно согласуются с характеристическим волновым сопротивлением, то тогда появляются отражения сигналов: после передачи импульса в линии связи некоторое время наблюдаются остаточные колебания, что может привести к ошибке в передаче данных. Для устранения этой проблемы надо некоторое время выждать, пока линия связи снова придет в состояние покоя, однако для этого потребуется время. Поэтому за последние годы были разработаны различные методы передачи данных через длинные линии, чт
обы добиться хорошей взаимосвязи между двумя подсистемами. Эти методы реализуются в виде однопроводных и дифференциальных систем связи, причем последние могут быть выполнены в виде уравновешенных и неуравновешенных систем. В однопроводной системе (рис. 1.1), которая реализуется лишь при связи на короткие расстояния, передача сигналов происходит только по одной линии. Обратной линией связи является соединение через землю. Рисунок 1.1 –

Однопроводная система. При больших длинах линий связи в общем случае можно утверждать, что однопроводные системы передачи неприемлемы; здесь приходится рассчитывать только на сбалансированные (рис. 1.2) и несбалансированные (рис. 1.3) дифференциальные системы. Рисунок 1.2 – Дифференциальная передача данных со сбалансированным управлением. В сбалансированной системе противофазный сигнал поступает на 2 линии передачи. Со стороны приемного устройства информация восприним

ается дифференциально и переводится в логический сигнал. Рисунок 1.3 – Дифференциальная передача данных с несбалансированным управлением. В несбалансированной системе в линию связи посылаются не парафазные, а однофазные сигналы. При передаче данных мы используем 2 способа, которые обозначаются как TDM (передача с разделением по времени) и FDM (передача с разделением по частоте). При передаче данных мы различаем синхронную и асинхронную передачу. Для передачи данных имеютс

я нормированные средства передачи, которые обозначаются как стандартные устройства сопряжения или стандартные интерфейсы, такие, как EIA-RS232C или CCITT V24 и V28. Передача данных может выполняться в одном или обоих направлениях. При дуплексном режиме приемник и передатчик работают одновременно, при полудуплексном по очереди. При последовательной передаче двоичные разряды данных передаются к приемнику по одной линии со сдвигом во времени. При последовательной передаче данных особенно важно знать, какой двоичный разряд информ
ационного слова является первым и с какой скоростью передаются двоичные разряды, т.е. должен быть установлен определенный критерий синхронизации, с тем, чтобы передача данных осуществлялась правильно. Другим важнейшим фактором является ответ на вопрос: какова длина информационного слова, выраженная количеством двоичных разрядов? Информационное слово плюс дополнительные двоичные разряды в качестве сигналов старта и прекращения передачи данных, указывающих начало и конец передаваемого слова, обозначаются как «ка

др». В следующих разделах рассмотрены стандарт EIA RS-485, и прочие устройства, необходимые для осуществления передачи данных через этот интерфейс, а также схемы подключения микроконтроллеров и управляющая программа. 2 Интерфейс RS-485 2.1 Основные понятия и определения: В ходе изложения основных требований стандарта EIA RS-485 использованы следующие термины: • Линия связи (Interchange Circuit) — физическая среда, предназначен

ная для переноса информации между единицами оборудования, принимающими участие в информационном обмене, включая данные, сигналы управления и синхронизации. • Канал передачи данных (Data Transmission Channel) — совокупность физической среды и технических средств, включая аппаратуру преобразования сигналов, вовлекаемых в процесс передачи информации между оборудованием системы связи. • Формирователь (Driver) а)электронная цепь или контакт реле (источник) на передающей стороне линии связи, посре

дством которых осуществляется передача двоичных цифровых сигналов в оконечную нагрузку по соединительному кабелю; б)передатчик двоичных цифровых сигналов. • Оконечная нагрузка (Terminator) а)электронная цепь (потребитель) на приемной стороне цепи обмена, посредством которой осуществляется прием двоичных цифровых сигналов от формирователя по соединительному кабелю; б)приемник двоичных цифровых сигналов. RS-485 предназначен для передачи двоичных данных. Данные передаются по двухпроводному полудуплексному
многоточечному последовательному симметричному каналу связи. 2.2 Характеристики интерфейса стандарта RS-485: 1 Двунаправленная полудуплексная передача данных. Поток последовательных данных передаётся одновременно только в одну сторону, передача данных в другую сторону требует переключения приёмопередатчика. Приёмопередатчики принято называть “драйверами”(driver), это устройство или электрическая цепь, которая формирует физический сигнал на стороне передатчика. Рассмотре

ние соответствующего коммуникационного протокола выходит за рамки стандарта TIA/EIA-485-A. Получается, что специалист по разработке программного обеспечения волен применять любой тип сетевого протокола, который, по его мнению, подходит для данного проекта. 2 Симметричный канал связи. Для приёма/передачи данных используются два равнозначных сигнальных провода. Провода означаются латинскими буквами “А” и “В”. По этим двум проводам идет последовательный

обмен данными в обоих направлениях (поочередно). При использовании витой пары симметричный канал существенно повышает устойчивость сигнала к синфазной помехе и хорошо подавляет электромагнитные излучения создаваемые полезным сигналом. 3 Дифференциальный (балансный способ передачи данных). По своей природе линии передачи RS-485 дифференциальны. Существует два провода – А и B. Драйвер подает на оба провода комплементарные напряжения. На Рис. 2.2.1 представлено определение станда

ртом EIA-485-A параметров VOA, VOB и VO. При понижении напряжения VOA повышается напряжение VOB и, наоборот, при понижении напряжения VOB повышается напряжение VOA. Большинство физических частей также обладают возможностью вводить провода А и В в «третье состояние» (tristate, т.е. отключенное состояние). Рисунок 2.2.1 – Взаимосвязь между параметрами VOA, VOB и V
O 4 Многоточечность. Допускает множественное подключение приёмников и приёмопередатчиков к одной линии связи. При этом допускается подключение к линии только одного передатчика в данный момент времени, и множество приёмников, остальные передатчики должны ожидать освобождения линии связи для передачи данных. 5 Низкоимпендансный выход передатчика. Буферный усилитель передатчика имеет низкоомный выход, что позволяет передавать сигнал ко многим приёмникам. Стандартная нагрузочная способность передатчика равна

32-м приёмникам на один передатчик. Кроме этого, токовый сигнал используется для работы “витой пары” (чем больше рабочий ток “витой пары”, тем сильнее она подавляется синфазные помехи на линии связи). 6 Зона нечувствительности. Если дифференциальный уровень сигнала между контактами АВ не превышает ±200мВ, то считается, что сигнал в линии отсутствует. Это увеличивает помехоустойчивость передачи данных. 7 Четырехпроводной интерфейс. Интерфейс RS-485 имеет две версии: двухпроводную и четырехпроводную. Д

вухпроводная используется для полудуплексной передачи (рис. 2.2.2), когда информация может передаваться в обоих направлениях, но в разное время. Для полнодуплексной (дуплексной) передачи используют четыре линии связи: по двум информация передается в одном направлении, по двум другим – в обратном (рис. 2.2.3). Рисунок 2.2.2 – Соединение трех устройств с интерфейсом RS-485 по двухпроводной схеме Недостатком четырехпрово

дной (рис. 2.2.3) схемы является необходимость жесткого указания ведущего и ведомых устройств на стадии проектирования системы, в то время как в двухпроводной схеме любое устройство может быть как в роли ведущего, так и ведомого. Рисунок 2.2.3 – Четырехпроводное соединение устройств с интерфейсом RS-485 Достоинством четырехпроводной схемы является возможность одновременной передачи и приема данных, что бывает необходимо при реализации некоторых сложных протоколов обмена.
2.3 Согласование линии с передатчиком и приемником. Электромагнитная волна, достигая конца кабеля, отражается от него и возвращается к источнику сигнала, отражается от источника и опять проходит к концу кабеля. Вследствие потерь на нагрев проводника и диэлектрика амплитуда волны в конце кабеля всегда меньше, чем в начале. Для типовых кабелей можно считать, что только первые 3 цикла прохождения волны существенно влияют на форму передаваемого сигнала. Это дает общую длительность паразитных колебаний на фронтах переда

ваемых импульсов, связанных с отражениями, около 33,6 мкс при длине кабеля 1 км. Поскольку в приемном узле универсальный трансивер (UART Universal Asynchronous Receive Transmit) определяет логическое состояние линии в центре импульса, то минимальная длительность импульса, который еще можно распознать с помощью UART, составляет 33,6 х 2 = 67,2 мкс. Поскольку при кодировании минимальная длительность импульса позволяет закодировать 1 бит информации, то получим максимальную скорость передачи информации, которую еще можно принять

, несмотря на наличие отражений, равную 1/67,2 мкс = 14,9 кбит/с. Учитывая, что реально условия передачи всегда хуже расчетных, стандартную скорость передачи 9600 бит/с приближенно можно считать границей, на которой еще можно передать сигнал на расстояние 1000 м несмотря на наличие отражений от концов линии. При большей скорости передачи, например, 115200 бит/с, ширина передаваемых импульсов составляет 4,3 мкс, и их невозможно отличить от импульс

ов, вызванных отражениями от концов линии. Используя вышеприведенные рассуждения, можно получить, что при скорости передачи 115200 бит/с максимальная длина кабеля, при которой еще можно не учитывать отражения от концов линии, составляет 60 м. Для устранения отражений линия должна быть нагружена на сопротивление, равное волновому сопротивлению кабеля где – погонные сопротивление, индуктивность, проводимость и емкость кабеля, – комплексная круговая частота. Как следует из этой формулы, в кабеле без потерь волновое сопроти
вление не зависит от частоты, при этом прямоугольный импульс распространяется по линии без искажений. В линии с потерями фронт импульса “расплывается” по мере увеличения расстояния импульса от начала кабеля. Отношение амплитуды напряжения отраженного синусоидального сигнала (отраженной волны) от конца линии к амплитуде сигнала, пришедшего к концу линии (падающей волны) называется коэффициентом отражения по напряжению, который зависит от степени согласованности волновых сопротивлений линии и н

агрузки: где Rн – сопротивлению согласующего резистора на конце или в начале линии (кабеля). Случай Rн = Z0 соответствует идеальному согласованию линии, при котором отражения отсутствуют. Для согласования линии используют терминальные (концевые) резисторы (рис. 2.3.1). Величину резистора выбирают в зависимости от волнового сопротивления используемого кабеля. Кабели, спроектированные специально для интерфейса RS-485, имеют волновое сопротивление 1

20 Ом. Рисунок 2.3.1 – Применение терминальных резисторов для согласования линии передачи Резисторы ставят на двух противоположных концах кабеля. Распространенной ошибкой является установка резистора на входе каждого приемника, подключенного к линии, или на конце каждого отвода от линии, что перегружает стандартный передатчик. Дело в том, что два терминальных резистора в сумме дают 60 Ом и потребляют ток 25 мА при напряжении на выходе передатчика 1,

5 В; кроме этого, 32 приемника со стандартным входным током 1 мА потребляют от линии 32 мА, при этом общее потребление тока от передатчика составляет 57 мА. Обычно это значение близко к максимально допустимому току нагрузки стандартного передатчика RS-485. Поэтому нагрузка передатчика дополнительными резисторами может привести к его отключению средствами встроенной автоматической защиты от перегрузки. Второй причиной, которая запрещает использование резистора в любом месте, кроме концов линии, является отражение сигнала от мес
та расположения резистора. При расчете сопротивления согласующего резистора нужно учитывать общее сопротивление всех нагрузок на конце линии. Например, если к концу линии подключен шкаф комплектной автоматики, в котором расположены 30 модулей с портом RS-485, каждый из которых имеет входное сопротивление 12 кОм, то общее сопротивление всех модулей будет равно 12 кОм/30 = 400 Ом. Поэтому для получения сопротивления нагрузки линии 1

20 Ом сопротивление терминального резистора должно быть равно 171 Ом. Недостаток применения согласующих резисторов. При длине кабеля 1 км его омическое сопротивление (для типового стандартного кабеля) составит 97 Ом. При наличии согласующего резистора 120 Ом образуется резистивный делитель, который примерно в 2 раза ослабляет сигнал, и ухудшает отношение сигнал/шум на входе приемника. Поэтому при низких скоростях передачи (менее 9600 бит/с) и большом уровне помех терминальный резистор не улучшает, а ухудшает надежность передачи

. В промышленных преобразователях интерфейса RS-232 в RS-485 согласующие резисторы обычно уже установлены внутри изделия и могут отключаться микропереключателем (джампером). 2.4 Технические характеристики интерфейса: 1) Допустимое число приёмопередатчиков (драйверов) – 32. 2) Максимальная длина линии связи 1200 м (4000ft) 3) Максимальная скорость передачи 10 Мбит/с. Скорость передачи данных зависит от длины ка

бельного сегмента. На Рис. 2.4.1 представлен типичный график зависимости скорости передачи данных (в битах) от длины кабельного сегмента. Производительность сети может разниться в зависимости от используемых типов кабеля, терминальных резисторов, драйверов и приемников, от уровня электромагнитной интерференции и физической геометрии сети. Рис. 2.4.1 – Зависимость скорости передачи данных от длины кабельного сегмента вызвана ограничениями по задержке распространения сигнала по линии передачи. 4) Минимальный выходной
сигнал драйвера ±1,5 В 5) Максимальный выходной сигнал драйвера ±5 В 6) Максимальный ток короткого замыкания драйвера 250 мА 7) Выходное сопротивление драйвера 54 Ом 8) Входное сопротивление драйвера 12 кОм 9) Допустимое суммарное входное сопротивление 375 Ом 10) Диапазон нечувствительности к сигналу ±200 мВ 11) Уровень логической единицы (Uab) >+2

00 мВ 12) Уровень логического нуля (Uab)

я практически неограниченного количества узлов. Но в больших сетях с многочисленными повторителями и длинными линиями передачи, заметным фактором становится задержка распространения, которая может привести к неприемлемому снижению скорости передачи данных. Некоторые драйверы характеризуются медленным нарастанием выходного напряжения, поэтому их часто называют драйверами с ограничением скорости нарастания выходного напряжения (slew-rate limited drivers). Использование подобных драйверов позволяет применять

более длинные кабельные сегменты и снизить уровень электромагнитной интерференции, излучаемой сетью. 2.5 Принцип работы RS-485: Так как стандарт, RS-485 описывает только физический уровень процедуры обмена данными, то все проблемы обмена, синхронизации и квитирования, возлагаются на более высокий протокол обмена(ModBus , DCON и т.п.). Сам RS-485 выполняет только следующие действия: • Преобразует входящую последовательность “1” и “0” в дифференциальный сигнал. • Передает дифференциальный сигнал в симметричную лин
ию связи. • Подключает или отключает передатчик драйвера по сигналу высшего протокола. • Принимает дифференциальный сигнал с линии связи. Если подключить осциллограф к контактам А-В (RS-485) и контактам GND-TDx(RS-232), то не будет видно разницы в форме сигналов передаваемых в линиях связи. Форма сигнала RS-485 полностью повторяет форму сигнала RS-232, за исключением инверсии ( в RS-232 логическая единица передается напряжением -12 В, а в RS-485 +5

В). Рис. 2.5.1 Балансный сигнал на проводах витой пары А и В Как видно из рис. 2.5.1 происходит простое преобразование уровней сигнала по напряжению. Хотя форма сигналов одинаковая у выше указанных стандартов, но способ их формирования и мощность сигналов различны (рис.2.5.2). Рисунок 2.5.2 – Реализация интерфейсов Разработчик системы на базе данных приемников и формирователей должен учитывать возможность возникновения ситуации, когда все формирователи окажу

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

мещения выхода формирователя, показанными на рис.2.5.3. При этом после перевода всех формирователей, входящих в состав сети, в пассивное (высокоимпедансное) состояние в линии связи будет поддерживаться уровень, соответствующий состоянию OFF (ВЫКЛЮЧЕН). Для снижения потребления тока, протекающего по цепям смещения и согласующему резистору, последовательно с согласующим резистором может быть включен конденсатор емкостью 0,1 мк
Ф. Рисунок 2.5.3 – Цепи смещения линии связи 2.6 Характеристики линии связи: Основными параметрами, определяющими критерии выбора кабеля, являются: 1) скорость обмена, значение которой определяет длительность передаваемого бита информации. 2) Минимальный уровень сигнала на входе приемника, необходимый для распознавания передаваемых двоичных состояний. 3) Максимально допустимый уровень искажения сигнала 4) Максимальная допустимая протяженность линии связи Длительность информационного бита (Tb) о

пределяется минимально допустимым интервалом времени между переходами передаваемых двоичных состояний. Если напряжение сигнала в линии не успевает достичь уровня, соответствующего передаваемому двоичному состоянию до появления следующего перехода, указанный переход появится на входе приемника с некоторым временным сдвигом, который приводит к возникновению межсимвольных искажений. При выборе кабеля должно быть учтено отношение длительности переднего фронта к длительности информационного бита (tr/Tb) в точке подключен

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

одимо задаться минимальным уровнем сигнала на входе самого удаленного приемника с учетом перечисленных факторов. Искажения сигнала определяются его временным сдвигом относительно положения при передаче в идеальных условиях. Количественно искажения выражаются в процентах от полной длительности информационного бита. При выборе кабеля следует учитывать допустимый уровень искажений на входе приемника, расположенного в самой удаленной точке линии связи. 3 Протокол Modbus Modbus — коммуникационный протокол, основанны
й на клиент-серверной архитектуре. Разработан фирмой Modicon для использования в контроллерах с программируемой логикой (PLC), таких, как управление электроприводом. Стал стандартом де-факто в промышленности и широко применяется для организации связи промышленного электронного оборудования. Использует для передачи данных последовательные линии связи RS-485, RS-422, RS-232, а также сети TCP/IP. В настоящее время поддерживается некоммерческой организацией Modbus-IDA. Шир

окая распространенность протокола Modbus, обусловленная его простотой и надежностью, позволяет легко интегрировать устройства, поддерживающие Modbus, в единую сеть. Существует три типа протокола Modbus: Modbus ASCII, Modbus RTU и Modbus TCP. 3.1 Протокол данных Modbus RTU: Протокол Modbus RTU предполагает одно активное (запрашивающее) устройство в линии (master), которое может передавать команды одному или нескольким пассивным устройствам (slave), обращаясь к ним по уникальному в

линии адресу. Синтаксис команд протокола позволяет адресовать 247 устройств на одной линии связи стандарта RS-485 (реже RS-422 или RS-232). Инициатива проведения обмена всегда исходит от ведущего устройства. Ведомые устройства прослушивают линию связи. Мастер подаёт запрос (посылка, последовательность байт) в линию и переходит в состояние прослушивания линии связи. Ведомое устройство отвечает на запрос, пришедший в его адрес. Окончание ответной

посылки мастер определяет, определяя временные интервалы между окончанием приёма предыдущего байта и началом приёма следующего. Если этот интервал превысил время, необходимое для приёма двух байт на заданной скорости передачи, приём кадра ответа считается завершённым. Кадры запроса и ответа по протоколу modbus имеют фиксированный формат, приведённый в табл. 3.1.1. Таблица 3.1.1 – Вид кадра запроса и ответа Адрес подчиненного устройства Номер функции Данные CRC 1
байт 1 байт N

одержит номер функции. Функция может запрашивать данные или давать команду на определенные действия. Коды функций являются числами в диапазоне от 1 до 127. Функции с номерами от 128 до 254 являются зарезервированными для пересылки в ответном сообщении информации об ошибках. В поле «Данные» поле содержит информацию, необходимую подчиненному устройству для выполнения заданной мастером функции или содержит данные, передаваемые подчинённым устройством в ответ на запрос ведущего. Длин

а и формат поля зависит от номера функции; Поле «Контрольная сумма» является важным элементом протокола: в нем содержится информация, необходимая для проверки целостности сообщения и отсутствия ошибок передачи. Контрольная сумма завершает кадры запроса и ответа. Поле CRC записывается младшим байтом вперёд. Алгоритм расчёта CRC может отличаться для разных устройств. Максимальный размер пакета для сетей RS232/RS485 — 256 байт, для сетей TCP — 260 байт. 3.

2 Адресация данных в протоколе Modbus RTU Все операции с данными привязаны к нулю, каждый вид данных (регистр, выходное/входное значение) начинаются с адреса 0000. Адресация к ячейке начинается с 1. Например: Флаг номер 1 программируемого контроллера имеет адрес 0000 (указывается в поле “Адрес”). Флаг номер 127 (DEC) имеет адрес 0x007E hex (126 dec) (указывается в поле “Адрес”). Запоминающий регистр 4000
1 будет иметь адрес 0000 в поле “Адрес” команды. Потому что код операции уже содержит в себе необходимую информацию об адресе. Операции с этими регистрами имеют смещение Адрес_регистра – 40000 = Значение Используемое В Поле “Адрес”. Тип адресации команд в дальнейшем будем помечать как в таблице 3.2.1 Таблица 3.2.1 – обозначение типа адресации команд смещение обозначение -40000 4x -10000 1x Запоминающий регистр 40108 будет иметь адрес

006B hex (107 dec) 3.3 Контроль ошибок в протоколе Modbus RTU Во время обмена данными могут возникать ошибки двух типов: • ошибки, связанные с искажениями при передаче данных; • логические ошибки. Ошибки первого типа обнаруживаются при помощи фреймов символов, контроля четности и циклической контрольной суммы CRC. Результат передается в линию связи с младшего байта. Для сообщений об ошибках второго типа протокол Modbus RT

U предусматривает, что устройства могут отсылать ответы, свидетельствующие об ошибочной ситуации. Признаком того, что ответ содержит сообщение об ошибке, является установленный старший бит кода команды. Кадр ошибочного ответа приведен в Табл. 3.3.1 Таблица- 3.3.1 Кадр ошибочного ответа modbus Сетевой адрес Код команды Код ошибки CRC – код 01 81 02 С1 91 Могут быть отправлены ответы, имеющие следующие коды (Табл. 3.3.2

). Таблица 3.2.2 – Коды ошибок modbus Код ошибки Название Комментарий 01 ILLEGAL FUNCTION Команда не реализована (недопустимый номер функции) 02 ILLEGAL DATA ADDRESS Некорректный адрес 03 ILLEGAL DATA VALUE Некорректные данные 04 FAILURE IN ASSOCIATED DEVICE Отказ оборудования контроллера 05 ACKNOWLEDG

E Данные не готовы (предохраняет от генерации ошибки таймаута) 06 BUSY, REJECTED MESSAGE Система занята, повторить сообщение позже 07 NAK – NEGATIVE ACKNOWLEDGMENT Код неподтверждения приема, передающая станция повторяет передачу 08 MEMORY PARITY ERROR Ошибка проверки четности памяти В RTU режиме сообщение начинается с интервала тишины равного времени передачи
3,5 символов при данной скорости передачи в сети. Первым полем затем передается адрес устройства. Вслед за последним передаваемым символом также следует интервал тишины продолжительностью не менее 3,5 символов. Новое сообщение может начинаться после этого интервала. Фрейм сообщения передается непрерывно. Если интервал тишины продолжительностью 1,5 возник во время передачи фрейма, принимающее устройство заканчивает прием сообщения и следующий байт будет воспринят как

начало следующего сообщения. Таким образом, если новое сообщение начнется раньше 3,5 интервала, принимающее устройство воспримет его как продолжение предыдущего сообщения. В этом случае устанавливается ошибка, так как будет несовпадение контрольных сумм. 3.4 Типы данных и стандартные коды функций протокола Modbus В протокол Modbus можно выделить несколько подмножеств команд (

Табл. 3.4.1) Таблица 3.4.1 Подмножество команд Диапазон кодов команд Стандартные команды 1-21 Резерв для расширенных функций 22-64 Пользовательские 65-119 Резерв для внутренних нужд 120-255 3.5 Стандартные команды протокола Modbus Modbus-контроллеры могут интерпретировать свои данные, используя четыре типа параметров, которым выделены пространства адресов. Соответствие адресов и контролируемых параметров обычно указывается в технической документации на контро

ллер. На чтение/изменение значений параметров каждого типа в протоколе существуют соответствующие команды. Таблица 3.5.1 – Типы данных modbus Тип параметра Тип величины Формат Возможные операции Команды Modbus Coils (регистры флагов) Дискретные 1 бит чтение/запись 1/5,F Discret Inputs (дискретные входы) Дискретные 1 бит чтение 2 Input Registers (регистры ввода) Аналоговые 16 бит чтение 4 Holding Registers (регист
ры хранения) Аналоговые 16 бит чтение/запись 3/6 Физически эти регистры – ячейки памяти ОЗУ контроллера. Для чтения значений из этих таблиц данных используются функции с кодами 1—4 (0x01—0x04): 1 (0x01) — чтение значений из нескольких регистров флагов (Read Coil Status) 2 (0x02) — чтение значений из нескольких дискретных входов (Read Discrete Inputs) 3 (0x03) — чтение значений из нескольких регистров хранения (Read Holding Registers) 4 (0x04) — чтение значений из нескольких рег

истров ввода (Read Input Registers) Запрос состоит из адреса первого элемента таблицы, значение которого требуется прочитать, и количества считываемых элементов. Адрес и количество данных задаются 16-битными числами, старший байт каждого из них передается первым. В ответе передаются запрошенные данные. Количество байт данных зависит от количества запрошенных элементов. Перед данными передается один байт, значение которого равно количеству байт данных. Запись одного зна

чения происходит при помощи следующих функций: 5 (0x05) — запись значения одного флага (Force Single Coil) 6 (0x06) — запись значения в один регистр хранения (Preset Single Register) Команда состоит из адреса элемента (2 байта) и устанавливаемого значения (2 байта). Если команда выполнена успешно, ведомое устройство возвращает копию запроса. Запись нескольких значений задается функциями: 15 (0x0F) — запись значений в несколько регистров флагов (Force

Multiple Coils) 16 (0x10) — запись значений в несколько регистров хранения (Preset Multiple Registers) Команда состоит из адреса элемента, количества изменяемых элементов, количества передаваемых байт устанавливаемых значений и самих устанавливаемых значений. В ответе ведомый передает начальный адрес и количество изменённых элементов. 4 Микросхемы приемопередатчиков фирмы MAXIM Микросхемы интерфейса RS485 выпускают многие фирмы мира. Однако несомненным лидером в разработке
и выпуске новых микросхем драйверов является известная фирма MAXIM. В настоящее время фирма выпускает более 80 типов микросхем драйверов интерфейса RS485/422. Все микросхемы драйверов можно условно разделить на 4 группы: • микросхемы с питанием +5 В • микросхемы с расширенным диапазоном питания от 3 до 5.5 В • низковольтные микросхемы с питанием 3.3 В • микросхемы со встроенной оптической изоляцией Первая группа микросхем самая многочисленная, она насчиты

вает 60 типов. Микросхемы этой группы предназначены для систем со стандартным питанием. Одними из первых начали производиться микросхемы MAX481/483/485/487. Затем к этому семейству добавилась микросхема MAX1487, а намного позже эти микросхемы были оснащены цепями защиты от электростатики до ±15 kV, и к обозначению этих микросхем была добавлена буква «E». Аналогично и у других микросхем наличие буквы «E» после обозначения означает встроенную защиту от электростатики. В общем, эти микросхемы имели не очень хороши

е показатели, по сравнению с современными микросхемами. Они позволяли объединять в сеть только 32 интерфейса (за исключением MAX487, который мог объединять до 128 станций) и обеспечивали не очень высокую скорость передачи данных. Однако именно они и их аналоги легли в основу стандартного расположения выводов микросхем интерфейса. Расположение выводов этого семейства показано на рис.

4.1. Рисунок 4.1 – Расположение выводов семейства MAX481/483/485/487/1487 Обозначения выводов: RO — Receiver Output — Выход приемника. Если А >B на 200mV RO=1, если А
E — Driver Output Enable — Разрешение выходов передатчика. Если DE=1 выходы активны, в противном случае они находятся в высокоимпедансном состоянии. DI — Driver Input — Вход передатчика. GND — Ground — Общий провод питания. A — Noninverting Receiver Input and Driver Output — Неинвертирующий вход/выход. B — Inverting Receiver Input and Driver Output — Инвертирующий вход/выход.

VCC — Positive Supply — Напряжение питания. Семейство микросхем MAX3082/3085/3088 по выводам полностью совместимо со стандартным семейством MAX481/483/485/487/1487. Основными отличиями этой группы являются: • Повышенная нагрузочная способность выходов, что позволяет объединять в сеть до 256 станций. • Наличие защиты от электростатики для микросхем с буквой «E». • Наличие режима экономии, в который микросхемы переходят при закрытии приемника, т.е. при R

E=1. • Повышенное быстродействие: 500 kbps (Kilo Bit per Second — килобит в секунду) для MAX3085(E) и 10 Mbps (Mega Bit per Second — мегабит в секунду) для MAX3088(E). Семейство микросхем MAX3463/3464 по выводам также полностью совместимо со стандартным семейством MAX481/483/485/487/1487. Основными отличиями этой группы являются: • Высокое быстродействие, для 20 Mbps. • В микросхеме MAX3463 имеется схема автоматического определения неправильного подключения лини

й «A» и «B». • Средняя нагрузочная способность выходов, что позволяет объединять в сеть до 128 станций. • Отсутствие защиты от электростатики. • Наличие режима экономии, в который микросхемы переходят при выключении приемника и передатчика через 50 nS, а также в случае включенного приемника при статичкском состоянии входов более чем 800 nS. Ток потребления в режиме экономии не превышает 1 mkA. • Для микросхем этого семейства гарантируется
высокий уровень на выходе приемника, если линии сети «A» и «B» замкнуты или свободны или все подключенные к линиям передатчики выключены. • Микросхемы оснащены цепями защиты входов от «горячего» включения в шину сети. • Микросхемы имеют защиту выходов передатчиков от короткого замыкания или температуры выходных каскадов передатчика более +140 ºС. • Микросхемы имеют типовое время переключения приемника не более 2nS.

Еще одна микросхема этой группы MAX1483 разработана специально для систем со сверхмалым энергопотреблением. Разводка ее выводов также совпадает со стандартной. Микросхема обладает средним быстродействием 250 kbps, током потребления в рабочем режиме не более 20 mkA и обеспечивает связь с 256 станциями. Микросхема MAX3443E предназначена для работы в сетях с повышенным уровнем помех. Перечислим основные достоинства этой микросхемы: 1. Высокое быстродействие, для 1

0 Mbps. 2. Наличие режима экономии, в который микросхемы переходят при выключении приемника и передатчика через 50 nS, а также в случае включенного приемника при статическом состоянии входов более чем 800 nS. Ток потребления в режиме экономии не превышает 10 mkA. 3. Наличие защиты от электростатики до ±15 kV. 4. Микросхема имеет встроенную защиту от импульсных помех в линии до +60 V. Защита гарантируется независимо от состояния микросхемы и наличия или отсутствия ее

питания. 5. В микросхеме имеется схема автоматического определения неправильного подключения линий «A» и «B». 6. Средняя нагрузочная способность выходов, что позволяет объединять в сеть до 128 станций. 7. Отсутствие защиты от электростатики. 8. Гарантируется высокий уровень на выходе приемника, если линии сети «A» и «B» замкнуты или свободны или все подключенные к линиям передатчики выключены. 9. Микросхема оснащена цепями защиты входов от «горячего» включения в шину сети.
10. Микросхема имеет типовое время переключения приемника не более 2 nS. Группа драйверов с расширенным диапазоном питания представляет повышенный интерес, поскольку одно из ее семейства MAX3280(E)/3281(E)/3283(E)/3284(E) обладает сверхвысоким быстродействием — до 52Mbps. Микросхемы выпускаются только в корпусах для поверхностного монтажа. Разводка выводов семейства показана на рис. 4.2 Рисунок 4.2 – Разводка выводов микросхем семейства

MAX3280(E)/3281(E)/3283(E)/3284(E) Приемник в этой группе микросхем всегда открыт. Микросхема MAX3280 содержит только приемник, и представляет ограниченный интерес. В остальных микросхемах управление передатчиком осуществляется разными уровнями для различных микросхем на выводе 5. Микросхемы имеют встроенную защиту от электростатики и режим энергосбережения. Группа микросхем с низковольтным питанием. Семейство микросхем MAX3483(E)/3

485(E)/3486(E) аналогично семейству MAX483/485/487/1487 с той лишь разницей, что это семейство использует питание 3.3 V и у микросхем MAX3485(E) и MAX3486(E) увеличено быстродействие до 10 Mbps и 2.5 Mbps соответственно. Микросхема MAX3362 имеет еще большее быстродействие — 20 Mbps и увеличенную нагрузочную способность до 256 узлов в сети. Последняя группа микросхем со встроенной оптической изоляцией содержит четыре семейства микросхем и имеет свои особенности. Все микросхемы этой группы выпускаются в достаточно б

ольших корпусах, имеют достаточно большое потребление, нуждаются в значительном количестве внешних элементов обвязки, имеют не очень большое быстродействие и высокую стоимость. Два семейства MAX1480 и MAX3480 имеют аналогичную внутреннюю структуру и отличаются только напряжением питания и потребляемым током. На рис. 4.3 приведена типовая схема включения микросхем семейства MAX1480. Для семейства MAX3480 схема включения аналогична и отличается только номиналами некоторых резисторов
. 4.1 Драйвер MAX1480 При разработке модуля, имеющего интерфейс, применяются специализированные микросхемы. Производители микросхем гарантируют электрическое согласование линии связи промышленной сети и схемы обработки данных. Специализированные микросхемы выполняют только электрическое согласование. Они не производят обработку информации, протокол обмена данными для них не важен. Задача специализированной микросхемы интерфейса преобразовать балансный сигнал в небалансный. Пример ра

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

анической развязкой составляет микросхема, изображенная на рис. 4.1.1. Микросхема содержит элементы, исключающие электрический контакт между линией связи и схемой обработки информации и в тоже время позволяющие обеспечить надежный обмен данными. Для решения этой задачи применяются трансформаторы и оптроны. Микросхема, обеспечивающая гальваническую развязку, изготавливается по гибридной технологии и включает компоненты обоих типов. Одна из таких микросхем – MAX1480. Рисунок 4.1.1 –

Специализированная микросхема интерфейса RS-485 Внутри микросхема содержит две изолированные части. Одна часть подключена к линии связи. Другая к выводам микроконтроллера и питанию электронного модуля. Для питания цепей, работающих с линией связи, MAX1480 содержит импульсный преобразователь напряжения, использующий питание схемы электронного модуля. Провода линии: прямой балансный вход-выход А и инверсный балансный вход-выход В соединены с соответствующими выводами микросхемы DD1.
Сигнальная земля линии связи соединена через резистор R1 с общим проводом питания цепей, работающих с линией связи. Резистор R1 необходим для защиты микросхемы DD1 от повреждения. Рис. 3. Электрическая схема интерфейса RS-485 Гальваническую развязку передаваемого сигнала осуществляет оптрон, содержащийся в микросхеме DD1. Режим работы фотоприемника оптрона формирующего сигнал, передавае

мый в линию, установлен сопротивлением резистора R4. Стабилитрон VD2 устанавливает оптимальный режим оптрона, разрешающего работу оптрона передатчика. Через резистор R5 поступает сигнал управления светодиодом оптрона цифрового входа приемника сигнала, поступающего из линии связи. С вывода 13 микросхемы DD1 выход приемника сигнала RO (receiver output) поступает сигнал, принятый от линии связи в инвертированном виде. Выходной транзистор оптрона приемника микросхемы DD1 соединяет резистор

R6 и затвор транзистора VT1 c общим проводом питания схемы Для преобразования инвертированного сигнала в обычный вид в схему включен транзистор VT1 и резистор R7. Вход передатчика DI (driver input) микросхемы DD1 через резистор R9 соединен с выходом TXD микроконтроллера DD2. Резистор R9 устанавливает режим светодиода оптрона передатчика. Резистор R8, соединенный с входо

м DE (driver enable) микросхемы DD1 устанавливает режим светодиода оптрона разрешающего работу передатчика. Во время приема необходимо отключать передатчик, а во время передачи сигнала отключать приемник. При низком логическом уровне на входе DE происходит прием, при высоком логическом уровне микросхема DD1 переходит в режим передачи. Схема питается от преобразователя напряжения DA1, гальванически развязывающего питание 24 вольта от питания микросхемы интерфейса и микроконтроллер
а. Таблица 1. Перечень элементов интерфейса RS-485 Позиционное обозначение Наименование Количество Конденсаторы С1, С2 SMD 0805 0,47 мкФ ±10% 50 В 2 С3 EМR 47 мкФ ±20% 16 B ф. HITANO 1 Резисторы SMD 1206 ±1% R1 100 Ом ±1% 1 R2, R3, R4 1 кОм ±1% 3 R5 200 Ом ±1% 1 R6 1 кОм ±1% 1 R7 10 кОм ±1% 1 R8, R9 100 Ом ±1% 2 Полупроводниковые компоненты

VD1 Диод 1N4007 1 VD2 Стабилитрон 2C147В 1 VT1 Транзистор IRLU120N ф. IOR 1 Схемы и модули DA1 Преобразователь напряжения REC5-2405SRW/H2/A/M ф. RECOM 1 DD1 Микросхема MAX1480AEPI ф. MAXIM 1 XP1 Вилка DIN41612-396 MRD 1 Благодаря применению компонентов питания и интерфейса, содержащих гальваническую развязку, схема полностью изолирована от внешних цепей. При напряжении на линии связи

в диапазоне +/-200 милливольт, выходное состояние не определено. Если ни одно из устройств сети не ведет линию или соединение разорвано, то логическая единица или логический ноль на выходе равновероятны. Для обеспечения определенного состояния на выходе приемника RO требуется установка резисторов защитного смещения. Применение в схеме стабилитрона позволило исключить настройку, использовать сто процентов микросхем MAX

1480 и обеспечить передачу информации в полном объеме. Для внесения ясности в нагрузочную способность интерфейса в помощь конструктору промышленной сети принята гипотетическая единица, называемая “единичная нагрузка”, помогающая подсчитать количество устройств объединяемых в одну промышленную сеть. Входное сопротивление модуля, оснащенного интерфейсом, в основе которого микросхема MAX1

480 согласно данным производителя составляет 48 кОм, что составляет одну четверть единичной нагрузки – 12 кОм. Одновременно следует учитывать влияние резисторов R2 и R3, обеспечивающих защитное смещение, увеличивающих нагрузку на передатчик. Связь прокладывается отдельным кабелем, не входящим в жгут соединений несущих другие сигналы или питание приборов. Подключение выполняется через отдельный разъем, предназначенный только для сигналов интерфейса. Правильный выбор к
абеля связи и продуманное разъемное соединение – непременные условия снижения излучаемых электромагнитных помех и устойчивой работы промышленной сети. Жгут включающий витую пару проводов А и В и провод сигнальной земли прокладывается между ответной частью разъема XР1, установленного на плате контроллера и разъемом размещенным на корпусе прибора для подключения кабеля лини связи. Линия связи имеет экран, внутри которого находятся витая пара и провод сигнальной земли.

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

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

заземления соединенных приборов. Низкочастотный ток создаст небольшую помеху на расположенной внутри паре проводов с частотой сети питания.   5 Микроконтроллер MCS-51 Intel 8051 — это однокристальный микроконтроллер гарвардской архитектуры, который был впервые произведен Intel в 1980 году, для использования во встраиваемых системах. Несмотря на непрерывное развитие и появление все новых и новых
16- и 32-разрядных микроконтроллеров и микропроцессоров, наибольшая доля мирового микропроцессорного рынка и по сей день остается за 8-разрядными устройствами. В настоящее время среди всех 8-разрядных микроконтроллеров – семейство MCS-51 является несомненным чемпионом по количеству разновидностей и количеству компаний, выпускающих его модификации. Оно получило свое название от первого представителя этого семейства – микроконтроллера 8051, выпущенного в 19

80 году на базе технологии HMOS. Все микроконтроллеры из семейства MCS-51 имеют общую систему команд. Наличие дополнительного оборудования влияет только на количество регистров специального назначения. 5.1 Структурная организация микроконтроллера MCS-51 5.1.1 Общие характеристики. Микроконтроллер семейства MCS-51 имеют следующие аппаратные особенности: • внутреннее ОЗУ объемом 128 байт; • четыре двунаправленны

х побитно настраиваемых восьмиразрядных порта ввода-вывода; • два 16-разрядных таймера-счетчика; • встроенный тактовый генератор; • адресация 64 КБайт памяти программ и 64 Кбайт памяти данных; • две линии запросов на прерывание от внешних устройств; • интерфейс для последовательного обмена информацией с другими микроконтроллерами или персональными компьютерами. Микроконтроллер MCS-51 снабжен УФ ПЗУ объемом 4 Кбайт. 5.1.

2 Функциональная схема микроконтроллера MCS-51 Микроконтроллер выполнен на основе высокоуровневой n-МОП технологии. Через четыре программируемых параллельных порта ввода/вывода и один последовательный порт микроконтроллер взаимодействует с внешними устройствами. Основу структурной схемы (рис. 5.1.3.1) образует внутренняя двунаправленная 8-битная шина, которая связывает между собой основные узлы и устройства микроконтроллера: резидентную память программ (RP
M), резидентную память данных (RDM), арифметико-логическое устройство (ALU), блок регистров специальных функций, устройство управления (CU) и порты ввода/вывода (P0-P3). 5.1.3 Арифметико-логическое устройство 8-битное арифметико-логическое устройство (ALU) может выполнять арифметические операции сложения, вычитания, умножения и деления; логические операции И, ИЛИ, исключающее ИЛИ, а также операции циклического сдвига, сброса, инвертирования и т.п. К входам по

дключены программно-недоступные регистры T1 и T2, предназначенные для временного хранения операндов, схема десятичной коррекции (DCU) и схема формирования признаков результата операции (PSW). Рисунок 5.1.3.1 – Структурная схема микроконтроллера КМ1816ВЕ51 Простейшая операция сложения используется в ALU для инкрементирования содержимого регистров, продвижения регистра-указателя данных (RAR) и автоматического вычисления следующего адреса резидентной памяти программ. Простейшая операция вычитания испо

льзуется в ALU для декрементирования регистров и сравнения переменных. Простейшие операции автоматически образуют “тандемы” для выполнения таких операций, как, например, инкрементирование 16-битных регистровых пар. В ALU реализуется механизм каскадного выполнения простейших операций для реализации сложных команд. Так, например, при выполнении одной из команд условной передачи управления по результату сравнения в ALU трижды инкрементируется счётчик команд (PC), дважды производится чтение из RDM, выполняется арифметическо

е сравнение двух переменных, формируется 16-битный адрес перехода и принимается решение о том, делать или не делать переход по программе. Все перечисленные операции выполняются всего лишь за 2 мкс. Важной особенностью ALU является его способность оперировать не только байтами, но и битами. Отдельные программно-доступные биты могут быть установлены, сброшены, инвертированы, переданы, проверены и использованы в логических операциях. Эта способность достаточно важна, поскольку для управления объектами часто применяются алгоритмы
, содержащие операции над входными и выходными булевыми переменными, реализация которых средствами обычных микропроцессоров сопряжена с определенными трудностями. Таким образом, ALU может оперировать четырьмя типами информационных объектов: булевыми (1 бит), цифровыми (4 бита), байтными (8 бит) и адресными (16 бит). В ALU выполняется 51 различная операция пересылки или преобразования этих данных. Так как используется 11 режимов адресации (7 для данных и 4 для адресов), то путем комбинирования операции и режима адресации базовое чи

сло команд 111 расширяется до 255 из 256 возможных при однобайтном коде операции. 5.1.4 Назначение выводов микроконтроллера 8051 Рисунок 5.1.4.1 – Назначение выводов 8051. Обозначения на этом рисунке: • Uss — потенциал общего провода (“земли”); • Ucc — основное напряжение литания +5 В; • X1,X2 — выводы для подключения кварцевого резонатора; • RST — вход общего сброса микроконтроллера; • PSEN — разрешение внешней памяти программ; выдается только при обращении к внешнему ПЗ

У; • ALE — строб адреса внешней памяти; • ЕА — отключение внутренней программной память; уровень 0 на этом входе заставляет микроконтроллер выполнять программу только внешнее ПЗУ; игнорируя внутреннее(если последнее имеется); • P1 — восьми битный квази двунаправленный порт ввода/вывода: каждый разряд порта может быть запрограммирован как на ввод, так и на вывод информации, независимо от состояния других разрядов; • P2 — восьми битный квази двунаправленный порт, аналогичный Р1; кроме того, выводы это

го порта используются для выдачи адресной информации при обращении к внешней памяти программ или данных (если используется 16-битовая адресация последней). Выводы порта используются при программировании 8751 для ввода в микроконтроллер старших разрядов адреса: • РЗ — восьми битный квази двунаправленный порт, аналогичный. Р1; кроме того, выводы этого порта могут выполнять ряд альтернативных функций, которые используются при работе таймеров, порта последовательного ввода-вывода, контроллера прерываний, и внешней памяти программ и да
нных; • P0 — восьми битный двунаправленный порт ввода-вывода информации: при работе с внешними ОЗУ и ПЗУ по линиям порта в режиме временного мультиплексирования выдается адрес внешней памяти, после чего осуществляется передача или прием данных. 5.1.5 Организация портов ввода вывода микроконтроллера MCS-51 Общие сведения: • Количество портов – 4. Название – P0 P3, они адресуются как регистры специальных функций. • Разрядность – 8 с возможностью побитной адресации ра

зрядов. • Направление обмена информацией через порты – все порты двунаправленные, причем имеется возможность в каждом порту часть разрядов использовать для ввода данных, а часть для вывода. Альтернативные функции: Из-за ограниченного количества выводов корпуса ИМС микроконтроллера, большинство выводов используется для выполнения двух функций – в качестве линий портов и для альтернативных функций. • Порты P0 и Р2используются при обращении к внешней памяти. При этом на выходах P

0 младший байт адреса внешней памяти мультиплексируется с вводимым/выводимым байтом. Выходы Р2 содержат старший байт адреса внешней памяти, если адрес 16-разрядный. При использовании восьмиразрядного адреса портом Р2 можно пользоваться для ввода-вывода информации обычным образом. При обращении к внешней памяти в P0 автоматически заносятся 1 во все биты. Информация в Р2 при этом остается неизменной. • Порт P3 помимо обычного ввода и вывода информации используется для формирования и приема специальных уп

равляющих и информационных сигналов. Разряды порта (все или частично) при этом могут выполнять следующие альтернативные функции: Альтернативные функции (табл. 5.1.5.1) могут быть активированы только в том случае, если в соответствующие биты порта P3 предварительно занесены. Неиспользуемые альтернативным образом разряды могут работать как обычно. Таблица 5.1.5.1 Вывод порта Альтернативная функция РЗ.0 RXD – вход последовательного порта Р3.1 TXD – выход последовательного порта
РЗ.2 INT0 – внешнее прерывание 0 Р3.3 INT1 – внешнее прерывание 1 РЗ.4 Т0 – вход таймера-счетчика 0 РЗ.5 Т1 – вход таймера-счетчика 1 РЗ.6 WR – строб записи во внешнюю память данных РЗ.7 RD – строб чтения из внешней памяти данных 5.1.6 Устройство портов Каждый из портов содержит регистр-защелку (SFR P0 — SFR P3), выходную цепь и входной буфер. Рисунок 5.1.6.1 – Порт P0 Рисунок 5.1.6.2 – Порт P1 На рисунке изображены функциональные схемы регистров-защелок

и буферов ввода-вывода всех портов. Каждый из разрядов регистра-защелки SFR является D-триггером, информация в который заносится с внутренней шины данных микроконтроллера по сигналу «Запись в SFR Pх» (х= 0, 1, 2, 3) от центрального процессорного элемента (CPU). С прямого выхода D-триггера информация может быть выведена на внутреннюю шину по сигналу «Чтение SFR Pх» от CPU, а с вывода микросхемы («из внешнего мира») по сигналу «Чтение выводов Pх».

Одни команды активизируют сигнал «Чтение SFR PI», другие – «Чтение выводов РI». 5.1.7 Особенности электрических характеристик портов. Выходные каскады триггеров SFR портов Р1 — РЗ выполнены на полевых транзисторах с внутренней нагрузкой, в то время как аналогичные каскады триггеров SFR P0—на транзисторах с открытым стоком. Каждая линия любого из портов может независимо использоваться как для ввода, так и для вывода информации (для линий портов P0 и

Р2 это справедливо тогда, когда они не используются для обращения к внешней памяти). Для перевода любой линии портов Р1 — РЗ в режим ввода информации необходимо в соответствующий разряд SFR занести 1. При этом выходной полевой транзистор отключается. Внутренний нагрузочный резистор как бы «подтягивает» потенциал вывода к напряжению питания, в то время как внешняя нагрузка может сделать его нулевым. Выходные каскады порта P0 имеют иную структуру. Нагрузочный полевой транзистор линии порта вклю
чен только тогда, когда порт выводит 1 при обращении к внешней памяти. В остальных случаях нагрузочный транзистор отключен. Таким образом, при работе в режиме обычного ввода-вывода информации (как, например, порт Р1) выходные каскады порт» P0 представляют собой ступени на транзисторах с открытым стоком. Запись 1 в соответствующий бит SFR отключает и второй транзистор, что приводит к тому, что вывод

БИС оказывается под «плавающим» потенциалом. Это позволяет использовать линии порта P0 как выводы с высоко импедансным состоянием. Поскольку выходные каскады портов P1 — P3 имеют внутреннюю нагрузку, при переводе в режим ввода информации они становятся источниками тока для микросхемы или транзистора, нагруженных на данный. 5.1.8 Последовательный порт микроконтроллера MCS-51. Через универсальный асинхронный приемопередатчик UA

RT (Universal Asynchronous Receiver-Transmitter) осуществляются прием и передача информации, представленной последовательным кодом (младшими битами вперед), в полном дуплексном режиме обмена. В состав приемопередатчика, называемого часто последовательным портом, входят принимающий и передающий сдвигающие регистры, а также специальный буферный регистр (SBUF) приемопередатчика. Кроме того, работой последовательного порта управляют два служебных регистра • Регистр управления/статуса приемопередатчика SCON

• Бит SMOD регистра управления мощностью PCON Запись байта в буфер приводит к автоматической переписи байта в сдвигающий регистр передатчика и инициирует начало передачи байта. Наличие буферного регистра приемника позволяет совмещать операцию чтения ранее принятого байта с приемом очередного. Но если к моменту окончания приема байта предыдущий не был считан из SBUF, то он будет потерян. Последовательный порт MCS-51 может работать в четырех различных режимах. • Р
ежим 0. Информация и передается, и принимается через вывод входа приемника (RXi, TXi). Принимаются или передается 8 бит данных. Через вывод выхода передатчика (TXD) выдаются импульсы сдвига, которые сопровождают каждый бит. Частота передачи бита информации равна 1/12 частоты кварцевого резонатора • Режим 1. В этом режиме передаются через вывод TXD или принимаются через RXD 10 бит информации: старт-бит (0), 8 бит данных и стоп-бит (1) при приеме информации в бит

RB8 регистра управления/статуса приемопередатчика SCON заносятся стоп-бит. Скорость приема/передачи — величина переменная и задается таймером. • Режим 2. В этом режиме через вывод TXD передаются или через RXD принимаются 11 бит информации: старт-бит, 8 бит данных, программируемый девятый бит и стоп-бит. При передаче девятый бит данных может принимать значение 0 или

1 или, например, для повышения достоверности передачи путем контроля по четности в него может быть помещено значение признака паритета из слова состояния программы (PSW.0). При приеме девятый бит данных помещается в бит RB8 SCON, а стоп-бит, в отличие от режима 1, теряется. Частота приема/передачи выбирается программой и может быть равна либо 1/32, либо 1/64 частоты резонатора в зависимости от управляющего бита SMOD. • Режим 3.

совпадает с режимом 2 во всех деталях, за исключением частоты приема/передачи, которая является величиной переменной и задается таймером. Во всех случаях передача инициализируется инструкцией, в которой данные перемещаются в SBUF. Прием инициализируется при обнаружении перепада из 1 в 0 на входе приемника. 5.1.9 Регистр управления/статуса приемопередатчика SCON. Управление режимом работы приемопередатчика осуществляется через специальный регистр с символическим име
нем SCON. Этот регистр содержит не только управляющие биты, определяющие режим работы последовательного порта, но и девятый бит принимаемых или передаваемых данных (RB8 и ТВ8) и биты прерывания приемопередатчика (R1 и Т1). Прикладная программа путем загрузки в старшие биты регистра SCON двухбитного кода определяет режим работы приемопередатчика. Во всех четырех режимах работы передача инициализируется любой командой, в которой буферный регистр SBUF указан как получатель байта. Прием в режиме 0 осуществляется при

условии, что R1 = 0 и REN = 1, в остальных режимах – при условии, что REN = 1. В бите ТВ8 программно устанавливается значение девятого бита данных, который будет передан в режиме 2 или 3. В бите RB8 в этих режимах фиксируется девятый принимаемый бит данных. В режиме 1 в бит RB8 заносится стоп-бит. В режиме 0 бит RB8 не используется. Флаг прерывания передатчика Т

I устанавливается аппаратно в конце периода передачи стоп-бита во всех режимах. Соответствующая подпрограмма обслуживания прерывания должна сбрасывать бит TL. Флаг прерывания приемника RI устанавливается аппаратно в конце периода приема восьмого бита данных в режиме 0 и в середине периода приема стоп-бита в режимах 1, 2 и 3. Подпрограмма обслуживания прерывания должна сбрасывать бит RI. Остальные функции описаны в табл.

5.1.9.1. Таблица 5.1.9.1 – Функциональное назначение бит регистра управления/статуса приемопередатчика SCON Символ Позиция Имя и назначение SM0 SCON.7 Биты управления режимом работы приемопередатчика. Устанавливаются/сбрасываются программно см. примечание 1 SM0 SM1 Режим работы приемопередатчика 0 0 Сдвигающий регистр расширения ввода/вывода 0 1 8 битовый приемопередатчик, изменяемая скорость передачи
1 0 9 битовый приемопередатчик. Фиксированная скорость передачи 1 1 9 битовый приемопередатчик, изменяемая скорость передачи SM1 SCON.6 SM2 SCON.5 Бит управления режимом приемопередатчика. Устанавливается программно для запрета приема сообщения, в котором девятый бит имеет значение 0 REN SCON.4 Бит разрешения приема. Устанавливается/сбрасывается программно для разрешения/запрета приема

последовательных данных TB8 SCON. 3 Передача бита 8. Устанавливается/сбрасывается программно для задания девятого передаваемого бита в режиме 9-битового передатчика RB8 SCON.2 Прием бита 8. Устанавливается/сбрасывается аппаратно для фиксации девятого принимаемого бита в режиме 9-битового приемника TI SCON. 1 Флаг прерывания передатчика. Устанавливается аппаратно при окончании передачи байта. Сбрасывается программно после обслуживания прерывания RI S

CON.0 Флаг прерывания приемника. Устанавливается аппаратно при приеме байта. Сбрасывается программно после обслуживания прерывания 5.1.10 Скорость приема/передачи информации через последовательный порт. Скорость приема/передачи, т.е. частота работы приемопередатчика в различных режимах, определяется различными способами. В режиме 0 частота передачи зависит только от резонансной частоты кварцевого резонатора f РЕЗ: f=fРЕЗ/12. За машинный цикл последовательный порт передает один бит информации. В режима

х 1, 2 и 3 скорость приема/передачи зависит от значения управляющего бита SMOD в регистре специальных функций PCON. 6 Вывод управляющих сигналов из МК 6.1.1 Формирование статических сигналов Для управления исполнительным механизмом, работающим по прин¬ципу включено/выключено, на соответствующей выходной линии порта МК необходимо сформировать статический сигнал 0 или 1, что реали¬зуется командами вывода непосредственного операнда, содержащего в требуемом бите зн
ачение 0 или 1. В случае параллельного управления группой автономных исполнитель¬ных механизмов, подключенных к выходному порту, формируется не двоичное управляющее воздействие, а управляющее слово (УС), имею¬щее формат байта, каждому разряду которого ставится в соответствие 1 или 0 в зависимости от того, какие исполнительные механизмы должны быть включены, а какие выключены. Управляющие слова удобно формировать командами логических опе¬раций над содержимым порта.

Команда ANL используется для сброса тех бит УС, которые в операнде (маске) заданы нулем. Команда ORL ис¬пользуется для установки бит УС. Командой XRL осуществляется ин¬версия бит в соответствии с выражением х  1. Для формирования сложных последовательностей УС удобно пользо¬ваться табличным способом, при котором все возможные УС упакова¬ны в таблицу, а прикладная программа МК вычисляет адрес требуемо¬го УС, выбирает его из таблицы и передает в порт вывода. 6.

1.2 Формирование импульсных сигналов Управляющее воздействие типа ’’импульс” можно получить последо¬вательной выдачей сигналов «включить» и «отключить» с промежуточным вызовом подпрограммы временной задержки: PULS: ; выдача импульса в линию 3 порта 1 ON: ANL P1, #11110111b ; включение исполнительного механизма ACALL DELAY ; временная задержка OFF: ORL P1,#00001000b ; отключение исполнительного механизма или PULS: ; выдача им

пульса в линию 3 порта 1 ON: CLR P1.3 ; включение исполнительного механизма ACALL DELAY ; временная задержка OFF: SETB P1.3 ; отключение исполнительного механизма Длительность импульса определяется временной задержкой, реализуе¬мой подпрограммой DELAY. 6.1.3 Генерация периодического управляющего воздействия (меандра) Для генерации меандра воспользуемся подпрограммой реа¬лизации временной задержки, равной половине периода сигнала (D
LYX). MEANUR: XCOR: CPL P1.3 ACALL DLYX SJMP XCOR Бесконечный периодический сигнал формируется в линии 3 порта 1; на остальных линиях порта 1 сигналы остаются неизменными. 6.1.4 Формирование апериодического управляющего сигнала Последова¬тельность импульсных сигналов с произвольной длительностью и скваж¬ностью может быть получена аналогичным образом, т.е. путем чередова¬ния процедур выдачи изменяемого значения сигнала (0 или 1) и вызова подпрограмм временных задержек заданных длительностей. Заключение В дан

ном курсовом проекте были изучены основные принципы проводной передачи данных на большие расстояния на примере промышленного интерфейса RS-485, рассмотрены схемы его подключения с различными устройствами. Библиографический список 1. Янсен Й В 4 т. Т.3. Ложные ИС для устройств передачи данных. Пер. с голл. – М.: Мир, 1987. – 412 с ил. 2. Хелд Г Технологии передачи данных,

7-е изд. – СПб Питер, К. Издательская группа BHV, 2003. – 720 с. Ил. – (Серия «Классика computer science»). 3. Сперанский В.С Сигнальные микропроцессоры и их применение в системах телекоммуникаций и электроники. Учебное пособие для вузов. – М.: Горячая линия – Телеком, 2008. – 168 с.: ил. 4. Мячев А.А Степанов В.Н Щербо

В.К Интерфейсы систем обработки данных: Справочник. Под ред. А. А. Мячева. – М.: Радио и связь, 1989 – 416 с.: ил. 5. Калабеков Б.А Микропроцессоры и их применение в системах передачи и обработки сигналов: Учебное пособие для вузов. – М.: Радио и связь, 1988. – 368 с.: ил. 6. Горюнов А.Г Ливенцов С.Н Архитектура микроконтроллера

Intel 8051: Учебное пособие. – Томск: Издательство ТПУ, 2005. – 86 с. 7. www.onitex.ru