По какой шине передается обрабатываемая информация
Содержание
- 1 По какой шине передается обрабатываемая информация
- 1.1 Основные шины компьютера
- 1.2 Что такое шина компьютера
- 1.3 Виды системных шин
- 1.4 Выводы
- 1.5 Системная шина микропроцессора
- 1.6 Адресное пространство микропроцессорного устройства.
- 1.7 Способы расширения адресного пространства микропроцессора.
- 1.8 Шины и протоколы в промышленной автоматике: как всё это работает
- 1.9 Нижний уровень или полевая шина — то, с чего всё начинается
- 1.10 Верхний уровень: от гирлянды до целой рабочей станции
- 1.11 «Древние» протоколы передачи данных: Modbus и HART
- 1.12 Второе поколение протоколов или не совсем промышленные шины ISA, PCI(e) и VME
- 1.13 Как работают современные промышленные шины и протоколы
Основные шины компьютера
Компьютер состоит из множества различных компонентов, это центральный процессор, память, жесткий диск, а также огромное количество дополнительных и внешних устройств, таких как экран, мышка клавиатура, подключаемые флешки и так далее. Всем этим должен управлять процессор, передавать и получать данные, отправлять сигналы, изменять состояние.
Для реализации этого взаимодействия все устройства компьютера связаны между собой и с процессором через шины. Шина – это общий путь, по которому информация передается от одного компонента к другому. В этой статье мы рассмотрим основные шины компьютера, их типы, а также для соединения каких устройств они используются и зачем это нужно.
Что такое шина компьютера
Как я уже сказал – шина – это устройство, которое позволяет связать между собой несколько компонентов компьютера. Но к одной шине могут быть подключены несколько устройств и у каждой шины есть свой набор слотов для подключения кабелей или карт.
Фактически, шина – это набор электрических проводов, собранных в пучок, среди них есть провода питания, а также сигнальные провода для передачи данных. Шины также могут быть сделаны не в виде внешних проводов, а вмонтированы в схему материнской платы.
По способу передачи данных шины делятся на последовательные и параллельные. Последовательные шины передают данные по одному проводнику, один бит за один раз, в параллельных шинах передача данных разделена между несколькими проводниками и поэтому можно передать большее количество данных.
Виды системных шин
Все шины компьютера можно разделить за их предназначением на несколько типов. Вот они:
- Шины данных – все шины, которые используются для передачи данных между процессором компьютера и периферией. Для передачи могут использоваться как последовательный, так и параллельный методы, можно передавать от одного до восьми бит за один раз. По размеру данных, которые можно передать за один раз такие шины делятся на 8, 16, 32 и даже 64 битные;
- Адресные шины – связаны с определенными участками процессора и позволяют записывать и читать данные из оперативной памяти;
- Шины питания – эти шины питают электричеством различные, подключенные к ним устройства;
- Шина таймера – эта шина передает системный тактовый сигнал для синхронизации периферийных устройств, подключенных к компьютеру;
- Шина расширений – позволяет подключать дополнительные компоненты, такие как звуковые или ТВ карты;
В то же время, все шины можно разделить на два типа. Это системные шины или внутренние шины компьютера, с помощью которых процессор соединяется с основными компонентами компьютера на материнской плате, такими как память. Второй вид – это шины ввода/вывода, которые предназначены для подключения различных периферийных устройств. Эти шины подключаются к системной шине через мост, который реализован в виде микросхем процессора.
Также к шинам ввода/вывода подключается шина расширений. Именно к этим шинам подключаются такие компоненты компьютера, как сетевая карта, видеокарта, звуковая карта, жесткий диск и другие и их мы более подробно рассмотрим в этой статье.
Вот наиболее распространенные типы шин в компьютере для расширений:
- ISA – Industry Standard Architecture;
- EISA – Extended Industry Standard Architecture;
- MCA – Micro Channel Architecture;
- VESA – Video Electronics Standards Association;
- PCI – Peripheral Component Interconnect;
- PCI-E – Peripheral Component Interconnect Express;
- PCMCIA – Personal Computer Memory Card Industry Association (также известна как PC bus);
- AGP – Accelerated Graphics Port;
- SCSI – Small Computer Systems Interface.
А теперь давайте более подробно разберем все эти шины персональных компьютеров.
Шина ISA
Раньше это был наиболее распространенный тип шины расширения. Он был разработан компанией IBM для использования в компьютере IBM PC-XT. Эта шина имела разрядность 8 бит. Это значит что можно было передавать 8 бит или один байт за один раз. Шина работала с тактовой частотой 4,77 МГц.
Для процессора 80286 на базе IBM PC-AT была сделана модификация конструкции шины, и теперь она могла передавать 16 бит данных за раз. Иногда 16 битную версию шины ISA называют AT.
Из других усовершенствований этой шины можно отметить использование 24 адресных линий, что позволяло адресовать 16 мегабайт памяти. Эта шина имела обратную совместимость с 8 битным вариантом, поэтому здесь можно было использовать все старые карты. Первая версия шины работала на частоте процессора – 4,77 МГц, во второй реализации частота была увеличена до 8 МГц.
Шина MCA
Компания IBM разработала эту шину в качестве замены для ISA, для компьютера PS/2, который вышел в 1987 году. Шина получила еще больше усовершенствований по сравнению с ISA. Например, была увеличена частота до 10 МГц, а это привело к увеличению скорости, а также шина могла передавать 16 или 32 бит данных за раз.
Также была добавлена технология Bus Mastering. На плате каждого расширения помещался мини-процессор, эти процессоры контролировали большую часть процессов передачи данных освобождая ресурсы основного процессора.
Одним из преимуществ этой шины было то, что подключаемые устройства имели свое программное обеспечение, а это значит что требовалось минимальное вмешательство пользователя для настройки. Шина MCA уже не поддерживала карты ISA и IBM решила брать деньги от других производителей за использование этой технологии, это сделало ее непопулярной с сейчас она нигде не используется.
Шина EISA
Эта шина была разработана группой производителей в качестве альтернативы для MCA. Шина была приспособлена для передачи данных по 32 битному каналу с возможностью доступа к 4 Гб памяти. Подобно MCA для каждой карты использовался микропроцессор, и была возможность установить драйвера с помощью диска. Но шина все еще работала на частоте 8 МГц для поддержки карт ISA.
Слоты EISA в два раза глубже чем ISA, если вставляется карта ISA, то она использует только верхний ряд разъемов, а EISA использует все разъемы. Карты EISA были дорогими и использовались обычно на серверах.
Шина VESA
Шина VESA была разработана для стандартизации способов передачи видеосигнала и решить проблему попыток каждого производителя придумать свою шину.
Шина VESA имеет 32 битный канал передачи данных и может работать на частоте 25 и 33 МГц. Она работала на той же тактовой частоте, что и центральный процессор. Но это стало проблемой, частота процессора увеличивается и должна была расти скорость видеокарт, а чем быстрее периферийные устройства, тем они дороже. Из-за этой проблемы шина VESA со временем была заменена на PCI.
Слоты VESA имели дополнительные наборы разъемов, а поэтому сами карты были крупными. Тем не менее сохранялась совместимость с ISA.
Шина PCI
Peripheral Component Interconnect (PCI) – это самая новая разработка в области шин расширений. Она является текущем стандартом для карт расширений персональных компьютеров. Intel разработала эту технологию в 1993 году для процессора Pentium. С помощью этой шины соединяется процессор с памятью и другими периферийными устройствами.
PCI поддерживает передачу 32 и 64 разрядных данных, количество передаваемых данных равно разрядности процессора, 32 битный процессор будет использовать 32 битную шину, а 64 битный – 64 битную. Работает шина на частоте 33 МГц.
В PCI можно использовать технологию Plug and Play (PnP). Все карты PCI поддерживают PnP. Это значит, что пользователь может подключить новую карту, включить компьютер и она будет автоматически распознана и настроена.
Также тут поддерживается управление шиной, есть некоторые возможности обработки данных, поэтому процессор тратит меньше времени на их обработку. Большинство PCI карт работают на напряжении 5 Вольт, но есть карты, которым нужно 3 Вольта.
Шина AGP
Необходимость передачи видео высокого качества с большой скоростью привела к разработке AGP. Accelerated Graphics Port (AGP) подключается к процессору и работает со скоростью шины процессора. Это значит, что видеосигналы будут намного быстрее передаваться на видеокарту для обработки.
AGP использует оперативную память компьютера для хранения 3D изображений. По сути, это дает видеокарте неограниченный объем видеопамяти. Чтобы ускорить передачу данных Intel разработала AGP как прямой путь передачи данных в память. Диапазон скоростей передачи – 264 Мбит до 1,5 Гбит.
PCI-Express
Это модифицированная версия стандарта PCI, которая вышла в 2002 году. Особенность этой шины в том что вместо параллельного подключения всех устройств к шине используется подключение точка-точка, между двумя устройствами. Таких подключений может быть до 16.
Это дает максимальную скорость передачи данных. Также новый стандарт поддерживает горячую замену устройств во время работы компьютера.
PC Card
Шина Personal Computer Memory Card Industry Association (PCICIA) была создана для стандартизации шин передачи данных в портативных компьютерах.
Шина SCSI
Шина SCSI была разработана М. Шугартом и стандартизирована в 1986 году. Эта шина используется для подключения различных устройств для хранения данных, таких как жесткие диски, DVD приводы и так далее, а также принтеры и сканеры. Целью этого стандарта было обеспечить единый интерфейс для управления всеми запоминающими устройствами на максимальной скорости.
Шина USB
Это стандарт внешней шины, который поддерживает скорость передачи данных до 12 Мбит/сек. Один порт USB (Universal Serial Bus) позволяет подключить до 127 периферийных устройств, таких как мыши, модемы, клавиатуры, и другие устройства USB. Также поддерживается горячее удаление и вставка оборудования. На данный момент существуют такие внешние шины компьютера USB, это USB 1.0, USB 2.0, USB 3.0, USB 3.1 и USB Type-C.
USB 1.0 был выпущен в 1996 году и поддерживал скорость передачи данных до 1,5 Мбит/сек. Стандарт USB 1.1 уже поддерживал скорость 12 Мбит/сек для таких устройств, как жесткие диски.
Более новая спецификация – USB 2.0 появилась в 2002 году. Скорость передачи данных выросла до 480 Мбит/сек, а это в 40 раз быстрее чем раньше.
USB 3.0 появился в 2008 году и поднял стандарт скорости еще выше, теперь данные могут передаваться со скоростью 5 Гбит/сек. Также было увеличено количество устройств, которые можно питать от одного порта. USB 3.1 был выпущен в 2013 и тут уже поддерживалась скорость до 10 Гбит/с. Также для этой версии был разработан компактный разъем Type-C, к которому коннектор может подключаться любой стороной.
Выводы
В этой статье мы рассмотрели основные шины компьютера, историю их развития, назначение шин компьютера, их типы и виды. Надеюсь эта статья была для вас полезной и вы узнали много нового.
На завершение небольшое видео про шины и интерфейсы компьютера:
Системная шина микропроцессора
Системная шина процессора предназначена для обмена информацией микропроцессора с любыми внутренними устройствами микропроцессорной системы (контроллера или компьютера). В качестве обязательных устройств, которые входят в состав любой микропроцессорной системы, можно назвать ОЗУ, ПЗУ, таймер и порты ввода-вывода. Структурная схема простейшего микропроцессорного устройства приведена на рисунке 1.
В состав системной шины в зависимости от типа процессора входит одна или несколько шин адреса, одна или несколько шин данных и шина управления. Несколько шин данных и адреса применяется для увеличения производительности процессора и используется только в сигнальных процессорах. В универсальных процессорах и контроллерах обычно применяется одна шина адреса и одна шина данных.
В понятие шины вкладывают разное значение при рассмотрении различных вопросов. В простейшем случае под понятием шина подразумевают параллельно проложенные провода, по которым передаётся двоичная информация. При этом по каждому проводу передаётся отдельный двоичный разряд. Информация может передаваться в одном направлении, как, например, для шины адреса или шины управления, или в различных направлениях (для шины данных). По шине данных информация передаётся либо к процессору, либо от процессора в зависимости от операции записи или чтения, которую в данный момент осуществляет процессор.
В любом случае все сигналы, необходимые для работы системной шины формируются микросхемой процессора как это рассматривалось при изучении операционного блока. Иногда для увеличения скорости обработки информации функции управления системной шины берёт на себя отдельная микросхема (например контроллер прямого доступа к памяти или сопроцессор). Арбитраж доступа к системной шине при этом осуществляет контроллер системной шины (в простейшем случае достаточно сигнала занятости шины).
В некоторых случаях в понятие шина дополнительно включают требования по уровням напряжения, которыми представляются нули и единицы, передаваемые по её проводам. В состав требований могут быть включены длительности фронтов передаваемых сигналов, типы используемых разъёмов и их распайка, последовательность передаваемых сигналов и скорость их передачи.
Рисунок 1. Структурная схема подключения микропроцессорных устройств к системной шине
При подключении различных устройств к системной шине возникает вопрос — как различать эти устройства между собой? Единственный способ сделать это использовать индивидуальный адрес для каждого устройства, подключенного к системной шине микропроцессора. Так как адресация производится к каждой ячейке устройства индивидуально, то возникает понятие адресного пространства, занимаемого каждым устройством и адресного пространства микропроцессорного устройства в целом.
Адресное пространство микропроцессорного устройства.
Адресное пространство микропроцессорного устройства изображается графически прямоугольником, одна из сторон которого представляет разрядность адресуемой ячейки этого микропроцессора, а другая сторона – весь диапазон доступных адресов для этого же микропроцессора. Обычно в качестве минимально адресуемой ячейки памяти выбирается восьмиразрядная ячейка памяти (байт). Диапазон доступных адресов микропроцессора определяется разрядностью шины адреса системной шины. При этом минимальный номер ячейки памяти (адрес) будет равен 0, а максимальный определяется из формулы:
Для шестнадцатиразрядной шины это будет число 65535 (64K). Адресное пространство этой шины и распределение памяти микропроцессорной системы, изображённой на рисунке 1, приведено на рисунке 2, а распределение памяти микропроцессорной системы, изображённой на рисунке 1, приведено на рисунке 3.
Рисунок 2. Адресное пространство шестнадцатиразрядной шины адреса
Рисунок 3. Распределение памяти микропроцессора с шестнадцатиразрядной шиной адреса
Микропроцессоры после включения питания и выполнения процедуры сброса всегда начинают выполнение программы с определённого адреса, чаще всего нулевого. Однако есть и исключения. Например процессоры, на основе которых строятся универсальные компьютеры IBM PC или Macintosh стартуют не с нулевого адреса. Программа должна храниться в памяти, которая не стирается при выключении питания, то есть в ПЗУ.
Выберем для построения микропроцессорной системы микросхему ПЗУ объёмом 2 килобайта, как это показано на рисунке 1. При рассмотрении построения блока обработки сигналов мы договорились, что процессор после сброса начинает работу с нулевого адреса, поэтому разместим ПЗУ в адресном пространстве начиная с нулевого адреса. Для того, чтобы нулевая ячейка ПЗУ оказались расположенной по нулевому адресу адресного пространства микропроцессора, старшие разряды шины адреса должны быть равны 0.
При построении схемы необходимо декодировать старшие пять разрядов адреса (определить, чтобы они были равны 0). Это выполняется при помощи дешифратора адреса, который в данном случае вырождается в пятивходовую схему “ИЛИ” Это связано с тем, что внутри ПЗУ уже есть одиннадцативходовый дешифратор адреса. При использовании дешифратора адреса, обращение к ячейкам памяти выше двух килобайт не приведёт к чтению ячеек ПЗУ, так как на входе выбора кристалла CS уровень напряжения останется высоким.
Теперь подключим микросхему ОЗУ. Для примера выберем микросхему объёмом 8 Кбайт. Для выбора любой из ячеек этой микросхемы достаточно тринадцатибитового адреса, поэтому необходимо дополнительно декодировать три оставшихся разряда адреса. Так как начальные ячейки памяти адресного пространства уже заняты ПЗУ, то использовать нельзя. Выберем следующую комбинацию цифр 001 и используем известные нам принципы построения схемы по произвольной таблице истинности. Дешифратор адреса выродится в данном случае в трёхвходовую схему “И-НЕ” с двумя инверторами на входе. Схема этого дешифратора приведена на рисунке 1. Приведённый дешифратор адреса обеспечивает нулевой уровень сигнала на входе CS только при комбинации старших бит 001. Обратите внимание, что так как объём ПЗУ меньше объёма ОЗУ, то между областью адресов ПЗУ и областью адресов ОЗУ образовалось пустое пространство неиспользуемых адресов памяти.
И, наконец, так как все микропроцессоры предназначены для обработки данных, поступающих извне, то в любой микропроцессорной системе должны присутствовать порты ввода-вывода. Порт ввода-вывода отображается в адресное пространство микропроцессорного устройства как одиночная ячейка памяти, поэтому порт ввода вывода можно разместить по любому свободному адресу. Проще всего построить дешифратор числа FFFFh. В этом случае дешифратор превращается в обычную 16-ти входовую схему “И-НЕ”, поэтому и выберем эту ячейку памяти в адресном пространстве микропроцессора для размещения порта ввода-вывода.
Способы расширения адресного пространства микропроцессора.
Известно, что размер адресного пространства определяется разрядностью счётчика команд микропроцессора. Достаточно часто при развитии микропроцессорной системы возможности адресного пространства исчерпываются. В таком случае приходится прибегать к методам расширения адресного пространства.
Для расширения адресного пространства можно воспользоваться параллельным портом. Внешние выводы параллельного порта при этом используются в качестве старших битов адресной шины. Такой метод расширения адресного пространства называется страничным методом адресации. Регистр данных параллельного порта при использовании его для расширения адресного пространства будет называться переключателем страниц. Схема использования параллельного порта в качестве переключателя страниц памяти приведена на рисунке 4.
Рисунок 4. Использование параллельного порта в качестве переключателя страниц памяти
В этой схеме параллельный порт используется в качестве простейшего контроллера памяти микропроцессорного устройства. При применении восьмиразрядного параллельного порта в микропроцессорной системе появились дополнительные восемь линий адреса. В результате адресное пространство микропроцессорной системы увеличилось до 16 Мегабайт. Структура нового адресного пространства приведена на рисунке 5, а принцип формирования нового адреса с использованием переключателя страниц приведён на рисунке 6.
Рисунок 5. Структура страничного адресного пространства
Рисунок 6. Формирование адреса с использованием переключателя страниц
Метод страничной адресации прост в реализации и при формировании адреса физической памяти не приводит к дополнительным временным задержкам, но при использовании многозадачного режима работы процессора для каждой активной задачи выделяется целая страница в системной памяти микропроцессора. При такой работе в системной памяти процессора остаётся много неиспользуемых областей. Решить возникшую проблему позволяет метод сегментной организации памяти.
При сегментном методе организации памяти для расширения адресного пространства используется базовый регистр, относительно которого производится адресация команд или данных в программе. Разрядность базового регистра обычно выбирают равной разрядности счётчика команд. В качестве базового регистра, как и при страничной организации памяти, можно использовать параллельный порт.
Для формирования физического адреса используется параллельный двоичный сумматор. На входы этого сумматора подаётся содержимое базового регистра и содержимое счётчика команд. Суммирование производится со смещением содержимого базового регистра влево на несколько бит относительно счётчика команд (рисунок 8). В результате максимальный размер сегмента определяется разрядностью программного счётчика, а максимальная неиспользуемая область памяти — смещением базового регистра относительно программного счётчика.
Адресное пространство при использовании сегментного метода адресации приведено на рисунке 7.
Рисунок 7. Пример адресного пространства с разделением на сегменты
Количество сегментов определяется количеством базовых регистров. Сегменты могут перекрываться в адресном пространстве, и тем самым может регулироваться размер памяти, который отводится под каждый конкретный сегмент памяти. В компьютерах семейства IBM PC имеются четыре базовых регистра, определяющих сегмент данных, сегмент программы, сегмент стека и дополнительный сегмент. Информацию в базовые регистры заносит операционная система при переключении задач.
Рисунок 8. Формирование адреса при сегментной адресации
Ещё одним распространённым способом увеличения адресного пространства является применение окон. При использовании окон производится расширение не всего адресного пространства, а только его части. Внутри адресного пространства выделяется некоторая область, которая называется окном. В это окно может отображаться часть другого адресного пространства.
При использовании окон может быть использован как страничный метод отображения адресного пространства, так и сегментный метод отображения адресного пространства в окно.
При использовании страничного метода отображения, конкретная страница другого адресного пространства, которая в данный момент отображается в окно памяти, определяется переключателем страниц, построенному по такому же принципу как это было рассмотрено на рисунке 4.
При использовании сегментного метода отображения, конкретная область адресного пространства, которая будет отображаться в окно, определяется содержимым базового регистра. Если разрядность адреса вспомогательного адресного пространства, отображаемого в окно основной памяти, совпадает с разрядностью базового регистра, то любая область вспомогательной памяти может быть отображена в основную память с точностью до байта.
Принцип построения оконной адресации при отображении страниц показан на рисунке 9.
Рисунок 9. Применение окна для расширения адресного пространства
Оконная адресация часто используется при развитии микропроцессорных семейств, когда размера областей памяти, отведённых для конкретных задач в младших моделях семейства, не хватает для старших моделей семейства, а при этом нужно поддерживать аппаратную совместимость с младшими моделями семейства. В качестве примера можно привести микросхемы I81c96 фирмы INTEL или TMS320c5410 фирмы Texas Instrument, где для расширения области регистров специальных функций используется оконная адресация.
Понравился материал? Поделись с друзьями!
- Микушин А.В. Занимательно о микроконтроллерах. СПб, БХВ-Петербург, 2006.
- Микушин А.В., Сажнев А.М., Сединин В.И. Цифровые устройства и микропроцессоры. СПб, БХВ-Петербург, 2010.
- С.А. Майоров, В.В. Кириллов, А.А. Приблуда Введение в микро ЭВМ. Ленинград, Машиностроение, 1988.
- Михаил Гук Аппаратные средства IBM PC. СПб, Питер, 2006.
- http://ru.wikipedia.org/wiki/RISC
Вместе со статьей “Системная шина микропроцессора” читают:
Шины и протоколы в промышленной автоматике: как всё это работает
Наверняка многие и вас знают или даже видели, каким образом управляются большие автоматизированные объекты, например, атомная станция или завод со множеством технологических линий: основное действо часто происходит в большой комнате, с кучей экранов, лампочек и пультов. Это комплекс управления обычно называется ГЩУ — главный щит управления для контроля за производственным объектом.
Наверняка вам было интересно, как всё это работает с точки зрения аппаратной и программной части, и какие там используются протоколы передачи данных. В этой статье мы разберемся, как различные данные попадают на ГЩУ, как подаются команды на оборудование, и что вообще нужно, чтобы управлять компрессорной станцией, установкой производства пропана, линией сборки автомобиля или даже канализационно-насосной установкой.
Нижний уровень или полевая шина — то, с чего всё начинается
Этот неясный для непосвященных набор слов используется, когда нужно описать средства общения устройств управления с подведомственным оборудованием, например, модулями ввода-вывода или измерительными устройствами.
Под устройствами управления мы подразумеваем ПЛК, т.е. программируемые логические контроллеры (англ. 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. Мы подробно разберем эти протоколы в продолжении статьи и разберемся, какие из них лучше подходят для конкретных применений: автомобильной и аэрокосмической промышленности, производства электроники, систем позиционирования и робототехники. Оставайтесь на связи!