реклама на сайте
подробности

 
 
> программатор для AVR
Voice2001
сообщение Dec 17 2011, 14:34
Сообщение #1


Местный
***

Группа: Свой
Сообщений: 240
Регистрация: 29-01-08
Из: эМ-ск
Пользователь №: 34 553



просьба не пинать
наверняка вопрос обсуждался миллион раз, но не нашел ответа. Излазил весь форум и инет, видимо не хватает знаний, чтобы понять, о чем пишут и подходит ли это мне.
в общем, задался целью начать собирать схемы на avr'ках, купил самоучитель Белова А.В., все прочитал, все понял. Купил Tiny2313. Но в книжке дается программатор для LPT. На нотебуке ЛПТ нету...
В инете есть программаторы для USB, но, насколько я понял, сначала нужно где-то запрограммировать Мегу, которая там используется, а уже потом припаивать.....
Вщм, ткните плз носом, где достать, как спаять нормальный ЮСБишный программатор с нуля. Только это останавливает на пути к приключениям в волшебном мире МК экспериментам

------------
update 2011.12.17 23:58
копаясь глубже, обнаружил этот текст. Оставлю ссылку на него здесь для таких же начинающих (наверно писал его опытный человек и знает, о чем говорит).
Вкратце, на данный момент, если у вас НИЧЕГО нет:
1. либо пользоваться простым программатором через LPT или COM
2. использовать преобразователь usb-com на FT232RL, который вроде как трудно найти и сложно паять (для начинающего) из-за мелкого шага между ножками
3. использовать кабель от телефона (?)


--------------------
Продаю котят. Недорого. 50р ведро.
Go to the top of the page
 
+Quote Post
8 страниц V  « < 4 5 6 7 8 >  
Start new topic
Ответов (75 - 89)
Voice2001
сообщение Dec 26 2011, 10:06
Сообщение #76


Местный
***

Группа: Свой
Сообщений: 240
Регистрация: 29-01-08
Из: эМ-ск
Пользователь №: 34 553



prottoss, но ведь в программе, листинг которой я привел в 54-м сообщении, есть только инициализация портов. Фьюзы мы никак не трогаем.

У меня есть подозрения, что кроме порчи фьюзов, мы можем испортить микросхему неправильно работой программатора.
Чтобы считать переход в режим программирования успешным, ему нужно всего несколько байт. Тогда как программа заливается длинная и во время заливки этого килобайта могут быть какие-то проблемы в передачи информации. Типа как повреждение пакета во время пересылки данных по сети ethernet. Но TCP/IP эти ошибки ловит и исправляет, а вот есть ли такое у программатора? Проверяет ли он заливаемую программу налету?
Повторюсь, если делать верификацию, то в CodeVisionAVR она НЕ проходит. Т.е. сначала заливается программа, потом сразу следом за ней идет верификация, и на этом этапе ловятся ошибки несоответствия того, что должно быть, с тем, что реально прочитано.


--------------------
Продаю котят. Недорого. 50р ведро.
Go to the top of the page
 
+Quote Post
zhevak
сообщение Dec 26 2011, 10:07
Сообщение #77


Знающий
****

Группа: Свой
Сообщений: 723
Регистрация: 29-08-05
Из: Березовский
Пользователь №: 8 065



Цитата(prottoss @ Dec 26 2011, 15:32) *
Еще раз Вам напоминаю, что от того, что Вы залили в чип неверную-кривую программу, МК не сипортится и будет нормально определятся-читаться-писаться программатором. Одно, НО - если только ПО, которое Вы используете, само не прошило фьюз-биты.

Однако, мысль правильная!

Я тоже когда-то давным-давно сидел под гламурной Виндушечкой и юзал CodeVision. Припоминаю, что там где-то есть настройки, которые автоматически устанавливают фьюзы после заливки кода во флеш. Наверняка у ТС это и происходит -- он после заливки программирует фьюзы, которые, скорее всего, он даже и не задавал. А раз они не заданы правильно (стоят как попало), то в результате проц захлапывается.


--------------------
Хочешь рассмешить Бога -- расскажи ему о своих планах!
Go to the top of the page
 
+Quote Post
Voice2001
сообщение Dec 26 2011, 10:10
Сообщение #78


Местный
***

Группа: Свой
Сообщений: 240
Регистрация: 29-01-08
Из: эМ-ск
Пользователь №: 34 553



Цитата(zhevak @ Dec 26 2011, 14:07) *
Я тоже когда-то давным-давно сидел под гламурной Виндушечкой и юзал CodeVision

но эта проблема происходит и при пользовании SinaProg'ом (avrdude): пишем в чип одно, а читается совсем другое. Фьюзы при этом не меняются (остаются такими же, как и ДО заливки программы).


