Приемопередатчик шинный что это

Опубликовано: 14.05.2024

Приведенные в § 5.5 драйверы с Z-состоянием выходов применяются для буферирования шины адреса и управляющих сигналов микропроцессоров, выполненных по n-МОП-технологии, нагрузочная способность выходов которых мала — один вход ИС серии 155. Драйверы передают сигналы только в одном направлении и могут быть использованы для усиления тока в любых цифровых устройствах. Все микропроцессоры имеют двунаправленную шину данных, а значит, для буферирования этой шины как со стороны микропроцессора, так и со стороны памяти и внешних устройств требуются двунаправленные драйверы, называемые приемопередатчиками (Transceivers). Приемопередатчики широко используются при построении микропроцессорных систем для управления передачей данных в двух и трех направлениях.

Структурная схема микроЭВМ.

На рис. 5.95 изображены основные устройства, входящие в состав типовой микроЭВМ:

CPU (Central Processing Unit) — центральный процессор,

OM (Read Only Memory) - постоянное запоминающее устройство,

RAM (Random Access Memory) - запоминающее устройство с произвольной выборкой (оперативное запоминающее устройство),

I/O (Input/Output) - устройство ввода/вывода (внешнее устройство).

Шины адреса и большинство сигналов управления на рис. 5.95 не показаны. Системная шина данных (System Bus Data) микроЭВМ должна иметь большую нагрузочную способность, поскольку к ней может подключаться много устройств различного назначения. Локальные же шины данных (Local Bus Data - шины, подключаемые к отдельным устройствам) могут иметь значительно меньшую нагрузочную способность. Обычно используются 8-, 16- и -разрядные шины данных.

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

Некоторые устройства (например, ROM и на рис. 5.95) могут использоваться только для чтения данных. Тогда для буферирования локальной шины данных применяются драйверы (Bus Driver). Если же устройства требуют двунаправленной передачи данных, то используются приемопередатчики (Transceivers). Некоторые узлы могут иметь раздельные входные и выходные шины данных (например, на рис. 5.95), а другие — двунаправленную шину данных. Это обусловливает выпуск двух типов приемопередатчиков: с одной двунаправленной шиной и с двумя двунаправленными шинами.

Одноименные разряды двунаправленной системной шины данных от разных устройств должны объединяться по ИЛИ, поэтому все приемопередатчики выполняются либо с Z-состоянием выходов, либо с открытым коллекторным выходом. Включение в каждый момент времени только одного приемопередатчика обеспечивается с помощью адресного дешифратора. Приемопередатчик, подключенный к CPU, производит передачу и прием данных от всех устройств, связанных с системной шиной.

Интерфейс CAN (Controller Area Network – сеть контроллеров) – стандарт промышленной сети, ориентированный на объединение в единую сеть различных исполнительных устройств и датчиков, был разработан компанией Robert Bosch GmbH для автомобильной автоматики в середине 1980-х. В настоящее время этот стандарт широко применяется в промышленной автоматизации, технологиях «умного дома», автомобильной промышленности, в корабельных бортовых сетях, управлении системами кондиционирования воздуха, лифтами, медицинскими и промышленными установками. В мире уже установлено более 100 млн. узлов сетей CAN, ежегодный прирост составляет более 50%.

Непосредственно стандарт CAN от Bosch определяет передачу без привязки к физическому способу передачи данных, т.е. он может быть каким угодно, например, радиоканалом или оптоволокном. Но на практике под CAN-сетью (рис. 1) обычно подразумевается сеть с физическим уровнем в виде общей и единой дифференциальной пары (ISO 11898). При максимальной скорости передачи, оговоренной стандартом, (1 Мбит/с) длина шины может достигать 30 м. При меньших скоростях ее можно увеличить до нескольких километров (на скорости 10 кБит/с – длина шины до 5 км). Если требуется большая длина, то ставятся мосты или повторители. Теоретически число подсоединяемых к шине устройств не ограничено ничем, а практически не превышает 64. В большинстве применений этой цифры вполне достаточно.

Архитектура микроконтроллеров семейства STM8S

Рис. 1. Физическая топология шины CAN

