Внутрисистемное программирование

редактировать

Метод встроенного системного программирования

6- и 10-контактные разъемы ISP AVR

Внутрисистемное программирование (ISP), также называемое внутрисхемным последовательным программированием (ICSP), - это способность некоторых программируемых логических устройств, микроконтроллеров и других встроенные устройства должны программироваться при установке в полную систему, вместо того, чтобы требовать программирования микросхемы перед ее установкой в ​​систему. Это позволяет доставлять обновления прошивки во встроенную память микроконтроллеров и связанных процессоров, не требуя специальной схемы программирования на печатной плате, и упрощает работу по проектированию.

Существует несколько взаимно несовместимых протоколов внутрисистемного программирования. для программирования устройств микроконтроллер, в том числе микроконтроллеры PIC, AVR и Parallax Propeller. ICSP был в основном реализован компанией Microchip Technology для программирования устройств PIC и dsPIC.

Основным преимуществом этой функции является то, что она позволяет производителям электронных устройств интегрировать программирование и тестирование в один этап производства и экономить деньги, вместо того, чтобы требовать отдельного этапа программирования перед сборкой системы. Это может позволить производителям программировать микросхемы на производственной линии своей собственной системы вместо того, чтобы покупать предварительно запрограммированные микросхемы у производителя или дистрибьютора, что позволяет вносить изменения кода или конструкции в середине производственного цикла.

Микроконтроллеры обычно припаиваются непосредственно к печатной плате и обычно не имеют схемы или места для подключения большого кабеля внешнего программирования к другому компьютеру.

Как правило, микросхемы, поддерживающие ISP, имеют внутреннюю схему для генерирования необходимого напряжения программирования из нормального напряжения питания системы и связи с программатором через последовательный протокол. Большинство программируемых логических устройств используют вариант протокола JTAG для интернет-провайдеров, чтобы облегчить интеграцию с процедурами автоматического тестирования. Другие устройства обычно используют проприетарные протоколы или протоколы, определенные старыми стандартами. В системах, достаточно сложных, чтобы требовать умеренно большой связующей логики, разработчики могут реализовать управляемую JTAG подсистему программирования для устройств, отличных от JTAG, таких как флэш-память и микроконтроллеры, что позволяет полностью программировать и тестировать Процедура должна выполняться под контролем единого протокола.

Содержание
  • 1 История
  • 2 Промышленное применение
  • 3 Microchip ICSP
    • 3.1 Сигналы и распиновка
    • 3.2 Распиновка RJ11
  • 4 Ссылки
  • 5 См. Также
История

Начиная с начала 90-х годов мы стали свидетелями важного технологического развития архитектуры микроконтроллеров. Сначала они были реализованы в двух возможных решениях: с OTP (One Time Programmable) или с памятью EPROM. В этих технологиях процесс стирания памяти требует, чтобы микросхема подвергалась воздействию ультрафиолетового света через специальное окно над корпусом. В 1993 году компания Microchip Technology представила первый микроконтроллер с памятью EEPROM : PIC16C84. Память EEPROM можно стереть электрически. Эта функция позволила снизить затраты на реализацию за счет удаления окна стирания над пакетом и запуска технологии внутрисистемного программирования. С ISP процесс перепрошивки может быть выполнен прямо на плате в конце производственного процесса. Эта эволюция дала возможность объединить этапы программирования и функционального тестирования в производственных средах и начать предварительное производство плат, даже если разработка прошивки еще не завершена. Таким образом, можно было исправить ошибки или внести изменения позже. В том же году Atmel разработала первый микроконтроллер с флэш-памятью, который проще и быстрее программировать и с гораздо более длительным жизненным циклом по сравнению с памятью EEPROM.

Микроконтроллеры, поддерживающие ISP, обычно снабжены выводами, используемыми периферийным устройством последовательной связи для взаимодействия с программатором, памятью Flash / EEPROM и схемой, используемой для подачи напряжения, необходимого для программирования микроконтроллера. Периферийное устройство связи, в свою очередь, подключается к периферийному устройству программирования, которое обеспечивает команды для работы с памятью Flash или EEPROM.

