Pull to refresh
1
Тима@Kan_Timur

User

0,1
Rating
Send message

Стрелка вращается в плоскости. Развернете во времени — получите спираль. Спроецируете спираль на плоскость — получите график синуса.

И даже напряжение в розетке, как только представите в комплексной форме и развернете во времени, имеет форму спирали.

проекция вращающейся стрелки на ось — и есть синусоида

Но и стрелка — это тоже проекция. Мне больше 3D интерпретация нравится, где синус — это проекция спирали на плоскость.

3D Sine Helix

Так они поди на заводе были смазаны

Скрытый текст

Все верно, за 1 щелчок энкодера будет инкремент или декремент ровно 1 раз. Как раз это и нужно.

ECW1J-C28-BC0024L

Можно гораздо проще сделать, без конечного автомата.

Положительный фронт на основном канале это всегда инкремент или декремент в зависимости от состояния второго канала. Все, весь алгоритм.

Step/dir по сути. Можно по отрицательному фронту, без разницы.

Это если модель как у вас, ECW1J-C28-BC0024L, а то бывают разные диаграммы работы у энкодеров.

Скрытый текст
Энкодер Alps EC12
Энкодер Alps EC12

Согласование i2c доставило)

Скрытый текст

Я как раз и имел в виду, что разрядность векторов должна автоматом вычисляться.

Вместо

module ax_debounce #(
    parameter N        = 32,
    parameter FREQ     = 50,    // MHz
    parameter MAX_TIME = 20     // ms
)(

Гораздо удобнее и нет зависимых друг от друга параметров:

module ax_debounce #(
    parameter FREQ     = 50,    // MHz
    parameter MAX_TIME = 20     // ms
)(
  ...
  localparam TIMER_MAX_VAL = MAX_TIME * 1000 * FREQ;
  localparam N = $clog2(TIMER_MAX_VAL);

  reg [N-1:0] cnt;

Так же в модуле 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 используют

У меня тоже однажды посылка похудела за время пути. Хорошо на почте постоянно фиксируется вес во время логистики, удалось доказать инцидент благодаря данным по весу.

1

Information

Rating
4,112-th
Registered
Activity