Bufferless TNC.en

Radioamatööriwikistä
Versio hetkellä 10. marraskuuta 2009 kello 11.22 – tehnyt >Oh2mqk (Initial description)
(ero) ← Vanhempi versio | Nykyinen versio (ero) | Uudempi versio → (ero)
Siirry navigaatioon Siirry hakuun

A Bufferless (KISS) TNC is a TNC (radio terminal node controller) device that transmits heard bits as soon as possible without collecting a full frame in local memory at first.

Because this will send data frames that are broken when received, the KISS serial link must be running in a mode that is able to indicate received frame to be bad. A few of such indication methods exist, "BPQCRC" is actually XOR-sum of bytes the preceding frame, SMACK is CRC16 checksum of the preceding frame.

This allows:

  • Minimal latency from heard bits on radio to bits in host memory
  • Indication that received frame was bad - by intentionally inverting the frame checksum data, or otherwise altering it from the valid one.
  • The "Bufferless KISS TNC" can be done without large local buffer, indeed it could be done on a hardware logic alone with small FIFOs.

This requires:

  • TNC-to-Host serial link must be faster, than radio side data speed
  • Serial link can serve only one modem, no KISS TNC multiplexing is possible

Transmitter forms a bit more challenge:

  • There must be some sort of flow control to hold off the Host-to-TNC character flow in order to start transmit only to clear radio channel.


Advantages:

  • No need for full frame buffer storage in the TNC
  • Very low latency from packet reception to its processing at host
  • Will report also partially heard frames, which can then be used to better estimate channel occupancy (alias Erlang)

Disadvantages:

  • Host must understand used checksum scheme.
  • Can not be used without the checksum scheme at all.
  • Transmit requires CTS flow control signal from TNC to Host, 3-wire serial connection is not enough, and host software must use modem flow control.