При разработке электронных плат для программирования ISP необходимо принять во внимание некоторые рекомендации, чтобы этап программирования был как можно более надежным. Некоторые микроконтроллеры с небольшим количеством контактов разделяют линии программирования с линиями ввода-вывода. Это может стать проблемой, если необходимые меры предосторожности не будут учтены при проектировании платы; во время программирования устройство может повредить компоненты ввода / вывода. Более того, важно подключать линии ISP к схеме с высоким сопротивлением как во избежание повреждения компонентов программистом, так и потому, что микроконтроллер часто не может обеспечить достаточный ток для управления линией. Многим микроконтроллерам требуется выделенная линия RESET для входа в режим программирования. Необходимо обратить внимание на ток, подаваемый для управления линией, и проверить наличие сторожевых таймеров, подключенных к линии RESET, которые могут вызвать нежелательный сброс и, таким образом, привести к ошибке программирования. Более того, некоторым микроконтроллерам требуется более высокое напряжение для входа в режим программирования, и, следовательно, необходимо проверить, что это значение не ослабляется и что это напряжение не передается на другие компоненты на плате.

Промышленное применение

Процесс внутрисистемного программирования происходит на заключительном этапе производства продукта и может выполняться двумя различными способами в зависимости от объемов производства.

В первом способе соединитель вручную подключается к программатору. Это решение предполагает участие человека в процессе программирования, который должен подключить программатор к электронной плате с помощью кабеля. Следовательно, это решение предназначено для небольших объемов производства.

Второй метод использует контрольных точек на плате. Это определенные области, размещенные на печатной плате или PCB, которые электрически связаны с некоторыми электронными компонентами на плате. Контрольные точки используются для выполнения функциональных тестов компонентов, установленных на плате, и, поскольку они подключены непосредственно к некоторым контактам микроконтроллера, они очень эффективны для ISP. Для средних и больших объемов производства использование контрольных точек является лучшим решением, поскольку позволяет интегрировать этап программирования в сборочную линию.

На производственных линиях доски размещаются на гвоздях, называемых крепежными элементами. Последние в зависимости от объемов производства интегрируются в полуавтоматические или автоматические испытательные системы, называемые ATE - Automatic Test Equipment. Крепления специально разработаны для каждой платы - или, самое большее, для нескольких моделей, подобных плате, для которой они были разработаны - поэтому они взаимозаменяемы в системной среде, в которую они интегрированы. После того, как плата и приспособление размещены в нужном положении, в тестовой системе есть механизм, позволяющий соприкасаться иглами приспособления с контрольными точками на плате для тестирования. Система, к которой он подключен или напрямую интегрирован внутри, программистом интернет-провайдера. Он должен программировать устройство или устройства, установленные на плате: например, микроконтроллер и / или последовательную память.

Microchip ICSP

Для большинства микроконтроллеров Microchip программирование ICSP выполняется с использованием двух выводов, часов (PGC) и данных (PGD), в то время как высокое напряжение (12 В) присутствует на Vpp. / MCLR контакт. Программирование низкого напряжения (5 В или 3,3 В) обходится без высокого напряжения, но оставляет за собой исключительное использование вывода ввода / вывода. Однако для более новых микроконтроллеров, в частности семейств микроконтроллеров PIC18F6XJXX / 8XJXX, переход в режимы ICSP немного отличается. Для входа в режим ICSP Program / Verify необходимо выполнить следующие три шага:

  1. Напряжение на короткое время подается на вывод MCLR (главный сброс).
  2. 32-битная последовательность клавиш отображается на PGD.
  3. Напряжение повторно подается на MCLR.
Microchip PICkit Программатор ICSP

Для подключения к порту ввода-вывода ПК с одной стороны и к нему требуется отдельное оборудование, называемое программатором. ПОС с другой стороны. Список функций для каждого основного типа программирования:

  1. Параллельный порт - большой громоздкий кабель, большинство компьютеров имеют только один порт, и может быть неудобно менять кабель для программирования с подключенным принтером. Большинство ноутбуков новее 2010 года не поддерживают этот порт. Программирование параллельного порта выполняется очень быстро.
  2. Последовательный порт (COM-порт) - в свое время самый популярный метод. Последовательным портам обычно не хватает напряжения питания для программирования цепей. Большинство компьютеров и ноутбуков новее, чем 2010 год, не поддерживают этот порт.
  3. Разъем (в цепи или вне ее) - ЦП необходимо снять с печатной платы или прикрепить зажим к отверстию для изготовления микросхемы. проблема.
  4. USB-кабель - маленький и легкий, поддерживает источник напряжения, и у большинства компьютеров есть дополнительные порты. Расстояние между программируемой схемой и компьютером ограничено длиной USB-кабеля - обычно оно не должно превышать 180 см. Это может сделать программирование устройств глубоко в оборудовании или шкафах проблемой.

