Scientific journal
Modern problems of science and education
ISSN 2070-7428
"Перечень" ВАК
ИФ РИНЦ = 1,006

DEVELOPMENT OF METODOLOGICAL RECOMMENDATIONS COMPLEX FOR IMPLEMENTATIONS OF MICROCONTROLLER-BASED ICS INTERCONNECTION WITH EXTERNAL ENVIROMENT OVER TCP/IP STACK

Minatsevich S.F. 1 Minatsevich E.S. 1 Sharonov A.A. 1 Borisov S.S. 1
1 Perm national research polytechnic university
In article considered TCP/IP protocol stack’s features for microcontroller-based industrial control systems. Understand microcontroller-based ICS features that influence on TCP/IP protocol stacks software implementation. TCP/IP stacks features for microcontroller-based ICS are listed. Comparative analysis TCP/IP stack’s for microcontroller-based ICS and desktop system’s TCP/IP stack’s structure is brought. In article offered complex methodological recommendations for embedded TCP/IP stack’s developers, specialist, who porting embedded TCP/IP stack to different platforms and application for microcontroller-based ICS, who use ready-to-use embedded stacks. Results of author’s theoretical and practical research in the sphere of communication of embeddable systems with global information transfer networks are generalized in this article. Research results may be recommended for practical application by embedded system’s developers, who want to connect industrial control system to Internet global network or TCP/IP-based local area network.
ICS
microcontroller
TCP/IP
stack
methodology
recommendations
porting
В рамках программы научных исследований в области построения АСУ ТП на основе микроконтроллеров (АСУ ТП на основе МК), реализуемой на кафедре Информационных технологий  и автоматизированных систем ПНИПУ, проводилась серия исследований модели взаимодействия АСУ ТП на основе МК с внешней средой. По результатам серии исследований, отчет о которых будет опубликован в дальнейшем, наиболее полно отвечающим задачам коммуникации различных элементов АСУ ТП на основе МК с внешней средой является стек протоколов семейства TCP/IP [10].

В связи с тем, что АСУ ТП на основе МК имеют определенные особенности, возникла необходимость разработки научно обоснованного комплекса методических рекомендаций, позволяющих:

  • разработчику стека TCP/IP: создавать стеки протоколов, наиболее полно отвечающие задачам коммуникации АСУ ТП на основе микроконтроллеров с внешней средой;
  • разработчику, осуществляющему адаптацию стека TCP/IP под целевую платформу: более эффективно использовать, как возможности самого стека, так и аппаратных возможностей целевой платформы;
  • разработчику, осуществляющему интеграцию стека TCP/IP в управляющую программу микроконтроллеров: наиболее полно и максимально безопасно для стабильности работы системы задействовать применяемый стек в своей программе.

Вопросы разработки оптимального стека TCP/IP и его эффективной адаптации под различные целевые системы разбирались в цикле статей [2], но четкий комплекс методических требований для каждого этапа интеграции стека в целевую систему АСУ ТП на основе МК сформулирован не был. В работе [5] также затрагивается данный вопрос, но рассматривается исключительно в контексте реализации непереносимого стека для конкретного микроконтроллера, не выявляя никаких обобщающих рекомендаций, которые могут быть приняты, как методика.

Особенности АСУ ТП на основе МК, влияющих на использование стеков TCP/IP

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

  • невысокая производительность микропроцессорного ядра (см. таблицу 1);
  • незначительный объем встроенной памяти программ (16-512 кб);
  • значительные трудности использования исполняемого кода из внешних носителей большого объема (более 2-4 Мб);
  • подавляющее большинство микроконтроллеров не содержит модуля управления памятью;
  • многообразие микропроцессорных ядер, используемых в микроконтроллерах, и, как следствие, большое количество несовместимых друг с другом систем команд;
  • многообразие реализаций контроллеров коммуникационных интерфейсов; используемых для подключения микроконтроллера к сетям с протоколом TCP/IP;
  • разнообразие сред разработки программного обеспечения;
  • затрудненная реализация системы динамически подгружаемых модулей;
  • объединение в одной области постоянной памяти микроконтроллера операционной системы, стека TCP/IP и других компонентов.

Из этого вытекают следующие особенности АСУ ТП на основе МК, влияющие на реализацию стека TCP/IP:

  • незначительная общая вычислительная мощность;
  • незначительный объем оперативной памяти;
  • невозможность выделения значительных вычислительных мощностей и объемов оперативной памяти для нужд стека TCP/IP, так как работа стека не является первоочередной для АСУ ТП любого типа;
  • при использовании автономного питания зачастую не устанавливаются элементы внешней оперативной памяти, что еще более ужесточает требования к потреблению оперативной памяти стеком TCP/IP.

