Продублирую здесь высказанное на казусе.
Похоже, мне никогда не удастся понять китайскую логику. Поэтому даже не буду пытаться повторять, а реализую то, что задумал, как и описал темой раньше. Итак, как работает этот вольтметр.
Вывод на дисплей
- Вывод ведется с фиксированной точкой (в четвертой позиции, т.е. цифра2), поэтому либо 4 цифры отображается, либо все 5. Если отображается только 4, то 1 цикл длится 7.5мс, если же отображается 5 цифр, один цикл составляет около 8.5мс.
- Каждая цифра отображается по 1мс, на чтение уходит около 1.5мс (точнее, там совсем немного уходит на чтение, остальное время МК простаивает).
- Зачем-то китайцы целый такт (1мс) уделили десятичной точке вместо того, чтобы ее вместе со второй цифрой показывать. Ну, как говорится, восток — дело тонкое.
- Число отображается слева-направо (т.е. со старших разрядов к младшим).
АЦП
- Протокол обмена данными с АЦП в точности такой, как и указано в даташите → это точно MCP3421
- Я удивился, но китайцы работают в 16-битном режиме. Поэтому у них и получается квант == 2-3мВ (когда пляшет вывод).
- Судя по тому, что на 12.669В АЦП передал число 11560, а на 5.132В передал 4684, коэффициент K в формуле U=(Data*K)>>15 составляет примерно 35910.
Это значит, что вольтметр калибровали (т.к. "умолчательный" коэффициент равен 35840), а реальный коэффициент ослабления входного напряжения составляет 17.534.
А еще у меня не получилось линейно преобразовать данные в выводимое напряжение, чтобы обоим числам соответствовало то, что показывал дисплей. Варианта два:
- Китайцы делают сложную таблицу калибровки (скажем, через полвольта), внутри каждого интервала свой коэффициент. Но в это верится примерно как в Деда Мороза.
- Китайцы используют float. Это более вероятно. Хотя и противоречит здравому смыслу.
UPD:
К сожалению, чип оказался залоченным от чтения. Но и почему-то не получилось ничего вместо существующей прошивки записать. На "казусе" посоветовали на Vcap припаять микрофарадный кондей. Попробую. Но, боюсь, что не поможет: есть подозрение, что китайцы научились делать одноразовые STM8S003.
Journal information