|
Не программируется AtMega 64 |
|
|
|
Nov 25 2011, 10:55
|
Частый гость
 
Группа: Свой
Сообщений: 104
Регистрация: 10-12-04
Из: Ебург
Пользователь №: 1 436

|
Контроллер AtMega64, запаянный в плате. При программировании устанавливаю Fuse - SPIEN, BOOTRST, частоту. Сначала все читается, заливаю прошивку, заливается нормально, контрольное чтение проходит правильно, после этого доступа к микросхеме нет. Совсем нет. Сообщает об ошибке ISP Mode Error. Контроллер AtMega64 на 8 МГц, корпус TQFP, программатор AVR Dragon, программирование по ISP. В чем причина и-главное - можно ли как-то вернуть микросхему к жизни? Контроллер работает при этом, все порты функционируют, то есть, программа выполняется. Может ли быть (теоретически) причина в прошивке? Хотя та же самая прошивка на другом устройстве к такому эффекту не приводит. Может ли быть причина в плате - разводке, соединении выводов? На этих же выводах сидит RXD, TXD (но выключены).
|
|
|
|
|
Nov 25 2011, 14:12
|
Частый гость
 
Группа: Свой
Сообщений: 104
Регистрация: 10-12-04
Из: Ебург
Пользователь №: 1 436

|
Цитата(Genadi Zawidowski @ Nov 25 2011, 16:51)  Попробуйте перед программировнием считать состояние фюзов с новой микросхемы и не трогать SPIEN. Проанализируйте увиденное. А что изменится? В том контроллере, который не программируется, программатор при подключении пытается считывать сразу. Снизьте скорость работы программатора. Снижал до самого минимума. Бестолку. MAX485 как может влиять? Я пробовал и на вход выходы ставить, и на выход - одинаково.
|
|
|
|
|
Nov 25 2011, 14:47
|
Частый гость
 
Группа: Свой
Сообщений: 104
Регистрация: 10-12-04
Из: Ебург
Пользователь №: 1 436

|
Цитата(prottoss @ Nov 25 2011, 19:33)  У MAX485 есть вход для передачи и выход для приема, который как раз и может искажать данные от программатора. Есть, конечно и теоретически может, что и происходит при одновременном обращении по RS-485. Но вряд л и причина в этом, потому что на другой плате с такой же схемой и прошивкой все работает, а здесб даже цифровая подпись контроллера не читается.  Цитата(prottoss @ Nov 25 2011, 19:33)  У MAX485 есть вход для передачи и выход для приема, который как раз и может искажать данные от программатора. Есть, конечно и теоретически может, что и происходит при одновременном обращении по RS-485. Но вряд л и причина в этом, потому что на другой плате с такой же схемой и прошивкой все работает, а здесб даже цифровая подпись контроллера не читается.
|
|
|
|
|
Nov 25 2011, 15:13
|
Частый гость
 
Группа: Свой
Сообщений: 104
Регистрация: 10-12-04
Из: Ебург
Пользователь №: 1 436

|
Цитата(prottoss @ Nov 25 2011, 19:59)  Вы похоже не понимаете... Создайте сотню устройств и проверьте, сколько в отказе а сколько работает "с такой же схемой". Я думаю статистика откроет Вам глаза. Не понимаю.  Много плат таких, все программируются без проблем и тут первый раз такое. В схемотехнике что ли где-то косяк... Пробовал отпаять выводы VAX485 - тоже самое все.
|
|
|
|
|
Nov 25 2011, 15:31
|
Частый гость
 
Группа: Свой
Сообщений: 104
Регистрация: 10-12-04
Из: Ебург
Пользователь №: 1 436

|
Цитата(prottoss @ Nov 25 2011, 20:25)  Покажите схему, или часть - цепи, которые непосредственно подключены к разьему ISP Это только в понедельник теперь, на работе.
|
|
|
|
|
Nov 29 2011, 19:12
|

Профессионал
    
Группа: Свой
Сообщений: 1 940
Регистрация: 16-12-07
Из: Москва
Пользователь №: 33 339

