Для обслуживания обмена данными между исполнительным устройством и концентратором был предложен протокол, который представляет собой последовательность пакетов определенной структуры. В первых 7 битах определяется длина пакета в битах. Затем следует бит – служебный, три бита – идентификатора устройства, затем 7 бит идентификатора пакета. После этого следуют биты данных. Устраивает ли такой протокол требуемым устройствам, если каждое исполнительное устройство передает за один раз информацию со ста 128-разрядных датчиков.
Изобразим графически структуру пакета (рис. 1). Биты каждой части нумеруются так. Младший бит части (самый правый) – 0, старший бит части (самый левый) – N-1, где N – число битов в части пакета
Биты |
6…0 |
0 |
2…0 |
6…0 |
|
Название части пакета |
Длина |
Служебный |
Ид устройства |
Ид пакета |
Биты данных |
Рис. Структура пакета
Сначала определим количество информации, которое должно быть передано. 128 * 100 = 12800 бит. Теперь определим максимальную емкость одного пакета. Длина пакета определяется первыми 7 битами, которые могут представлять десятичные числа в диапазоне от 0 до 27-1. Тогда максимальный размер пакета – это 27 –1 = 127 бит. Из них – 7 бит – заголовок, 1 бит – служебный, 3 бита – идентификатор устройства, 7 бит идентификатор пакета. Остается 109 бит (127 – (7 + 1 + 3 + 7) = 127 – 18 = 109) на биты данных. Теперь определим, сколько пакетов всего может быть идентифицировано. 7 бит дает возможность адресовать 128 пакетов. Тогда от одного устройства за один раз можно получить 128 * 109 = 13952 бита данных. Т.е. весь объем, получаемых от датчиков данных, может быть разбит на порции для передачи в последовательно передаваемых 128 пакетах протокола.
Поскольку 13952 > 12800, то возможности протокола хватит на выполнение обмена даже с запасом.