ВСЁ по прошивке и программированию AT90S2313/ATTiny2313

Обсуждаем контроллеры компании Atmel.
Аватара пользователя
avreal
Опытный кот
Сообщения: 842
Зарегистрирован: Чт дек 31, 2009 19:27:45
Откуда: Бровари, Україна
Контактная информация:

Сообщение avreal »

Можно от USB или от GAME-порта запитать - но это ведь ещё один разъём искать придётся :-)

gogenzzo писал(а):Вот только не понятно, а как сам микроконтроллер питать? Если от батарейки например, то куда деть "-" у нее? тоже к GND подключить, который и так от LPT подключен будет?

Если уж так хочется обойтись минимумом, то можно и питание на контроллер взять от LPT - если только на контроллер, а не на целую плату с ним ;-)
Аналогично первой схеме в статье http://radiokot.ru/lab/controller/29/ - тоже 5 проводков, но другие.
Суть в том, что нагрузочной способности нескольких ног LPT достатоно, чтобы запитать программируемый контроллер.
avreal имеет соответствующий ключик (хотя для молодого котёка тропинка командной строки может быть тяжеловата :-) ), дающий команду перед программированием выставть в 1-ку все незадйствованные для программирования выходы, а после окончания программирования - вернуть в 0, чтобы отключать в обесточенном сгостоянии.

Только для той схемы из статьи avreal-у достаточно дать ключик питания -ap, так как та раскладка ног в avreal встроена, а этим пяти проводкам придётся конфигурационный файл написать (надо будет - подскажу).

Для упомянутых тут 5-ти проводков можно со свободных 4,5 и 8-го выводов собрать питание тремя диодами или резисторами ом 100.

Да, пользусяь случаем - в той статье ссылка на avreal старая, он переехал на http://real.kiev.ua/avreal
Переезд затянулся, поэтому копия старого сайта лежит там рядом по real.kiev.ua/old/avreal и постепенно переползает на новое место.
Лень в виде мании величия: «ты гений, зачем стараться?». В виде комплекса: «всё равно не выйдет, зачем упираться?». Как логика: «если достаточно, зачем знать и уметь больше?». Цель одна: остановить. Не любит тепло работающих мышц и шум работающего мозга.
Аватара пользователя
gogenzzo
Встал на лапы
Сообщения: 97
Зарегистрирован: Вт ноя 03, 2009 13:38:20
Контактная информация:

Сообщение gogenzzo »

Ого, спасибо =) Буду разбираться
Aust
Родился
Сообщения: 3
Зарегистрирован: Ср янв 06, 2010 10:28:50

Сообщение Aust »

Доброго всем времени суток.

Буквально пару дней назад начал немного разбираться с новым для меня занятием - программированием МК. Для опытов взял ATTiny2313. И так живо дело пошло, аж сам удивился, но тут наткнулся на проблему.
Суть вот в чем: чисто в тестовых целях - пытался измыслить алгоритм, который бы делал что-то вроде бегущей строки, толку от него мало, потому что матрица - 2х5 светодиодов, но для обучения хватит. Использую я Си и WinAVR. Написал - примерно такое (упущу типовое начало):

-объявляю двумерный массив, который буду и выводить:

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

char w[5][10] = {
{0,0,0,0,1,0,0,0,0,0},
{0,0,0,1,1,1,1,0,0,0},
{0,0,1,1,1,1,1,1,0,0},
{0,1,1,1,1,1,1,1,1,0},
{1,1,1,1,1,1,1,1,1,1}
};


- Потом настраиваю порты (тут не показываю) и в цикле - перебираю этот самый массив, что б сформировать состояние портов:

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

for (j = 0; j < 10 ; j++){
      for (i = 0; i < 5 ; i++){
         t = 0x00;
         t = w[i][j];
         u = u + (t<<i);
      }
      PORTD=u;
      PORTB=v;
      v = u;
      u = 0x00;
      _delay_ms(200);
}


