-
06.02.2012, 11:30 #16
- Регистрация
- 26.02.2006
- Адрес
- Рыбинск, Ярославская обл.
- Возраст
- 42
- Сообщений
- 783
- Поблагодарили
- 157
- Поблагодарил
- 478
С уважением, Алексей. UA3MQJ
-
06.02.2012, 11:46 #17
- Регистрация
- 01.05.2009
- Адрес
- РФ
- Возраст
- 48
- Сообщений
- 174
- Поблагодарили
- 11
- Поблагодарил
- 11
А подробнее можно ?
На данный момент под W7 не видится вообще этот программатор.Может косяк в винде самой.
Буду ломать голову дальшеС уважением! Сергей (RU3KR)
-
06.02.2012, 12:13 #18
- Регистрация
- 26.02.2006
- Адрес
- Рыбинск, Ярославская обл.
- Возраст
- 42
- Сообщений
- 783
- Поблагодарили
- 157
- Поблагодарил
- 478
У меня работало под WIN XP. Тут на работе W7, так под ней даже AVRStudio4 ставиться не хочет. Так что вполне может быть, что дело в ОС.
А видеться он должен изначально хотя бы в списке устройств, как КОМ порт. После этого уже можно идти разбираться дальше.С уважением, Алексей. UA3MQJ
-
06.02.2012, 12:20 #19
- Регистрация
- 01.05.2009
- Адрес
- РФ
- Возраст
- 48
- Сообщений
- 174
- Поблагодарили
- 11
- Поблагодарил
- 11
-
06.02.2012, 12:32 #20
- Регистрация
- 26.02.2006
- Адрес
- Рыбинск, Ярославская обл.
- Возраст
- 42
- Сообщений
- 783
- Поблагодарили
- 157
- Поблагодарил
- 478
Если как неизвестное устройство - это нормально. Надо inf подставить - и все сразу заработает. Под 7-кой надо пробовать. Еще ставьте порт 1 или 2, чтобы программа могла найти порт.
С уважением, Алексей. UA3MQJ
-
06.02.2012, 12:37 #21
- Регистрация
- 01.05.2009
- Адрес
- РФ
- Возраст
- 48
- Сообщений
- 174
- Поблагодарили
- 11
- Поблагодарил
- 11
Последний раз редактировалось RU3KR; 06.02.2012 в 12:37. Причина: Добавлено сообщение
С уважением! Сергей (RU3KR)
-
06.02.2012, 23:39 #22
- Регистрация
- 01.05.2009
- Адрес
- РФ
- Возраст
- 48
- Сообщений
- 174
- Поблагодарили
- 11
- Поблагодарил
- 11
Пробовал,так называемый программатор Громова, что то и сможет шить...мне удалось успешно мегу8 и мегу16 прошить.Вроде верификация прошла,ошибок не наблюдалось. прошивал UniProf
С уважением! Сергей (RU3KR)
-
07.02.2012, 14:24 #23
- Регистрация
- 01.05.2009
- Адрес
- РФ
- Возраст
- 48
- Сообщений
- 174
- Поблагодарили
- 11
- Поблагодарил
- 11
Сложилась следующая проблема при запуске FT2232D+Avreal
как описывается http://www.arts-union.ru/node/99
устройство определилось нормально,драйвера стали вроде ровно,определились два порта
командная строка для проверки устройства avreal32.exe +mega32 -pd="DLP2232M A",s="FTPOH771A" -aft2232:reset=adbus4:enable=adbus3 -r test.hex >test.txt
выдает мне
Command:
+mega32 -rtest.hex
Invalid switch t
For short help type
avreal -h
я что то не могу понять....что за ошибка t ?
откуда берется эта команда?
может кто то подскажет ,для чайника,как правильно запустить проверку данного программатора и как прописать строку на это устройство для запуска прошивки?
Или я уже зачитался....или совсем голову себе забил...
что вот это значит?что за вход?
-AD3 идет на вход /CS SPI интерфейса микроконтроллера.Последний раз редактировалось RU3KR; 07.02.2012 в 14:35.
С уважением! Сергей (RU3KR)
-
09.02.2012, 08:34 #24
- Регистрация
- 01.05.2009
- Адрес
- РФ
- Возраст
- 48
- Сообщений
- 174
- Поблагодарили
- 11
- Поблагодарил
- 11
Проблема еще одна проявилась.
Покупаю новый контроллер,вставляю в схему,через Uniprof выставляю галочки fuse,кликаю кнопочку Write и получаю в итоге тишину.
Контроллер больше не откликается программатору.
Вот мне подсказали....что...некоторые программы для проливки контроллеров отличаются инверсией установки fuse, т.е. где должны в одной программе стоять галочки,то в другой их там как раз не должно быть,а отмечаются наоборот те,которые не должны записываться.
Кто с таким сталкивался ? И каким теперь можно параллельным программатором все это хозяйство вернуть к жизни контроллеры?С уважением! Сергей (RU3KR)
-
09.02.2012, 10:06 #25
- Регистрация
- 09.08.2003
- Адрес
- Дюссельдорф, Германия
- Возраст
- 71
- Сообщений
- 1,252
- Поблагодарили
- 169
- Поблагодарил
- 52
ATMEGA Fuse bits doctor :
http://www.radiolocman.com/shem/sche....html?di=65084
http://www.radiolocman.com/shem/sche....html?di=64952
на русском, самая обширная информация по теме
http://www.getchip.net/posts/059-isp...usebit-doctor/
Почитайте доку к программе UniProf73! Владимир
-
09.02.2012, 23:40 #26
- Регистрация
- 09.08.2003
- Адрес
- Дюссельдорф, Германия
- Возраст
- 71
- Сообщений
- 1,252
- Поблагодарили
- 169
- Поблагодарил
- 52
И всё-таки проблема правильных установок фьюзов, см. архив темы о фьюзебитс докторе
http://www.cqham.ru/forum/showthread.php?t=16472
Читать здесь
http://www.getchip.net/posts/068-kak...yuzy-fuse-bit/ - здесь показаны на картинках примеры установки фьюзов для различных программПоследний раз редактировалось DL7PGA; 09.02.2012 в 23:55.
73! Владимир
-
11.02.2012, 15:11 #27
- Регистрация
- 01.05.2009
- Адрес
- РФ
- Возраст
- 48
- Сообщений
- 174
- Поблагодарили
- 11
- Поблагодарил
- 11
Вот и победил устройство!
На самом деле...или понипрог криво зашивает,или дело в инверсии FUSE в разных софтах для программирования.
Но все же больше я склоняюсь к инверсии . Тут внимательнее стоит почитать!
Но восстановил все убитые контроллеры при помощи Phyton ChipProg ,выставил через нее же FUSE.....теперь все работает.
Дальше буду проводить опыты с доктором,по ссылке. Плата уже в процессе сборки,атмега под него уже зашита
НЕБОЛЬШОЙ ЛИКБЕЗ ПО НАЗНАЧЕНИЮ ФЬЮЗОВ.
Здесь описаны не все фьюзы – только основные. Подробнее (и правильнее) о фьюзах нужно смотреть в даташитах на каждый конкретный микроконтроллер.
CKSEL – выбор тактового генератора для микроконтроллера.
Для работы микроконтроллера (как и для любого процессора) нужны тактовые импульсы. Источником тактового сигнала может быть:
– внутренний RC генератор. Никаких дополнительных элементов не нужно. Удобно, но RC генератор имеет небольшую точность работы (вплоть до 10% погрешности) и, кроме того, «плывет» от температуры. Для некритичных по времени приложений вполне годиться.
– внешний кварцевый (или керамический) резонатор. Нужен сам резонатор, плюс два конденсатора на 15-30пФ. Соответственно, будут заняты две ножки микроконтроллера – XLAT1 и XLAT2. Применяется там, где нужны точные замеры времени или частота работы микроконтроллера выше, чем может дать внутренний RC генератор.
– еще можно тактировать микроконтроллер от внешнего источника тактового сигнала. Это может быть другой микроконтроллер (для синхронизации работы) или внешняя схема, дающая нужный сигнал. Тактовый сигнал подается на ножку XLAT1.
Источник тактового сигнала для микроконтроллера задается комбинацией битов CKSEL3…0.
Это может быть (для ATTiny2313, выборочно):
CKSEL3…0 = 0000 – Внешний тактовый сигнал;
CKSEL3…0 = 0010 – Внутренний тактовый генератор – частота 4 МГц;
CKSEL3…0 = 0100 – Внутренний тактовый генератор – частота 8 МГц;
CKSEL3…0 = 1101 – Внешний тактовый генератор – кварц частотой от 3 до 8 МГц;
CKSEL3…0 = 1111 – Внешний тактовый генератор – кварц частотой больше 8 МГц.
Как оживить микроконтроллер, если неправильно установлены CKSEL?
Если Вы выставили фьюз биты на внешний генератор, а его нет, то микроконтроллер «пропадет» для программатора. В этом случае придется припаять кварц к соответствующим ножкам или подать тактовые импульсы на ножку XLAT1 микроконтроллера.
В «боевых» условиях получить тактовый сигнал можно несколькими способами:
– собрать несложный генератор на логике – паять можно прямо на ножках логики;
– если рядом имеется осциллограф, то у него есть источник образцового сигнала. Частота его, обычно, не большая, но фьюзы исправить хватит;
– если есть еще один микроконтроллер – делаем выход тактового сигнала на ножку микроконтроллера (нужно запрограммировать фьюз CKOUT) и подаем этот сигнал на XLAT1;
– есть еще «метод пальца» – крайне не рекомендую…
CKOUT – разрешает вывод тактовой частоты на ножку CLKO микроконтроллера (для тактирования других устройств).
CKOUT = 1 – ножка микроконтроллера работает как обычный порт ввода-вывода;
CKOUT = 0 – на ножку микроконтроллера выдается сигнал тактового генератора.
CKOPT – задает размах тактового сигнала на внешнем генераторе.
CKOPT = 1 – размах небольшой – генератор работает в экономном режиме. Нормально генератор может работать лишь при небольших частотах и в условиях близким к идеальным. При значительных помехах, большой тактовой частоте, перепадах (скачках) напряжения питания, микроконтроллер может работать нестабильно;
CKOPT = 0 – задающий генератор работает на полную мощность, устойчив к помехам и может работать во всем диапазоне частот. Если нет особых требований к энергосбережению – советую всегда программировать этот бит.
SCKDIV8 – деление тактовой частоты на 8.
Тут все просто:
SCKDIV8= 1 – микроконтроллер работает на частоте задающего генератора;
SCKDIV8= 0 – микроконтроллер работает на частоте в 8 раз меньше частоты задающего генератора;
SUT – задает скорость запуска микроконтроллера.
После снятия «сброса» (или подачи питания) программа, записанная в микроконтроллер, начинает работать не мгновенно. Микроконтроллер выжидает некоторое время, для того, чтобы нормально запустился тактовый генератор, установилось напряжение питания и т.д. Время ожидания до запуска программы и задают биты SUT1…0. Чаще всего нам не критична скорость запуска, поэтому советую ставить на максимум.
SUT1..0 = 11 – максимальное время запуска (чуть больше 65 mS).
На время запуска еще влияет CKSEL0, но это уже детали …
RSTDISBL –разрешает использовать ножку Reset как еще один порт ввода-вывода.
Иногда нужная вещь, но нужно знать -
после программирования RSTDISBL микроконтроллер уже нельзя будет прошить последовательным программатором! Поэтому без особой надобности не трогайте его.
RSTDISBL = 1 – ножка сброса работает как сброс;
RSTDISBL = 0 – ножка сброса работает как еще один порт ввода-вывода, последовательное программирование отключено.
SPIEN – разрешение на последовательное программирование.
По умолчанию запрограммирован (0) – разрешено последовательное программирование.
SPIEN = 0 – разрешено последовательное программирование;
SPIEN = 1 – запрещено последовательное программирование.
WDTON – включает Watch Dog Timer.
Для ответственных приложений, там, где недопустимо зависание программы (будь то ошибка программы или злостная помеха), применяют Watch Dog Timer. Это внутренний таймер микроконтроллера, работающий от своего независимого генератора. При переполнении этого таймера микроконтроллер сбрасывается и начинает выполнять программу с начала. Программист должен в тесте программы (обычно в главном цикле) вставить специальную команду обнуления этого таймера (WDR). Команда периодически выполняется и обнуляет таймер, не давая ему переполнится. Если микроконтроллер «повис» перестают выполняться команды обнуления, таймер переполняется и сбрасывает микроконтроллер.
WDTON = 1 – Watch Dog Timer – отключен (можно включить программно);
WDTON = 0 – Watch Dog Timer – включен (программно выключить нельзя).
В обычных приложениях не нужен.
BODLEVEL и BODEN – контроль напряжения питания микроконтроллера (Brown-out Detector).
Если питание микроконтроллера опуститься к минимально допустимому или чуть ниже, то работа микроконтроллерабудет нестабильной. Возможны ошибочные действия, потеря данных, случайное стирание EEPROM. Микроконтроллер умеет следить за уровнем своего питания (BODEN=0) и когда оно достигает уровня, который задается битами BODLEVEL, сбрасывается и держится в ресете пока уровень не поднимется до рабочего уровня. В некритических приложениях можно не использовать.
JTAGEN – разрешает интерфейс JTAG (внутрисхемный отладчик).
При активации некоторые линии микроконтроллера отдаются под интерфейс. Но зато можно подключать JTAG отладчик и с его помощью легко отладить любую программу прямо в схеме – удобно.
JTAGEN = 1 – запрещен JTAG;
JTAGEN = 0 – разрешен JTAG.
DWEN – бит, разрешающий работу DebugWire
– еще одного отладочного интерфейса. DebugWire однопроводный отладочный интерфейс работающий через ножку сброса, поэтому «не отнимает» у микроконтроллера ножки портов ввода-вывода.
DWEN= 1 – запрещен DebugWire ;
DWEN= 0 – разрешен DebugWire .
AVR микроконтроллеры могут во время своей работы изменять содержимое области программ (программировать сам себя).
SELFPRGEN – бит, разрешающей программе производить запись в память программ.
SELFPRGEN = 1 – изменение области программ запрещено;
SELFPRGEN = 0 – разрешено изменение области программ.
EESAVE – защита EEPROM от стирания.
При подаче команды полного стирания микроконтроллера (обычно осуществляется при каждом программировании кристалла) стирается и EEPROM. Если Вы хотите чтобы EEPROM оставалось нетронутой – активируйте этот фьюз. Это актуально если в EEPROM хранятся важные данные.
EESAVE = 1 – стирать EEPROM вместе с Flash;
EESAVE = 0 – оставлять EEPROM при очистке нетронутым.
AVR микроконтроллеры могут иметь бутлоадер – это область в конце памяти, в которой можно разместить загрузчик, который предназначен для загрузки и запуска основной программы.
BOOTRST – как раз и заставляет микроконтроллер запускаться с области бутлоадера.
BOOTRST = 1 – микроконтроллер запускает программу с нулевого адреса;
BOOTRST = 0 – микроконтроллер запускает программу с бутлоадера.
BOOTSZ0..1 – задает размер бут сектора (области памяти программ для бутлоадера).
Lock Bits – Это отдельный фьюз байт который предназначен для защиты области программ и/или EEPROM от копирования. Полное стирание восстанавливает эти биты в исходное состояние.
Еще раз повторюсь, это не полный перечень фьюз бит, для каждого конкретного микроконтроллера смотрите даташит.
Позже выложу схему и описание восстановления первоначальной конфигурации . Контроллеры не убиваются не правильной прошивкой,просто меняется назначение некоторых выводов...на сколько я понял. И все восстанавливаетсяС уважением! Сергей (RU3KR)
-
12.02.2012, 18:06 #28
- Регистрация
- 09.08.2003
- Адрес
- Дюссельдорф, Германия
- Возраст
- 71
- Сообщений
- 1,252
- Поблагодарили
- 169
- Поблагодарил
- 52
Ой! Ну зачем же всю статью цитировать, можно было и файл со статьёй как аттач навесить.
73! Владимир
-
12.02.2012, 18:10 #29
- Регистрация
- 01.05.2009
- Адрес
- РФ
- Возраст
- 48
- Сообщений
- 174
- Поблагодарили
- 11
- Поблагодарил
- 11
Сразу в глаза кидается и народ не повторит может мои проблемные петли "тыкание слепых котят"
С уважением! Сергей (RU3KR)
-
12.02.2012, 23:47 #30
- Регистрация
- 09.08.2003
- Адрес
- Дюссельдорф, Германия
- Возраст
- 71
- Сообщений
- 1,252
- Поблагодарили
- 169
- Поблагодарил
- 52
Каждый проходит весь этот путь и наступает при этом на те же самые грабли. У Вас это как-то быстро получилось с решением проблем, а те, кто прочитал, возьмут, да и повторят, я имею ввиду, все Ваши ошибки. Раз никто не откликается, значит ещё ошибок не делали
У меня другой прикол - USB программатор ни в какую не хотел узнаваться, несмотря на установленный драйвер, потому что я упорно пытался подсунуть программе AVRDUDE через Burn-O-Mat for Windows USB девайс, пока не посмотрел, что у меня там на самом деле стоит - оказалось - СОМ3. Сразу получилось, но только наполовину - программатор есть, а микрухи на другом конце нет, само собой не найдёт он её. Но видно, что программатор работает и подмигивает весело светодиодиками. Осталось теперь целевую плату ему подсунуть. Кстати, у производителя программатора есть программка бесплатная для прожига AVR, установки не требует, но нужно быть внимательным с фьюзами, они выставляюся вручную. Успехов!73! Владимир
Социальные закладки