Mi riferisco ai microcontrollori PIC, in particolare alle serie 16f e 18f: il GPIO potrebbe essere utilizzato in questo modo?
Se é cosi, come?
Mi riferisco ai microcontrollori PIC, in particolare alle serie 16f e 18f: il GPIO potrebbe essere utilizzato in questo modo?
Se é cosi, come?
Risposte:
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.
I pin 8 e 9 possono essere usati come pin UART, quindi dovrebbe essere possibile controllare un programmatore su questi pin.
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.
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).