|
|
  |
сбой в работе основного генератора AT91SAM7, прерывание по неисправности MainOscillator |
|
|
|
Mar 13 2008, 09:07
|
Частый гость
 
Группа: Свой
Сообщений: 124
Регистрация: 2-01-07
Из: Russia
Пользователь №: 24 042

|
У меня такой вопрос, можно ли сделать переход в препывание - по неисправности основного генератора, - при этом попытаться снова запустить тактирование.. а в случае сбоя - предусмотреть определённые действия.. если можно то как это сделать, как настроить такое прерывание.. ? в msp430 такую защиту я делал всегда, в каждом устройстве, а в ARM7 - ???
хорошо бы было иметь возможность перейти в обраб. прер-я по сбросу бит: MOSCS или MCKRDY или LOCK регистра PMC_SR , но почему-то нельзя настроить internal прерывание по спаду или по низкому уровню - ???
у меня последняя документация (от 03-Dec-07) , в ней нарисованы ещё какие-то 2 бита в регистрах настройки прерываний PMC - бит 5: UOSCS и бит 6: LOCKU , вот, но что это за биты ничё не написано...
|
|
|
|
|
Mar 13 2008, 12:46
|
Частый гость
 
Группа: Свой
Сообщений: 124
Регистрация: 2-01-07
Из: Russia
Пользователь №: 24 042

|
всё же вероятность есть, например, стоит дотронуться пинцетом до pina XIN, - как тактирование прекратиться - и следовательно MCU перейдет на SCLK.. , тогда, чтобы возобновить работу, нужно снова перезап. PLL .. да, можно мониторить эти биты в осн. программе, согласен, просто я думал можно это как-ниб. по цивильней сделать. Но я уже почти решил этот вопрос - запускаю WDT ! и вкл. прерывание от него (без reset MCU), а в прерывании уже смотрю что стряслось..
|
|
|
|
|
Mar 14 2008, 07:18
|
Гуру
     
Группа: Свой
Сообщений: 10 713
Регистрация: 11-12-04
Пользователь №: 1 448

|
Цитата(Terrabyte @ Mar 13 2008, 12:07)  у меня последняя документация (от 03-Dec-07) , в ней нарисованы ещё какие-то 2 бита в регистрах настройки прерываний PMC - бит 5: UOSCS и бит 6: LOCKU , вот, но что это за биты ничё не написано... Странно: раньше Атмел только убирал описания всяких вредных битов из регистров, а тут вдруг добавил  В FAQ'ах и на форумах эти биты не упоминаются, в последних описаниях других семейств их тоже нет. Можно, конечно, написать в суппорт или исследовать их поведение самостоятельно, но это, по-моему, пустая трата времени - как появились, так и исчезнут в один прекрасный день.
|
|
|
|
|
Mar 17 2008, 10:31
|
Гуру
     
Группа: Свой
Сообщений: 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.
|
|
|
|
|
Mar 17 2008, 13:15
|
Частый гость
 
Группа: Свой
Сообщений: 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 , как и положено,
как же всё-таки отследить остановку основного тактирования ?
|
|
|
|
|
  |
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|