No, non è necessario, infatti non è possibile utilizzare SPI, UART o I 2 C per programmare il PIC. L' unico modo per ottenere un nuovo programma in un PIC che non ha un codice speciale caricato a tale scopo (un bootloader) è utilizzare l'interfaccia di programmazione hardware esterna. Elettricamente, questo significa collegarsi a Vss, MCLR, PGC e PGD. Può essere utile avere il programmatore collegato anche a Vdd, ma non necessario per questo chip purché il livello Vdd sia noto e il programmatore regolato di conseguenza.
L'interfaccia hardware di basso livello è abbastanza semplice. PGD è la linea di dati, che viene campionata dal PIC sul fronte di discesa di PGC (la linea di clock). Per mettere il PIC in modalità di programmazione in primo luogo, un tasto speciale a 32 bit viene sincronizzato in relazione a fronti specifici su MCLR (sebbene si veda la nota sotto relativa alla programmazione ad alta tensione).
Il protocollo di livello superiore diventa più complicato. La maggior parte delle cose viene eseguita con comandi a 6 bit, alcuni dei quali sono seguiti da parole di dati a 14 bit. Devi leggere attentamente le specifiche di programmazione. Si noti che le specifiche di programmazione sono un documento separato dal foglio dati. Vai alla pagina del prodotto per il tuo PIC specifico sul sito Web di Microchip e troverai un collegamento alle specifiche di programmazione nella sezione documenti.
Aggiunto sulla programmazione ad alta tensione
Questi tipi di PIC hanno due modi per accedere alla modalità di programmazione, alta tensione (HVP) e bassa tensione (LVP). Il metodo dell'alta tensione richiede di aumentare MCLR tra 8 e 9 volt e di mantenerlo lì durante la programmazione. Questo metodo funziona sempre, indipendentemente da eventuali dati programmati nel PIC.
Il metodo a bassa tensione per accedere alla modalità di programmazione inizia guidando MCLR in alto, quindi in basso, quindi cronometrando in una sequenza di tasti speciale a 32 bit usando PGC e PGD normalmente. La parte entrerà in modalità di programmazione sulla sequenza di tasti corretta e rimarrà in modalità di programmazione finché MCLR è tenuto basso.
Il metodo a bassa tensione può essere disabilitato da uno dei bit di configurazione. Tuttavia, lo stato cancellato del bit di configurazione consente la programmazione a bassa tensione, viene spedito dalla fabbrica in questo modo e questo bit di configurazione può essere impostato per non consentire LVP se la programmazione è stata immessa con il metodo dell'alta tensione. Pertanto, affinché LVP non sia abilitato, devono essere vere tutte le seguenti condizioni:
- Il PIC è stato programmato l'ultima volta con un programmatore compatibile con HVP ed è stata utilizzata la modalità di immissione del programma HVP.
- Il file HEX programmato nel PIC imposta deliberatamente il bit LVP nella parola di configurazione 2 sullo stato non cancellato.
Poiché la disabilitazione di LVP richiede praticamente un'azione deliberata e il giusto programmatore, è probabile che sia ancora attiva. Se è stato deliberatamente disabilitato per qualche strano motivo, allora devi fornire 8-9 V su MCLR per mettere il PIC in modalità di programmazione almeno abbastanza a lungo da eseguire una cancellazione in blocco (che riattiva LVP).