È possibile utilizzare GPIO per programmare un PIC?


11

Mi riferisco ai microcontrollori PIC, in particolare alle serie 16f e 18f: il GPIO potrebbe essere utilizzato in questo modo?

Se é cosi, come?


1
Non sono del tutto sicuro di come, ma sono sicuro al 90% che puoi farlo.
Shane Hudson,

1
@ShaneHudson Nice answer;)
Jivings

Una cosa da fare è vedere se è disponibile un vecchio programmatore con porta parallela. Cambia il codice di manipolazione dei pin per usare gpio e potresti avere un programmatore funzionante.
XTL,

Vedi anche raspberrypi.org/phpBB3/viewtopic.php?f=44&t=8635 (avrdude, ma stessa idea)
XTL

Risposte:


5

I PIC più vecchi si affidavano al programmatore per fornire i tempi per la programmazione del Flash. Sospetto che l'RPi sarebbe in grado di correggere quei tempi. La principale difficoltà in quel caso sarebbe la conversione di livello da 3,3 V a 5 V per il PIC

I PIC più recenti eseguono i tempi di programmazione internamente e alcuni possono essere programmati a 3.3V. Questi dovrebbero essere in grado di essere collegati direttamente ad alcuni pin IO.

Ora hai letto le specifiche di programmazione per quella specifica famiglia PIC e scopri come manipolare i GPIO per inserire il programma.

Sarà abbastanza interessante se riuscirai a far funzionare qualcosa.


4

I pin 8 e 9 possono essere usati come pin UART, quindi dovrebbe essere possibile controllare un programmatore su questi pin.


2

Per quanto riguarda il software, esiste un programma programmatore di immagini open source per Linux chiamato odyssey . Viene utilizzato con programmatori collegati a una porta parallela. Odyssey comunica tramite bitbanging, quindi dovrebbe essere possibile adattarlo per inviare i dati a GPIO anziché a una porta parallela. Odyssey supporta molti PIC: 16f e 18f ed è in grado di leggere diversi formati di file HEX.

Un altro progetto aperto per la programmazione di immagini è usbpicprog . Anche questo potrebbe valere la pena dare un'occhiata, ma è più complicato in quanto è un programmatore collegato alla porta USB, costruito attorno a un pic18f2550. Questo programmatore ha una grande funzionalità: genera una tensione di programmazione + 12V con una pompa di carica, quindi non necessita di alcuna fonte di alimentazione diversa da + 5V su USB.


1

Vedi un esempio ( via ) e uno più avanzato ( via ) che descrive come usare Raspberry Pi per programmare i PIC tramite GPIO.

Si noti che questi circuiti richiedono una fonte di alimentazione esterna a 12V e alcuni componenti aggiuntivi (regolatore di tensione, transistor, condensatori, resistori e alcuni LED in quello avanzato).

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.