Таблица 1

Результаты синтетического теста производительности Dhrystone [9] для различных типов микропроцессорных ядер (Таблица составлена по материалам [3, 6, 7, 8])

 

Тип микросхемы

Частота,  МГц

DMIPS

Dhrystone

/c

DMIPS

/МГц

Дата анонса, г.

80486DX2

процессор общего назначения

66

12

21084

0.18

 1992

ATmega64

микроконтроллер общего назначения

14.7

4.83

8487

0.32

 2003

AVR32UC3A

микроконтроллер общего назначения

66

91

159887

1.37

2006

LPC2148

микроконтроллер общего назначения

60

54.7

96107.9

0,91

2004

STM32F103

микроконтроллер общего назначения

72

76.7

120802.5

1.07

2006

Pentium 4

процессор общего назначения

3066

432

759024

0.14

2002

Core i7

процессор общего назначения

3800

1960

3443720

0.51

2008

Особенности стеков TCP/IP, применимых для использования в  АСУ ТП на основе МК

В соответствии с написанным выше, авторы выделяют следующие особенности стеков TCP/IP, применимых в составе АСУ ТП на основе МК:

  • невозможность использования элементов стеков TCP/IP, предназначенных для высокопроизводительных и требовательных к объему оперативной памяти настольных и серверных систем, таких, как Windows, Linux, Mac OSX, BSD;
  • затрудненная реализация протоколов, требующих высокой производительности процессорного ядра, таких, как SSL, PPTP, L2TP;
  • наличие в составе стека поддержки наиболее распространенных протоколов прикладного уровня;
  • реализация интерфейса BSD-сокетов, как протокола прикладного уровня в отличие от стеков протокола TCP/IP для настольных систем Windows, Linux, MacOSX, BSD;
  • значительная привязанность стека TCP/IP к среде, в которой он разработан и типу микроконтроллера, для которого он разрабатывался, что влечет за собой значительные трудности при попытке использования стека TCP/IP, предназначенного для одной АСУ ТП на другой.

Для проверки выдвинутых предположений решено было прибегнуть к сравнительному анализу стека TCP/IP, используемого в составе операционной системы настольного компьютера, и уже существующего стека для АСУ ТП на основе МК.

Сравнительный анализ стека TCP/IP для  АСУ ТП на основе МК и стека TCP/IP для настольной системы

Для сравнительного анализа стека TCP/IP для АСУ ТП на основе МК и стека TCP/IP настольной системы предложены следующие критерии:

  • область применения;
  • необходимые и достаточные для нормальной работы стека аппаратные ресурсы;
  • внутренняя структура.

Областью применения стека TCP/IP настольной системы являются рабочие станции, персональные компьютеры, серверы, мейнфреймы. Стек TCP/IP для АСУ ТП на основе МК используется в интеллектуальных датчиков, управляющих контроллерах, контроллерах исполнительных механизмов и других блоках АСУ ТП.

Требуемые аппаратные ресурсы в контексте вычислительной мощности микропроцессорного ядра для стеков TCP/IP настольных систем и АСУ ТП на основе МК можно увидеть в таблице 1 - пункты 6, 7 и 4, 5 соответственно. В контексте требуемого объема оперативной памяти для нормальной работы стека TCP/IP современной настольной системы необходим объем от 128 МБ оперативной памяти и 64-512 кБ - для стека TCP/IP для АСУ ТП на основе МК.

Сравнение внутренней структуры стеков является наиболее важным компонентом сравнительного анализа, так как позволяет подтвердить либо опровергнуть перечисленные в пункте 3 особенности стеков TCP/IP для АСУ ТП на основе МК. Сравнение будет производиться в рамках открытой модели сетевого взаимодействия систем - OSI [1].

Сравнительный анализ структуры стека TCP/IP для АСУ ТП на основе МК и стека TCP/IP для настольной системы

Для сравнительного анализа структуры в качестве стека TCP/IP для АСУ ТП на основе МК был выбран стек RL-ARM TCPNet компании Keil, как типичный представитель семейства  встраиваемых стеков. В качестве стека TCP/IP для настольной системы был взят стек TCP/IP операционной системы Windows XP, как наиболее распространенный.

Сравнительный анализ структуры заключается в сопоставлении компонентов, которыми реализуется тот или иной уровень модели OSI, и интерфейсов API, используемых для связи между различными уровнями. Результаты приведены в таблице 2.

Таблица 2

Сравнительный анализ реализации уровней модели OSI в стеке TCP/IP Windows XP и встраиваемом стеке Keil RL-ARM TCPNet

Уровни модели OSI

Стек TCP/IP Windows

Keil RL-ARM TCPNet

7. Прикладной уровень

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

