Нет, вам не нужно, фактически вы не можете использовать SPI, UART или I 2 C для программирования PIC. Только способ получить новую программу в ПОС , которая не имеет специальный код , загруженный для этой цели (Загрузчик) является использование внешнего интерфейса аппаратных средств программирования. Электрически это означает подключение к Vss, MCLR, PGC и PGD. Может быть полезно, чтобы программист также был подключен к Vdd, но не обязательно для этого чипа, если уровень Vdd известен и программист настроен соответствующим образом.
Аппаратный интерфейс низкого уровня довольно прост. PGD - это линия данных, которая дискретизируется PIC на заднем фронте PGC (линия синхронизации). Прежде всего, чтобы перевести PIC в режим программирования, специальный 32-битный ключ синхронизируется относительно определенных фронтов на MCLR (хотя см. Примечание ниже относительно программирования высокого напряжения).
Протокол более высокого уровня становится более сложным. Большинство вещей выполняется с помощью 6-битных команд, за некоторыми из которых следуют 14-битные слова данных. Вы должны внимательно прочитать спецификацию программирования. Обратите внимание, что спецификация программирования является отдельным документом из таблицы данных. Перейдите на страницу продукта для вашей конкретной PIC на веб-сайте Microchip, и вы найдете ссылку на спецификацию программирования в разделе документов.
Добавлено о программировании высокого напряжения
Эти виды PIC имеют два способа входа в режим программирования: высокое напряжение (HVP) и низкое напряжение (LVP). Метод высокого напряжения требует поднятия MCLR до 8-9 вольт и сохранения его во время программирования. Этот метод всегда работает, независимо от любых возможных данных, запрограммированных в PIC.
Низковольтный метод входа в режим программирования начинается с возбуждения MCLR на высоком, затем на низком уровне, а затем синхронизации в специальной 32-битной последовательности клавиш с использованием PGC и PGD обычно. При правильной последовательности клавиш деталь перейдет в режим программирования и будет оставаться в режиме программирования, пока MCLR удерживается на низком уровне.
Метод низкого напряжения может быть отключен одним из битов конфигурации. Однако стертое состояние бита конфигурации позволяет программировать низкое напряжение, таким образом он поставляется с завода-изготовителя, и этот бит конфигурации может быть установлен только для запрета LVP, если программирование было введено с помощью метода высокого напряжения. Поэтому, чтобы LVP не был включен, должны выполняться все следующие условия:
- Последний раз PIC программировался с помощью программатора, поддерживающего HVP, и использовался режим ввода программы HVP.
- Файл HEX, запрограммированный в PIC, преднамеренно устанавливает бит LVP в слове конфигурации 2 в состояние без стирания.
Так как отключение LVP в значительной степени требует преднамеренных действий и правильного программиста, оно, вероятно, все еще включено. Если он был намеренно отключен по какой-то странной причине, то вы должны подать 8-9 В на MCLR, чтобы перевести PIC в режим программирования, по крайней мере, достаточно долго, чтобы выполнить массовое стирание (которое повторно включает LVP).