Шина CAN является мультимастерной, т. е. сразу несколько устройств могут управлять ею. Передача ведется кадрами, которые принимаются абсолютно всеми узлами сети. Шина CAN является синхронной шиной, которая в отличие от сетей типа Ethernet и им подобных (точка-точка) обеспечивает доступ на передачу сообщения детерминировано (т.е. приоритетно), что особо ценно для промышленных сетей управления (fieldbus). Коллизии и ошибки, возникающие на шине CAN, однозначно детектируются всеми узлами сети: узлы с зафиксированной ошибкой попросту отключаются от сети. Описание стандартов и большой объем документации по шине CAN бесплатно доступен на сайте организации CAN in Automation www.can-cia.de.

Каждый узел сети CAN состоит как минимум из трех основных частей: приемопередатчик физического уровня сети (в дальнейшем трансивер), контроллер пакетов сети, процессор или микроконтроллер, определяющий функциональное назначение самого узла. Зачастую сам контроллер CAN входит в состав процессора/микроконтроллера. Однако трансивер в виде отдельной микросхемы является необходимостью. Объясняется это, прежде всего, высокими требованиями к его надежности и рабочим характеристикам, поскольку работает он с цепями, физически выходящими за пределы устройства (в данном случае это сама шина CAN). А условия, в которых находятся эти цепи, зачастую не определены: например, сильные магнитные поля или пролегающие рядом силовые высоковольтные цепи. Более того, при необходимости гальванической развязки ее удобнее всего осуществлять именно между трансивером и контроллером CAN-сети.

Максимальное число узлов, подключенных к шине, фактически определяется нагрузочной способностью примененных трансиверов. Например, при использовании PCA82C250 от компании NXP (данная микросхема была разработана еще Philips Semiconductors) она равна 110.

Значительно возросшие требования к современным микросхемам по надежности, температуре, экономичности и другим параметрам касаются также и трансиверов сетей CAN. Ниже приведен обзор трансиверов трех производителей: NXP, Texas Instruments и Maxim.

CAN-трансиверы NXP

Высокоскоростные CAN-трансиверы компании NXP TJA1040, TJA1041, TJA1050 (табл. 1) основаны на продвинутой технологии SOI – кремний на изоляторе (Silicon-on-Insulator). Благодаря этой технологии новые трансиверы в сравнении с трансиверами предыдущего поколения PCA82C250 и PCA82C251 имеют уменьшенный уровень собственного электромагнитного излучения (20 дБ) и высокую устойчивость к электромагнитному излучению.

Таблица 1. Краткие параметры и характеристики микросхем CAN-трансиверов NXP

Трансивер TJA1040 имеет режим Standby с удаленным запуском по шине и потреблением тока менее 15 мкА. Трансивер рекомендован для работы в составе устройств, постоянно подключенных к питанию. Кроме того, TJA1040 при отключении питания становится невидим для шины, что делает его пригодным также для применений в узлах автоэлектроники типа clamp-15, когда при выключенном зажигании другие узлы общаются по CAN-шине.

TJA1041 имеет несколько особенностей в сравнении с TJA1040: спящий режим с потреблением тока узла не более 20 мкА; удаленный запуск по шине и локальный запуск через специальный вывод, что позволяет определить источник запуска; уникальные возможности диагностики и информирования об отказах шины: информирование о коротких замыканиях, включая «скрытые»; информирование о локальных сбоях. Благодаря этим свойствам TJA1041 имеет очень гибкую систему управления собственным потребляемым током.

TJA1050 имеет схожие с TJA1040 характеристики, но при отключенном питании во время общения других устройств отдает в шину обратный ток (TJA1040 имеет нулевой обратный ток). Обратный ток немного увеличивает электромагнитное излучение шины. Поэтому если требования к электромагнитной совместимости не очень жесткие, но необходима минимизация цены устройства, рекомендуется применять TJA1050 (TJA1050 на 20-30% дешевле, чем TJA1040).

Помимо высокоскоростных трансиверов, компания NXP выпускает приемопередатчики TJA1054 и TJA1054A стандарта FT-CAN (FT – Fault-tolerant, т.е. помехозащищенный). Они идентичны высокоскоростным трансиверам TJA1040/41/50, но обладают повышенной помехозащищенностью.