Пользовательское программное обеспечение, API BSD-сокетов,

Протоколы SNMP, SNTP, SMTP, FTP, HTTP, TFTP, Telnet, DNS

6. Представления

API BSD-сокетов

 

Прототипы функций установки связи, передачи данных и других операций

5. Сеансовый

Закрытое ядро стека

Закрытое ядро стека

4. Транспортный

3. Сетевой

2. Канальный уровень

API для взаимодействия с драйверами сетевых карт

Драйверы протоколов Ethernet, PPP, SLIP

Прототипы функций для взаимодействия с периферийными устройствами, реализующими связь по протоколу Ethernet, PPP или SLIP

Драйверы сетевых карт и устройств с последовательным интерфейсом, INF-файлы с командами для модемов

Драйверы контроллеров Ethernet,

UART, модема

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

Аппаратный контроллер Ethernet или UART

Аппаратный контроллер Ethernet или UART, контроллер физического уровня Ethernet

Проведенный анализ показывает, что для стека протоколов TCP/IP АСУ ТП на основе МК характерно:

  • наличие модулей, реализующих наиболее распространенные прикладные протоколы (HTTP, FTP, SNMP, SMTP, SNTP и др.);
  • реализация интерфейс BSD-стеков как протокола прикладного уровня;
  • наличие собственных уникальных функций API для взаимодействия прикладных протоколов с другими уровнями стека;
  • отсутствие протоколов для шифрованной передачи данных и реализации виртуальных частных сетей;
  • использование ограниченного количества протоколов канального уровня (Ethernet, PPP, SLIP);
  • использование ограниченного количества физических интерфейсов соединения (Ethernet, модем);
  • наличие набора драйверов для наиболее распространенных контроллеров. коммуникационных интерфейсов.

Таким образом, сравнительный анализ структур стеков TCP/IP подтвердил выделенные в пункте 3 особенности стека TCP/IP для АСУ ТП на основе МК.

Рекомендации по разработке, применению и использованию стеков TCP/IP для АСУ ТП на основе МК

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

Модуль 1: Рекомендации для разработчиков стеков TCP/IP для АСУ ТП на основе МК:

  • минимально необходимый набор протоколов прикладного уровня - HTTP, FTP, SNMP v2c/v3, Telnet, DNS, SNTP;
  • основной интерфейс взаимодействия со стеком - API BSD-сокетов;
  • возможность настройки стека с помощью конфигурационных файлов, находящихся на внешнем носителе;
  • наличие API для расширения набора протоколов канального уровня;
  • минимально необходимый набор протоколов канального уровня - Ethernet и PPP;
  • наличие драйверов контроллеров Ethernet и UART для наиболее распространенных семейств микроконтроллеров (Atmel AVR32UC3A, NXP LPC1700/2300/2400/3250, STMicroelectronics STM32, Microchip PIC16/18/24/32/30);
  • наличие драйверов для распространенных аппаратных контроллеров Ethernet (Wiznet W5100, Crystal CS8900, Microchip ENC28J60);
  • наличие примеров применения стека для различных сред разработки программного обеспечения;
  • наличие возможности переноса стека на неподдерживаемые на данный момент аппаратные архитектуры и среды разработки программного обеспечения;

Модуль 2: Рекомендации для специалистов, осуществляющих процесс адаптации стека TCP/IP под архитектуру и среду разработки программного обеспечения целевой платформы:

  • обоснованный выбор микроконтроллера по таким параметрам, как производительность микропроцессорного ядра, объем оперативной и постоянной памяти;
  • предварительное составление необходимых и достаточных для работы стека списка функций драйвера;
  • изучение исходные тексты аналогичных драйверов для других микроконтроллеров.

Модуль 3: Рекомендации разработчику, осуществляющему интеграцию стека TCP/IP в управляющую программу микроконтроллера:

  • контроль размера стека задач, необходимого для запуска и работы функции стека;
  • ограничение максимального количества одновременно осуществляемых соединений TCP/IP;
  • контроль необходимости дополнительных модулей, требуемых для запуска выбранного прикладного протокола;
  • изучение списка прикладных протоколов, уже реализованных в стеке, для предотвращения дублирования функционала.

Ряд рекомендаций, изложенных здесь, был успешно применен авторами в процессе адаптации стека RL-ARM TCPNet к микроконтроллеру MDR32F9Q2I компании «Миландр» [4].

Рецензенты:

 Цветков Г.А., д.т.н., профессор кафедры «Безопасность жизнедеятельности», ФГБОУ ВПО «Пермский национальный исследовательский политехнический университет», г. Пермь;

Колмогоров Г.Л., д.т.н., профессор кафедры «Динамика и прочность машин», ФГБОУ ВПО «Пермский национальный исследов