Так же в модуле ax_debounce детектор фронтов реализован три раза: детектор обоих фронтов (DFF1^DFF2), button_posedge, button_negedge, плюс в проекте используются детекторы на шине i2c. Детектор фронтов можно вынести в отдельный подмодуль и использовать внутри ax_debounce. Можно и счетчик вынести, но декомпозиция кода в verilog отдельная тема. Плюсы в том, что каждый отдельный подмодуль удобнее отлаживать, переиспользовать и оптимизировать, чем один "begemoth" модуль. Плюс не смешивается логика разных уровней. И, что немаловажно, удобно смотреть во что синтезируется код каждого отдельного подмодуля и крутить у него ручки.
Еще заметил, что не хватает синхронизатора на входе кнопки.
В модуле ax_debounce счетчик реализован в виде конечного автомата? По-моему присутствует небольшой оверкилл. Отсюда и два вектора q_reg, q_next на один счетчик.
Почему не используете $clog2 для вычисления разрядности? Так в модулях появляются зависимые параметры. Если в проекте нет зависимых параметров – меняешь любой без головной боли, а если есть хоть один, то нужно помнить все или каждый раз лезть в код.
Я так понимаю много в каких марках авто используются и для них есть программаторы. Есть еще NCF29A1, NCF29A2, NCF29A4 по ним можно поискать чем и как шить.
Судя по отрисованной схеме 5 и 6 выводы используются для прошивки. Что-то мне подсказывает, что там i2c шина сидит, может ошибаюсь. По крайней мере не трудно проверить, просканировав шину. Предварительно проверив, что 5 и 6 выводы имеют подтяжку к питанию внутри корпуса, чтобы не коротнуть выводы, если они в пуш-пул режиме.
На корпусе A3XA5 маркировка NXP, это их чип. Только у них на сайте даташиты далеко не на все продукты в доступе. Может по применяемым алгоритмам удастся найти какую информацию.
Замечание по поводу вредных веществ справедливое. Только упущен вопрос количества. Тут речь идет не про обжиг, а про то, чтобы оголить долю миллиметра на проводе, чтобы удобно было подпаиваться к 0201, 0402, 0603 и прочей мелочевке. При этом изоляция не обгорает, а оплавляется и съеживается. Температура плавления фторопласта 327 градусов. Подносить нужно в нижнюю часть пламени. Этим способом пользуюсь уже много лет. Не нагоняйте.
Вы во флюс с припоем ткнете жало — там на порядок, если не на два, выделится больше вредных веществ, чем от того, что таким способом зачистите провод.
Ну и естественно при пайке должна быть вытяжка, тут и речи быть не может.
Вся фишка этого способа в том, чтобы обрезать провод прямо по месту и оголять изоляцию сколько нужно тоже по месту. По скорости и качеству этот способ у меня на первом месте.
Интересная идея. Можно либо через мультиплексор коммутировать шину, либо тоже самое на плис. Либо на микроконтроллере, встать на шину слейвом и дальше пробрасывать мастером.
Эксперименты с подсветкой - мое почтение) Взял на вооружение.
Для подпайки рекомендую провод МГТФ сечением 0.03-0.05. Провод термостойкий, изоляция из фторопласта (тефлона), во время пайки ничего лишнего не оголяется. Суете конец в пламя зажигалки и он контролируемо оголяется вплоть до долей миллиметра. Работаю им в том числе и под микроскопом, по удобству лучше этого провода ничего не нашел, хотя и специально заказывал для этих целей разные типы проводов на пробу. Заморский аналог UL10064.
А, ну вот, все встало на свои места
Футпринт интересный, ни разу таких не видел. Это керамика?
Скрытый текст
Стрелка вращается в плоскости. Развернете во времени — получите спираль. Спроецируете спираль на плоскость — получите график синуса.
И даже напряжение в розетке, как только представите в комплексной форме и развернете во времени, имеет форму спирали.
Но и стрелка — это тоже проекция. Мне больше 3D интерпретация нравится, где синус — это проекция спирали на плоскость.
3D Sine Helix
Так они поди на заводе были смазаны
Скрытый текст
Все верно, за 1 щелчок энкодера будет инкремент или декремент ровно 1 раз. Как раз это и нужно.
ECW1J-C28-BC0024L
Можно гораздо проще сделать, без конечного автомата.
Положительный фронт на основном канале это всегда инкремент или декремент в зависимости от состояния второго канала. Все, весь алгоритм.
Step/dir по сути. Можно по отрицательному фронту, без разницы.
Это если модель как у вас, ECW1J-C28-BC0024L, а то бывают разные диаграммы работы у энкодеров.
Скрытый текст
Согласование i2c доставило)
Скрытый текст
Я как раз и имел в виду, что разрядность векторов должна автоматом вычисляться.
Вместо
Гораздо удобнее и нет зависимых друг от друга параметров:
Так же в модуле ax_debounce детектор фронтов реализован три раза: детектор обоих фронтов (DFF1^DFF2), button_posedge, button_negedge, плюс в проекте используются детекторы на шине i2c. Детектор фронтов можно вынести в отдельный подмодуль и использовать внутри ax_debounce. Можно и счетчик вынести, но декомпозиция кода в verilog отдельная тема. Плюсы в том, что каждый отдельный подмодуль удобнее отлаживать, переиспользовать и оптимизировать, чем один "begemoth" модуль. Плюс не смешивается логика разных уровней. И, что немаловажно, удобно смотреть во что синтезируется код каждого отдельного подмодуля и крутить у него ручки.
Еще заметил, что не хватает синхронизатора на входе кнопки.
В модуле ax_debounce счетчик реализован в виде конечного автомата? По-моему присутствует небольшой оверкилл. Отсюда и два вектора q_reg, q_next на один счетчик.
Почему не используете $clog2 для вычисления разрядности? Так в модулях появляются зависимые параметры. Если в проекте нет зависимых параметров – меняешь любой без головной боли, а если есть хоть один, то нужно помнить все или каждый раз лезть в код.
Нашелся
NXP NCF29A3
Я так понимаю много в каких марках авто используются и для них есть программаторы. Есть еще NCF29A1, NCF29A2, NCF29A4 по ним можно поискать чем и как шить.
Судя по отрисованной схеме 5 и 6 выводы используются для прошивки. Что-то мне подсказывает, что там i2c шина сидит, может ошибаюсь. По крайней мере не трудно проверить, просканировав шину. Предварительно проверив, что 5 и 6 выводы имеют подтяжку к питанию внутри корпуса, чтобы не коротнуть выводы, если они в пуш-пул режиме.
На корпусе A3XA5 маркировка NXP, это их чип. Только у них на сайте даташиты далеко не на все продукты в доступе. Может по применяемым алгоритмам удастся найти какую информацию.
Что-то вроде NCF29AG
Американцы так Mars Climate Orbiter потеряли. Вы обнаружили, они - нет)
Второе пришествие
В этих и подобных модулях прозрачный UART по BLE, нужно только автоконнект настроить.
Подал питание и работаешь как по проводу.
Беспроводной UART не рассматривали как альтернативу опторазвязке?
У WCH есть линейка CH914x, обвязки минимум. Есть готовые модули.
CH9141K
В ютубе видел подобной зажигалкой кто-то пользовался.
Еще недавно заприметил в снабкабеле появился цветной МГТФ сечением от 0.07. Жаль цветного 0.03 нет.
Замечание по поводу вредных веществ справедливое. Только упущен вопрос количества. Тут речь идет не про обжиг, а про то, чтобы оголить долю миллиметра на проводе, чтобы удобно было подпаиваться к 0201, 0402, 0603 и прочей мелочевке. При этом изоляция не обгорает, а оплавляется и съеживается. Температура плавления фторопласта 327 градусов. Подносить нужно в нижнюю часть пламени. Этим способом пользуюсь уже много лет. Не нагоняйте.
Вы во флюс с припоем ткнете жало — там на порядок, если не на два, выделится больше вредных веществ, чем от того, что таким способом зачистите провод.
Ну и естественно при пайке должна быть вытяжка, тут и речи быть не может.
Вся фишка этого способа в том, чтобы обрезать провод прямо по месту и оголять изоляцию сколько нужно тоже по месту. По скорости и качеству этот способ у меня на первом месте.
Впрочем, каждый решает сам.
Интересная идея. Можно либо через мультиплексор коммутировать шину, либо тоже самое на плис. Либо на микроконтроллере, встать на шину слейвом и дальше пробрасывать мастером.
Эксперименты с подсветкой - мое почтение) Взял на вооружение.
Для подпайки рекомендую провод МГТФ сечением 0.03-0.05. Провод термостойкий, изоляция из фторопласта (тефлона), во время пайки ничего лишнего не оголяется. Суете конец в пламя зажигалки и он контролируемо оголяется вплоть до долей миллиметра. Работаю им в том числе и под микроскопом, по удобству лучше этого провода ничего не нашел, хотя и специально заказывал для этих целей разные типы проводов на пробу. Заморский аналог UL10064.