Best Practices for Architecting Embedded Applications in LabVIEW Jacques Cilliers Applications Engineering

Size: px
Start display at page:

Download "Best Practices for Architecting Embedded Applications in LabVIEW Jacques Cilliers Applications Engineering"

Transcription

1 Best Practices for Architecting Embedded Applications in LabVIEW Jacques Cilliers Applications Engineering

2 Overview of NI RIO Architecture PC Real Time Controller FPGA 4

3 Where to Start? 5

4 Requirements These are the key requirements that typically drive a design: Data acquisition rates Channel count Control loop rates and latencies Level and timing of data analysis o Offline, online, inline Data destinations o Log all raw data to disk o Display all data on PC UI 6

5 Build with Modular Processes Break up the application into numerous (typically 5-8) independent, free-running processes Each process is a loop, in a subvi Each process should be responsible for one aspect of the system Limit the state data that needs to be shared between processes 7

6 Assign Processes to the Right Target PC RT FPG A PC Real-Time FPGA Offline processing and analysis User Interface Long-term data storage Enterprise interface o o SQL Database OPC Online analysis Temporary data storage Closed-loop control (100 us ms time scales) Peripheral interface o o o Modbus Serial CAN/LIN Inline analysis Closed-loop control (10s of ns us time scales) Anything related to safety or time-critical operation Digital hardware interface o o I2C SPI 8

7 I/O Modules I/O Modules Accessing IO: NI Scan Engine Provides single-point access to I/O channels using a scan that stores and updates data in a global memory map Updates all values concurrently at a single rate (Scan Period) CompactRIO Scan Mode Interface LabVIEW Real-Time RT VI I/O Variables NI Scan Engine I/O memory table FPGA RIO Scan Interface 9

8 Accessing IO: Scan Engine vs FPGA Scan Engine: FPGA Continuous single point acquisition Scalar data Scan rates below ~1 KHz o CPU usage scales with scan rate higher-performance targets can handle higher scan rates. Pre-written, easy access to data No FPGA programming required Custom triggering Waveform or scalar data Acquisition rates to ~ 1 MHz Requires writing FPGA code, allows full control 10

9 Accessing IO: Hybrid Mode Can choose what IO mode to use for each module Location in project tree determines mode Scan Interface Mode I/O LabVIEW FPGA Interface Mode I/O 11

10 Available LabVIEW Data Communication APIs Local Process Local Variable Global Variable Single-Process Variable Functional Global Variable Queues Notifiers RT FIFOs User Events Data Value Reference Shared Memory Current Value Table (CVT)* Tag Bus(*) NI Pipes Network TCP UDP Network Streams Network Variable Dynamic Variables Time-Triggered Variable Web Services Datasocket Simple TCP Messaging (STM)* Asynchronous Message Communication (AMC)* FTP HTTP WebDAV FPGA Memory Item Register Target Scoped FIFO VI VI Defined FIFO DRAM FIFO DMA FIFO Read/Write Controls User Defined IO Variables Peer-to-Peer (P2P) PXImc *SE Maintained 12

11 Three Fundamental Communication Paradigms Lossy Current value Lossless High throughput Buffered data Reliable delivery Low latency 13

12 Three Fundamental Communication Paradigms Global and Local Variables Network Published Shared Variables Tag Bus Current Value Table (CVT) FPGA Registers Scan Engine I/O Variables Network Streams TCP/IP Queues RT FIFOs FPGA FIFOs TCP and UDP Network Streams Queues and Notifiers User Events RT FIFOs FPGA / RT FIFOs FPGA Handshakes FPGA IRQs 14

13 FPGA Internal Communication Tags: Registers Local\Global Variables Messages: Handshake Target (or VI)-scoped FIFO PC RT FPG A Streams: Target (or VI)-scoped FIFO Memories 15

14 FPGA External Communication Tags: FPGA Front Panel User-Defined Variable (if using Scan Engine) Messages: Interrupt DMA FIFO PC RT FPG A Streams: DMA FIFO 17

15 RT Internal Communication Tags: Current Value Table Single-Process Shared Variables (no RT FIFO) Global Variables Messages: Queue RT FIFO User Events Streams: RT FIFO Queue Single-Process Shared Variable (with RT FIFO) PC RT FPG A 18

16 RT to HMI Communication Tags: Network-Published Shared Variable Web Service Messages: Network Stream STM PC RT FPG A TCP Web Service Streams: Network Stream UDP TCP 21

17 Typical RT Modules Acquisition/Control (main logic) Incoming Message Handler System Health Monitor Central Error Handler Debug Trace Logger Watchdog 23

18 Error Management Each process should attempt to handle (or ignore) its own errors If the scope of an error requires higher-level action, this action should be triggered by the central error handler One and only one process should log errors, all other processes forward errors to be logged Leverage existing reference designs and components Sample Projects Structured Error Handler Tag Bus 24

19 Central Error Handling Framework Specific Command Receiver Loop Handler UI message handling loop Specific Watchdog Loop Handler Monitoring Loop Specific Handler 25

20 System Health Continuously monitor and report critical system health tags CPU usage Memory usage Disk usage Delete older log/acquisition files if disk usage is high Controlled restart if available memory or CPU usage crosses a threshold Consider also using this process to control LEDs to visually inform users of system status 26

