Страница 31 из 132
Добавлено: Ср апр 15, 2009 21:33:46
MeL$
доброго времени суток
заинтересовался микроконтроллерами - решил поковыряться
начал с того, что
собрал схему программатора и бегущего огня из обучалки с той лишь разницей, что МК 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
перепробовал несколько программок - не помогает
Добавлено: Чт апр 16, 2009 00:25:59
Shuriks
Попробуйте отпаять светодиоды ... которые припаяны к ножкам используемых в последовательном программировании (MOSI , MISO , SCK) ... И еще раз попробовать прошить ...
Добавлено: Чт апр 16, 2009 06:58:39
MeL$
спасибо за совет - сегодня попробую прошить контроллер на отдельной плате
Добавлено: Чт апр 16, 2009 20:36:31
MeL$
спаял отдельную плату для прошивки
тоесть теперь у меня получатся :
1)программатор bb из обучалки
2)небольшая платка для программирования контроллера - 4 резистора и кварц с кондерами + питание (из обучалки)
3) схема со светодиодами, Мк и кварцем с кондерами + питание (из обучалки)
Мк так же шьется
однако при переутановке МК в плату со светодиодами светодиоды всеравно не работают
пробовал 2 разные программы из обучалки:
господа ! может контроллер нерабочий ???
Добавлено: Пт апр 17, 2009 17:09:43
Shuriks
Контроллер новый ? Если новый , то 99% что он рабочий ..
Попробуйте эту прошивку засунуть в Proteus (я сам по возможности , сначала все прогоняю через него) . Или давайте прошивку - я сам засуну. А потом бум дальше думать
ЗЫ: Не рекомендую так подключать светодиоды , как подключены в обучалке . Более правильно анодом через резистор подтягивать к плюсу, а управлять нулем ... И поэтому МК у вас и не прошивался , сигналы через резистор и диоды шунтировались на общий.
Добавлено: Пт апр 17, 2009 17:19:20
GP1
MeL$ писал(а):
Мк так же шьется
однако при переутановке МК в плату со светодиодами светодиоды всеравно не работают
пробовал 2 разные программы из обучалки:
господа ! может контроллер нерабочий ???
Попробуйте прочитать МК и сравнить с тем что вы в него заливаете, если все ок, ищите лап на плате, проверьте подтяжку RESET к 5В, в этой ветке уже не однократно писалось.
неправильные fuse-биты
Добавлено: Вс апр 19, 2009 11:48:06
DossJ
Всем Привет!
Помогите пожалуйста восстановить attiny2313 после неправильной установки фьюзов. Программатор Altera ByteBlaster c подключением XTAL1 не помогли. Фьюзы по незнанию были установлены так CKSEL0-3 1111 + SUT0-1 01. Как выставить фьюзы на этой микросхемы чтоб она тактовалась от кварца 12 MHz?
Зарание спасибо за ответы!
Re: неправильные fuse-биты
Добавлено: Вс апр 19, 2009 13:17:33
ikarab
DossJ писал(а):Как выставить фьюзы на этой микросхемы чтоб она тактовалась от кварца 12 MHz?
фьюзы ATtiny2313 расписаны по-русски.
http://radiokot.ru/forum/viewtopic.php?p=204996#204996
tiny2313
Добавлено: Вс апр 19, 2009 16:02:30
Gozi
Здраствуйте! у меня довольно странный вопрос. Собрал программатор stk200/300, не из обучалки, но похожий на него, тоже на 1533ап5. Монтаж правильный 100 процентов. Пробовал много раз зашить программу в tiny2313(программа отлажена, и тоже без ошибок). При этом понипрог пишет что отсутствует устройство или неизвестное усстройство, я уж думал, что что-то с самим мк, но один раз у меня получилось удачно прочитать фюзы и записать программу, после чего опять выдает ту же ошибку. вот и ломаю голову теперь - ведь я ничего не изменял, а записать программу получилось, а теперь опять не получается

Не подскажите в чем может быть проблема? с питанием все впорядке. И, кстате мк без кварца работает, но в книге написано, что от этого проблем с прошивкой возникать не должно. Короче, есть у когонибудь идеи?

