Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Выпендривается ATMega64
Форум разработчиков электроники ELECTRONIX.ru > Микроконтроллеры (MCs) > AVR
UniBomb
Есть прибор, сердцем которого является вышеупомянутый мк. Никогда ещё с 64 мегой дела не имел, но понадобилось. Суть проблемы такова - микроконтроллер неподдаётся ни чтению себя, не записи себя же. Программатор ISP от аргуссофта. Рабочий. Полазав по форуму и обнаружив похожие темы я увидел, что все проблемы с этим камне возникали из-за того, что неверно был распаян разъём для программатора. У меня же всё сделано правильно:

программатор мк

MOSI -> RxD0
RESET -> RESET
SCK -> SCK
MISO -> TxD0

Вывод PEN был сначала в воздухе, потом я его поддянул к +5V. Результат не изменился. МК до этого не прошивал, соответсвенно фузы должны быть прошиты по умолчанию и работать мк должен от внутренней RC-генератора.

Работоспособность программаотра проверялась чтением/зписью другого мк (16-той меги).

Сил уже нет думать.... Может кто подскажет что же я делаю не так?
Axxel
А прибор покупной? А не стоят ли там биты защиты от копирования?
UniBomb
Нет, прибор делал я. Плата сделана методом принтера/утюга. Распаяна тоже мной. Соплей и обрывов дорожек нет - проверено более чем единожды.
Nanobyte
А с питанием всё в порядке? Все линии Vcc и GND подключены? Ещё может без AVcc не работать.
UniBomb
Питание ровно 5 вольт. Питаю от лабораторного источника питания, пульсаций нет..

AVcc незапитывал, т.к. АЦП не использую... счас попробую.

Непомогло. Ничего даже не изменилось.
EugeNNe
У меня была похожая ситуция. Не помнюкакая мега...то ли 64 то ли 640, но вроде 64-я. Не хотела конектится через SPI. Оказалось что была запрещена работа через SPI путём установки соответствующего фьюза. Выяснилось это когда подключили данный камень через JTAG. Оказалось что раньше человек работал с этим чипом засунув его в STK500 + STK503. А казалось что чип то новый...Попробуйте как нибудь через житаг включить...может у вас тоже проблема с этим фузом ....SPIEN вроде он называется....разрешение программирования через SPI
GDI
Может попробовать кварц какой нить прицепить, вдруг он на внешний кварц настроен, или еще лучше подать меандр на XTAL1? А сигнатура то хоть читается?
UniBomb
2 BigBolt

Нет, контроллер абсолютно новый. Это точно. Я на фирме один разраб, а JTAGa у меня нет)))

2 GDI Впаян кварт на 14,7456 МГц. Дальнейшая работа предполагается от него... Сигнатура не читается.
EugeNNe
Сходил на склад и взял новую Мегу640 из упаовки и засунул в STK503. Посмотрел фузы....SPIEN по умолчанию установлен (см. скриншот). Посмотрите осцилографом сигналы c программатора, обратите внимание на сигнал RESET, есть ли он...Была проблема с ТИНИ13 и STK500. Другие чипы шились, а она нет. Оказалось что сигнал ресета надо отдельно подключать...

Вот ещё что вспомнил....Сигнал тактирования SCK должен быть в определённом соотношении с тактовым сигналом МК (не более чем Fsys/4 вроде как)...Ели выше не будет конектится...Нужно проверитьч то там генерит программа-прошивалка...
UniBomb
Цитата
обратите внимание на сигнал RESET

Чётко падает в "0" при программировании.

Цитата
Оказалось что сигнал ресета надо отдельно подключать...

Что значит подключать отдельно? Так у меня ножка ресета подтянута к плюсу резюком на 6,8кОм.

Цитата
Вот ещё что вспомнил....Сигнал тактирования SCK должен быть в определённом соотношении с тактовым сигналом МК (не более чем Fsys/4 вроде как)...Ели выше не будет конектится...Нужно проверитьч то там генерит программа-прошивалка...

Здесь всё в норме... Менял длину сигнал - не помогает...
Kuzmi4
Цитата(UniBomb @ Apr 24 2008, 14:34) *
Чётко падает в "0" при программировании.
Что значит подключать отдельно? Так у меня ножка ресета подтянута к плюсу резюком на 6,8кОм.
Здесь всё в норме... Менял длину сигнал - не помогает...


Приведите схему подключения пожалуста - думаю так будет просче разобраться...
EugeNNe
Цитата(UniBomb @ Apr 24 2008, 15:34) *
Что значит подключать отдельно? Так у меня ножка ресета подтянута к плюсу резюком на 6,8кОм.