Вот в таком виде программа - работает. Но тут начинается самое интересное. Если размер вложенной матрицы будет больше "таинственных" 10 элементов, начинаются чудеса. Вывод начинает искажаться, то есть загораются не те светодиоды, которые заданы в матрице, причем чем больше матрица, тем больше искажения, вплоть до полной ахинеи :shock: .

У меня очень скудный опыт в программировании, Си на ходу учу, а МК - вообще 4-й день как увидел, так что не пинайте больно. Возможно у меня в алгоритме какая-то ошибка, или в самом МК есть какая-то загогулистая особенность, подскажите, или хотя бы расскажите где почитать.

ЗЫ: и еще одно. Может у кого-то есть ссылочка или литература в которой есть пример исполнения бегущей строки. Схемы находил, но к ним или совсем не было программ, или были на ассемблере (уж очень не хочется разбиратся в нем :? ) Хотя, наверное, придется....
grindripperMi
Открыл глаза
Сообщения: 47
Зарегистрирован: Чт янв 21, 2010 21:39:22

USBAVR А.Рыжкова

Сообщение grindripperMi »

Здравствуйте! Я приобрёл набор USBAVR А. Рыжкова от Chipnabor через "РАДИО" и не понятно МК в нём уже запрограммирован или нет. Спросил у автора статьи-он не в курсе вообще как комплектуют Chipnabor свои наборы по его статье в "РАДИО" №7 за 2008. Если кто в курсе поделитесь информацией.
Аватара пользователя
gogenzzo
Встал на лапы
Сообщения: 97
Зарегистрирован: Вт ноя 03, 2009 13:38:20
Контактная информация:

Сообщение gogenzzo »

В микроконтроллере attiny2313 размер оперативной памяти = 128 байт или 0x7F, так почему же константа RAMEND = 0xDF ? :shock:
akl
Друг Кота
Сообщения: 4444
Зарегистрирован: Пт мар 07, 2008 06:54:43
Откуда: Ижевск

Сообщение akl »

Потому, что адрес начала 0x60.
grindripperMi
Открыл глаза
Сообщения: 47
Зарегистрирован: Чт янв 21, 2010 21:39:22

USBAVR А.Рыжкова

Сообщение grindripperMi »

Уважаемые старожилы! Ответьте новичку! Это мой первый опыт общения на этом форуме, и вообще на форумах,и первый программатор! Опасаюсь накосячить и вывести из строя USB компа.
Аватара пользователя
DiGiCat
Друг Кота
Сообщения: 4793
Зарегистрирован: Пт июл 11, 2008 09:42:35
Откуда: Made in USSR

Сообщение DiGiCat »

Так тема называется ВСЁ по прошивке и программированию AT90S2313/ATTiny2313.
ATmega8 тут каким боком? :shock: И сам же написал, что:
grindripperMi писал(а): не понятно МК в нём уже запрограммирован или нет. Спросил у автора статьи-он не в курсе вообще как комплектуют Chipnabor свои наборы
Котам откуда знать, если сам автор не знает?
В чем проблема сейчас? Собрал и не работает? или что?
Ссылка там есть на сайт автора http://prottoss.com/projects/AVR910.usb ... rammer.htm
Про программатор от Протосса темы и здесь есть Вопрос нормально сформулируй в соответствующе теме и помогут.
Сейчас не понятно ничего.
NIMESIS
Встал на лапы
Сообщения: 125
Зарегистрирован: Пн сен 14, 2009 18:37:10
Откуда: г. Москва, ст. метро Октябрьское поле
Контактная информация:

Сообщение NIMESIS »

Такой вопрос (Да и проблема одновременно тоже).

Сегодня собрал на макетке схемку из МК ATtiny2313 , двух светодиодов с нагрузочными резисторами на порте Б, ну и остальной обвес.

