|
Проблемы с Mega8515, сбросы без причины |
|
|
|
Aug 29 2009, 13:53
|
Группа: Участник
Сообщений: 11
Регистрация: 29-08-09
Пользователь №: 52 087

|
Добрый день всем. Есть проблемы с ATMEGA8515. Если кто сталкивался с подобным - поделитесь опытом. Проблема в следующем. При прогоне программы в симуляторе все прекрасно. Загружаю в контроллер и начинаю проверять. По началу все работает, но при некоторых условиях появляются сбои без видимой причины. Контроллер как бы сбрасывается, т.е. программа начинает выполнятся сначала, но после такого "сброса" ведет себя уже не адекватно. Такое впечатление, что нарушается стек, хотя в симуляторе этого не происходит. С этой проблемой сталкиваюсь уже второй раз (программы разные!) именно на ATMEGA8515. Заранее благодарен за любые советы.
|
|
|
|
|
 |
Ответов
|
Aug 31 2009, 13:21
|
Группа: Участник
Сообщений: 11
Регистрация: 29-08-09
Пользователь №: 52 087

|
Проблема однозначно с кодом, по тому как сбой при одной и той же внешней команде. Смущает то, что в симуляторе все нормально. Или симулятор AVR Studio и реальный камень не тождественны? На счет перехода на нулевой вектор на 100% не уверен, но очень похоже, поскольку начальные значения, которые устанавливаю при старте устанавливаются и при сбое, дальше все как после включения питания но некоторые команды (устройства в целом а не контроллера) реботают уже не адекватно. Повторюсь, что такое же явление наблюдал на другом устройстве с Mega8515, но там оно проявлялось в случайные моменты (или закономерность была не очевидна). Навеска емкостей по питанию и замена камней проблему не снимала, как не снимает и в этом случае (керамика 0,15 на каждом корпусе плюс электролиты 470мкф на каждой плате). Код в ближайшее время выложу, просто при моем любительском стиле написания боюсь, что вежливо пошлют, учитывая, что написано на ASM и почти без коментариев, да и перевалило уже за 3 кб.
Ув. prottoss. По поводу бита совместим с S8515. При прошивке оставлял этот бит с заводской установкой, т.е. 1(незапрограмирован), что по описанию соответствует режиму MEGA. К сожалению устройство сейчас на обкатке в другом городе, а на голом камне поэкспериментировать не смогу. Вопрос: в предложении "Снимите бит совместимости с AT90S8515 - "C8515"" Вы имели в виду сбросить его в ноль, т.е. перейти в режим совместимости с S8515, или "снять" в смысле выключить этот режим? С AT90S8515 не работал, но если не ошибаюсь, она не поддерживает команд умножения, которые у меня используются.
Коротко об устройстве. Простейшее устройство ЧПУ для фрезерного станка. Основнвя часть на одной Mega8515, контроллер привода (следящая часть) на трех Mega48 (по одному на каждую ось станка), которые с Mega8515 общаются через SPI (связь односторонняя). Кроме этого к Mega8515 подцеплено 32к внешнего СОЗУ и на этой же шине сидят контроллер клавиатуры/индикации на i8279 (К580ВГ79) и два регистра К580ИР82 для управления автоматикой станка.
|
|
|
|
|
Aug 31 2009, 14:09
|

Гуру
     
Группа: Свой
Сообщений: 2 399
Регистрация: 10-05-06
Из: г. Новочеркасск
Пользователь №: 16 954

|
Цитата(max_cnc @ Aug 31 2009, 16:21)  Или симулятор AVR Studio и реальный камень не тождественны? В симуляторе хватает своих "тараканов", кроме того Studio не симулирует внешние цепи... Цитата(max_cnc @ Aug 31 2009, 16:21)  На счет перехода на нулевой вектор на 100% не уверен, но очень похоже, поскольку начальные значения, которые устанавливаю при старте устанавливаются и при сбое, дальше все как после включения питания но некоторые команды (устройства в целом а не контроллера) реботают уже не адекватно. Возможно, что Вы разрешили (ошибочно, случайно) некое прерывание, а процедуры его обработки - нет (т.к. не предполагали, что это прерывание произайдёт). Некоторые трансляторы в случае непредвиденного прерывания "выводят" программу на адрес 0 (т.е. забивают "свободные" вектора прерывания кодом приводящим на команду jmp 0).
|
|
|
|
Сообщений в этой теме
max_cnc Проблемы с Mega8515 Aug 29 2009, 13:53 prottoss Цитата(max_cnc @ Aug 29 2009, 21:53) Добр... Aug 29 2009, 13:56 max_cnc Кажется снимал, но проверю еще раз. Благодарю за с... Aug 29 2009, 14:04 Petka Цитата(max_cnc @ Aug 29 2009, 17:53) По н... Aug 29 2009, 14:15 adc ЦитатаСнимите бит совместимости с AT90S8515 - ... Aug 29 2009, 18:10 prottoss Цитата(max_cnc @ Aug 31 2009, 21:21) По п... Aug 31 2009, 15:39 niXto Цитата(max_cnc @ Aug 31 2009, 16:21) Коро... Sep 1 2009, 10:40  prottoss Цитата(niXto @ Sep 1 2009, 18:40) Цитата(... Sep 1 2009, 22:49 max_cnc В таблице векторов все неиспользуемые прерывания з... Aug 31 2009, 15:09 max_cnc Тогда проблема не в фюзе 8515С. Благодарю за беспо... Aug 31 2009, 15:50 max_cnc Проблема явно не в наводках, т.к. сбоит и на станк... Sep 1 2009, 15:47 777777 Цитата(max_cnc @ Sep 1 2009, 19:47) Выкла... Sep 2 2009, 04:10 =GM= Цитата(max_cnc @ Sep 1 2009, 14:47) ...ве... Sep 2 2009, 14:12 aesok Проверте вначале свой код на наличие детских ошибо... Sep 4 2009, 16:21 RA3WUM Уважаемый автор топика.
Не сочтите за грубость, н... Sep 2 2009, 18:41 adc Цитата(RA3WUM @ Sep 2 2009, 22:41) ЗЫ А к... Sep 2 2009, 19:10 max_cnc Ну так я же предупреждал на счет кода Сознаюсь, с... Sep 4 2009, 14:06 max_cnc Точно, упустил. (Хочеш спрятать положи на видное м... Sep 7 2009, 14:55
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|