У ATtiny13A в документации указано:
Operating Voltage: – 1.8 – 5.5V
Maximum Operating Voltage - 6.0V
Графики режимов работы заканчиваются на 5.5 Вольтах. А что в промежутке 5.5 - 6 Вольт? Что это за режим работы. Означает ли он деградацию параметров со временем сверх паспортных?
Это допустимое напряжение, при котором МК гарантированно еще не придет белый пушистый лисенок. параметры для этого режима сами понимаете граничные, как говорится в "пределах допуска"
Шекспир сказал: Судить меня -дано лишь Богу, другим я укажу дорогу... https://natribu.org/
Я его полностью поддерживаю.
Программирую на Fuse AtmelAVR.
Я в свое время из-за дохлой КРЕНки подал на Тини2313 около 7В. Девайс сильно глючило, пока обнаружил прошло несколько секунд, но проц остался жив. Эксплуатация на 6В сами понимаете к чему приведет. Число "6В" из ДШ несет скорее информацию о критериях выбора супрессора (5-вольтовые при "срабатывании" ограничивают как раз до 6В где-то +допуски), ИМХО конечно.
***
Народ, скажите, а насколько случайно значение ОЗУ конкретной AVRки после включения питания?
Суть вопроса - можно ли использовать чтение из заведомо неинициализированной переменной, как начальный параметр для работы функций типа rand() и т. п. чтоб результат был более-менее случайным?
Нет, нельзя. гарантированных значений в памяти при включении конечно нет но и совершенно случайными их назвать очень трудно. Для рандома лучше брать число из EEPROM, которое каждый запуск изменять, да хоть тем же рандомом.
Хватит на 10 лет...
Тогда следующий вопрос: в чем выражается исчерпание ресурса EEPROM микроконтроллеров AVR?
Загибается только одна, исчерпавшая свой ресурс, ячейка или же могут подпортиться соседние?
Ячейка просто теряет способность надежно хранить заряды? Но для генератора случайных чисел это должно быть в плюс - возникает случайность вида "стек-не стек заряд". Или возникают повреждения, снижающие надежность работы всего микроконтроллера?
Ресурс вырабатывается у стираемой страницы. У АВРок в EEPROM это, вроде, 1 байт.
А на счёт случайности - какая будет случайность, если всегда будут читаться "0" или "1" во всех или некоторых битах?
Когда уже ничего не помогает - прочтите, наконец, инструкцию.
Лучший оптимизатор находится у вас между ушей. (Майкл Абраш, программист Quake и QuakeII)
Избыток информации ведёт к оскудению души - Леонтьев А. (сказано в 1965 г.)
Да, исчерпание ресурса будет выражаться в том что ячейка не будет программироваться, программирование для EEPROM это запись "0". т.е. хочешь записать "0" а при последующем чтении получаешь "1", причем сначала оно начнет мерцать - то работает то нет.
Я думал, этот процесс медленный, не скачкообразный. Т. е. начинается утечка заряда, сначала он удерживается месяцы, потом недели, поскольку нет в мире совершенно одинаковых транзисторов, то какие-то разряды байта начинают "стекать", какие-то вполне нормально работают - отсюда случайность. В итоге дело заканчивается тем, что у меня ГПСЧ просто будет стартовать с одного значения при каждом включении питания - немножко некрасиво, но устройство все равно будет исправно работать. Кроме того, мне кажется, что случай "пишем 0, а читаем 1" асимптотический и врят ли когда будет достигнут (хоть день, но заряд продержится). Мне интересно, будет ли вызывать это какую-то внутреннюю ошибку, не позволяющую пользоваться процем или просто будет то что я написал?
Так?
Умирает флеш однозначно, никаких "асимптотично". В процессе записи в ячейку, учавствуют просто огромные плотности энергии из-за того что ячейка очень маленькая, материал не выдерживает - разрушается, потом ячейку в один прекрасный момент просто пробивает, но те же самые энергии в другой раз могут просто пережечь образовавшуюся перемычку, еще пара записей, и ячейка становится безнадежной.
Ну в таком случае, эти энергии вполне могут подпортить (слегка или не слегка) соседние транзисторы, которые могут относиться к другим страницам или даже к элементам ЦП и периферии, т. е. выходит, что может загнуться вся микросхема...
Протеус пишет, что "Interrupt generated and processor will reset after handling", в регистре WDTCR читается значение С8 - установлен флаг прерывания, но проц, хоть уср*сь, но не выходит на обработчик прерывания (в нем стоит точка останова).
В листинге проверил, команды присутствуют.
В чем дело?
А чего это он должен выходить на прерывания, если ты не установил режим работы вач-дога в режим генерации прерываний? По-дефолту, вачдог не при делах вообще либо просто вызывает аппаратный сброс(если биты конфигурации контроллера разрешают работу вач-дога) по тайм-ауту. конфигурировать его надо-с и разрешить прерывание от вач-дога. Толку-то, что ты общие прерывания разрешил...
Последний раз редактировалось Alexeyslav Вс авг 25, 2013 10:57:35, всего редактировалось 1 раз.