Разработка, производство и продажа радиоэлектронной аппаратуры
|
Требуется программист в Зеленограде - обработка данных с датчиков; ColdFire; 40 тыс.
e-mail: jobsmp@pochta.ru
|
Микроконтроллер и FPGA: как реализовать супервизор?
Отправлено
Леонид Иванович 31 декабря 2007 г. 17:46
МК (ATmega) в процессе инициализации загружает ПЛИС (Cyclone, режим PS) из своей памяти программ. Питаются они от отдельных стабилизаторов. Наблюдал такую ситуацию: в результате "провала" напряжения питания конфигурация ПЛИС разрушилась, в то время как BOD микроконтроллера не сработал. МК в такой ситуации не видит проблемы и не пытается восстановить работоспособность системы. Видится несколько вариантов решения:
1. Подключить к МК внешний монитор питания, который будет сбрасывать МК в случае проблем с питанием ПЛИС. Или, что лучше, МК будет программно следить за выходом этого монитора.
2. Все время следить за выходами ПЛИС nStatus и Conf_Done, только непонятно, что именно нужно отлавливать.
3. Реализовать в ПЛИС генератор сброса для watchdog-таймера (внешнего или программного в МК). Не ясно, нужно ли при этом следить за функционированием всех реализованных в ПЛИС систем. Watchdog для ПЛИС - не совсем ясная тема. По идее, при сбое питания ПЛИС выходит из user mode, все системы перестают функционировать.
Какой вариант выбрать?
Извините, если этот вопрос не по теме конференции, но тематическая по ПЛИС последнее время какя-то вялая.
Спасибо.
Составить ответ | Вернуться на конференцию
Ответы
- сброс плис, ведет к переводу выводов в Z-состояние, а значит это можно отследить — ничего не знаю (31.12.2007 18:21:34 78.106.112.208, пустое)
- Не, чем дальше думаю, тем понятнее что все ваши проблемы в питании. При просадке напряжения на 20% прошивка слететь даже не подумает, а любой супервизор это заметит.. Значит, проблема там гораздо серьёзнее.. — Dr.Alex (31.12.2007 18:20:44 83.217.53.44, пустое)
- Конечно config done анализировать. Если слетело в 0, то конфигурация слетела. — Elektronik (31.12.2007 18:13:3 85.21.78.6, пустое)
- Не самое простое, но видимо самое разумное это отслеживать ОБА напряжения питания внешним супервайзером. А что до ПЛИС, то можно сделать регистр состояния, скажем хранящий 55h и если читается, то работаит :) — Sergei_Ilchenko (31.12.2007 18:08:28 89.179.112.162, пустое)
- Имхо всё НЕ СОВСЕМ правильно.. (+) — Dr.Alex (31.12.2007 18:08:17 83.217.53.44, 497 байт)
- Ответ: Если из ПЛИСины фигня идет, перегружать ЛПИСину. — Артем. (31.12.2007 18:03:20 195.160.234.1, пустое)
- не в теме, но мож у ПЛИС предусмотреть вывод для "диагностики" - дрыгает им с нужным периодом - работает, перестала - инициализировать... — basilmak (31.12.2007 18:00:56 85.140.101.71, пустое)