Recent Changes - Search:

Проекты

Брошенные проекты

SourceForge

edit SideBar

SmartHomeNetL2

L2 - канальный уровень

Задачи канального уровня

  • обеспечивать передачу пакета данных от одного терминала (определиться с терминами) другому;
  • обеспечивать корректную передачу данных: обнаружение (и исправление?) ошибок;
  • обеспечивать назначение адресов (совместно с транспортным уровнем).

Формат кадра

0-6Preamble70x55 0x55 0x55 0x55 0x55 0x55 0x55
7Start Frame Delimitor (SFD)10xD5
8Destination Address (DST)?-
?Source Address (SRC)?-
?Payload (DATA)N-
?+NChecksumm (CRC32C)4-

На данном этапе, в качестве максимальной длины пакета (исключая Preamble и SFD) - MTU - возьмем Ethernet'овские 1500 байт. В прочем, для наших целей это много, так как передача одного пакета будет занимать до 10с.

Заметки

  • Исправлять ошибки не планируется;
  • Preamble и SFD занимают много места - найти возможность укоротить;
  • Придумать, как приемник определит длину пакета:
    • длина в заголовке;
    • специальный маркер;
    • пропажа несущей;

Как вариант:

  • на канале всегда тишина;
  • на всех несущих (если их немколько) начинает передаваться Preamble - используем это для обнаружения всех несущих;
  • передается маркер SFD;
  • передаются заголовок и данные;
  • убирается несущая сразу после CRC;
  • сразу же можно передавать следующий пакет.
Edit - History - Print - Recent Changes - Search
Page last modified on February 24, 2015, at 11:57 AM