PERIPHERAL CONTROLLER WITH PROFIBUS DP - INTERFACE
Преображенский Н. Б.1, Холопов Ю. А.2, Дам Чонг Нам3
1Кандидат технических наук, 2Ведущий инженер, Институт точной механики и вычислительной техники им. С. А. Лебедева РАН, Москва
3Магистрант, Московский физико-технический институт (Государственный университет)
Работа выполнена при поддержке Министерства образования и науки Российской Федерации.
КОНТРОЛЛЕР ПЕРИФЕРИИ С PROFIBUS DP - ИНТЕРФЕЙСОМ
Аннотация
Предложены: модульная структура, алгоритм и схемотехническое решение построения контроллера, позволяющего комплексировать периферийнные устройства разного типа с минимальными задержками взаимодействия с сетевой средой.
Ключевые слова: FPGA, PROFIBUS DP, UART, SPI, I2C, RS-485, контроллер.
Preobrazhensky N.B.1, Kholopov Yu.A.2, Dam Trong Nam3
1Candidate of Technical Sciences, 2Leading engineer, Lebedev Institute of Precision Mechanics and Computer Engineering
3Master student, Moscow Institute of Physics and Technology
PERIPHERAL CONTROLLER WITH PROFIBUS DP - INTERFACE
Abstract
Modular structure, algorithm and circuit solution for constructing a controller allowing connect various types of peripherals with low delay with network environment are proposed.
Keywords: FPGA, PROFIBUS DP, UART, SPI, I2C, RS-485, controller.
ВведениеТема работы относится к области организации вычислений в распределенных системах управления. Современная элементная база позволяет отказаться от прямой передачи аналоговых и цифровых сигналов между удаленными узлами системы управления. На смену первичным, прямым, параллельным связям пришли сетевые интерфейсы, иногда обозначаемые термином «сетевая информационная среда». В работе будет рассмотрена разработка контроллера с оптимизированнымобъемом управляющей логики, который позволит подключать в сетевую информационную среду: первичные датчики аналоговых интерфейсов - измеритель тока, измеритель температуры, и тому подобное – через АЦП, другие дискретные устройства ввода – вывода, типичные для систем управления. В качестве сетевого интерфейса в работе использован широко распространенный в промышленности интерфейс PROFIBUS DP[1].
Для решаемой задачи основные, существенные сетевые параметры следующие:
- PROFIBUSDP оптимизирован для быстрого обмена данными специально для коммуникаций между системами автоматизации и децентрализованной периферией на полевом уровне;
- К шинному сегменту можно по стандарту RS-485 подключить до 32 абонентов. Использование повторителей позволяет увеличить число участников.
Реализованный контроллер обеспечит возможность подключения к сети большого количества таких разноскоростных периферийных устройств, как компьютер, датчики температуры, датчики влажности, АЦП, EEPROM, и тому подобное (рис. 1).
Рис. 1 - Схема соединенияпериферийныхустройств с контроллером
РеализацияПри разработке контроллера и реализации алгоритма его функционирования использован высокоскоростный промышленный интерфейс PROFIBUSDP, скорость передачи которого достигает 12 мегабит/с при длине сегмента 100 метров. Сеть PROFIBUS DP не одноранговая, используется метод «Master-Slave». Разработанный контроллер является ведомым сети. Ведущий отправляет контроллеру пакет управления, и получает от него пакет состояния в едином цикле обмена[1]. Структурная схема реализации контроллера показана на рис. 2.
Рис. 2 - Общая структурная схема сетевого контроллера периферии
Общая структурная схемасетевого контроллера периферии состоит из следующих блоков:
- Блок 1 – конфигурации (БК);
- Блок 2 – получения данных из сети PROFIBUSDP (БПД);
- Блок 3 – обработки пакета управления (БОПУ);
- Блок 4 – формирования пакета состояния (БФПС);
- Блок 5 – посылки данных в сеть PROFIBUSDP (БПД).
Принцип работы контроллера
После включения питания запускается процесс конфигурации. БК считывает из памяти (EEPROM) параметры и сохраняет их в регистрах конфигурации модулей. После процедуры конфигурации БПД переходит в состояние ожидания. БОПУ начинает работать после получения пакета управления из сети PROFIBUSDP. БФПС состоит из нескольких модулей управления периферийными устройствами, большинство из которых работает постоянно, независимо от сетевого интерфейса, а полученные данные, всегда присутствуют в выходных регистрах и готовы для пересылки. Исключение представляет модуль «контроллер I2C» - интерфейс с памятью EEPROM 24LC64. Контроллер I2C активизируется запросом из сети PROFIBUS DP, а готовность пакета состояния возникает после чтения данных из памяти. Получив признак готовности БПД посылает пакет состояния тому ведущему, который запросил информацию из узла.
Особенности решения
Каждое периферийное устройство управляется независимо, индивидуальным контроллером. Контроллеры работают в циклическом режиме независимо от скоростных параметров конкретного периферийного устройства. Полученные от них данные, всегда присутствуют в выходных регистрах и готовы для пересылки с «нулевой» задержкой.
Абоненты сети нижнего уровня (сеть I2C) не могут работать в циклическом режиме и обслуживают запросы из сети PROFIBUS DP в режиме запрос – ответ. Максимальная задержка модуля «контроллер I2C» фиксирована и находится в допустимом диапазоне, согласованном с требованием сети PROFIBUS DP.
Примеры подключенных периферийных устройств
Конфигурационная EEPROM
Фактически, у каждой системы управленияимеется конфигурационная память, которая работает при старте. В этой работе использована энергонезависимая память EEPROM 25LC160, работающая по интерфейсу SPI.
Аналого-цифровой преобразователь
К контроллеру подключено типичное устройство для систем обработки сигналов – АЦП. В качестве примера выбран АЦП ADC104S101, работающий по интерфейсу SPI, имеющий частоту преобразования от 500 тысяч выборок в секунду до 1 миллиона, и разрядность 10 бит. Принцип работы выбранного АЦП заключается в том, что для одного измерения нужно два цикла, причём фиксация уровня аналогового входа и преобразование его в цифровое значение происходят в смежных циклах. Цикл измерения текущей выборки совмещается с циклом фиксации последующей, то есть измерения по разным каналам конвейеризованы и перекрываются на половину полного периода измерения. Для увеличения пропускной способности выбран конвейерный принцип,т.е, для измерения значений сигналов во всех четырёх каналах, нужен один избыточный цикл.
Периферийная EEPROM
В промышленных сетях широко используются узлы энергонезависимой памяти, датчики температуры, датчики влажности, работающие по интерфейсу I2C. Для обеспечения работоспособности широкого набора перечисленных устройств реализован узел I2C ведущего в разработанном контроллере (рис. 3).
Рис. 3 - Схема соединения периферийного EEPROM c контроллером
В качестве примера, к контроллеру подключены энергонезависимые памяти EEPROM 24LC64, сохраняющие данные каких–то процессов, нужные для обработки. Несмотря на то, что I2C широко используется как внутриблочный и внутриплатный интерфейс, I2C имеет сетевой характер. Фактически, контроллер I2C является шлюзом между сетями PROFIBUS DP и I2C.
После получения таких параметров от пакета управления, как адрес опрашиваемой EEPROM, адрес читаемого байта и режим работы с памятью, контроллер обращается к памяти за данными, затем заносит полученные данные в буфер для посылки в сеть PROFIBUS DP.
Шлюз сети I2C позволяет обрабатывать данные с других типов устройств, работающих по интерфейсу I2C: датчиков температуры, датчиков влажности и тому подобное.
Заключение
Разработана технология подключения к широко распространенной в промышленности сети PROFIBUS DP 6 типовых периферийных устройств с разными интерфейсами (UART, SPI, I2C, регистры). Предложенное решение обладает свойством открытости, поэтому при необходимости использования других типов периферийных устройств или комплексирования другой сети нижнего уровня, общая аппаратная идея решения сохраняется. Контроллер, имеющий минимальное время реакции на запросы реализован в FPGA.
Литература
- Денисенко В.В. Компьютерное управление технологическим процессом, инструментом, оборудованием. – М.: Горячая линия-Телеком, 2009. – 608 с., - ISBN 978-5-9912-0060.
References
- Denisenko V.V. Komp'yuternoe upravlenie tekhnologicheskim protsessom, instrumentom, oborudovaniem. – M.: Goryachaya liniya-Telekom, 2009. – 608 s., - ISBN 978-5-9912-0060.