Написал програмку, которая порт Б переключает целиком на вывод и выводит чередующиеся 0 и 1 (если бы было 8 светодиодов - должны были бы загореться через 1).

Зашил я эту программу с помощью внутрисхемного программатора.
Загорелся один из двух светодиодов (всё как надо).

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

Такой вопрос. На порте Б висят также и выводы для внутрисхемного програмирования. Мог ли я их сделать недоступными выводя на эти поги 1? С фьюзами вроде ничего не должен напортачить, ибо я их считал и не менял.

Может я как-то не совсем правильно подключил МК к програматору?
В обучалке некоторые ноги к + или к земле подтянуты.
У меня первый раз прошилось и без них, а вот потом ни-ни((
Только в полётах живут самолёты...
Аватара пользователя
ibiza11
Поставщик валерьянки для Кота
Сообщения: 1900
Зарегистрирован: Сб фев 21, 2009 13:11:40
Откуда: Москва

Сообщение ibiza11 »

какая ошибка возникает у программатора?
Ставим плюсы: )
Аватара пользователя
ibiza11
Поставщик валерьянки для Кота
Сообщения: 1900
Зарегистрирован: Сб фев 21, 2009 13:11:40
Откуда: Москва

Сообщение ibiza11 »

Цитата из одной вчерашней темы, созданной NIMESIS:
Значится купил сегодня в чип и дипе вот этот программатор: http://chip-dip.ru/product0/9000042141.aspx
Это BM9010 USB AVR910USB. Этот программатор частенько глючит (по крайней мере в моей сборке он периодически отключался). Мне помогало закрытие программатора (программы), отключение схемы программатора от компа и повторное подключение с последующим запуском программатора(программы).

PS возникала ошибка что то типо : ".. coudn`t enter programming mode" ...написал по памяти...
Ставим плюсы: )
NIMESIS
Встал на лапы
Сообщения: 125
Зарегистрирован: Пн сен 14, 2009 18:37:10
Откуда: г. Москва, ст. метро Октябрьское поле
Контактная информация:

Сообщение NIMESIS »

ibiza11 писал(а):PS возникала ошибка что то типо : ".. coudn`t enter programming mode" ...написал по памяти...


Вот у меня тоже самое(
Прошивал со старого компа под винХР, программа ChipBlasterAVR.
Потом нашел в инете дрова под висту х64 и стал пробовать.
Всё тоже выдаёт... И в чип бластере, и в АВРпроге...
На обоих компах...

Причём этоже пишет если программатор отключить от схемы.
Только в полётах живут самолёты...
Аватара пользователя
ibiza11
Поставщик валерьянки для Кота
Сообщения: 1900
Зарегистрирован: Сб фев 21, 2009 13:11:40
Откуда: Москва

Сообщение ibiza11 »

а то что я написал не помогает?
Ставим плюсы: )
NIMESIS
Встал на лапы
Сообщения: 125
Зарегистрирован: Пн сен 14, 2009 18:37:10
Откуда: г. Москва, ст. метро Октябрьское поле
Контактная информация:

Сообщение NIMESIS »

Да я чего только не делал... и комп перезагружал...
И проги закрывал, и к разным портам адаптер подключал...

Кстати, вот накатал по быстрому схемку в протеусе.
Может в схеме что-то накосячено?

Еще кстати грешу на питание. Питаю МК от сетевого адаптера через П-образный фильтр из дросселя и двух электролитов.
Правда если бы питание было плохим, МК бы наверно не заводился и программу не выполнял...
А тут ведь светит светодиодом одним, работает первая прошивка!
Вложения
111.png
(3.12 КБ) 547 скачиваний
Только в полётах живут самолёты...
Аватара пользователя
ibiza11
Поставщик валерьянки для Кота
Сообщения: 1900
Зарегистрирован: Сб фев 21, 2009 13:11:40
Откуда: Москва

Сообщение ibiza11 »

