Часовой форум Watch.ru (http://forum.watch.ru/index.php)
-   Электроника (http://forum.watch.ru/forumdisplay.php?f=28)
-   -   Уголок яйцеловов. Обсуждаем, чиним, хвастаемся находками (http://forum.watch.ru/showthread.php?t=154411)

IgorR76 07.12.2023 04:39

Вложений: 1
Цитата:

Сообщение от Igor427 (Сообщение 6751837)
Хотели считать прошивку с "Альтаира"

Получилось?


Вот начинка новодела. Если в этот мк засунуть алгоритм из нинтендо — будет копия КБ1013, которая также потребляет мкА.

Igor427 13.01.2024 01:32

Цитата:

Сообщение от IgorR76 (Сообщение 6874777)
Получилось?

Игорь, с наступившим годом 2024!

С Альтаиром удалось разобраться - также Милан работает над тем, чтобы включить дозиметр в следующую версию отладчика.

Прошивка там действительно измененная, при это алгоритм общения с платой дозиметра достаточно простой - используется сигнал R1 для включения/выключения платы и D0-D3 для чтения данных (описание ниже на английском, т.к. это часть моей переписки с Миланом):

The Altair radiation-counter board has three major circuits:

- High-voltage generator
- Capacitive decoupling+Schmitt trigger to form the proper signal from the Geiger-Mueller counter
- Internal 4-bit counter with outputs connected to D0-D3, de-coupled by 4 diodes.


Controlling the counter board:

- High R1 signal from the game board disables the generator as well as sets the counter to zero.
- Low R1 enables the unit. It also starts an internal high-frequency generator for a short period to ‘pump’ the high-voltage circuit. After the initial period, the COM0 is used to ‘kick’ the generator periodically, it is not used in any other logic.
- The measurement time is selected according to the sensitivity of the specific type of Geiger tube (SBM-20-1) in such a way that the number of pulses numerically coincides with the intensity of radiation in 0.01 micro Sieverts per hour


Now for the reading. The game board reads 4-inputs in the cycle:

- Enable dosimeter board
- Repeat for 40 s, and display the summary every second:
- Read the new value from the dosimeter counter
- Calculate the difference between the old and new value modulo 16
- Update the running summary by adding the difference
- Replace the old value with the new value
Disable dosimeter board

В общем-то очень простой, но в то же время эффективный способ, предполагая. что количество импульсов между чтениями не превышает 16. Учитывая, что 'обычный' уровень фонового излучения где-то < 50 импульсов за 40-секундный период, а программный цикл, в котором опрашиваетя регистр D, занимает ~50 тактов процессора (т.е. статус дозиметра опрашивается каждые 3 миллисекунды), потеря импульсов статистически исключительно маловероятно даже в случае высоких уровней радиации.

siealex 18.01.2024 01:45

Если статус дозиметра опрашивается каждые 3 мс, то почему информация на дисплее обновляется один раз в секунду?

MilanSK 18.01.2024 13:09

Причина в том, что обновление дисплея – трудоемкая операция, она занимает примерно в 6 раз больше времени, чем считывание показаний дозиметра.
Вероятно, чтобы сделать измерения максимально точными, они решили обновлять дисплей только тогда, когда необходимо выполнять ежесекундные операции (обновление времени на часах и т. д.).

siealex 19.01.2024 18:03

Странное решение - ежесекундные обновления в режиме дозиметра не нужны. Хотя не удивлюсь, если режим дозиметра тут унифицирован с режимом часов.

MilanSK 20.01.2024 21:56

Для интересующихся - вышла новая версия 2.3.0 отладчика КБ1013ВК1-2.

Вот список изменений:
- исправлена ошибка при загрузке ПЗУ пользователя
- добавлена поддержка игры Научприбор "Дозиметр бытовой ДБГБ-06И Альтаир"
- добавлена поддержка альтернативных изображений ЖК-дисплеев, совместимых с текущим загруженным ПЗУ (переключение осуществляется двойным щелчком или правым кликом по изображению)
- добавлено выделение значения в ОЗУ, на которое в данный момент ссылается регистр DP
- двойной щелчок по адресу кода в диалоговом окне "Точки останова" подсвечивает выбранный адрес в основном окне дизассемблера
- отображение меток адресов кода жирным шрифтом для лучшего читаемости и ориентации в дизассемблированном коде
- другие незначительные улучшения и исправления различных мелких ошибок

MilanSK 21.01.2024 02:13

Вы все хорошо знаете игру Ну, погоди!
Если вы умеете программировать и хотели бы создать его копию на своей любимой платформе, чтобы игровой процесс соответствовал оригиналу, вот расшифровка оригинального алгоритма:
https://twitter.com/MilanSK46676000/...504589112?s=20

siealex 15.03.2024 03:43

Странная проблема с игрой Ну-Погоди (Вымпел 82 регион). Батарейки сели раньше времени, ставлю новые - тело волка с правой стороны практически не светится, потребление почти вдвое выше нормы. На голой плате потребление идеальное, сигналы на выходах тоже правильные. КЗ в дисплее нет, но конкретно этот сегмент звенит 9 МОм на общий, остальные не звенят вплоть до 200 МОм. Три месяца назад индикация была идеальная. Так быстро сдох дисплей?

jerkyboy 21.03.2024 17:59

Цитата:

Сообщение от siealex (Сообщение 6937209)
Странная проблема с игрой Ну-Погоди (Вымпел 82 регион). Батарейки сели раньше времени, ставлю новые - тело волка с правой стороны практически не светится, потребление почти вдвое выше нормы. На голой плате потребление идеальное, сигналы на выходах тоже правильные. КЗ в дисплее нет, но конкретно этот сегмент звенит 9 МОм на общий, остальные не звенят вплоть до 200 МОм. Три месяца назад индикация была идеальная. Так быстро сдох дисплей?

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

MilanSK 21.03.2024 18:09

Цитата:

Сообщение от jerkyboy (Сообщение 6942834)
В моём случае игра полежала месяц с одной батарейкой...

И это может быть настоящей причиной...


Часовой пояс UTC +3, время: 17:05.

© 1998–2024 Watch.ru