|
Программатор, или убитый контроллер... |
|
|
2 страниц
1 2 >
|
 |
Ответов
(1 - 22)
|
Dec 17 2006, 21:43
|
Участник

Группа: Участник
Сообщений: 72
Регистрация: 5-04-06
Из: Penza
Пользователь №: 15 852

|
Цитата(Screw @ Dec 17 2006, 20:29)  Здравствуйте, столкнулся с такой проблемой: Использовал сначало программатор AVReal, затем uniprof - оба есс-но соеденины по схеме "5 проводков".
Все замечательно работало, пока не тронул фьюзы в uniprof (МК - Mega16) трогал CKSEL - хотел выставить внутренний генератор на 8 Mhz. После этого uniprof и avreal определяют МК, стирают его, НО не шьют, фьюзы читаются как все 1.
Что посоветуете? Возможно ли используя имеющийся у меня инструментарий восстановить МК в начальное состояние? Или придется искать параллельный программатор?
Какие существуют параллельные программаторы для AVR - доступные для самостоятельного изготовления? Помогут ли они? Я с вышеуказанными программаторами не работал, но возможно виновата скорость работы через интерфейс программирования. Я с таким сталкивался со своим AVRISP mkII. Нужно что бы тактовая частота в интерфейсе программирования была меньше 1/4 тактовой частоты микроконтроллера. Если вы трогали CKSEL, и прошили на работу 8 МГц, то тактовая частота (у меня это ISP Freq) должна быть <=2Мгц.
|
|
|
|
|
Dec 17 2006, 22:21
|

Частый гость
 
Группа: Свой
Сообщений: 149
Регистрация: 29-11-06
Из: Барнаул
Пользователь №: 22 916

|
К сожалению не помогает.... Уже по всякому пробовал. У меня есть одна рабочая мега, но её использовать не могу - с нее лишь читаю фьюзы... Я маленько ошибся - фьюзы читаются нулями (все), т.е. в Uniprof везде стоят галочки. Так же нашел глюк с AVREAL - только что... Если работать просто в командной строке - он выводит следующее: avreal/WIN32 - AVR controllers LPT programmer by Redchuk Alexandr v1.25rev4 (Mar 24 2006 08:54:51) http://www.ln.com.ua/~real/avrealbug-reports, suggestions and so on mail to avreal@real.kiev.ua Command: -p1 +mega16 -ap Power ON Device connected, MEGA16 detected Chip not locked Fuses OSCCAL = FF, FF, FF, FF BODLEVEL = 1 BODEN = 1 SUT = 3 CKSEL = F BLB1 = 3 BLB0 = 3 OCDEN = 1 JTAGEN = 1 CKOPT = 1 EESAVE = 1 BOOTSZ = 3 BOOTRST = 1 Reset pin released Power OFF Стоит поставить в команде >>1.txt (это значит вывод не на экран, а в файл), выдается следующее: avreal/WIN32 - AVR controllers LPT programmer by Redchuk Alexandr v1.25rev4 (Mar 24 2006 08:54:51) http://www.ln.com.ua/~real/avrealbug-reports, suggestions and so on mail to avreal@real.kiev.ua Command: -p1 +mega16 -ap Power ON Device connected, MEGA16 detected Chip not locked Fuses OSCCAL = CA, CB, C3, C4 BODLEVEL = 1 BODEN = 1 SUT = 2 CKSEL = 4 BLB1 = 3 BLB0 = 3 OCDEN = 1 JTAGEN = 0 CKOPT = 1 EESAVE = 1 BOOTSZ = 0 BOOTRST = 1 Reset pin released Power OFF Пытаюсь зашить CKSEL=1 получаю следующую картину (это из файла взято.... на экран выводит такую же чушь, как и раньше): avreal/WIN32 - AVR controllers LPT programmer by Redchuk Alexandr v1.25rev4 (Mar 24 2006 08:54:51) http://www.ln.com.ua/~real/avrealbug-reports, suggestions and so on mail to avreal@real.kiev.ua Command: -p1 +mega16 -ap -o500 -fCKSEL=1 -w Power ON Device connected, MEGA16 detected Chip not locked Fuses OSCCAL = CA, CB, C3, C4 BODLEVEL = 1 BODEN = 1 SUT = 2 CKSEL = 4 BLB1 = 3 BLB0 = 3 OCDEN = 1 JTAGEN = 0 CKOPT = 1 EESAVE = 1 BOOTSZ = 0 BOOTRST = 1 Programming fuses New fuses value OSCCAL = CA, CB, C3, C4 BODLEVEL = 1 BODEN = 1 SUT = 3 CKSEL = F BLB1 = 3 BLB0 = 3 OCDEN = 1 JTAGEN = 1 CKOPT = 1 EESAVE = 1 BOOTSZ = 3 BOOTRST = 1 Reset pin released Power OFF Затем считываю - вижу, что CKSEL=4, как и раньше... У кого какие идеи?
Сообщение отредактировал Screw - Dec 17 2006, 22:22
|
|
|
|
|
Dec 17 2006, 22:43
|

