Lo sviluppo dell'elettronica procede rapidamente e sempre più spesso l'elemento principale di un dispositivo è un microcontrollore. Fa la maggior parte del lavoro e libera il progettista dalla necessità di creare circuiti sofisticati, riducendo così al minimo le dimensioni del circuito. Come tutti sanno, il microcontrollore è controllato da un programma registrato nella sua memoria interna. E se un programmatore elettronico esperto non ha problemi a utilizzare i microcontrollori nei propri dispositivi, allora per un radioamatore principiante che prova a scrivere un programma su un controller (in particolare PIC) può rivelarsi una grande delusione, e talvolta un piccolo spettacolo pirotecnico sotto forma di un chip per fumatori.
Stranamente, ma con tutta la grandezza di Internet, ha pochissime informazioni sul firmware Controller Pice il materiale che si trova è di dubbia qualità. Naturalmente, puoi acquistare un programmatore di fabbrica a un prezzo inadeguato e cucire quanto vuoi, ma cosa succede se la persona non è impegnata nella produzione di massa. Per questi scopi, è possibile mettere insieme un semplice e non costoso da implementare fatto in casa, Di cui Programmatore JDM secondo lo schema seguente (figura n. 1):
Stranamente, ma con tutta la grandezza di Internet, ha pochissime informazioni sul firmware Controller Pice il materiale che si trova è di dubbia qualità. Naturalmente, puoi acquistare un programmatore di fabbrica a un prezzo inadeguato e cucire quanto vuoi, ma cosa succede se la persona non è impegnata nella produzione di massa. Per questi scopi, è possibile mettere insieme un semplice e non costoso da implementare fatto in casa, Di cui Programmatore JDM secondo lo schema seguente (figura n. 1):
Figura №1 - diagramma del programmatore
Immediatamente porto un elenco di elementi per coloro che sono troppo pigri per scrutare il diagramma:
- R1 - 10 kOhm
- R2 - 10 kOhm (troncato). Regolando la resistenza di questo resistore, durante la programmazione è necessario raggiungere circa 13 V sul pin n. 4 (VPP). Nel mio caso, la resistenza è 1,2 kOhm
- R3 - 200 ohm
- R4, R5 - 1,5 kOhm
- VD1, VD2, VD3, VD4, VD6 - 1N4148
- VD5 - 1N4733A (tensione di stabilizzazione 5.1 V)
- VD7 - 1N4743A (tensione di stabilizzazione 13 V)
- C1 - 100 nF (0,1 μF)
- C2 - 470 μF x 16 V (elettrolitico)
- SUB-D9F - Connettore porta COM (MOM o SOCKET)
- Presa DIP8: dipende dal controller utilizzato
Il circuito utilizza un esempio di collegamento di controller comuni come PIC12F675 e PIC12F629, ma ciò non significa affatto che il firmware di altre serie PIC sarà impossibile. Per scrivere un programma su un controller di un tipo diverso, è sufficiente trasferire i fili del programmatore secondo la Figura 2, che viene fornita di seguito.
Figura n. 2 - Opzioni della custodia del controller PIC con le conclusioni necessarie
Come puoi immaginare, il caso viene utilizzato nello schema del mio programmatore DIP8. Con un grande desiderio, puoi realizzare un adattatore universale per ogni tipo di chip, ottenendo così un programmatore universale. Ma da allora Controller PIC Lavoro raramente, questo è abbastanza per me.
Sebbene il circuito stesso sia abbastanza semplice e non causi difficoltà di montaggio, ma richiede anche rispetto. Pertanto, sarebbe bello realizzare un circuito stampato per questo. Dopo alcune manipolazioni con il programma SprintLayout, textolite, trapano e ferro, un tale spazio bianco è nato qui (foto n. 3).
Sebbene il circuito stesso sia abbastanza semplice e non causi difficoltà di montaggio, ma richiede anche rispetto. Pertanto, sarebbe bello realizzare un circuito stampato per questo. Dopo alcune manipolazioni con il programma SprintLayout, textolite, trapano e ferro, un tale spazio bianco è nato qui (foto n. 3).
Foto n. 3 - circuito programmatore
Scarica la sorgente PCB per il programma SprintLayout Puoi seguire questo link:
Se lo si desidera, è possibile modificarlo con il tipo di controller PIC. Per coloro che hanno deciso di lasciare invariata la scheda, ho allargato la vista dal lato delle parti per facilitare l'installazione (Figura 4).
Se lo si desidera, è possibile modificarlo con il tipo di controller PIC. Per coloro che hanno deciso di lasciare invariata la scheda, ho allargato la vista dal lato delle parti per facilitare l'installazione (Figura 4).
Figura 4 - Scheda sul lato di montaggio
Un po 'più di stregoneria con un saldatore e abbiamo un dispositivo pronto che può lampeggiare Controller pic attraverso Porta COM il tuo computer. Ancora caldo e non lavato dal flusso, il risultato dei miei sforzi è mostrato nella foto n. 5.
Da ora in poi, il primo passo verso il firmware Controller picè finito. La seconda fase includerà il collegamento del programmatore al computer e l'utilizzo del programma IC Prog.
Sfortunatamente, non tutti i moderni computer e laptop sono in grado di lavorare con questo programmatore a causa della banale assenza su di essi Porte COMe quelli installati sui laptop non forniscono la programmazione necessaria 12B. Così ho deciso di passare al mio primo PCche molto tempo fa spolverava e aspettava la sua ora migliore (e ancora aspettava).
Quindi accendi il computer e installa prima il programma IC Prog. Puoi scaricarlo dal sito dell'autore o a questo link:
Colleghiamo il programmatore a Porta COM ed esegui l'applicazione appena installata. Per un corretto funzionamento, è necessario eseguire una serie di manipolazioni. Inizialmente, è necessario scegliere il tipo di controller che stiamo per cucire. Ce l'ho PIC12F675. Nello screenshot n. 6, il campo per la selezione del controller è evidenziato in rosso.
Sfortunatamente, non tutti i moderni computer e laptop sono in grado di lavorare con questo programmatore a causa della banale assenza su di essi Porte COMe quelli installati sui laptop non forniscono la programmazione necessaria 12B. Così ho deciso di passare al mio primo PCche molto tempo fa spolverava e aspettava la sua ora migliore (e ancora aspettava).
Quindi accendi il computer e installa prima il programma IC Prog. Puoi scaricarlo dal sito dell'autore o a questo link:
Colleghiamo il programmatore a Porta COM ed esegui l'applicazione appena installata. Per un corretto funzionamento, è necessario eseguire una serie di manipolazioni. Inizialmente, è necessario scegliere il tipo di controller che stiamo per cucire. Ce l'ho PIC12F675. Nello screenshot n. 6, il campo per la selezione del controller è evidenziato in rosso.
Schermata 6 - Selezione del tipo di microcontrollore
Quindi, vai al menu "Impostazioni "->" Opzioni", nella finestra visualizzata, seleziona la scheda I2C e seleziona le caselle come mostrato nello screenshot n. 7.
Schermata 7 - impostazione del metodo di registrazione del controller
Nella stessa finestra, vai alla scheda "programmazione"e seleziona"Verifica della programmazione". Il controllo dopo la programmazione può causare un errore, perché in alcuni casi il firmware installa i fusibili di blocco CP. Per non illuderti, è meglio disabilitare questo controllo. In breve, segui lo screenshot numero 8.
Schermata n. 8: impostazione della verifica
Continuiamo a lavorare con questa finestra e andiamo alla "comune". Qui è necessario impostare la priorità del programma e assicurarsi di utilizzarlo NT / 2000 / XP autista (screenshot numero 9). In alcuni casi, il programma potrebbe suggerire l'installazione di questo driver e potrebbe richiedere un riavvio IC Prog.
Schermata 9 - Impostazioni generali
Quindi, con questa finestra il lavoro è finito. Passiamo ora alle impostazioni del programmatore stesso. Scegli nel menu "Impostazioni "->" Impostazioni programmatore"o premi semplicemente il tasto F3. Viene visualizzata la seguente finestra, mostrata nello screenshot n. 10.
Schermata n. 10 - Finestra delle impostazioni del programmatore
Prima di tutto, seleziona il tipo di programmatore - Programmatore jdm. Successivamente, impostiamo il pulsante di opzione per l'utilizzo del driver finestre. Il prossimo passo è scegliere Porta COMa cui è collegato il programmatore. Se ce n'è uno, non ci sono domande e, se ce n'è più di uno, guarda in Gestione dispositivi che è attualmente in uso. Il dispositivo di scorrimento del ritardo I / O è progettato per controllare la velocità di scrittura e lettura. Questo può essere necessario su computer veloci e se ci sono problemi con il firmware - questo parametro deve essere aumentato. Nel mio caso, è rimasto di default uguale a 10 e tutto ha funzionato bene.
Su questa impostazione del programma IC Prog è finito e puoi procedere al processo del firmware stesso, ma prima leggiamo i dati dal microcontrollore e vediamo cosa è scritto in esso. Per fare ciò, sulla barra degli strumenti, fai clic sull'icona del microcircuito con una freccia verde, come mostrato nello screenshot n. 11.
Su questa impostazione del programma IC Prog è finito e puoi procedere al processo del firmware stesso, ma prima leggiamo i dati dal microcontrollore e vediamo cosa è scritto in esso. Per fare ciò, sulla barra degli strumenti, fai clic sull'icona del microcircuito con una freccia verde, come mostrato nello screenshot n. 11.
Schermata 11 - Il processo di lettura delle informazioni dal microcontrollore
Se il microcontrollore è nuovo e non è stato precedentemente eseguito il flashing, tutte le sue celle di memoria verranno riempite di valori 3FFFtranne l'ultimo. Conterrà il valore della costante di calibrazione. Questo è un valore molto importante e unico per ciascun controller. La precisione dell'orologio dipende da questo, che viene selezionato dal produttore selezionando e installando questa costante. Lo screenshot n. 12 mostra la cella di memoria in cui verrà memorizzata la costante durante la lettura del controller.
Schermata 12 - valore della costante di calibrazione
Ripeto che il valore è unico per ciascun microcircuito e non deve coincidere con quanto mostrato in figura. Molti per inesperienza sovrascrivono questa costante e successivamente Controller pic inizia a funzionare in modo errato se il progetto utilizza il clock da un generatore interno. Ti consiglio di annotare questa costante e incollare l'iscrizione con il suo valore direttamente sul controller. In questo modo eviterai molti problemi in futuro. Quindi, il valore è scritto - andiamo avanti. Apri il file del firmware, che di solito ha un'estensione hex. Adesso invece di scrivere 3FFF, il buffer di programmazione contiene il codice del nostro programma (screenshot n. 13).
Schermata 13 - Firmware scaricato nel buffer di programmazione
Ho scritto sopra che molti sovrascrivono la costante di calibrazione per negligenza. Quando succede? Ciò accade quando viene aperto il file del firmware. Il valore della costante cambia automaticamente in 3FFF e se si avvia il processo di programmazione, non è possibile tornare indietro. Nello screenshot n. 14, quella cella di memoria in cui si trovava in precedenza la costante 3450 (prima dell'apertura file esadecimale).
Schermata n. 14: cambio automatico della costante di calibrazione
Ora devi seguire attentamente i passaggi seguenti. Facciamo clic sull'icona del microcircuito con un fulmine sulla barra degli strumenti, informando così il programma che vogliamo avviare il processo del firmware. Il programma chiederà se siamo sicuri di voler eseguire il flashing di questo dispositivo. Accettiamo e facciamo clic su "SI". Successivamente, viene visualizzato l'avviso mostrato nello screenshot n. 15.
Schermata n. 15 - avviso di discrepanza nei valori della costante di clock
IC Prog ci dice che un valore della costante di calibrazione (nel mio caso 3450) e ora un altro (3FFF) sostituito automaticamente da file esadecimale. Si propone inoltre di lasciare il valore predefinito 3FFF. È importante fare clic su "NO"Per IC Prog durante la programmazione ci ha restituito il valore 3450 o cosa sarà con te. In generale, fai clic su "NO"e osserva la seguente finestra (screenshot n. 16).
Schermata 16 - processo di programmazione
Durante questo periodo, ti consiglio di non premere nulla o caricare il computer con altre attività. Quando ho fatto uno screenshot per questo articolo, quando faccio clic sul pulsante Stampa schermo si è verificato un errore di scrittura e ho dovuto ricominciare da capo. Dopo qualche tempo IC Prog ti darà un messaggio sulla corretta verifica del nuovo codice scritto nel tuo Controller pic, quindi a tutti coloro che hanno apprezzato questo articolo, voglio vederlo dopo sforzi simili (screenshot n. 17):
Schermata n. 17: il firmware ha avuto esito positivo, puoi rilassarti
In caso di domande, rileggere attentamente l'articolo e tutto funzionerà sicuramente, controllato personalmente. Buona fortuna a tutti e successo creativo !!!