NIRCA MkII DevKit Firmware Development
Abstract
NIRCA MkII Development Board(NM2DB) er en PCB med NIRCA MkII(NM2), en ASIC brukt til kontroll og utlesning av infrarøde sensorer. PCBen har også en Trenz FPGA "system-på-modul" brukt til kontroll av ASICen, LDOer og for kommunikasjon mellom PCBen og en Frame Grabber fra Matrox koblet til med en Camera Link kabel. Masteroppgaven involverer utvilking av firmware for Trenz modulen med VHDL og software for å kommunisere med NM2DB fra PC. Firmwaren har UART kommunikasjon mellom frame grabber og PCBen i tillegg til SPI kommunikasjon mellom til og fra NM2. Resultatene i oppgaven viser at firmwaren utklasser den tidligere implementasjonen brukt på samme PCB. Dette er gjort ved å bytte bort fra Ethernet TCP kommunikasjon til å bruke mer optimisert python-kode til å skrive og lese data til NM2DB. Den endelige implementasjonen bruker en UART port som kjører på 460 800 baud og en SPI med frekvens 10MHz. En full lese og skriveoperasjon til ca. 4600 registre på NM2 tok 2 sekunder mens gammel TCP software og hardware brukte omtrent 45 sekunder. The NIRCA MkII Development Board(NM2DB) is a PCB featuring NIRCA MkII(NM2), a controller and readout ASIC developed by IDEAS. The PCB also utilizes a Trenz FPGA System-on-Module(SoM) to control the ASIC, control on-board LDOs and for communication between the PCB and a Matrox Frame Grabber connected to a Camera Link interface. In this thesis a firmware for the Trenz SoM is developed using VHDL. The firmware has UART communication between the frame grabber and the PCB as well as SPI communication to and from the NM2. Results in this thesis show that the firmware outperforms the previous firmware targeting the same PCB. This was done by switching away from Ethernet TCP communication and use more optimized software in python for reading and writing data to and from the NM2DB. The final implementation has a UART interface running at 460 800 baud and an SPI interface running at 10MHz making a full write and read of approximately 4600 registers on NM2 in 2 seconds while older firmware and software took up to 45 seconds.