Download: What is USB Enumeration? What does enumeration look like?

What is USB Enumeration? Enumeration is the process by which a USB device is attached to a system and is assigned a specific numerical address that will be used to access that particular device. It is also the time at which the USB host controller queries the device in order to decide what type of device it is in order to attempt to assign an appropriate driver for it. Some of the basic commands issued by the host to the device are: § Set Address – Instructs the device change it’s current address settings § Get Device Descriptor – Overall information about the device (manufacture, firmware ver...
Author: Zoble1980 Shared: 8/19/19
Downloads: 110 Views: 805

Content

What is USB Enumeration?

Enumeration is the process by which a USB device is attached to a system and is assigned a specific numerical address that will be used to access that particular device. It is also the time at which the USB host controller queries the device in order to decide what type of device it is in order to attempt to assign an appropriate driver for it. Some of the basic commands issued by the host to the device are: § Set Address – Instructs the device change it’s current address settings § Get Device Descriptor – Overall information about the device (manufacture, firmware version …) § Get Configuration Descriptor – How the endpoints will be used § Get Interface Descriptor – Various different interface that the device may use § Get String Descriptor – Unicode strings for Manufacture and Product This process is a fundamental step for every USB device, fore without it, the device would never be able to be used by the OS.

What does enumeration look like?

I believe the easiest way to explain the USB enumeration process is to show it happing. The CamConnect demo firmware, for obvious reasons, contains code that will allow it to enumerate on any USB system. By using traces taken using a CATC USB Analyzer and snippets of code take from the CamConnect firmware source code, you should be able to following and understand the enumeration process. Initially plugging in of the device: All USB devices are plugged into a hub of some sort. When this is done, the hub detects whether the device is a full speed or low speed device. This is signified by the device pulling Host the D+ line to a 3.3v volt supply through a 1.5k pull-up for a full speed Controller device, or the D- line for a low speed device. Root HUB Once the hub has detected the connection of that new device, it will start passing Start Of Frame (SOF) packets produced by the host down to the Device HUB device at 1ms intervals. The host controller will also start issuing setup packets to the device in order to enumerate the new device. Device Device USB Connection Topology When a device is initially plugged in, it always uses the default device address 0 for communication. During the enumeration process, the host controller will assign a new numerical address for that device to use. Communication for the enumeration process always uses endpoint 0 on the device. These are considered to be Control Transfers. All USB Control transfers must use that device’s endpoint 0. After the host receives all the descriptors for the device, the OS will attempt to find an appropriate device driver to be associated with that new device. Start of Frame: The following is an example of a SOF packet sent by the host at 1ms intervals. This SOF packet is sent to every device on the bus so that they may all be synched up. Every USB packet sent over the bus begins with a Sync pattern in order to allow all devices to synchronize their transceivers. A CRC calculation for that packet is also included for most packet types. The M16C USB hardware automatically takes care of these details. CRC5 for token packets, CRC16 for This pattern produced data packets a square wave in Host NRZI encoding End of Packet (Single Ended Zero) 0xA5 signifies that this is a SOF packet SOF counter Figure 1. Start of Frame (SOF) Packet, Initial communication: What first happens on the USB lines can be somewhat confusing to some new to USB. I myself was quite confused at what I was seeing until someone explained it to me. Depending on how the USB host controller was implemented, you might see bus traffic that you would normally assume to be incorrect, but in actuality, it is a standard and necessary process for a USB host controller. So what is this mystery? More or less, the USB Host Controller first ask the device before it does anything else for it’s Device Descriptor. The interesting part is that the device descriptor is 18-byte long, but the host could care less about that and may only want the first 8 bytes of it. After it receives those, it will not even ask for the rest of the data from the device. Further more, the host will issue a reset for that line after which it will then start to send commands for USB enumeration. The reason the Host does this is because the Device Descriptor contains the maximum payload size that is allowed for an endpoint 0 Control Transfer. This value is contained in the 8th byte of the Device Descriptor that we must send back to the Host. So the host first queries the device with a GetDescriptor command in order to just get this one piece of information. Once the host has determined that number, it resets the USB lines and starts the enumeration process. The packet traces below are showing that a setup token was the first thing given to our device on EP0 that instructed to return the Device Descriptor. Device Descriptor designator M30240 Get Descriptor command USB Standard Request type Figure 2. Initial Get Descriptor Request from Host Below you will see that our device returned the first 8 byte of the 18-byte descriptor, but instead of the host issuing us another IN packet so that we could transfer another 8-byte data packet, it issues an OUT packet followed by a NULL data packet. We ACK this transition, then the host controller resets the USB lines. MAX Packet size for EP0 Host First 8 bytes our Device Descriptor Figure 3. Our Device Answering the Initial Get Descriptor Request, Host Host M30240 Figure 4. Host Resetting USB lines to begin enumeration Set Address: For this enumeration process, the first command that was passed to the device was the Set Address command. As mentioned before, a new USB device on the bus temporarily uses a device address of 0 (zero) in order to provide a means of communication with the host. The host will then assign a specific numerical address for that device to use so that it will contain a unique identity on the USB bus. Below you will see that a setup packet is sent to Device 0 , Endpoint 0, followed by 8 bytes of data that will be used to determine what type of setup packet is being sent, and what values need to be assigned. The M16C USB hardware contains a register that maintains the current device address. The register defaults to 0 after RESET, but can be written to at any time to change what address the USB hardware will respond to. The M16C USB hardware automatically sends an ACK back to the host saying that the data was received without error. New Address for Device M30240 Set Address Command Figure 4. A Set Address command is sent to the device Now lets take a look at how this packet is decoded in CamConnect’s firmware. The M16C’s USB hardware will automatically accept and respond to device requests addressed to its current device address. Since the address register is set to 0 at the beginning of enumeration, our device will respond to all packet addressed to device 0. Any time a USB packet is sent to a device address that matches our current device address, the M16C USB hardware will generate an interrupt (USBF– USB Function Interrupt). The interrupt handler can then query the USB registers to find out what caused the interrupt and respond accordingly., Below is the USB Interrupt Service Routine for a USBF Interrupt. void USB_Int_Handler() { /* Save and clear the current EP interrupts */ USB_IntReg1 = usbis1; /* USB Interrupt Status Register 1 */ USB_IntReg2 = usbis2; /* USB Interrupt Status Register 2 */ /* Write this value back in order to clear those interrupts */ usbis1 = USB_IntReg1; usbis2 = USB_IntReg2; /* We will use the mirrored variables for checking endpoint interrupts*/ /* == Check for EP0 Interrupt Status Flag ==*/ if( USB_IntReg1 & 01) { ParseEP0Packet(); /* Service EP0 Request */ USB_IntReg1 &= 0xFE; /* Clear USBINT0 bit in mirror */ } .} As you can see, we first save the Interrupt status registers, and then write the values back in order to clear any bits that were set. We then use this information to decide what endpoint caused the interrupt. Since this is a setup packet, it would be Endpoint 0. We then call the appropriate function to handle this, ParseEP0Packet(), which is shown below. void ParseEP0Packet() { if(ep0csr0 !=1 ) /* Check Out Packet Ready flag for EP0 set */ return; /* Fifo not ready to be read to return */ /* Read the out 8 byte header from EP0 FIFO*/ EP0_Header.bmRequestType = ep0; EP0_Header.bRequest = ep0; EP0_Header.wValueLow = ep0; EP0_Header.wValueHigh = ep0; EP0_Header.wIndexLow = ep0; EP0_Header.wIndexHigh = ep0; EP0_Header.wLengthLow = ep0; EP0_Header.wLengthHigh = ep0; /* Mask out all but request type ( 01100000 ) */ tmp_byte = EP0_Header.bmRequestType; tmp_byte &= 0x60; switch( tmp_byte ) { case 0: ProcessStandardReq(); // USB Chapter 9 stuff break; case 0x20: ProcessClassReq(); // Specific Class stuff break; case 0x40: ProcessVenderReq(); // Custom stuff } } Above you can see that the 8-byte data packet that was sent was read out of endpoint 0 into a variable structure. Note that every setup packet has the same 8-byte format in which data is sent. Once the data is read out, it can be analyzed. You can see that we look at bits 5 and 6 of the first byte, otherwise known as the bmRequestType in USB lingo, in order to determine which type of request is being made. All USB enumeration requests are made via Standard Requests., The function ProcessStandardRequest() that is shown below is then call which will then further decode the packet data. void ProcessStandardReq() { /* Determine what is being requested */ switch( EP0_Header.bRequest ) { case 0: CmdGetStatus(); case 1: CmdClearFeature(); case 3: CmdSetFeature(); case 5: CmdSetAddress(); case 6: CmdGetDescriptor(); case 7: CmdSetDescriptor(); case 8: CmdGetConfiguration(); case 9: CmdSetConfiguration(); case 10: CmdGetInterface(); case 11: CmdSetInterface(); case 12: CmdSynchFrame(); default: ep0csr = 0x44; // Clear out pky ready with send stall ep0csr2 = 1; // Stall all subsequent transactions asm("nop"); asm("nop"); } } By using the second byte in the data packet sent by the USB Host, otherwise known as the bRequest, we can determine what type of setup command is being administered. All the possible USB standard requests as noted in the USB specification are listed above as well. You will notice that from the packet diagram shown earlier, that it is a 5, which correlated to being a Set Address command. We then call the appropriate function to service this request which will be CmdSetAddress() as seen below. void CmdSetAddress() { /* Load our new Device address */ usba = EP0_Header.wValueLow; /* Set DATA_END and OUT_PKT_RDY bit for EP0 */ ep0csr = 0x48; } At this point, we have now determined what type of setup packet request has been administered to us. Seeing that it is a Set Address command, all we need to do is instruct our USB hardware to start accepting data for a new device address and respond back to the host that we understood the request and completed the task. The variable usba is actually a symbolic link to the M16C’s USB device address register. By writing a new value to that register, the USB hardware will automatically start responding only to that new device address. You can see that this value is passed from the host in the lower byte of the wValue word (the 3rd byte in the 8-byte data stream). Cross-referencing that information to the setup packet in Figure 4, we can see that our new device address will be 2., Finally we set the DATA_END and OUT_PKT_RDY bits for endpoint 0 in the M16C’s USB registers which will cause the M16C USB hardware to send back a 0-length data packet (also call a NULL Data Packet) back to the host. This will signify that we have satisfied its Change Address request. This can be seen below. M30240 Null Data Packet Figure 5. Device Acknowledgement of Change Address Request The host sends an IN Packet Request to us (as we are still sitting at address 0) in order to receive conformation. As you can see, we respond correctly with a NULL data packet. The reason for the NULL data packet is that according to the USB spec, a device may NAK an IN token from the host as long as it wants. The host will simply keep sending IN tokens to that device until an answer is received. In this case, the IN token is being used by the host to say, “Are you ready to start accepting data at your new address?” The M16C USB hardware will automatically send NAK packets back for us until our firmware has completed that task and we have set the appropriate USB registers. So, the Null data packet is like saying, “Yes, now I am ready, you may continue.” An ACK is sent back from the host signifying that the response was received correctly. Get Descriptor: The rest of the enumeration process is similar to this. It is like a system of questions and commands from the USB Host Controller for the newly attached device to follow. When the host is satisfied that it has enough information to search for an appropriate driver, it will stop sending setup packets for Standard Requests. At this point, the device is considered enumerated. The GetDescription is another important setup command in the enumeration process. Unlike the first GetDescriptor issued by the host at the very beginning, this time we are expected to pass the entire descriptor back to the host. The setup packets are shown below. Note we are using the Host new address Max bytes of descriptor to send Host Device Descriptor Designator Get Descriptor Command Figure 6. Get Device Descriptor Command from Host, Our firmware would then follow these steps… void USB_Int_Handler() // USB Interrupt Sub Routine void ParseEP0Packet() // EP0 Control packet parsing function void ProcessStandardReq() // USB Standard Request void CmdGetDescriptor() // Service GetDescriptor command In the CmdGetDescriptor() routine, we will then break up our 18-byte descriptor response into 8-byte data packets. Only when the host issues an IN token to us may we then transfer the data back up to the host in our firmware routine. We simply wait for the next IN packet to the host, fill up the endpoint 0 FIFO, then set the IN_PKT_RDY bit for EP0 in one of the M16C’s USB registers, and the hardware then transfer it up to the host. Shown below are the bus traces doing just that. M30240 M30240 Figure 7. The M30240 Device Sending the 18-byte Device Descriptor 8 bytes at a time This same procedure of breaking up the packets into 8-byte or less payloads will be done for various other USB commands such as getting the Configuration Descriptor, String Descriptor, Interface Descriptors and so on. This is because we told the USB Host Controller at the beginning that are MAX Packet size would be 8 bytes.]
15

Similar documents

Draft
CYCLIC REDUNDANCY CHECKS IN USB Introduction The USB specification calls for the use of Cyclic Redundancy Checksums (CRC) to protect all non-PID fields in token and data packets from errors during transmission. This paper describes the mathematical basis behind CRC in an intuitive fashion and then e
File: X:\USERS\IGOR\DOC\WORD\Atmel\USB to RS232 Application Note\Firmware\USBtoRS232_ATmega8\AVR Studio 4 project\USBtoRS232.asm 1.2.2004
1 ;*************************************************************************** 2 ;* USBSTACKFORTHEAVRFAMILY3;* 4 ;* File Name :"USBtoRS232.asm" 5 ;* Title :AVR309:USB to UART protocol converter 6 ;* Date :01.02.2004 7 ;* Version :2.8 8 ;* Target MCU :ATmega8 9 ;* AUTHOR :Ing. Igor Cesko 10 ;* Slovak
File: X:\USERS\IGOR\DOC\WORD\Atmel\USB to RS232 Application Note\Firmware\USBtoRS232_AT90S2313\AVR Studio 4 project\USB90S2313.asm 26.1.2004
1 ;*************************************************************************** 2 ;* USBSTACKFORTHEAVRFAMILY3;* 4 ;* File Name :"USB90S2313.asm" 5 ;* Title :AVR309:USB to UART protocol converter (simple - small FIFO) 6 ;* Date :26.01.2004 7 ;* Version :2.2 8 ;* Target MCU :AT90S2313-10 9 ;* AUTHOR :I
AVR309: Software Universal Serial Bus (USB)
AVR309: Software Universal Serial Bus (USB) Features • USB (Universal Serial Bus) protocol implemented in firmware • Supports Low Speed USB (1.5Mbit/s) in accordance with USB2.0 • Implementation runs on very small AVR devices, from 2kBytes and up • Few external components required - One resistor for
Application Note
8-bit Microcontrollers Application Note AVR270: USB Mouse Demonstration Features • Runs with AT90USB Microcontrollers at 8MHz • USB Low Power Bus Powered Device (less then 100mA) • Supported by any PC running Windows® (98SE or later), Linux® or Mac OS®. • 3Kbytes of Code Required • X, Y Movement, Le
8-bit Microcontroller Application Note
8-bit Microcontroller Application Note Rev. 2547A–AVR–11/03 AVR244: AVR UART as ANSI Terminal Interface Features • Make use of standard terminal software as user interface to your application. • Enables use of a PC keyboard as input and ascii graphic to display status and control information. • Driv
MPASM USER'S GUIDE with MPLINK and MPLIB MPASM USER'S GUIDE with MPLINK and MPLIB
Adjust Spine to fit MPASM USER'S GUIDE with MPLINK and MPLIB Microchip Technology Inc. 2355 West Chandler Blvd. Chandler, AZ 85224-6199 Tel: 602.786.7200 Fax: 602.899.9210 © 1999 Microchip Technology Inc., Printed in the U.S.A. 3/99 DS33014 MPASM USER'S GUIDE with MPLINK and MPLIB Information only.
Microcontroller Core Features: RA5/SS/AN4 7 34 RB1RE0/RD/AN5 8 33 RB0/INT
Device Pins A/D PSP Pin Diagram PIC16C63A 28 NO NO PDIP, Windowed CERDIP PIC16C73B 28 YES NO MCLR/VPP 1 40 RB7 PIC16C65B 40 NO YES RA0/AN0 2 39 RB6 RA1/AN1 3 38 RB5 PIC16C74B 40 YES YES RA2/AN2 4 37 RB4 RA3/AN3/VREF 5 36 RB3 RA4/T0CKI 6 35 RB2 Microcontroller Core Features: RA5/SS/AN4 7 34 RB1RE0/RD
PACKAGE OPTION ADDENDUM
PCM2704 and PCM2705 Not Recommended For New Designs PCM2704, PCM2705 PCM2706, PCM2707 Burr-Brown Audio www.ti.com... SLES081F–JUNE 2003–REVISED JANUARY 2009 STEREO AUDIO DAC WITH USB INTERFACE, SINGLE-ENDED HEADPHONE OUTPUT AND S/PDIF OUTPUT 1FEATURES – External ROM Interface (PCM2704/6) 2345• On-Ch
14 + 14W STEREO AMPLIFIER WITH MUTE & ST-BY
TDA7269A 14 + 14W STEREO AMPLIFIER WITH MUTE & ST-BY WIDE SUPPLY VOLTAGE RANGE UP TO ±20V SPLIT SUPPLY HIGH OUTPUT POWER 14 + 14W @ THD =10%, RL = 8Ω, VS = +16V NO POP AT TURN-ON/OFF MUTE (POP FREE) STAND-BY FEATURE (LOW Iq) SHORT CIRCUIT PROTECTION TO GND THERMAL OVERLOAD PROTECTION Multiwatt11 OR
FOREWORD This repair manual has been prepared to provide essential in-
FOREWORD This repair manual has been prepared to provide essential in- formation on body panel repair methods (including cutting and welding operations, but excluding painting) for the TOYOTA YARIS. Applicable models: KSP90 series Applicable models: NCP90, 91 series This manual consists of body repa
MPASM and MPLINK PICmicro® QUICK REFERENCE GUIDE
MPASM and MPLINK PICmicro® QUICK REFERENCE GUIDE The Embedded Control Solutions Company® MPASM Quick Reference Guide This Quick Reference Guide gives all the instructions, directives, and command line options for the Microchip MPASM Assembler. MPASM Directive Language Summary Directive Description S
M INTRODUCTION
M Author: Mark Palmer Microchip Technology Inc. INTRODUCTION The PICmicro™ families of RISC microcontrollers are designed to provide advanced performance and a cost-effective solution for a variety of applications. To address these applications, there is the PIC16CXXX microcontroller family of produ
M ENGINE ON-VEHICLE INSPECTION ASSEMBLY
1NZ-FE ENGINE MECHANICAL – ENGINE EM–1 M ENGINE ON-VEHICLE INSPECTION 1. INSPECT ENGINE COOLANT (See page CO-1) 2. INSPECT ENGINE OIL (See page LU-1) 3. INSPECT BATTERY (See page CH-4) 4. INSPECT AIR CLEANER FILTER ELEMENT SUB- ASSEMBLY (a) Remove the air cleaner filter element sub-assembly. (b) Vis
FOREWORD This wiring diagram manual has been prepared to provide information on the electrical system of the 2007 YARIS. Applicable models: NCP91, 93 Series
FOREWORD This wiring diagram manual has been prepared to provide information on the electrical system of the 2007 YARIS. Applicable models: NCP91, 93 Series Refer to the following manuals for additional service specifications and repair procedures for these models: Manual Name Pub. No. 2007 YARIS Re
X AUTOMATIC TRANSAXLE SYSTEM PRECAUTION
U340E AUTOMATIC TRANSAXLE – AUTOMATIC TRANSAXLE SYSTEM AX–1 X AUTOMATIC TRANSAXLE SYSTEM PRECAUTION NOTICE: • Perform the RESET MEMORY (AT initialization) when replacing the automatic transaxle assembly, engine assembly or ECM (See page AX-14). • Perform the REGISTRATION (VIN registration) when repl
ON Semiconductor 2N5550 Amplifier Transistors NPN Silicon 2N5551*
ON Semiconductor 2N5550 Amplifier Transistors NPN Silicon 2N5551* *ON Semiconductor Preferred Device MAXIMUM RATINGS Rating Symbol 2N5550 2N5551 Unit Collector–Emitter Voltage VCEO 140 160 Vdc Collector–Base Voltage VCBO 160 180 Vdc Emitter–Base Voltage VEBO 6.0 Vdc Collector Current — Continuous IC
GENERAL DESCRIPTION QUICK REFERENCE DATA PINNING - TO92 variant PIN CONFIGURATION SYMBOL
GENERAL DESCRIPTION QUICK REFERENCE DATA Glass passivated sensitive gate SYMBOL PARAMETER MAX. UNIT thyristor in a plastic envelope, intended for use in general purpose VDRM, Repetitive peak off-state voltages 200 V switching and phase control VRRM applications. This device is intended IT(AV) Averag
N-Channel JFETs
N-Channel JFETs 2N4117A PN4117A SST4117 2N4118A PN4118A SST4118 2N4119A PN4119A SST4119 Part Number VGS(off) (V) V(BR)GSS Min (V) gfs Min (S) IDSS Min (A) 4117 –0.6 to –1.8 –40 70 30 4118 –1 to –3 –40 80 80 4119 –2 to –6 –40 100 200 Ultra-Low Leakage: 0.2 pA Insignificant Signal Loss/Error Voltage
Order this document SEMICONDUCTOR TECHNICAL DATA by 2N3903/D NPN Silicon
Order this document SEMICONDUCTOR TECHNICAL DATA by 2N3903/D NPN Silicon *Motorola Preferred Device COLLECTOR BASE EMITTER 1 MAXIMUM RATINGS Rating Symbol Value Unit CASE 29–04, STYLE 1 TO–92 (TO–226AA) Collector–Emitter Voltage VCEO 40 Vdc Collector–Base Voltage VCBO 60 Vdc Emitter–Base Voltage VEB
DISCRETE SEMICONDUCTORS DATA SHEET 2N2222; 2N2222A NPN switching transistors Product specification 1997 May 29 Supersedes data of September 1994 File under Discrete Semiconductors, SC04
DISCRETE SEMICONDUCTORS DATA SHEET M3D125 2N2222; 2N2222A NPN switching transistors Product specification 1997 May 29 Supersedes data of September 1994 File under Discrete Semiconductors, SC04 FEATURES PINNING • High current (max. 800 mA) PIN DESCRIPTION • Low voltage (max. 40 V). 1 emitter 2 base A
Small-signal Transistors Selection guide
Philips Semiconductors Small-signal Transistors Selection guide V TYPE CEO IC Ptot fhhTPNP PACKAGE max. max. max. FE FE min. PAGE NUMBER min. max. COMPL. (V) (mA) (mW) (MHz) BC846 SOT23 65 100 250 110 450 100 BC856 305 BC846A SOT23 65 100 250 110 220 100 BC856A 305 BC846AT SC-75 65 100 150 110 220 1
Small-signal Transistors Selection guide
Philips Semiconductors Small-signal Transistors Selection guide SURFACE-MOUNT DEVICES NPN GENERAL PURPOSE LOW-POWER TRANSISTORSVIPfTYPE CEO C tothhTPNP PACKAGE max. max. max. FE FE min. PAGE NUMBER min. max. COMPL. (V) (mA) (mW) (MHz) 2PC4081 SC-70 40 100 200 120 560 100 2PA1576 210 2PC4081Q SC-70 4
Small-signal Transistors Selection guide
Philips Semiconductors Small-signal Transistors Selection guide LEADED DEVICES (continued) NPN HIGH-VOLTAGE POWER TRANSISTORSVIPfTYPE CEO C tothhTPACKAGE max. max. max. FE FE PNP min. PAGE NUMBER min. max. COMPL. (V) (mA) (mW) (MHz) BF419 TO-126 250 300 6000 45 typ. >45 90 – 532 BF457 TO-126 160 100
DISCRETE SEMICONDUCTORS DATA SHEET 1PS302 High-speed double diode Product specification 1996 Apr 03 File under Discrete Semiconductors, SC01
DISCRETE SEMICONDUCTORS DATA SHEET handbook, halfpage M3D114 1PS302 High-speed double diode Product specification 1996 Apr 03 File under Discrete Semiconductors, SC01 FEATURES DESCRIPTION PINNING • Very small plastic SMD package The 1PS302 consists of two PIN DESCRIPTION • High switching speed: max.
Small-signal Transistors Selection guide
Philips Semiconductors Small-signal Transistors Selection guide LEADED DEVICES NPN GENERAL PURPOSE LOW-POWER TRANSISTORSVIPfTYPE CEO C tothhTPACKAGE max. max. max. FE FE PNP min. PAGE NUMBER min. max. COMPL. (V) (mA) (mW) (MHz) 2N2484 TO-18 60 50 360 250 800 60 – 131 2N4124 TO-92 25 200 500 120 360
DISCRETE SEMICONDUCTORS DATA SHEET 1PS301 High-speed double diode Product specification 1996 Apr 03 File under Discrete Semiconductors, SC01
DISCRETE SEMICONDUCTORS DATA SHEET handbook, halfpage M3D114 1PS301 High-speed double diode Product specification 1996 Apr 03 File under Discrete Semiconductors, SC01 FEATURES DESCRIPTION PINNING • Very small plastic SMD package The 1PS301 consists of two PIN DESCRIPTION • High switching speed: max.
DISCRETE SEMICONDUCTORS DATA SHEET 1PS300 High-speed double diode Product specification 1996 Apr 03 File under Discrete Semiconductors, SC01
DISCRETE SEMICONDUCTORS DATA SHEET handbook, halfpage M3D114 1PS300 High-speed double diode Product specification 1996 Apr 03 File under Discrete Semiconductors, SC01 FEATURES DESCRIPTION PINNING • Very small plastic SMD package The 1PS300 consists of two PIN DESCRIPTION • High switching speed: max.
DISCRETE SEMICONDUCTORS DATA SHEET 1PS226 High-speed double diode Product specification 1996 Apr 03 Supersedes data of December 1993 File under Discrete Semiconductors, SC01
DISCRETE SEMICONDUCTORS DATA SHEET handbook, halfpage M3D114 1PS226 High-speed double diode Product specification 1996 Apr 03 Supersedes data of December 1993 File under Discrete Semiconductors, SC01 FEATURES DESCRIPTION PINNING • Small plastic SMD package The 1PS226 consists of two PIN DESCRIPTION
DISCRETE SEMICONDUCTORS DATA SHEET 1PS193 High-speed diode Product specification 1996 Apr 03 Supersedes data of December 1993 File under Discrete Semiconductors, SC01
DISCRETE SEMICONDUCTORS DATA SHEET handbook, halfpage M3D114 1PS193 High-speed diode Product specification 1996 Apr 03 Supersedes data of December 1993 File under Discrete Semiconductors, SC01 FEATURES DESCRIPTION PINNING • Small plastic SMD package The 1PS193 is a high-speed PIN DESCRIPTION • High