• Description
  • Team
  • PCB
  • FPGA
  • HPS
  • User Interface
  • Hololens
  • Update System

HPS

Home HPS

Overview

System

Crosscompiler
  • GCC version 6.3
  • G++ Support
Kernel
  • Customized Version 4.16.0
  • Ported fpga manager and bridge drivers
Filesystem

|– root
|    |– H2F_Client
|    `– MAC_Changer
|– home
|    |– root
|    |    |– LogAna.rbf
|    |    |– interrupt_module.ko
|    |    |– log_ana_module.ko
|    |    |– protocols
|    |    |    |– uart.conf
|    |    |    `– uart.py
|    |    `– update #Update directory
|    `– holoscope
|         `– version
`– var
`– www #Website directory

MAC Changer

During the boot process the ethernet PHY is configured with a MAC address stored within the environment variables of uboot. Therefore every board has the same MAC address and also the same IP address. For that reason the “MAC Changer” application sets a new MAC address dependent on the FPGA chip ID.

Interrupt Handling

The FPGA asserts an interrupt if the measurement is finished. The kernel module “interrupt_module.ko” handles that interrupt and uses file operations to notify the client application. The client application uses a blocking read function within an independent thread. This function blocks until an interrupt has occurred and the kernel module complete the function call.

H2F Client

The application “H2F Client” connects the frontend with the FPGA.

Webserver (mongoose)

The mongoose webserver is used to provide a REST api for the frontend. All requests are processed within a thread.

Websocketserver (custom build)

To send the sampled data asynchronously to the client the websocket protocol is used. The interrupt handling runs within a different thread context and this results in unpredictably behaviour inside the mongoose webserver. That was the reason to create a thread-safe custom websocket server implemantation.

RAM – Memory Mapped Access

The sampled data is stored in the common used RAM. The full memory space is memory mapped and accessible by the application.

Copyright ©  HoloScope 2018. All Rights reserved.