Ankündigung

Einklappen
Keine Ankündigung bisher.

Konnekting und Multithreading

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

    #16
    wenn dir der Strom reicht den die Siemens BCU liefert und eine käufliche Lösung willst die bzgl EMV, KNX-Kompatibilität absolut sicher ist,dann nimm die. Denk an die Pegelwandler.

    Wenn du doch etwas mehr Strom brauchst, was ich mir gut vorstellen könnte, dann kannst du die MicroBCU nehmen. Die ist vom seriellen Anschluss her kompatibel und Konnekting ist würde ich sogar sagen ist mit dem OnSemi Transceiver besser getestet als mit dem TPUart.

    Meine Lite BCU ist keine Lite mehr, sondern eine MicroBCU2. Wesentlicher Unterschied: Ich lasse bei einem LowCost Bestücker fertigen, der aber nur einseitig anbietet. Das bedeutet die großen Teile auf der Rückseite müssen selbst gelötet werden. Dafür wird sie preislich ca. bei er Hälfte liegen wie Eugenius'. Ist aber noch nicht verfügbar.
    Zum Spielen sollte man immer eine SiemensBCU und eine MicroBCU da haben, finde ich.
    OpenKNX www.openknx.de | NanoBCU und OpenKNX-HW verfügbar

    Kommentar


      #17
      Hallo,

      ich würde gerne nochmal auf das ursprüngliche Thema eingehen.

      Zitat von Eugenius Beitrag anzeigen
      Sagen wir mal so, es ist schon per interrupt getrieben, nur nicht perfekt. UART Buffer wird per interrupt gefüllt. Seit beta 4b, kann man aus dem buffer mehrere Telegramm auslesen und verarbeiten. Bis beta 4b ging es wirklich nur mit timing und es war nicht toll.
      Ich habe mir jetzt den Code etwas genauer angesehen. Wie du schon geschrieben hast wird per Interrupt in den Empfangspuffer geschrieben. Der Puffer ist (zumindest bei meiner Plattform Teensy 3.2) 64 Byte groß, man könnte das auch problemlos erweitern um auch länge Zeit ohne Auslesen auszukommen.
      Drei Fragen stellen sich mir jetzt:
      1. Habe ich es richtig gesehen das das Acknowledge-Pakete durch den Transceiver (in meinem Fall NCN5120) verschickt werden und der µC sich nicht darum kümmern muss?
      2. Die Methode RXTask muss deshalb alle 400µs gestartet werden damit verstümmelte Pakete richtig erkannt werden (über Timeout). Ansonsten könnten die nachfolgenden Pakete die noch im Puffer sind nicht richtig verarbeitet werden. Habe ich das richtig verstanden?
      3. Gibt es noch weitere Gründe warum die RXTask Methode spätestens alle 400µs gestartet werden muss?
      Danke, LG Wolfgang
      Zuletzt geändert von wolfib; 01.12.2020, 13:44.

      Kommentar


        #18
        Zitat von wolfib Beitrag anzeigen
        Habe ich es richtig gesehen das das Acknowledge-Pakete durch den Transceiver (in meinem Fall NCN5120) verschickt werden und der µC sich nicht darum kümmern muss?
        Nein, das ist soweit ich weiß nicht korrekt.

        Der Transceiver weiß nicht, welche Pakete (GA) für den Host adressiert sind, daher muss das die Host-Applikation erkennen und die muss dann den ACK (über den Transceiver) schicken, oder eben nicht. Dafür ist nicht so viel Zeit.
        Wird ein Paket auf dem KNX-TP nicht korrekt ge-ACK-ed, dann wiederholt es der Sender bis zu 3x. Nicht gut für die Buslast.
        OpenKNX www.openknx.de | NanoBCU und OpenKNX-HW verfügbar

        Kommentar


          #19
          Jetzt habe ich es gefunden, wir haben beide recht.
          Der µC muss innerhalb von 1.7ms nach Erhalt des "address type octet of an address frame" den TP-UART mitteilen das die Nachricht für ihn bestimmt war. Und der TP-UART schickt dann das ACK exakt zum richtigen Zeitpunkt.

          Kommentar

          Lädt...
          X