Добавлено: Вс апр 19, 2009 19:36:50
Telek
Пытаюсь разбудить tiny2313 после спячки(в режиме power-down) по INT0 или INT1. Если INT настроить на срабатывание по низкому уровню - просыпается. Все другие варианты(по любому изменению, нарастанию/убыания сигнала) не будят. Возможно ли будить по оставшимя вариантам срабатывания INT или только по низкому уровню?
Добавлено: Пн апр 20, 2009 00:05:54
smac
Telek писал(а):Пытаюсь разбудить tiny2313 после спячки(в режиме power-down) по INT0 или INT1. Если INT настроить на срабатывание по низкому уровню - просыпается. Все другие варианты(по любому изменению, нарастанию/убыания сигнала) не будят. Возможно ли будить по оставшимя вариантам срабатывания INT или только по низкому уровню?
Только по низкому уровню, об этом даже в Даташите написано. Как вариант использовать PCINT7..0 - прерывания по изменению пина (пинов), они детектируются асинхронно и могут быть использованы для пробуждения контролллера. Правда одно но, все-же они детектируют не фронт(спад сигнала), а изменение состояния (1 или 0) на противоволожное.
Добавлено: Пн апр 20, 2009 08:13:11
ikarab
smac писал(а): все-же они детектируют не фронт(спад сигнала), а изменение состояния (1 или 0) на противоволожное.
А в чем разница ?
Добавлено: Пн апр 20, 2009 10:52:34
GP1
разница в том, что уровень необходимо удерживать какое-то время для пробуждения (значение не помню см. ДШ)
Добавлено: Пн апр 20, 2009 11:14:01
Telek
smac писал(а):
Только по низкому уровню, об этом даже в Даташите написано.
Меня смутила вот эта табличка из датащита. Там написано только про INT0, что оно пробуждает по левелу. Из этого я понял, что INT1 должен будить во всех режимах.

Добавлено: Пн апр 20, 2009 18:17:51
Shuriks
Для вывода микроконтроллера из режима PowerDown может использоваться любое прерывание работающее в асинхронном режиме, вот список прерываний:
1.Прерывания INT0 , INT1 - в режиме срабатывания по низкому уровню
2.Прерывание PCI0 - это прерывание по изменению любого сигнала PCINT7..0
3.Прерывание от канала USI
Следует помнить , что прерыванием работающем в асинхронном режиме можно вывести МК из любого режима сна , кроме IDLE.
Время пробуждения определяется теми же самыми FUSE-битами CKSEL , которые определяют задержку включения после системного сброса.
Добавлено: Пн апр 20, 2009 19:43:46
ikarab
GP1 писал(а):разница в том, что уровень необходимо удерживать какое-то время для пробуждения (значение не помню см. ДШ)
А при чем тут тогда изменение уровня ???
Добавлено: Пн апр 20, 2009 21:55:17
smac
ikarab писал(а):
А в чем разница ?
Вообще разница есть. Например, если у Вас прерывание настроено на фронт, то оно появится лишь при переходе из 0 в 1, а если на смену уровней, то оно может появиться как при переходе из 0 в 1, так и наоборот. Хотя, прерывание по переходу сигнала тоже можно настроить для детекции как фронта, так и спада. Плюс, как уже отметили, для того чтобы детектировать смену уровней потребуется некоторое время (насколько я понял более 3 циклов тактовой частоты контроллера), а детектирование фронта (спада) происходит за 1 цикл.
Добавлено: Вт апр 21, 2009 11:18:21
Telek
Разбираюсь с выставлением частоны на tiny2313. Мучает меня следующий вопрос:
Правильно ли я понял, что выставление включение делителя частоты на 8(CKDIV8) и данный код в CVAVR:
Код: Выделить всё
#pragma optsize-
CLKPR=0x80;
CLKPR=0x03;
#ifdef _OPTIMIZE_SIZE_
#pragma optsize+
#endif
это одно и тоже?
Т.е. либо писать данный код, либо выставлять фьюз CKDIV8 и не писать код, или писать код и выставлять фьюз - результат будет одинаковый(частота будет делиться на 8 )?
И еще вопрос: правильно ли я понял, что если включить делитель фьюзом, но написать
то частота в итоге делиться не будет?
Добавлено: Ср апр 22, 2009 17:02:42
Kaban
Кто нибуть сталкивался с таким моментом, когда две однотипные микросхемы выполняют по разному одну и ту же программу?
Значит имеются две ATTini 2313V-10 разных годов выпуска, фьюзы выставлены одинаково, прошивка одна и таже(бегущие огни из книги Белова), но скорость мигания сильно различается. На одной просто лётает, на другой замедлена в 3-4 раза. В чём причина тормознутости одной тиньки? Может какой нибуть дефект самой микрухи?
Добавлено: Ср апр 22, 2009 18:14:31
GP1
возможно дело в fuse-bits, на одной из микрух может быть запрограммирован CKDIV8