Babak Kalantari, EPICS Meeting, 11.10.2009, Kobe A vxWorks driver for DMA on VMEbus Babak Kalantari Paul Scherrer Institute Switzerland.

Slides:



Advertisements
Similar presentations
Processes and Threads Chapter 3 and 4 Operating Systems: Internals and Design Principles, 6/E William Stallings Patricia Roy Manatee Community College,
Advertisements

Principles of I/O Hardware I/O Devices Block devices, Character devices, Others Speed Device Controllers Separation of electronic from mechanical components.
Categories of I/O Devices
purpose Search : automation methods for device driver development in IP-based embedded systems in order to achieve high reliability, productivity, reusability.
Middleware Support for RDMA-based Data Transfer in Cloud Computing Yufei Ren, Tan Li, Dantong Yu, Shudong Jin, Thomas Robertazzi Department of Electrical.
I/O Unit.
Lecture Objectives: 1)Explain the limitations of flash memory. 2)Define wear leveling. 3)Define the term IO Transaction 4)Define the terms synchronous.
Chapter 13: I/O Systems Silberschatz, Galvin and Gagne ©2005 Operating System Concepts Chapter 13: I/O Systems I/O Hardware Application I/O Interface.
Threads Irfan Khan Myo Thein What Are Threads ? a light, fine, string like length of material made up of two or more fibers or strands of spun cotton,
Chapter 7 Protocol Software On A Conventional Processor.
ECE 526 – Network Processing Systems Design Software-based Protocol Processing Chapter 7: D. E. Comer.
04/14/2008CSCI 315 Operating Systems Design1 I/O Systems Notice: The slides for this lecture have been largely based on those accompanying the textbook.
Operating Systems Input/Output Devices (Ch , 12.7; , 13.7)
Architectural Support for Operating Systems. Announcements Most office hours are finalized Assignments up every Wednesday, due next week CS 415 section.
04/16/2010CSCI 315 Operating Systems Design1 I/O Systems Notice: The slides for this lecture have been largely based on those accompanying an earlier edition.
Computer System Organization S H Srinivasan
Chapter 13: I/O Systems I/O Hardware Application I/O Interface
1 Input/Output Chapter 3 TOPICS Principles of I/O hardware Principles of I/O software I/O software layers Disks Clocks Reference: Operating Systems Design.
1 I/O Management in Representative Operating Systems.
I/O Systems CSCI 444/544 Operating Systems Fall 2008.
OSI and Architecture Independent Device Driver Jim Chen HYTEC ELECTRONICS LIMITED Spring 2013 – Diamond Light Source.
Chapter 13: I/O Systems I/O Hardware Application I/O Interface
RTOS Design & Implementation Swetanka Kumar Mishra & Kirti Chawla.
1 CSC 2405: Computer Systems II Spring 2012 Dr. Tom Way.
Wir schaffen Wissen – heute für morgen 24. August 2015PSI,24. August 2015PSI, Paul Scherrer Institut Embedded PREEMPT_RT Linux for IOxOS VME IOC Damir.
Eric Björklund (LA-UR )
NETW 3005 I/O Systems. Reading For this lecture, you should have read Chapter 13 (Sections 1-4, 7). NETW3005 (Operating Systems) Lecture 10 - I/O Systems2.
Hardware Definitions –Port: Point of connection –Bus: Interface Daisy Chain (A=>B=>…=>X) Shared Direct Device Access –Controller: Device Electronics –Registers:
Interrupts and DMA CSCI The Role of the Operating System in Performing I/O Two main jobs of a computer are: –Processing –Performing I/O manage and.
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.
Windows Operating System Internals - by David A. Solomon and Mark E. Russinovich with Andreas Polze Unit OS6: Device Management 6.1. Principles of I/O.
Contact Information Office: 225 Neville Hall Office Hours: Monday and Wednesday 12:00-1:00 and by appointment.
© Janice Regan, CMPT 300, May CMPT 300 Introduction to Operating Systems Principles of I/0 hardware.
1-1 Embedded Network Interface (ENI) API Concepts Shared RAM vs. FIFO modes ENI API’s.
Redundancy. 2. Redundancy 2 the need for redundancy EPICS is a great software, but lacks redundancy support which is essential for some highly critical.
ICS – Software Engineering Group 1 The PCI Record EPICS Collaboration Meeting l May 2002 at BESSY, Germany May 2002 at BESSY, Germany David.
Chapter 1: Introduction. 1.2 Silberschatz, Galvin and Gagne ©2005 Operating System Concepts Chapter 1: Introduction What Operating Systems Do Computer-System.
ATCA based LLRF system design review DESY Control servers for ATCA based LLRF system Piotr Pucyk - DESY, Warsaw University of Technology Jaroslaw.
I/O management is a major component of operating system design and operation Important aspect of computer operation I/O devices vary greatly Various methods.
David Abbott - JLAB DAQ group Embedded-Linux Readout Controllers (Hardware Evaluation)
Chapter 13: I/O Systems. 13.2/34 Chapter 13: I/O Systems I/O Hardware Application I/O Interface Kernel I/O Subsystem Transforming I/O Requests to Hardware.
I/O Computer Organization II 1 Interconnecting Components Need interconnections between – CPU, memory, I/O controllers Bus: shared communication channel.
 Wind River Systems, Inc Appendix - E Shared Memory Network.
LECC 2005, Heidelberg Markus Joos, CERN-PH/ESS 1 The VMEbus processor hardware and software infrastructure in ATLAS Markus Joos, CERN-PH/ESS 11th Workshop.
Chapter 13: I/O Systems Silberschatz, Galvin and Gagne ©2005 Operating System Principles Chapter 13: I/O Systems I/O Hardware Application I/O Interface.
Status of the STT Motherboard Testing Evgeny Popkov Boston University 5 Jan
Sep. 17, 2002BESIII Review Meeting BESIII DAQ System BESIII Review Meeting IHEP · Beijing · China Sep , 2002.
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.
CS 342 – Operating Systems Spring 2003 © Ibrahim Korpeoglu Bilkent University1 Input/Output – 2 I/O Software CS 342 – Operating Systems Ibrahim Korpeoglu.
Migration to PPC at JLab Richard Dickson. VME data interface differences: CPU VMEchip2 VME mvme177 System Local Bus PPC 750 CPU Raven VME mvme2700.
Chapter 13: I/O Systems Silberschatz, Galvin and Gagne ©2005 Operating System Concepts Chapter 13: I/O Systems Overview I/O Hardware Application.
Interrupt driven I/O Computer Organization and Assembly Language: Module 12.
Processor Memory Processor-memory bus I/O Device Bus Adapter I/O Device I/O Device Bus Adapter I/O Device I/O Device Expansion bus I/O Bus.
Controls Zheqiao Geng Oct. 12, Autosave Additions/Upgrades and Experiences at SLAC Zheqiao Geng Controls Department SLAC National Accelerator Laboratory.
Input Output Techniques Programmed Interrupt driven Direct Memory Access (DMA)
1 Channel Access Concepts – IHEP EPICS Training – K.F – Aug EPICS Channel Access Concepts Kazuro Furukawa, KEK (Bob Dalesio, LANL)
Wir schaffen Wissen – heute für morgen Babak Kalantari, PSI MRF workshop, Prague, Eli Beamlines Paul Scherrer Institut Synchronous DAQ using.
I/O Software CS 537 – Introduction to Operating Systems.
Direct Memory Access (DMA) Department of Computer Engineering, M.S.P.V.L. Polytechnic College, Pavoorchatram. A Presentation On.
Part IVI/O Systems Chapter 13: I/O Systems. I/O Hardware a typical PCI bus structure 2.
1 DAQ.IHEP Beijing, CAS.CHINA mail to: The Readout In BESIII DAQ Framework The BESIII DAQ system consists of the readout subsystem, the.
Using Correlated Tracing to Diagnose Query Level Performance What’s slowing down my app? Jerome Halmans Senior Software Development Engineer Microsoft.
Chapter 13: I/O Systems Modified by Dr. Neerja Mhaskar for CS 3SH3.
CSCI 315 Operating Systems Design
I/O Systems I/O Hardware Application I/O Interface
Operating Systems Chapter 5: Input/Output Management
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:

Babak Kalantari, EPICS Meeting, , Kobe A vxWorks driver for DMA on VMEbus Babak Kalantari Paul Scherrer Institute Switzerland

Babak Kalantari, EPICS Meeting, , Kobe Direct Memory Access Processor board Slave board (e.g. ADC) MemoryCPU Memory Transfer using DMATransfer by CPU PCI-VME bridge Memory - Universe II - Tsi148 - etc. VMEbus

Babak Kalantari, EPICS Meeting, , Kobe DMA drivers in out-of-the-box BSP’s : have different API from BSP to BSP depending on PCI-VME bus bridge controller some use polling to check transfer completion (MVME -23xx and -51xx boards have no interrupt handling, callback, …) have single-requester API while a transfer is on execution the next transfer request fails (DMA engine busy) application program has to keep retrying assume a fixed transfer protocol per VME access window DMA: software support

Babak Kalantari, EPICS Meeting, , Kobe We’ve developed a driver that provides: 1)effective use of DMA engine interrupt / Error handling, user callback, DMA engine control/monitor, etc. 2)multi-requester API parallel request handling, reading status, cancelling, or stopping a transfer request 3)unique API throughout several processor boards: (mvme-23xx, mvme-51xx, mvme-6100, mvme-4100, should also work for mvme-3100) DMA: software support

Babak Kalantari, EPICS Meeting, , Kobe DMA: software support API ( dmaLib.h ) mvme23xxmvme51xxmvme61xxmvme41xx implementation ( dmaLib.c ) BSP universe II implementation ( dmaLib.c ) BSP Tsi148 User application (drivers)

Babak Kalantari, EPICS Meeting, , Kobe DMA driver API  dmaReqId = dmaTransferRequest (…)  dmaRequestStatRead (dmaReqId)  dmaRequestCancel (dmaReqId, forcedStop)  dmaStatReport() destination source size addrMode dataWidth direction timeout *cb_routine *cb_param *dmaStat

Babak Kalantari, EPICS Meeting, , Kobe dmaReq_0 dmaReq_1 dmaReq_n msgQueue If queue non-empty then Handle dmaReq_x 1)Check if this request is not cancelled 2)Program DMA engine + initiate transfer 3)Block until completion or error occurrence 4)Call the user callback and pass the status DMA driver operation principle client server

Babak Kalantari, EPICS Meeting, , Kobe Usage: same dmaLib.h in standard vxWorks include path rebuild kernel with the right dmaLib.c added to the BSP – Include the source code in configAll – Make a call to “dmaHandlerInit()” in usrConfig API Documentaion:

Babak Kalantari, EPICS Meeting, , Kobe Thanks!

Babak Kalantari, EPICS Meeting, , Kobe DMA: Processor Boards SBC PCI-to-VME Bus Bridge Transfer protocols Direction of Transfer PSI controls support mvme230xUniverse II SCT, BLT, MBLT V2C, C2Vsupported mvme51xx mvme5500 Universe II SCT, BLT, MBLT V2C, C2Vsupported mvme6100Tsi148 (Tempe) SCT, (M)BLT, 2eVME, 2eSST V2C, C2V, V2V, C2C supported mvme4100Tsi148 (Tempe)SCT, (M)BLT, 2eVME, 2eSST V2C, C2V, V2V, C2C supported