TJA1054 является, можно сказать, «образцовым» устройством: по нему фактически писался стандарт ISO11898-3 (FT-CAN). Особенности: спящий режим, потребление всего узла 30 мкА; великолепные параметры ЭМС благодаря технологии SOI; уникальные дополнительные функции отказоустойчивости (аналогичные TJA1041); нулевой обратный ток;

TJA1054A – версия TJA1054 с улучшенной защитой от электростатического разряда. Другие ососбенности: защита до 4 кВ в модели человеческого тела по выводам CANH, CANL, RTH, RTL (по сравнению с 2 кВ в TJA1054). Остальные технические параметры идентичны TJA1054, устройство полностью соответствует ISO11898-3 и рекомендуется как FT-CAN-трансивер в новых разработках.

Компания NXP также выпускает специальный трансивер AU5790, работающий с однопроводной шиной CAN. Этот 1W-CAN-приемопередатчик (1W – однопроводной) был специально разработан для узкого сегмента рынка с требованиями минимальной стоимости реализации шины,. Основные параметры AU5790: скорость передачи данных до 40 кбит/с; скорость приема данных до 100 кбит/с; инновационные функции экономии энергии; уникальные функции запуска, позволяющие осуществлять коммуникацию двух устройств без запуска всех шины; спящий режим с потреблением 70 мкА; функция защиты от потери земли; поддержка до 32 узлов.

Будучи в свое время флагманом в области CAN-трансиверов и CAN-контроллеров, предшественник NXP компания Philips Semiconductors успела довольно прочно занять этот рынок. Другие компании взяли за основу своих разработок изделия Philips и занялись их усовершенствованием и улучшением характеристик и параметров, с сохранением расположения выводов и корпусов микросхем. Этим путем пошли, например, компании Texas Instruments и Maxim.

CAN-трансиверы Texas Instruments

Как было сказано выше, CAN-трансиверы Texas Instruments (табл. 2) являются улучшенными образцами распространенных трансиверов серий PCA82C25x, TJA10xx от PHILIPS.

Таблица 2. Краткие параметры и характеристики микросхем CAN-трансиверов Texas Instruments

Серия трансиверов SN65HD23x/SN65HD23xQ является полностью совместимой по выводам/корпусу и улучшенной копией популярного трансивера NXP – PCA82C250: повышенная экономичность, напряжение питания 3,3 В, расширенный диапазон рабочей температуры, спящий режим со сверхнизким током потребления 0,1 мкА (SN65HD231/SN65HD231Q).

SN65HVD1040/1050/1050-EP в свою очередь являются аналогами соответствующих трансиверов NXP – TJA1040/1050, но с улучшенными параметрами: защита до 12 кВ в модели человеческого тела по выводам шины CAN относительно земли (по сравнению с 4 кВ в TJA1050); уменьшенный с 30 мкА (TJA1050) до 5 мкА ток потребления в ждущем режиме; автоматическое пробуждение из ждущего режима по факту приема данных по шине; расширенный диапазон рабочей температуры в отрицательной области (-55°С у SN65HVD1050-EP против -40°С у TJA1040/1050).

CAN-трансиверы Maxim

CAN-трансиверы Maxim (табл. 3) отличаются от соответствующих микросхем других компаний прежде всего возможностью работы на более высокой скорости – до 2 Мбит/с; повышенным максимально допустимым напряжением на шине (до +/-80 В); повышенной экономичностью, т.е. сверхнизким собственным током потребления (35 мкА при доминантном уровне на выходе шины и 2 мкА при рецессивном); дополнительной защитой по току выходных транзисторов. Разумеется, компания Maxim не стала отходить от традиции – все микросхемы CAN-трансиверов совместимы с изделиями конкурентов как по выводам, так и по корпусам, в которых она размещены. Основная область их применения – индустриальная.

Таблица 3. Краткие параметры и характеристики микросхем CAN-трансиверов MAXIM

MAX3054/55/56 – это усовершенствованные трансиверы TJA1054 (NXP): увеличенная надежность, благодаря высокому допустимому напряжению на шине CAN (до +/-80 В); уменьшенный уровень ВЧ-помех (встроенные фильтры) и повышенная устойчивость к внешним электромагнитным полям благодаря встроенному узлу управления скоростью нарастания напряжения на шине CAN. Они идеальны для работы на скоростях 40 кБит/с (MAX3056), 125 кБит/с (MAX3055) и 250 кБит/с (MAX3054).

