Yevgeny Petrilin Shay Dan Shadi Ibrahim. GUI : Graphical User Interface DAQ :Data Acquisition Data Acquisition device  a self-powered system that communicated.

Slides:



Advertisements
Similar presentations
Network II.5 simulator ..
Advertisements

CSC 360- Instructor: K. Wu Overview of Operating Systems.
Operating System.
Fetch Execute Cycle – In Detail -
Dr. Rabie A. Ramadan Al-Azhar University Lecture 3
1 (Review of Prerequisite Material). Processes are an abstraction of the operation of computers. So, to understand operating systems, one must have a.
Yaron Doweck Yael Einziger Supervisor: Mike Sumszyk Spring 2011 Semester Project.
Input and Output CS 215 Lecture #20.
Microprocessor and Microcontroller
Processor System Architecture
Using an FPGA to Control the Protection of National Security and Sailor Lives at Sea Brenda G. Martinez, Undergraduate Student K.L. Butler-Purry, Ph.D.,
Silberschatz, Galvin and Gagne  Operating System Concepts Chapter 2: Computer-System Structures Computer System Operation I/O Structure Storage.
Architectural Support for Operating Systems. Announcements Most office hours are finalized Assignments up every Wednesday, due next week CS 415 section.
A Brief Overview of LabVIEW Data Acquisition (DAQ)
Midterm Tuesday October 23 Covers Chapters 3 through 6 - Buses, Clocks, Timing, Edge Triggering, Level Triggering - Cache Memory Systems - Internal Memory.
Operating Systems CS208. What is Operating System? It is a program. It is the first piece of software to run after the system boots. It coordinates the.
1 Operating Systems Ch An Overview. Architecture of Computer Hardware and Systems Software Irv Englander, John Wiley, Bare Bones Computer.
Pipelining By Toan Nguyen.
Monitoring systems COMET types MS55 & MS6 MS55/MS6 Configuration.
ISO Task Controller Lecture 9 Task Controller – Part I
DEMONSTRATION FOR SIGMA DATA ACQUISITION MODULES Tempatron Ltd Data Measurements Division Darwin Close Reading RG2 0TB UK T : +44 (0) F :
Shekoofeh Azizi Spring  CUDA is a parallel computing platform and programming model invented by NVIDIA  With CUDA, you can send C, C++ and Fortran.
Microsoft Visual Basic 2012 CHAPTER ONE Introduction to Visual Basic 2012 Programming.
Microsoft Visual Basic 2005 CHAPTER 1 Introduction to Visual Basic 2005 Programming.
Control pins and Writing Microcode. Simple architecture Recall our architecture from the previous week It was a simple bus architecture “Control” was.
Operating System. Architecture of Computer System Hardware Operating System (OS) Programming Language (e.g. PASCAL) Application Programs (e.g. WORD, EXCEL)
Chapter 1. Introduction What is an Operating System? Mainframe Systems
Chapter 3: Operating-System Structures System Components Operating System Services System Calls System Programs System Structure Virtual Machines System.
Computer Architecture
Data Acquisition Data acquisition (DAQ) basics Connecting Signals Simple DAQ application Computer DAQ Device Terminal Block Cable Sensors.
Implementing Processes and Process Management Brian Bershad.
ECE 456 Computer Architecture
CHAPTER 3 TOP LEVEL VIEW OF COMPUTER FUNCTION AND INTERCONNECTION
1-1 Embedded Network Interface (ENI) API Concepts Shared RAM vs. FIFO modes ENI API’s.
Lecture 3 Process Concepts. What is a Process? A process is the dynamic execution context of an executing program. Several processes may run concurrently,
Interfaces to External EDA Tools Debussy Denali SWIFT™ Course 12.
Pre-OTS Testing in Penticton Sonja Vrcic Socorro, December 11, 2007.
Computer Science and Engineering Parallel and Distributed Processing CSE 8380 February Session 11.
PROJECT - ZYNQ Yakir Peretz Idan Homri Semester - winter 2014 Duration - one semester.
Interrupt driven I/O. MIPS RISC Exception Mechanism The processor operates in The processor operates in user mode user mode kernel mode kernel mode Access.
Processor Architecture
CE Operating Systems Lecture 2 Low level hardware support for operating systems.
1 Programming of FPGA in LiCAS ADC for Continuous Data Readout Week 5 Report Tuesday 29 th July 2008 Jack Hickish.
Electronic Analog Computer Dr. Amin Danial Asham by.
PPI-8255.
Silberschatz, Galvin and Gagne  Applied Operating System Concepts Chapter 2: Computer-System Structures Computer System Architecture and Operation.
CE Operating Systems Lecture 2 Low level hardware support for operating systems.
Marcelo R.N. Mendes. What is FINCoS? A set of tools for data generation, load submission, and performance measurement of CEP systems; Main Characteristics:
1 Lecture 1: Computer System Structures We go over the aspects of computer architecture relevant to OS design  overview  input and output (I/O) organization.
BABCA Software Operating Systems (OS) aka Systems Software A set of instructions that coordinate all the activities among computer hardware resources.
More on Pipelining 1 CSE 2312 Computer Organization and Assembly Language Programming Vassilis Athitsos University of Texas at Arlington.
Interrupt driven I/O Computer Organization and Assembly Language: Module 12.
بسم الله الرحمن الرحيم MEMORY AND I/O.
More on Pipelining 1 CSE 2312 Computer Organization and Assembly Language Programming Vassilis Athitsos University of Texas at Arlington.
Embedded Computer - Definition When a microcomputer is part of a larger product, it is said to be an embedded computer. The embedded computer retrieves.
1 Basic Processor Architecture. 2 Building Blocks of Processor Systems CPU.
8085 INTERNAL ARCHITECTURE.  Upon completing this topic, you should be able to: State all the register available in the 8085 microprocessor and explain.
Silberschatz, Galvin and Gagne ©2013 Operating System Concepts – 9 th Edit9on Lecture 3 Chapter 1: Introduction Provided & Updated by Sameer Akram.
Scenario use cases Szymon Mueller PSNC. Agenda 1.General description of experiment use case. 2.Detailed description of use cases: 1.Preparation for observation.
CPIT Program Execution. Today, general-purpose computers use a set of instructions called a program to process data. A computer executes the.
Poster Design & Printing by Genigraphics ® Matlab-based Nanoscale Device Characterization Paul R. Haugen and Hassan Raza Nanoscale Devices.
Basic Computer Organization and Design
Introduction of microprocessor
הודעות ריענון מהיר והרחבות Charts & Graphs גרף XY בניית מחולל אותות
Module 2: Computer-System Structures
Training Module Introduction to the TB9100/P25 CG/P25 TAG Customer Service Software (CSS) Describes Release 3.95 for Trunked TB9100 and P25 TAG Release.
Module 2: Computer-System Structures
Presentation transcript:

