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

 
 
 
Reply to this topicStart new topic
> ATmega8 + RFM43. Подключение модуля и прошивка МК, особенности подключения МК, радиомодуля и программатора
DWL
сообщение Feb 23 2014, 19:28
Сообщение #1





Группа: Новичок
Сообщений: 5
Регистрация: 1-06-11
Пользователь №: 65 401



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


Увы, но на горьком опыте возник следующий вопрос: как правильно подключить к AtMega8 радиомодуль RFM43.

На данный момент ситуация следующая: когда радиомодуль не впаян в схему: всё отлично прошиваеться.
После припаивания радиомодуля он определяеться, конфигурируеться и тд..
Прошиваю при помощи USBAsp.

Но при попытке перепрошить МК при подключённом модуле avrdude при верификации выдаёт сообщение о несовпадении данных по адресу 0x0000 и после этого МК уже не отзывается. AVR fuse doktor'a пока нету, так что даже не могу проверить в чём дело: сгорает МК или просто лочится из-за влияния радиомодуля.

При перепрошивке выводы радиомодуля NSEL и SHUTDOWN подтягиваю резисторами к питанию. Результат тот же.
Сегодня отрезал дорожку питания к модулю и попробовал прошить новый МК: не помогло, ещё один кристал испорчен sad.gif

Вот электрическая схема и сама ПП
Прикрепленный файл  sxema_s.pdf ( 340.17 килобайт ) Кол-во скачиваний: 183

Прикрепленный файл  sxema.pdf ( 69.62 килобайт ) Кол-во скачиваний: 150


Ну и весть проект
Прикрепленный файл  AVR_RFM.zip ( 77.87 килобайт ) Кол-во скачиваний: 92


Очень прошу, помогите разобраться в причинах происходящего, а то у меня уже небольшая паника начинается....
Go to the top of the page
 
+Quote Post
coolbassnik
сообщение Feb 23 2014, 20:07
Сообщение #2


Участник
*

Группа: Участник
Сообщений: 62
Регистрация: 22-10-10
Из: Украина
Пользователь №: 60 348



Микроконтроллер скорее всего не "лочится", тут просто происходит конфликт с программатором из-за того что RFM подключен именно на порт SPI через который вы прошиваете микроконтроллер. Причина скорее всего в том что RFM сидя на шине SPI просаживает напряжение на выводах SPI и не дает нормально прошить микроконтроллер через ISP порт.
Выход из ситуации - попробуйте подключить модуль RFM через резисторы около 2-5кОм, при этом чтобы от программатора к микроконтроллеру шина была без резисторов. Нужно просто развязать по току RFM и микроконтроллер.
Определить что микроконтроллер не блокируется очень просто - выпаяйте RFM и попробуйте прошить снова, думаю что без RFM программатор успешно будет читать и записывать МК.
Go to the top of the page
 
+Quote Post
DWL
сообщение Feb 24 2014, 03:15
Сообщение #3





Группа: Новичок
Сообщений: 5
Регистрация: 1-06-11
Пользователь №: 65 401



Спасибо за оперативный ответ

В принципе было подозрение, что дело в разводке платы: линии от разъёма программирования идут сначала на RFM, а с него уже на МК.

Выпаивать радиомодуль пробовал, не помогает. МК всё равно не отзываеться sad.gif
Go to the top of the page
 
+Quote Post
Арк К
сообщение Feb 24 2014, 06:47
Сообщение #4


Участник
*

Группа: Участник
Сообщений: 45
Регистрация: 8-05-08
Пользователь №: 37 363



Цитата(DWL @ Feb 23 2014, 23:28) *
При перепрошивке выводы радиомодуля NSEL и SHUTDOWN подтягиваю резисторами к питанию. Результат тот же.
Сегодня отрезал дорожку питания к модулю и попробовал прошить новый МК: не помогло, ещё один кристал испорчен sad.gif

По идее, сигнал выборки радиомодуля (цепь SS на схеме) должен иметь активное состояние в нуле (хотя, по вашей схеме это явно не видно), тогда, если на этом входе будет единица, то выход последовательных данных радиомодуля должен находиться в третьем (High-Z) состоянии и не должен ни на что влиять при прошивке. Говорите, он у вас подтянут к плюсу? Может, радиомодуль неисправен и и садит линии на землю? А последовательные резисторы в данном случае могут ухудшить фронты и привести к трудно обнаруживаемым ошибкам при передаче данных.
Ещё вопрос: зачем у вас SS выведен на разъём программирования? Для прошивки МК он не нужен.
МК может не отзываться по причине установки фьюза, который отвечает за тактирование кристалла, на внешний источник.
Go to the top of the page
 
+Quote Post
octobus
сообщение Feb 24 2014, 08:46
Сообщение #5


Частый гость
**