Заключение

Жесткая конкурентная борьба применительно к трансиверам CAN-сетей выглядит так: каждая компания старается сделать полностью совместимый с конкурентом/конкурентами трансивер по выводам и по корпусу, но с улучшенными характеристиками: ток потребления, скорость работы, уровень излучаемых помех и, наконец, цена. На примере трех компаний – NXP, TI и MAXIM – это особенно заметно.

Наверняка многие и вас знают или даже видели, каким образом управляются большие автоматизированные объекты, например, атомная станция или завод со множеством технологических линий: основное действо часто происходит в большой комнате, с кучей экранов, лампочек и пультов. Это комплекс управления обычно называется ГЩУ — главный щит управления для контроля за производственным объектом.

Наверняка вам было интересно, как всё это работает с точки зрения аппаратной и программной части, и какие там используются протоколы передачи данных. В этой статье мы разберемся, как различные данные попадают на ГЩУ, как подаются команды на оборудование, и что вообще нужно, чтобы управлять компрессорной станцией, установкой производства пропана, линией сборки автомобиля или даже канализационно-насосной установкой.

Нижний уровень или полевая шина — то, с чего всё начинается

Этот неясный для непосвященных набор слов используется, когда нужно описать средства общения устройств управления с подведомственным оборудованием, например, модулями ввода-вывода или измерительными устройствами.

Под устройствами управления мы подразумеваем ПЛК, т.е. программируемые логические контроллеры (англ. PLC), или ПКА, т.е. программируемые контроллеры автоматизации (англ. PAC). Между ПЛК и ПКА есть некоторые различия, однако, в рамках данной статьи они не существенны, поэтому для упрощения будем использовать общий термин «контроллер».

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

«Поле» — это глубокий профессиональный термин, обозначающий тот факт, что некое оборудование (например, датчики или исполнительные механизмы), с которым взаимодействует контроллер, находятся где-то далеко-далеко, на улице, в полях, под покровом ночи. И неважно, что датчик может быть расположен в полуметре от контроллера и измерять, допустим, температуру в шкафу автоматики, все равно считается, что он находится «в поле». Чаще всего сигналы с датчиков, приходящие в модули ввода-вывода все-таки преодолевают расстояния от десятков до сотен метров (а иногда и больше), собирая информацию с удаленных площадок или оборудования. Собственно, поэтому шина обмена, по которой контроллер получает значения с этих самых датчиков, называется обычно полевой шиной или реже шиной нижнего уровня или промышленной шиной.

Тут следует отметить, что в Европе и США полевым уровнем считаются только сами устройства, расположенные «в поле», но не среда передачи данных. В российских реалиях термин «полевая шина» или «шина нижнего уровня», пожалуй, слегка размыт и обозначает способ передачи данных от модулей ввода-вывода к контроллеру и наоборот.



Общая схема автоматизации промышленного объекта

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

Верхний уровень: от гирлянды до целой рабочей станции

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

Если оператору повезло больше, то в качестве верхнего уровня ему достанется панель оператора — некий плоскопанельный компьютер, который тем или иным образом получает данные для отображения от контроллера и выводит их на экран. Такая панель обычно монтируется на сам шкаф автоматики, поэтому взаимодействовать с ней приходится, как правило, стоя, что вызывает неудобства, плюс качество и размер изображения — если это малоформатная панелm — оставляет желать лучшего.


Ну и, наконец, аттракцион невиданной щедрости — рабочая станция (а то и несколько дублирующих), представляющая собой обычный персональный компьютер.

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

Оборудование верхнего уровня обязано взаимодействовать неким образом с контроллером (иначе зачем оно нужно?). Для такого взаимодействия используются протоколы верхнего уровня и некая технология передачи, например, Ethernet или UART. В случае с «ёлкой» таких изощрений, конечно, не нужно, лампочки зажигаются с использованием обычных физических линий, никаких мудреных интерфейсов и протоколов там нет.

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

«Древние» протоколы передачи данных: Modbus и HART

Мало кто знает, но на седьмой день создания мира Бог не отдыхал, а создавал Modbus. Наравне с HART-протоколом, Modbus, пожалуй, самый старый промышленный протокол передачи данных, он появился аж в 1979 году.

