ВСЁ по прошивке и программированию AT90S2313/ATTiny2313
доброго времени суток
заинтересовался микроконтроллерами - решил поковыряться
начал с того, что
собрал схему программатора и бегущего огня из обучалки с той лишь разницей, что МК tiny2313
ессно прописал это в батнике, вместо 90s2313
при включении питания
постоянно горит третий светодиод, во время прошивки мигают первые три (шью под вин98, так как очень стааарый кампутер)
схемы проверены и перепроверены
коротышей нет, плохих контактов тоже
в процессе самой прошивки консоль выдает :
Chip not locked
Device erased
Device connected, TINY2313 detected
Fuses
OSCCAL = 62, 5D
CKDIV = 0
CKOUT = 1
SUT = 2
CKSEL = 4
DWEN = 1
EESAVE = 1
WDTON = 1
BODLEVEL = 7
RSTDISBL = 1
SELFPRGEN = 1
Programming CODE memory
done
Reset pin released
Adapter disabled
D:\AVR-projects\runfire>pause=null
Для продолжения нажмите любую клавишу . . .
я так понимаю, что процесс программирования проходит успешно, но
при сбросе и включении питания всё тоже самое : горит 3й светодиод
помогите plz
перепробовал несколько программок - не помогает
заинтересовался микроконтроллерами - решил поковыряться
начал с того, что
собрал схему программатора и бегущего огня из обучалки с той лишь разницей, что МК tiny2313
ессно прописал это в батнике, вместо 90s2313
при включении питания
постоянно горит третий светодиод, во время прошивки мигают первые три (шью под вин98, так как очень стааарый кампутер)
схемы проверены и перепроверены
коротышей нет, плохих контактов тоже
в процессе самой прошивки консоль выдает :
Chip not locked
Device erased
Device connected, TINY2313 detected
Fuses
OSCCAL = 62, 5D
CKDIV = 0
CKOUT = 1
SUT = 2
CKSEL = 4
DWEN = 1
EESAVE = 1
WDTON = 1
BODLEVEL = 7
RSTDISBL = 1
SELFPRGEN = 1
Programming CODE memory
done
Reset pin released
Adapter disabled
D:\AVR-projects\runfire>pause=null
Для продолжения нажмите любую клавишу . . .
я так понимаю, что процесс программирования проходит успешно, но
при сбросе и включении питания всё тоже самое : горит 3й светодиод
помогите plz
перепробовал несколько программок - не помогает
спаял отдельную плату для прошивки
тоесть теперь у меня получатся :
1)программатор bb из обучалки
2)небольшая платка для программирования контроллера - 4 резистора и кварц с кондерами + питание (из обучалки)
3) схема со светодиодами, Мк и кварцем с кондерами + питание (из обучалки)
Мк так же шьется
однако при переутановке МК в плату со светодиодами светодиоды всеравно не работают
пробовал 2 разные программы из обучалки:
господа ! может контроллер нерабочий ???
тоесть теперь у меня получатся :
1)программатор bb из обучалки
2)небольшая платка для программирования контроллера - 4 резистора и кварц с кондерами + питание (из обучалки)
3) схема со светодиодами, Мк и кварцем с кондерами + питание (из обучалки)
Мк так же шьется
однако при переутановке МК в плату со светодиодами светодиоды всеравно не работают
пробовал 2 разные программы из обучалки:
господа ! может контроллер нерабочий ???
- Shuriks
- Первый раз сказал Мяу!
- Сообщения: 24
- Зарегистрирован: Вт дек 30, 2008 20:51:09
- Откуда: Россия, г. Брянск
- Контактная информация:
Контроллер новый ? Если новый , то 99% что он рабочий ..
Попробуйте эту прошивку засунуть в Proteus (я сам по возможности , сначала все прогоняю через него) . Или давайте прошивку - я сам засуну. А потом бум дальше думать
ЗЫ: Не рекомендую так подключать светодиоды , как подключены в обучалке . Более правильно анодом через резистор подтягивать к плюсу, а управлять нулем ... И поэтому МК у вас и не прошивался , сигналы через резистор и диоды шунтировались на общий.
Попробуйте эту прошивку засунуть в Proteus (я сам по возможности , сначала все прогоняю через него) . Или давайте прошивку - я сам засуну. А потом бум дальше думать
ЗЫ: Не рекомендую так подключать светодиоды , как подключены в обучалке . Более правильно анодом через резистор подтягивать к плюсу, а управлять нулем ... И поэтому МК у вас и не прошивался , сигналы через резистор и диоды шунтировались на общий.
- GP1
- Поставщик валерьянки для Кота
- Сообщения: 2401
- Зарегистрирован: Пт май 23, 2008 19:32:22
- Откуда: Россия, Волгоград
- Контактная информация:
MeL$ писал(а):Мк так же шьется
однако при переутановке МК в плату со светодиодами светодиоды всеравно не работают
пробовал 2 разные программы из обучалки:
господа ! может контроллер нерабочий ???
Попробуйте прочитать МК и сравнить с тем что вы в него заливаете, если все ок, ищите лап на плате, проверьте подтяжку RESET к 5В, в этой ветке уже не однократно писалось.
неправильные fuse-биты
Всем Привет!
Помогите пожалуйста восстановить attiny2313 после неправильной установки фьюзов. Программатор Altera ByteBlaster c подключением XTAL1 не помогли. Фьюзы по незнанию были установлены так CKSEL0-3 1111 + SUT0-1 01. Как выставить фьюзы на этой микросхемы чтоб она тактовалась от кварца 12 MHz?
Зарание спасибо за ответы!
Помогите пожалуйста восстановить attiny2313 после неправильной установки фьюзов. Программатор Altera ByteBlaster c подключением XTAL1 не помогли. Фьюзы по незнанию были установлены так CKSEL0-3 1111 + SUT0-1 01. Как выставить фьюзы на этой микросхемы чтоб она тактовалась от кварца 12 MHz?
Зарание спасибо за ответы!
Re: неправильные fuse-биты
DossJ писал(а):Как выставить фьюзы на этой микросхемы чтоб она тактовалась от кварца 12 MHz?
фьюзы ATtiny2313 расписаны по-русски.
http://radiokot.ru/forum/viewtopic.php?p=204996#204996
tiny2313
Здраствуйте! у меня довольно странный вопрос. Собрал программатор stk200/300, не из обучалки, но похожий на него, тоже на 1533ап5. Монтаж правильный 100 процентов. Пробовал много раз зашить программу в tiny2313(программа отлажена, и тоже без ошибок). При этом понипрог пишет что отсутствует устройство или неизвестное усстройство, я уж думал, что что-то с самим мк, но один раз у меня получилось удачно прочитать фюзы и записать программу, после чего опять выдает ту же ошибку. вот и ломаю голову теперь - ведь я ничего не изменял, а записать программу получилось, а теперь опять не получается
Не подскажите в чем может быть проблема? с питанием все впорядке. И, кстате мк без кварца работает, но в книге написано, что от этого проблем с прошивкой возникать не должно. Короче, есть у когонибудь идеи? 
Пытаюсь разбудить tiny2313 после спячки(в режиме power-down) по INT0 или INT1. Если INT настроить на срабатывание по низкому уровню - просыпается. Все другие варианты(по любому изменению, нарастанию/убыания сигнала) не будят. Возможно ли будить по оставшимя вариантам срабатывания INT или только по низкому уровню?
Telek писал(а):Пытаюсь разбудить tiny2313 после спячки(в режиме power-down) по INT0 или INT1. Если INT настроить на срабатывание по низкому уровню - просыпается. Все другие варианты(по любому изменению, нарастанию/убыания сигнала) не будят. Возможно ли будить по оставшимя вариантам срабатывания INT или только по низкому уровню?
Только по низкому уровню, об этом даже в Даташите написано. Как вариант использовать PCINT7..0 - прерывания по изменению пина (пинов), они детектируются асинхронно и могут быть использованы для пробуждения контролллера. Правда одно но, все-же они детектируют не фронт(спад сигнала), а изменение состояния (1 или 0) на противоволожное.
smac писал(а):Только по низкому уровню, об этом даже в Даташите написано.
Меня смутила вот эта табличка из датащита. Там написано только про INT0, что оно пробуждает по левелу. Из этого я понял, что INT1 должен будить во всех режимах.

