I dispositivi programmabili come Fpga, Asic e Cpld, rivestono un ruolo sempre più centrale nello sviluppo di prodotti per la sicurezza funzionale. Negli standard internazionali che regolano gli aspetti della sicurezza funzionale come Iec 61508 sono state aggiunte linee guida per i produttori di Fpga relative ai requisiti richiesti da tali standard, indicazioni ai responsabili degli Enti preposti circa le modalità da seguire per la certificazione di progetti basati su Fpga, oltre a suggerimenti rivolti agli utenti su come utilizzare gli Fpga nelle loro applicazioni di sicurezza. Di seguito vengono 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.
- Flessibilità - Il tipico problema nella progettazione di sistemi di sicurezza si manifesta quando un utente dispone già di un sistema in produzione e deve prevede un aggiornamento 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 una scheda opzionale al progetto esistente, mentre la seconda contempla la realizzazione di un nuovo progetto. La prima opzione, oltre a comportare un significativo aumento dei costi, può creare potenziali problemi di interfacciamento. La seconda prevede la creazione di un progetto a partire da zero che garantisca la (retro)compatibilità con i progetti precedenti. Nel mondo industriale spesso di fa ricorso a canali ridondanti per soddisfare i requisiti di sicurezza: si tratta di un approccio che funziona ma risulta inefficiente e può portare all’introduzione di guasti per cause comuni a causa di funzionalità che sono comuni a entrambi i canali, come ad esempio gli alimentatori e il clock. Gli Fpga mettono a disposizione più opzioni a livello sia architetturale sia di implementazione. I progetti più semplici possono prevedere due canali e una logica di arbitraggio. Architettura più intelligenti”possono ricorrere a un circuito resistente ai guasti, in modo da ridurre la probabilità che si verifichino guasti per cause comuni. Il progetto può anche interfacciarsi con prodotti non dotati 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. Grazie agli Fpga, inoltre, il progettista non è vincolato dal set di funzionalità di un dispositivo standard.
- Integrazione - Nella foto di apertura viene riportata una tipica applicazione di un controllore industriale. 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. Con un approccio di questo tipo è 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.
- 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 relativa documentazione. Questi prodotti standard potrebbero non soddisfare specifiche esigenze di progetto, in quanto spesso risultano sovra o sotto-specificate. Grazie agli Fpga i progettisti possono utilizzare solamente i blocchi indispensabili per ottenere la certificazione per i loro sistemi. Il risultato è un progetto più efficiente che permette anche l’utilizzo di prodotti standard di uso comune al posto di prodotti certificati per la sicurezza, riducendo anche i rischi legati all’obsolescenza.
- Prestazioni - Quando si affronta il tema della sicurezza funzionale la velocità è un aspetto primario per assicurarsi che le decisioni vengano prese in tempi brevi al fine di prevenire danni o infortuni. Ciò è vero in particolare nel caso di algoritmi di controllo onerosi dal punto di vista computazionale necessari per realizzare un controllo del sistema “intelligente”, quindi capace di gestire funzioni più complesse rispetto all’arresto di emergenza o alla coppia disinserita in sicurezza, che rappresentano le funzioni base della sicurezza. Le funzionalità relative alla sicurezza intervengono anche durante il funzionamento normale del sistema. Per esempio un sistema che può eseguire la diagnostica durante il funzionamento richiede prestazioni maggiori rispetto a un sistema che non prevede tali funzionalità: questo incremento di prestazioni può essere ottenuto grazie a un Fpga. Il progettista può utilizzare core processori hard oppure soft e logica dedicata per soddisfare i requisiti di temporizzazione o di latenza, così come effettuare la diagnostica prima e durante il funzionamento senza influenzare la funzionalità iniziale di un sistema.
- Tool e metodologia - Quando si sviluppa un prodotto sicuro è necessario considerare la sicurezza in tutte le fasi dello sviluppo, quindi adottare standard per la gestione della qualità, una metodologia di progetto “sicura” e implementare i concetti propri della sicurezza. Il modello a V viene comunemente impiegato per separare le fasi di specifica del prodotto da quelle di test, verifica, validazione e integrazione, garantendo anche sensibili miglioramenti in termini di feedback e monitoraggio. 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 parallelo, ciascuna di queste fasi di scomposizione è accompagnata da una corrispondente fase di verifica. Quando si utilizza il modello a V per un progetto per la sicurezza funzionale è necessario in primo luogo che il processo risulti conforme ai requisiti del ciclo di vita previsti da Iec 61508:2010 e in secondo luogo che a ogni fase prevista dal modello a V vengano allegati documenti dettagliati che definiscono una condizione preventiva (ingresso) e risultati (uscita) dopo il completamento di una fase con esito positivo. Il Functional Safety Data Package di Altera certificato da Tuv contiene una documentazione dettagliata che aiuta l’utilizzatore a definire una struttura del processo per poter applicare il modello a V allo sviluppo di progetti basati su Fpga. Questo modello a V per Fpga è conforme a Iec 61508:2010 ed è corredato di una dettagliata descrizione della documentazione di ingresso e di uscita richiesta per ogni fase, dei metodi di verifica applicati e dei tool utilizzati. Questa documentazione dettagliata riduce in modo significativo il tempo richiesto per implementare un processo di sviluppo di applicazioni “safety-centric” basati su Fpga. Il flusso a V e la relativa documentazione permette di mappare tutte le fasi del progetto di un’applicazione di sicurezza che utilizza Fpga nelle specifiche Iec e i relativi requisiti. Esso spiega quali tool dovrebbero essere utilizzati per ciascuna fase, mentre i vari capitoli delle specifiche Iec guidano gli utenti attraverso tutte le fasi necessarie per lo sviluppo dell’applicazione stessa. Il software Quartus II di Altera è stato verificato da Tuv e qualificato per l’uso nella progettazione di sistemi di sicurezza. Altera fornisce anche dettagliate informazioni su come soddisfare le specifiche di Iec 61508:2010 fornendo un elenco di tecniche e misure tese a impedire l’introduzione di guasti durante le fasi di progettazione e sviluppo. Queste sono correlate ai tool che le implementano e supportate da checklist che ricordano al team di sviluppo ogni azione da intraprendere e ogni documento che deve essere generato.
- Dati certificati - La stesura della corretta documentazione relativa a ogni fase del processo è un aspetto importante nel caso delle applicazioni di sicurezza funzionale. Si tratta di un compito oneroso che può rallentare lo sviluppo di un progetto. Per fornire un efficace ausilio in questa delicata operazione Altera mette a disposizione esaustive analisi statistiche relative all’affidabilità dei propri Fpga, consentendo agli utenti di calcolare il tasso di guasto. Il package dei dati relativi alla sicurezza contiene anche una guida per l’integrazione del silicio. Sono altresì disponibili dati relativi al silicio da utilizzare nei calcoli per la sicurezza nonché informazioni circa tematiche specifiche che riguardano la conformità a Iec 61508.
- IP di diagnostica - Le strategie di progettazione relative alla sicurezza funzionale potrebbero prevedere l’integrazione di sistemi di monitoraggio dei segnali basilari, come ad esempio clock e potenza, oltre a funzioni più complesse come il monitoraggio dei dati per verificare la correttezza del funzionamento del sistema. Inoltre potrebbe essere necessario prevedere modalità per identificare automaticamente i guasti e far entrare il sistema in uno stato sicuro. 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. Alla componente hardware potrebbero essere aggiunte altre funzioni tra cui meccanismi per il monitoraggio della frequenza di un segnale di clock rispetto a un riferimento, IP diagnostiche in grado di rilevare fenomeni di Seu (Single event upset) e persino processori dedicati per la diagnostica del sistema
- Affidabilità e riduzione dei rischi legati all’obsolescenza - La realizzazione di sistemi per la sicurezza funzionale mediante Fpga garantisce due ulteriori vantaggi. Il primo è la possibilità di basare la componente relativa alla sicurezza funzionale di un range di prodotti su un progetto esistente e già ampiamente collaudato. Il secondo è rappresentato dal fatto che gli Fpga standard saranno verosimilmente caratterizzati da cicli di vita più lunghi rispetto a quelli di prodotti specifici (ovvero ideati esplicitamente per la sicurezza funzionale) che di solito sono venduti in piccoli volumi a un numero limitato di clienti.