Функциональное описание ПО взаимодействия модуля логики централизации с периферийными устройствами, страница 5

№ байта в блоке

Содержимое байта

Формат байта

(биты № 7 6 5 4 3 2 1 0)

1

Команда

1 x x 0 1 0 0 1

2

№ МК биты 14-7

0 x x x x x x x

биты №МК         14        ...           7

3

№ МК биты 6-0

0 x x x x x x x

биты №МК          6         ...           0

4

Идентификатор АК, биты 14-7

0 x x x x x x x

биты №АК          14        ...           7

5

Идентификатор АК, биты 6-0

0 x x x x x x x

биты №АК          6         ...           0

6

№ страницы диагностируемого байта

0 * * * * * x *

x:  0 - страница 0, 1 - страница 1

7

Адрес диагностируемого байта
от 0 до 7Fh

0 x x x x x x x

8

Циклическая контрольная сумма, биты 7-4

0 * * * x x x x

биты CRC                7 6 5 4

9

Циклическая контрольная сумма, биты 3-0

0 * * * x x x x

биты CRC                3 2 1 0

Таблица 9 – Ответ информации диагностики ТУ-ТС

№ байта в блоке

Содержимое байта

Формат байта

(биты № 7 6 5 4 3 2 1 0)

1

Команда

1 x x 0 1 0 1 0

2

№ МК биты 14-7

0 x x x x x x x

биты №МК         14        ...           7

3

№ МК биты 6-0

0 x x x x x x x

биты №МК          6         ...           0

4

Идентификатор АК, биты 14-7

0 x x x x x x x

биты №АК          14        ...           7

5

Идентификатор АК, биты 6-0

0 x x x x x x x

биты №АК          6         ...           0

6

Информация диагностики

0 * * * * * s x

s: № страницы. 0 - страница 0, 1 - страница 1

x: бит 7 информации диагностики

7

Информация диагностики

0 x x x x x x x

биты информации диагностики       6 5 4 3 2 1 0

8

Циклическая контрольная сумма, биты 7-4

0 * * * x x x x

биты CRC                7 6 5 4

9

Циклическая контрольная сумма, биты 3-0

0 * * * x x x x

биты CRC                3 2 1 0

Для расчета циклической контрольной суммы используется полином X8+X5+X4+1. Алгоритм расчета представлен на рисунке  5.

Рисунок 5 – Алгоритм расчета CRC

Интерфейс маршрутизатора с драйвером ТУ-ТС

Интерфейс маршрутизатора с драйвером ТУ-ТС  реализуется на базе протокола TCP.

Область данных пакета представляет собой одну из команд управления блоками ТУ-ТС (таблицы 1-9) без CRC.

Контрольную сумму рассчитывает и добавляет в пакет передачи данных драйвер ТУ-ТС непосредственно перед его отправкой по RS485.

При приеме пакета от блока ТУ-ТС драйвер проверяет контрольную сумму и передает в маршрутизатор посылку без контрольной суммы.

Если контрольная сумма нарушена, то драйвер передает пакет с кодом ошибки.

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

Дополнительные требования

Предусмотреть возможность реализации под Windows\Linux

Требования к среде разработки: драйвер должен писаться на C++, с наименьшим числом сторонних библиотек, по возможности использовать стандартные библиотеки (STL, и т.п.) для работы с периферией. Это вызвано переносом под Linux и сложностью доказательства безопасности библиотек сторонних разработчиков.

Драйвер должен быть проверен на корректную работу (перекомпиляцию) вместе с CPP Builder 6.0, VisualCPP 6.0, GNU C

Для проверки работоспособности драйвера необходимо разработать набор тестов.

Исходные тексты должны оформляться в соответствии с предложением по оформлению кода лаборатории «БЭМС ТС». (Это позволит сопровождать эту разработку в дальнейшем)

Исходные тексты драйвера передаются в лабораторию «БЭМС ТС» для дальнейшего использования в других разработках.