Tutorials - PIC18

 

Passare da PIC16 a PIC18

 



Come passare da mid range a enhanced

Per chi non intende fermarsi su prodotti datati,  ma vuole seguire lo svilupparsi della tecnologia e sfruttare nuove prestazioni, si presenta il problema di come sostituire i processori mid-range PIC16 con i PIC18 in una applicazione già esistente.

Questo passaggio non è drammatico, in quanto sia mid-range che enhanced appartengono alla stessa filosofia di progetto e Microchip ha cercato per quanto possibile di rendere simili i due prodotti.

Un primo bonus è dato dal fatto che i chip nei contenitori hanno praticamente la stessa  disposizione tra pin e funzioni : tra un 16F877A e 18F4550 c'è la piena compatibilità pin to pin, ovvero i PORT, le alimentazioni, i pin dell' oscillatore, il reset, si trovano nelle stesse posizioni. Quindi i chip sono intercambiabili sulla stessa base hardware a livello delle funzioni primarie.

In secondo luogo, le differenze software tra 16F e 18F sono sensibili, ma non tanto da impedire la traslazione di un progetto dall' una all' altra in modo abbastanza indolore. 

Microchip dedica 2 application notes (AN) alla migrazione da mid (16F) e high (17) range verso gli enhanced (18F) e sono rispettivamente l' AN716 e l' AN726, scaricabili gratuitamente.

Vediamo qui una guida rapida che dia le linee generali per facilitare il passaggio, tenendo ben presente che sarà comunque necessario prendere visone del foglio dati del nuovo componente e 


Una guida rapida

In generale, la conversione più semplice consiste nei seguenti passi :

  • eliminare ogni riferimento a RP0 e RP1 (che non esistono nei PIC18F) e  BANKSEL/BANKISEL (che la funzione Access RAM/Access Bank rende inutili)

  • adeguare nomi, bit e locazioni dei registri speciali (che possono essere uguali, ma anche solo simili a quelli dei PIC16)

  • eliminare gli indirizzamenti con il simbolo $ e sostituirli con label

  • verificare che i nomi di eventuali macro non siano in conflitto con i nomi delle nuove istruzioni del set 18F, nè che eseguano operazioni improprie per il nuovo ambiente.

  • eliminare gli pseudo opcodes accettati da MPASM per i mid-range

  • se è abilitato il Brown-out Reset, selezionare il livello desiderato nel CONFIG iniziale

In questo modo è possibili convertire la maggior parte dei programmi con un minimo di interventi sul sorgente.
E', comunque, da tenere presente che la famiglia 18F è in continuo sviluppo e che i componenti più recenti possono avere differenze sensibili. Una lettura del foglio dati relativamente alle caratteristiche principali è essenziale.

In ogni caso, si possono usare utilmente e con facilità le prestazioni addizionali della famiglia 18F :

  • modi oscillatore speciali senza quarzo esterno

  • system clock switch per ridurre il consumo

  • più memoria programma e dati disponibile

  • pin addizionali di interrupt

  • priorità degli interrupt

  • salvataggio automatico del contesto in interrupt

  • accesso allo stack e funzioni speciali di stack

  • istruzione RESET

  • Timer 0 a 8/16 bit

  • più timer disponibili

  • set istruzioni esteso

Inoltre è essenziale verificare le differenze nelle funzioni comuni, come CCP, moduli seriali, moduli AD, ecc.
In generale, le funzioni speciali di PIC18F conservano per default una possibilità di "legacy" con le analoghe dei mid-range, per cui, trascurando di usare le prestazioni enhanced, possono essere praticamente impiegate identicamente.

Ad esempio, il Timer0 può essere usato a 16 bit, ma, non programmando esplicitamente questa possibilità, opera come l' equivalente a 8 bit. Così pure il modulo convertitore AD dispone di un automatismo per il tempo di acquisizione, ma, se non viene usato, il sorgente mid-range è facilmente adattabile.

Solitamente questi moduli la configurazione di default è proprio quella "legacy" per cui , non volendone utilizzare le funzioni estese, le modifiche al sorgente saranno limitate.

Vediamo qualche dettaglio dei punti salienti da tenere sotto controllo nel passare una applicazione funzionante su PIC16 ad un PIC18F, senza la pretesa di poter fornire una guida adeguata per ogni possibile circostanza.

 


 

 

 

Copyright © afg. Tutti i diritti riservati.
Aggiornato il 05/06/19.