Программисты ICSP имеют много преимуществ, среди которых размер, доступность компьютерного порта и источник питания являются основными особенностями. Из-за различий в схеме межсоединений и целевой цепи, окружающей микроконтроллер, нет программатора, который работал бы со всеми возможными целевыми цепями или межсоединениями. Microchip предоставляет подробное руководство по программированию ICSP. Многие сайты предоставляют примеры программирования и схем.

PIC программируются с использованием пяти сигналов (шестой контакт «aux» предусмотрен, но не используется). Данные передаются по двухпроводной синхронной последовательной схеме, еще три провода обеспечивают программирование и питание микросхемы. Тактовый сигнал всегда контролируется программистом.

Типовая связь при программировании

Сигналы и распиновка

Pic icsp.jpg Типовые соединения микросхемы
  • Vpp- Режим программирования напряжения. Он должен быть подключен к выводу MCLR или выводу V pp дополнительного порта ICSP, доступного на некоторых PIC с большим количеством выводов. Чтобы перевести PIC в режим программирования, эта строка должна находиться в заданном диапазоне, который варьируется от PIC до PIC. Для PIC 5 В это всегда немного выше V dd и может достигать 13,5 В. В PIC только 3,3 В, таких как серии 18FJ, 24H и 33F, используется специальная подпись для входа в программу. mode, а V pp - цифровой сигнал, который находится либо на земле, либо на Vdd. Нет ни одного напряжения V pp, которое находится в пределах допустимого диапазона V pp для всех PIC. Фактически, минимально необходимый уровень V pp для некоторых PIC может повредить другие PIC.
  • Vdd- это положительная мощность, потребляемая PIC. Некоторые программисты требуют, чтобы это обеспечивалось схемой (схема должна быть хотя бы частично включена), некоторые программисты рассчитывают управлять этой линией самостоятельно и требуют, чтобы схема была отключена, в то время как другие могут быть настроены в любом случае (например, Microchip ICD2). Программисты Вставить Inc ожидать, чтобы управлять V линии дд сами и требуют целевой схемы, чтобы быть выключен во время программирования
  • Vss-. Отрицательный вход питания в ПОС и опорный ноль вольт для остальных сигналов. Напряжения других сигналов неявно указаны относительно V ss.
  • ICSPCLK - тактовая линия интерфейса последовательных данных. Эта линия переключается с GND на V dd и всегда управляется программистом. Данные передаются по заднему фронту.
  • ICSPDAT - Последовательная линия данных. Последовательный интерфейс является двунаправленным, поэтому этой линией может управлять программист или PIC, в зависимости от текущей операции. В любом случае эта линия переключается с GND на Vdd. Бит передается по заднему фронту PGC.
  • AUX / PGM - Более новые контроллеры PIC используют этот вывод для включения программирования низкого напряжения (LVP). Удерживая PGM на высоком уровне, микроконтроллер перейдет в режим LVP. Микроконтроллеры PIC поставляются с включенным LVP, поэтому, если вы используете новый чип, вы можете использовать его в режиме LVP. Единственный способ изменить режим - использовать программатор высокого напряжения. Если вы программируете микроконтроллер без подключения к этому выводу, режим остается неизменным.

Распиновка RJ11

Промышленный стандарт для использования разъемов RJ11 с программатором ICSP поддерживается Микрочип. На иллюстрации представлена ​​информация, представленная в их технических паспортах. Однако здесь есть место для путаницы. Таблицы данных PIC показывают перевернутый разъем и не дают графического изображения выводов, поэтому неясно, на какой стороне разъема находится контакт 1. На приведенной здесь иллюстрации не проверено, но используется стандартная распиновка для телефонной отрасли (вилка / розетка RJ11 была первоначально разработана для проводных настольных телефонов).

RJ11 для программатора ICSP PIC
Ссылки
См. Также
Последняя правка сделана 2021-05-23 12:36:26
Содержание доступно по лицензии CC BY-SA 3.0 (если не указано иное).
Обратная связь: support@alphapedia.ru
Соглашение
О проекте