Страница 1 из 2

atiny26/atmega8: пишутся, читаются, не работают

Добавлено: Вс апр 06, 2008 00:30:31
sad_deamon
Господа коты, я еще даже шерстью не оброс, но уже лезу со своими глупыми вопросами.

Ситуация следующая: собран stk200, расширительные платы для attiny26 и atmega8
В обоих случаях не подключен внешний генератор.
На одну из ног порта B (attiny) / D (mega) повешен светодиод.
Запитано все от 5v.

avreal видит чипы, шьет их, проверяет записанное и говорит что все хороше.

пишется следующий код:

Код: Выделить всё

.include "appnotes/m8def.inc"

.def     Temp=R16

.cseg
.org 0

ldi Temp, 0xff 
out DDRD,Temp
out PORTD,Temp


в принципе, перепробованы и другие варианты, но этот мне кажется наиболее простым и однозначным.
На ногах мк висит что-то около +1V (последние замеры по mega8)

Сам я, как уже писал, шерстью еще не оброс, но очень хочу...
Нутром чую, что наступил на крайне простые грабли, а понять не могу.

Фьюзы не трогал, исходя из даташитов они с завода идут настроенными на внутренние ресурсы МК.
Скажите где я косяк воткнул, вторую неделю мучусь, программатор уже два раза пересобрал... :cry:

Добавлено: Вс апр 06, 2008 13:07:10
ARV
гм, от начинающего всего можно ждать...
1. пишется, надеюсь, откомпилированный код, т.е. hex-файл? или прямо вышеприведенные буквы?
2. если ответ на вопрос 1 "шьется откомпилированный код", то тогда - где "завершение" программы? эти жалкие 3 команды пролетят за долю микросекунды - и подумайте, что потом МК будет делать?

Добавлено: Вс апр 06, 2008 13:43:07
sad_deamon
ARV писал(а):гм, от начинающего всего можно ждать...
1. пишется, надеюсь, откомпилированный код, т.е. hex-файл? или прямо вышеприведенные буквы?

Код: Выделить всё

./tavrasm -i  code_mega8.asm -e output/listfile.lst -o output/hexfile.hex
./avreal +atmega8 -p1 -as -ew -n -doutput/hexfile.hex -%
...
Programming CODE memory
 done
Programming DATA memory
 done
Reset pin released
Adapter disabled


ARV писал(а):2. если ответ на вопрос 1 "шьется откомпилированный код", то тогда - где "завершение" программы? эти жалкие 3 команды пролетят за долю микросекунды - и подумайте, что потом МК будет делать?


Хм, вероятно вы правы. Привожу полный код:

Код: Выделить всё

.include "appnotes/m8def.inc"
.def     Temp=R16
.cseg
.org 0

ldi Temp, 0xff
out DDRD,Temp

start:
 out PORTD,Temp
rjmp start


