HL CE M, lehmann usb_tele ESC spring.ppt 1 - 4/17/2015, 10:34 START first foil.

Slides:



Advertisements
Similar presentations
I/O Management and Disk Scheduling
Advertisements

Computer Buses Ref: Burd, Chp – 220 Englander, Chp 7 p
HARDWARE Rashedul Hasan..
I/O Management and Disk Scheduling
INPUT-OUTPUT ORGANIZATION
Chapter 10 Input/Output Organization. Connections between a CPU and an I/O device Types of bus (Figure 10.1) –Address bus –Data bus –Control bus.
Universal Serial Bus Grant Heileman. The History of USB In 1994 a collaborative effort to design a standard for peripheral devices was made between Compaq,
CS-334: Computer Architecture
University College Cork IRELAND Hardware Concepts An understanding of computer hardware is a vital prerequisite for the study of operating systems.
USB – An Overview Group 3 Kaushik Nandha Bikram What is the Universal Serial bus (USB)? Is a cable bus that supports data exchange between a host computer.
Anush Rengarajan Feng Zheng Thomas Madaelil
Unit-5 CO-MPI autonomous
2. Methods for I/O Operations
INPUT-OUTPUT ORGANIZATION
CS-334: Computer Architecture
May 8, The EASY Way to Create I/O Devices John Hyde Intel Corporation intel.com.
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.
Introduction to USB © 2010 Renesas Electronics America Inc. All rights reserved.
HL CE M, lehmann usb_tele ESC spring.ppt 1 - 9/8/2015, 10:22 START first foil.
ECE 371 – UNIT 20 Universal Serial Bus (USB). References 1. Universal Serial Bus Specification, Revision 2.0. This specification is available on the World.
Chapter 10: Input / Output Devices Dr Mohamed Menacer Taibah University
MICE III 68000/20/30 MICETEK International Inc. CPU MICEIII MICEView Examples Contents Part 1: An introduction to the MC68000,MC68020 and Part.
created by :Gaurav Shrivastava
Input/OUTPUT [I/O Module structure].
Microprocessor-based Systems
MICROPROCESSOR INPUT/OUTPUT
CHAPTER 3 TOP LEVEL VIEW OF COMPUTER FUNCTION AND INTERCONNECTION
2007 Oct 18SYSC2001* - Dept. Systems and Computer Engineering, Carleton University Fall SYSC2001-Ch7.ppt 1 Chapter 7 Input/Output 7.1 External Devices.
Top Level View of Computer Function and Interconnection.
Computer Architecture Lecture10: Input/output devices Piotr Bilski.
(More) Interfacing concepts. Introduction Overview of I/O operations Programmed I/O – Standard I/O – Memory Mapped I/O Device synchronization Readings:
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.
 8251A is a USART (Universal Synchronous Asynchronous Receiver Transmitter) for serial data communication.  Programmable peripheral designed for synchronous.
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.
EEE440 Computer Architecture
Chapter 2 Introducing the PIC Mid-Range Family and the 16F84A The aims of this chapter are to introduce: The PIC mid-range family, in overview The overall.
1 Presented By: Eyal Enav and Tal Rath Eyal Enav and Tal Rath Supervisor: Mike Sumszyk Mike Sumszyk.
Organisasi Sistem Komputer Materi VIII (Input Output)
Different Microprocessors Tamanna Haque Nipa Lecturer Dept. of Computer Science Stamford University Bangladesh.
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.
PART 7 CPU Externals CHAPTER 7: INPUT/OUTPUT 1. Input/Output Problems Wide variety of peripherals – Delivering different amounts of data – At different.
Input/Output Problems Wide variety of peripherals —Delivering different amounts of data —At different speeds —In different formats All slower than CPU.
IT3002 Computer Architecture
بسم الله الرحمن الرحيم MEMORY AND I/O.
Chapter 3 System Buses.  Hardwired systems are inflexible  General purpose hardware can do different tasks, given correct control signals  Instead.
Networked Embedded Systems Pengyu Zhang & Sachin Katti EE107 Spring 2016 Lecture 4 Timers and Interrupts.
USING TV REMOTE AS A CORDLESS MOUSE FOR THE COMPUTER
CORDLESS MOUSE FEATURES BY TV REMOTE USING PIC MICROCONTROLLER
COURSE OUTCOMES OF Microprocessor and programming
1 Input-Output Organization Computer Organization Computer Architectures Lab Peripheral Devices Input-Output Interface Asynchronous Data Transfer Modes.
USB- Universal Serial Bus
Introduction to Microprocessors and Microcontrollers
USB-Microcontroller C540U Family
AT91RM9200 Boot strategies This training module describes the boot strategies on the AT91RM9200 including the internal Boot ROM and the U-Boot program.
Created by Vivi Sahfitri
ADSP 21065L.
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:

HL CE M, lehmann usb_tele ESC spring.ppt 1 - 4/17/2015, 10:34 START first foil

HL CE M, lehmann usb_tele ESC spring.ppt 2 - 4/17/2015, 10:34 Agenda   USB basics - - Why USB - - Bus structure - - Enumeration, speed - - Layer model - - Physical interface - - Transfer, transaction, packet  USB - ISDN Terminal Adapter (TA) - Standard TA (PC ISDN card) - USB TA - Endpoints usage, ISDN data format - Hardware implementation, Buffering - B-channel performance - Layer model USB TA  PC ISDN card - D-channel signalization through USB - D-channel performance - Hardware platform, tools - SAB-C541U

HL CE M, lehmann usb_tele ESC spring.ppt 3 - 4/17/2015, 10:34 USB based Microcontroller in Telekom Peripherals for PC's...the interfacing solution

HL CE M, lehmann usb_tele ESC spring.ppt 4 - 4/17/2015, 10:34 ISDN Terminal Adapter (TA) Digital Communication Modem Analog line Fax Analog line ISDN line ISDN Line Standard ISDN PC Card (TA) 64Kbit/s Standard ISDN PC Card Internet Service provider has to offer an ISDN connection...connect to ISDN

HL CE M, lehmann usb_tele ESC spring.ppt 5 - 4/17/2015, 10:34 Standard ISDN PC Card Enhanced SW on PC same ISDN PC Card ISDN Line ISDN line Analog line ISDN Line Standard ISDN PC Card Modem ISDN TA "Modem" "Connecting the Digital to the Analog World"...connect to ISDN Fax

HL CE M, lehmann usb_tele ESC spring.ppt 6 - 4/17/2015, 10:34 IPAC(PSB2115) PCI Bus Example for a Passive low-cost ISDN PC-Card (TA)...connect to ISDN

HL CE M, lehmann usb_tele ESC spring.ppt 7 - 4/17/2015, 10:34 "Passive" USB low-cost ISDN TA IPAC(PSB2115) SAB-C541 IOM-2...connect to ISDN

HL CE M, lehmann usb_tele ESC spring.ppt 8 - 4/17/2015, 10:34 USB Transfer types...basics  Control (e.g.: configuration, messages) - bursty, host initiated (bus management, configuration) - guaranteed bandwith of max. 10% - error-free data delivery guaranteed  Interrupt (e.g.: mouse, joystick....) - small bursty, low bandwidth required - error-free data delivery guaranteed - polling is used (by host) to check for "interrupt events” - polling intervall programmable. From1msto 255ms (FS) 10msto 255ms (LS)  Isochronous (e.g.: audio, telephony.....) - for data which need to be periodically sent - predictable latency on data delivery. - no error check, error-free data delivery is not guaranteed  Bulk (e.g.: printer, scanner, still camera.....) - non periodic, bursty, ideal for large amounts of data - error-free data delivery guaranteed

HL CE M, lehmann usb_tele ESC spring.ppt 9 - 4/17/2015, 10:34 Frame = 1msprinter Contro l USB Frame Model example Stereo Audio Telephony SOF low-speed Isochronou s Bul k Interrup t...basics printer any lowspeed device like keyboard, mouse, etc. Bul k

