Внутрисхемное программирование (англ. In-System Programming, сокр. ISP) — это технология программирования электронных компонентов (таких как микроконтроллеры), позволяющая программировать компонент, который уже установлен в устройство. До появления этой технологии, компоненты приходилось извлекать из устройства для их перепрограммирования.
Микросхемы, имеющие возможность внутрисхемного программирования, имеет схему для коммуникации с программатором посредством последовательного интерфейса.
Программирование по ISP-интерфейсу происходит по пяти линиям связи: MOSI, MISO, SCK, RESET,GND.
Так же схемой предусмотрена возможность из обычного напряжения питания генерировать напряжения необходимые для программирования.
Для программирования большинство микросхем используют разные варианты протокола JTAG.
Рекомендации по ICSP:
При использовании ICSP на плате устройства следует предусмотреть возможность подключения программатора. При программировании с использованием ICSP к программатору должны быть подключены 5 сигнальных линий:
- GND (VSS) Общий провод.
- VDD (VCC) + напряжение питания.
- MCLR' (VPP) Вход сброса микроконтроллера / вход напряжения программирования.
- RB7 (DATA) Двунаправленная шина данных в режиме программирования.
- RB6 (CLOCK) Вход синхронизации в режиме программирования.
Остальные выводы микроконтроллера не используются в режиме внутрисхемного программирования.