Yevgeny Petrilin Shay Dan Shadi Ibrahim

GUI : Graphical User Interface DAQ :Data Acquisition Data Acquisition device  a self-powered system that communicated with a computer through a standard or proprietary interface GPIB  General Purpose Interface Bus. Sweep  A continuous change of a parameter in an electronic system. Most often it refers to a frequency sweep or the sweep of a voltage. Difference measurements

 The main goal was to write a program that can performs Mega sweep using limited types of devices  DAQ is the Main device and it is also able to read other devices input  It can generate voltage in a limited range  Devices can be configured either manually or via measurement tool  Devices can be connected to each other in a single experiment.  The program should enable :  Configuring each device output in the range of [-10:10][V]  Controlling the devices while doing the experiment, hence changing output values.  Saving the experiment data into database in a convent format

 Programming language: C.  OOP principals (ADT).  Device Array – pointers to functions.  Read/Write settings.  Synchronization.

Project Requirements And results

The user should be able to set sweep details: source device, limits, rate (up/down), increment, number of sweeps, details of the participating devices, and units for viewing results. The user should be able to store/load sweep configuration for anytime reuse. The user should be able to change the manner of the data graphical presentation at sweep run time. The user should be able to change sweep rate or direction at run time. The user should be able to pause/ resume sweep. The user should be able to stop and reset the sweep.

The application should be able to read input from the DAQ buffer. The application should support any size of sweep. The application should synchronize both reading and writing tasks in order to associate data accordingly. The application can read up to 16 channel's input in regular mode and up to 8 channels in DIFF mode at the same time. All the experiment ’ s data should be gathered without any lost, regardless of the size. Data gathered from the DAQ buffer should be stored in a file using parallel thread.

The application should identify all the connected devices to the pc at run time. The application should enable to choose the devices participating in the experiment and configure their values. The application should be able to communicate with the devices listed below; the application should be able to forward write-tasks to these devices. Application should be able to pause/resume/stop or change the devices state while doing the experiment.

Device Array DAQ Dev write read close pause goto ___________ Read state Write state write read close pause goto ___________ Read state Write state Device Interface Device Interface Create Destroy Set read state Set write state Create Destroy Set read state Set write state ADT Interface Device specific Methods: write read close Device specific Methods: write read close Device Specific Interface Device Specific Interface The process of adding a device

