вибір сторінки

Програмування ІС під час обробки друкованих плат

Програмування ІС під час обробки друкованих плат

Рисунок 1. Програмування ІС під час обробки друкованої плати

Останнє оновлення: травень 2026 р. · Посібник з виробництва для інженерів вбудованих систем та команд з постачання апаратного забезпечення

Існує два практичних способи завантаження прошивки в мікросхеми на платі під час складання друкованих плат: попереднє програмування пристроїв перед розміщенням (поза платою, на груповому або автоматичному програматорі) або програмування їх у схемі після складання через інтерфейс налагодження, такий як JTAG, SWD, ISP або послідовний завантажувач. Попереднє програмування відбувається швидко на лінії та підходить для великих обсягів зі стабільною прошивкою; внутрішньосхемне програмування дозволяє завантажувати останній образ, калібрувати та серіалізувати кожен пристрій, але потребує доступних програмних виводів, розроблених на платі. Більшість сучасних збірок використовують внутрішньосхемне програмування на випробувальній станції, оскільки воно пов'язує прошивку, калібрування та відстежуваність на готовій платі.

Огляд двох підходів:
Позашляхове попереднє програмування — мікросхеми, запрограмовані в розетці/автоматизованій системі перед тим SMT. Швидкий цикл, доступ на платі не потрібен, але деталі призначені для однієї версії прошивки.
Внутрішньосхемне / внутрішньосистемне програмування (ICSP/ISP) — запрограмовані чіпи після Збірка через JTAG/SWD/SPI/UART на платі. Гнучкий, підтримує дані для кожного блоку, але вимагає доступу для програмування в макеті.

Чому програмування ІС є частиною обробки друкованих плат

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

Спосіб 1: Попереднє програмування поза платою мікросхеми

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

  • Сильні сторони: дуже швидкий на лінії поверхневого монтажу (без кроку програмування під час складання), не потрібен доступ до програмування на платі, висока пропускна здатність для стабільної прошивки.
  • Компроміси: Деталі призначені для однієї версії прошивки, тому пізня зміна коду означає перепрограмування або утилізацію запасів; обробка додає крок; а дані для кожного блоку (серійні номери, калібрування) зазвичай не можуть бути записані таким чином, оскільки кожна деталь ідентична.

Попереднє програмування є незамінним для великосерійних продуктів, прошивка яких заморожена, а також для пристроїв, які незручно програмувати в схемі.

Спосіб 2: Внутрішньосхемне / внутрішньосистемне програмування (ICSP/ISP)

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

  • Сильні сторони: завжди завантажує поточний образ прошивки; підтримує калібрування та дані для кожного пристрою; забезпечує перевірку функціональності одразу після програмування; оновлення прошивки не потребують переробки деталей.
  • Компроміси: Розташування повинно забезпечувати доступ до програмування; це додає час на станції програмування/тестування; а спільне використання виводів або відсутність підтягувань може призвести до збоїв, якщо їх не продумати ретельно.

Це налаштування за замовчуванням для більшості сучасних розробок, оскільки воно об'єднує програмування, калібрування та відстеження на готовій платі, а також тому, що прошивка майже завжди постійно розвивається.

Загальні інтерфейси програмування ІС (JTAG, SWD, SPI)

інтерфейс Типові пристрої примітки
SWD (2-провідний) Мікроконтролери ARM Cortex-M Компактний (SWDIO/SWCLK + живлення/GND); також налагодження
JTAG- Мікроконтролери, FPGA, CPLD, ланцюги граничного сканування Можна програмувати прошивку та тестувати з'єднання
SPI / Інтернет-провайдер AVR, SPI флеш-пам'ять, пристрої конфігурації Дивіться спільний доступ до автобуса під час програмування
ICSP Сімейство мікросхем PIC Кілька контактів; резервний доступ до MCLR/PGC/PGD
Завантажувач UART / USB Багато мікроконтролерів із вбудованим завантажувачем Програми через існуючі послідовні/USB-лінії
I²C EEPROM, інтелектуальні датчики Для даних конфігурації/калібрування більше, ніж коду

