ACK - NACK Handling

www.comwebnet.de
Verfügbare Informationen zu "ACK - NACK Handling"

  • Qualität des Beitrags: 0 Sterne
  • Beteiligte Poster: Eisbaeeer - Kurzschluss
  • Forum: www.comwebnet.de
  • Forenbeschreibung: AVR Mikrocontroller und Elektronik - Forum - www.comwebnet.de
  • aus dem Unterforum: SNAP-Protokoll für RFM12 - Sven Härtig
  • Antworten: 3
  • Forum gestartet am: Mittwoch 25.10.2006
  • Sprache: deutsch
  • Link zum Originaltopic: ACK - NACK Handling
  • Letzte Antwort: vor 16 Jahren, 4 Monaten, 14 Tagen, 14 Stunden, 2 Minuten
  • Alle Beiträge und Antworten zu "ACK - NACK Handling"

    Re: ACK - NACK Handling

    Eisbaeeer - 10.12.2007, 13:30

    ACK - NACK Handling
    Hallo zusammen

    Ich wollte hier mal ein neuen Thread aufmachen, um die Vorgehensweise des ACK - NACK abzustimmen.

    Ich dachte mir, dass der Sender nach seinem ersten Versuch, das Paket loszuwerden auf Empfang geht (tut er ja sowieso).
    Sobald der Empfänger ein Paket erhält, das für Ihn ist und alles gut verläuft (im Sub Framehandler:) sendet er ja das ACK.

    Code:
    If Crc = Rf12_data(framelength) Then          'CRC OK?
                     Print "CRC OK! => " ; Crc
                     ' Send ACK (i.e tell master that packet was OK)
                     ' Set ACKs bit in HDB2 (xxxxxx10)
                     Hdb2 = Hdb2 Or &B00000010
                     Hdb2 = Hdb2 And &B11111110
                     'do ...
                     Gosub Senden                               'Anwortframe senden--> nur als Slave


    @Kurzschluss
    Warum machst du hier alles zu 1 in HDB2? Hat das einen Grund? Dabei gehen doch die Adressen verloren.

    ACK hast du als AA = &B10 definiert.

    Der Sender müsste ja jetzt das ACK auswerten und demensprechend handeln.
    Der Empfänger wertet im Moment noch nicht aus, ob der Master ein ACK möchte oder nicht. Sollen wir das auch implementieren oder soll grundsätzlich ein ACK angefordert werden?

    Grüße Eisbaeeer



    Re: ACK - NACK Handling

    Kurzschluss - 10.12.2007, 22:19


    Hi Eisbaeeer

    die Auswertung der einzelnen Bits im HDB2 ist noch nicht komplett
    Ich denke aber wir können einfach die beiden AA-Bits nach Empfang mit auswerten.
    Je nachdem ein Ack senden wenn vom Master angefordert

    vieleicht so:

    Code:
     If HDB2.0=1 then   '---> Verarbeitung mit ACK   
        if AllesWarOK=1 then  'crc,Byteanzahl usw. OK
           HDB2.0=0
           HDB2.1=1   'ACK für Antwort
           else
           HDB2.0=1
           HDB2.1=1   'NACK für Antwort
           end if
        else  '--->  Verarbeitung ohne ACK
         '....
        end if


    Damit tun wir nur die beiden AA- Bits manipulieren und der Rest vom HDB2 wird nicht verändert.

    Definition der ACK-Bits:

    Bit 1 and 0 - ACK/NACK Bits (ACK)
    These two bits defines if the sending node requests an ACK/NAK packet in return.
    These bits also acts as the actual ACK/NAK response sent from the receiving node.
    1 1 NAK response (Rx)
    1 0 ACK response (Rx)
    0 1 ACK request (Tx) ---> ACK gefordert!
    0 0 No ACK request (Tx) ---> Frame ohne ACK



    mit: Hdb2 = Hdb2 Or &B00000010
    Hdb2 = Hdb2 And &B11111110
    mach ich eigentlich das selbe,
    die oberen 6Bits bleiben so wie sie waren
    (Maskierfunktion mit gezielten setzen von Bit1 und rücksetzen von Bit0)

    wie meinst du das mit Adresse geht verloren?
    Die stecken doch in:

    DAB1 Alias RF12_data(4)
    SAB1 Alias RF12_data(5)
    und werden nur zum zurücksenden getauscht


    Grüsse
    kurzschluss



    Re: ACK - NACK Handling

    Eisbaeeer - 11.12.2007, 07:19


    Ja, so dachte ich mir das auch.
    Die Tiefe der If Abfragen ist ja nur von den Stack Werten abhängig. Ich werde mich mal dran machen.

    HDB2:
    Da bin ich drübergestolpert und hab mich gerade nochmal in mein schon etwas umfangreicheres Programm eingelesen.
    Ich werde mal die Kopf-Infos ändern.
    Hab nur oben in der Beschreibung nachgeschaut, ohne weiter die Variablenzuordnung zu lesen:

    Code:
    ' Overview of header definition bytes (HDB2 and HDB1)
    '
    '         HDB2             HDB1
    ' +-----------------+-----------------+
    ' | D D S S P P A A | D E E E N N N N |
    ' +-----------------+-----------------+


    Code:
    Sync Alias Rf12_data(1)                                     'Snchr. Byte
    Hdb2 Alias Rf12_data(2)                                     'Headerbyte2
    Hdb1 Alias Rf12_data(3)                                     'Headerbyte1
    Dab1 Alias Rf12_data(4)                                     'Destination Adress
    Sab1 Alias Rf12_data(5)                                     'Source Adress


    Das ist noch nicht stimmig.
    Das hat mich kurz aus der Bahn geworfen. Naja, kann schon passieren, wenn man erkältet ist.

    Grüße Eisbaeeer

    -- ACHTUNG -- ACHTUNG --

    Der Thread geht im neuen Forum weiter ---> http://www.weimars.net/forum



    Mit folgendem Code, können Sie den Beitrag ganz bequem auf ihrer Homepage verlinken



    Weitere Beiträge aus dem Forum www.comwebnet.de

    8Bit Wandlung - Erhöhung der Samplerate - gepostet von avrnix am Mittwoch 14.11.2007
    AVR Disassembler unter Linux - gepostet von avrnix am Montag 12.03.2007
    Nokia 3310 Display-Montageboard - gepostet von Wigbert am Dienstag 31.10.2006
    Windows XP - Schreibschutz ? - gepostet von avrnix am Freitag 23.11.2007
    Das - Benachrichtigen bei Antworten - per Emai oft als... - gepostet von avrnix am Mittwoch 24.01.2007
    Frequenzgenarator - gepostet von Wigbert am Montag 08.10.2007



    Ähnliche Beiträge wie "ACK - NACK Handling"

    Handling Planes - hunterhh (Samstag 20.05.2006)
    dK vs. ACK - legend (Sonntag 10.06.2007)
    25.06-27.06 Nack - Alpha (Mittwoch 23.06.2004)
    anmelden und session-handling - Benny (Samstag 28.04.2007)
    Handling - biggirenee (Freitag 25.08.2006)
    www.ack-online.de - adriankoss (Freitag 29.04.2005)
    Administration der FEAR Server (Admin Handling !) - wfcopa (Mittwoch 14.06.2006)
    nick nack - marian (Samstag 15.07.2006)
    COD2 AWE MOD -Unknown Soldier- Handling. - wfcopa (Dienstag 14.11.2006)
    Kommt ihr mit dem Handling des Forums gut klar? - Blackmore (Dienstag 11.09.2007)