ICSP
ICSP står for In Circuit Serial Programming, altså det princip, at man kan programmere noget (i dette tilfælde PIC-en) ved at sende serielle signaler til den, og at man kan gøre det mens den sidder i kredsløbet.
For at dette kan lade sig gøre, så er der nogle specielle forudsætninger der skal være opfyldt.
ICSP kredsløb
Selv ICSP-porten er stikket SV3, der har forbindelse til PICkit 2-brænderen. Ben 2 har forbindelse til +5V og brænderen kan faktisk forsyne PIC-kredsløbet, hvis der ikke trækkes for meget strøm. Ben 3 er en stelforbindelse. Brændespændingen på 12,5 V kommer fra ben 1, og selve den serielle kommunikation foregår på ben 4 og 5.
SV1 er port-stikket til port A, og en del af benene i port A kan bruges uden begrænsninger. Pin_A2 er helt uden begrænsninger, og pin_A4 og pin_A5 skal blot konfigureres til at fungere, for at de kan anvendes (det har vi normalt i vores programmer). De 3 sidste ben skal bruges med omtanke. Pin_A0 og pin_A1 kan både være input og output, men fordi brænderen skal kunne overtage disse ben ved programmeringen, så er der sat en modstand i serie med hvert af signalerne. |
Udsnit af kredsløbet omkring ICSP-porten |
Selve den serielle programmering
Selve programmeringen skal man ikke spekulere det store på. Den foregår via PICkit 2-brænderen, og den styres fra software leveret sammen med brænderen.
Princippet i brændingen er, at man løfter brændespændingen op på 12,5V, hvorved PIC'en går i en speciel tilstand, hvor alle ben bliver til indgange, og den kan modtage data via de to programmeringsben. Det foregår via en velbeskrevet protokol defineret af microchip.
PIC | |
---|---|
PIC-Typer | PIC16F84 - PIC12F675 - PIC16F628 - PIC16F684 - PIC16F690 - PIC16F877 - PIC18F2550 |
Programmeringsbegreber | Maskinkode - Mikrocontroller |
Programmeringsmiljø | PIC-brænder - UsbPicProg - Analog indgang - ICSP |