Так же в модуле 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.
Сокращение RDP сами STM используют
У меня тоже однажды посылка похудела за время пути. Хорошо на почте постоянно фиксируется вес во время логистики, удалось доказать инцидент благодаря данным по весу.