Advanced Data Acquisition and Control Interface for USB and GUI Integration
This project utilizes an advanced interface for controlling data acquisition through knobs and buttons linked to specific actions. A Python script prompts the Microcontroller (MCA) to perform bit-masking and packet formation for efficient data transfer via USB Client. The firmware/hardware setup allows for dynamic adjustments to variables like sample time, threshold voltage, logic modes, and signal gain. Data collection is optimized through SPI or direct lines, processing into packets for transmission to the GUI, which outputs ASCII data and continuously updates every second.
Advanced Data Acquisition and Control Interface for USB and GUI Integration
E N D
Presentation Transcript
Interface 1: Knobs • GUI: link the buttons/knobs to “an action”; prompt MCA.py • USB Client: do bit-masking and packet formation; send data as a control transfer • Firmware/Hardware: extract control bits and link to • Change variable -> new time – to – sample • Change pot value -> new threshold voltage • Change firmware logic -> new coincidence mode • Change pot value -> new signal gain
Interface 2: Data Collection Hardware: get data to firmware using SPI or direct lines Firmware: process data into packets; feed the bulk endpoint 64-byte chunks of histogram + fast count; set UOWN and the USB SIE takes over USB Client: decodes packets using data protocol; ships data to the GUI GUI: saves data as ASCII; updates screen every 1 second and updates scale every 15 seconds