Menu English Ukrainian Russo Casa

Libreria tecnica gratuita per hobbisti e professionisti Libreria tecnica gratuita


ENCICLOPEDIA DELLA RADIOELETTRONICA ED ELETTRICA
Libreria gratuita / Schemi di dispositivi radioelettronici ed elettrici

Programmazione dei moderni PIC16, PIC12 su PonyProg. Enciclopedia dell'elettronica radio e dell'ingegneria elettrica

Libreria tecnica gratuita

Enciclopedia della radioelettronica e dell'elettrotecnica / microcontrollori

Commenti sull'articolo Commenti sull'articolo

Come sapete, il programmatore PonyProg è progettato per programmare un numero limitato di tipi di microcontrollori PICmicro di Microchip (PIC12C50x PIC16F8x, PIC16F87x). Tuttavia può essere utilizzato per programmarne altri, compresi i nuovi microcontrollori delle serie PIC12 e PIC16. L'articolo descrive come eseguire questa operazione.

Molti radioamatori costruiscono i loro progetti basandosi sul popolare controller PIC PIC16F84 (PIC16F84A). Tuttavia, il tempo non si ferma e la gamma di microcontrollori PICmicro (MCU) prodotti è in continua espansione. Sono comparsi MCU nuovi e più avanzati delle serie PIC16F e PIC12F (ad esempio, PIC12F629, PIC12F675, PIC16F628, PIC16F630, PIC16F676). Contengono un comparatore in grado di funzionare con una tensione di ingresso prossima allo zero, il che è molto allettante con un'alimentazione singola. L'ADC a 10 bit incluso nella loro composizione ha una precisione non peggiore dei microcircuiti specializzati che, insieme a maggiori capacità di elaborazione e visualizzazione delle informazioni, consente di creare dispositivi unici con un numero minimo di elementi esterni. I nuovi MK hanno una memoria più grande, timer aggiuntivi, una porta di comunicazione universale e altri miglioramenti. Inoltre, il loro costo è significativamente inferiore a quello del PIC16F84 e il FLASH PIC16F630 è più economico del PIC16C505 (entrambi in package a 14 pin). L'organizzazione della memoria del PIC12Fx è la stessa del PIC16F84 (una pagina), il che semplifica l'adattamento di programmi che non richiedono l'uso di MCU in pacchetti multi-pin.

Se decidi di utilizzare nuovi microcontrollori nei tuoi progetti, prima di studiarli e scrivere programmi, pensa a cosa programmarli. Acquistare un programmatore di marca ad un costo paragonabile al costo di un'unità di sistema informatico è quasi impossibile per i radioamatori. Tuttavia, molti di loro hanno assemblato il programmatore PONYPROG [1]. Scopriamo come puoi usarlo per programmare nuovi MK.

Tutti i MK sono programmati tramite un bus a tre fili. Per la programmazione sono necessari i segnali Upp (trasferimento in modalità programmazione), CLK (sincronizzazione) e DAT (dati).

Gli hobbisti che non dispongono di un programmatore possono utilizzare un semplice dispositivo assemblato secondo lo schema di Fig. 1. È collegato alla porta COM del PC, per alimentare il MK viene utilizzata una fonte separata con una tensione di uscita di 5 V.

Programmazione dei moderni PIC16, PIC12 su PonyProg
(clicca per ingrandire)

In "Impostazioni attrezzatura" indicare il tipo di programmatore - API JDM. I terminali sono collegati secondo la tabella. La programmazione può essere effettuata direttamente nel dispositivo finito utilizzando la sua fonte di alimentazione (è solo necessario eliminare la derivazione dei pin di programmazione MK da parte degli elementi del prodotto). La tensione di alimentazione durante la programmazione deve essere compresa tra 4,5...5,5 V (se necessario selezionare il diodo zener VD1).

Dalla tabella si vede che lo scopo dei pin PIC16F84 e PIC16F628 utilizzati durante la programmazione è lo stesso, quindi possono essere programmati nella stessa presa del programmatore. Per gli altri microcircuiti dovrai installare prese aggiuntive collegate all'adattatore secondo la tabella. Informazioni più dettagliate sui controllori PIC possono essere trovate sul sito web [2].

Ulteriori spiegazioni vengono fornite utilizzando come esempio il PIC16F628, poiché non richiede modifiche hardware al programmatore PonyProg ed è più facilmente reperibile nei negozi rispetto ad altri.

Come già detto, tutti i PICmicro MK si programmano tramite tre fili (più precisamente due). Anche il protocollo di programmazione (comandi) è lo stesso.