Попереднє програмування проти внутрішньосхемного програмування: що обрати

Розгляд Віддає перевагу попередньому програмуванню Сприятливості всередині схеми (ICSP)
Об'єм Висока, стабільна гучність Від прототипу до середнього обсягу; змішані збірки
Стабільність прошивки Заморожений, рідко змінюється Образи, що розвиваються, або образи для кожної збірки
Дані на одиницю Не потрібно (ідентичні деталі) Серійні номери, MAC-код, потрібне калібрування
Доступ до ради директорів Немає бажаного заголовка програмування Доступні програмні панелі/роз'єми
Перевірка під час тесту Зроблено окремо У поєднанні з FCT в одній станції

Багато програм використовують гібрид: великий обсяг зовнішньої пам'яті, попередньо запрограмований поза платою, тоді як мікроконтролер прошивається внутрішньосхемно, тому останні дані програми та кожного блоку завантажуються в лінію.

Як спроектувати плату для внутрішньосхемного програмування

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

  • Відкрийте програмні контакти — невеликий роз'єм або, для економії місця, тестові контакти розміром з контакти pogo. Тримайте їх збоку та подалі від високих деталей.
  • Зарезервуйте правильні сигнали — наприклад, SWDIO/SWCLK, або MCLR/PGC/PGD, або JTAG TCK/TMS/TDI/TDO/TRST, плюс датчик живлення цілі та заземлення.
  • Захистіть спільні автобуси — додайте послідовно з’єднані резистори або ізоляцію, щоб програматор не конкурував з іншими пристроями на тих самих лініях під час програмування.
  • Підтягування/підтягування вниз та скидання — забезпечити правильні пасивні стани та доступне скидання, щоб пристрій надійно переходив у режим програмування.
  • Живлення та послідовність — забезпечити можливість живлення пристрою для програмування (живлення від цілі або програматора) без зворотного живлення решти плати.
  • Плануйте безпеку заздалегідь — якщо ви встановлюєте біти захисту від читання/блокування, переконайтеся, що послідовність все ще дозволяє перевірку, перш ніж деталь буде заблоковано.

Саме ці пункти перевіряються під час перевірки Design-for-Test , оскільки доступ до програмування та доступ до тестування зазвичай мають один і той самий механізм.

Програмування для кожного блоку: серіалізація, калібрування, безпека

Одна з найвагоміших причин для внутрішньосхемного програмування полягає в тому, що кожна плата може отримувати власні дані:

  • Серійні номери та унікальні ідентифікатори для відстеження та гарантії.
  • MAC-адреси / мережеві ключі для підключених продуктів.
  • Калібрувальні константи вимірюється під час функціонального тесту та записується назад у пристрій, щоб кожен блок відповідав специфікаціям.
  • Конфігурація регіону/функції для варіантів продукту, побудованих на основі одного проекту апаратного забезпечення.
  • Замок безпеки — після програмування та перевірки встановлюються біти захисту від читання або блокування для захисту IP-адреси прошивки. Оскільки блокування часто є незворотним, це останній крок, який ретельно перевіряється.

Де відбувається програмування ІС на лінії друкованих плат

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

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

Поширені помилки програмування ІС, яких слід уникати

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

Послуги з програмування ІС у Highleap Electronics

Highleap Electronics — китайський виробник друкованих плат та друкованих плат, який інтегрує програмування пристроїв у складання «під ключ» для клієнтів, що здійснюють доставку до Сполучених Штатів, Європи та Азіатсько-Тихоокеанського регіону. Метою є плата, яка постачається запрограмованою, відкаліброваною, перевіреною та простежуваною, а не пустою.

  • Програмування IC через JTAG, SWD, ISP/ICSP та послідовні завантажувачі, вбудовані або попередньо запрограмовані, залежно від потреб проекту.
  • Функціональне тестування поєднується з програмуванням та калібруванням на одній станції, з веденням записів для кожного блоку.
  • Огляд дизайну для тестування доступ до програмування, ізоляція та послідовність безпеки перед заморожуванням файлів.
  • PCBA під ключ охоплюючи весь процес пошуку, поверхневого монтажу (SMT), програмування, тестування та серіалізації.
