Емельянов Эдуард Владимирович (eddy_em) wrote,
Емельянов Эдуард Владимирович
eddy_em

Category:

Съем данных с "вольтметра" логическим анализатором

На "казусе" попросили снять протоколы. Снял.
Снимаю данные по I2C
Вот так это происходило



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

  1. Вывод ведется с фиксированной точкой (в четвертой позиции, т.е. цифра2), поэтому либо 4 цифры отображается, либо все 5. Если отображается только 4, то 1 цикл длится 7.5мс, если же отображается 5 цифр, один цикл составляет около 8.5мс.

  2. Каждая цифра отображается по 1мс, на чтение уходит около 1.5мс (точнее, там совсем немного уходит на чтение, остальное время МК простаивает).

  3. Зачем-то китайцы целый такт (1мс) уделили десятичной точке вместо того, чтобы ее вместе со второй цифрой показывать. Ну, как говорится, восток — дело тонкое.

  4. Число отображается слева-направо (т.е. со старших разрядов к младшим).

АЦП

  1. Протокол обмена данными с АЦП в точности такой, как и указано в даташите → это точно MCP3421

  2. Я удивился, но китайцы работают в 16-битном режиме. Поэтому у них и получается квант == 2-3мВ (когда пляшет вывод).

  3. Судя по тому, что на 12.669В АЦП передал число 11560, а на 5.132В передал 4684, коэффициент K в формуле U=(Data*K)>>15 составляет примерно 35910.
    Это значит, что вольтметр калибровали (т.к. "умолчательный" коэффициент равен 35840), а реальный коэффициент ослабления входного напряжения составляет 17.534.

А еще у меня не получилось линейно преобразовать данные в выводимое напряжение, чтобы обоим числам соответствовало то, что показывал дисплей. Варианта два:

  1. Китайцы делают сложную таблицу калибровки (скажем, через полвольта), внутри каждого интервала свой коэффициент. Но в это верится примерно как в Деда Мороза.

  2. Китайцы используют float. Это более вероятно. Хотя и противоречит здравому смыслу.




UPD:
К сожалению, чип оказался залоченным от чтения. Но и почему-то не получилось ничего вместо существующей прошивки записать. На "казусе" посоветовали на Vcap припаять микрофарадный кондей. Попробую. Но, боюсь, что не поможет: есть подозрение, что китайцы научились делать одноразовые STM8S003.
Tags: stm8, железяки
Subscribe

  • M$ teams…

    Начал с сегодняшнего дня студентам ЮФУ удаленно лекции читать. У них все завязано на различные корпорации зла. И базовая работа - через teams. ОК,…

  • Почему systemd — дерьмо

    Уже давно на эту статейку натыкался, но все забывал в "закладки" добавить. Вот, добавляю: "systemd — отстой". Советую эту статейку почитать…

  • Разбираемся с утечками

    Занялся полным рефакторингом кода системы управления оптоволоконным спектрографом. А глаз уже "замыленный": ну вот не могу сходу обнаружить, где я…

promo eddy_em september 3, 12:13 8
Buy for 10 tokens
Уже больше полугода занимаюсь разработкой, вот, наконец-то в мастерских взялись за меня и начали выдавать первые детали. Сегодня сделал тестовую сборку (как обычно, местами пришлось "доработать напильником"): Пока прибор без названия (да и как-то не лезет в голову ничего, у меня нет…
  • Post a new comment

    Error

    Anonymous comments are disabled in this journal

    default userpic
  • 8 comments