21 Trace Logging Single process responsible for logging trace data Expose a simple API for other processes to send trace strings This permits changes to the logging method without impacting other processes Simplifies field debugging Consider Syslog for network transmission of trace data 27

22 Watchdogs A watchdog timer is a hardware counter that interfaces with the embedded software application to detect and recover from software failures A user can then: Reboot real-time target automatically Perform user-defined recovery actions Two types of watchdogs with NI Real-Time hardware: LabVIEW Real-Time Watchdog Real-Time <-> FPGA Watchdog (FPGA Fail Safe Design) 29

23 LabVIEW Real-Time Only Watchdog Uses hardware timer built into CompactRIO hardware Reset = True reboots system if the watchdog process is starved 30

24 LabVIEW Real-Time Watchdog Enable occurrence in expiration actions Configure appropriate watchdog timeout and Watchdog Whack loop period 31

25 Real-Time <-> FPGA Watchdog Reset timer Put control loop into a safe state, and reset system 32

26 Configuration Any item that is a constant on the diagram or entered via the front panel of an RT VI should be considered for inclusion in a configuration file instead Use a lookup table, such as the Current Value Table, to make configuration parameters available throughout the application Use a human-readable format for your configuration files Consider using a tool, such as the Configuration Editor Framework (CEF), to help create a user application to edit your configuration files. 35

27 LabVIEW for CompactRIO Sample Projects Pre-built architectures for embedded control and monitoring applications Designed to ensure quality and scalability of a system 36

28 FPGA Waveform Acquisition and Logging 39

29 How and where to learn more Embedded Programming with LabVIEW and CompactRIO link 3 Design Decisions to Make When Programming an Embedded System link CompactRIO Developer s Guide: /compactriodevguide/ Code and utilities NI-created reuse code: /referencedesigns/ LabVIEW add-ons: /labview-tools-network/ Replication and Deployment (RAD) Utility /example/30986/ NI Labs Relevant Courses LabVIEW Embedded Control and Monitoring 40

ni.com Best Practices for Architecting Embedded Applications in LabVIEW

ni.com Best Practices for Architecting Embedded Applications in LabVIEW Best Practices for Architecting Embedded Applications in LabVIEW Overview of NI RIO Architecture PC Real Time Controller FPGA 2 Where to Start? 3 Requirements Before you start to design your system, you

More information

ni.com Decisions Behind the Design: LabVIEW for CompactRIO Sample Projects

ni.com Decisions Behind the Design: LabVIEW for CompactRIO Sample Projects Decisions Behind the Design: LabVIEW for CompactRIO Sample Projects Agenda Keys to quality in a software architecture Software architecture overview I/O safe states Watchdog timers Message communication

More information

ni.com Data Communication for Scalable Systems

ni.com Data Communication for Scalable Systems Data Communication for Scalable Systems Session Goals Discuss common architectures to address scalability in embedded systems We will not discuss the basics of each type of data communication mechanism

More information

Data Communication in LabVIEW

Data Communication in LabVIEW An Overview of Data Communication in LabVIEW Elijah Kerry LabVIEW Product Manager Certified LabVIEW Architect (CLA) Data Communication Options in LabVIEW 1. TCP and UDP 2. Network Streams 3. Shared Variables

More information

MOIS Overview. 1. Developer Walkthrough

MOIS Overview. 1. Developer Walkthrough MOIS Overview The Modular Ocean Instrumentation System (MOIS) software was developed in the LabVIEW programming language. The software runs on a LabVIEW real-time target. The National Instruments produced

More information

Foundational Design Patterns for Moving Beyond One Loop

Foundational Design Patterns for Moving Beyond One Loop Foundational Design Patterns for Moving Beyond One Loop Raja Pillai Technical Consultant Agenda Why move beyond one loop? What is a design pattern? Why learn communication mechanisms? Functional global

More information

An Overview of LabVIEW Design Patterns

An Overview of LabVIEW Design Patterns An Overview of LabVIEW Design Patterns Ryan Roggow Singletrack Integration (original presentations by Derrick Snyder Product Marketing Manager NI Data Acquisition and Eric Cunningham NI Field Engineer)

More information

Designing Real-Time Control Applications Using LabVIEW and CompactRIO. Developer Days 2009

Designing Real-Time Control Applications Using LabVIEW and CompactRIO. Developer Days 2009 Designing Real-Time Control Applications Using LabVIEW and CompactRIO Developer Days 2009 Agenda CompactRIO Overview Technology Applications Real-Time Control Software Architecture Basic Process Control

More information

FPGA design with National Instuments

FPGA design with National Instuments FPGA design with National Instuments Rémi DA SILVA Systems Engineer - Embedded and Data Acquisition Systems - MED Region ni.com The NI Approach to Flexible Hardware Processor Real-time OS Application software

More information

How to validate your FPGA design using realworld

How to validate your FPGA design using realworld How to validate your FPGA design using realworld stimuli Daniel Clapham National Instruments ni.com Agenda Typical FPGA Design NIs approach to FPGA Brief intro into platform based approach RIO architecture

More information

LabVIEW Communication Techniques for Distributed Applications

LabVIEW Communication Techniques for Distributed Applications LabVIEW Communication Techniques for Distributed Applications Agenda Intro: What is a Distributed Application? Part I: LabVIEW Communication Techniques Part II: Implementing Communication Tasks Distributed

More information

