TGViewer
инженер устал инженер устал @engustal · 617 subscribers
Post #42 990
Почему энкодер «врет» на переходах?

Если при переходе с 7 на 8 датчик на мгновение выдает 0, 15 или «мусор», это не баг прошивки, а фундаментальная проблема параллельного двоичного кода.

Возьмем переход 7 → 8:
было 0111, стало 1000.
Чтобы это произошло, должны одновременно измениться все четыре бита. В реальной схеме из-за разброса задержек в логике, трассировке или входных буферах разряды переключаются не синхронно. На короткий момент возникает промежуточная комбинация. Это не произвольное число, а одно из состояний при частично переключившихся битах, но его достаточно, чтобы система управления зафиксировала скачок координаты или ошибку счётчика.

Решение — код Грея.
Его свойство в том, что любые два соседних значения отличаются ровно одним битом. При переходе меняется только один разряд, поэтому даже если считывание попадёт на момент переключения, вы получите либо старое, либо новое допустимое значение без многобитного скачка.

Сравнение перехода 7 → 8:
обычный код — 0111 → 1000, меняются 4 бита, высокий риск промежуточных состояний;
код Грея — 0100 → 1100, меняется 1 бит, переход одноразрядный.

Именно поэтому код Грея применяют в абсолютных оптических энкодерах, где дорожки диска размечаются сразу в этом коде, и в асинхронных FIFO для передачи счётчиков между разными тактовыми доменами. Он не заменяет синхронизаторы, но существенно снижает риск некорректного захвата при переходах.

Преобразование из двоичного кода в код Грея выполняется одной операцией:
gray = binary ^ (binary >> 1);
Разрядность сохраняется, логики минимум, поведение на переходах становится предсказуемым.
  • ❤ 16
  • 🔥 9
  • 👍 3
More from @engustal
  1. Mar 10, 2026Кристалл современного процессора может разогреться с 30 °C до 100 °C меньше чем за миллисе…
  2. Mar 5, 2026https://vkvideo.ru/clip-234639805_456239120 Когда в канале связи скорость передачи выходит…
  3. Mar 2, 2026Интеграция, масштабирование и текущая инженерная повестка 1991: Интегрированные инерциальн…
  4. Mar 1, 2026От первых датчиков к технологическому прорыву 1970–1980-е: Пьезорезистивные датчики давлен…
  5. Feb 28, 2026Технология и эволюция MEMS: от концепции к массовому производству Кремний традиционно расс…
  6. Feb 27, 2026Точные данные по объёмам производства электроники в разных странах добыть практически нево…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →