В связи с тем, что АСУ ТП на основе МК имеют определенные особенности, возникла необходимость разработки научно обоснованного комплекса методических рекомендаций, позволяющих:
Вопросы разработки оптимального стека TCP/IP и его эффективной адаптации под различные целевые системы разбирались в цикле статей [2], но четкий комплекс методических требований для каждого этапа интеграции стека в целевую систему АСУ ТП на основе МК сформулирован не был. В работе [5] также затрагивается данный вопрос, но рассматривается исключительно в контексте реализации непереносимого стека для конкретного микроконтроллера, не выявляя никаких обобщающих рекомендаций, которые могут быть приняты, как методика.
Особенности АСУ ТП на основе МК, влияющих на использование стеков 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, используемого в составе операционной системы настольного компьютера, и уже существующего стека для АСУ ТП на основе МК.
Сравнительный анализ стека 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 АСУ ТП на основе МК характерно:
Таким образом, сравнительный анализ структур стеков TCP/IP подтвердил выделенные в пункте 3 особенности стека TCP/IP для АСУ ТП на основе МК.
Рекомендации по разработке, применению и использованию стеков TCP/IP для АСУ ТП на основе МК
Итогом работы, проведенной авторами статьи, можно назвать следующий комплекс методических рекомендаций, включающий в себя три модуля:
Модуль 1: Рекомендации для разработчиков стеков TCP/IP для АСУ ТП на основе МК:
Модуль 2: Рекомендации для специалистов, осуществляющих процесс адаптации стека TCP/IP под архитектуру и среду разработки программного обеспечения целевой платформы:
Модуль 3: Рекомендации разработчику, осуществляющему интеграцию стека TCP/IP в управляющую программу микроконтроллера:
Ряд рекомендаций, изложенных здесь, был успешно применен авторами в процессе адаптации стека RL-ARM TCPNet к микроконтроллеру MDR32F9Q2I компании «Миландр» [4].
Рецензенты:
Цветков Г.А., д.т.н., профессор кафедры «Безопасность жизнедеятельности», ФГБОУ ВПО «Пермский национальный исследовательский политехнический университет», г. Пермь;
Колмогоров Г.Л., д.т.н., профессор кафедры «Динамика и прочность машин», ФГБОУ ВПО «Пермский национальный исследов