Decisions Behind the Design of the Queued Message Handler Template

Decisions Behind the Design of the Queued Message Handler Template Decisions Behind the Design of the Queued Message Handler Template Name, Title, National Instruments Outline Where QMH fits in with other patterns QMH Design Main VI organization Project organization Inter-loop

More information

ni.com What s New in 2013

ni.com What s New in 2013 What s New in 2013 Code Reuse and Mobile Device Integration Access the Newest Hardware Technology Code Management and Debugging Tools All Systems. Go. New Sample Projects and Improved Examples Streamlined

More information

LabVIEW FPGA Module Release and Upgrade Notes

LabVIEW FPGA Module Release and Upgrade Notes LabVIEW FPGA Module Release and Upgrade Notes Version 2009 Contents These release notes contain instructions for installing the LabVIEW FPGA Module, introduce new features, and provide upgrade information.

More information

Agenda. Programming FPGAs Why Are They Useful? NI FPGA Hardware Common Applications for FPGAs How to Learn More

Agenda. Programming FPGAs Why Are They Useful? NI FPGA Hardware Common Applications for FPGAs How to Learn More Agenda Programming FPGAs Why Are They Useful? NI FPGA Hardware Common Applications for FPGAs How to Learn More FPGA Technology Programmable Interconnects Logic Blocks I/O Blocks FPGA Logic Implementation

More information

Simplify System Complexity

Simplify System Complexity 1 2 Simplify System Complexity With the new high-performance CompactRIO controller Arun Veeramani Senior Program Manager National Instruments NI CompactRIO The Worlds Only Software Designed Controller

More information

Device-Functionality Progression

Device-Functionality Progression Chapter 12: I/O Systems I/O Hardware I/O Hardware Application I/O Interface Kernel I/O Subsystem Transforming I/O Requests to Hardware Operations Incredible variety of I/O devices Common concepts Port

More information

Chapter 12: I/O Systems. I/O Hardware

Chapter 12: I/O Systems. I/O Hardware Chapter 12: I/O Systems I/O Hardware Application I/O Interface Kernel I/O Subsystem Transforming I/O Requests to Hardware Operations I/O Hardware Incredible variety of I/O devices Common concepts Port

More information

Module 12: I/O Systems

Module 12: I/O Systems Module 12: I/O Systems I/O hardwared Application I/O Interface Kernel I/O Subsystem Transforming I/O Requests to Hardware Operations Performance 12.1 I/O Hardware Incredible variety of I/O devices Common

More information

Simplify System Complexity

Simplify System Complexity Simplify System Complexity With the new high-performance CompactRIO controller Fanie Coetzer Field Sales Engineer Northern South Africa 2 3 New control system CompactPCI MMI/Sequencing/Logging FieldPoint

More information

Advanced NI-DAQmx Programming Techniques with LabVIEW

Advanced NI-DAQmx Programming Techniques with LabVIEW Advanced NI-DAQmx Programming Techniques with LabVIEW Agenda Understanding Your Hardware Data Acquisition Systems Data Acquisition Device Subsystems Advanced Programming with NI-DAQmx Understanding Your

More information

Embedded Control Redefined: New C/C++ Options on NI Linux Real-Time

Embedded Control Redefined: New C/C++ Options on NI Linux Real-Time Embedded Control Redefined: New C/C++ Options on NI Linux Real-Time Anna Kozminski Software Product Manager Agenda NI Embedded Software Architecture Communicating between C/C++ and LabVIEW Development

More information

CHAPTER 3 LabVIEW REAL TIME APPLICATION DEVELOPMENT REFERENCES: [1] NI, Real Time LabVIEW. [2] R. Bishop, LabVIEW 2009.

CHAPTER 3 LabVIEW REAL TIME APPLICATION DEVELOPMENT REFERENCES: [1] NI, Real Time LabVIEW. [2] R. Bishop, LabVIEW 2009. CHAPTER 3 By Radu Muresan University of Guelph Page 1 ENGG4420 CHAPTER 3 LECTURE 1 October 31 10 5:12 PM CHAPTER 3 LabVIEW REAL TIME APPLICATION DEVELOPMENT REFERENCES: [1] NI, Real Time LabVIEW. [2] R.

More information

Input/Output Systems

Input/Output Systems Input/Output Systems CSCI 315 Operating Systems Design Department of Computer Science Notice: The slides for this lecture have been largely based on those from an earlier edition of the course text Operating

More information

Chapter 13: I/O Systems

Chapter 13: I/O Systems Chapter 13: I/O Systems I/O Hardware Application I/O Interface Kernel I/O Subsystem Transforming I/O Requests to Hardware Operations Streams Performance Objectives Explore the structure of an operating

More information

Introduction to LabVIEW and NI Hardware Platform

Introduction to LabVIEW and NI Hardware Platform Introduction to LabVIEW and NI Hardware Platform Corrie Botha Platform-Based Approach 2 With LabVIEW, You Can Program the Way You Think 3 With LabVIEW, You Can Program the Way You Think The graphical,

More information

Tasks and Objectives: Certified LabVIEW Architect

Tasks and Objectives: Certified LabVIEW Architect Certification ID Certification Title Job Description: CLA Certified LabVIEW Architect Given a set of requirements for a large application, the is able to develop, lead, and direct a team of LabVIEW developers

More information

The control of I/O devices is a major concern for OS designers

