Il ruolo degli Fpga nelle applicazioni di sicurezza funzionale

La seconda edizione dello standard internazionale Iec 61508 (relativo alla sicurezza funzionale) copre ora nuovi tipi di componenti tra cui i dispositivi programmabili - Fpga, Asci e Cpld. Questi ultimi rivestono un ruolo importante negli attuali sviluppi di prodotti per la sicurezza funzionale. Poiché gli Fpga sono utilizzati in misura sempre maggiore in sostituzione dei componenti elettronici tradizionalmente adottati nelle applicazioni industriali, standard come Iec 61508 devono necessariamente supportare l'evoluzione tecnologica al fine di restare aggiornati e mantenere la loro validità nel tempo. In questo articolo verranno descritti otto motivi per utilizzare gli Fpga nello sviluppo di progetti di sistemi di sicurezza conformi a Iec 61508 al posto dei tradizionali microcontrollori o Dsp.

1 - Flessibilità
Il tipico problema nella progettazione di sistemi di sicurezza si manifesta quando un utente dispone già di un sistema in produzione e deve soddisfare un nuovo requisito per rendere il prodotto successivo conforme a un certo livello Sil (Safety Integrity Levels). Quando ciò si verifica, il progettista può prendere in considerazione due opzioni. La prima prevede l'aggiunta di schede di sicurezza al progetto esistente, mentre la seconda contempla la realizzazione dei prodotti della generazione successiva a partire da zero. La prima opzione, oltre a comportare un significativo aumento dei costi, richiede l'interfacciamento con la scheda esistente in modo flessibile, un'operazione questa che presenta numerose difficoltà. Solitamente i controllori standard possono risolvere questo problema duplicando il primo canale e aggiungendo circuiti logici di arbitraggio. Lo sviluppo di un progetto a partire da zero modifica in modo sostanziale il prodotto iniziale ma nella maggior parte dei casi garantisce la retrocompatibilità. Gli Fpga assicurano il supporto per entrambe le opzioni. Nel caso di un nuovo design il progettista può utilizzare l'approccio a doppio canale e aggiungere/implementare la funzionalità di arbitraggio in maniera del tutto analoga a quando accade in altre architetture presenti sul mercato. Inoltre il progettista ha la possibilità di realizzare un'architettura più “intelligente” che includa un circuito resistente ai guasti, in modo da ridurre la probabilità che si verifichino guasti per cause comuni grazie all'assenza del secondo canale. Il progettista può anche interfacciarsi a un prodotto non dotato di funzionalità di sicurezza in maniera flessibile utilizzando tante interfacce di I/O o altre funzionalità quante sono necessarie per implementare una soluzione che preveda l'aggiunta di schede.

2 - Integrazione
Utilizzando dispositivi Fpga è possibile integrare funzioni standard (“non sicure”) e di sicurezza con un numero veramente ridotto di componenti. Ad esempio si può ricorrere a un Fpga della serie Cyclone IV di Altera e un soft processor come Nios II. Nell'esempio preso in considerazione
di un controllore industriale tutti i tre controllori embedded sono processori Nios II (di tipo soft core), ciascuno corredato da un proprio set di periferiche custom. Con un'architettura focalizzata sulla sicurezza come questa destinata a un'applicazione certificata SIL3 è possibile ridurre il costo totale di possesso, l'ingombro del progetto e il consumo di potenza, pur assicurando la conformità ai requisiti globali per la sicurezza funzionale. Ovviamente la scelta non è limitata al core processore Nios II, ma è possibile utilizzare processori Arm Cortex A9 dual core (sotto forma di hard macro) o ancora implementare le funzionalità Dsp all'interno della struttura dell'Fpga.

3 - Range di prodotti
L'approccio tipico utilizzato dai produttori di microcontrollori o Dsp è sviluppare una gamma di prodotti ad hoc, quindi espressamente progettati per soddisfare i requisiti previsti da Iec 61508. Un vantaggio è rappresentato dal fatto che tali dispositivi avranno tutte le qualificazioni richieste, le certificazioni dell'elemento di sicurezza e la documentazione necessarie per semplificare la certificazione del prodotto finale. Poiché tali architetture sono state progettate per soddisfare una miriade di applicazioni, possono essere sovra-specificate per le esigenze di sicurezza di uno specifico progetto, con conseguente aumento dei costi. Un altro problema potrebbe derivare dal fatto che tali architetture non hanno le funzionalità richieste per un'implementazione specifica. Grazie agli Fpga è possibile adottare un approccio differente. Poiché lo sviluppatore di un sistema di sicurezza deve implementare la sola funzionalità di sicurezza, può realizzare solamente i blocchi indispensabili per ottenere la certificazione. Il risultato è un progetto più “snello” ed efficiente, che richiede solamente le risorse necessarie per ottenere la conformità a un certo livello SIL all'interno della struttura dell'Fpga.