- Вложения
-
- ds.jpg
- (30.59 КБ) 489 скачиваний
- Shuriks
- Первый раз сказал Мяу!
- Сообщения: 24
- Зарегистрирован: Вт дек 30, 2008 20:51:09
- Откуда: Россия, г. Брянск
- Контактная информация:
Для вывода микроконтроллера из режима PowerDown может использоваться любое прерывание работающее в асинхронном режиме, вот список прерываний:
1.Прерывания INT0 , INT1 - в режиме срабатывания по низкому уровню
2.Прерывание PCI0 - это прерывание по изменению любого сигнала PCINT7..0
3.Прерывание от канала USI
Следует помнить , что прерыванием работающем в асинхронном режиме можно вывести МК из любого режима сна , кроме IDLE.
Время пробуждения определяется теми же самыми FUSE-битами CKSEL , которые определяют задержку включения после системного сброса.
1.Прерывания INT0 , INT1 - в режиме срабатывания по низкому уровню
2.Прерывание PCI0 - это прерывание по изменению любого сигнала PCINT7..0
3.Прерывание от канала USI
Следует помнить , что прерыванием работающем в асинхронном режиме можно вывести МК из любого режима сна , кроме IDLE.
Время пробуждения определяется теми же самыми FUSE-битами CKSEL , которые определяют задержку включения после системного сброса.
ikarab писал(а):А в чем разница ?
Вообще разница есть. Например, если у Вас прерывание настроено на фронт, то оно появится лишь при переходе из 0 в 1, а если на смену уровней, то оно может появиться как при переходе из 0 в 1, так и наоборот. Хотя, прерывание по переходу сигнала тоже можно настроить для детекции как фронта, так и спада. Плюс, как уже отметили, для того чтобы детектировать смену уровней потребуется некоторое время (насколько я понял более 3 циклов тактовой частоты контроллера), а детектирование фронта (спада) происходит за 1 цикл.
Разбираюсь с выставлением частоны на tiny2313. Мучает меня следующий вопрос:
Правильно ли я понял, что выставление включение делителя частоты на 8(CKDIV8) и данный код в CVAVR:
это одно и тоже?
Т.е. либо писать данный код, либо выставлять фьюз CKDIV8 и не писать код, или писать код и выставлять фьюз - результат будет одинаковый(частота будет делиться на 8 )?
И еще вопрос: правильно ли я понял, что если включить делитель фьюзом, но написать
то частота в итоге делиться не будет?
Правильно ли я понял, что выставление включение делителя частоты на 8(CKDIV8) и данный код в CVAVR:
Код: Выделить всё
#pragma optsize-
CLKPR=0x80;
CLKPR=0x03;
#ifdef _OPTIMIZE_SIZE_
#pragma optsize+
#endifэто одно и тоже?
Т.е. либо писать данный код, либо выставлять фьюз CKDIV8 и не писать код, или писать код и выставлять фьюз - результат будет одинаковый(частота будет делиться на 8 )?
И еще вопрос: правильно ли я понял, что если включить делитель фьюзом, но написать
Код: Выделить всё
CLKPR=0x80;
CLKPR=0x00;то частота в итоге делиться не будет?
Кто нибуть сталкивался с таким моментом, когда две однотипные микросхемы выполняют по разному одну и ту же программу?
Значит имеются две ATTini 2313V-10 разных годов выпуска, фьюзы выставлены одинаково, прошивка одна и таже(бегущие огни из книги Белова), но скорость мигания сильно различается. На одной просто лётает, на другой замедлена в 3-4 раза. В чём причина тормознутости одной тиньки? Может какой нибуть дефект самой микрухи?
Значит имеются две ATTini 2313V-10 разных годов выпуска, фьюзы выставлены одинаково, прошивка одна и таже(бегущие огни из книги Белова), но скорость мигания сильно различается. На одной просто лётает, на другой замедлена в 3-4 раза. В чём причина тормознутости одной тиньки? Может какой нибуть дефект самой микрухи?