--------------------
Продаю котят. Недорого. 50р ведро.
Go to the top of the page
 
+Quote Post
zhevak
сообщение Dec 26 2011, 11:21
Сообщение #79


Знающий
****

Группа: Свой
Сообщений: 723
Регистрация: 29-08-05
Из: Березовский
Пользователь №: 8 065



Цитата(Voice2001 @ Dec 26 2011, 16:10) *
но эта проблема происходит и при пользовании SinaProg'ом (avrdude): пишем в чип одно, а читается совсем другое. Фьюзы при этом не меняются (остаются такими же, как и ДО заливки программы).

Очень походит на несоответствие форматов файлов с кодами для заливки. Я не знаю SianaProg. Я использую avrdude и тот из-под Линуха. Компиляцию выполняю с помощью avr-gcc, на выходе получаю файл в формате elf. Затем перегоняю из него машинные коды для заливки с помощью avr-objcopy и сохраняю их в файле hex-формата. И наконец, полученный hex-файл скармливаю avrdude-у.

Но, на сколько я помню, в CodeVision (ver.1.25.8) был встроенный модуль, который позволял прошивать МК не выходя из среды программирования. Почему Вы не пользуетесь этой возможностью?

Я не помню, какой выходной формат файлов у CodeVision. Вполне может оказаться так, что он будет несовместим с форматом-по-умолчанию, принятым в avrdude. Может здесь собака зарыта?

updete
Сейчас посмотрел на Ваши hex-файлы... Не. Похоже, чушь сморозил.
Заархивируйте и выложите весь проект.


--------------------
Хочешь рассмешить Бога -- расскажи ему о своих планах!
Go to the top of the page
 
+Quote Post
Voice2001
сообщение Dec 26 2011, 11:36
Сообщение #80


Местный
***

Группа: Свой
Сообщений: 240
Регистрация: 29-01-08
Из: эМ-ск
Пользователь №: 34 553



zhevak, я заливал программу И SinaProg'ом, И CodeVisionAVR'ом. Результат был похож - если программа близка или больше 1кб, данные заливались, но читались с ошибками.
ПС. да и по-моему, "заливателю" совершенно фиолетово, какого формата файл. Есть ГОТОВЫЙ hex - это программа, скомпилированная для выбранного МК (tiny2313). Т.е. она именного такого формата, который подходит для используемого МК.

Цитата(zhevak @ Dec 26 2011, 15:21) *
Заархивируйте и выложите весь проект.

вот
Прикрепленные файлы
Прикрепленный файл  TestTinkling_C.zip ( 19.28 килобайт ) Кол-во скачиваний: 12
 


--------------------
Продаю котят. Недорого. 50р ведро.
Go to the top of the page
 
+Quote Post
prottoss
сообщение Dec 26 2011, 12:07
Сообщение #81


Гуру
******

Группа: Свой
Сообщений: 2 720
Регистрация: 24-03-05
Пользователь №: 3 659



Посмотрел, что такое sinaprog вот тут http://easyelectronics.ru/sinaprog-grafich...ya-avrdude.html
Вот теперь по первому основному окошку скажите, какой тип программатора Вы выставляете, и что вообще делает с выпадающими списками.

Поймите, программатору уже 5 лет в обед, и только Вам, оказывается достался нехороший sm.gif Наверное проблема не в нем...


--------------------
Go to the top of the page
 
+Quote Post
Voice2001
сообщение Dec 26 2011, 12:21
Сообщение #82


Местный
***

Группа: Свой
Сообщений: 240
Регистрация: 29-01-08
Из: эМ-ск
Пользователь №: 34 553



prottoss, не-не-не, я ж не говорю, что конструкция программатора неудачная. Возможен или брак, или я чего-то не учел и криво подключаю (что скорее всего). В этом-то и пытаюсь разобраться.
В СинаПрог выбираю:
Device: ATtiny2313
Fuses: (ничего не выбрано, кнопка Program недоступна. Только по нажатию "Advanced..." появляется др.окошко, в котором прописаны фьюзы, об их значениях писал в 52-м сообщении)
Programmer: AVR910, COM2, 19200

Скорость 19200 я проставил везде: и в СинаПрог, и в КодВизионАВР, и в диспетчере устройств в св-вах своего программатора, который висит на COM2


--------------------
Продаю котят. Недорого. 50р ведро.
Go to the top of the page
 
+Quote Post
prottoss
сообщение Dec 26 2011, 12:40
Сообщение #83


Гуру
******

Группа: Свой
Сообщений: 2 720
Регистрация: 24-03-05
Пользователь №: 3 659



