stageverslag

Verantwordingsverslag Stage EVAbits
Log | Files | Refs

commit 36c8dc8c93ff432d6f4b6fe5d3fb402858ff026a
parent 9da1f9b42d7844e6da8fc523eb9185464efb867f
Author: Friedel Schön <[email protected]>
Date:   Sun, 23 Jun 2024 12:05:23 +0200

Finale versie

Diffstat:
Mstageverslag.md | 20++++++++++----------
1 file changed, 10 insertions(+), 10 deletions(-)

diff --git a/stageverslag.md b/stageverslag.md @@ -46,11 +46,11 @@ Friedel Schön # Samenvatting {.unnumbered} -Field-Programmable Gate Arrays (FPGA's) bieden op flexibele wijze een breed scala aan functies. Door de mogelijkheid om hardware opnieuw te configureren en gemakkelijk aan te passen, zijn FPGA's geschikt voor complexe en flexibele toepassingen. EVAbits, een klein bedrijf gevestigd in Euvelgunne, Groningen, is gespecialiseerd in Embedded Engineering en Architectural Design. Het bedrijf heeft sinds twee jaar een eigen product ontwikkeld: de EVAjig, een testkast voor het testen van printplaatassemblages (PCBA's). +De hoofdlijn van dit stageproject is werken met Field-Programmable Gate Arrays (FPGA's). FPGA's bieden op flexibele wijze een breed scala aan functies, daardoor zijn FPGA's geschikt voor complexe en flexibele toepassingen. In dit verslag zou dieper ingegaan worden op de werkwijze van FPGA's. EVAbits, een klein bedrijf gevestigd in Euvelgunne, Groningen, is gespecialiseerd in Embedded Engineering en Architectural Design. Het bedrijf heeft sinds twee jaar een eigen product ontwikkeld: de EVAjig, een testkast voor het testen van printplaatassemblages (PCBA's). -De EVAjig maakt het mogelijk verschillende PCBA's te testen zonder aanpassingen. Momenteel is de EVAjig gebaseerd op een microcontroller met beperkte communicatiemogelijkheden, wat resulteert in een beperkt aantal te testen PCBA's. EVAbits streeft ernaar dit probleem op te lossen door een FPGA te gebruiken. Daarom is de opdracht gegeven om een proof-of-concept te ontwikkelen. +De EVAjig maakt het mogelijk verschillende PCBA's te testen zonder aanpassingen. Momenteel is de EVAjig gebaseerd op een microcontroller met beperkte communicatiemogelijkheden, wat resulteert in een beperkt aantal te testen PCBA's. EVAbits streeft ernaar dit probleem op te lossen door een FPGA te gebruiken. Daarom is de opdracht gegeven om een proof-of-concept te ontwikkelen. Om een probleem aan te pakken is het vereist om een uitgebreide fasering en planning te bespreken. -Een belangrijk aspect van dit project is het onderzoek naar het meest geschikte communicatieprotocol tussen de FPGA en de computer. De opdrachtgever vraagt specifiek naar de voor- en nadelen van verschillende communicatiemiddelen op het gebied van snelheid, betrouwbaarheid en kosten. Op basis van dit onderzoek zijn aanbevelingen geformuleerd voor toekomstige werkzaamheden. +Tijdens de stage is er een onderzoek uitgevoerd met als hoofdvraag "_Wat zijn voor- en nadelen van communicatiemiddelen tussen FPGA en computer op basis van van snelheid, betrouwbaarheid en kosten?_". Een belangrijk aspect van dit project is het onderzoek naar het meest geschikte communicatieprotocol tussen de FPGA en de computer. De opdrachtgever vraagt specifiek naar de voor- en nadelen van verschillende communicatiemiddelen op het gebied van snelheid, betrouwbaarheid en kosten. Op basis van dit onderzoek zijn aanbevelingen geformuleerd voor toekomstige werkzaamheden. Uit dit onderzoek is gebleken dat het Serial Peripheral Interface (SPI) het meest geschikte protocol is voor de EVAjig, door de flexibiliteit en snelheid die dit protocol biedt. # Begrippenlijst {.unnumbered} @@ -124,7 +124,7 @@ Een belangrijk aspect van dit project is het onderzoek naar het meest geschikte \toc <!-- TABLE OF CONTENTS --> -# Hoofdstuk Introductie +# Hoofdstuk Inleiding De opdrachtgever EVAbits is een klein bedrijf gevestigd in Euvelgunne te Groningen. Het bedrijf is gespecialiseerd in het schrijven en onderhouden van software en firmware in de kader van Embedded Programming en Architecture Design. Het bedrijf is begonnen met opdrachtprogrammering, maar is ook sinds een aantal jaren bezig met hun eigen product: de EVAjig. @@ -162,9 +162,9 @@ Het doel van de opdrachtgever is om binnen twintig weken een proof-of-concept te ## Onderzoek -De opdrachtgever vroeg om een onderzoek te doen over de FPGA. De concrete onderzoeksvraag is "_Wat zijn voor- en nadelen van communicatiemiddelen tussen FPGA en computer ten opzichte van snelheid, betrouwbaarheid en kosten?_" +De opdrachtgever vroeg om een onderzoek te doen over de FPGA. De concrete onderzoeksvraag is "_Wat zijn voor- en nadelen van communicatiemiddelen tussen FPGA en computer op basis van snelheid, betrouwbaarheid en kosten?_" -De huidige implementatie op de microcontroller, de software op de microcontroller, hoort bijna onveranderd op de FPGA-implementatie te kunnen draaien. Wel moet de software met de FPGA kunnen praten, dit vereist een vast communicatieprotocol tussen de software en de firmware architectuur. Er zijn vele communicatieprotocollen beschikbaar met elk hun eigen use-case. In dit verslag is onderzoek gedaan naar welk protocol het beste geschikt is voor communicatie tussen de firmware en de software ten opzichte van snelheid, flexibiliteit en kosten. +De huidige implementatie op de microcontroller, de software op de microcontroller, hoort bijna onveranderd op de FPGA-implementatie te kunnen draaien. Wel moet de software met de FPGA kunnen praten, dit vereist een vast communicatieprotocol tussen de software en de firmware architectuur. Er zijn vele communicatieprotocollen beschikbaar met elk hun eigen use-case. In dit verslag is onderzoek gedaan naar welk protocol het beste geschikt is voor communicatie tussen de firmware en de software op basis van snelheid, flexibiliteit en kosten. ## Stakeholders @@ -327,7 +327,7 @@ Zoals bij \iic{} heeft UART een eenvoudige bedrading, het is dus goedkoop te imp #### Nadelen {.unnumbered} -UART is niet geschikt voor meerdere nodes. Als er gecommuniceerd moet worden naar meerdere nodes moeten er onderling UART-signals geplaatst worden. Door de asynchrone aard van UART, zou UART onstabiel worden bij hoge snelheden en dit resulteerd in een verlaagde maximale snelheid. +Doordat UART een point-to-point connectie is, is het niet geschikt voor meerdere nodes. Als er gecommuniceerd moet worden naar meerdere nodes moeten er onderling UART-signals geplaatst worden. Door de asynchrone aard van UART, zou UART onstabiel worden bij hoge snelheden en dit resulteert in een verlaagde maximale snelheid. ### Serial Peripheral Interface @@ -348,9 +348,9 @@ Een groot voordeel van SPI is de snelheid. SPI is niet gebonden aan een gedefini #### Nadelen {.unnumbered} -Een nadeel is dat SPI full-duplex ondersteunt, waardoor de bedrading complexer is dan bij \iic{} of UART. SPI vereist vier lijnen, niet slechts twee lijnen zoals bij de eerder genoemde protocollen. Ook ondersteund SPI maar één master, die het clock-signaal maakt, daardoor is het moeilijk om verschillende peripherals aan te sluiten. \iic{} ondersteund een bus-systeem, dus er kan een reeks nodes aangesloten worden zonder de complexiteit te moeten verhogen; SPI maakt gebruikt van de chip-select lijn, waardoor het niet mogelijk is een simpel bus te maken. +Doordat SPI full-duplex ondersteunt, is de bedrading complexer dan bij \iic{} of UART, dit is nadelig omdat het implementeren moeilijker en duurder is. SPI vereist vier lijnen, niet slechts twee lijnen zoals bij de eerder genoemde protocollen. Ook ondersteund SPI maar één master, die het clock-signaal maakt, daardoor is het moeilijk om verschillende peripherals aan te sluiten. \iic{} ondersteund een bus-systeem, dus er kan een reeks nodes aangesloten worden zonder de complexiteit te moeten verhogen; SPI maakt gebruikt van de chip-select lijn, waardoor het niet mogelijk is een simpel bus te maken. -Ten opzichte van UART heeft SPI geen standaard manier om fouten te detecteren. Dit moet door de ontwikkelaar handmatig geïmplementeerd worden, wat de complexiteit kan verhogen. +Ten opzichte van UART heeft SPI geen standaard manier om fouten te detecteren, dit moet door de ontwikkelaar handmatig geïmplementeerd worden, wat de complexiteit kan verhogen. ### Advanced Peripheral Bus @@ -385,7 +385,7 @@ APB heeft meerdere voordelen ten opzichte van bovengenoemde protocollen. APB ond #### Nadelen {.unnumbered} -Ten opzichte van \iic{}, SPI en UART is APB erg complex, doordat parallel data wordt verstuurd, moeten er vele lijnen worden aangesloten. Daardoor is APB meer geschikt voor een bus intern, in bijvoorbeeld de FPGA, dan voor communicatie onderling. En afsluitend is APB veel energie nodig, door de hoeveelheid lijnen met een lagere kloksnelheid en dus een lagere datasnelheid. +Ten opzichte van \iic{}, SPI en UART is APB erg complex. Doordat parallel data wordt verstuurd, moeten er vele lijnen worden aangesloten. Daardoor is APB meer geschikt voor een bus intern, in bijvoorbeeld de FPGA, dan voor communicatie extern van chip naar chip. En afsluitend is APB veel energie nodig, door de hoeveelheid lijnen met een lagere kloksnelheid en dus een lagere datasnelheid. Een nadeel specifiek voor de Efinix FPGA is, dat de APB slecht gedocumenteerd staat en lastig te implementeren is. Verder is er ook niet veel informatie beschikbaar om een driver te ontwikkelen. Tijdens het onderzoek is het daardoor dus ook niet gelukt APB te draaien op de FPGA van de opdrachtgever.