Деталі програмування ІС під час обробки друкованих плат

Рисунок 2. Деталі програмування ІС під час обробки друкованої плати

Програмування ІС під час PCBA (PC Based Code - Часті питання)

Що означає внутрішньосхемне програмування (ICSP)?

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

Що краще: попередньо програмувати мікросхеми чи програмувати їх на платі?

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

Що мені потрібно забезпечити для програмування ІС під час складання?

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

Чи може кожна плата отримати унікальний серійний номер або калібрування?

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

Як захистити мою прошивку від зчитування?

Більшість мікроконтролерів підтримують біти захисту від читання або блокування, які вимикають зовнішнє зчитування після програмування. Вони встановлюються на завершальному етапі, після перевірки пристрою, оскільки блокування часто є незворотним. Обговоріть з виробником точний стан безпеки, який ви хочете отримати.

Чи займає додавання програмного заголовка багато місця на платі?

Не обов'язково. Ви можете використовувати компактний дво- або чотирипровідний інтерфейс (наприклад, SWD) або замінити роз'єм невеликими тестовими контактами, до яких контактують контакти випробувального пристрою, що мінімізує займану площу виробництва.

Чи може китайський виробник безпечно обробляти програмне забезпечення?

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

Теги

Материнська плата зі штучним інтелектом Алюмінієва друкована плата Конденсатор Керамічна друкована плата Звичайна обробка поверхні Комп'ютерна друкована плата свердлити Дрон PCB Електронні програми Послуги з виробництва електроніки Гнучка друкована плата FR4 PCB HDI HDI PCB Важка мідна друкована плата HF PCB Високошвидкісна друкована плата Високочастотна друкована плата клавіатура PCB клавіатури LED LED PCB Матеріальна Медичні друковані плати PCB з металевим сердечником PCB Assembly Дизайн друкованої плати Файли дизайну друкованої плати База знань PCB Виробництво друкованих плат Матеріали для друкованих плат Упаковка друкованої плати Виробництво друкованих плат Зворотне проектування друкованих плат Друкована плата силової електроніки Джерело живлення Резистор РЧ друкована плата Жорстка друкована плата Flex Робот Плата робота Напівпровідникова друкована плата SMT Пайка Паяльна маска
отримати миттєву цінову пропозицію

Рекомендовані повідомлення

Як отримати цінову пропозицію на друковані плати

Давайте проведемо для вас аналіз DFM/DFA та надамо вам звіт. Ви можете безпечно завантажити свої файли через наш вебсайт. Нам потрібна наступна інформація, щоб надати вам цінову пропозицію:

    • Gerber, ODB++ або .pcb, спец.
    • Список специфікації, якщо вам потрібна збірка
    • Кількість
    • Час повороту
Окрім виробництва друкованих плат, ми пропонуємо повний спектр електронних послуг, включаючи проектування друкованих плат, виготовлення друкованих плат (PCBA) та комплексні рішення. Незалежно від того, чи потрібна вам допомога з прототипуванням, перевіркою проекту, пошуком компонентів чи масовим виробництвом, ми надаємо комплексну підтримку, щоб забезпечити успіх вашого проекту.

Для послуг з виготовлення друкованих плат (PCBA), будь ласка, надайте свою специфікацію матеріалів (BOM) та будь-які конкретні інструкції зі складання. Ми також пропонуємо аналіз DFM/DFA для оптимізації ваших конструкцій для технологічності та складання, забезпечуючи безперебійний виробничий процес.






    Швидка примітка: Наша команда надішле вам електронного листа невдовзі після надсилання. Щоб гарантовано отримати нашу відповідь, ми рекомендуємо перевірка папки СПАМ/НЕПОЖЕЛАНА ПОШТА якщо ви не бачите нашого повідомлення у своїй поштовій скриньці.