Цитата(Voice2001 @ Dec 26 2011, 18:21) *
Fuses: (ничего не выбрано, кнопка Program недоступна. Только по нажатию "Advanced..." появляется др.окошко, в котором прописаны фьюзы, об их значениях писал в 52-м сообщении)
Programmer: AVR910, COM2, 19200
Скорость 19200 я проставил везде: и в СинаПрог, и в КодВизионАВР, и в диспетчере устройств в св-вах своего программатора, который висит на COM2

Вот если Вы читали статейку, ссылку на которую я давал выше, то там написано красными буквами
Цитата
Но ни в коем случае не забывайте нажать кнопочку READ перед тем как что либо менять. Помните, неустановленные fuse это тоже какое то значение, которое будет записано при нажатии кнопки WRITE


Второе - программатору пофиг, какую скорость Вы выставляете для СОМ-порта, ибо USB.


--------------------
Go to the top of the page
 
+Quote Post
Voice2001
сообщение Dec 26 2011, 12:51
Сообщение #84


Местный
***

Группа: Свой
Сообщений: 240
Регистрация: 29-01-08
Из: эМ-ск
Пользователь №: 34 553



prottoss, СинаПрог пишет только то, что ей говорят записать. Там отдельные кнопки на программу, еепром и фьюзы. Я писал только программу, не трогая фьюзы.
Мое 52-е сообщение это подтверждает, т.к. после программирования (когда тинька при чтении выдавала не те данные, но еще была жива) я читал фьюзы и они оставались неизменными.
Почему же программа в тиньку записывалась криво? Т.е. верификация не проходила...


--------------------
Продаю котят. Недорого. 50р ведро.
Go to the top of the page
 
+Quote Post
prottoss
сообщение Dec 26 2011, 12:59
Сообщение #85


Гуру
******

Группа: Свой
Сообщений: 2 720
Регистрация: 24-03-05
Пользователь №: 3 659



И так, ворачиваемся к посту №52 и конкретно к значению для low fuse:
Цитата(Voice2001 @ Dec 24 2011, 04:08) *
Программа из тиньки удалилась, фьюзы никак не поменялись и остались вот такими (от чистой микросхемы отличаются только calibration и low fuse):
calibration: 00005f60 - кстати, что это? у чистой тиньки в этом месте стоит 00005858
lock bits: 3f
high fuse: df
low fuse: e9 (у чистой в этом месте стоит 64)
ext.fuse: ff

В нижнем байте (low fuse) мы задаем только параметры генератора, и на описанные выше косяки этим байтом особо повлиять не могли...
Во первых, они изменились оказывается, хотя Вы их, вроде как, не меняли. Тем не менее, кто то или что то их поменяло... Сурпрайз однако.

Далее, смотрим, что же вся таки мы там наустанавливали? ... И сверяемся, попутно с даташитом:

LOW FUSE = 0xe9
CKDIV8 = 1 /* делитель на 8 отключен - ОК */
CKOUT = 1 /* генереация тактовой частоты на выводе CKOUT - пофиг */
SUT1 = 1 /* Стартап время - эти значения рекомендуются для керамического резонатора, но еще не фатально */
SUT0 = 0 /* См. выше */
CKSEL3 = 1 /* CKSEL3..1 = 100 This option should not be used with crystals, only with ceramic resonators - надеюсь понятно */
CKSEL2 = 0
CKSEL1 = 0
CKSEL0 = 1 /* В купе с комбинацией CKSEL3 - CKSEL1 для керамического резонатора 0.4 - 0.9 МГц */

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


--------------------
Go to the top of the page
 
+Quote Post
Voice2001
сообщение Dec 26 2011, 13:19
Сообщение #86


Местный
***

Группа: Свой
Сообщений: 240
Регистрация: 29-01-08
Из: эМ-ск
Пользователь №: 34 553



Цитата(prottoss @ Dec 25 2011, 11:49) *
Кстати, еще один шанс попробовать реабилитировать контроллер.
Подайте на XTAL1 частоту с контакта LED программатора.
Выводы RESET и XTAL1 подтяните к напряжению питания программируемого контроллера резисторами 10 - 47 кОм

правильно я понял, что нужно:
- убрать кварц и конденсаторы
- на 5-ю ногу подвести провод со светодиода программатора (подойдет ли выход XTAL1 от программатора)
- и эту же 5-ю ногу соединить через резистор с плюсом питания
- и так же через свой резистор подключить RESET (1-ю ногу) к плюсу питания?

в общем все это проделал (к 5-й ноге подключил XTAL1 от программатора), ничего не получилось - пишет: "не могу войти в режим программирования"


--------------------
Продаю котят. Недорого. 50р ведро.
Go to the top of the page
 
+Quote Post
prottoss
сообщение Dec 26 2011, 13:22
Сообщение #87


Гуру
******

Группа: Свой
Сообщений: 2 720
Регистрация: 24-03-05
Пользователь №: 3 659