The Interface for developer usage Device Array DAQ Dev write read close pause goto ___________ Read state Write state write read close pause goto ___________ Read state Write state Device Interface Device Interface Device specific Methods: write read close Device specific Methods: write read close Device 1 Specific Interface Device 1 Specific Interface Device specific Methods: write read close Device specific Methods: write read close Device 2 Specific Interface Device 2 Specific Interface

 DAQ as sweep Source device  Source write function instructs main device to write an array of sequential values in an appropriate range at a given rate  Asynchronous call  Runs in main thread  Calls a DONE interrupt when the device when DAQ finishes given write task  Done interrupt calls a method that waits until operation of read and handling its results is done (Plot mainly)  Sets the flags for the next iteration in sweep  Sets the parameter for read/write in the next iteration  Executes the next iteration/ ends sweep

 Yokogawa as sweep Source device  Source write function instructs main device to write an array of sequential values in an appropriate range in a given time  Asynchronous call  Runs in main thread  DONE interrupt is implemented via thread which waits during given execution time  Done interrupt calls a method that waits until operation of read and handling its results is done (Plot mainly)  Sets the flags for the next iteration in sweep  Sets the parameter for read/write in the next iteration  Executes the next iteration/ ends sweep

DAQ as sweep Source device  Read function initiates DAQ with the parameters pulled from GUI  Read operation is triggered by DAQ write function  Read clock is synchronized with output clock  It executes an interrupt function after every N samples it read from input, each interrupt performs  Plotting results into GUI  Calling a thread which writes results into a specified file READ IS ALWAYS CALLED BEFORE WRITE

DAQ is Not the sweep Source device  Read function initiates DAQ with the parameters pulled from GUI  Read operation is not triggered, it starts when it is called  Read clock is synchronized with DAQ onboard clock  It executes an interrupt function after every N samples it read from input, each interrupt performs  Plotting results into GUI  Calling a thread which writes results into a specified file READ IS ALWAYS CALLED BEFORE WRITE

Main interfaceDAQ interface Read() Write() Main Thread Thread Pool Database Read Interrupt Done Interrupt Register Done Worker Thread Every N samples Plot graph/save results Write next iter. Write Write is Done, Wait until read + plot is done 1 2 *

Yokogawa interface Write () Main interfaceDAQ interface Read() Main Thread Thread Pool Database Read Interrupt Register EveryN Worker Thread Every N samples Plot graph/save results Write next iter. Write Write is Done, Wait until read + plot is done 1 2 * Worker Thread Sleep duration

 Data structure  Devices array  Additional outputs array (subset of device array)  Sweep configuration Values taken from GUI Values set by device interface Runtime configuration  In order to perform operations during a sweep, participating devices data will be pulled from settings database  Runtime flags Sweep direction Display mode …

 Initiating measurement tool Main Physical Device* Collect info Identity info Device Create device[info] Specific Device Retrieve pointers

 Running a sweep with DAQ as source Main Device write ok DeviceDAQ DAQ write DAQ readDevice read DAQ done write Settings Retrieve Next configurations Retrieve Sweep configurations

 DAQ  Handling device as source  Retrieving read results from channels  Yokogawa  Device as main source  Device as additional output  HP Agilent 363xx  Device as additional output

Configuring the main sweep source. Here we set the limits, the rate and the number of iterations Configuring the main sweep source. Here we set the limits, the rate and the number of iterations Adding Additional output. Here we define the other devices that participates the experiment. The devices are selected from the GPIB device list. Adding Additional output. Here we define the other devices that participates the experiment. The devices are selected from the GPIB device list. Setting the DAQ inputs. We need to Add the data manually according to the channels we connected. Setting the DAQ inputs. We need to Add the data manually according to the channels we connected. Load / save configurations. Apply settings will send the configurations instructions to the devices through the GPIB Load / save configurations. Apply settings will send the configurations instructions to the devices through the GPIB

Sweep controls. Start/stop/pause/resume. Enables changing the rate or the output value of the main device. Sweep controls. Start/stop/pause/resume. Enables changing the rate or the output value of the main device. Examining sweep online results: 1.Viewing results 2.Manipulating graph Examining sweep online results: 1.Viewing results 2.Manipulating graph

 Physical devices  Throughput (Device capabilities VS. PC)  Output range (Yoko VS. DAQ)  Software related  Programming language restrictions  Synchronization overhead  Workspace related  Various kinds of platforms : uniform interface?