Як мені планувати схематичне програмування AVR?


12

Мій звичайний метод перепрограмування AVR (поки що обмежений ATtiny13 та ATtiny2313) - відключити чіп від хост-ланцюга, підключити його до іншої дошки із усіма підключеннями ICSP на місці, програмувати, а потім замінити. Однак я постійно чую, що чіп можна запрограмувати на місці (це, наскільки я розумію, вся суть ICSP).

Чи є якісь особливі апаратні міркування, які слід враховувати перед програмуванням мікросхеми in situ? Наприклад, я переживаю, що процес ICSP може пошкодити компоненти схеми, підключені до тих самих штифтів AVR, які використовуються для ICSP. Чи потрібно іноді додати діоди чи якийсь інший вид буферизації для захисту цих компонентів?

Я знаю, що це питання звучить дещо невиразно, і, мабуть, це так, - але я не надав деталей моєї конкретної схеми, тому що мене цікавлять більш загальні правила. Тобто ніколи про це не потрібно хвилюватися, чи дійсно відповідь залежить від конкретної схеми, до складу якої входить MCU?

Відповіді:


15

Я використовував ISP майже для кожної дошки AVR, яку я робив; боятися нічого. Посібник AVR ISP mkII дає досить хороший підсумок обмежень, на які потрібно звернути увагу в розділі "Цільовий інтерфейс". В основному, якщо ви запускаєте штифти MISO / MOSI / SCK безпосередньо до програміста і має близько 820 Ом між ними та рештою ланцюга (і не робите нічого фанатичного зі шпилькою для скидання), ви все в порядку. Я б не турбувався про те, щоб провайдер пошкодив інші компоненти; це не програміст високої напруги. Усі сигнали працюють на 5В, тож якщо це може пошкодити зовнішній компонент, тож мікроконтролер.

Якщо ви дійсно застрягли в платі, яка не дозволяє програмування ISP, я б принаймні спробував використати розетку ZIF для вашої плати програмування. Вони дорогі, але це значно покращить вашу якість життя.


Дякую за посилання - саме про це я і хочу. Я насправді не використовую справжній провайдер AVR - просто належним чином запрограмований ардуїно. (!) Я замінюю це на Bus Pirate протягом декількох днів, тому об'єднання дошки з розетками ZIF - це, безумовно, те, що я планую зробити. Моя поточна процедура надзвичайно негарна!
Тім

1

Використовуйте перемичку або перемикач, щоб ви могли фізично відключити заголовок ICSP. Таким чином, ви можете ділитися шпильками з іншими функціями, не турбуючись і не маючи поспіль з іншими компонентами.

Це здається найбільш очевидним і найбезпечнішим рішенням, і саме це я використовую.

(Мою першу відповідь було видалено, тому я спробував додати більше деталей).


Як би це працювало? Потім, коли підключений перемикач / перемичка, штифти все ще будуть підключені до решти ланцюга.
eeze

0

На жаль, ви не можете зробити схему програмування для AVR, якщо штифти поділяються іншими функціями, наприклад, світлодіодними лампами. Хоча це може працювати, це не гарантується, оскільки це може призвести до того, що виходи програміста або µC знизяться занадто низько, щоб він працював.

Ще одна альтернатива - замовити свої фішки заздалегідь запрограмовані. Я знаю, що Microchip пропонує це для деяких своїх фішок, але я не впевнений у Atmel.


Ну добре, я підозрював це. Мені просто доведеться продовжувати робити свій повільний і незграбний спосіб. (О, і жодного шансу змусити Атмель не робити попереднього програмування для мене, я просто прихильник. :-))
Тім

Мікрочіп стягує ~ 40 доларів "плата за налаштування". Знову ж таки, невпевнений у Атмелі. Якщо ви замовляєте в асортименті 10-100, це, мабуть, того варто.
Томас О

3
Я запрограмував безліч плат з іншими навантаженнями на шпильки SPI, особливо світлодіоди, без проблем. Тільки будьте обережні, щоб не мати нічого іншого, щоб подати сигнали. Це означає, наприклад, якщо у вас підключений SPI-пристрій, надайте йому підтягуючий резистор або подібний, щоб він також був скинутий або невибраний.
Yann Vernier
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.