The control of I/O devices is a major concern for OS designers Lecture Overview I/O devices I/O hardware Interrupts Direct memory access Device dimensions Device drivers Kernel I/O subsystem Operating Systems - June 26, 2001 I/O Device Issues The control of I/O devices

More information

Operating System: Chap13 I/O Systems. National Tsing-Hua University 2016, Fall Semester

Operating System: Chap13 I/O Systems. National Tsing-Hua University 2016, Fall Semester Operating System: Chap13 I/O Systems National Tsing-Hua University 2016, Fall Semester Outline Overview I/O Hardware I/O Methods Kernel I/O Subsystem Performance Application Interface Operating System

More information

LabVIEW 2009 Real-Time & FPGA 最新技術剖析. National Instruments 美商國家儀器 行銷部技術經理吳維翰

LabVIEW 2009 Real-Time & FPGA 最新技術剖析. National Instruments 美商國家儀器 行銷部技術經理吳維翰 LabVIEW 2009 Real-Time & FPGA 最新技術剖析 National Instruments 美商國家儀器 行銷部技術經理吳維翰 LabVIEW RT 2009 Agenda NI Real-Time Hypervisor MathScript RT RT System Backup and Restore crio Streaming API LabVIEW FPGA 2009

More information

LabVIEW Basics I: Introduction Course

LabVIEW Basics I: Introduction Course www.ni.com/training LabVIEW Basics I Page 1 of 4 LabVIEW Basics I: Introduction Course Overview The LabVIEW Basics I course prepares you to develop test and measurement, data acquisition, instrument control,

More information

Che-Wei Chang Department of Computer Science and Information Engineering, Chang Gung University

Che-Wei Chang Department of Computer Science and Information Engineering, Chang Gung University Che-Wei Chang chewei@mail.cgu.edu.tw Department of Computer Science and Information Engineering, Chang Gung University l Chapter 10: File System l Chapter 11: Implementing File-Systems l Chapter 12: Mass-Storage

More information

Using the LabVIEW Shared Variable

Using the LabVIEW Shared Variable Using the LabVIEW Shared Variable Publish Date: Mar 04, 2012 Overview LabVIEW provides access to a wide variety of technologies for creating distributed applications. The shared variable introduced in

More information

Chapter 13: I/O Systems

Chapter 13: I/O Systems Chapter 13: I/O Systems Chapter 13: I/O Systems I/O Hardware Application I/O Interface Kernel I/O Subsystem Transforming I/O Requests to Hardware Operations Streams Performance 13.2 Silberschatz, Galvin

More information

Chapter 13: I/O Systems. Chapter 13: I/O Systems. Objectives. I/O Hardware. A Typical PC Bus Structure. Device I/O Port Locations on PCs (partial)

Chapter 13: I/O Systems. Chapter 13: I/O Systems. Objectives. I/O Hardware. A Typical PC Bus Structure. Device I/O Port Locations on PCs (partial) Chapter 13: I/O Systems Chapter 13: I/O Systems I/O Hardware Application I/O Interface Kernel I/O Subsystem Transforming I/O Requests to Hardware Operations Streams Performance 13.2 Silberschatz, Galvin

More information

NI Linux Real-Time. Fanie Coetzer. Field Sales Engineer SA North. ni.com

NI Linux Real-Time. Fanie Coetzer. Field Sales Engineer SA North. ni.com 1 NI Linux Real-Time Fanie Coetzer Field Sales Engineer SA North Agenda 1. Hardware Overview 2. Introduction to NI Linux Real-Time OS Background & Core Technology Filesystem Connectivity and Security 3.

More information

Chapter 13: I/O Systems. Operating System Concepts 9 th Edition

Chapter 13: I/O Systems. Operating System Concepts 9 th Edition Chapter 13: I/O Systems Silberschatz, Galvin and Gagne 2013 Chapter 13: I/O Systems Overview I/O Hardware Application I/O Interface Kernel I/O Subsystem Transforming I/O Requests to Hardware Operations

More information

Chapter 13: I/O Systems

Chapter 13: I/O Systems Chapter 13: I/O Systems DM510-14 Chapter 13: I/O Systems I/O Hardware Application I/O Interface Kernel I/O Subsystem Transforming I/O Requests to Hardware Operations STREAMS Performance 13.2 Objectives

More information

by I.-C. Lin, Dept. CS, NCTU. Textbook: Operating System Concepts 8ed CHAPTER 13: I/O SYSTEMS

by I.-C. Lin, Dept. CS, NCTU. Textbook: Operating System Concepts 8ed CHAPTER 13: I/O SYSTEMS by I.-C. Lin, Dept. CS, NCTU. Textbook: Operating System Concepts 8ed CHAPTER 13: I/O SYSTEMS Chapter 13: I/O Systems I/O Hardware Application I/O Interface Kernel I/O Subsystem Transforming I/O Requests

More information

Module 12: I/O Systems

Module 12: I/O Systems Module 12: I/O Systems I/O Hardware Application I/O Interface Kernel I/O Subsystem Transforming I/O Requests to Hardware Operations Performance Operating System Concepts 12.1 Silberschatz and Galvin c

More information

Chapter 12: I/O Systems

