Всем привет! Что-то один я подумал, что может существовать гораздо более простое и правильное решение этой задачи? Как зависает девайс? Если просто виснет, и мега перестаёт менять состояния своих выходов, то задача вырождается до поиска выхода, на котором во время зависания перестают иметься импульсы, и подключению к этому выходу простейшего детектора пропущенных импульсов. Выход детектора - на ресет (может через одновибратор). Всё.
На АОНах - когда то было решение - импульсы с выхода динамической индикации не давали зарядиться конденсатору сброса - когда импульсы пропадают (зависание мк) и состояние 0 или 1 - конденсатор сброса заряжается и сбрасывает схему.
не просто пропадают импульсы, а начинает выдавать импульсы хаотично
Это хуже, конечно. Но все-таки посмотрите повнимательней на состояния выходов во время зависания, может на каком-то выводе импульсы все-таки пропадают? Там скорее всего динамическая индикация, может реально за состояния какого-то столбца, напрмер зацепиться? Если хаотично мигает, может перебор столбцов неравномерно начинает идти? Ведь детектор пропущенных импульсов можно настраивать в довольно широких пределах. Если есть хотя-бы какая-то неравномерность в ходе импульсов, тогда не все еще потеряно.
Можно сказать совсем недавно, на практике, реализовывал схему с NE555 , минутные и часовые отрезки времени , насколько помню соотношение примерно 1000 мкф и 10 мом = ~180 минут. Материал здесь http://radiokot.ru/circuit/digital/home/112/ так что, было бы желание.... и нех. не нужен.)))
int main (void) { DDRB = 1; // используем PB0 while(1) { uint16_t i; PORTB = 0; // низкий уровень на PB0 на 2 секунды _delay_ms(2000); PORTB = 1; // высокий уровень на PB0 на 1 час (3600 секунд) for(i=0; i<3600; i++) _delay_ms(1000); } }
Подскажите пожалуйста, как это дело впихнуть в CodeVisionAVR V2.04.4a? Вопрос отпал, в авр студии нормально всё выходит)
И осталось только найти такой конденсатор у которого будет отсутствовать ток утечки. Ладно уж, тогда проще использовать ионистор на 1 фарад и резисторы поменьше. Считанные килоомы. Но с такими емкостями возникнет проблема быстрого его разряда... меньше чем секунд за 20 такой не разрядишь, даже если замкнуть.
Кажется мне, что бегущая строка эта вполне работоспособна, просто это специальный заложенный заранее эффект, чтобы почаще апгрейд делали. Ибо если бы программа по-настоящему начала работать хаотично, бед было бы гораздо больше - например потерлась бы занесенная туда информация.
Можно это все гораздо проще организовать - измерять длительность импульсов двух строк - если она существенно отличается - выдать сигнал сброса. Это можно в принципе организовать при помощи аналоговой схемы.
Если есть дамп прошивки, то можно попытаться отреверсить её - есть дизассемблеры и можно даже получить код на языках высокого уровня. Работы конечно гораздо больше чем тупо сбрасывать их каждые 2 часа но...
Там не бегущая строка, там матрица 24 линии на 8 столбцов, сама программа даёт импульсы неравномерно, то есть, пока идёт вывод эффекта-всё нормально, но в определённых местах эффект застывает секунд на 15, в этот момент импульсов никаких нет, то есть, ловить зависание программы по импульсам-довольно сложно, так как даже при зависании импульсы идут хаотично. А то что так заложено-это запросто))) Но таймер помогает, всё работает уже почти сутки. Дамп прошивки есть, но проще просто рессетить))) ЗЫ: Индикация не динамика, драйверы DM134 управляют кучей IRFZ44. На картинке часть 1 коробки из 2.
Странно, а транзисторов там 64 всего. Что-то мне кажется, что схема рассчитана на 64x64 светодиодов просто используются не все линии. Микросхемы вобщем-то используются бестолково - просто в качестве регистров сдвига. А там уже зависит динамика/не динамика от того как этими регистрами будет пользоваться контроллер.
Вещь вобщем-то довольно масштабная... и наверно даже не так уж сложно написать новую прошивку.
Да нет, просто на фотке видно всего 2 платы, на самом деле в каждой коробке их по 3, таких коробок 2, вот и получаем 192 транзистора. А насчёт использование спец драйверов вместо логики, это меня тоже удивило.
Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 17
Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете добавлять вложения