В качестве среды для передачи изначально использовался последовательный интерфейс, затем Modbus реализовали поверх TCP/IP. Это синхронный протокол по схеме «мастер-слейв» (главный-подчиненный), в котором используется принцип «запрос-ответ». Протокол довольно тяжеловесный и медленный, скорость обмена зависит от характеристик приемника и передатчика, но обычно счет идет чуть ли не на сотни миллисекунд, особенно в реализации через последовательный интерфейс.

Более того, регистр передачи данных Modbus является 16-битным, что сразу же накладывает ограничения на передачу типов real и double. Они передаются либо по частям, либо с потерей точности. Хотя Modbus до сих пор повсеместно используется в случаях, когда не нужна высокая скорость обмена и потеря передаваемых данных не критична. Многие производители различных устройств любят расширять протокол Modbus своим исключительным и очень оригинальным образом, добавляя нестандартные функции. Поэтому данный протокол имеет множество мутаций и отклонений от нормы, но все же до сих пор успешно живет в современном мире.
Протокол HART тоже существует с восьмидесятых годов, это промышленный протокол обмена поверх двухпроводной линии токовой петли, в которую напрямую включаются датчики 4-20 мА и другие приборы с поддержкой протокола HART.

Для коммутации линий HART используются специальные устройства, так называемые HART-модемы. Также существуют преобразователи, которые на выходе предоставляют пользователю уже, допустим, протокол Modbus.

Примечателен HART, пожалуй, тем, что помимо аналоговых сигналов датчиков 4-20 мА в цепи передается и цифровой сигнал самого протокола, это позволяет соединить цифровую и аналоговую часть в одной кабельной линии. Современные HART-модемы могут подключаться в USB-порт контроллера, соединяться по Bluetooth, либо же старинным способом через последовательный порт. Десяток лет назад по аналогии с Wi-Fi появился и беспроводной стандарт WirelessHART, работающий в диапазоне ISM.

Второе поколение протоколов или не совсем промышленные шины ISA, PCI(e) и VME

На смену протоколам Modbus и HART пришли не совсем промышленные шины, такие как ISA (MicroPC, PC/104) или PCI/PCIe (CompactPCI, CompactPCI Serial, StacPC), а также VME.

Настала эра вычислителей, имеющих в своем распоряжении универсальную шину передачи данных, куда можно подключать различные платы (модули) для обработки некоего унифицированного сигнала. Как правило, в этом случае процессорный модуль (вычислитель) вставляется в так называемый каркас, который обеспечивает взаимодействие по шине с другими устройствами. Каркас, или, как его любят называть трушные автоматизаторы, «крейт», дополняется необходимыми платами ввода-вывода: аналоговыми, дискретными, интерфейсными и т.д., либо все это слепливается в виде бутерброда без каркаса — одна плата над другой. После чего это многообразие на шине (ISA, PCI, etc.) обменивается данными с процессорным модулем, который таким образом получает информацию с датчиков и реализовывает некую логику.



Контроллер и модули ввода-вывода в каркасе PXI на шине PCI. Источник: National Instruments Corporation

Все бы ничего с этими шинами ISA, PCI(e) и VME, особенно для тех времен: и скорость обмена не огорчает, и расположены компоненты системы в едином каркасе, компактно и удобно, горячей замены плат ввода-вывода может и не быть, но пока еще и не очень хочется.

Но есть ложка дегтя, и не одна. Распределенную систему довольно сложно построить в такой конфигурации, шина обмена локальная, нужно что-то придумывать для обмена данными с другими подчиненными или равноправными узлами, тот же Modbus поверх TCP/IP или какой другой протокол, в общем, удобств маловато. Ну и вторая не очень приятная штука: платы ввода-вывода обычно ждут на вход какой-то унифицированный сигнал, и гальванической развязки с полевым оборудованием у них нет, поэтому нужно городить огород из различных модулей преобразования и промежуточной схемотехники, что сильно усложняет элементную базу.



Промежуточные модули преобразования сигнала с гальванической развязкой. Источник: DataForth Corporation

«А что с протоколом обмена по промышленной шине?» — спросите вы. А ничего. Нет его в такой реализации. По кабельным линиям сигнал попадает с датчиков на преобразователи сигналов, преобразователи выдают напряжение на дискретную или аналоговую плату ввода-вывода, а данные с платы уже читаются через порты ввода/вывода, средствами ОС. И никаких специализированных протоколов.