Chapter 12: I/O Systems Chapter 12: I/O Systems Chapter 12: I/O Systems I/O Hardware! Application I/O Interface! Kernel I/O Subsystem! Transforming I/O Requests to Hardware Operations! STREAMS! Performance! Silberschatz, Galvin

More information

Chapter 13: I/O Systems

Chapter 13: I/O Systems Chapter 13: I/O Systems Chapter 13: I/O Systems I/O Hardware Application I/O Interface Kernel I/O Subsystem Transforming I/O Requests to Hardware Operations STREAMS Performance Silberschatz, Galvin and

More information

Chapter 12: I/O Systems. Operating System Concepts Essentials 8 th Edition

Chapter 12: I/O Systems. Operating System Concepts Essentials 8 th Edition Chapter 12: I/O Systems Silberschatz, Galvin and Gagne 2011 Chapter 12: I/O Systems I/O Hardware Application I/O Interface Kernel I/O Subsystem Transforming I/O Requests to Hardware Operations STREAMS

More information

Security Management System SNMP Trap Interface

Security Management System SNMP Trap Interface Security Management System software generates various alarms on events. SMS SNMP trap Interface application connects to one or more SMS Servers and receives all the alarms generated by the SMS application.

More information

Making the Most of your FPGA Design

Making the Most of your FPGA Design Making the Most of your FPGA Design Rejwan Ali Marketing Engineer Overview Introduction to Making the most Maintainability through Simulation Creating Scalable LVFPGA Reactor Pattern in LVFPGA Making the

More information

Chapter 13: I/O Systems

Chapter 13: I/O Systems Chapter 13: I/O Systems I/O Hardware Application I/O Interface Kernel I/O Subsystem Transforming I/O Requests to Hardware Operations Streams Performance I/O Hardware Incredible variety of I/O devices Common

More information

New Software-Designed Instruments

New Software-Designed Instruments 1 New Software-Designed Instruments Nicholas Haripersad Field Applications Engineer National Instruments South Africa Agenda What Is a Software-Designed Instrument? Why Software-Designed Instrumentation?

More information

CSCI-GA Operating Systems I/O. Hubertus Franke

CSCI-GA Operating Systems I/O. Hubertus Franke Operating Systems I/O CSCI-GA.2250-001 Hubertus Franke frankeh@cs.nyu.edu External devices that engage in I/O with computer systems can be grouped into three categories: Human readable suitable for communicating

More information

Architecture or Parallel Computers CSC / ECE 506

Architecture or Parallel Computers CSC / ECE 506 Architecture or Parallel Computers CSC / ECE 506 Summer 2006 Scalable Programming Models 6/19/2006 Dr Steve Hunter Back to Basics Parallel Architecture = Computer Architecture + Communication Architecture

More information

G Robert Grimm New York University

G Robert Grimm New York University G22.3250-001 Receiver Livelock Robert Grimm New York University Altogether Now: The Three Questions What is the problem? What is new or different? What are the contributions and limitations? Motivation

More information

Chapter 13: I/O Systems

Chapter 13: I/O Systems Chapter 13: I/O Systems Chapter 13: I/O Systems I/O Hardware Application I/O Interface Kernel I/O Subsystem Transforming I/O Requests to Hardware Operations Streams Performance 13.2 Silberschatz, Galvin

More information

HIGH-PERFORMANCE NETWORKING :: USER-LEVEL NETWORKING :: REMOTE DIRECT MEMORY ACCESS

HIGH-PERFORMANCE NETWORKING :: USER-LEVEL NETWORKING :: REMOTE DIRECT MEMORY ACCESS HIGH-PERFORMANCE NETWORKING :: USER-LEVEL NETWORKING :: REMOTE DIRECT MEMORY ACCESS CS6410 Moontae Lee (Nov 20, 2014) Part 1 Overview 00 Background User-level Networking (U-Net) Remote Direct Memory Access

More information

Module 11: I/O Systems

Module 11: I/O Systems Module 11: I/O Systems Reading: Chapter 13 Objectives Explore the structure of the operating system s I/O subsystem. Discuss the principles of I/O hardware and its complexity. Provide details on the performance

More information

Increase Your Test Capabilities with Reconfigurable FPGA Technology

Increase Your Test Capabilities with Reconfigurable FPGA Technology Increase Your Test Capabilities with Reconfigurable FPGA Technology CTEA Electronics Symposium Ryan Verret Senior Product Manager FPGA Technology for Test National Instruments Graphical System Design A

More information

-Device. -Physical or virtual thing that does something -Software + hardware to operate a device (Controller runs port, Bus, device)