Местный
  
Группа: Свой
Сообщений: 208
Регистрация: 6-07-04
Из: Полтава
Пользователь №: 279

|
Цитата(Screw @ Dec 17 2006, 21:29)  Здравствуйте, столкнулся с такой проблемой: Использовал сначало программатор AVReal, затем uniprof - оба есс-но соеденины по схеме "5 проводков".
Все замечательно работало, пока не тронул фьюзы в uniprof (МК - Mega16) трогал CKSEL - хотел выставить внутренний генератор на 8 Mhz. После этого uniprof и avreal определяют МК, стирают его, НО не шьют, фьюзы читаются как все 1.
Что посоветуете? Возможно ли используя имеющийся у меня инструментарий восстановить МК в начальное состояние? Или придется искать параллельный программатор?
Какие существуют параллельные программаторы для AVR - доступные для самостоятельного изготовления? Помогут ли они? Если CKSEL3...0=1111, то это значит: External Crystal/Ceramic Resonator, т.е. внутренний RC генератор не работает, нужно либо кварц навесить, либо ввести внешнее тактирование. AVReal прекрасно с этим справляется, достаточно на ногу XTAL1 подать одноименный сигнал (5-я нога LPT если это соединение "5 веревок", сам пользуюсь ByteBlaster-ом) и установить ключик в командной строке -o0. После этого можно будет поменять CKSEL под 8 МГц внутреннего генератора и дальше работать с ним. Вообще-то предложил бы "5 веревок" заменить на Байтбластер, как-то безопаснее для LPT порта. А из простых паралельных могу предложить: http://elm-chan.org/works/avrx/report_e.htmlСсылки на софт, схема и прочее - на этой же страничке. Сам такой собрал, вполне нормально работает.
|
|
|
|
|
Dec 17 2006, 22:44
|
Участник

Группа: Участник
Сообщений: 37
Регистрация: 20-03-05
Пользователь №: 3 533

|
Почти наверняка поможет только внешний клок  Либо параллельный программатор. Фузы детям не игрушка.
|
|
|
|
|
Dec 17 2006, 22:58
|

Частый гость
 
Группа: Свой
Сообщений: 149
Регистрация: 29-11-06
Из: Барнаул
Пользователь №: 22 916

|
Цитата(kv_addr @ Dec 17 2006, 22:43)  Цитата(Screw @ Dec 17 2006, 21:29)  Здравствуйте, столкнулся с такой проблемой: Использовал сначало программатор AVReal, затем uniprof - оба есс-но соеденины по схеме "5 проводков".
Все замечательно работало, пока не тронул фьюзы в uniprof (МК - Mega16) трогал CKSEL - хотел выставить внутренний генератор на 8 Mhz. После этого uniprof и avreal определяют МК, стирают его, НО не шьют, фьюзы читаются как все 1.
Что посоветуете? Возможно ли используя имеющийся у меня инструментарий восстановить МК в начальное состояние? Или придется искать параллельный программатор?
Какие существуют параллельные программаторы для AVR - доступные для самостоятельного изготовления? Помогут ли они?
Если CKSEL3...0=1111, то это значит: External Crystal/Ceramic Resonator, т.е. внутренний RC генератор не работает, нужно либо кварц навесить, либо ввести внешнее тактирование. AVReal прекрасно с этим справляется, достаточно на ногу XTAL1 подать одноименный сигнал (5-я нога LPT если это соединение "5 веревок", сам пользуюсь ByteBlaster-ом) и установить ключик в командной строке -o0. После этого можно будет поменять CKSEL под 8 МГц внутреннего генератора и дальше работать с ним. Вообще-то предложил бы "5 веревок" заменить на Байтбластер, как-то безопаснее для LPT порта. А из простых паралельных могу предложить: http://elm-chan.org/works/avrx/report_e.htmlСсылки на софт, схема и прочее - на этой же страничке. Сам такой собрал, вполне нормально работает. Да стоит у меня клок внешний и в AVReal прописывал - не помогает  P.S. Интересует параллельный программатор для USB - на новых ноутах к сожалению нет ни com, ни LPT
Сообщение отредактировал Screw - Dec 17 2006, 23:04
|
|
|
|
|
Dec 17 2006, 23:20
|

Частый гость
 
Группа: Свой
Сообщений: 149
Регистрация: 29-11-06
Из: Барнаул
Пользователь №: 22 916