|
Цитата(Палыч @ Nov 29 2011, 22:16)  Этот fuse повлиял бы на работу BootLoader'a, когда же ТС говорит про программирование по ISP на работу которого М103С не оказывает никакого влияния. Так он работает в режиме MEGA103 , а не в 64 . Про 64 пока можно забыть. У меня нет DS 103-ей что бы посмотреть , нет ли в ней особенностей при программировании по ISP. Она с завода идёт в 103 режиме.
--------------------
Закон Мерфи:
Чем тщательнее составлен проект, тем больше неразбериха, если что-то пошло не так
|
|
|
|
|
Dec 2 2011, 04:43
|
Частый гость
 
Группа: Свой
Сообщений: 104
Регистрация: 10-12-04
Из: Ебург
Пользователь №: 1 436

|
Бит SPIEN установлен аппаратно и программатором его снять невозможно. бит совместимости с 103 отключен, если бы он был включен, контроллер бы работал по-другому, это пройдено уже на этой программе, программа выполняется правильно, значит, бит выключен. Часть схемы сделал, выложить пока не получается, так как форум профит ссылку с gif, а у меня архив делает все ссылки view.pic. Выложу схему обязательно. Три платы вот таких одинаковых, однократно запрограммировались. :-D замена контроллера, конечно, выход и будет сделана, но надо выяснить причину, иначе может то же самое повториться.
|
|
|
|
|
Dec 15 2011, 06:21
|
Частый гость
 
Группа: Свой
Сообщений: 104
Регистрация: 10-12-04
Из: Ебург
Пользователь №: 1 436

|
Цитата(prottoss @ Dec 15 2011, 10:40)  Косяк вполне очевидный и Вам сразу об этом было сказано, как только Вы описали проблему. Странно, что Вы так спроектировали схему  Схема разработана вполне обычно, используется USART0, один из двух возможных. Косяк, кстати, вовсе не очевидный, так как на предыдущей версии платф с точно такой же схемотехникой все работало нормально.
|
|
|
|
|
Dec 15 2011, 08:10
|
Частый гость
 
Группа: Свой
Сообщений: 104
Регистрация: 10-12-04
Из: Ебург
Пользователь №: 1 436

|
Цитата(prottoss @ Dec 15 2011, 11:29)  Ну как же не очевидный?! К одному лог. входу (МК) подключается два (!) лог. выхода (программатор + драйвер). И если что то у Вас работало до этого - считайте что удача Вам улыбнулась. Хотя, лично у меня, веры в это нет никакой... Ваш взгляд на схемотехнику меня расстраивает. Я другое имел ввиду. Эти выводы изначально разработчиками контроллера заложены под 2 функции - SPI и порт данных. Как тогда проводить внутрисхемное программирование, если это не работает?! А ведь внутрисхемное программирование с использованием этих выводов предусмотрено и получается, что в таком случает один из UART использовать нельзя.
|
|
|
|
|
Dec 15 2011, 08:34
|
Гуру
     
Группа: Участник
Сообщений: 3 834
Регистрация: 14-06-06
Из: Moscow, Russia
Пользователь №: 18 047

|
Цитата(Инженер @ Dec 15 2011, 12:10)  Я другое имел ввиду. Эти выводы изначально разработчиками контроллера заложены под 2 функции - SPI и порт данных. Как тогда проводить внутрисхемное программирование, если это не работает?! А ведь внутрисхемное программирование с использованием этих выводов предусмотрено и получается, что в таком случает один из UART использовать нельзя. Вам же предложили простое и надежное решение - отвязать приемник от контроллера резистором. Напомню, Вы утверждали, что : --- Все очевидные причины - типа мешания микросхемы MAX485. уже проверил - у микросхемы просто ножки отпаял. Ничего не помогает, причина в чем-то другом. --- А с резистором - это весьма удобно и избавляет от кучи проблем. Что с USART, что с SPI. А то, бывает, из-за дурной ошибки выходы начинают друг друга перетягивать, схема жрет как не в себя...
|
|
|
|
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|