|
|
  |
ATmega8 + RFM43. Подключение модуля и прошивка МК, особенности подключения МК, радиомодуля и программатора |
|
|
|
Feb 23 2014, 19:28
|
Группа: Новичок
Сообщений: 5
Регистрация: 1-06-11
Пользователь №: 65 401

|
Доброго времени суток Увы, но на горьком опыте возник следующий вопрос: как правильно подключить к AtMega8 радиомодуль RFM43. На данный момент ситуация следующая: когда радиомодуль не впаян в схему: всё отлично прошиваеться. После припаивания радиомодуля он определяеться, конфигурируеться и тд.. Прошиваю при помощи USBAsp. Но при попытке перепрошить МК при подключённом модуле avrdude при верификации выдаёт сообщение о несовпадении данных по адресу 0x0000 и после этого МК уже не отзывается. AVR fuse doktor'a пока нету, так что даже не могу проверить в чём дело: сгорает МК или просто лочится из-за влияния радиомодуля. При перепрошивке выводы радиомодуля NSEL и SHUTDOWN подтягиваю резисторами к питанию. Результат тот же. Сегодня отрезал дорожку питания к модулю и попробовал прошить новый МК: не помогло, ещё один кристал испорчен  Вот электрическая схема и сама ПП
sxema_s.pdf ( 340.17 килобайт )
Кол-во скачиваний: 183
sxema.pdf ( 69.62 килобайт )
Кол-во скачиваний: 150Ну и весть проект
AVR_RFM.zip ( 77.87 килобайт )
Кол-во скачиваний: 92Очень прошу, помогите разобраться в причинах происходящего, а то у меня уже небольшая паника начинается....
|
|
|
|
|
Feb 24 2014, 03:15
|
Группа: Новичок
Сообщений: 5
Регистрация: 1-06-11
Пользователь №: 65 401

|
Спасибо за оперативный ответ В принципе было подозрение, что дело в разводке платы: линии от разъёма программирования идут сначала на RFM, а с него уже на МК. Выпаивать радиомодуль пробовал, не помогает. МК всё равно не отзываеться
|
|
|
|
|
Feb 24 2014, 06:47
|
Участник

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

|
Цитата(DWL @ Feb 23 2014, 23:28)  При перепрошивке выводы радиомодуля NSEL и SHUTDOWN подтягиваю резисторами к питанию. Результат тот же. Сегодня отрезал дорожку питания к модулю и попробовал прошить новый МК: не помогло, ещё один кристал испорчен  По идее, сигнал выборки радиомодуля (цепь SS на схеме) должен иметь активное состояние в нуле (хотя, по вашей схеме это явно не видно), тогда, если на этом входе будет единица, то выход последовательных данных радиомодуля должен находиться в третьем (High-Z) состоянии и не должен ни на что влиять при прошивке. Говорите, он у вас подтянут к плюсу? Может, радиомодуль неисправен и и садит линии на землю? А последовательные резисторы в данном случае могут ухудшить фронты и привести к трудно обнаруживаемым ошибкам при передаче данных. Ещё вопрос: зачем у вас SS выведен на разъём программирования? Для прошивки МК он не нужен. МК может не отзываться по причине установки фьюза, который отвечает за тактирование кристалла, на внешний источник.
|
|
|
|
|
Feb 24 2014, 08:46
|
Частый гость
 
Группа: Guests
Сообщений: 122
Регистрация: 9-10-13
Из: Дубна
Пользователь №: 78 671

|
Цитата(DWL @ Feb 23 2014, 23:28)  При перепрошивке выводы радиомодуля NSEL и SHUTDOWN подтягиваю резисторами к питанию. Результат тот же. Сегодня отрезал дорожку питания к модулю и попробовал прошить новый МК: не помогло, ещё один кристал испорчен  Если у Вас нормальный программатор, то кристаллы Вы не портите, скорее всего как написали до меня, Вы сбиваете настройки МК и он не реагирует из за фьюзов. Параллельный программатор поможет Вам вернуть все "сгоревшие" чипы. Чтобы не портить больше чипов, отрежьте ножки SPI от радимодуля и сделайте на них напаиваемые перемычки. Программируйте без перемычек. В серийном изделии можете поставить двунаправленные буферы которые при подключении программатора отключают радиомодуль от шины SPI. Это если не разбираться в чем причина, а чтобы разобраться, надо посидеть с осциллографом. И конечно понять горят чипы действительно или просто лочатся по фьюзам. Если горят, значит где то серьезно нарушается режим программирования. Но не похоже на это...
Сообщение отредактировал octobus - Feb 24 2014, 08:55
|
|
|
|
|
Feb 24 2014, 19:44
|
Группа: Новичок
Сообщений: 5
Регистрация: 1-06-11
Пользователь №: 65 401

|
Большое спасибо за ответы и подсказки, обязательно всё попробую: плату уже переразвёл с учётом рекомендаций Atmel по подключению SPI к ISP.
Радиомодуль исправен, только что проверил. Проблема именно с МК при одновременном подключении программатора и радиомодуля. Причём после попытки прошивки МК в такой конфигурации МК уже неотзываеться, дажу при выпаянном радиомодуле.
SS вывел на разъём как раз для того, что бы во время прошивки подтягивать к питанию.
Буду пробовать дальше, ну и завтра сделаю AVR-доктора...
|
|
|
|
|
Feb 26 2014, 06:11
|
Участник

Группа: Участник
Сообщений: 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 модуля должен быть отключен, т.е. висеть в воздухе, но всякое может быть.
|
|
|
|
|
Feb 26 2014, 16:26
|
Группа: Новичок
Сообщений: 5
Регистрация: 1-06-11
Пользователь №: 65 401

|
Касательно выводов SS и SHUTDOWN в новой итерации платы поставил подтягивающие резисторы.
Радиомодуль 100% подключён правильно, так как в те пару раз, когда прошивка заливалась без радиомодуля он определялся и работал (конечно после установки на плату).
Но это уже не совсем важно, так как произошедшее сегодня ломает все предположения и догадки. Сразу оговорюсь, что пользуюсь проверенным программатором (пользуюсь им уже лет 5-6, никаких претензий к нему не было и нет, так как уже проверял с другим кристалом). Короче. Сей час радиомодуль установлен на разъёме и при перепрошивке я его снимаю. Вчера ночью был запаян новый МК с надеждой что сегодня по отлаживаю прошивку. Но уже при второй загрузке прошивки МК перестал отзываться. При чём радиомодуль лежал рядом с платой на столе.
У тут меня посетила одна мысля: МК питаеться от 3.3 вольт, а программатор от 5В. заглянут в даташит я увидел, что для ножек меги допустимо максимум Vcc+0.5. То есть 3.8В. А я, увидев что на ножках есть защитные диоды (ну и по аналогии с АРМ"ом) подумал, что от 5В контроллеру худо не будет. Вот только странно, как радиомодуль то не сгорел?
|
|
|
|
|
  |
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|