Это касается только STK500. Для некоторых чипов сигнал ресета не подведён по умолчанию и требуется подключать путём коммутации определённых перемычек. У вас всё верно сделано.
Поробуйте другой программатор всё таки.
sysel
Попробуйте замедлить работу программатора (в настройках указать Delay по-больше).
А ещё проверьте, есть ли генерация на кварце, и на какой гармонике (если корпус кварца не заземлен - можно осцилографом прямо на корпусе увидеть).

С 64ми не работал, но со "старшим братом" 128м никогда подобных проблем не возникало.
Программатор самодельный на 74НС244, программирую из-под CodeVisionAVR
UniBomb
Всем огромное спасибо, проблема решена.

Причина была вот в чём - модуль УСАРТ я использую по назначению. На нём сидит микросхема ADM2483. Так вот он на линии RxD0 удерживала сигнал высокого уровня. Сответсвенно данные с программатора в мк не поступали. Обрезал дорожку между мк и интерфейсной микросхемой и всё заработало.

Встал теперь другой вопрос - как мне быть дальше? Ставить джампер? Мне кажется это решение не очень практично....
Kuzmi4
2 UniBomb - попробуйте резистор в место разреза засандалить - по идее должно сработать...
Только резюк скорость вам зарежет... sad.gif
GDI
Гдето в сети встречал вариант использования в таким случае мультиплексора 2х4 управление направлением осуществлялось сигналом ресет, т.е. когда программатор подает ресет на схему, то мультиплексор переключает сигнал с программатора на МК, а в нормальном режиме работв ресет находится в высоком состоянии и мультиплексор подключает МК к схеме.
Более простой вариант - использовать последовательный резистор в линии к ADM2483, но может и не прокатить.
UniBomb
Цитата
попробуйте резистор в место разреза засандалить - по идее должно сработать...
Только резюк скорость вам зарежет...

Попробую)) Насчёт скорости посмотрим, может и хватит))

Цитата
Гдето в сети встречал вариант использования в таким случае мультиплексора 2х4 управление направлением осуществлялось сигналом ресет, т.е. когда программатор подает ресет на схему, то мультиплексор переключает сигнал с программатора на МК, а в нормальном режиме работв ресет находится в высоком состоянии и мультиплексор подключает МК к схеме.

Подобная мысль уже пришла ко мне в голову))) Только я хотел использовать полевик или оптрон))

Всем спасибо, тему можно считать окончательно закрытой))
Nick_Shl
Цитата(UniBomb @ Apr 24 2008, 15:40) *
Встал теперь другой вопрос - как мне быть дальше? Ставить джампер? Мне кажется это решение не очень практично....
Ещё можно вместо нулевого порта(TXD0/RXD0) использовать первый (TXD1/RXD1)... Или использовать бутлоадер и шится по ком потру.
million68
Цитата(UniBomb @ Apr 24 2008, 15:40) *
На нём сидит микросхема ADM2483. Так вот он на линии RxD0 удерживала сигнал высокого уровня. Сответсвенно данные с программатора в мк не поступали. .

Подтяните ногу 4 RE ADM243 резистором к VCC, тогда при программировании (reset=0) все ноги Меги в Z-состоянии, а "1" на RE приведет к "...and driving it high disables the receiver."
Flasher
Правильный ответ- использование бутлоадера.Например http://progloader.nm.ru/ Или другие варианты. Изменять схему- это не есть хорошо.
ReAl
Цитата(UniBomb @ Apr 24 2008, 15:57) *
Попробую)) Насчёт скорости посмотрим, может и хватит))
Не то место, где надо про это волноваться.
Даже_10_килоом * даже_100_пФ = всего_1_мкс.
Это помешает SPI-ной флешке, см тему про программатор и флешку http://electronix.ru/forum/index.php?showtopic=46712
Но это уже не помешает UART-у на 115200.
А на самом деле можно поставить пару килоом и ёмкость входа с монтажом реально не 100, а пусть 10пФ, итого это даже на 921600 мешать не будет и даже на нескольких МГц SPI.

У меня в какой-то системе на SPI кроме флешки висели часы с 3-проводным интерфейсом, одна двунаправленная линия данных, которая выходила из Hi-Z при чтении из часов. Ну так просто между MOSI и MISO был резистор 2,4к и часы своей одной ногой висели на MISO. При выходе из Hi-Z часы пересиливали резистор и передавали в контроллер, а при записи в часы данные на них подавались через последовательные 2,4к. SPI 2MHz шуршал без проблем, а там по ёмкости была и IO-нога часов, и выходная флешки, и вход MISO самого контроллера.
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Invision Power Board © 2001-2025 Invision Power Services, Inc.