doc: moved CRC from layer 1 to layer 2
This commit is contained in:
parent
c45eb4e334
commit
dde4e5ba7d
|
@ -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.
|
||||||
|
|
Loading…
Reference in a new issue