|
Цитата(bodja74 @ Dec 17 2006, 23:12)  А говорите стирал кристалл-стирал кристалл,а это что ?
BLB1 = 3 запрет записи бутлоадером BLB0 = 3 запрет записи\чтения программатором. Честно сказать, такое ощущение, что программатор не корректно работает.... AVReal живую мегу видит, но говорит device not recognized.... Uniprof - видит, шьет и тп... Дохлую - uniprof видит, но фьюзы не шьет (я так понимаю, если бы было включено внешнее тактирование, кристалл бы вообще не виделся), ну и конечно не шьет - только при стирании говорит ОК... Читать - читает - там пусто... (до этого была программа зашита) Подскажите, может я в AVREAL команды как-то не так ввожу...
Сообщение отредактировал Screw - Dec 17 2006, 23:23
|
|
|
|
|
Dec 17 2006, 23:57
|

Частый гость
 
Группа: Свой
Сообщений: 149
Регистрация: 29-11-06
Из: Барнаул
Пользователь №: 22 916

|
Цитата(kv_addr @ Dec 17 2006, 23:35)  Я обратил внимание на следующее: "avreal/WIN32". Операционка-то какая? Если NT или XP, то есть подозрение, что можно не обеспечить нормального тактирования через LPT порт. Собственно говоря, для работы с LPT-программаторами у меня на технологическом компе стоит Win98 и собствено DOS, из под которой и программирую без проблем с работой с LPT. Под Linux - та же песня Цитата(kv_addr @ Dec 17 2006, 23:48)  Цитата(Screw @ Dec 17 2006, 23:58)  Да стоит у меня клок внешний и в AVReal прописывал - не помогает  P.S. Интересует параллельный программатор для USB - на новых ноутах к сожалению нет ни com, ни LPT Чегой-то я не пойму. AVReal, "5 веревок" и без LPT?  А это как? Сейчас есть обычный ПК. В планах - приобрести ноутбук... Все просто
|
|
|
|
|
Dec 18 2006, 00:54
|

Местный
  
Группа: Свой
Сообщений: 208
Регистрация: 6-07-04
Из: Полтава
Пользователь №: 279

|
Цитата(Screw @ Dec 18 2006, 00:57)  Под Linux - та же песня  Хм-м-м... С AVReal-ом проблем как-то не замечал. А может попробовать вместо "5 веревок" собрать Байтбластер, минут 5-10 работы. Чем черт не шутит, может какие-то проблемы с уровнями или фронтами? Тут сказать с уверенностью ничего не могу, никогда по "веревкам" не программировал. Да, еще один непонятный момент в этом: Command: -p1 +mega16 -ap -o500 -fCKSEL=1 -w Power ON Device connected, MEGA16 detected Chip not locked Fuses OSCCAL = CA, CB, C3, C4 BODLEVEL = 1 BODEN = 1 SUT = 2 CKSEL = 4 BLB1 = 3 BLB0 = 3 OCDEN = 1 JTAGEN = 0 CKOPT = 1 EESAVE = 1 BOOTSZ = 0 BOOTRST = 1 Programming fuses New fuses value OSCCAL = CA, CB, C3, C4 BODLEVEL = 1 BODEN = 1 SUT = 3 CKSEL = F BLB1 = 3 BLB0 = 3 OCDEN = 1 JTAGEN = 1 CKOPT = 1 EESAVE = 1 BOOTSZ = 3 BOOTRST = 1 Reset pin released Power OFF Если считывается CKSEL=4, то надо бы установить -o8000, а не o500. Вполне возможно, что оно как-то все же работает, но далеко не корректно. Цитата(Screw @ Dec 18 2006, 00:57)  Сейчас есть обычный ПК. В планах - приобрести ноутбук... Все просто  Оно-то конечно хорошо, но я, как ретроград, предпочел бы для технологического и с лпт, и с ком-ом. Пусть не самый навороченный и скорострельный.
|
|
|
|
|
Dec 18 2006, 15:54
|

Частый гость
 
Группа: Свой
Сообщений: 149
Регистрация: 29-11-06
Из: Барнаул
Пользователь №: 22 916

|
Цитата(Andy Great @ Dec 18 2006, 13:14)  Если "5 веревок", то куда клок с порта подается? Проверьте внимательно. XTAL1.... плюнул я на это дело - завтро пойду за параллельным...
|
|
|
|
|
Dec 19 2006, 14:33
|
Частый гость
 
Группа: Свой
Сообщений: 112
Регистрация: 9-08-04
Пользователь №: 468