La memoria del programma inizia all'indirizzo 0000 e termina a seconda del suo volume in un particolare tipo di chip. Ciò significa che selezionando dall'elenco PonyProg il MK adatto a questo parametro è possibile registrare il programma desiderato. Nel nostro caso è adatto il PIC16F871. Va tenuto presente che la riga inferiore della finestra PonyProg indica la quantità di memoria in byte e le caratteristiche tecniche dell'MK di solito indicano il numero di parole (14 bit). In altre parole, il programmatore mostra un volume maggiore. PIC16F871 e PIC16F628 hanno una capacità di memoria di 2048 parole. Inoltre, questo può essere verificato nel file .Ikr del corrispondente MK (situato nella cartella di installazione di MPLAB) leggendolo utilizzando il programma Notepad standard. L'indirizzo della memoria del programma è indicato come segue:

CODEPAGE NAME=vettori START=0x0 END=0x4 PROTECTED (trasferimenti condizionati) CODEPAGE NAME=pagina START=0x5 END=0x7FF (trasferimenti condizionati)

Programmazione dei moderni PIC16, PIC12 su PonyProg

A questo punto, puoi già provare a scrivere informazioni nella memoria del programma. Qualsiasi file HEX non più grande di 2048 parole è adatto a questo scopo. Dopo aver avviato il programma di servizio, collegare il dispositivo alla porta del computer, inserire l'MK nell'apposita presa, quindi accendere il programmatore. Selezionare PIC16F871 dal menu, caricare il file HEX selezionato e fare clic sul pulsante "Scrivi memoria programma (FLASH)". Apparirà un messaggio di errore che ti informerà dei problemi con il MK e contenente tre pulsanti (Fig. 2): “Abort” (interrompi), “Retry” (ripeti), “Ignore” (ignora). Fare clic sull'ultimo ("Ignora") e inizierà il processo di programmazione. Al termine, dovrebbe apparire un messaggio che indica la registrazione riuscita. Se il programmatore genera un "Errore di Scrittura", verificare il contenuto della memoria del programma, considerandolo il comando corrispondente. La presenza di errori indica che il programmatore potrebbe funzionare troppo velocemente (questo accade se sul computer è installato WINDOWS XP; con WINDOWS 98 il programma funziona più lentamente e scrive in modo più affidabile). La causa potrebbe anche essere un'interferenza (se i cavi di collegamento sono troppo lunghi) e, in rari casi, antivirus e altri programmi in background. Se la voce manca completamente, l'hardware del programmatore è difettoso oppure il programma è configurato in modo errato (nel menu).

La fase successiva, più importante, è scrivere la parola di configurazione. Il suo indirizzo può essere trovato anche nel file .Ikr del corrispondente MK. La riga nel file è simile alla seguente:

CODEPAGE NAME=.config START=0x2007 END=0x2007 PROTETTO (trasferimenti condizionali).

La parola di configurazione si trova all'indirizzo 0x2007. Nel nostro caso, PIC16F871 e PIC16F628 hanno indirizzo 2007, cioè sono adatti alla sostituzione (è da notare che la parola di configurazione per tutti i PIC16 e PIC12F si trova a questo indirizzo). Non è consigliabile impostare i bit di configurazione direttamente nel programmatore, poiché la loro designazione sul pannello del programmatore per PIC16F628 e PIC16F871 è diversa e sono possibili errori e alcuni bit sono disattivati ​​e non possono essere impostati direttamente. È meglio annotare la configurazione MK durante la compilazione di un programma. Per MPLAB queste righe potrebbero assomigliare a queste:

in lude p16f628.inc> list p=16f628_config H'0242"

Il valore di '0242' viene compilato in base allo scopo di ciascun bit nella parola di configurazione e potrebbe essere diverso nel caso specifico. Una descrizione dettagliata di tutti i bit può essere trovata sul sito web [2].

Le abbreviazioni dei bit di configurazione sono contenute nel file .INC del corrispondente MK nella cartella di installazione di MPLAB. Vista approssimativa:

BODEN SU EQU H'3FFF'

BODEN OFF EQU H'3FBF'

CP ALL EQU H'03FF'

CP 75 EQU H'17FF'

CP 50 EQU H'2BFF'

CP OFF EQU H'3FFF'

DATI CP SU EQU H'3EFF'

DATI CP OFF EQU H'3FFF'

PWRTE OFF EQU H'3FFF'

PWRTE ON EQU H'3FF7'

WDT SU EQU H'3FFF'

WDT OFF EQU H'3FFB'

LVP SU EQU H'3FFF'

LVP OFF EQU H'3F7F'

MCLRE SU EQU H'3FFF'

MCLRE OFF EQU H'3FDF'

ER OSC CLKOUT EQU H'3FFF'

ER OSC NOCLKOUT EQU H'3FFE'

INTRC OSC CLKOUT EQU H'3FFD'

INTRC OSC NOCLKOUT EQU H'3FFC

EXTCLK OSC EQU H'3FEF'

LP OSC EQU H'3FEC