Ситуация та же.
Также пробовал зашивать скомпилирванный в vmlab hex, который в тестах мигает всеми портами по очереди.
Ситуация та же :(

Добавлено: Вс апр 06, 2008 14:11:25
tych
Т.е. вы отключили программатор и заново включили пиание МК и вот такая байда ? :shock:

Добавлено: Вс апр 06, 2008 14:17:02
Negor
Проверь что там на ножке "Reset" Может у тебя МК из ресета не выходит?

Добавлено: Вс апр 06, 2008 14:17:50
sad_deamon
tych писал(а):Т.е. вы отключили программатор и заново включили пиание МК и вот такая байда ? :shock:


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

Но я пробовал просто отключать порграмматор, выключать питание, отключать прог. и включать питание снова.

Все ситуации смоделированы на 2х расширительных платах с atmega8 и attiny26 на борту. МК живые, т.к. их видит программатор. (мк пробовал разные. у меня минимум по 2 каждого вида).

Обнаружил пробел в знаниях: я собирал согласно схемам выложенным в инете (тут, и на других сайтах) и не запитывал AVCC.

Запитал AVCC от VCC, AGND от GND. ситуация та же.

Думаю вечером или завтра сяду срисую с натуры те чудовища которые я создал, в точности до. Может быть тогда кто-то мне скажет где же я мышей не ловлю.

Добавлено: Вс апр 06, 2008 14:20:19
sad_deamon
Negor писал(а):Проверь что там на ножке "Reset" Может у тебя МК из ресета не выходит?


На ноге RESET +3.9V

Получается, что не выходит... Что делать? И откуда они берутся? Вроде-бы ресет ни с чем не закорочен

Добавлено: Вс апр 06, 2008 23:24:28
Negor
Вобщем если не вдаватся в подробности - к ресету от +питания подводиш через 100кОм, и кондёр подключаеш - одну ногу кондёра к ресету, вторую - к "земле". Кондёр маленький - в раёне 0,1мкФ

Добавлено: Вс апр 06, 2008 23:32:38
sad_deamon
Вобщем вот.
Отрисовал с натуры как мог.
Изображение

Кондер на землю от ресета обязателен?
Что где не так?

Во время программирования отпаиваю резистер от ресета чтобы прошить. потом подпаиваю назад (у меня под рукой нету 10кОм).

Прошивку верифицирую...[/img]

Добавлено: Пн апр 07, 2008 00:46:05
Negor
Пройдись по схемам посмотри как ресеты оформляют. резюк и кондёр. и не 10, а 100 кОм надо. Кондёр к ресету желателен, тогда сброс произойдёт не с подачей питания, а чуть после. А зачем отпаивать то? Разве программатор не ставит ресет в 0? Странно. А ресет оформи всё таки как положено. Проверь питание. Может у тебя напруга питания низкая. Возьми китайский БП на 12 В и КРЕН5 - дёшево и сердито

Добавлено: Пн апр 07, 2008 00:56:10
tych
Еще лучше батарейки.

Добавлено: Вт апр 08, 2008 11:10:30
sad_deamon
Подал на RESET +5v через резисторы общим номиналом 11.2 кОм.
Программатор теперь шьет нормально, читает, проверяет.

На RESET по замерам +2V и конденсатор на 100nF
Настораживает то, что на остальных портах порядка +0.5V,
а программатор выполняет прошивку и верификацию при любой указанной частоте:
./avreal -o800..10000


да, схему того, что сейчас есть прилагаю
Изображение

Добавлено: Вт апр 08, 2008 16:11:00
Ватсон
Negor писал(а):Пройдись по схемам посмотри как ресеты оформляют. резюк и кондёр. и не 10, а 100 кОм надо. Кондёр к ресету желателен, тогда сброс произойдёт не с подачей питания, а чуть после.

Атмеге можно не ставить RC на ресет, тем она и хороша что wake-up timer есть (или как там у неё называется). Единственные процы из тех что я встречал, которым строго необходим внешний супервизор, это младшие LPC (210x).

Добавлено: Вт апр 08, 2008 16:14:29
Ватсон
[quote="sad_deamon"][/quote]
Схема у Вас правильная, ошибка может быть только в настройках или процессе программирования. Попробуйте где-нибудь достать фирменный программатор и зашить им.

Добавлено: Вт апр 08, 2008 16:36:04
tych
Ватсон писал(а):Схема у Вас правильная, ошибка может быть только в настройках или процессе программирования.


А в монтаже не может быть ошибки ?

Добавлено: Вт апр 08, 2008 19:31:25
vor0n
проверьте монтаж а схема "правильная"(наверно)
и ещё вопрос из любопытствА........... Ачто будет делать ента схема? 8) 8)

Добавлено: Ср апр 09, 2008 16:24:54
Ватсон
tych писал(а):А в монтаже не может быть ошибки ?

Могут конечно :) Почему-то автоматически считаю что с монтажём всё в порядке, хотя и у самого бывают глупые траблы

Добавлено: Чт апр 10, 2008 08:59:19
sad_deamon
vor0n писал(а):проверьте монтаж а схема "правильная"(наверно)
и ещё вопрос из любопытствА........... Ачто будет делать ента схема? 8) 8)


да прозвонил вроде бы все,
проверил монтаж по схеме, которую сам же рисовал с натуры, т.е. с готового изделия, которое теперь по этой схеме проверяю :(

Нигде ничего не пробивает вроде бы, нигде лишних контактов нету.
Там по схеме рабочих то ног раз два и обчелся.
Есть дурная мысль: мог ли я криво собрать программатор, да так что он шьет и проверяет и все ок, а на самом деле сон который про сон который не сон... хех.

Добавлено: Чт апр 10, 2008 09:10:59
Negor
Та не - если уж прошил. так прошил. Давай всё таки - чтоб питание МК было чётко 5 в +-0,5в и на РЕСЕТе было 95%от питания МК.и прогу накатай чтоб тока на одной ножке какойнить какую т никуда не припаял была единица.как прошьёш - программатор откинь - ии проверь напруги.

Добавлено: Пт апр 11, 2008 07:20:50
Ватсон
sad_deamon писал(а):Нигде ничего не пробивает вроде бы, нигде лишних контактов нету.
Там по схеме рабочих то ног раз два и обчелся.
Есть дурная мысль: мог ли я криво собрать программатор, да так что он шьет и проверяет и все ок, а на самом деле сон который про сон который не сон... хех.

Ещё раз повторяю: достань где нибудь фирменный программатор и прошей. В Киеве вроде с этим проблем нету. Например, AVRISP mkII сейчас раздают по 50$ за штуку, неужели много?