075-1W-IR-сеть. Формат посылки.

Автор: | 03.06.2011

Ранее мы определились с возможностями 1W-IR сети и со способом передачи информации по ней. Пришло время определиться с форматом посылки (кадром сообщения), посредством которой устройства будут взаимодействовать между собой. Это очень важный и ответственный вопрос, так как формат посылки фактически определит, как будет функционировать сеть в целом.

Тайминги и состав посылки выглядит так:


Посылка состоит из отдельных частей:
1 Пилот
– это последовательность из 4 периодов. По умолчанию пилот должен передать биты в следующей последовательности 0 > 0 > 1 > 0 (то есть третий, референтный период должен быть единичным). Если необходимо сделать пилот более длительный (например, для того чтобы дать время приемному устройству выйти из спящего режима) допустимо первые два периода увеличивать вплоть до 10мС. Третий период обязательно должен быть длительностью единицы — он используется как референтное значение в алгоритме.
2 Сразу после пилота, без пауз, начинается передача 4 служебных бит. Это поле используется для идентификации типа посылки (передача данных, запрос данных, информационное сообщение …)
3 Адрес — один байт. Идентифицирует номер устройства которое передает сообщение (или номер устройства для которого сообщение передается). Очевидно, устройств может быть не более 255 (скорей всего и того меньше — некоторые адреса будут использованы в служебных целях)

4 Далее идут 16 бит (2 байта) данных. Тут без вариантов – в одном байте даже показания градусника толком не передашь.

5 Далее 8 бит — циклический избыточный код – CRC8. В виду того, что передача по IR-каналу будет подвержена помехам (IR-пульты, слепые устройства сети, импульсные помехи освещения …) без контроля целостности посылки никак не обойтись. Дабы не изобретать велосипед вариант CRC8 будет позаимствован у 1-wire сети Dallas (полином 0x31).

6 Последним идет один импульс окончания посылки. Он нужен лишь для того, чтобы  отобразить длительность последнего бита сообщения.

Всего сообщение состоит из 41 импульса. Длина пакета, в среднем — 33мС.

(Visited 1 366 times, 1 visits today)