XT OSC EQU H'3FED'

HS OSC EQU H'3FEE'

Usando queste notazioni, la stringa di immissione potrebbe essere simile a questa:

__config CP_ALL & WDT OFF & BODEN ON & _PWRTE_ON & _HSJ3SC &_LVP OFF ; (i trasferimenti sono condizionati).

In questo modo puoi scrivere una parola di configurazione per qualsiasi MK usando il suo file .INC. Ciò è utile quando si adatta un programma già pronto, ad esempio nel caso di sostituzione del PIC16F627 con un PIC16F627A più economico. Quando si include la configurazione nel testo del programma, questa verrà inclusa nel file HEX e verranno impostati anche i bit ombreggiati. Dopo aver inserito la parola di configurazione nel programmatore leggendo il file HEX del programma che la contiene, la registrazione viene effettuata nel modo consueto, inserendo l'apposito comando. Allo stesso modo, può essere letto da MK. È possibile assicurarsi che la configurazione venga scritta cancellando il pannello di programmazione della configurazione del programmatore dopo la scrittura e quindi leggendo la configurazione dal MK, oppure leggendo la memoria del programma da un chip protetto da lettura: prima di scrivere la configurazione, viene letta , ma dopo la scrittura non lo è (se la protezione è impostata), in questo caso la configurazione è leggibile anche nel microcircuito protetto.

Non è consigliabile impostare i bit di sicurezza a meno che non sia assolutamente necessario. Il fatto è che alcuni MK hanno comandi di cancellazione diversi e non sarai in grado di riprogrammarli, poiché i bit di protezione su PonyProg non verranno cancellati. Tuttavia, quando si scrive su un chip non protetto sul "firmware" che contiene, il codice scritto cancellerà le informazioni precedenti e non sarà necessario cancellarle. Tuttavia, questo non si applica ai PIC16F627, PIC16F628; le informazioni in essi contenute possono essere protette senza timore.

I dati vengono scritti nella EEPROM nel modo consueto, poiché i dati negli MCU PIC16F e PIC12F vengono inseriti dall'indirizzo 2100p. Puoi anche visualizzarlo nel file .Ikr. Una riga di esempio:

CODEPAGE NAME=eedata START=0x2100 END=0x217F PROTETTO (trasferimenti condizionali).

Varie per controller PIC - solo la fine dell'area dati (a causa di volumi diversi): per PIC16F628 - 128, per PIC16F871 - 64 byte, ma se il volume necessario per il lavoro non supera la dimensione dell'EEPROM del sostituto selezionato chip (per PIC16F871 - 64 byte), è possibile programmare senza cambiare il tipo MK nel menu: la memoria in eccesso del PIC16F628 semplicemente non verrà utilizzata. Se è necessario scrivere un volume maggiore, nel menu del programmatore è necessario sostituire il tipo MK con una capacità di memoria simile al PIC16F628 (nel nostro caso è un PIC16F874 con EEPROM 128 byte) e scrivere nel solito modo. È possibile modificare il tipo MK nel menu in qualsiasi fase della programmazione.

Va notato che sebbene il PIC16F874 abbia una memoria di programma due volte più grande del PIC16F628, è possibile scrivere informazioni su di esso impostando PIC16F874 e anche PIC16F877 (16K) nel menu, tuttavia, quando si controlla la registrazione, il programmatore visualizzerà un messaggio di errore. Il fatto è che quando si legge una parte della memoria che non è implementata nel PIC16F628, il MK produrrà informazioni scritte negli indirizzi più bassi (i bit di indirizzo alto vengono ignorati), cioè la memoria del programma verrà letta due volte (nel PIC16F877 - quattro volte). In altre parole non si tratta di un errore del programma, ma di una rilettura della memoria; il programma viene scritto normalmente.

Letteratura

  1. Dolgiy A. Sviluppo e debug di dispositivi su MK. - Radio, 2001, n. 6, pag. 24-26: n. 7, pag. 19-21.

Autore: A.Sizov, Ivanvo

Vedi altri articoli sezione microcontrollori.

Leggere e scrivere utile commenti su questo articolo.

<< Indietro

Ultime notizie di scienza e tecnologia, nuova elettronica:

Macchina per diradare i fiori nei giardini 02.05.2024

Nell'agricoltura moderna si sta sviluppando il progresso tecnologico volto ad aumentare l'efficienza dei processi di cura delle piante. Presentata in Italia l'innovativa macchina per il diradamento dei fiori Florix, progettata per ottimizzare la fase di raccolta. Questo attrezzo è dotato di bracci mobili, che permettono di adattarlo facilmente alle esigenze del giardino. L'operatore può regolare la velocità dei fili sottili controllandoli dalla cabina del trattore tramite joystick. Questo approccio aumenta significativamente l'efficienza del processo di diradamento dei fiori, offrendo la possibilità di adattamento individuale alle condizioni specifiche del giardino, nonché alla varietà e al tipo di frutto in esso coltivato. Dopo due anni di test della macchina Florix su diverse tipologie di frutta, i risultati sono stati molto incoraggianti. Agricoltori come Filiberto Montanari, che utilizza una macchina Florix da diversi anni, hanno riscontrato una significativa riduzione del tempo e della manodopera necessari per diluire i fiori. ... >>