|
Это же ответил сегодня на такую же тему на Казус.ру:
В ATmega, которыми я пользовался, последовательному программатору Fuse-бит, запрещающий последовательное же программирование, недоступен. Для таких МК, как ATmega8, можно запрограммировать бит RSTDISBL (7-й в старшем Fuse), переведя линию RESET в режим работы еще одной линии ввода-вывода, тогда действительно нужен параллельный программатор. Бывают сбои при программировании Fuse в составе системы (In-System), например, когда к линиям программирования подключены какие-то дополнительные цепи. В какое состояние переходят Fuse - неизвестно, устр. действительно перестает реагировать на последовательный программатор. Несколько таких МК восстановились при подаче внешнего тактового сигнала от генератора на TTL элементах, у меня 500кГц. Для восстановления RSTDISBL (был намеренно запрограммирован) действительно понадобилось делать параллельный прогр. (усеченный, только для восстановления старшего Fuse)
|
|
|
|
|
Feb 28 2007, 12:56
|
Участник

Группа: Новичок
Сообщений: 30
Регистрация: 28-11-06
Из: Набережные Челны
Пользователь №: 22 856

|
Цитата(kv_addr @ Dec 17 2006, 23:35)  Я обратил внимание на следующее: "avreal/WIN32". Операционка-то какая? Если NT или XP, то есть подозрение, что можно не обеспечить нормального тактирования через LPT порт. Собственно говоря, для работы с LPT-программаторами у меня на технологическом компе стоит Win98 и собствено DOS, из под которой и программирую без проблем с работой с LPT. На ХР avreal работает нормально, только вот сама винда иногда адреса LPT портов меняет, делает то 378(LPT1), то 278(LPT2). Пока я галочку не снял ("Автоматическая настройка"), при каждом запуске виндовса у меня адреса менялись.
--------------------
начинающий программист
|
|
|
|
|
Feb 28 2007, 13:20
|
Гуру
     
Группа: Свой
Сообщений: 2 712
Регистрация: 28-11-05
Из: Беларусь, Витебск, Строителей 18-4-220
Пользователь №: 11 521

|
С AVREAL работаю сколько он есть. Проблем вообще не было. За это время раз пять менял комп свой. У меня своя компьютерная контора.  Никаких проблем ни разу не было. Бывали проблемы с новыми кристаллами. Так по началу не совсем правильно шилось t2313, а совсем недавно посылал письмо Редчуку, по поводу M640. При том M2560 шьётся нормально. Она и M640 шьётся, но сигнатура не верно прописана и, якобы не совпадает. Поэтому шью с ключом -! . Для того чтобы вывести в файл требуется писать не ">>1.txt" а ">1.txt" Всё прекрасно работает. Сам иногда пользуюсь, чтобы детально просмотреть фузы и весь протокол. Иногда требуется подобрать частоту и напряжение. Так для записи m640 я сейчас пользуюсь строкой avreal32 -ab -! +mega640 -e -w -v -l2 -o1000 -%% office.hex office.eep -fcksel=7,jtagen=1,bodlevel=5,ckdiv=1 -p1 для м8 avreal32 -ab +mega8 -e -w -v -l2 -o1000 -%% DvEsyU2.hex dvinaeasy.eep -fcksel=f,ckopt=0,blev=0,boden=0 -p1 для t2313 avreal32 +tiny2313 -ab -! -e -v -w -l2 modemlnT.hex -o400 -%% -fCKSEL=F,CKOUT=1,SUT=3,CKDIV=1 -p1
|
|
|
|
|
Dec 2 2007, 14:01
|
Частый гость
 
Группа: Свой
Сообщений: 90
Регистрация: 26-10-07
Из: Одесса
Пользователь №: 31 768

|
Аналогичная проблема! Использую avreal, byteblaster, atmega8 (16 MHz), питание 5В. Написал и отладил прогу с внутренним генератором 1 МГц по умолчанию, fuse не трогал. Шилось без проблем. Потом поменял fuse CKSEL=8, остальные не менял. Avreal перестал выполнять любые операции, пишет can't resync. Что подозрительно - и контроллер с ранее зашитой программой по ресету ничего не делает. И так в двух девайсах - статистика, однако! ключ -о0 не помогает, снижение скорости тоже. Состояние fuse не читается...  ( Помогите, кто может!
|
|
|
|
|
Dec 2 2007, 20:10
|
Участник

Группа: Validating
Сообщений: 56
Регистрация: 15-10-06
Пользователь №: 21 335

|
Цитата(SasaVitebsk @ Feb 28 2007, 16:20)  Для того чтобы вывести в файл требуется писать не ">>1.txt" а ">1.txt" Позволю себе мааленькое уточнение '>' переназначить stdout в файл(файл переписываеться) '>>' stdout дописываеться к файлу.Есть еще '2> ' это редирект stderr (ну и 2>> тож можно)... По поводу avreal используем родной byteblaster + кабель удлинитель LPT ( машина далеко от отладочной поверхности) За 4 года долбанулись две меги 16 и 161 , Но при этом соседи за стенкой устроили (во время программирования) Оччень Хорошее K3 ( кабель 4x10 поплавился нах) - и комп и byteblaster выжили  IMHO чего-то с питаловом не впорядке .......
|
|
|
|
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|