Access Keys:
Skip to content (Access Key - 0)
 

KNX Data Link Layer Data Service (L_Data)

KNX Link Layer Data Service is used to transfer frames from source data link layer to a destination (remote) data link layer. Link layer data service is available only in link layer "normal" mode.

Primitives

The data service defines three primitives used for transmitting a frame between two data link layers:

  1. Data Request (L_Data.req)
  2. Data Confirm (L_Data.con)
  3. Data Indication (L_Data.ind)

Data Request primitive is used for transmitting a link layer frame. See the Common EMI frame sample below for an example what a data request frame looks like.

Data Indication primitive is used for receiving a data link layer frame on the receiving (remote) link layer.

Data Confirm primitive is a confirmation for the source link layer which created a data request that the data frame was succesfully transmitted by the underlying physical layer. This confirmation can indicate either a local confirmation that the data was successfully sent (but no guarantee of receive), or a remote confirmation that the destination link layer received the frame correctly. The Data Confirm semantics depend on the requested level of reliability in the link layer frame control bits, see details below.

Data Link Layer Controls
         Control Field 1
      
          Bit  |
         ------+---------------------------------------------------------------
           7   | Frame Type  - 0x0 for extended frame
               |               0x1 for standard frame
         ------+---------------------------------------------------------------
           6   | Reserved
               |
         ------+---------------------------------------------------------------
           5   | Repeat Flag - 0x0 repeat frame on medium in case of an error
               |               0x1 do not repeat
         ------+---------------------------------------------------------------
           4   | System Broadcast - 0x0 system broadcast
               |                    0x1 broadcast
         ------+---------------------------------------------------------------
           3   | Priority    - 0x0 system
               |               0x1 normal
         ------+               0x2 urgent
           2   |               0x3 low
               |
         ------+---------------------------------------------------------------
           1   | Acknowledge Request - 0x0 no ACK requested
               | (L_Data.req)          0x1 ACK requested
         ------+---------------------------------------------------------------
           0   | Confirm      - 0x0 no error
               | (L_Data.con) - 0x1 error
         ------+---------------------------------------------------------------
      
Common EMI Frames
      
       +--------+--------+--------+--------+----------------+----------------+--------+----------------+
       |  Msg   |Add.Info| Ctrl 1 | Ctrl 2 | Source Address | Dest. Address  |  Data  |      APDU      |
       | Code   | Length |        |        |                |                | Length |                |
       +--------+--------+--------+--------+----------------+----------------+--------+----------------+
         1 byte   1 byte   1 byte   1 byte      2 bytes          2 bytes       1 byte      2 bytes
      
        Message Code    = 0x11 - a L_Data.req primitive
        Add.Info Length = 0x00 - no additional info
        Control Field 1 = see the bit structure above
        Control Field 2 = see the bit structure above
        Source Address  = 0x0000 - filled in by router/gateway with its source address which is
                          part of the KNX subnet
        Dest. Address   = KNX group or individual address (2 byte)
        Data Length     = Number of bytes of data in the APDU excluding the TPCI/APCI bits
        APDU            = Application Protocol Data Unit - the actual payload including transport
                          protocol control information (TPCI), application protocol control
                          information (APCI) and data passed as an argument from higher layers of
                          the KNX communication stack
      
Reliability

The frame transfer is acknowledged if required by setting an acknowledgment bit in the link layer frame control fields.

 
Labels: , , , , , , , , , , , , , , , , , , , , , ,

Added by Juha Lindfors

Last edit by Juha Lindfors on Dec 28, 2009 12:48

  1. Jul 04, 2010

    Revery X says:

    information about the "Control Field 2" is missing here, it can be found on this...

    information about the "Control Field 2" is missing here, it can be found on this page: http://www.openremote.org/display/knowledge/Common+EMI+Frame+Control+Fields

    1. Jul 05, 2010

      Juha Lindfors says:

      Thanks for pointing this out. I will attempt to get more updates on KNX protocol...

      Thanks for pointing this out. I will attempt to get more updates on KNX protocol details into knowledgebase soon, and clear up this part as well.

Adaptavist Theme Builder Powered by Atlassian Confluence
Free theme builder license