реклама на сайте
подробности

 
 
> сбой в работе основного генератора AT91SAM7, прерывание по неисправности MainOscillator
Terrabyte
сообщение Mar 13 2008, 09:07
Сообщение #1


Частый гость
**

Группа: Свой
Сообщений: 124
Регистрация: 2-01-07
Из: Russia
Пользователь №: 24 042



У меня такой вопрос,
можно ли сделать переход в препывание - по неисправности основного генератора, - при этом попытаться снова запустить тактирование.. а в случае сбоя - предусмотреть определённые действия..
если можно то как это сделать, как настроить такое прерывание.. ?
в msp430 такую защиту я делал всегда, в каждом устройстве, а в ARM7 - ???

хорошо бы было иметь возможность перейти в обраб. прер-я по сбросу бит: MOSCS или MCKRDY или LOCK регистра PMC_SR , но почему-то нельзя настроить internal прерывание по спаду или по низкому уровню - ???

у меня последняя документация (от 03-Dec-07) , в ней нарисованы ещё какие-то 2 бита в регистрах настройки прерываний PMC - бит 5: UOSCS и бит 6: LOCKU , вот, но что это за биты ничё не написано...
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
aaarrr
сообщение Mar 17 2008, 10:31
Сообщение #2


Гуру
******

Группа: Свой
Сообщений: 10 713
Регистрация: 11-12-04
Пользователь №: 1 448



Цитата(Terrabyte @ Mar 13 2008, 15:46) *
всё же вероятность есть, например, стоит дотронуться пинцетом до pina XIN, - как тактирование прекратиться - и следовательно MCU перейдет на SCLK.. , тогда, чтобы возобновить работу, нужно снова перезап. PLL ..

MCU переходит на SLCK только по reset'у, автоматического переключения нет.

Цитата(Terrabyte @ Mar 17 2008, 13:06) *
У меня опять проблема,
при срабатывании Watchdog Timerа, в случае когда остановлен основной генератор (CPU тактируется от SLCK) - не сбрасываются биты в регистре PMC_SR ! - ?
генератор останавливаю простой подтяжкой XIN (pin 62) к GND

Бит MCKRDY регистра PMC_SR сбрасывается при записи PMC_MCKR.
Go to the top of the page
 
+Quote Post
Terrabyte
сообщение Mar 17 2008, 13:15
Сообщение #3


Частый гость
**

Группа: Свой
Сообщений: 124
Регистрация: 2-01-07
Из: Russia
Пользователь №: 24 042



- проверил не раз, - "затыкаю" main генератор, и программа продолжает работать! с частотой прибл. 32кГц, даже помигал светодиодами, находясь в `SYS` прерывании.
но биты PMC не сбрасываются!
аналогично при сбросе по WDT - только ядра процессора, CPU работает на RC генераторе, и этот переход на RC нигде не отображён, PMC_MCKR как был настроен на PLL, так и остался без изменений.

- бит MCKRDY в PMC_SR не сбрасывается при записи PMC_MCKR - почему-то..

- биты MOSCS и LOCK сбрасываются при записи CKGR_MOR -> причем только если MOSCEN=0 (если выключить генератор)


и естественно, я проверил и без эмулятора, что CPU продожает работать (продолжает мигать св. диодами в system_irq ).
если в этом состоянии - убирать подтяжку- тактирование возобновляется! - без повторного программного перезапуска,
и программа продолжает работу на 48МГц, без RESRT-a , как и положено,

как же всё-таки отследить остановку основного тактирования ?
Go to the top of the page
 
+Quote Post



Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 28th July 2025 - 09:39
Рейтинг@Mail.ru


Страница сгенерированна за 0.01366 секунд с 7
ELECTRONIX ©2004-2016