HL CE M, lehmann usb_tele ESC spring.ppt /17/2015, 10:34 Implementation With a Single USB Interface, Endpoint Assignment...connect to ISDN DirectionNumberFunctionEndpointtype InputOutput0 device configuration (IN / OUT), device control Control Output2 B1 and B2 chan. data transmission Isochronous Output4 D-channel control and D-channel data reception Isochronous Input1 B1 and B2 channel data reception Isochronous IsochronousInput3 D-channel control and D-channel data transmission Sync feedback information for EP2

HL CE M, lehmann usb_tele ESC spring.ppt /17/2015, 10:34 Which data has to be transferred? D - channel B1 - channel B2 - channel Data / Address bus IPAC SAB-C541U D - OUT pipe (isochronous) B1 / B2 - IN pipe (isochronous) B1 / B2 - OUT pipe (isochronous) D - IN pipe (isochronous) interrupt...connect to ISDN

HL CE M, lehmann usb_tele ESC spring.ppt /17/2015, 10:34 USB Timing is Asynchronous to the ISDN Timing - every 125µs is an IOM  -2 frame interrupt generated - external interrupt 1 is used to keep track of the IOM  -2 data frame timing - each USB frame may contain 7, 8 or 9 IOM  -2 frames - complex circular buffers are needed...connect to ISDN

HL CE M, lehmann usb_tele ESC spring.ppt /17/2015, 10:34 IPAC (PSB 2115) Control Register D-channel transmission B1 channel B2 channel B1 channel B2 channel D-channel reception InternalRegister USB Timing Asynchronous to ISDN Timing Overview, logical connection SAB-C541U USB Buffer (265 Bytes) EP1 IN - ISO (18 byte) 1. B1, B2 in max. 9. B1, B2 in (2 Byte every 125µs) transfer controlled by C'51 µC code EP0 Control EP4 IN - ISO EP3 OUT - ISO EP2 OUT - ISO (18 byte) max. 9. B1, B2 out 1. B1, B2 out (2 Byte every 125µs) Interrupt controlled every 125µs

HL CE M, lehmann usb_tele ESC spring.ppt /17/2015, 10:34 - Depending on the ISDN input - two Bytes will be added or subtracted by the HOST (PC) - ISDN will feed-in 14,16 or 18 Bytes per USB frame (1ms) 32 Bytes This is supported within the On-chip USB buffer (256Bytes) B1B2 B1B2-2 B1B2B1B2B1B2B1B2B1B2B1B2B1B2 - The standard transmitted length is 16 Bytes - B1 and B2 are placed multiplexed into the pipe  Every B-channel ISO-pipe is defined with the length 32 Bytes Isochronous Pipes Supporting B-Channel Data transfer (EP1 + EP2)...B-channel pipes Bytes (default) B1B Bytes (overflow) B1B Bytes (underflow)

HL CE M, lehmann usb_tele ESC spring.ppt /17/2015, 10:34 USB Dual Buffers Support for Isochronous Pipes e.g. USB read access 1) USB buffer is empty and CPU buffer is filled. 2) CPU buffer is full and swapped to USB side. USB read action enabled. 3) USB buffer is read out while CPU writes to its own page. 4) USB buffer is empty, CPU buffer is not yet full. 5) CPU Buffer is full and swapped to USB side. USB read action enabled. 6) USB buffer is read out while CPU writes to its own page.

HL CE M, lehmann usb_tele ESC spring.ppt /17/2015, 10:34...SW solution void my_func (void) interrupt 9 {EPSEL = IN_CHANNEL_NR; /* select EP number */ B1_IN = USBVAL; /* USBVAL = SFR which passes data to the */ B1_IN = USBVAL; /* USBVAL = SFR which passes data to the */ B2_IN = USBVAL; /* Internal USB module, */ B2_IN = USBVAL; /* Internal USB module, */ D_CI_IN = USBVAL; /* this easy and fast data access */ D_CI_IN = USBVAL; /* this allows easy and fast data access */ MON_IN = USBVAL; MON_IN = USBVAL; SW Example to access the USB buffers included in the SAB-C541U EPSEL = OUT_CHANNEL_NR; EPSEL = OUT_CHANNEL_NR; USBVAL = B1_OUT; /* in both directions! */ USBVAL = B1_OUT; /* in both directions! */ USBVAL = B2_OUT; USBVAL = B2_OUT; USBVAL = D_CI_OUT; USBVAL = D_CI_OUT; USBVAL = MON_OUT; USBVAL = MON_OUT; if(++int_cnt==8){ /* e.g. packet size 8 bytes */ EPBSn = EPBSn | DONE_;/* set USB buffer FULL for OUT CHANNEL */ EPBSn = EPBSn | DONE_;/* set USB buffer FULL for OUT CHANNEL */ EPSEL = IN_CHANNEL_NR; /* select endpoint for IN CHANNEL */ EPSEL = IN_CHANNEL_NR; /* select endpoint for IN CHANNEL */ EPBSn = EPBSn | DONE_;/* set USB buffer FULL for CHANNEL */ EPBSn = EPBSn | DONE_;/* set USB buffer FULL for CHANNEL */ int_cnt = 0; }} int_cnt = 0; }}

HL CE M, lehmann usb_tele ESC spring.ppt /17/2015, 10:34 B1, B2...SW solution IN_read_ptr ISAC-S ISAC-S IN_read_ptr ISAC-S IN_read_ptr ISAC-S IN_read_ptr ISAC-S IN_read_ptr ISAC-S IN_read_ptr ISAC-S ISAC-S IN Queue OUT Queue IOM-2 Int.ISAC-S OUT_write_ptr ISAC-S OUT_write_ptr ISAC-S OUT_write_ptr ISAC-S OUT_write_ptr OUT_write_ptr ISAC-S IN_read_ptr SOF Int. OUT_write_ptr IN_write_ptr OUT_read_ptr OUT_write_ptr ISAC-S 14, 16 or 18 Bytes from B1, B2 B-channel, Circular Buffers SW Implementation IN_write_ptr OUT_read_ptr ISAC-S B1, B2

HL CE M, lehmann usb_tele ESC spring.ppt /17/2015, 10:34...SW solution SW Implementation; Both B-channel Directions handled parallel OUT_Queue (circular Buffer ) empty ? SOF-Interrupt (1ms) write data to USB memory USB_FIFO = OUT_Queue (B1) USB_FIFO = OUT_Queue (B2) Return from Interrupt YES NO USB memory empty ? read data from USB memory IN_Queue (B1) = USB_FIFO IN_Queue (B2) = USB_FIFO YES NO IOM-2 Interrupt read from circular Buffer (internal RAM of C54x) B1_IOM (DU) = IN_Queue B2_IOM (DU) = IN_Queue write to circular Buffer (internal RAM of C54x ) OUT_Queue = B1_IOM (DD) OUT_Queue = B2_IOM (DD) Return from Interrupt (125µs)

HL CE M, lehmann usb_tele ESC spring.ppt /17/2015, 10:34 Results, Performance Requirements ISDN B channel data transfer...connect to ISDN  Both interrupt service routines carry out two B-channels (in both directions) simultaneously  The IOM interrupt service routine is called every 125µs and has the highest priority - the maximum runtime of the IOM interrupt service routine is 64 cycles (32µs) - ~25% of the C541U computing performance is required.  The USB interrupt service routine is called every 1000µs - the maximum runtime of the USB interrupt service is ~460 cycles (230µs) - the USB interrupt service routine will be interrupted (max. twice) by the IOM interrupt service routine - 23% of the C541U computing performance is required.  As a result, the C541U will spend 49% of its computing performance on maintaining the two B-channels through the isochronous pipes.

HL CE M, lehmann usb_tele ESC spring.ppt /17/2015, 10:34 CAPI CAPI Common ISDN Application Interface Layer Models: ISDN PC Card vs. USB ISDN TA HW-Interface ISA/PCI Bus Register I/O Virtual HW (ISDN controller) USB  ISDN USB-standard OS-driver Applications IPAC(PSB2115) IPAC(PSB2115) Firmware on SAB-C541U Register I/O USB pipes physicalconnectionHOSTDevice Unpredictable Delays! Unpredictable Delays!...connect to ISDN

HL CE M, lehmann usb_tele ESC spring.ppt /17/2015, 10:34 SAB-C541U IPAC...connect to ISDN D-channel Control and Frame Transfer  The firmware supports the following D-channel related functions via specific isochronous commands: - D-channel controller and S-transceiver initialization - D-channel frame transmission - layer-1 status control - HDLC controller reset  The USB ISDN TA firmware reports the following D-channel related information via the isochronous pipe to the host - received D-channel frames - layer-1 status information - HDLC controller status information, e.g. the completion of a D-channel frame transmission

HL CE M, lehmann usb_tele ESC spring.ppt /17/2015, 10:34  The 8 Bytes are filled with commands from the PC to the IPAC (via the microcontroller):...D-channel pipes D-Channel Pipes Isochronous OUT (EP4) D1D2D3D4D5D6D7D0 8 Bytes - D-channel controller and S-transceiver initialization - D-channel frame transmission - layer-1 status control - HDLC controller reset

HL CE M, lehmann usb_tele ESC spring.ppt /17/2015, 10:34 D1D2D3D4D5D6D7 D0 8 Bytes...D-channel pipes D-Channel Pipes Isochronous OUT (EP4), details [ o p t i o n a l p a r a m e t e r s ] CMD ID  CMD ID = command identification  Opt. parameters - data referring to command ID

HL CE M, lehmann usb_tele ESC spring.ppt /17/2015, 10:34 (01) ext. RAM frag. counter stack (PC)...D-channel pipes D-Channel Pipes Isochronous OUT (EP4), example D1D2D3D4D5D6D7 D0 [ o p t i o n a l p a r a m e t e r s ] CMD ID  CMD ID  e.g.send data - data will be split in fragments (opt. parameters) - fragments will be buffered in device D1 D2 D3 D4 D5 D6 D7 ID t ms (02) (49) (02) (49) (01) D1 D2 D3 D4 D5 D6 D7 t 0 +1ms ID D1 D2 D3 D4 D5 D6 D7 t0t0 ID controlled by µC length (e.g. 49)

HL CE M, lehmann usb_tele ESC spring.ppt /17/2015, 10:34 B1B2B1B2B1B2B1B2B1B2B1B2B1B2B1B Bytes (default)...D-channel pipes D-Channel Pipes Isochronous IN (EP3), SYNC  SYNC = synchronizing feedback for B-channel OUT 14 B1B B1B , 16 or 18 B-channel frames feedback D2D3D4D5D6D7 D0 8 Bytes [ i n d i c a t i o n ] SYNC D1 CMD ID

HL CE M, lehmann usb_tele ESC spring.ppt /17/2015, 10:34...D-channel pipes D-Channel Pipes Isochronous IN (EP3), CMD ID  indication = acknowledge to ISDN commands - received D-channel frames - layer-1 status information - HDLC controller status information - e.g. the completion of a D-channel frame transmission D2D3D4D5D6D7 D0 8 Bytes SYNC D1  CMD ID = command identification [ i n d i c a t i o n ] CMD ID

HL CE M, lehmann usb_tele ESC spring.ppt /17/2015, 10:34 Pool of memory blocks blocks poolofmemoryblocks...D-channel pipes D-Channel IN-Pipes, details CMD ID, e.g. layer-1 status information D2D3D4D5D6D7 D0 [ i n d i c a t i o n ] SYNC D1 CMD ID D0 SYC D1 Layer-1 status D3D4D5D6D7 Queue element including data D2 [ d a t a ] or D0 SYNC D1 pointer D3D4D5D6D7D2 Queue element including pointer [ p o i n t e r ]

HL CE M, lehmann usb_tele ESC spring.ppt /17/2015, 10:34 Queue for messages from device to USB Pool of memory blocks for temp. Storage of R-FIFO data bytes Pool of memory blocks for temp. Storage of R-FIFO data bytes Frame Transmission / Reception IPAC Memory block for temp. Storage of D-channel frame to be transmitted D-channel transmit data Transmit FIFO data additionalmessagesparameters Receive Data flow for the D-channel pipes Isochronous pipe messages Stausmessages Control Pipe Control pipe commands SAB-C541U Isochronous Pipe Pool of memory blocks for temp. Storage of R-FIFO data bytes

HL CE M, lehmann usb_tele ESC spring.ppt /17/2015, 10:34 Results, D-channel handling Performance Requirements  The 16 kbit/sec data rate requires packets of 32 bytes - 32 bytes = size of the D-channel transmit and receive FIFOs - transferred from USB to the ISAC-S and vice versa in 16ms periods - In addition, the CPU-load for temporary storage of a D-channel frame has to be considered  One additional notification from the USB ISDN TA to the host shall be generated in each 16ms period, too  Instruction cycle is 500ns 12MHz external) - max cycles are needed to execute the sample routines.  As a result, the C541U spends only ~20% of its computing performance on maintaining the D-channel....connect to ISDN

HL CE M, lehmann usb_tele ESC spring.ppt /17/2015, 10:34...connect to ISDN C541U CPU performance for handling an USB ISDN Terminal Adapter ProcedureSAB-C541UCPU-Load D-channel handling, transfer of D-channel messages from USB to IPAC and vice versa ~20% B-channel data transfer from USB to IPAC and vice versa ~50% ~70%

HL CE M, lehmann usb_tele ESC spring.ppt /17/2015, 10:34 Reference Design: USB ISDN Terminal Adapter...HW solution connects to ISDN

HL CE M, lehmann usb_tele ESC spring.ppt /17/2015, 10:34 USB-Microcontroller C540U Family...the interfacing solution

HL CE M, lehmann usb_tele ESC spring.ppt /17/2015, 10:34 C540U / C541U Block Diagram...the interfacing solution Oscillator Watchdog SSC (SPI) Interface (C541U only) Timer 0 Timer 1 Interrupt Unit Transceiver USBPLL Module OSC & Timing C500 Prog. Watchdog Timer (C541U only) RAM 256 x 8 OTP 4K x 8 (C540U) 8K x 8 (C541U) Emulation Support logic (E-Hooks) Port 0 Port 1 Port 2 Port 3 8 lines 6 / 8 lines 6 / 8 lines 1) 8 lines 1) P-LCC-44: 6lines; S-DIP-52: 8lines

HL CE M, lehmann usb_tele ESC spring.ppt /17/2015, 10:34 C540U Family List of Features - Enhanced 8-Bit C500-CPU ns Instruction Cycle 12 MHz CPU Clock - Two 16-bit Timer/Counters (C501 compatible T0/1) - [4kbytes in the C540U] 8 Kbytes OTP / 256 bytes RAM - USB Device Core (FS/LS speed) - Synchronous Serial Channel, Watchdog Timer [C541U only] - 30 digit. I/O Ports, 32 in SDIP52 - LED Driver capability on 3 dedicated pins, 10 mA / 4,5 to 5,5 V - Power supply voltage range: according to USB spec - Enhanced HooksTechnology - 48 MHz PLL on-chip for FS - Transceiver, D+ D-, on-chip...the interfacing solution 4kbytes in the C540U C541U only

HL CE M, lehmann usb_tele ESC spring.ppt /17/2015, 10:34 Infos on INTERNET...the interfacing solution Microcontrollers general: infos on our USB parts

HL CE M, lehmann usb_tele ESC spring.ppt /17/2015, 10:34 END last foil