Microscopio infrarosso avanzato 02.05.2024

I microscopi svolgono un ruolo importante nella ricerca scientifica, consentendo agli scienziati di approfondire strutture e processi invisibili all'occhio. Tuttavia, vari metodi di microscopia hanno i loro limiti e tra questi c'è la limitazione della risoluzione quando si utilizza la gamma degli infrarossi. Ma gli ultimi risultati dei ricercatori giapponesi dell'Università di Tokyo aprono nuove prospettive per lo studio del micromondo. Gli scienziati dell'Università di Tokyo hanno presentato un nuovo microscopio che rivoluzionerà le capacità della microscopia a infrarossi. Questo strumento avanzato consente di vedere le strutture interne dei batteri viventi con sorprendente chiarezza su scala nanometrica. In genere, i microscopi nel medio infrarosso sono limitati dalla bassa risoluzione, ma l’ultimo sviluppo dei ricercatori giapponesi supera queste limitazioni. Secondo gli scienziati, il microscopio sviluppato consente di creare immagini con una risoluzione fino a 120 nanometri, ovvero 30 volte superiore alla risoluzione dei microscopi tradizionali. ... >>

Trappola d'aria per insetti 01.05.2024

L’agricoltura è uno dei settori chiave dell’economia e il controllo dei parassiti è parte integrante di questo processo. Un team di scienziati dell’Indian Council of Agricultural Research-Central Potato Research Institute (ICAR-CPRI), Shimla, ha trovato una soluzione innovativa a questo problema: una trappola per insetti alimentata dal vento. Questo dispositivo risolve le carenze dei metodi tradizionali di controllo dei parassiti fornendo dati sulla popolazione di insetti in tempo reale. La trappola è alimentata interamente dall'energia eolica, il che la rende una soluzione ecologica che non richiede energia. Il suo design unico consente il monitoraggio sia degli insetti dannosi che utili, fornendo una panoramica completa della popolazione in qualsiasi area agricola. “Valutando i parassiti target al momento giusto, possiamo adottare le misure necessarie per controllare sia i parassiti che le malattie”, afferma Kapil ... >>

Notizie casuali dall'Archivio

Silenzio in sala operatoria 10.02.2012

Le osservazioni fatte all'ospedale universitario di Berna (Svizzera) dimostrano che durante l'operazione deve esserci silenzio.

Il chirurgo Guido Beldi ha esaminato i dati di 35 pazienti sottoposti allo stesso intervento chirurgico addominale e li ha confrontati con il livello di rumore durante l'operazione registrato dagli strumenti. Sei pazienti hanno avuto complicazioni dovute all'infezione introdotta. Queste operazioni differivano solo per il fatto che durante il loro corso il livello di rumore medio era di 43,6 decibel invece di 25.

Beldi suggerisce che il rumore extra, principalmente associato alle conversazioni del personale, ha impedito ai partecipanti all'operazione di concentrarsi e quindi sono stati violati i severi requisiti antisettici.

Altre notizie interessanti:

▪ Effetto magnetoelettrico di un cristallo simmetrico

▪ Impronte luminose

▪ batterie di carta

▪ Ulteriori caratteristiche del sensore touch B6TS

▪ Ora capisco perché abbiamo bisogno di un'appendice

News feed di scienza e tecnologia, nuova elettronica

 

Materiali interessanti della Biblioteca Tecnica Libera:

▪ sezione del sito amplificatori di potenza RF. Selezione dell'articolo

▪ articolo Inizi veramente russi. Espressione popolare

▪ articolo Quale azienda calzaturiera regala un altro paio di scarpe ai bambini poveri per ogni paio di scarpe che vende? Risposta dettagliata

▪ Articolo di cavolo rapa. Leggende, coltivazione, metodi di applicazione

▪ articolo Comodo interruttore. Enciclopedia dell'elettronica radio e dell'ingegneria elettrica

▪ articolo Quadri con tensione fino a 1 kV AC e fino a 1,5 kV DC. Prefazione. Enciclopedia dell'elettronica radio e dell'ingegneria elettrica

Lascia il tuo commento su questo articolo:

Nome:


E-mail (opzionale):


commento:





Tutte le lingue di questa pagina

Homepage | Biblioteca | Articoli | Mappa del sito | Recensioni del sito

www.diagram.com.ua

www.diagram.com.ua
2000-2024