Danke Arno ![]()
Zitat von "Arno"Was mir auf den ersten Blick beim rasch rübergucken auffällt: Deine Resetbedingung wird nur ausgeführt, wenn (rising_edge(clk) and clken_4mhz = '1') erfüllt ist. Das ist (denke ich mal) nicht im Sinne des Erfinders.
Das sollte mein versuch eines "synchronen Resets" sein. Hab das in meinem Entwurf aber in der zwischen Zeit geändert.
Zitat
Das zweite: Du kommst aus deinem "Idle" erst heraus, wenn dmx_in='0' ist. Ist das richtig?
ja, falls idle = 1 ist, soll er warten, bis das erste mal wieder eine fallende Flanke anliegt.
ZitatDas dritte: Dein dmx_clk hat ein Duty-Cycle von 1/clk. (Das heißt du bekommst immer nur einen kurzen Highpegel und einen langen Low-Pegel auf dem dmx_clk). Stimmt das?
Eigentlich schon, das soll dem nachfolgenden schieberegister nur kurz mitteilen, dass es etwas zu verarbeiten gibt.
ZitatEinen genaueren Blick werfe ich jetzt nicht drauf. Ich habe Urlaub.
na, dann schönen Urlaub noch
Ich muss meine freie Zeit nutzen um mich in ruhe mit sowas beschäftigen zu können ![]()
Zitat(Außerdem kapiere ich noch nicht ganz was das Ding machen soll.
)
Es soll 16 Samples pro DMX-Bit verarbeiten, und die Anzahl der Samples mit High-Pegel zählen. Ist deren Anzahl nach 16 gemessenen Samples grösser als 8 kann man davon ausgehen, dass das ein Bit mit dem Wert Eins sein soll.
schöne Weihnachten