Цитата(Voice2001 @ Dec 26 2011, 19:19) *
правильно я понял, что нужно:
- убрать кварц и конденсаторы
- на 5-ю ногу подвести провод со светодиода программатора (подойдет ли выход XTAL1 от программатора)
- и эту же 5-ю ногу соединить через резистор с плюсом питания
- и так же через свой резистор подключить RESET (1-ю ногу) к плюсу питания?

в общем все это проделал (к 5-й ноге подключил XTAL1 от программатора), ничего не получилось - пишет: "не могу войти в режим программирования"
Сделали правильно.

Так как оказалось, что фьюзы все таки изменились?

PS: Почему то кажется, что сейчас услышу ответ "Я не знаю"


--------------------
Go to the top of the page
 
+Quote Post
Voice2001
сообщение Dec 26 2011, 13:37
Сообщение #88


Местный
***

Группа: Свой
Сообщений: 240
Регистрация: 29-01-08
Из: эМ-ск
Пользователь №: 34 553



prottoss, именно sm.gif хз, почему они изменились
кстати, а с чего вы взяли, что они изменились?
повторю сильно вкратце историю своих неудач:
сначала (совсем сначала) купил программатор, собрал мелкую схемку по книжке, все подключил, но не заработало, т.к. забыл подключить провод RESET от программатора, к МК. С тех пор перепроверил шлейф 100500 раз - ВСЕ провода задействованы, кроме XTAL1 (т.к. в схемах присутствовал кварц) и VCC (т.к. питание в схеме свое). Все вроде начало работать
.........................
все, бесполезно это описывать, т.к. с уверенностью не смогу вспомнить, где и что выставлял, когда прошивался. Но на 99% уверен, что НЕ нажимал ProgramAll ни в одной из программ-прошивальщиков, а шил только hex-программу, не трогая фьюзы и eeprom.
Фьюзы менял один раз по книжке, когда шился из CodeVisionAVR и это была самая первая прожка из книжки (она тогда заработала). Больше фьюзы не трогал и оставлял их как есть. Когда программировал, нажимал только "залить программу". При этом "Залить еепром" или "изменить фьюзы" не трогал.

в общем, у меня в запасе еще 5 новеньких тинек, буду экспериментировать..... Надолго ли их хватит?..


--------------------
Продаю котят. Недорого. 50р ведро.
Go to the top of the page
 
+Quote Post
prottoss
сообщение Dec 26 2011, 13:44
Сообщение #89


Гуру
******

Группа: Свой
Сообщений: 2 720
Регистрация: 24-03-05
Пользователь №: 3 659



Цитата(Voice2001 @ Dec 26 2011, 19:37) *
prottoss, именно sm.gif хз, почему они изменились
sad.gif

Цитата(Voice2001 @ Dec 26 2011, 19:37) *
кстати, а с чего вы взяли, что они изменились?
С того, что Вы сами об этом сообщили в посте №52

Цитата(Voice2001 @ Dec 26 2011, 19:37) *
Надолго ли их хватит?..
Зависит от степени Вашей сообразительности.


--------------------
Go to the top of the page
 
+Quote Post
Voice2001
сообщение Dec 26 2011, 13:55
Сообщение #90


Местный
***

Группа: Свой
Сообщений: 240
Регистрация: 29-01-08
Из: эМ-ск
Пользователь №: 34 553



Цитата(prottoss @ Dec 26 2011, 17:44) *
Зависит от степени Вашей сообразительности.

учитывая 6 страниц этой темы, сообразительность у меня невысокая...

воткнул свежую микросхему. Попытался прочитать. 3 раза в течение 5 секунд это почему-то не удалось ("не могу войти в режим программирования").
Потом стал писать ОК. Откуда такая задержка?

после написания этого поста (т.е. прошла еще пара минут), попытался опять прочитать информацию с чипа. Опять не удалось, а следующие 3 раза все ОК......
это вообще как понимать?

в схеме стоит:
тинька2313 - 1шт
кварцевый резонатор на 4МГц в железном корпусе, подключенный к 4 и 5 ноге (XTAL1, XTAL2) - 1шт
конденсаторы на 22пФ подключенные одним концом к резонатору (один - к одной ноге, второй - к другой), вторым на GND - 2шт

1-й вывод тиньки (RESET), 17, 18, 19 (MOSI, MISO, SCK) и GND подключны через шлейф к программатору. Все вроде правильно. Что не так?


--------------------
Продаю котят. Недорого. 50р ведро.
Go to the top of the page
 
+Quote Post

8 страниц V  « < 4 5 6 7 8 >
Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 18th July 2025 - 11:45
Рейтинг@Mail.ru


Страница сгенерированна за 0.01518 секунд с 7
ELECTRONIX ©2004-2016