Булево уравнение квадратурного декодера

Чтобы реализовать счетчик положения из квадратурных входов, я использовал следующую таблицу истинности:

Подобное изображение

Моё логическое уравнение (где Ap и Bp - предыдущее значение A и предыдущее значение B соответственно) для Направления и Счета / Движения можно увидеть ниже

Count <= (not Ap and not Bp and not A and B) or (not Ap and not Bp and A and not B) or 
     (not Ap and Bp and not A and not B) or (not Ap and Bp and A and B) or 
        (Ap and Bp and not A and B) or (Ap and Bp and A and not B) or 
     (Ap and not Bp and not A and not B) or (Ap and not Bp and A and B); -- complete boolean on conditions for a count value of 1

Direction <= (not Bp and A) or (Bp and not A); -- complete boolean on conditions for forward direction

Можно ожидать, что результат будет подсчитываться до тех пор, пока B ведет A

Но вместо этого все, что я получаю, это:

Результат моделирования

Любые предложения о том, что может быть не так? Если мое булево уравнение отличается от вашего, пожалуйста, опубликуйте его.

0 ответов

Другие вопросы по тегам