CPU Usage LEDs

Подключаем наши девайсы к компьютеру. Обсуждаются: порты, протоколы, драйвера, языки программирования и т.д.
Ответить
Первый раз сказал Мяу!
Сообщения: 35
Зарегистрирован: Пн июл 19, 2010 18:57:23

Сообщение 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 часа.
Следовательно, МК в схеме может выдержать грубо говоря год работы.
Вопрос, правильно ли я понял (перевел), если так и есть, то как можно увеличить срок службы МК?
Последний раз редактировалось taxi911 Ср июн 19, 2013 15:51:27, всего редактировалось 2 раза.
Реклама
Встал на лапы
Аватара пользователя
Сообщения: 144
Зарегистрирован: Вт мар 19, 2013 15:59:51

Сообщение 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 часа. Нья.
Deshalb, liebe Kolleginnen und Kollegen,
Es werd Hölle.
Реклама
Первый раз сказал Мяу!
Сообщения: 35
Зарегистрирован: Пн июл 19, 2010 18:57:23

Сообщение taxi911 »

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

к сожалению я в программировании полный 0. Но хотелось бы знать на сколько МК хватит.
Встал на лапы
Аватара пользователя
Сообщения: 144
Зарегистрирован: Вт мар 19, 2013 15:59:51

Сообщение Desutorakuta »

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

Удачной вам сборки.
Deshalb, liebe Kolleginnen und Kollegen,
Es werd Hölle.
Реклама
Эиком - электронные компоненты и радиодетали
Друг Кота
Аватара пользователя
Сообщения: 3385
Зарегистрирован: Пн окт 11, 2010 19:00:08

Сообщение Мурик »

Desutorakuta писал(а):написал к нему драйвер
Я не думаю что он разработал этот драйвер, разве что он автор проекта. http://www.libusb.org
Реклама
Первый раз сказал Мяу!
Сообщения: 35
Зарегистрирован: Пн июл 19, 2010 18:57:23

Сообщение taxi911 »

Устройство работает с обычным драйвером для программатора USBAsp
Реклама
Встал на лапы
Аватара пользователя
Сообщения: 144
Зарегистрирован: Вт мар 19, 2013 15:59:51

Сообщение Desutorakuta »

Райт, райт. Я не заглядывал в папку driver. :oops:
Но код для AVR'ки хорошо оформлен, и какой-то самописный клиент там есть. Даже это не так уж и мало :))
Нья, товарищи.
Deshalb, liebe Kolleginnen und Kollegen,
Es werd Hölle.
Первый раз сказал Мяу!
Сообщения: 35
Зарегистрирован: Пн июл 19, 2010 18:57:23

Сообщение taxi911 »

Итак, собрал схему, вылезли грабли:
после перезагрузки/выключения компьютера, виндовс просто не определяет устройство (Unknown device, даже драйвера не хочет ставить. Помогает только ручное выдергивание/включение шнурка ЮСБ.
В сети нашел только одну статью
"Не определяется USB девайс на Tiny45(85) после перезагрузки"
http://obruboff.ru/no-detect-usb-tiny-d ... t-problem/
С таким багом, устройство теряет свой смысл.
Что думаете на этот счет бояре?
Первый раз сказал Мяу!
Сообщения: 35
Зарегистрирован: Пн июл 19, 2010 18:57:23

Сообщение taxi911 »

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

Вернуться в «Интеграция с ПК»