Automated Testing of Digital Components

Automated Testing of Digital Components

EXAMENSARBETE INOM TEKNIK, GRUNDNIVÅ, 15 HP STOCKHOLM, SVERIGE 2020 Automated Testing of Digital Components BABAK KABIRI KTH SKOLAN FÖR ELEKTROTEKNIK OCH DATAVETENSKAP Automated Testing of Digital Components Babak Kabiri Examinator: Carl-Mikael Zetterling ​ Supervisors: Johnny Öberg ​ Abstract In today's technological companies digital electronics and components are abundant. Many companies use these components to manufacture a wide variety of electronic products such as computers, tv’s, cars, etc. But after their use, these components are thrown away easily and are an additional contributor to our growing climate change. There is a need for a more effective way to deal with these components. Companies could save a lot of time and energy to have a system that could test these components. The goal of this study is to present a suitable method for testing digital components by developing a test program for testing the various integrated circuits and thus identifies which circuits are faulty and which ones are not. The economical and efficiency side of building such a program is discussed and If it is worth the time to produce such a system, or if it's much better to throw the components away. The intent is also to give companies a way of being more efficient and environmentally friendly. This program was made by using integrated circuits from the course IE1204 and IE1205, where students use these components for their labs. After the course has ended there is no certainty if the integrated circuits work properly or not. The goal of the program is then to test them and find out the faulty ones. An Arduino Uno and the Arduino programming language have been used to write the code for this project. The Arduino Uno was connected to a breadboard which then ran the program for testing. To that breadboard, various integrated circuits, such as logic gates, were connected. The Arduino program then tested their truth tables to see if they worked properly or not. Because of time restriction more complex components have not been included in this thesis. Keywords- Automatisation, Testing, Logic Gates, Truth Table, Digital Components ​ 2 Sammanfattning I dagens tekniska industri finns det rikligt med digitala komponenter och elektronik. Många av dessa komponenter används för att bygga större elektronik såsom datorer, tv apparater, bilar, etc. Men efter deras användning slängs dessa komponenter tveklöst och är dessutom en orsakande faktor i vår växande klimatförändring. Det finns ett behov av en mer effektiv lösning för hanteringen av dessa komponenter. Företag kan spara mycket tid och energi med att inneha ett sådant system. Målet med detta projekt är att presentera en metod för att testa digitala komponenter. Att utveckla ett system som kan testa diverse integrerade kretsar och veta vilken som fungerar adekvat. Utvecklandet av ett sådant systemet ur ett ekonomisk och effektivitetsperspektiv diskuteras. Om det är värt att utveckla ett sådant system, eller om det är mycket bättre att bara slänga dessa komponenter. Målet med detta projekt är också att bana väg för företag att bli mer effektiva och miljövänliga. Tillvägagångssättet kring hur detta system har utvecklats är genom att använda integrerade kretsar från kurserna IE1204 och IE1205, där studenter använder dessa komponenter för deras labbar. Efter att kursens avslut finns det ingen garanti ifall dessa integrerade kretsar fungerar eller inte. Målet med programmet är då att testa dessa och hitta de trasiga komponenterna. En Arduino Uno och programmet Arduino har använts för att skriva koden till detta projekt. Arduinon har varit kopplad till en breadboard som har kört programmet för testing. Till denna breadboard har diverse integrerade kretsar, logiska grindar, varit kopplade. Arduino programmet har sedan testat de olika sanningstabellerna för att testa vilken logisk grind som är kopplad och fungerar. På grund av tidsbegränsning har mer komplexa integrerade kretsar blivit presenterade som en beskrivning av hur man kan fortsätta arbetet för att programmet skall inkludera mer komplexa komponenter. Nyckelord- Automatisering, Testing, Logiska Grindar, Sanningstabell, Digitala Komponenter ​ 3 Abstract 2 Sammanfattning 3 1 Introduction 6 1.1 Background 6 1.2 Problem Definition 6 1.3 Purpose 6 1.4 Goal 7 1.5 Method 7 1.6 Delimitations 7 1.7 Outline 8 2 Theoretical Background 9 2.1 Analog and Digital Circuits 9 2.2 Logic Gates 9 2.2.1 AND Gate 10 2.2.2 OR Gate 11 2.2.3 NOT Gate 12 2.2.4 NAND Gate 13 2.2.5 NOR Gate 14 2.2.6 XOR Gate 15 2.2.7 Summary 16 3 Method 17 3.1 Work Process 17 3.2 Data collection 17 3.3 Data analysis 17 3.4 Data Validity 18 4 Implementation 19 4.1 Hardware Design 19 4.2 Software Design 20 5 Results 23 5.1 Results from the Arduino 23 5.2 Reliability Analysis 25 5.3 Validity Analysis 26 5.4 Discussion 26 6 Conclusions and Future work 28 6.1 Conclusions 28 6.2 Limitations 28 6.3 Future work 29 6.4 Reflections 29 4 References 30 Appendix 31 5 1 Introduction Digital electronics is the basis for everything related to electronic products. It is what builds our computers, lights our homes and enables us to read everywhere. Given this fact, it makes sense to use them properly. In this chapter, the reader will be given an introduction to the project. 1.1 Background As part of the courses IE1204 and IE1205 at KTH, there is a section where students are required to do laboratory work. It involves using integrated circuits to do various assignments. After the completion of the laboratory work, students are then required to hand in those lab kits. The lab kits are then re-used for the subsequent years students. Lab kits are the building blocks of this study. To be able to use these integrated circuits it is necessary that they work properly and can be safely used by the students while all the complexities are abstracted away. 1.2 Problem Definition It is of vital importance that the integrated circuits used for these labs work properly. In every lab kit, there are twenty integrated circuits and every pair of students has to have these. It is therefore a tedious process for both the students and course coordinator to make sure they work. Those who work on this course have to test these components one by one which takes a lot of time and energy. How to automate the testing of integrated circuits used in the student’s lab kits? 1.3 Purpose The purpose of this study is to discuss and build an effective system that can test the integrated circuits of the student’s lab kits. This study can hopefully be beneficial to other institutions or complementary in other industries or sectors where testing already exists. 6 1.4 Goal The goal of this study is to deliver a system that can test integrated circuits used in the courses IE1204 and IE1205 and to document the result in a technical report. This report will describe the process of making such a system and the requirements. The following is what is presented in this study: - The development and implementation of testing lab kits - The presentation of the program for testing logic gates 1.5 Method To do a proper degree project, it is crucial to have appropriate methods and methodologies. They help steer and plan the project in a way to achieve the desired outcome. Given this fact it is important to distinguish if the research or project is of a qualitative or a quantitative character. Quantitative research is about gathering and analyzing data to explain a phenomenon, whereas qualitative research is about understanding a phenomenon to create new theories and ideas. In this research qualitative method is used. [1, p. 3] Research tasks can be achieved with the aid of diverse research methods. The empirical research method is one of those methods used in this project, and it gains knowledge by getting proofs based on evidence from experiments, observations, or experiences. From the observable evidence that is collected, data are analyzed with qualitative methods to explain the situation. [1, p. 2] ​ The empirical research method was relevant in this project because it was important to observe and test the integrated circuitry. Once an understanding had been established of the underlying mechanics then one could find a more efficient way to test the components. Since the data collected in this research is through a qualitative method and the data is limited to truth tables and the output of the components their validity has been through induction. If there had been a large amount of data then the deduction would have been used. [1, p. 6] ​ 1.6 Delimitations Even though the aim of this project is to test all the integrated circuits in the lab kits, the testing of more complex integrated circuits such as multiplexers, adders and inverters will not be presented due to time limitations and the complexity of testing such components. This thesis will solely focus on the development for testing logic gates. 7 1.7 Outline The outline of this thesis consists of the following: Chapter 2 presents fundamental background information ​ Chapter 3 presents descriptions and reasoning behind methods and scientific ​ methodologies used during the project Chapter 4 details the development process ​ Chapter 5 presents and briefly describes the results of the project, which also discusses the ​ validity and reliability of the methods and results, before concluding the problem. Chapter 6 presents the conclusions drawn from the project results and evaluations. ​ 8 2 Theoretical Background This chapter outlines a detailed presentation of the theoretical background of this thesis with all the essential information from diverse sources including literature and practical studies.

View Full Text

Details

  • File Type
    pdf
  • Upload Time
    -
  • Content Languages
    English
  • Upload User
    Anonymous/Not logged-in
  • File Pages
    38 Page
  • File Size
    -

Download

Channel Download Status
Express Download Enable

Copyright

We respect the copyrights and intellectual property rights of all users. All uploaded documents are either original works of the uploader or authorized works of the rightful owners.

  • Not to be reproduced or distributed without explicit permission.
  • Not used for commercial purposes outside of approved use cases.
  • Not used to infringe on the rights of the original creators.
  • If you believe any content infringes your copyright, please contact us immediately.

Support

For help with questions, suggestions, or problems, please contact us