Gast
#1854627
Ich benutze wie so viele hier einen Spartan 3. Ich habe heute schon den ganzen tag über mein Problem nachgedacht und inzwischen ein Knoten im Kopf. Ich habe einen Counter den mit dem CLK 1 erhöhe. Die Geschwindkeit von CLK 1 hängt steht noch nicht 100% fest. Kann also zwischen 1MHz und 20MHz liegen. Dies ist der Takt von meinem externen ADC-Wandler. Nun habe ich einen weiteren Clock. Nennen wir diesen doch einfach CLK_2. Dieser arbeitet mit einer 2. Frequenz. Mit dem Clock 2 wird ebenfalls ein Counter um 1 erhöht. Da die beiden Clocks von externen Quellen kommen ist die Phasenlage nicht bekannt. Nun möchte ich einen Programmcode ausführen wenn die beiden Counter ungleich sind. Jedoch habe ich da so einige Bendenken (leider bringt hiert kein DCM etwas nur wenn ich die Platine neue ROuten lasse, dies ist momentan aber nicht möglich) Meine Bendenken äußern sich wie folgt. Wenn mit CLK 1_ Counter 1 erhöht wird dann wird mit der ansteigenden Flanke von CLK_2 der COUNTER 1 mit COUNTER 2 verglichen. Wenn die beiden Counter ungleich sind dann führe eine Funktion aus und erhöhe den anschließend den COUNTER_2. Nun kann es sein das die Phasenlage der beiden Counter so bescheiden zueinander liegt das ich den Vergleich gerade während des Schalten ausführe und somit einen undefinierten Zustand erwische. Gibt es eine Möglichkeit dies zu verschalten?