LINUX.ORG.RU

Не получается запрограммировать AVR контроллер


0

2

Всем доброго времени суток!

Решил научится программировать AVR контроллеры (начать хочется именно с них т.к. не очень дороги но производительны). Собрал чтото вроде этой схемы
http://mcontroller.opentomsk.net/images/Simple_AVR_circuit_3LEDs.gif
единственное отличие в том что нет кварца(подходящих кондёров не нашёл, только на 400 вольт, ставить страшно), и стабилизатора напряжения(питаю от USB).
При попытки залить программу через avreal, выхотяд ошибки:

Command:
+atmega48 -o1000000Hz -p1 -e -w -az -% main.hex -n
   % LPT port number 1
   % LPT base address 0x378
   % I/O permissions granted, direct I/O interface activated
   % LPT write cycle 1.09us
Can't control LPT data direction bit (required for -AZ)

make: *** [program] Ошибка 70

или

Command:
+atmega48 -o1000000Hz -p1 -e -w -as -% main.hex -n
   % LPT port number 1
   % LPT base address 0x378
   % I/O permissions granted, direct I/O interface activated
   % LPT write cycle 1.07us
   % Atmel adapter for STK200 found
   % STK adapter mode
   % MCU oscillator frequency = 1.00MHz
   % setup 2.10us, hold 2.10us
   % actual SCK frequency 186kHz
Adapter enabled
   % Reset
   % PgmOn reply FF FF FF FF
   % Try 1 to resync by reset pulse   % PgmOn reply FF FF FF FF
   % Try 2 to resync by reset pulse   % PgmOn reply FF FF FF FF
   % Try 3 to resync by reset pulse   % PgmOn reply FF FF FF FF
   % Try 4 to resync by reset pulse   % PgmOn reply FF FF FF FF
Can't resync

Reset pin released
Adapter disabled
make: *** [program] Ошибка 40

Я уже не знаю что делать, подскажи что не так.
Зарание спасибо.

Без конденсаторов оно от кварца не заведется, но по-умаочанию работает от встроенного RC-генератора, главное фьюзы не менять.

Контроллер какой mega48 или tiny? Какая схема программатора? Как подключен?

alexru ★★★★
()
Ответ на: комментарий от alexru

Кантороллер mega48, подклячал вроде по датащиту, ну я кварц и не использую, пытался программатор просто 5 проводков, выдаёт первый вариант ошибки, пробовал ставить резистры и делать что то типа STK200 ( 2 и 12 выход у LPT соединял) выдаёт второй вариант ошибки. http://mcontroller.opentomsk.net/index.php/STK200

Ramzes001 ★★
() автор топика
Ответ на: комментарий от Ramzes001

Если хотите помощи, то нарисуйте «не что-то вроде» а схему, которая действительно собрана, со всеми установлеными компонентами и их номиналами.

alexru ★★★★
()
Ответ на: комментарий от Ramzes001

>ну я кварц и не использую,

Способы тактирования МК AVR с использованием: а — кварцевого резонатора; б — внешнего генератора; в — RC-цепочки (Рис.2.3.)

P.S. Но начинающим лучше делать всё строго по уставу стандартной схеме.

quickquest ★★★★★
()

Если везде читаются FF явно где-то обрыв или не пропай или ошибка в подключении программатора. Вместо работы под рутом рекомендую поставить права на /dev/parport0 a+rw. Обратить внимание на настройки порта в биосе. Лучше поставить SPP/EPP.

yax123 ★★★★★
()

По поводу генератора: я думал что встроенный RC должен свой мегагерц отработать, просто резонаторы у меня есть, а вот конденсаторы помечены как 400 V, я что то побаеваюсь использовать.

Ramzes001 ★★
() автор топика

> Обратить внимание на настройки порта в биосе.

А что там должно быть?

Лучше поставить SPP/EPP.

Что? Я несовсем понимаю.

Ramzes001 ★★
() автор топика

Номера справа это к кокому выходу на LPT я подключаю.

Ramzes001 ★★
() автор топика

Уточнение: Обратить внимание на настройки LPT-порта в биосе. Лучше поставить SPP/EPP. Схема неплохая, но обязательно укажите нумерацию выводов на микроконтроллере (чтобы можно было проверить). Ищите ошибки в монтаже. Если исправные элементы, нет ошибок в монтаже все должно работать.

yax123 ★★★★★
()
Ответ на: комментарий от Ramzes001

> По поводу генератора: я думал что встроенный RC должен свой мегагерц отработать,

1. Уменьшить частоту до 100 кГц для начала.

2. Конденсаторы на 400 V - это СОВСЕМ не те конденсаторы. Поставить их туда можно, ничего страшного не будет, но ничего и не заработает.

3. ключ "-a" выкинуть вообще.

4. Если все действительно собрано правильно и доступ к порту действительно есть, то должно работать. По крайней мере во время программирования. Для нормального запускабез программатора нужно RESET к 1 подтянуь, а лучше RC-цепочку сбрасывающую поставить.

alexru ★★★★
()
Ответ на: комментарий от alexru

И еще, что такое «питание от USB»? Прсто 2 провода в порт? У Вас есть уверенность, что питание на порту действительно есть?

alexru ★★★★
()
Ответ на: комментарий от alexru

> Для нормального запускабез программатора нужно RESET к 1 подтянуь, а лучше RC-цепочку сбрасывающую поставить.

А можно про это поподробнее? Просто это моя первая схема.

Ramzes001 ★★
() автор топика
Ответ на: комментарий от alexru

> И еще, что такое «питание от USB»? Просто 2 провода в порт? У Вас есть уверенность, что питание на порту действительно есть?

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

Ramzes001 ★★
() автор топика
Ответ на: комментарий от Ramzes001

> А можно про это поподробнее? Просто это моя первая схема.

Подробнее в даташите и в книгах по электронике. Кратко - резистор 10k на +5v.

Может для первой схемы что попроще выбрать? Или можно увидеть фото спаянного? А то есть подозрение почему ничего не работает :)

Еще можно проверить нумерацию ножек контроллера. В даташитах рисуют «вид сверху» обычно, это нужно учитывать.

alexru ★★★★
()
Ответ на: комментарий от alexru

http://fotoifolder.ru/view_foto/u101mmbhz398/

В даташитах рисуют «вид сверху» обычно, это нужно учитывать.

Я по виду сверху и ориентировался.

Может для первой схемы что попроще выбрать?

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

Ramzes001 ★★
() автор топика
Ответ на: комментарий от Ramzes001

Выглядит не плохо.

Под «попроще» имеется в виду схема, где может быть больше компонентов, но ничего не нужно программировать, мультивибратор там какой на 2-х транзисторах или типа того.

А тут очень много чего может быть не так и без приборов трудно будет понять что именно не так. Причем проблема может быть как в доморощенном программаторе, настройках порта, операционке, сборке самой схемы.

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

alexru ★★★★
()
Ответ на: комментарий от alexru

Мультимитр есть, подскажите пожалуйста как и что нужно проверять? При подключении где какое напряжение должно быть?

Ramzes001 ★★
() автор топика
Ответ на: комментарий от Ramzes001

В первую очередь Vcc должен быть +5v, потом Reset в высоком уровне, более или менее постоянно (может дернуться в 0 при начале программирования). Мультиметр усредняет значения, но обычно разницу можно заметить когда подается постоянный уровень и частота, так что во время попыток программирования показания мультиметра на линии SCK должны меняться. MISO/MOSI аналогично.

alexru ★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.