на рисунке к выводу 2 разъема J1 нужно подавать +5 вроде как... :?

ПС. Зависит от сборки вашего программатора, я хз что МастерКит там навытворял ( как оказалось, они там много чего могут натворить). Вставьте программатор в ЮСБ и проверьте мультиметром напряжение на 2 выводе разъема.
Ставим плюсы: )
NIMESIS
Встал на лапы
Сообщения: 125
Зарегистрирован: Пн сен 14, 2009 18:37:10
Откуда: г. Москва, ст. метро Октябрьское поле
Контактная информация:

Сообщение NIMESIS »

http://lib.chipdip.ru/269/DOC000269579.pdf

Вот схема программатора... Судя по схеме и по плате (шас посмотрел внимательно) 2 нога вообще ни с чем ни соединяется на нём...
Только в полётах живут самолёты...
NIMESIS
Встал на лапы
Сообщения: 125
Зарегистрирован: Пн сен 14, 2009 18:37:10
Откуда: г. Москва, ст. метро Октябрьское поле
Контактная информация:

Сообщение NIMESIS »

На порте Б висят также и выводы для внутрисхемного програмирования. Мог ли я их сделать недоступными выводя на эти поги 1?


На этот вопрос ответтье кто-нибудь, а...

Эх, вроде уже все что можно проверил...
Не хочет ни читать, ни писать, ни стирать...

Наверно придётся покупать второй МК для проверки...
Только в полётах живут самолёты...
Аватара пользователя
ibiza11
Поставщик валерьянки для Кота
Сообщения: 1900
Зарегистрирован: Сб фев 21, 2009 13:11:40
Откуда: Москва

Сообщение ibiza11 »

нет, не мог. стопроцентов.
Ставим плюсы: )
NIMESIS
Встал на лапы
Сообщения: 125
Зарегистрирован: Пн сен 14, 2009 18:37:10
Откуда: г. Москва, ст. метро Октябрьское поле
Контактная информация:

Сообщение NIMESIS »

Блин, не понимаю в чём может быть дело...

Программа зашитая в МК работает, подключено к програматору все верно (150 раз проверил и прозвонил, да и с момента первого прошития ничего не менял же).

Неужели случайно с фьюзами накосячил? :cry:

Кста, а если реально косяк с фьюзами, то прошивку с МК можно считать?

Странно еще и то, что надпись "кэн нот энтер программинг моде" появляется хоть подключай МК к программатору, хоть нет...
Только в полётах живут самолёты...
Аватара пользователя
ibiza11
Поставщик валерьянки для Кота
Сообщения: 1900
Зарегистрирован: Сб фев 21, 2009 13:11:40
Откуда: Москва

Сообщение ibiza11 »

Не знаю правда или неправда, но слышал, что у кого то фьюзы слетали с этим программатором. Попоробуй на выводы XTAL1 И XTAL2 повесить кварц и сами выводы зашунтируй на землю через конденсаторы 10-33 пФ. Кварц до 20 МГц (лучше поменьше). и попробуй еще раз прочитать программатором.Если получилось, значит фьюзы стояли на тактирование кварцем.
Если не поможет, то отключаешь все что нацеплял. Делаешь внешний генератор импульсов и подключаешь его выход на ногу XTAL1, земли контроллера и генератора естественно соединияешь, и опять пробуешь запрограммировать.Если помогло, значит фьюзы стояли тактированием от внешнего генератора.
если не получается, собираешь программатор отсюда, подключаешь его к LPT, скачиваешь PonyProg , пробуешь через него запрограммировать. (с кварцем или с внешним генератором). если не получается, то у тебя либо порты сгорели на мк (что надо постараться сделать!) либо фьюзами отключен RESET и нужен параллельный программатор, если получилось, то скорее всего твой AVR910USB полетел к праотцам на встречу.
Ставим плюсы: )
Ответить

Вернуться в «AVR»