Как работают современные промышленные шины и протоколы

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

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

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

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

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

Популярные поставщики оборудования предлагают собственные реализации промышленных протоколов: например, всем известная компания Siemens разрабатывает свою серию протоколов Profinet и Profibus, компании B&R — протокол Powerlink, Rockwell Automation — протокол EtherNet/IP. Отечественное решение в этом списке примеров: версия протокола FBUS от российской компании Fastwel.

Есть и более универсальные решения, которые не привязаны к конкретному производителю, такие как EtherCAT и CAN. Мы подробно разберем эти протоколы в продолжении статьи и разберемся, какие из них лучше подходят для конкретных применений: автомобильной и аэрокосмической промышленности, производства электроники, систем позиционирования и робототехники. Оставайтесь на связи!

System Data Bos - Local Data Bus

Структурная схема микроЭВМ. На рис. 5.95 изображены основные устройства, входящие в состав типовой микроЭВМ: CPU (Central Processing Unit) - центральный процессор, ROM (Read Only Memory) - постоянное запоминающее устройство,

RAM (Random Access Memory) - запоминающее устройство с произвольной выборкой (оперативное запоминающее устройство),

I/O (Input/Output) - устройство ввода/вывода (внешнее устройство).

Шины адреса и большинство сигналов управления на рис. 15.95 не показаны. Системная шина данных (System Bus Data) микроЭВМ должна иметь большую нагрузочную способность, поскольку к ней может подключаться много устройств различного назначения. Локальные же шины данных (Local Bus I Data - шины, подключаемые к отдельным устройствам) могут [иметь значительно меньшую нагрузочную способность. Обычно используются 8-, 16- и 32-разрядные шины данных. \ Прием и передача данных производится под управлением CPU. В каждый момент времени CPU может обслуживать Столько одно устройство. Выбор определенного устройства производится с помощью адресных сигналов, поэтому активные уровни сигналов ОЕт - О (ОЕ - Output Enable, т = 1,2. 6) [включения приемопередатчиков формируются с помощью де-риифраторов адреса. Сигнал Т ( Transmit), вырабатываемый центральным процессором, задает направление передачи данных \во двунаправленной шине данных.

Некоторые устройства (например, ROM и 7/0-1 на рис. [5.95) могут использоваться только для чтения данных. То-[гда для буферирования локальной шины данных применяются ;гдрайверы (Bus Driver). Если же устройства требуют двунапра-вленной передачи данных, то используются приемопередатчики (Transceivers). Некоторые узлы могут иметь раздельные входные и выходные шины данных (например, 7/0-3 на рис. 5.95), а другие - двунаправленную шину данных. Это обусловливает выпуск двух типов приемопередатчиков: с одной двунаправленной шиной и с двумя двунаправленными шинами.

Одноименные разряды двунаправленной системной шины данных от разных устройств должны объединяться по ИЛИ, поэтому все приемопередатчики выполняются либо с Z-состоянием выходов, либо с открытым коллекторным выходом. Включение в каждый момент времени только одного приемопередатчика обеспечивается с помощью адресного дешифратора. Приемопередатчик, подключенный к CPU, производит передачу и прием данных от всех устройств, связанных с системной шиной.

Шинные приемопередатчики с Z-состоянием выхода. Принцип построения приемопередатчиков на вентилях с Z-состоянием выходов был рассмотрен в § 5.5 (см. рис. 5.66). Приемопередатчик с одной двунаправленной 4-разрядной шиной данных 589АП26 показан на рис. 5.96,а:

DIj (Data Input - входные данные) - вводимые в CPU данные, j = 0,1,2,3;

DO: (Data Output - выходные данные) - выводимые из CPU данные;


DBj (Bidirectional Data Bus - двунаправленная шина дан-

ных) - подключаемая к CPU шина данных;

С5 (Chip Select - выбор кристалла) - включение приемопередатчика;

DIEN (Data Input Enable - разрешение ввода данных) -управление направлением передачи данных.

j DI3, если DIEN = 0 и CS = 0,

I Z-состояние, если DIEN = 1 или CS = 1;

DOi = \ ВВз 8СЛИ °IEN = lKCS = ° (5.22)

Z-состояние, если DIEN = 0 или CS = 1.

Если в схеме на рис. 5.96,а соединить поразрядно DIj с DOj, то получится 4-разрядный приемопередатчик с двумя двунаправленными шинами данных. Подобный приемопередатчик показан на рис. 5.96,в (ИС 1533ИП6). Здесь изображен другой метод управления приемом и передачей - управление с помощью Двух независимых сигналов ОЕА (Output Enable А - разрешение выходов D А) и О ЕВ (разрешение выходов DB):

ОЕА = 0, О ЕВ =1 - приемопередатчик выключен,

ОЕА = 1, ОЕВ = 0 - подавать запрещено,

ОЕА = 1, ОЁВ = 1 => DA] <- Ш

. Данные соотношения можно записать в аналитической форме:

Г DBj, если ОЕА = 1, DAj -

Z-состояние, если ОЕА = 0;

DB Л РА3,еслиОЕВ = 0(ОЕВ = 1),

3 \ Z-состояние, если ОЕВ = 1 (ОЕВ = 0) 1 (подавать значения сигналов ОЕА = ОЕВ - 1 не рекомендуется - одновременные прием и передача данных невозможны).

В 8-разрядном приемопередатчике 1533АП6 с двумя двунаправленными шинами данных (рис. 5.96,г) использован тот же метод управления приемом и передачей, что и в приемопередат-чиках 589АП16 и 589АП26:

ОЕ (Output Enable) - включение приемопередатчика,

Т (Transmit) - управление направлением передачи.

Здесь управляющие сигналы а - Т • ОЕ, (3 = Т • ОЕ и а • /? = 0, поэтому в каждый момент времени обеспечивается передача данных только в одном направлении независимо от значений сигналов Т и ОЕ. Как правило, выпускаются две разновидности приемопередатчиков: на вентилях без инверсии и на вентилях с инверсией. Все эти приемопередатчики независимо от типа вентилей описываются функциями

DB,, если Т - 0 и ОЁ

Z-состояние, если Т = 1 или ОЕ = 1;

[ Z-состояние, если Т = 0 или ОЕ = 1. В некоторых приемопередатчиках выходы DAj и DBj имеют разную нагрузочную способность - к системной шине данных следует подключать более мощные выходы. Значение сигнала Т = 1 включает вентили с большей нагрузочной способностью, что соответствует функции, заключенной в мнемонике Т (передавать).

На рис. 5.97 показаны приемопередатчики с одной двунаправленной шиной данных, описываемые функциями (5.22):

589АП16 - 4-разрядные приемопередатчики на вентилях без инверсии;

589АП26 - 4-разрядные приемопередатчики на вентилях с инверсией.

Приемопередатчики с двумя двунаправленными шинами данных, описываемые функциями (5.23), представлены на рис. 5.98:

1533ИП6, 74ЛХ51242, 74ЛХ52242 - 4-разрядные приемопередатчики на вентилях с инверсией;

1533ИП7, 74Л1-51243 - 4-разрядные приемопередатчики на вентилях без инверсии;

Усилитель тока с большой нагрузочной способностью принято называть буфером или драйвером.

Многоразрядные драйверы с z состояниями выходов используются для подключения устройств к системной (внутренней) шине микропроцессорных систем с помощью монтажной ИЛИ. такие драйверы часто называют шинными формирователями или шинными драйверами (BUS Driver).

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

Шинные формирователи могут быть и с открытым коллекторным выходом.

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

Глава 6. Процессор, его состав

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

Устройства входа/выхода, внешняя память и т.д.

Процессор – это основная часть ЭВМ, производящая обработку данных в соответствии с набором команд, хранящихся в памяти. Каждая такая команда – набор управляющих микрокоманд и управляющих символов.

§ 6.1 Структурная схема цп

IBA, IBD – внутренние шины данных и адреса, которые соединяются с внешней шиной через двунаправленные базы данных. Шина адреса IBA через буферный драйвер ВА – однонаправленный с внешней адресной шиной базы данных.

Драйвер управляет сигналами y4 и y5.

АЛУ в составе которого АС - аккумулятор (RG сумматора) как основной его регистр. RGП – регистровая память, эту память часто называют Регистрами Общего Назначения.

СУ – устройство управления: управляет не только процессором, но и внешними устройствами.

y1 – последовательность управляющих сигналов в АЛУ.

U1 – осведомительные сигналы (сигналы признаков результата).

y2 – сигналы управления регистровой памятью.

y3 – сигналы управления внешними устройствами.

U2 – сигналы от внешних устройств, в том числе сигналы прерывания.

§ 6.4 Микропроцессоры

управление прерываниями (состоит из контроллера прерываний);

управление последовательным входом/выходом;

АС – аккумулятор ( регистр сумматора и операнда:;

DA – регистр встроенный в ALU;

IR – регистр команд;

DC ….. – дешифратор и формирователь машинных циклов.

Микропроцессор имеет 8-разрядную внутреннюю шину IL? по которой все его блоки обмениваются информацией.

AC (Accumulator) – регистр, выполненный на двухступенчатых триггерах, способен хранить одновременно два слова: один из операндов, поступающий из шины и результат операции в ALU.

TR (Temporary Register) – регистр временного хранения одного из операндов (раньше – RGB).

ALU – комбинационная схема, выполняющая операции сложения/вычитания сдвига, сравнения слов, поразрядные логические операции по формуле: АС = А*В. Умножение и деление этим ALU выполняется по специальным программам.

DA (Decimal Adjust) – в ALU эта схема осуществляет перевод двоичных чисел в двоично-десятичные, для выполнения операций над десятичными числами.

RF (Register Flags) – регистр флагов или признаков результатов операций.

WL – блоки 8-разрядных регистров, SP и PC.

Связан с шиной данных через MUX / DMUX.

Регистры W и Z для временного хранения данных при выборе команды из памяти программисту не доступны.

BL – регистры общего назначения (РОН) часто называют внутренней сверхоперативной памятью. Они доступны программисту для размещения как данных, так и адресов.

BC, DE, HL – пары регистров могут использоваться как 16-разрядные регистры для хранения 16-разрядных адресов при косвенной адресации. Косвенная адресация – в команде указывается двухразрядный адрес (номер пары регистров), в которой расположен 16-разрядный адрес операнда.

SP (Stack Pointer) – 16-разрядный регистр – указатель стека (специально ограниченная память, не требующая организации каждой ячейки). Аппаратно стек организуется в ОЗУ в выделенной области памяти из К ячеек при запрете использования этой области для других целей. Основное назначение стека – обслуживание прерываний программы и выполнение подпрограмм.

PC (Program Counter) – программируемый счетчик, выдает адрес команды ………. в любой из 64-ти К ячеек памяти. При сбросе МП, РС обнуляется, поэтому в начале работы МП всегда выдается первый или нулевой адрес команды. После выборки команды из памяти счетчик РС инкрементируется, тем самым, выдавая адрес следующей команды.

Инкрементор (декрементор) – изменяет слова, передаваемые через ник на +1 или –1.

IR (Instruction Register)– регистр команд, принимает команды из памяти. Команда, после ее дешифровки, порождает сигналы, необходимые для реализации машинных циклов, предписанных кодом операции в команде.

Блок управления последовательным вводом/выводом обеспечивает в случае необходимости преобразование параллельного кода (байта) в последовательный и наоборот. Работает этот блок под управлением двух сигналов: SID (Serial Input Data) и SOD (Serial Output Data) – вход и выход последовательной передачи.

По команде RIM входной бит данных загружается в старший разряд аккумулятора АС, а по команде SIM выводится из этого разряда.

Функции выводов и сигналов блока синхронизации и управления МП.

А158 – адресные линии выходят из регистра.

AD7 – мультиплексированные линии младшего байта адреса или байта данных.

Все эти линии переходят в …… в режимах, при наличии следующих сигналов:

HOLD – сигнал захвата линии;

HLDA – сигнал подтверждения захвата шины;

RESET – выходной сигнал сброса для внешних модулей (информирование внешних устройств о том, что произошел сброс);

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

RD, WR – стробы чтения записи, выходы переходят в третье состояние HOLD, HLDA, RESET.

S1, S - сигналы состояния МП, сообщаемые внешней среде, формируются вначале и сохраняются в течение машинного цикла;

IO / M – сигнал выбора памяти или внешнего устройства; совместно с S1 и S идентифицирует тип машинного цикла.

Читайте также: