The World Leader in High Performance Signal Processing Solutions Linux Industrial I/O Subsystem Open Platform Solutions Michael Hennerich.

Slides:



Advertisements
Similar presentations
CT213 – Computing system Organization
Advertisements

INPUT-OUTPUT ORGANIZATION
Jordan Barry Victor Brzeski
WHAT IS AN OPERATING SYSTEM? An interface between users and hardware - an environment "architecture ” Allows convenient usage; hides the tedious stuff.
Khaled A. Al-Utaibi  Computers are Every Where  What is Computer Engineering?  Design Levels  Computer Engineering Fields  What.
Avishai Wool lecture Introduction to Systems Programming Lecture 8 Input-Output.
Architectural Support for Operating Systems. Announcements Most office hours are finalized Assignments up every Wednesday, due next week CS 415 section.
I/O Hardware n Incredible variety of I/O devices n Common concepts: – Port – connection point to the computer – Bus (daisy chain or shared direct access)
Informationsteknologi Friday, November 16, 2007Computer Architecture I - Class 121 Today’s class Operating System Machine Level.
Memory Management, File Systems, I/O How Multiprogramming Issues Mesh ECEN 5043 Software Engineering of Multiprogram Systems University of Colorado, Boulder.
Technion – Israel Institute of Technology Department of Electrical Engineering High Speed Digital Systems Lab Project performed by: Naor Huri Idan Shmuel.
Device Management.
Chapter 13: I/O Systems I/O Hardware Application I/O Interface
Microprocessor and Microcontroller Based Systems Instructor: Eng.Moayed N. EL Mobaied The Islamic University of Gaza Faculty of Engineering Electrical.
Copyright ©: Nahrstedt, Angrave, Abdelzaher
I/O Tanenbaum, ch. 5 p. 329 – 427 Silberschatz, ch. 13 p
INPUT-OUTPUT ORGANIZATION
INPUT/OUTPUT ARCHITECTURE By Truc Truong. Input Devices Keyboard Keyboard Mouse Mouse Scanner Scanner CD-Rom CD-Rom Game Controller Game Controller.
Input/Output. Input/Output Problems Wide variety of peripherals —Delivering different amounts of data —At different speeds —In different formats All slower.
Chapter 8 Input/Output. Busses l Group of electrical conductors suitable for carrying computer signals from one location to another l Each conductor in.
Introduction to USB Development. USB Development Introduction Technical Overview USB in Embedded Systems Recent Developments Extensions to USB USB as.
4.0 rtos implementation part II
Segmentation & O/S Input/Output Chapter 4 & 5 Tuesday, April 3, 2007.
Input/ Output By Mohit Sehgal. What is Input/Output of a Computer? Connection with Machine Every machine has I/O (Like a function) In computing, input/output,
I/O Systems I/O Hardware Application I/O Interface
1 Lecture 20: I/O n I/O hardware n I/O structure n communication with controllers n device interrupts n device drivers n streams.
© Janice Regan, CMPT 300, May CMPT 300 Introduction to Operating Systems Principles of I/0 hardware.
Typical Microcontroller Purposes
2007 Oct 18SYSC2001* - Dept. Systems and Computer Engineering, Carleton University Fall SYSC2001-Ch7.ppt 1 Chapter 7 Input/Output 7.1 External Devices.
Operating Systems ECE344 Ashvin Goel ECE University of Toronto OS-Related Hardware.
(More) Interfacing concepts. Introduction Overview of I/O operations Programmed I/O – Standard I/O – Memory Mapped I/O Device synchronization Readings:
Understanding Data Acquisition System for N- XYTER.
IBM OS/2 Warp Mike Storck Matt Kerster Mike Roe Patrick Caldwell.
Autonomous Helicopter James LydenEE 496Harris Okazaki.
2009 Sep 10SYSC Dept. Systems and Computer Engineering, Carleton University F09. SYSC2001-Ch7.ppt 1 Chapter 7 Input/Output 7.1 External Devices 7.2.
Input/Output Computer component : Input/Output I/O Modules External Devices I/O Modules Function and Structure I/O Operation Techniques I/O Channels and.
ATtiny23131 A SEMINAR ON AVR MICROCONTROLLER ATtiny2313.
CH10 Input/Output DDDData Transfer EEEExternal Devices IIII/O Modules PPPProgrammed I/O IIIInterrupt-Driven I/O DDDDirect Memory.
An Introduction to Device Drivers Ted Baker  Andy Wang COP 5641 / CIS 4930.
12/8/20151 Operating Systems Design (CS 423) Elsa L Gunter 2112 SC, UIUC Based on slides by Roy Campbell, Sam King,
Chapter 13 – I/O Systems (Pgs ). Devices  Two conflicting properties A. Growing uniformity in interfaces (both h/w and s/w): e.g., USB, TWAIN.
CSCI1600: Embedded and Real Time Software Lecture 9: Input Output Concepts Steven Reiss, Fall 2015.
By Noordiana Kasim. MODERN I/O DEVICES 1. PRINTER 2. MONITOR 3. KEYBOARD 4. AUDIO SPEAKER 5. DVD DRIVE.
CSCI1600: Embedded and Real Time Software Lecture 16: Advanced Programming with I/O Steven Reiss, Fall 2015.
Chapter 13: I/O Systems Silberschatz, Galvin and Gagne ©2005 Operating System Concepts Chapter 13: I/O Systems Overview I/O Hardware Application.
IT3002 Computer Architecture
Device Driver Concepts Digital UNIX Internals II Device Driver Concepts Chapter 13.
© 2004, D. J. Foreman 1 Device Mgmt. © 2004, D. J. Foreman 2 Device Management Organization  Multiple layers ■ Application ■ Operating System ■ Driver.
Chapter 13: I/O Systems Silberschatz, Galvin and Gagne ©2005 Operating System Concepts – 7 th Edition, Jan 2, 2005 I/O through system calls Protection.
1 Device Controller I/O units typically consist of A mechanical component: the device itself An electronic component: the device controller or adapter.
Major OS Components CS 416: Operating Systems Design, Spring 2001 Department of Computer Science Rutgers University
Operating System Overview
Chapter 13: I/O Systems Modified by Dr. Neerja Mhaskar for CS 3SH3.
Basic Processor Structure/design
Operating Systems (CS 340 D)
Technology Literacy Hardware.
1 Input-Output Organization Computer Organization Computer Architectures Lab Peripheral Devices Input-Output Interface Asynchronous Data Transfer Modes.
CS703 - Advanced Operating Systems
Computer Architecture
BIC 10503: COMPUTER ARCHITECTURE
CSCI 315 Operating Systems Design
Subject Name: Digital Signal Processing Algorithms & Architecture
I/O Systems I/O Hardware Application I/O Interface
CS703 - Advanced Operating Systems
Chapter 13: I/O Systems I/O Hardware Application I/O Interface
Chapter 13: I/O Systems.
Chapter 13: I/O Systems “The two main jobs of a computer are I/O and [CPU] processing. In many cases, the main job is I/O, and the [CPU] processing is.
Presentation transcript:

The World Leader in High Performance Signal Processing Solutions Linux Industrial I/O Subsystem Open Platform Solutions Michael Hennerich

IIO Overview  The Industrial I/O subsystem is intended to provide support for devices that in some sense are analog to digital convertors (ADCs). Devices that fall into this category are:  ADCs  Accelerometers  Gyros  IMUs  Capacitance to Digital Converters (CDCs)  Pressure, Temperature and Light Sensors  So far digital to analog convertors(DACs) are not directly supported but the intention is to add that functionality at a future date (hence the name). 2

IIO Overview (cont.)  The overall aim is to fill the gap between the somewhat similar hwmon and input subsystems. Hwmon is very much directed at low sample rate sensors used in applications such as fan speed control and temperature measurement. Input is, as it's name suggests focused on human interaction input devices.:  Keyboard  Mouse  Touch Screen  Joystick  In some cases there is considerable overlap between these and IIO. 3

IIO Overview (cont.)  A typical device falling into the IIO category would be connected via SPI or I2C.  However typical DMA mastered devices such as ones connected to a high speed synchronous serial (McBSP, SPORT) or high speed synchronous parallel (EPI, PPI) peripherals are also subject to this subsystem. Since latter ones unlike SPI or I2C are not generally abstracted by Linux bus drivers they are subject to processor platform dependent implementations. 4

IIO Subsystem Overview 5 System Call Interface Virtual File System(VFS) Application Character Device Driver Character Device Driver Hardware Kernel Area Application Area Hardware sysfs Device Driver iio_ring iio_core iio_trigger IIO Subsystem Bus Drivers IIO Device Drivers

Functionality of IIO  Basic device registration and handling This is very simple polled access to device channels via sysfs.  Event chrdevs These are similar to input in that they provide a route to user space for hardware triggered events. Such events include threshold detectors, free-fall detectors and more complex action detection. The events themselves are currently very simple with merely an event code and a timestamp. Any data associated with the event must be accessed via polling.  Note: A given device may have one or more event channel. These events are turned on or off (if possible) via sysfs interfaces. 6

Functionality of IIO  Hardware ring buffer support Some recent sensors have included fifo / ring buffers on the sensor chip. These greatly reduce the load on the host CPU by buffering relatively large numbers of data samples based on an internal sampling clock. Each ring buffer typically has an event chrdev (similar to the more general ones above) to pass on events such as buffer 50% full and an access chrdev via which the raw data it self may be read back. 7

Functionality of IIO  Trigger and software ring buffer support In many data analysis applications it is useful to be able to capture data based on some external signal (trigger). These triggers might be a  data ready signal  gpio line connected to some external system  on processor periodic interrupt. A single trigger many initialize data capture or reading from a number of sensors. These triggers are used in iio to fill software ring buffers acting in a very similar fashion to the hardware buffers described above. Triggers can be completely unrelated to the sensor itself 8

IIO Ring Buffer 9  IIO uses a ring buffer also called circular buffer which is a data structure that uses a single, fixed-size buffer as if it were connected end-to-end.  This structure is well suited for buffering data streams. These buffers are typically used to solve the producer-consumer problem. In some applications it is desired for the producer (e.g., an ADC) to overwrite old data if the consumer (e.g., the User Space Application) is unable to momentarily keep up. But typically the buffer is sized to provide adequate space so that this circumstance should never happen. Ring Buffer Fetch most recent Data Release old Data Add new Data

Pointers  IIO Utils Main Page:  IIO Supported Device List: 10