Страница 1 из 1

CPU Usage LEDs

Добавлено: Ср июн 19, 2013 12:20:36
taxi911
Приветствую всех.
В сети наткнулся на интересную схемку, суть проста : изменение цвета РГБ светодиода или ленты в зависимости от загруженности процессора, подключается к ПК через ЮСБ.
Ссылка на статью
http://blog.zakkemble.co.uk/cpu-usage-leds/

Меня смутило, что автор пишет:
СпойлерFirmware
On to the uC firmware, timers 0 and 1 are used for PWM control of the LEDs running at 500Hz, timer0 is also used for keeping an approximate track of milliseconds which is used for idle timeout, EEPROM 4 second save delay to help increase EEPROM life and LED colour transition time, with the idle timeout when it doesn’t receive any data for 5 seconds it will start to transition through blue, green, red and back until it starts getting USB data again.
As well as being able to change colour based on CPU usage it can also be set to a single static colour, perhaps it’s a little dark in your PC case, you can set it to white . The settings are saved to the EEPROM so next time the PC is booted it will go back to the colour it had previously been set it to.
Познания технического анг. языка не сильны, но получается, что данные записываются в EEPROM каждые 4 секунды (EEPROM 4 second save delay to help increase EEPROM life and LED colour transition time).
Согласно даташиту, Тини45 число циклов записи/перезаписи EEPROM составляет 100,000 раз.
Если подсчитать, выходит:
Спойлер100000*4=400000 сек.
или
400000/3600=111,11 часов.
или
APD 111,11/4 = 27 дня, при условии работы в день 4 часа.
Следовательно, МК в схеме может выдержать грубо говоря год работы.
Вопрос, правильно ли я понял (перевел), если так и есть, то как можно увеличить срок службы МК?

Re: CPU Usage LEDs

Добавлено: Ср июн 19, 2013 14:47:56
Desutorakuta
Эх, что то даже я засомневался в правильности понимания вопроса, пришлось покопаться в исходниках для проверки но, оказалось что понял правильно.
timer0 is also used for keeping an approximate track of milliseconds which is used for idle timeout, EEPROM 4 second save delay to help increase EEPROM life
timer0 также используется для приближенной оценки прошедших миллисекунд для таймаута простоя и 4хсекундной задержки записи EEPROM для продления жизни EEPROM
Запись в EEPROM происходит с 4хсекундной задержкой но только по факту получения новых настроек. Вызвано это вероятно тем, что при изменении настроек они приходят по очереди - т.е. чтобы разом записать все изменения, а не дёргать eeprom на каждый чих.

Если драйвер или прикладной софт не высылают настройки каждые 4ре секунды (простите, но этот код у меня сейчас проверить возможности нету, но пересылка настроек скорее всего происходит по факту изменения их пользователем) то ваш девайс будет радовать вас больше чем 400 с хвостиком дней. Нья.

ADD:
111,11/4 = 27 c хвостиком дня, при условии работы в день 4 часа. Нья.

Re: CPU Usage LEDs

Добавлено: Ср июн 19, 2013 19:11:44
taxi911
Да ошибнулся малеха :))
Абсурдные цифры получились. Значит записи в EEPROM каждые 4-ре секунды не происходит, а то через месяц бы гавкнулся МК.

к сожалению я в программировании полный 0. Но хотелось бы знать на сколько МК хватит.

Re: CPU Usage LEDs

Добавлено: Ср июн 19, 2013 21:56:14
Desutorakuta
Честно говоря - не имею понятия, на сколько его хватит - микроконтроллеры вообще работают годами. Не думаю что человек, который создал USB-устройство, написал к нему драйвер и клиентское приложение не знал о свойстве EEPROM'а стареть. Код в проекте достаточно красив, и читабелен. (И совсем небольшой - можете попытаться изучить на досуге)

Удачной вам сборки.

Re: CPU Usage LEDs

Добавлено: Ср июн 19, 2013 22:37:09
Мурик
Desutorakuta писал(а):написал к нему драйвер
Я не думаю что он разработал этот драйвер, разве что он автор проекта. http://www.libusb.org

Re: CPU Usage LEDs

Добавлено: Ср июн 19, 2013 22:43:50
taxi911
Устройство работает с обычным драйвером для программатора USBAsp

Re: CPU Usage LEDs

Добавлено: Ср июн 19, 2013 23:01:34
Desutorakuta
Райт, райт. Я не заглядывал в папку driver. :oops:
Но код для AVR'ки хорошо оформлен, и какой-то самописный клиент там есть. Даже это не так уж и мало :))
Нья, товарищи.

Re: CPU Usage LEDs

Добавлено: Пн июл 22, 2013 22:06:49
taxi911
Итак, собрал схему, вылезли грабли:
после перезагрузки/выключения компьютера, виндовс просто не определяет устройство (Unknown device, даже драйвера не хочет ставить. Помогает только ручное выдергивание/включение шнурка ЮСБ.
В сети нашел только одну статью
"Не определяется USB девайс на Tiny45(85) после перезагрузки"
http://obruboff.ru/no-detect-usb-tiny-d ... t-problem/
С таким багом, устройство теряет свой смысл.
Что думаете на этот счет бояре?

Re: CPU Usage LEDs

Добавлено: Сб авг 03, 2013 22:45:29
taxi911
Немного покопавшись, нашел простой способ решения, но нужно найти схему.
Способ заключается в том, чтобы включать схему с задержкой, после того как виндовс уже загрузилась.
Вот только пока в поиске схемы то ли на таймере 555 то ли на tiny13 + оптопара.
Только не знаю пока что обрывать, то ли питание МК или же линии D+, D-