Группа: Guests
Сообщений: 122
Регистрация: 9-10-13
Из: Дубна
Пользователь №: 78 671



Цитата(DWL @ Feb 23 2014, 23:28) *
При перепрошивке выводы радиомодуля NSEL и SHUTDOWN подтягиваю резисторами к питанию. Результат тот же.
Сегодня отрезал дорожку питания к модулю и попробовал прошить новый МК: не помогло, ещё один кристал испорчен sad.gif


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

Чтобы не портить больше чипов, отрежьте ножки SPI от радимодуля и сделайте на них напаиваемые перемычки. Программируйте без перемычек. В серийном изделии можете поставить двунаправленные буферы которые при подключении программатора отключают радиомодуль от шины SPI. Это если не разбираться в чем причина, а чтобы разобраться, надо посидеть с осциллографом. И конечно понять горят чипы действительно или просто лочатся по фьюзам. Если горят, значит где то серьезно нарушается режим программирования. Но не похоже на это...


Сообщение отредактировал octobus - Feb 24 2014, 08:55
Go to the top of the page
 
+Quote Post
DWL
сообщение Feb 24 2014, 19:44
Сообщение #6





Группа: Новичок
Сообщений: 5
Регистрация: 1-06-11
Пользователь №: 65 401



Большое спасибо за ответы и подсказки, обязательно всё попробую: плату уже переразвёл с учётом рекомендаций Atmel по подключению SPI к ISP.

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

SS вывел на разъём как раз для того, что бы во время прошивки подтягивать к питанию.


Буду пробовать дальше, ну и завтра сделаю AVR-доктора...
Go to the top of the page
 
+Quote Post
TOL500
сообщение Feb 25 2014, 20:48
Сообщение #7


Частый гость
**

Группа: Участник
Сообщений: 110
Регистрация: 5-04-09
Пользователь №: 47 212



Воспользуюсь вопросом на такую же тему.
Кто подскажет, если прошивка сделана для ATmega8 в ДИП корпусе (28 выводов), будет ли она работать без переделки в smd корпусе (32 вывода). Разводка платы естественно будет переделана в соответствии в назначением выводов.
Go to the top of the page
 
+Quote Post
Арк К
сообщение Feb 26 2014, 06:11
Сообщение #8


Участник
*

Группа: Участник
Сообщений: 45
Регистрация: 8-05-08
Пользователь №: 37 363



Цитата(DWL @ Feb 24 2014, 23:44) *
SS вывел на разъём как раз для того, что бы во время прошивки подтягивать к питанию.

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

А может вы перепутали вход с выходом последовательных данных у радиомодуля? По приведённой вами схеме это понять нельзя, поскольку у радиомодуля отсутствует нумерация выводов, а по рисунку платы тоже понять ничего нельзя. Ещё такой момент: по даташиту модуль находится в состоянии POWER DOWN, если на соответствующем входе присутствует 1. Нужно подать 0 на RESET контроллера, тем самым отключив его выходы, и посмотреть напряжения на выводах SPI модуля при SDN=1 и при SDN=0. По идее, если при этом nSEL=1, то выход SDO модуля должен быть отключен, т.е. висеть в воздухе, но всякое может быть.
Go to the top of the page
 
+Quote Post
DWL
сообщение Feb 26 2014, 16:26
Сообщение #9





Группа: Новичок
Сообщений: 5
Регистрация: 1-06-11
Пользователь №: 65 401



Касательно выводов SS и SHUTDOWN в новой итерации платы поставил подтягивающие резисторы.

Радиомодуль 100% подключён правильно, так как в те пару раз, когда прошивка заливалась без радиомодуля он определялся и работал (конечно после установки на плату).

Но это уже не совсем важно, так как произошедшее сегодня ломает все предположения и догадки.
Сразу оговорюсь, что пользуюсь проверенным программатором (пользуюсь им уже лет 5-6, никаких претензий к нему не было и нет, так как уже проверял с другим кристалом).
Короче. Сей час радиомодуль установлен на разъёме и при перепрошивке я его снимаю. Вчера ночью был запаян новый МК с надеждой что сегодня по отлаживаю прошивку. Но уже при второй загрузке прошивки МК перестал отзываться. При чём радиомодуль лежал рядом с платой на столе.

У тут меня посетила одна мысля: МК питаеться от 3.3 вольт, а программатор от 5В. заглянут в даташит я увидел, что для ножек меги допустимо максимум Vcc+0.5. То есть 3.8В. А я, увидев что на ножках есть защитные диоды (ну и по аналогии с АРМ"ом) подумал, что от 5В контроллеру худо не будет. Вот только странно, как радиомодуль то не сгорел?
Go to the top of the page
 
+Quote Post

Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 22nd July 2025 - 23:14
Рейтинг@Mail.ru


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