Hallo,

Ik wil van een encoder bij houden of die links of rechtsom draait. Hier heb ik een forum over gevonden en een schema.
Forum: http://www.circuitsonline.net/forum/view/43535/1/encoder+signaal
Schema: http://users.skynet.be/fotoopa/fpga/encoder1.pdf

Alleen vraag ik me af waarom er in het begin 2 DFF nodig zijn? In het forum wordt gezegt dat dat nodig is voor synchronisatie, maar ik snap het niet. Kan iemand me dat uitleggen?

Dat is om het inkomende signaal te synchroniseren met de interne clock.

Dat dus het inkomende signaal tegelijk met de inkomende klok omhoog/omlaag gaat en niet *zomaar* opeens omhoog/naar beneden kan gaan.

Maar de DFF verandert toch pas op de opgaande of neergaande flank van het kloksignaal. Is het dat er tijdens die flank dan verandering kan optreden wat op de uitgang te zien is?

Je ingangssignaal veranderd op een bepaald moment. Op een ander moment, dat totaal ongerelateerd is met dat eerste, heb je een flank van je interne clock. Maw, beide momenten zijn ASYNCHROON. Dat geeft een probleem als nou precies op een interne clock flank je ingangssignaal veranderd. Wat wordt er dan in de interne FF geclocked? Da's dan onbekend, of nog erger, de FF komt in een metastabiele toestand. Dan zweeft ie ergens tussen 0 en 1.
Die dubbele FF laag voorkomt dat, althans de kans wordt vele malen kleiner.