doc: moved CRC from layer 1 to layer 2

This commit is contained in:
Thomas Kolb 2024-05-02 21:05:40 +02:00
parent c45eb4e334
commit dde4e5ba7d

View file

@ -42,10 +42,9 @@ The PHY header describes how the following data symbols should be interpreted. I
. Modulation/code combination ID (MODCOD): 4 bit . Modulation/code combination ID (MODCOD): 4 bit
. Number of data symbols: 12 bit . Number of data symbols: 12 bit
. CRC16 of the raw layer 2 packet data: 16 bit . CRC8 of the previous 16 header bits: 8 bit
. CRC8 of the previous 32 header bits: 8 bit
Therefore the PHY header has as size of 40 bit, including CRC. Therefore the PHY header has as size of 24 bit, including CRC.
For additional protection, the header is encoded using a [8,4] Hamming code, which can reliably correct single-bit errors and detect double-bit errors in every block of four bits. For additional protection, the header is encoded using a [8,4] Hamming code, which can reliably correct single-bit errors and detect double-bit errors in every block of four bits.
@ -120,6 +119,16 @@ The filter is applied to the whole symbol sequence of the burst. The same filter
The Hamnet70 link layer is designed to ensure reliable communication between a central station (digipeater) and several clients, while making efficient use of the available airtime. To accomplish this, it uses several technologies, including variable-length addressing and automatic repetition of packets that could not be decoded. The Hamnet70 link layer is designed to ensure reliable communication between a central station (digipeater) and several clients, while making efficient use of the available airtime. To accomplish this, it uses several technologies, including variable-length addressing and automatic repetition of packets that could not be decoded.
=== Frame Structure
The link layer frame consist of three elements, as follows:
. The <<_link_layer_header,link layer header>>
. A variable amount of data, depending on the packet type
. CRC16 of all previous bytes, including the link layer header
The CRC16 is calculated using the generator polynomial stem:[x^15 + x^2 + 1].
=== Node Addresses === Node Addresses
Node addresses use the https://github.com/arngll/arnce-spec/blob/main/n6drc-arnce.md#introduction[HAM-64 address format]. This format allows to encode callsigns of up to 12 characters in a number of 16, 32, 48 or 64 bits. Additionally, it allows to replace the full version of an address with a temporary short address with only 16 bits that is used during a connection. Multicast and broadcast addresses are also specified. Node addresses use the https://github.com/arngll/arnce-spec/blob/main/n6drc-arnce.md#introduction[HAM-64 address format]. This format allows to encode callsigns of up to 12 characters in a number of 16, 32, 48 or 64 bits. Additionally, it allows to replace the full version of an address with a temporary short address with only 16 bits that is used during a connection. Multicast and broadcast addresses are also specified.