ICSP або попередньо запрограмований мікроконтролер


11

Я створив друковану плату для виробництва невеликих масштабів; В даний час я паю їх вручну партіями по 20 одночасно. Ця плата використовує мікроконтролер ATMEGA168, який я програмую перед пайкою на плату - цей метод на даний момент добре працює для мене.

Я дивлюся на виготовлення та збирання для мене партії з 200 дощок, оскільки продукт, який я сконструював, здається досить популярним. Чи було б кращою практикою або включити заголовок ICSP на плату, або продовжувати передпрограмування самих ІС? Перепрограмування плати після виготовлення або складання не є необхідною або необхідною функцією.

Я не впевнений, як це робиться в масштабних виробничих умовах? Додавання заголовка ICSP трохи збільшить вартість виготовлення, тому попереднє програмування є стандартною практикою?

Відповіді:


18

Я б пропонував завжди включати заголовок у такій кількості (невеликий). Якщо ви отримаєте більшу кількість, ви можете розглянути колодки для шпильок пого (вам доведеться зробити кріплення, щоб утримувати друковану плату у вирівнюванні) або, у ваших кількостях, ви можете використовувати один з кабелів Tag Connect, для яких потрібні лише отвори і незаселені. подушечки (вони хапаються на дошці).

введіть тут опис зображення

Окрім того, що ви зможете оговтатися від необхідності оновлення програмування, це дозволить вам перед монтажем домівок заповнити дошки перед програмуванням, що може покращити логістику.

Попереднє програмування, безумовно, є можливим, навіть у виробничих кількостях (ви можете навіть змусити розповсюджувача зробити це за вас), але воно, здається, використовується в основному в найпростіших програмах. Зазвичай мікросхеми на дошках запрограмовані (або здатні до програмування) після монтажу.


Це виглядає як хороше рішення - дякую за допомогу, ці кабелі виглядають досить корисно!
edcs

1
Tag-Connect добре працює для цього. Ви також можете отримати версії без фіксуючих штифтів (чорний пластик праворуч від зображення), які замість цього покладаються на тиск або на задню панель, яка фіксує шпильки. Зауважте, що зображений кабель коштує приблизно 50 доларів. З іншого боку, контакти на друкованій платі - близько $ 0.
Бен Джексон

20

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

Але ось альтернативний підхід: для дощок, де у вас немає місця для розміщення заголовка, або стандартний заголовок не виконує всіх завдань тестування / налаштування / дошки тесту.

Враховуючи невеликий форм-фактор PCB, як тут (діаметр 33 мм) введіть тут опис зображення

ви можете розкласти це за допомогою тестових точок (з написом на звороті) введіть тут опис зображення

і створити для нього тестовий кріплення (використовуючи Pogo Pins ) введіть тут опис зображення

Для цього потрібна певна обробна здатність і принаймні стовпчаста дриль (тому що шпильки пого повинні бути точно вертикальними). Однак якщо ви готові ризикувати прототипом друкованої плати, ви можете зафіксувати її на аркуші матеріалу та "промацати" крізь отвори для тестових точок, щоб встановити шпильки пого в точно потрібному місці. (Я отримую 10 друкованих плат за смішно низьку ціну від Itead, тому втратити одну - це не велика справа).

З використанням токарного верстата та млина виготовлення стовпів та затискачів для розташування друкованої плати в потрібному місці - це прикручення, але це не дуже складно з більш простими інструментами.

Тоді ви просто підходите до кожної плати, програмі і тестуєте її. Роз'ємний роз'єм зазвичай йде на заголовки штифтів на TI Launchpad, використовувані для програмування цього MPU (TI MSP430) через інтерфейс SBW, але той самий принцип буде застосовуватися і до JTAG або інших інтерфейсів. (Коричневий кабель вгорі - це спільний ось кабель, який передає сигнал калібрування до лічильника частот). введіть тут опис зображення

Полірована основа з червоного дерева не обов’язкова; Я просто випадково віддаю перевагу стилю стимпанк для своїх тестових світильників.


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

2
Це досить джиг (чи це кріплення?). Чи є що-небудь зафіксувати на друкованій платі кутом або це просто вишиковане око?
Spehro Pefhany

Я підводжу шпильками пого через скрізь видимі отвори перед тим, як натиснути і засунути затискачі. Сире, але воно працює. На більшій друкованій платі я рекомендую пару штифтів для розташування, наприклад, в отворах для монтажу друкованої плати.
Брайан Драммонд

13

Я завжди додаю простір для заголовка ICSP, навіть якщо він не заповнений. Наразі у мене є три способи зробити це в залежності від ситуації.

Одна з моїх конструкцій має дуже тонкий заголовок кроку, для якого я вбудував адаптер (ідеально підходить 0,6-мм провід):

введіть тут опис зображення

Я використовую цей роз'єм, коли простір абсолютно абсолютний. (Вибачте, що це розмито, камера мого телефону налаштована).

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

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

введіть тут опис зображення

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


Дякую за детальну відповідь - безумовно корисна інформація тут! Я не прийняв вашу відповідь, тому що я буду використовувати запропонований кабель Tag Connect, хоча метод пошагового штифта працюватиме так само добре.
edcs

Atmel, безумовно, пропонує це як варіант.
Ігнасіо Васкес-Абрамс

2
Пошаговий слід заголовка чисто геніальний. +1
Володимир Крейвер

5

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

У деяких випадках хорошим підходом може бути вибір макета вводу / виводу плати, щоб контрольні штифти, необхідні для перепрограмування в ланцюзі, були призначені для цілей, які "природно" призводять до того, що вони піддаються легко доступним точкам контактів. Наприклад, плата, призначена для використання з металевими купольними контактами, може мати самі контакти, підключені до штифтів програмування в ланцюзі. Така конструкція не потребує виділення будь-якого місця в макеті для роз'єму програмування, але - особливо, якщо контакт батареї також був загального розміру, дозволяйте роз'єму програмування проходити за допомогою простих пружинних контактів.

Зауважте, що це не обов'язково має значення, якщо код здається добре перевіреним; зміни від однієї партії мікросхем до іншої все ще можуть викликати несподівані проблеми. Наприклад, я розробив продукт, який повинен був вимкнутись під керуванням процесора, маючи вихід процесора "високий" на штифті, коли він повинен був бути "включеним". На першій партії з 10 000 одиниць все працювало нормально, але на пізнішій партії процесор почав би спрацьовувати, коли його напруга вдарило близько 2 вольт, і міг переключити цей контакт на "високий"; 2-вольтового "високого" виходу було ледь достатньо, щоб повернути блок. Оскільки для процесора було вказано, що він залишається у сплячому режимі до 1,6 вольт IIRC, можна було виправити проблему, перепрограмувавши одиниці так, щоб вони перейшли у сплячий режим при активації їхнього стану відключення. Якби таке перепрограмування не було б можливим, знадобилося б набагато дорожче переробляти (а то й бракувати, а також переробляти).

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.