4 - Prestazioni
Quando si affronta il tema della sicurezza, al verificarsi di un evento è necessario prendere decisioni in tempi brevi al fine di prevenire danni o infortuni alla persona. In molti casi sono necessari cicli iterativi di calcolo veloci e periodi di latenza ridotti per i sistemi hardware e software safety-critical (ovvero il cui malfunzionamento può avere serie conseguenze): in questi casi le prestazioni devono essere superiori a quelle richieste per il funzionamento del sistema in condizioni normali. Inoltre sono necessari algoritmi di controllo avanzati per realizzare un controllo del sistema “intelligente”, quindi capace di gestire funzionali più complesse rispetto all'arresto di emergenza o al Safe Torque Off (coppia disinserita in sicurezza) che rappresentano le funzioni base della sicurezza. Le funzionalità relative alla sicurezza, oltre a garantire una risposta adeguata del sistema nel caso si verifichi un evento che potrebbe comprometterne la sicurezza, intervengono anche durante il funzionamento normale del sistema, in molti casi durante l'avviamento dello stesso. La diagnostica eseguita in fase di avviamento non richiede prestazioni particolarmente spinte in quanto i collaudi effettuati prima del funzionamento contribuiranno solamente ad allungare il tempo di avviamento di una macchina e nella maggior parte dei casi non sono critici dal punto di vista temporale. I test diagnostici effettuati durante il funzionamento richiedono maggiori prestazioni rispetto a quelle necessarie a un sistema non dotato di tale funzionalità. Gli Fpga garantiscono la potenza di elaborazione e la flessibilità necessarie per ottenere l'incremento di prestazioni richiesto. Il progettista può utilizzare core processori hard oppure soft e logica dedicata per soddisfare i requisiti di temporizzazione/latenza, così come effettuare la diagnostica prima e durante il funzionamento senza influenzare la funzionalità iniziale di un sistema.

5 - Tool e metodologia
Quando si sviluppa un'applicazione di sicurezza, è necessario considerare la sicurezza in tutte le fasi dello sviluppo. In fase di progetto è necessario quindi adottare standard per la gestione della qualità, una metodologia di progetto “sicura” e implementare i concetti propri della sicurezza. Il modello a V, attualmente impiegato in un'ampia gamma di progetti, è il successore del modello a cascata che definisce un processo di design sequenziale. Rispetto al modello a cascate, il modello a V garantisce sensibili miglioramenti in termini di feedback e monitoraggio e separa il processo di specifica del prodotto dal collaudo, verifica, validazione e integrazione. Esso descrive un insieme di fasi da effettuare durante il ciclo di vita del progetto e inizia con la scomposizione dei requisiti e con una chiara definizione di tutte le necessarie specifiche del sistema. In parallello, ciascuna di queste fasi di scomposizione è accompagnata da una corrispondente fase di verifica. Il punto di intersezione di questi due percorsi è la creazione delle componenti hardware e software. Quando si utilizza il modello a V è necessario prendere in considerazione due aspetti. In primo luogo esso deve essere conforme ai requisiti del ciclo di vita previsti da Iec 61508:2010 e in secondo luogo ogni fase prevista dal modello a V richiede che vengano allegati documenti dettagliati come condizione preventiva (ingresso) e risultati (uscita), dopo il completamento di una fase con esito positivo. Il Functional Safety Data Package (Fsdp) di Altera certificato da TÜV contiene una documentazione dettagliata che aiuta l'utilizzatore ad abbozzare una struttura del processo. Esso fornisce un modello a V per lo sviluppo con Fpga che può essere riutilizzato e al quale il processo di sviluppo interno dell'Fpga può adattarsi facilmente in modo da soddisfare i più stringenti requisiti di sicurezza. Questo modello a V per Fpga è conforme con Iec 61508:2010 ed è corredato di una dettagliata descrizione della documentazione di ingresso e di uscita richiesta per ogni fase. Questa documentazione dettagliata riduce in modo significativo il tempo che il team di sviluppo deve investire nel processo di sviluppo di applicazioni “safety-centric” basati su Fpga. La toolchain di sviluppo precertificata per il progetto di sistema, la sintesi, la simulazione e l'analisi integra tutti i tool necessari per lo sviluppo di un progetto di sicurezza basato sul modello a V. Il software Quartus II di Altera è una suite completa di tool per lo sviluppo con Fpga. Esso integra tutti gli elementi necessari per “tradurre in hardware” un progetto - design entry, sintesi, sbroglio, simulazione, analisi statica delle temporizzazioni e così via. Poiché tutte queste fasi sono disponibili all'interno dell'ambiente Quartus II, gli utenti possono essere certi della loro interoperabilità.

