Пользовательская плата 328P-AU не отвечает через ICSP

Я создал пользовательскую печатную плату на основе 328P. Дизайн в основном основан на схеме Arduino Nano (3.0). Платы прибыли несколько дней назад, и я не могу заставить avrdude распознать их через USBASP (или любое другое средство, если уж на то пошло). При попытке программирования плата питается через разъем ICSP. То, что я пробовал до сих пор:

  • только пайка основных компонентов: колпачки для рельса 5 В
  • паять генератор или оставить его выключенным
  • на одной плате я даже обрезал все линии, кроме 5V, GND, RST и SPI.

Тем не менее 328p не отвечает, все, что я получаю, это :

#avrdude -u -c usbasp -P COM1 -b 57600 -B 0.5 -p m8 

 WARNING: Unable to detect MCU
 avrdude.exe: set SCK frequency to 1500000 Hz
 avrdude.exe: error: program enable: target doesn't answer. 1 
 avrdude.exe: initialization failed, rc=-1
         Double check connections and try again, or use -F to override
         this check.
 avrdude.exe done.  Thank you.

Я приложу свои схемы и дизайн платы, я знаю, что на данный момент она не самая чистая... Это мой первый, и в настоящее время я пытаюсь очистить его/сделать его лучше. Я также добавил резисторы 1k в линию к RX и TX, но пока они отсутствуют в конструкции платы.

Я благодарен за любую помощь и/или совет

При необходимости я могу предоставить дизайн платы:)

, 👍1

Обсуждение

Я не вижу ничего очевидного в вашем замысле. Тестировали ли вы плату с помощью DMM для поиска коротких замыканий и проверки непрерывности соответствующих трасс, а также для подтверждения правильности напряжений?, @Majenko

да, я это сделал, непрерывность в порядке, сопротивление GND до 5 В составляет около 15 Ком, так что это тоже может быть хорошо...Нет очевидных коротких замыканий, о которых я знаю... Возможно ли, что все 328p мертвы?, @jack

`Частота SCK до 1500000 Гц " Что бы вы ни делали, я бы снизил ее. Если ваш чип только что с завода, это может быть даже проблемой., @timemage

@timemage ты мой герой!!! установил его на 8к решил:) большое спасибо!!!!!, @jack

Если хотите, можете опубликовать его в качестве ответа., @timemage

Хорошо, хорошо, я опубликовал ответ, чтобы он у него был., @timemage

@timemage извините, что увидел это слишком поздно, еще раз спасибо !, @jack


1 ответ


Лучший ответ:

1

Итак, у вас было:

Частота SCK до 1500000

И я предложил опуститься до того момента, когда вы:

установил его на 8к решил:)

Хорошая сделка. То, с чем вы, скорее всего, столкнулись, - это максимальная тактовая частота ISP, которая, согласно спецификации ATmega328P (или практически любого другого AVR, если уж на то пошло), определяется некоторыми правилами:

Низкий уровень:> 2 тактовых цикла процессора для fck < 12 МГц, 3 тактовых цикла процессора для fck ≥ 12 МГц
Высокий:> 2 тактовых цикла процессора для fck < 12 МГц, 3 тактовых цикла процессора для fck ≥ 12 МГц

Таким образом, ваша максимальная тактовая частота ISP зависит от тактовой частоты чипа. И составляет не более четверти шестой этого показателя, в зависимости от того, работает ли чип ниже или выше 12 МГц.

Большинство кодов заказа AVR такого типа, которые выполняют этот вид программирования ISP, поставляются с завода на внутреннем генераторе 8 МГц с включенным предохранителем divide-by-8; Таким образом, они находятся на частоте 1 МГц с максимальной тактовой частотой ISP 250 кГц. Если бы вы работали с типичным устройством Arduino, когда оно уже было настроено и работало с тактовой частотой 16 МГц, тактовая частота ISP 1,5 МГц могла бы сработать. Я бы все равно замедлил его, так как при этом он будет работать только с большей вероятностью.

Большинство программаторов по умолчанию используют низкую тактовую частоту, ближе к вашей цифре 8k. Обычно, если у людей есть проблемы с достижением максимальной тактовой частоты ISP, это происходит потому, что у них очень низкие системные часы, либо с использованием часового кристалла, либо с плавлением для внутреннего 128 кГц, либо в сочетании с предохранителем divide-by-8. Часто, когда они пытаются ехать слишком быстро, их удерживает дрянная проводка.

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

,