Hardware Fault Insertion Testing Tool for Safety Function Validation
Prusi, Samu (2023)
Prusi, Samu
2023
Sähkötekniikan DI-ohjelma - Master's Programme in Electrical Engineering
Informaatioteknologian ja viestinnän tiedekunta - Faculty of Information Technology and Communication Sciences
This publication is copyrighted. Only for Your own personal use. Commercial use is prohibited.
Hyväksymispäivämäärä
2023-05-09
Julkaisun pysyvä osoite on
https://urn.fi/URN:NBN:fi:tuni-202305045236
https://urn.fi/URN:NBN:fi:tuni-202305045236
Tiivistelmä
Nowadays safety-related systems are mostly implemented by electrical, electronic or programmable electronic systems. International standard IEC 61508 has been created to provide a guideline for the development of these systems in a way that necessary level of functional safety is achieved. As a part of safety-related system validation IEC 61508 requires fault insertion testing (FIT) to be performed. In this method predetermined faults are inserted into the target system and the system response is observed to ensure safe operation. The thesis begins by explaining the requirements behind development and validation of safety-related systems as described in related standardization. The thesis proceeds to expand on the theory of fault insertion testing based on literature review.
In this thesis a fault insertion tool was developed for performing hardware fault insertion testing. The tool may be integrated as part of a complete fault insertion test system to perform functional safety validation. The tool consists of a printed circuit board that is able to insert five different logic level faults into the target system. The tool may force the target signal into a high or low state or oscillate it with selected frequency. It is also possible to create short or open circuits. The board includes three parallel fault insertion channels, and the user is able to select the inserted fault for each channel separately. The user may also select the voltage level of certain inserted faults. The tool was designed as generic in nature as possible to achieve usage for a variety of target systems. Compatibility with a generic controller was also sought to gain the possibility to include the tool into various test systems.
Prototype of the board was manufactured, and its functionality verified. Fault insertion ability of the tool was verified against design requirements. All fault insertion circuits were deemed capable of successfully inserting faults into a target system. Some suggestions were made to further improve the performance of oscillation fault insertion. During verification one defect was found regarding board behavior at power-up. Solution to fix the defect was proposed and verified on a modified prototype board, allowing the modification to be implemented on future board revisions as the tool is integrated as a part of full fault insertion test system. Nykyään turvallisuuteen liittyvät järjestelmät toteutetaan useimmiten sähköisinä, elektronisina tai ohjelmoitavina elektronisina laitteina. Kansainvälinen standardi IEC 61508 on kehitetty tarjoamaan yhtenäisen linjan näiden järjestelmien kehitykseen riittävän toiminnallisen turvallisuuden saavuttamiseksi. Osana turvallisuutta sisältävän järjestelmän validointia IEC 61508 vaatii viansyöttötestauksen suorittamista. Tässä menetelmässä järjestelmään syötetään ennaltamääriteltyjä vikoja ja järjestelmän reaktiota tarkastellaan turvallisen toiminnan varmistamiseksi. Tämän diplomityön alussa kootaan toiminnalliseen turvallisuuteen liittyvän standardiston vaatimuksia turvallisuuteen liittyvien järjestelmien kehitykseen ja validointiin. Työ jatkaa kirjallisuuskatsauksen kautta avaamaan viansyöttötestauksen teoriaa.
Tässä diplomityössä kehitettiin työkalu, jolla voidaan suorittaa laitteistotason viansyöttötestausta. Turvallisuuteen liittyvän järjestelmän testaamista varten valmis työkalu voidaan integroida osaksi kokonaista viansyöttötestausjärjestelmää. Työkalu toteutettiin piirikorttina, jolla voidaan syöttää viisi eri logiikkatasoista vikaa kohdejärjestelmään. Kohdesignaali voidaan pakottaa joko nollaksi tai ykköseksi, tai sitä voidaan oskilloida määrätyllä taajuudella. Työkalulla on myös mahdollista aiheuttaa avoimia tai oikosuljettuja piirejä. Käyttäjälle annetaan myös mahdollisuus valita jännitetaso, jolla vika syötetään kohdejärjestelmään. Työkalusta suunniteltiin mahdollisimman yleiskäyttöinen, jotta sitä voidaan käyttää usean eri kohdejärjestelmän testaamiseen. Eräänä suunnittelunäkökulmana oli myös saavuttaa yhteensopivuus usean eri ohjaimen kanssa, jotta työkalu voidaan integroida osaksi erilaisiin testijärjestelmiin.
Piirikortista valmistettiin prototyyppi ja sen toiminta verifioitiin. Työkalun viansyöttökykyä arviotiin suunnitteluvaatimuksia vasten. Kaikkien viansyöttöpiirien todettiin kykenevän syöttämään vikoja kohdejärjestelmiin. Lisäksi oskillointipiirin suorituskyvyn parantamiseksi annettiin muutosehdotuksia. Verifioinnin aikana työkalusta löydettiin yksi suunnitteluvirhe laitteen käynnistyksen yhteydessä. Vian korjaamiseksi kehitettiin korjausehdotus ja se toteutettiin prototyyppipiirikortille. Tulevaisuudessa korjaus voidaan toteuttaa uudelle piirikorttiversiolle ja työkalu integroida osaksi kokonaista viansyöttötestausjärjestelmää.
In this thesis a fault insertion tool was developed for performing hardware fault insertion testing. The tool may be integrated as part of a complete fault insertion test system to perform functional safety validation. The tool consists of a printed circuit board that is able to insert five different logic level faults into the target system. The tool may force the target signal into a high or low state or oscillate it with selected frequency. It is also possible to create short or open circuits. The board includes three parallel fault insertion channels, and the user is able to select the inserted fault for each channel separately. The user may also select the voltage level of certain inserted faults. The tool was designed as generic in nature as possible to achieve usage for a variety of target systems. Compatibility with a generic controller was also sought to gain the possibility to include the tool into various test systems.
Prototype of the board was manufactured, and its functionality verified. Fault insertion ability of the tool was verified against design requirements. All fault insertion circuits were deemed capable of successfully inserting faults into a target system. Some suggestions were made to further improve the performance of oscillation fault insertion. During verification one defect was found regarding board behavior at power-up. Solution to fix the defect was proposed and verified on a modified prototype board, allowing the modification to be implemented on future board revisions as the tool is integrated as a part of full fault insertion test system.
Tässä diplomityössä kehitettiin työkalu, jolla voidaan suorittaa laitteistotason viansyöttötestausta. Turvallisuuteen liittyvän järjestelmän testaamista varten valmis työkalu voidaan integroida osaksi kokonaista viansyöttötestausjärjestelmää. Työkalu toteutettiin piirikorttina, jolla voidaan syöttää viisi eri logiikkatasoista vikaa kohdejärjestelmään. Kohdesignaali voidaan pakottaa joko nollaksi tai ykköseksi, tai sitä voidaan oskilloida määrätyllä taajuudella. Työkalulla on myös mahdollista aiheuttaa avoimia tai oikosuljettuja piirejä. Käyttäjälle annetaan myös mahdollisuus valita jännitetaso, jolla vika syötetään kohdejärjestelmään. Työkalusta suunniteltiin mahdollisimman yleiskäyttöinen, jotta sitä voidaan käyttää usean eri kohdejärjestelmän testaamiseen. Eräänä suunnittelunäkökulmana oli myös saavuttaa yhteensopivuus usean eri ohjaimen kanssa, jotta työkalu voidaan integroida osaksi erilaisiin testijärjestelmiin.
Piirikortista valmistettiin prototyyppi ja sen toiminta verifioitiin. Työkalun viansyöttökykyä arviotiin suunnitteluvaatimuksia vasten. Kaikkien viansyöttöpiirien todettiin kykenevän syöttämään vikoja kohdejärjestelmiin. Lisäksi oskillointipiirin suorituskyvyn parantamiseksi annettiin muutosehdotuksia. Verifioinnin aikana työkalusta löydettiin yksi suunnitteluvirhe laitteen käynnistyksen yhteydessä. Vian korjaamiseksi kehitettiin korjausehdotus ja se toteutettiin prototyyppipiirikortille. Tulevaisuudessa korjaus voidaan toteuttaa uudelle piirikorttiversiolle ja työkalu integroida osaksi kokonaista viansyöttötestausjärjestelmää.