Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Похоронил два микроконтроллера.
Форум разработчиков электроники ELECTRONIX.ru > Сайт и форум > В помощь начинающему > MCS51, AVR, PIC, STM8, 8bit
yaropolkow
Помогите мне пожалуйста. Стал недавно заниматься avr/ Спаял программатор для attiny 2313/ Все включил, работает. Ковырялся в нем через пони прог. Программатор на одной микросхеме 74HC244.
Решил поиграть fuse переключатялями, что б поработать с внутренними генератором.
Сперва было все нормально. Настроил фузе на Skslel 3 - есть галочка, skl 2 - есть галочка, skl 1 - нет галочки, skl 0 есть галочка.
Короче выташил 2313 из программатора, подключил, работает (до этого туда вшил простую программу на светодиде.чисто для проверки.
Теперь решил переключить внутренний тактовый генератор на кварц 4 мгц.
для этого skl3 - нет гал skl 2 - есть гал. skl 1 есть гал. skl 0 нет галочки.
Потом нажал записать на микроконтролер и все [censored].... Далее писал пони прог , [censored] девайс не отвечает.
Вытащил я от туда 2313, вставил новую в программатор, зашил, установил фузе на то что б она работала сама от себя на внутренним генераторе, потом вытащил проверил все нормально.
Далее ведь опять не имется....
Опять установид фузе на кварц. нажал write и все опять [censored].
У меня дурацский вопрос ПОЧЕМУ?
И можно ли еще спасти те две 2312
ПОМОГИТЕ ПОЖАЛУЙСТА!
И ПОДСКАЖИТЕ КАК ЕЕ СТАВИТЬ НА КВАРЦ!
С уважением Ярослав.

Модератор (rezident). Сообщение отредактировано. Удалены нецензурные аллюзии.
V_G
С понипрог не работал, но проверьте, не запретили ли вы случайно последовательное программирование?
У меня Стерх, у него можно включить 2 способа программирования: последовательное и параллельное. Если один способ случайно запретили, можно попробовать на втором.

PS. Пардон, рассуждал о Мегах. На 2313 надо смотреть даташит, но ситуация там должна быть похожей.
mempfis_
Цитата(yaropolkow @ Oct 19 2009, 09:36) *
Теперь решил переключить внутренний тактовый генератор на кварц 4 мгц.
для этого skl3 - нет гал skl 2 - есть гал. skl 1 есть гал. skl 0 нет галочки.


Фузы точно не правильно выставлены.
Для внутреннегогенератора на 4 МГц нужно так (стр 22 документации):
Calibrated Internal RC Oscillator 4MHz 0010 (CLKSEL3=0, CLKSEL2=0, CLKSEL1=1, CLKSEL0=0)
Разберитесь что обозначает галочка в пони-прогу (бит = 0 или 1)

Если галка обозначает fuse=0 то у вас выставлена работа от генератора сторожевого таймера. Надо брать avreal, выставлять низкую частоту SPI и попробовать прочитать с помощью avreal. У вас наверное адаптер stk200 - avreal его поддерживает

Чтобы правильно выставить внешний кварц посмотрите страницы 22-23 документации.
yaropolkow
А может быть такое, что теперь если я ее обратно сую в программатор то там просто не хватает кварца? Что теперь она должна програмироваться с включенным кварцем? Или не?
Надо попробовать мне завтра.
_Pasha
За лошадью замечено много косяков. То работает, то (когда нужно более всего)-не работает. Воспользуйтесь avreal. В настройках через командную строку за полчаса разберетесь.
domowoj
В Пони проге галочка - это 0,
т.е. вы перевели МК на тактирование от внешнего кварца.
yaropolkow
"т.е. вы перевели МК на тактирование от внешнего кварца."
Спасибо за ваши ответы. Я поставил кварц, кондетсаторы, подал дополнительное питание.
И вижу "Аборт девайс -24"
думаю не имеет смысл возится из за двух 2312 ( итого 150 руб. в общем)
Ладно похороним их...... ninja.gif cool.gif
Но вопрос такой. Может ли кто из вас со 70 % увереностью написать мне (спасибо заранее) как их переключить на кварц 4 мгц. Что б они потом еще програмировалиьсь и перепрошивались.
Но в общето это глупо от производителей Atmel на мой взгляд, легкой переменой слагаемых , терять процессоры.

"За лошадью замечено много косяков. То работает, то (когда нужно более всего)-не работает. Воспользуйтесь avreal. В настройках через командную строку за полчаса разберетесь."

Попробую завтра поискать.... Если получиться угостите ссылкой...
С уважением Ярослав.
_Pasha
Цитата(yaropolkow @ Oct 20 2009, 01:09) *
Я поставил кварц, кондетсаторы, подал дополнительное питание.

Надо из кварца и какой-нить ттл-логики сделать генератор и подать с него на тактовый вход . У меня есть платка с панелями, стаб.7805, и генератор стоит на 8Мгц. От него "прикуривалось" при случайных переключениях фьюзов и по ISP.
Diusha
Цитата(yaropolkow @ Oct 20 2009, 01:09) *
Но в общето это глупо от производителей Atmel на мой взгляд, легкой переменой слагаемых , терять процессоры.

Ну вот не надо на производителей Atmel валить собственную невнимательность. У них, конечно есть косяки (на мой взгляд), но в данном случае у них все сделано абсолютно правильно. И никакие процессоры Вы в данном случае не потеряли, просто без кварца их теперь не перешить
yakub_EZ
Если у вас еще есть в наличии AVRка с фьюзами от внутреннего генератора, то сделайте на ней генератор. Когда будете делать генератор постарайтесь не прошить его фьюъы по тактированию. А от него подайте на XTAL1 (пятая ножка вашей тиньки) в таком состоянии её и програмируйте
mempfis_
Цитата(yakub_EZ @ Oct 23 2009, 09:40) *
Если у вас еще есть в наличии AVRка с фьюзами от внутреннего генератора, то сделайте на ней генератор. Когда будете делать генератор постарайтесь не прошить его фьюъы по тактированию. А от него подайте на XTAL1 (пятая ножка вашей тиньки) в таком состоянии её и програмируйте


+1
Был случай в mega8 прошил неправильну фузы отвечающие за тактирование - на внешний генератор !!!
Ни кварц подключить, ни рц-цепочка не работает.
Сделал на второй меге генератор меандра, подал на xtal1 полученный клок и восстановил мегу.
Andrew_k5
Из личного опыта....
Лучше использовать контроллеры у которых нет возможности отключить Reset...
История моя... есть самодельный программатор, на ноуте шьет с первого раза, на стационарном при первом подключении никогда не зашивает с первого раза (вернее зашивает все что угодно и куда угодно но не то что надо, если была бы не мега8, а тини 2313 то может и зашиться резет на выход), надо раз 5 стереть, прочитать, такое ощущение что связано с зарядом какой то емкости...
yakub_EZ
Цитата(Andrew_k5 @ Oct 27 2009, 17:03) *
надо раз 5 стереть, прочитать, такое ощущение что связано с зарядом какой то емкости...

Было такое с USB программатором по схеме Protoss'a пропаял возле IDC колодок не помогло. Проблема оказалась в 20ти сантиметровом шнурке - IDC штекер 5 на 2 пина. Контакт в одной из линий временами пропадал. В домашних условиях велика вероятность недодавить колодку при установку на шлейф
_Pasha
Цитата(Andrew_k5 @ Oct 27 2009, 18:03) *
Из личного опыта....
Лучше использовать контроллеры у которых нет возможности отключить Reset...
История моя... есть самодельный программатор

... параллельный. Недописанный, корявенький, но фьюзы если что спасти может. А вот планар на плате - это гемор. По этой причине иногда предпочитаю PICи
plus
Цитата(mempfis_ @ Oct 23 2009, 09:51) *
Сделал на второй меге генератор меандра, подал на xtal1 полученный клок и восстановил мегу.

У меня замечательный советский осциллограф с калибратором, выдающим меандр 2 кГц. Когда по неопытности как-то "зафьюзил" АВРку, то ленно было собирать генератор, решил попробовать осциллографом оживить. Подал с нег на микроконтроллер в качестве тактилки 2 кГц - помогло smile.gif
yaropolkow
Всем спасибо! Я их воскресил. Действительно им надо было подавать внешний тактовый сигнал. На xtal2.
Всем остальным, кто сталкнеться с такой проблемой вот программа, которая делает из другого микроконтроллера "прикуриватель".

CODE
;------------------------- Псевдокоманды управления

.include "tn2313def.inc"; Присоединение файла описаний
.list ; Включение листинга

;------------------------- Начало программного кода

.cseg ; Выбор сегмента программного кода
.org 0 ; Устанеовка текущего адреса на ноль

.def temp = r16; Определение главного рабочего регистра
.def loop1 = r17
.def loop2 = r18
.def loop3 = r19

;-------------------------- Инициализация стека

ldi temp, ramend; Выбор адреса вершины стека
out SPL, temp; Запись его в регистр стека

;-------------------------- Инициализация Главного предделителя

ldi temp, 0x80 ; Записываем число $80 в регистр temp
out CLKPR, temp; Записываем в регистр CLKPR
ldi temp, 0 ; Записываем 0 в регистр temp
out CLKPR, temp; Записываем этот ноль в CLKPR

;-------------------------- Инициализация портов ВВ

out DDRD, temp; Записываем ноль в DDRD (порт PD на ввод)

ldi temp, 0xFF; Записываем число $FF в регистр temp
out DDRB, temp; Записываем это число в DDRB (порт PB на вывод)
out PORTB, temp; Записываем то же число в PORTB (потушить светодиод)
out PORTD, temp; Записываем его же в PORTD (включаем внутр. резисторы)

;--------------------------- Инициализация компаратора

ldi temp, 0x80; Выключение компаратора
out ACSR, temp
;-----------------------------------------------


ldi temp, 0 ; выключаем показания порта b
out portb, temp

;--------------программа генератора --------------------------------------
ldi temp, 0x09
out tccr1b, temp

ldi temp, 1
out ocr1al, temp

ldi loop1, 0x40
out tccr1a, loop1
sbi portb, 1

n1: rjmp n1


Напряжения сигнала снимать с 15 ножки.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.