6 - Dati certificati

La disponibilità della documentazione nel formato corretto permette di risparmiare la gran mole di lavoro necessario per la stesura della documentazione durante il progetto di un'applicazione di sicurezza. Nel rapporto di affidabilità incluso nell'Fsdp, Altera fornisce un'analisi esaustiva delle informazioni statistiche relative all'affidabilità dei propri Fpga. In questo documento sono riportate tutte le informazioni necessarie per il calcolo del tasso di guasto, comprese tutte le spiegazioni circa la modalità di esecuzione di tali calcoli in modo da semplificarne la presentazione al personale dell'Ente che si occupa della certificazione. Poiché gli Enti certificatori hanno esaminato i dati forniti, l'utente ha la certezza che sono stati utilizzati i dati corretti. L'Fsdp contiene anche una guida per l'integrazione del silicio. Sono disponibili riferimenti ai dati relativi al silicio utilizzati nei calcoli per la sicurezza nonché informazioni circa tematiche specifiche che riguardano la conformità a Iec61508.

7 - IP di diagnostica
Oltre all'implementazione dell'applicazione, è necessario aggiungere al progetto determinate funzionalità: dalle funzioni di monitoraggio dei parametri basilari, come ad esempio clock e potenza, a funzioni più complesse come il monitoraggio dei dati per verificare la correttezza del funzionamento del sistema mediante l'analisi dell'uscita di una modulazione Pwm (Pulse width modulation). Tra le funzioni base si possono annoverare le seguenti:
- Assenza di variazioni del contenuto della memoria a causa di disturbi esterni sul progetto;
- Monitoraggio dei clock del sistema per assicurare che essi facciano funzionare il progetto all'interno dei parametri del sistema specificati (o che il malfunzionamento sia imputabile al guasto di componenti esterni);
- Verifica del funzionamento degli alimentatori.
Per modellare e implementare sistemi elettronici che integrano funzioni di sicurezza funzionale è possibile abbinare moduli Verilog Hdl o Vhdl con moduli IP complessi standard come un processore soft già qualificata per l'utilizzo in applicazioni di questo tipo. Uno dei vantaggi legati all'utilizzo degli Fpga è rappresentato dal fatto che le funzionalità diagnostiche possono essere implementate a livello hardware. In tal modo è possibile evitare di scrivere codice software addizionale, risparmiare tempo e ridurre l'impatto sulle prestazioni del sistema rispetto alla diagnostica basata sul software.

8 - Affidabilità e riduzione dei rischi legati all'obsolescenza
Da ultimo è importante sottolineare l'impatto della gestione della gamma dei prodotti per la sicurezza funzionale all'interno del ciclo di vita dei prodotti di una società. La situazione ideale sarebbe quella di utilizzare lo stesso portafoglio prodotti che si sta usando in applicazioni che non prevedono funzioni di sicurezza. In questo modo sono soddisfatti parecchi requisiti essenziali. In primo luogo quando si utilizzano prodotti standard si ha la garanzia che questa sono stati impiegati parecchie volte in un'ampia gamma di applicazioni e hanno raggiunto un tasso di penetrazione che li qualificano come componenti Piu (Proven In Use) ovvero che vi sono dimostrate esperienze di uso pratico di questi componenti. Migliaia di applicazioni già disponibili sul mercato stanno utilizzando questi prodotti. Il secondo requisito per i progetti che prevedono l'integrazione della sicurezza funzionale è che il componente utilizzato garantisca la disponibilità sul lungo termine, come pure un basso rischio possa diventare un prodotto Eol (End of life), ovvero non più in produzione. Gli Fpga possono garantire un ciclo di vita nettamente superiori (di molti anni) rispetto ad Asic, Asp, micro standard e Dsp.
Considerazioni conclusive
La legislazione internazionale e l'esigenza di aumentare la produttività hanno contribuito ad accrescere sia la complessità sia il numero di dispositivi di sicurezza utilizzati in quasi tutti i comparti dell'automazione industriale. Nel momento in cui gli standard evolvono e aumentano di numero, l'implementazione delle funzioni di sicurezza mediante circuiti Asic e microcontrollori standard non può garantire la flessibilità e la semplificazione necessarie affinché sistemi di sicurezza complessi siano in grado di soddisfare gli obiettivi in termini di costi e di gestione del numero di variazioni di progetto. Il Safety Data Package certificato da TUV per i tool, i blocchi IP e i dispositivi a semiconduttore di Altera semplifica e riduce il tempo richiesto per i processi di qualificazione e certificazione. Il lungo ciclo di vita degli Fpga, infine, contribuisce a ridurre il rischio legato all'obsolescenza funzionale per i progetti di sistemi di sicurezza.

LASCIA UN COMMENTO

Inserisci il tuo commento
Inserisci il tuo nome