-Device. -Physical or virtual thing that does something -Software + hardware to operate a device (Controller runs port, Bus, device) Devices -Host -CPU -Device -Controller device) +memory +OS -Physical or virtual thing that does something -Software + hardware to operate a device (Controller runs port, Bus, Communication -Registers -Control

More information

Remote Health Monitoring for an Embedded System

Remote Health Monitoring for an Embedded System July 20, 2012 Remote Health Monitoring for an Embedded System Authors: Puneet Gupta, Kundan Kumar, Vishnu H Prasad 1/22/2014 2 Outline Background Background & Scope Requirements Key Challenges Introduction

More information

Application State Machine

Application State Machine Application State Machine Project In this tutorial, create a real, working program to help you learn how to develop programs for your own applications in the future. This tutorial guides you through writing

More information

Squeezing the Most Out of a Dentifrice Filling Application

Squeezing the Most Out of a Dentifrice Filling Application Squeezing the Most Out of a Dentifrice Filling Application Authors J. Duane McDonough, Business Development Manager, Data Science Automation Ryan W. Vallieu, Senior Measurement & Automation Consultant,

More information

(B) Execute SMS TCP MODBUS Interface Application

(B) Execute SMS TCP MODBUS Interface Application Security Management System software generates notifications which indicate the state of various health parameters eg disk failure, one or more cameras offline etc. These notifications can be exposed as

More information

FYS Data acquisition & control. Introduction. Spring 2018 Lecture #1. Reading: RWI (Real World Instrumentation) Chapter 1.

FYS Data acquisition & control. Introduction. Spring 2018 Lecture #1. Reading: RWI (Real World Instrumentation) Chapter 1. FYS3240-4240 Data acquisition & control Introduction Spring 2018 Lecture #1 Reading: RWI (Real World Instrumentation) Chapter 1. Bekkeng 14.01.2018 Topics Instrumentation: Data acquisition and control

More information

ICC. Generic Socket Client Driver Manual INDUSTRIAL CONTROL COMMUNICATIONS, INC Industrial Control Communications, Inc.

ICC. Generic Socket Client Driver Manual INDUSTRIAL CONTROL COMMUNICATIONS, INC Industrial Control Communications, Inc. INDUSTRIAL CONTROL COMMUNICATIONS, INC. Generic Socket Client Driver Manual October 30, 2014 2014 Industrial Control Communications, Inc. TABLE OF CONTENTS 1 Generic Socket Client... 2 1.1 Overview...

More information

I/O AND DEVICE HANDLING Operating Systems Design Euiseong Seo

I/O AND DEVICE HANDLING Operating Systems Design Euiseong Seo I/O AND DEVICE HANDLING 2016 Operating Systems Design Euiseong Seo (euiseong@skku.edu) I/O Hardware Incredible variety of I/O devices Common concepts Port Bus (daisy chain or shared direct access) Controller

More information

ATM-DB Firmware Specification E. Hazen Updated January 4, 2007

ATM-DB Firmware Specification E. Hazen Updated January 4, 2007 ATM-DB Firmware Specification E. Hazen Updated January 4, 2007 This document describes the firmware operation of the Ethernet Daughterboard for the ATM for Super- K (ATM-DB). The daughterboard is controlled

More information

Protocol Specification. Using Finite State Machines

Protocol Specification. Using Finite State Machines Protocol Specification Using Finite State Machines Introduction Specification Phase of Protocol Design allows the designer to prepare an abstract model of the protocol for testing and analysis. Finite

More information

Certified LabVIEW Developer Exam Preparation Course Nicholas Haripersad Field Sales Engineer

Certified LabVIEW Developer Exam Preparation Course Nicholas Haripersad Field Sales Engineer Certified LabVIEW Developer Exam Preparation Course Nicholas Haripersad Field Sales Engineer Agenda CLD exam process, format and scoring CLD exam objective and theme Design your way to exam success Preparation

More information

CLAD Exam Preparation Guide using LabVIEW NXG

CLAD Exam Preparation Guide using LabVIEW NXG CLAD Exam Preparation Guide using LabVIEW NXG This prep guide prepares you to take the CLAD exam using LabVIEW NXG if you registered to take the exam on or after July 31, 2017. If you want to take the

More information

LabVIEW TM Real-Time 2: Architecting Embedded Systems Exercises

LabVIEW TM Real-Time 2: Architecting Embedded Systems Exercises LabVIEW TM Real-Time 2: Architecting Embedded Systems Exercises Course Software Version 2012 November 2012 Edition Part Number 325585B-01 LabVIEW Real-Time 2 Exercises Copyright 2010 2012 National Instruments

More information

Outline Background Jaluna-1 Presentation Jaluna-2 Presentation Overview Use Cases Architecture Features Copyright Jaluna SA. All rights reserved

Outline Background Jaluna-1 Presentation Jaluna-2 Presentation Overview Use Cases Architecture Features Copyright Jaluna SA. All rights reserved C5 Micro-Kernel: Real-Time Services for Embedded and Linux Systems Copyright 2003- Jaluna SA. All rights reserved. JL/TR-03-31.0.1 1 Outline Background Jaluna-1 Presentation Jaluna-2 Presentation Overview

More information

Ref: Chap 12. Secondary Storage and I/O Systems. Applied Operating System Concepts 12.1

Ref: Chap 12. Secondary Storage and I/O Systems. Applied Operating System Concepts 12.1 Ref: Chap 12 Secondary Storage and I/O Systems Applied Operating System Concepts 12.1 Part 1 - Secondary Storage Secondary storage typically: is anything that is outside of primary memory does not permit

More information

LabVIEW Real-Time Module Release Notes

LabVIEW Real-Time Module Release Notes LabVIEW Real-Time Module Release Notes Version 7.1 Contents Installation These release notes provide installation information, references to related documentation, descriptions of the new features, and

More information

Chapter 13: I/O Systems

Chapter 13: I/O Systems Chapter 13: I/O Systems Chapter 13: I/O Systems I/O Hardware Application I/O Interface Kernel I/O Subsystem Transforming I/O Requests to Hardware Operations Streams Performance 13.2 Silberschatz, Galvin

More information

ni.com Preparing for the CLAD Exam

ni.com Preparing for the CLAD Exam Preparing for the CLAD Exam Breaking Data Flow Situation: Run 2 Loops simultaneously with 1 Stop Button Wiring the Stop Button from one Loop to the other will NOT work. Solution: Use a Local Variable Drawbacks:

More information

VXI/VME-PCI8000 SERIES

VXI/VME-PCI8000 SERIES READ ME FIRST VXI/VME-PCI8000 SERIES FOR WINDOWS 95/NT Contents This document contains information to help you understand the components of your kit, determine where to start setting up your kit, and learn

More information

DaqBoard/1000. Series 16-Bit, 200-kHz PCI Data Acquisition Boards

DaqBoard/1000. Series 16-Bit, 200-kHz PCI Data Acquisition Boards 16-Bit, 200-kHz PCI Data Acquisition Boards Features 16-bit, 200-kHz A/D converter 8 differential or 16 single-ended analog inputs (software selectable per channel) Up to four boards can be installed into

More information

The Embedded computing platform. Four-cycle handshake. Bus protocol. Typical bus signals. Four-cycle example. CPU bus.

The Embedded computing platform. Four-cycle handshake. Bus protocol. Typical bus signals. Four-cycle example. CPU bus. The Embedded computing platform CPU bus. Memory. I/O devices. CPU bus Connects CPU to: memory; devices. Protocol controls communication between entities. Bus protocol Determines who gets to use the bus

More information

Silberschatz and Galvin Chapter 12

Silberschatz and Galvin Chapter 12 Silberschatz and Galvin Chapter 12 I/O Systems CPSC 410--Richard Furuta 3/19/99 1 Topic overview I/O Hardware Application I/O Interface Kernel I/O Subsystem Transforming I/O requests to hardware operations

More information

Základy práce a programovania CompactRIO systémov pre meracie aplikácie

Základy práce a programovania CompactRIO systémov pre meracie aplikácie Základy práce a programovania CompactRIO systémov pre meracie aplikácie Ing. Mgr. Márk Jónás (ANV, s.r.o.) 29.6.2012 Tato prezentace je spolufinancována Evropským sociálním fondem a státním rozpočtem České

More information

VXIPC 800/700 SERIES FOR WINDOWS 95/NT

VXIPC 800/700 SERIES FOR WINDOWS 95/NT READ ME FIRST VXIPC 800/700 SERIES FOR WINDOWS 95/NT Contents This document contains information to help you understand the components of your kit, determine where to start setting up your kit, and learn

More information

Certified LabVIEW Developer Exam Preparation Course

Certified LabVIEW Developer Exam Preparation Course NI Training & Certification Certified LabVIEW Developer Exam Preparation Course Jason Strydom Application Engineer National Instruments Agenda CLD exam process, format and scoring CLD exam objective and

More information

Receive Livelock. Robert Grimm New York University

Receive Livelock. Robert Grimm New York University Receive Livelock Robert Grimm New York University The Three Questions What is the problem? What is new or different? What are the contributions and limitations? Motivation Interrupts work well when I/O

More information

操作系统概念 13. I/O Systems

操作系统概念 13. I/O Systems OPERATING SYSTEM CONCEPTS 操作系统概念 13. I/O Systems 东南大学计算机学院 Baili Zhang/ Southeast 1 Objectives 13. I/O Systems Explore the structure of an operating system s I/O subsystem Discuss the principles of I/O

More information

(Advanced) Computer Organization & Architechture. Prof. Dr. Hasan Hüseyin BALIK (3 rd Week)

(Advanced) Computer Organization & Architechture. Prof. Dr. Hasan Hüseyin BALIK (3 rd Week) + (Advanced) Computer Organization & Architechture Prof. Dr. Hasan Hüseyin BALIK (3 rd Week) + Outline 2. The computer system 2.1 A Top-Level View of Computer Function and Interconnection 2.2 Cache Memory

More information

Transport Layer. The transport layer is responsible for the delivery of a message from one process to another. RSManiaol

Transport Layer. The transport layer is responsible for the delivery of a message from one process to another. RSManiaol Transport Layer Transport Layer The transport layer is responsible for the delivery of a message from one process to another Types of Data Deliveries Client/Server Paradigm An application program on the

More information

Data Loss and Component Failover

Data Loss and Component Failover This chapter provides information about data loss and component failover. Unified CCE uses sophisticated techniques in gathering and storing data. Due to the complexity of the system, the amount of data

More information

IP SLAs Overview. Finding Feature Information. Information About IP SLAs. IP SLAs Technology Overview

IP SLAs Overview. Finding Feature Information. Information About IP SLAs. IP SLAs Technology Overview This module describes IP Service Level Agreements (SLAs). IP SLAs allows Cisco customers to analyze IP service levels for IP applications and services, to increase productivity, to lower operational costs,

More information

V8uC: Sparc V8 micro-controller derived from LEON2-FT

V8uC: Sparc V8 micro-controller derived from LEON2-FT V8uC: Sparc V8 micro-controller derived from LEON2-FT ESA Workshop on Avionics Data, Control and Software Systems Noordwijk, 4 November 2010 Walter Errico SITAEL Aerospace phone: +39 0584 388398 e-mail:

More information

8. Remote System Upgrades with Stratix II and Stratix II GX Devices

8. Remote System Upgrades with Stratix II and Stratix II GX Devices 8. Remote System Upgrades with Stratix II and Stratix II GX Devices SII52008-4.5 Introduction System designers today face difficult challenges such as shortened design cycles, evolving standards, and system

More information

LabVIEW programming II

LabVIEW programming II FYS3240 PC-based instrumentation and microcontrollers LabVIEW programming II Spring 2016 Lecture #3 Bekkeng 18.01.2016 Dataflow programming With a dataflow model, nodes on a block diagram are connected

More information

Title: High-Volume Automated Production Test with NI CompactRIO. Author: Robert Hoffman Signal.X Technologies, LLC

Title: High-Volume Automated Production Test with NI CompactRIO. Author: Robert Hoffman Signal.X Technologies, LLC Title: High-Volume Automated Production Test with NI CompactRIO Author: Robert Hoffman Signal.X Technologies, LLC Industry: Automotive, Automated Test Products: National Instruments LabVIEW, CompactRIO

More information

Tolerating Malicious Drivers in Linux. Silas Boyd-Wickizer and Nickolai Zeldovich

Tolerating Malicious Drivers in Linux. Silas Boyd-Wickizer and Nickolai Zeldovich XXX Tolerating Malicious Drivers in Linux Silas Boyd-Wickizer and Nickolai Zeldovich How could a device driver be malicious? Today's device drivers are highly privileged Write kernel memory, allocate memory,...

More information

D Demonstration of disturbance recording functions for PQ monitoring

D Demonstration of disturbance recording functions for PQ monitoring D6.3.7. Demonstration of disturbance recording functions for PQ monitoring Final Report March, 2013 M.Sc. Bashir Ahmed Siddiqui Dr. Pertti Pakonen 1. Introduction The OMAP-L138 C6-Integra DSP+ARM processor

More information

I/O Systems. 04/16/2007 CSCI 315 Operating Systems Design 1

I/O Systems. 04/16/2007 CSCI 315 Operating Systems Design 1 I/O Systems Notice: The slides for this lecture have been largely based on those accompanying the textbook Operating Systems Concepts with Java, by Silberschatz, Galvin, and Gagne (2007). Many, if not

More information

ITER Fast Plant System Controller Prototype Based on PXIe Platform

ITER Fast Plant System Controller Prototype Based on PXIe Platform ITER Fast Plant System Controller Prototype Based on PXIe Platform M. Ruiz, J. Vega, R. Castro, J.M. López, E. Barrera, G. Arcas, D. Sanz, J. Nieto, B.Gonçalves, J. Sousa, B. Carvalho, N. Utzel, P. Makijarvi

More information

LabVIEW Graphical Programming

LabVIEW Graphical Programming LabVIEW Graphical Programming Fourth Edition Gary W. Johnson Richard Jennings McGraw-Hill New York Chicago San Francisco Lisbon London Madrid Mexico City Milan New Delhi San Juan Seoul Singapore Sydney

More information

ni.com/training Quizzes LabVIEW Core 1 ni.com/training Courses Skills learned: LabVIEW environment Certifications Skills tested: LabVIEW environment

ni.com/training Quizzes LabVIEW Core 1 ni.com/training Courses Skills learned: LabVIEW environment Certifications Skills tested: LabVIEW environment LabVIEW Core 1 What You Need To Get Started LabVIEW Core 1 Course Manual LabVIEW Core 1 Exercise Manual LabVIEW Core 1 Course CD Multifunction DAQ device GPIB interface DAQ Signal Accessory, wires, and

More information

Agenda. Threads. Single and Multi-threaded Processes. What is Thread. CSCI 444/544 Operating Systems Fall 2008

Agenda. Threads. Single and Multi-threaded Processes. What is Thread. CSCI 444/544 Operating Systems Fall 2008 Agenda Threads CSCI 444/544 Operating Systems Fall 2008 Thread concept Thread vs process Thread implementation - user-level - kernel-level - hybrid Inter-process (inter-thread) communication What is Thread

More information

The Kernel Abstraction

The Kernel Abstraction The Kernel Abstraction Debugging as Engineering Much of your time in this course will be spent debugging In industry, 50% of software dev is debugging Even more for kernel development How do you reduce

More information

CS450/550 Operating Systems

CS450/550 Operating Systems CS450/550 Operating Systems Lecture 1 Introductions to OS and Unix Palden Lama Department of Computer Science CS450/550 P&T.1 Chapter 1: Introduction 1.1 What is an operating system 1.2 History of operating

More information

Transport Layer. <protocol, local-addr,local-port,foreign-addr,foreign-port> ϒ Client uses ephemeral ports /10 Joseph Cordina 2005

Transport Layer. <protocol, local-addr,local-port,foreign-addr,foreign-port> ϒ Client uses ephemeral ports /10 Joseph Cordina 2005 Transport Layer For a connection on a host (single IP address), there exist many entry points through which there may be many-to-many connections. These are called ports. A port is a 16-bit number used

More information

Welcome to this presentation of the STM32 direct memory access controller (DMA). It covers the main features of this module, which is widely used to

Welcome to this presentation of the STM32 direct memory access controller (DMA). It covers the main features of this module, which is widely used to Welcome to this presentation of the STM32 direct memory access controller (DMA). It covers the main features of this module, which is widely used to handle the STM32 peripheral data transfers. 1 The Direct

More information