Всем добрый день. Нужна помощь в освоении IEEE802.5.4. Проблема в следующем:
Имеется два устройства Telegesis ETRX2USB и устройство собственной разработки на Fujitsu MB90F543 + CC2420. Задача сосотит в том, чтобы с моего устройства передавать данные на ETRX2. Координатором выступает ETRX2, моё устройство - RFA. На сегодняшний день написал поддержку СС2420, немного разобрался с IEEE802.5.4. Остановился на том что дописал регистрацию в сети и начал делать передачу данных. Вот тут возникли проблемы. Не могу понять в каком формате надо передать данные на Telegesis чтобы он их воспринял. Думал сделать по простому: написал на свой девайс что-то вроде простого анализатора сети (на фото). По com-порту на мой девыйс передаётся номер канала который надо слушать, после чего все пакеты которые он ловит он передаёт обратно в com-порт. На Builder-е написал прогу которая разбирает пакеты и выводит их на экран. Потом попробовал передавать UNICAST пакеты с одного ETRX2 на другой ETRX2, и посмотреть своим девайсом как Telegesis формирует поле данных. Посмотрел и ничего не понял... Вот пример три раза передал символ "А" в hex-е:
61 88 E3 31 30 00 00 80 08 44 02 00 00 80 08 0A 34 28 19 D0 05 00 3D 12 03 00 00 6F 0D 00 00 E1 7A 23 AF 99 90 1B 0E 6A A2 60 5B B0 3A ED B2 B9 57 78 DB 32 5D 23 F7 9C 8B 37 2A CD B3 FC EB
61 88 E8 31 30 00 00 80 08 44 02 00 00 80 08 0A 39 28 1A D0 05 00 3D 12 03 00 00 6F 0D 00 00 64 88 9C 2C 4F F3 88 20 E1 68 F3 33 AD 3C 0C 01 90 E0 B7 E4 25 BA A5 E9 48 51 71 F0 D7 4C FA EA
61 88 F2 31 30 00 00 80 08 44 02 00 00 80 08 0A 40 28 20 D0 05 00 3D 12 03 00 00 6F 0D 00 00 83 FF B6 CA 1B E8 EB 06 BF BA 8C E8 15 07 87 62 5C F7 CE 58 5D 0D 77 44 7F B8 FB F9 24 83 FC EB
Это пакет данных с двумя котороткими 16-ти битными адресами и упрощённым адресом сети. А вот после полей адреса (начиная с 10-го байта = 0х44) идёт поле данный, где ничего не ясно: 4402 повторяется во всех пакетах, дальше похоже короткий адрес координатора 0000, потом которткий адрес отправителя 8008, потом непонятно что 0A 40 28 20 D0 05 00, дальше похоже длинный адрес отправителя: 3D 12 03 00 00 6F 0D 00, дальше 0000, а вот потом во всех пакетах абсолютно разная информация, похоже на мусор.
Вопрос заключается где в этом пакете это символ "А" и если я его заменю на другой и попробую передать не надо ли расчитывать каки-нить контрольные суммы в поле данных (кроме той контрольной суммы которую расчитывает СС2420 автоматом)?
Второй вариант это как-то заставить Telegesis воспринимать "сырые" данные, т.е. чтобы после адресных полей я сразу смог передать свои данные и как-то уговорить ETRX2 передать эти данные по USB в виртуальный Com-порт.