Вы запрограммировали тактирование от внешней RC-цепочки, соответственно правильный выход один - присоединить соответствующую RC цепь к выводам контроллера согласно схеме приведенной в даташите (у меня в даташите на 28 странице -- System Clock and Clock Options -> External RC Oscillator). Можно попробовать просто внешний тактовый сигнал на XTAL подать и затем попробовать программировать, естественно указав в опциях реальную частоту тактового сигнала.lirik писал(а):...Вообщем камень никак не реагирует, можно ли его перепрограммировать с помощью AVREAL или только HVProg-ом?
Всё о фьюзах...
Re: Всё о фьюзах...
- Реклама
Re: Всё о фьюзах...
блин, спаял RC цепь, R на 10КОм кондер на 2.2пФ подключил как в datasheet-e к Vcc XTAL1 VGND GND
всеравно авреал не видит камень....
всеравно авреал не видит камень....
Re: Всё о фьюзах...
Кварц отпаяли?lirik писал(а):блин, спаял RC цепь, R на 10КОм кондер на 2.2пФ подключил как в datasheet-e к Vcc XTAL1 VGND GND
всеравно авреал не видит камень....
Да, еще, Вы бы почитали даташит подробней, там указана формула расчета частоты f=1/(3RC), для Ваших значений получается около 15 МГц, а нужно от 3 до 8 МГц согласно Вашим фьюзам. Также там написано что емкость должна быть не менее 22 пФ, а у Вас в 10 раз меньше, еще написано, что если запрограммирован фьюз CKOPT, то к выводу XTAL1 присоединена внутренняя емкость около 36 пФ, т.е. в этом случае нужен только резистор соответствующего номинала.
В общем, если реализовать с правильными параметрами RC цепь сложно, то можете попробовать просто внешний генератор собрать. Вообще avreal может тактовый сигнал генерить, но не все адаптеры имеют свободные пины, Ваш адаптер вроде можно доработать, посмотрите на сайте avreal подробнее.
Правка: у Вас CKOPT = 1, т.е. не запрограммирован, поэтому можете все что касается CKOPT не читать.
Re: Всё о фьюзах...
Ясно, спасибо, буду внимательней читать DS)
Re: Всё о фьюзах...
писец, вообщем купил новую мегу, прошил фьюзы на внешний кварц 8MHZ
avreal32 +mega16 -p1 -! -ab -ew -fCKSEL=F,SUT=3,CKOPT=0 -n -%%>fuse_4.txt
начал записывать hex
avreal32 +mega16 -p1 -ab -ew MEGA16.HEX -n -! -%%>hex5.txt
подключил экран нифига не произошло, подключил опять программатор
тестю
+mega16 -p1 -ab -! -%
ничего
потом решил так потестить
+mega16 -p1 -ab -o0 -! -%
со второго запуска чит заработал показал такие фьюзы
OSCCAL = 82, 80, 84, 84
BODLEVEL = 1
BODEN = 0
SUT = 0
CKSEL = 2
BLB1 = 0
BLB0 = 0
OCDEN = 1
JTAGEN = 0
CKOPT = 0
EESAVE = 1
BOOTSZ = 0
BOOTRST = 0
понял что при записи HEX стер настройки фьюзов
хотел обратно зашить,
+mega16 -p1 -! -ab -o0 -w -fCKSEL=F,SUT=3,CKOPT=0 -n -%
он показал
Chip locked - programming disabled
Device type forced to MEGA16
Can't write to locked chip
протестил еще раз показал такие фьюзы
OSCCAL = 00, 90, 80, 2A
BODLEVEL = 0
BODEN = 0
SUT = 1
CKSEL = 8
BLB1 = 0
BLB0 = 1
OCDEN = 1
JTAGEN = 0
CKOPT = 0
EESAVE = 0
BOOTSZ = 0
BOOTRST = 1
как они поменялись я хз, но получается что теперь чип ждет сигнала от керамического резонатора
по DS частота должна быть больше либо равна 1MHZ кварц отпадает, тк у него 8mhz, те чтобы опять прошить камень надо покупать керамику и паять вместо квартца
блин, запарился я уже с этими фьюзами....
эх дал бы кто-нить на денек Параллельный программатор 
avreal32 +mega16 -p1 -! -ab -ew -fCKSEL=F,SUT=3,CKOPT=0 -n -%%>fuse_4.txt
начал записывать hex
avreal32 +mega16 -p1 -ab -ew MEGA16.HEX -n -! -%%>hex5.txt
подключил экран нифига не произошло, подключил опять программатор
тестю
+mega16 -p1 -ab -! -%
ничего
потом решил так потестить
+mega16 -p1 -ab -o0 -! -%
со второго запуска чит заработал показал такие фьюзы
OSCCAL = 82, 80, 84, 84
BODLEVEL = 1
BODEN = 0
SUT = 0
CKSEL = 2
BLB1 = 0
BLB0 = 0
OCDEN = 1
JTAGEN = 0
CKOPT = 0
EESAVE = 1
BOOTSZ = 0
BOOTRST = 0
понял что при записи HEX стер настройки фьюзов
хотел обратно зашить,
+mega16 -p1 -! -ab -o0 -w -fCKSEL=F,SUT=3,CKOPT=0 -n -%
он показал
Chip locked - programming disabled
Device type forced to MEGA16
Can't write to locked chip
протестил еще раз показал такие фьюзы
OSCCAL = 00, 90, 80, 2A
BODLEVEL = 0
BODEN = 0
SUT = 1
CKSEL = 8
BLB1 = 0
BLB0 = 1
OCDEN = 1
JTAGEN = 0
CKOPT = 0
EESAVE = 0
BOOTSZ = 0
BOOTRST = 1
как они поменялись я хз, но получается что теперь чип ждет сигнала от керамического резонатора
по DS частота должна быть больше либо равна 1MHZ кварц отпадает, тк у него 8mhz, те чтобы опять прошить камень надо покупать керамику и паять вместо квартца
блин, запарился я уже с этими фьюзами....
- Реклама
Re: Всё о фьюзах...
А Вы где территориально находитесь? В каком корпусе мега?lirik писал(а):блин, запарился я уже с этими фьюзами....![]()
![]()
эх дал бы кто-нить на денек Параллельный программатор
- avreal
- Опытный кот
- Сообщения: 842
- Зарегистрирован: Чт дек 31, 2009 19:27:45
- Откуда: Бровари, Україна
- Контактная информация:
Re: Всё о фьюзах...
Ключ -! предназначен для того, чтобы заставить программу что-то делать даже тогда, когда она упирается - например, мы знаем, что у байт-бластера просто отвалился проводок автодетекта адаптера, а шить хочем. Ну вот ошибку "не обнаружен адаптер" и перекрываем этим ключём. В обычной жизни - "спички детям не игрушка" - можно с его помощью в какой-то кристалл нечаянно зашить "чужие" фьюзы и получить заблокированный контроллер.lirik писал(а):писец, вообщем купил новую мегу, прошил фьюзы на внешний кварц 8MHZ
avreal32 +mega16 -p1 -! -ab -ew -fCKSEL=F,SUT=3,CKOPT=0 -n -%%>fuse_4.txt
Уберите пока этот ключ.
А перемычка с 8-ой ножки байт-бластера на XTAL1 брошена?lirik писал(а):потом решил так потестить
+mega16 -p1 -ab -o0 -! -%
С ней и не должно было нормально работать при кварце и фьюзах на кварц, но без -o0.
Без неё нет смысла давать ключ -o0
Да может и не поменялось ничего. -! отключил часть проверок, какой-то мусор теперь интерпретируется как ну-вот-такие-фьюзы.lirik писал(а):как они поменялись я хз
Кстати, какая версия программы?
Лень в виде мании величия: «ты гений, зачем стараться?». В виде комплекса: «всё равно не выйдет, зачем упираться?». Как логика: «если достаточно, зачем знать и уметь больше?». Цель одна: остановить. Не любит тепло работающих мышц и шум работающего мозга.
Re: Всё о фьюзах...
я с Волгодонска, Ростовская Область) Мега16l в Pdip корпусе, вставляется в кроваткуsmac писал(а): А Вы где территориально находитесь? В каком корпусе мега?
Хорошо буду без него пробовать)avreal писал(а):
Уберите пока этот ключ.
Нет, ножку не кидал, не знал что так можно, попробую)avreal писал(а):
А перемычка с 8-ой ножки байт-бластера на XTAL1 брошена?
С ней и не должно было нормально работать при кварце и фьюзах на кварц, но без -o0.
Без неё нет смысла давать ключ -o0
Версия v1.25rev6 (Dec 30 2007 17:00:01)avreal писал(а):
Кстати, какая версия программы?
Спасибо всем за советы
ПОДКЛЮЧИЛ НОЖКУ на XTAL1 Чип прочитался и без символа -!, Красота!
Кстати первая мега16L что зашита на RC цепочку тоже прочиталась, только пишет что
device connected but not recognized ID:0x1E9400
Причем через Раз, все я ему зашил заводские фьюзы, те CKSEL=3(0100) SUT=2(10) и в CKOP=1
Красота)))))
- avreal
- Опытный кот
- Сообщения: 842
- Зарегистрирован: Чт дек 31, 2009 19:27:45
- Откуда: Бровари, Україна
- Контактная информация:
Re: Всё о фьюзах...
Не можно, а нужно - раз уж ключиком -o0 попрошено генерировать такт для контроллера, то надо же этот такт подать.lirik писал(а):Нет, ножку не кидал, не знал что так можно, попробую)
Обновитесь, предпочтительно 1.27r1 и свежее. Там добавлена проверка поддержания синхронизма обмена командами, при потере вываливается с сообщением synchronisation lost. Полезно в случаях того же ключа -! или при частоте программирования на граи срыва - не будет продолжатья обмен мусором и вводить человека в заблуждение, а микроконтроллер - кто знает - и в нарушение.lirik писал(а):Версия v1.25rev6 (Dec 30 2007 17:00:01)
Такое было только со старушкой 90s1200 - при нарушении времянок программироваия с довольно высокой вероятностью слетала сигнатура, но лучше перестраховаться.
Вот у меги16 не должна бы сигнатура слетать. Возможно, первые байты ещё нормально прочитались, а дальше сбой синхронизации и мусор пошёл. Свежий avreal это выловил бы.lirik писал(а):Кстати первая мега16L что зашита на RC цепочку тоже прочиталась, только пишет что
device connected but not recognized ID:0x1E9400
Причем через Раз, все я ему зашил заводские фьюзы, те CKSEL=3(0100) SUT=2(10) и в CKOP=1
и 0100 это 4 а не 3
Лень в виде мании величия: «ты гений, зачем стараться?». В виде комплекса: «всё равно не выйдет, зачем упираться?». Как логика: «если достаточно, зачем знать и уметь больше?». Цель одна: остановить. Не любит тепло работающих мышц и шум работающего мозга.
Re: Всё о фьюзах...
Такс со всем этим разобрался, но такая проблема возникла не шьются ножки PC4/5 на меге16L
фьюзы вот такие
Прошивка вообще простая
ножки не моргают, на PC4 все время 0,5V на PC5 4,98V
фьюзы вот такие
Код: Выделить всё
OSCCALs = B2 B2 AC AE
_LOCK = 0xFF
BLB1 = 3
BLB0 = 3
_LOW = 0xFF
BODLEVEL = 1
BODEN = 1
SUT = 3
CKSEL = F
_HIGH = 0x89
OCDEN = 1
JTAGEN = 0
CKOPT = 0
EESAVE = 1
BOOTSZ = 0
BOOTRST = 1Код: Выделить всё
#include <mega16.h>
#include <delay.h>
void main(void)
{
DDRC=0xFF;
DDRA=0xFF;
DDRB=0xFF;
DDRD=0xFF;
while (1)
{
delay_ms(500);
PORTC=0b11111111;
PORTA=0b11111111;
PORTB=0b11111111;
PORTD=0b11111111;
delay_ms(500);
PORTC=0b00000000;
PORTA=0b00000000;
PORTB=0b00000000;
PORTD=0b00000000;
delay_ms(500);
};
}Re: Всё о фьюзах...
Все разобрался, оказалось Jteg был включен, отключил в фьюзах ножки стали поддаваться контролю!) 
Re: Всё о фьюзах...
Не давно установил по ошибке бит в Attiny2313 DWEN, соответственно отключился ресет и порт перешел в режим отладки. Параллельного высоковольтного программатора не имею. Вышел из положения так... Шил PonnyProg. Заранее установил значения фьюзов в проге, нажал прошить, соттветственно вылезла ошибка. Отпаял ресет от Attiny2313, нажал в PonnyProg "повторить" и в это же мгновение на доли сек подал на ресет 12V с внешнего блока питания. Фьюзы благополучно прошились (хотя Ponny выдал ошибку, наверное верификация не прошла), и затем запаяв ресет контроллер снова стал виден программатором. Может кому пригодиться
мяв...
- avreal
- Опытный кот
- Сообщения: 842
- Зарегистрирован: Чт дек 31, 2009 19:27:45
- Откуда: Бровари, Україна
- Контактная информация:
Re: Всё о фьюзах...
Любопытно. Вроде как по 12-ти вольтам на сбросе оно должно ждать команд ВВ-программирования, а не ISP.
Ну да ладно.
Бывают ситуации, когда даже AVR dragon не снимает DWEN (по крайней мере - старый дракон, т.е. с прошивкой двухлетней давности).
Описано тут
Маленькая платка на tiny13, которая "по-честному" снимает DWEN, давая возможность прошить назад фьюз имеющимся программатором, выложена тут.
Тогда это особого интереса не вызвало, а мне лично не нужно, поэтому и заглохло. Если есть интерес - могу реанимировать.
Ну да ладно.
Бывают ситуации, когда даже AVR dragon не снимает DWEN (по крайней мере - старый дракон, т.е. с прошивкой двухлетней давности).
Описано тут
Маленькая платка на tiny13, которая "по-честному" снимает DWEN, давая возможность прошить назад фьюз имеющимся программатором, выложена тут.
Тогда это особого интереса не вызвало, а мне лично не нужно, поэтому и заглохло. Если есть интерес - могу реанимировать.
Лень в виде мании величия: «ты гений, зачем стараться?». В виде комплекса: «всё равно не выйдет, зачем упираться?». Как логика: «если достаточно, зачем знать и уметь больше?». Цель одна: остановить. Не любит тепло работающих мышц и шум работающего мозга.
Re: Всё о фьюзах...
Видимо все же ждет и того и другого ))) Я думаю можно просто добавить высоковольтную цепь сброса в ISP программатор например по подобию ресета как в параллельном программаторе и поставить джемпер. Тактирование у меня было выставленно от внутреннего генератора 4Мгц.avreal писал(а):...Вроде как по 12-ти вольтам на сбросе оно должно ждать команд ВВ-программирования, а не ISP...
Интерес он есть только когда перед тобой лежит бьющийся в конвульсиях проц... ))) За схемку спасибо, сохраним на всякий случай.avreal писал(а):Тогда это особого интереса не вызвало, а мне лично не нужно, поэтому и заглохло. Если есть интерес - могу реанимировать.
Re: Всё о фьюзах...
подскажите пожалуйста. нужно заблокировать считывание прошивки мк. мк at90can128.
Правильно ли выставить фьюзы только [BLB0 Mode:4] или еще что то нужно?
Нужно что бы потом можно было перепрошить новую прошивку через ISP (с стиранием существующей в мк).
Правильно ли выставить фьюзы только [BLB0 Mode:4] или еще что то нужно?
Нужно что бы потом можно было перепрошить новую прошивку через ISP (с стиранием существующей в мк).
- ARV
- Ум, честь и совесть. И скромность.
- Сообщения: 18675
- Зарегистрирован: Чт дек 28, 2006 08:19:56
- Откуда: Новочеркасск
- Контактная информация:
Re: Всё о фьюзах...
после стирания памяти всегда можно произвести запись программы, т.к. LOCK-биты стираются так же. поэтому пусть вас не беспокоит возможность перепрошивки после стирания - это никак не связано с тем, какие LOCK-биты вы поставите.Alexeus писал(а):подскажите пожалуйста. нужно заблокировать считывание прошивки мк. мк at90can128.
Правильно ли выставить фьюзы только [BLB0 Mode:4] или еще что то нужно?
Нужно что бы потом можно было перепрошить новую прошивку через ISP (с стиранием существующей в мк).
если вам надо надежно защитить прошивку от "утечки" - ставьте все по максимуму: LOCK-биты, запрет JTAG, запрет DebugWire (где они есть, конечно)
если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе
при взгляде на многих сверху ничего не меняется...
Мой уютный бложик... заходите!
при взгляде на многих сверху ничего не меняется...
Мой уютный бложик... заходите!
Re: Всё о фьюзах...
я так понимаю после отметки всех лок-битов, я смогу что то закачать в мк только с помощью параллельного программатора?
Просто у меня USBasp, он ISP, и единственная защита, после которой я могу все же стереть мк ISP программатором- это указанная мною выше- так получается? все остальные защиты снимаются стиранием через параллельный прогр-р?
Просто у меня USBasp, он ISP, и единственная защита, после которой я могу все же стереть мк ISP программатором- это указанная мною выше- так получается? все остальные защиты снимаются стиранием через параллельный прогр-р?
- AI_Disable
- Сверлит текстолит когтями
- Сообщения: 1116
- Зарегистрирован: Чт окт 15, 2009 14:16:18
- Откуда: Екб
- Контактная информация:
Re: Всё о фьюзах...
Нет. Любая защита может быть снята через ISP. ISP становится не доступным, только если выключить фьюз SPIEN или включить RSTDISBLAlexeus писал(а):я так понимаю после отметки всех лок-битов, я смогу что то закачать в мк только с помощью параллельного программатора?
Re: Всё о фьюзах...
а в чем тогда выражается "защита от записи"? какая же это защита, если я через SPI смогу стереть/перепрошить мк...
- AI_Disable
- Сверлит текстолит когтями
- Сообщения: 1116
- Зарегистрирован: Чт окт 15, 2009 14:16:18
- Откуда: Екб
- Контактная информация:
Re: Всё о фьюзах...
Это защита от чтения, а не от записи.


