La recente disponibilità sul mercato di dispositivi a basso costo ed elevate prestazioni come i Field Programmable Gate Array (FPGA) offre la possibilità di ingegnerizzare prodotti che sfruttino l'insieme di algoritmi e tecniche consolidati dalle ricerche finora condotte. Le piattaforme basate su FPGA permettono, infatti, di ottenere sistemi più economici e veloci in quanto implementano strutture circuitali in grado di lavorare in parallelo, elaborando più dati contemporaneamente, contrariamente ai microprocessori tradizionali anche specializzati come i DSP. Per questo motivo esse si prestano meglio all'implementazione degli algoritmi di controllo computazionalmente più onerosi tra quelli sviluppati, ad esempio le tecniche di controllo di tipo VOC (Voltage Oriented Control) o DPC (Direct Power Control). L'architettura FPGA, tuttavia, richiede una programmazione più complessa, dal momento che non risulta possibile utilizzare linguaggi di programmazione di alto livello come il C, né interfacce grafiche basate su rappresentazioni mediante schemi a blocchi (a meno di non usare tool di sviluppo molto costosi quali HDL coder per Simulink®, etc.). Per i sitemi FPGA è necessaria, invece, la programmazione in linguaggi di descrizione dell'hardware quali il VHDL o il Verilog. Per i motivi finora esposti è stato deciso di iniziare il processo di migrazione verso una nuova piattaforma di sviluppo con architettura FPGA mediante la creazione di una libreria di componenti VHDL riutilizzabili per l'implementazione di blocchi di uso comune quali regolatori PID, modulatori PWM, etc. A tal fine ci si avvarrà della possibilità offerta dal linguaggio VHDL di inserire in un package componenti precedentemente creati e validati, per poi richiamarli all'occorrenza mediante istanziazione utilizzando architetture di tipo structural che permettono di descrivere l'hardware proprio come si farebbe con uno schema a blocchi in ambiente Simulink®, specificando unicamente le interconnessioni tra i diversi moduli esistenti. Pertanto, nel presente documento si descriverà la creazione di una libreria denominata ISSIA_package.vhd, alla quale sarà aggiunto il primo componente: un regolatore PID a parametri variabili. Si tratta di un elemento utilizzato nella maggior parte degli algoritmi già implementati su piattaforma dSPACE, che sarà adesso implementato in linguaggio VHDL e descritto dettagliatamente.
Libreria VHDL di componenti per il laboratorio Energie Rinnovabili ed Azionamenti Elettrici del CNR-ISSIA u.o.s. di Palermo. Revisione 1.0: creazione della libreria ed implementazione di un regolatore PID a parametri variabili
Luna Massimiliano
2011
Abstract
La recente disponibilità sul mercato di dispositivi a basso costo ed elevate prestazioni come i Field Programmable Gate Array (FPGA) offre la possibilità di ingegnerizzare prodotti che sfruttino l'insieme di algoritmi e tecniche consolidati dalle ricerche finora condotte. Le piattaforme basate su FPGA permettono, infatti, di ottenere sistemi più economici e veloci in quanto implementano strutture circuitali in grado di lavorare in parallelo, elaborando più dati contemporaneamente, contrariamente ai microprocessori tradizionali anche specializzati come i DSP. Per questo motivo esse si prestano meglio all'implementazione degli algoritmi di controllo computazionalmente più onerosi tra quelli sviluppati, ad esempio le tecniche di controllo di tipo VOC (Voltage Oriented Control) o DPC (Direct Power Control). L'architettura FPGA, tuttavia, richiede una programmazione più complessa, dal momento che non risulta possibile utilizzare linguaggi di programmazione di alto livello come il C, né interfacce grafiche basate su rappresentazioni mediante schemi a blocchi (a meno di non usare tool di sviluppo molto costosi quali HDL coder per Simulink®, etc.). Per i sitemi FPGA è necessaria, invece, la programmazione in linguaggi di descrizione dell'hardware quali il VHDL o il Verilog. Per i motivi finora esposti è stato deciso di iniziare il processo di migrazione verso una nuova piattaforma di sviluppo con architettura FPGA mediante la creazione di una libreria di componenti VHDL riutilizzabili per l'implementazione di blocchi di uso comune quali regolatori PID, modulatori PWM, etc. A tal fine ci si avvarrà della possibilità offerta dal linguaggio VHDL di inserire in un package componenti precedentemente creati e validati, per poi richiamarli all'occorrenza mediante istanziazione utilizzando architetture di tipo structural che permettono di descrivere l'hardware proprio come si farebbe con uno schema a blocchi in ambiente Simulink®, specificando unicamente le interconnessioni tra i diversi moduli esistenti. Pertanto, nel presente documento si descriverà la creazione di una libreria denominata ISSIA_package.vhd, alla quale sarà aggiunto il primo componente: un regolatore PID a parametri variabili. Si tratta di un elemento utilizzato nella maggior parte degli algoritmi già implementati su piattaforma dSPACE, che sarà adesso implementato in linguaggio VHDL e descritto dettagliatamente.I documenti in IRIS sono protetti da copyright e tutti i diritti sono riservati, salvo diversa indicazione.