throbber
Quick and EZ Guide to USBQ1 1998Page 1 of 9Anchor Chips IncorporatedQuick and EZ Guide to USBWelcome to the world of USB! USB (Universal Serial Bus) promises to solve many of the legacyproblems of the past. We’ve all experienced the frustration when we add a modem, scanner or any otherperipheral to our system and it simply didn’t work. What’s worse, we don’t know where to start to find theproblem and agonize over having to be on hold for hours at your nearest help line. With major industrysupport, USB is focused on eliminating these frustrations, making compute systems simpler and easier forthe average consumer. USB has such sweeping implications that it will extend past PC platforms and intomany household consumer products which have an embedded microprocessor and attachmentconfiguration.This quick and EZ guide is intended to get you familiar with the basics of USB in 30 minutes. We coverthe basics of USB topology, hardware and software issues. We also have pointers on how to you canquickly be up and running with USB traffic in hours using Anchor Chip’s innovative architecture. AnchorChips’ focus is to make USB design the EZiest in the market so that the peripheral manufacturer canquickly get to market with a cost effective solution. There is a glossary so that you can talk USB speak.USB ObjectivesUSB brings the ultimate in simplicity when connecting peripheral devices. The user no longer needs todetermine the right connection for the mouse versus the keyboard.. There isn’t a different cable for themonitor, printer or high storage capacity external disk drive. The user never has to determine if theconnection is a parallel or serial port. In the world of USB, there are no longer dip switches, jumpers,IRQ conflicts and DMA conflicts. In fact, users will always be able to connect or disconnect a new devicewhen the PC is up and running. Now that’s true Plug and Play! Because of this consistency and simplicityfor connection, USB will make it easy to add peripheral types that were previously thought to be toodifficult for the average user.A major objective of USB is to ensure it was all encompassing, supporting non-real time data transfer asthose used in text, email and graphics as well as time sensitive data such as audio, voice and compressedvideo. Another major objective of USB is to ensure the implementation was cost effective. While a USBhost controller connection will support 12 Mbps serial data rates, a lower rate at 1.5 Mbps was created sothat less expensive cables and components could be used. Such low speed devices like mice andkeyboards do not require the full 12 Mbps bandwidth. However, such low-speed peripherals benefitgreatly from the standardization and ease of use of USB.USB HARDWAREUSB Bus TopologyThe USB bus topology is known as a tiered star topology. The root of the star is the host controller. TheUSB host is located on the motherboard and normally is integrated into the core logic chip set. There isonly ONE host who controls the entire system in a standard USB system. The host controller schedulestransactions that are passed back and forth throughout the system to the various peripherals. If the hostcontroller is busy, then all the attached peripherals must wait for the host controller to free itself beforefurther communications can occur.While a peripheral can be connected directly to the host controller port, it is more likely that a USB hubwill be connected to the host controller port to expand the number of peripheral ports available to the user.Hubs permit expansion of a USB system by providing one or more additional USB ports for attaching otherUSB devices. Peripherals (or another hub) is attached to the hub, creating the star topology. (See Figure 1)
`
`Exhibit 2028 - Page 01 of 09
`
`

`
`Quick and EZ Guide to USBQ1 1998Page 2 of 9Anchor Chips IncorporatedFIGURE 1Since a ub can connect with other hubs, this creates multiple tiers of peripheral stars in the bus topology.A USB hub consists of two major functions; a hub controller and repeater. The repeater function takes thecommunication packet and “boosts” them up to the host controller (or another hub) or back to theperipheral. USB hubs come in two types; standalone or compound device. Standalone hubs typically have4 expansion ports. Alternatively, a hub which combines other functions such as the keyboard and monitoris known as a compound device.The last leg of the star is the peripheral. Peripherals can have a single function, or can be combined withmultiple functions. Multiple function peripherals are known as composite devices (as opposed to thecompound device for hubs). Anchor Chip’s USB solutions are well-suited for composite peripheraldevices since the configurable architecture allows the support of multiple functions. As mentionedpreviously, peripherals are categorized as fully rated at 12 Mbps or low-speed at 1.5 Mbps.USB ConnectionsOne of the great outcomes from the conversion to USB is the simplicityof connections. There are only two types of connections for all hubsand peripherals. It is literally impossible for the user to screw theconnection up as the two types of connectors are physicallyincompatible. The connector which is nearest the host controller orthe hub (the upstream side) is called a Series A connector and shaped ina rectangular fashion (See Figure 2). Figure 2The connector which is nearest the peripheral or downstream side is called the Series B connector and is amore square shape with two corners shaved for orientation purposes. While the host controller will onlyhave Series A connections, hubs have both Series A and Series B connections. If the peripheral has acable attachment it will have a Series A plug at the other end to attach to a hub or the host controller port.With the tiered star topology, the Series A connection is always at the upstream portion of the star while theSeries B connection is at the downstream connection (See Figure 3).USBHUBSHOSTCONTROLLER(ROOT HUB)USBPERIPHERALSPCMONITOR/HUBMODEMPHONESTANDALONEHUBVIDEOCAMERAKEYBOARDMOUSE
`
`Exhibit 2028 - Page 02 of 09
`
`

`
` pull-up resistor on the D+ line. A low speed peripheral is identified bythe system by a 1.5 K W
`
`Quick and EZ Guide to USBQ1 1998Page 3 of 9Anchor Chips IncorporatedFIGURE 3For fully rated connections at 12 Mbps, the cable length can extend up to 5 meters. For low-speedperipherals, the cable is limited to 3 meters between connections. Fully rated USB cables are shieldedproviding higher performance and longer length capability. Low speed cables are unshielded yielding lowercost.Another aspect USB simplifies is the actual wire connection between devices. Instead of a variety ofdifferent cables which differ in the number of signal wires, all USB connections use four wires. Two are forthe power supply (power and ground) and two for differential signaling (D+ and D-). A fully ratedperipheral is identified by 1.5 K W
`pull-up resistor, leavingonly 300 uA for the rest of the device peripheral.The EZ-USB family is designed to operate at extremely low power; being one of the few USB devices ableto operate at 3.3V. With this low power, it is ideal for bus-powered high speed peripherals.PCMONITORPHONEseries A connectorsseries B connectorsUSBFUNCTIONSAABBBAAB
`
`pull-up resistor on the D- line.PowerAll USB ports supply power for devices that are to be attached. Both hubs and peripheral may be self-powered implementing your own power-supply or be bus-powered. Bus-powered hubs and peripheralsderive their entire power requirements from the USB cable. A fully rated port must be able to handle 500mA of current to an attached device. Self-powered hubs can usually supply the maximum ratted powereach port. However, bus-powered hub have only the power they receive from the upstream cable, severelylimiting their ability to supply full current needs of a peripheral. For devices that are attached to a bus-powered hub, the maximum amount of current they can draw is 100 mA.Prior to being configured, USB devices must not draw more than 100 mA of current. After configuration,the peripheral can draw more current based on the configuration setting.USB has numerous power conservation modes. There is suspend, an option whereby power consumption iscurtailed through software control. There are two types off suspend; global and selective. All devicesmust support both types of suspend modes. Global suspend places all USB devices in a suspended state.Selective suspend places only devices which have been inactive in a suspended state. Devices entersuspend after 3 ms of no bus activity and must consume no more than 500uA total. The suspend current of500 uA is more difficult than meets the eye as 200 uA is used due to the 1.5 K W
`
`Exhibit 2028 - Page 03 of 09
`
`

`
`Quick and EZ Guide to USBQ1 1998Page 4 of 9Anchor Chips IncorporatedUSB SOFTWAREUSB Communication ModelNow here is the hard part. Because USB simplifies hardware connections, the complexity shifts to aprotocol that can accommodate the variety of peripheral devices. Although the bus topology of a USBsystem has multiple tiers of communications through hubs, the communication can be modeled from theUSB host to the peripheral as a one-to-one connection. This is referred to as logical connections to theUSB host.At the center of the communication model is the USB host who is the master of the USB system. The USBhost acts as a traffic cop, controlling and scheduling all activities attached to the port. This is called a host-based communication model. The USB host is the only device that uses system resources requiring hostmemory locations, I/O address space and IRQ lines. Remember, USB peripherals are no longer mappedinto memory or I/O address space, nor do they use IRQ lines or DMA channels.The USB host controller initiates transactions via its root hub or hubs. The host controller initiates a startof a frame (SOF) every 1 ms. After the SOF, communication transactions between the hubs/peripheralsand the host occur within the 1 ms time frame. The host may schedule a single data transfer by theperipheral over one large block within a 1 ms frame or over several consecutive frames. The actualscheduling depends on a number of factors including; transaction traffic, type of transaction, and bandwidthrequested by the peripheral.When a USB peripheral initiates a transfer, it calls the USB system software and requests a transfer. Thehost will either accept the data transfer or reject the request. If the host acknowledges (ACK) the request,then an entire routine which consist of setup, data transfer and handshake occurs. If the host rejects therequest, then a Not Acknowledgement (NAK) is sent back to the peripheral. The peripheral will thenrepeat the request waiting for an acceptance from the host for the transfer request.USB Data Types and EndpointsIn line with achieving simplicity, USB categorizes the various data types into four specific data formats tobe used for all peripheral functions. USB can be connected to support non-time sensitive data types such asprint, text or graphics data or real-time data such as audio, voice, and compressed video. Toaccommodate the various data types there are four USB data transfer types; control, isochronous, bulk andinterrupt.Control transfers are bi-directional and intended as the primary communication between host and devicefor configuration, command or status information. Control transfers consist of 2 or 3 stages; a setup stage,data stage (may or may not exist) and status stage. Cyclic redundancy checks (CRC) is performed oncontrol packets. Since accuracy is important for control packets, retransmission occurs for unrecoverableerrors. Because the control transfer have two or three stages, they are completed over a few USB frames.Control transfers are given a guaranteed 10% bus allocation. Control packets have a maximum length of 64bytes.Isochronous transfers can be uni-directional or bi-directional and is specifically targeted for streaming datasuch as audio or video. Since isochronous data is time sensitive, it is guaranteed access to USB withreasonable limitations on the bandwidth of the whole USB bus. Should an error occur, the peripheraldevice will not retry to transmit data since constant data rate is the more important than accuracy of data.Streaming data is more tolerant to errors. The maximum packet size for isochronous transfer is 1024 bytesper 1 ms. This translates to a maximum data rates of 8.814 Mpbs.
`
`Exhibit 2028 - Page 04 of 09
`
`

`
`Quick and EZ Guide to USBQ1 1998Page 5 of 9Anchor Chips IncorporatedBulk transfers can be uni-directional or bi-directional. It is ideal for large amounts of data whose integritymust be guaranteed, but whose delivery is not time critical. Printer data or scanner data is natural candidatefor transmission via a bulk transfer. Bulk transfer is designed to be a filler, claiming unused bandwidth ofUSB when other transfer requirements on the bus have been met. All forms of error detection andrecovery are used. Maximum packet size for bulk transfers is 64 bytes.Interrupt transfers are not interrupts in the standard sense of interrupts used by PC platforms. Instead theyare used to poll devices to determine if they have data that needs to be transferred to the host. Hence, thedirection of interrupt transfers are always from the USB peripheral to the host (IN only). . If a device doesnot have data to send, then the device returns a no acknowledge (NAK) indicating no data available.Delivery is guaranteed. Maximum packet size for interrupt transfers is 64 bytes. Interrupt OUT packetshave been proposed for the next version of USB (Version 1.1)Central to the USB communication model is the abstract concept of transferring data using pipes betweenthe host and peripherals. This pipe medium can be further distributed into even smaller pipes, with eachtype of data requiring a separate tiny pipe. Each tiny pipe (endpoint) carries unique data type that is neededbetween the peripheral and the host. For instance, in a multimedia USB device, different endpoints wouldbe required for voice (isochronous), data (bulk), and control information. Thus a total of 5 endpoints arerequired since two endpoints are needed for bi-directional data. (See Figure 4) All these data types arerequired to be treated differently and are separated through the use of endpoints.FIGURE 4The Anchor Chips EZ-USB family has the most endpoints available in the market, supporting themaximum number of 31 endpoints allowed in the USB specification. With the vast number of endpoints,users have the flexibility to assign different buffers for each individual data stream, instead of consolidatingvarious data streams into a single data type to be used for transmission. In addition, these endpoints can beprogrammed to be double-buffered, which improves transfer bandwidth in some applications.SOFTWARE DEVELOPMENTWhile the concept of USB is simple, the development of USB peripherals is not. Since the hardwarescheme has been extremely simplified, the burden of complexity has moved toward software development.There will be a minimum of two designers needed to address two areas of development required for USB;device side and host side. For the USB device side, both hardware and firmware development will benecessary. For the USB host side, will need to assign a design team for device drivers and applicationsoftware development.HOSTPERIPHERAL BULK OUT BULK IN CONTROL OUT CONTROL IN INTERRUPT INENDPOINTS
`
`Exhibit 2028 - Page 05 of 09
`
`

`
`Quick and EZ Guide to USBQ1 1998Page 6 of 9Anchor Chips IncorporatedINITIALIZATIONEnumeration/RenumerationHost software is responsible for detecting and configuring the hub controller and peripheral devices. Theprocess of identifying and assigning an address to each USB device on the hub is called deviceenumeration. Enumeration occurs during power-up or when the peripheral is first plugged into a USB port.Now each peripheral has a unique identifier so that the host controller can individually address each devicein the star topology. After an address is assigned, the host reads and evaluates configuration informationfrom the device descriptors passed from the device to the host. The host evaluates whether the resourcesrequested by the device is available. If the host determines that bandwidth is available, the host assigns aconfiguration value to the device and is ready for use.Renumeration is a proprietary Anchor specific capability which allows a device to reconfigure itself afterenumeration has occurred. When the driver is installed, a new set of firmware can also be loaded into theEZ-USB RAM core. This changes the “personality” of the device. Normally a device would have to bephysically disconnected before another enumeration process will occur. However, with Anchor EZ-USBdevices, a disconnect is simulated and another enumeration sequence occurs. The new set of devicedescriptors are loaded into the USB device. This feature allows the peripheral manufacturer to providecontinual updates to users via either floppy disk or through the Internet since 8051 firmware is contained insoftware files not in nonvolatile memory.Host identifies deviceis attachedHOSTDEVICEHost assigns uniqueaddress to deviceDevice provides initialdevice descriptorsHost issues configurationto be used by deviceHost loads new firmwarefrom S/W fileDevice disconnectsand reconnectsHost begins"Enumeration" againHost verifies newresources availableENUMERATIONDevice provides updatedconfig info to hostHost issues configurationto be usedRENUMERATION
`
`Exhibit 2028 - Page 06 of 09
`
`

`
`Quick and EZ Guide to USBQ1 1998Page 7 of 9Anchor Chips IncorporatedFirmwareThe 8051 is the most popular microprocessor standard making it a perfect fit for USB peripheral functions.With the numerous vendors supplying 8051 compatible devices and the plethora of 8051 developmenttools from 3rd party vendors, the 8051 provides a well understood and stable environment for codedevelopment. An excellent source for finding development tools for embedded processors is the MillerFreeman Directories. Their Web Site, located at www.directories.mfi.com, provides a listing of 8051compilers, assemblers, and debuggers for development.To efficiently develop 8051 firmware code, the designer will need a minimum of three items; 8051assembler and/or compiler, ROM/RAM downloader and 8051 debugger. To further decrease the learningcurve and development, the designer should have access to example code, firmware library, and an USBbus analyzer. A listing below provides a quick summary and potential sources for these tools.Item NeededSourceRequired or Optional?8051 Assembler and/or CompilerKeil, Tasking or PLCRequiredROM/RAM DownloaderVendorRequired8051 DebuggerKeil, Tasking or PLCRequiredExample CodeVendorOptionalFirmware LibraryVendorOptionalUSB Bus AnalyzerCATCOptionalOne of the major features of the Anchor Chips EZ-USB family is the significant reduction of 8051firmware code. In most applications, endpoint zero is the most complicated to program as it is usuallydesignated the CONTROL endpoint. Each device must implement a default CONTROL endpoint (alwaysendpoint zero) used for configuring the device, controlling device states, and other aspects of the device’soperation. Thus endpoint zero is the most complicated to program as it requires a setup stage, data stage(may or may not exist) and status stage. With other USB chip solutions, endpoint zero is handledsimilarly to other endpoints. The EZ-USB core provides extensive logic to simplify programming requiredto support endpoint zero. The use of this higher level protocol can reduce the number of standard 8051assembly calls by as much as 80%. For example, the USB hardware core keeps track of the three phasesfor CONTROL; SETUP, DATA and HANDSHAKE not the 8051. Therefore, the CPU needs only to loadan address pointer to requested dataDEVICE DRIVERIf the driver is bundled with the operating system, the peripheral manufacturer does not need to developthe driver. All that is required is to follow the USB device class specifications when the device isdesigned. If the peripheral designer has capabilities that differentiate its capabilities above the standardclass specifications, then a custom driver is required. Designers will need the standard development kits,SDK and DDK, from Microsoft to develop these drivers. The SDK is needed for the operating systemlibraries and editor files. The DDK is needed for another set of operating system libraries and Windowsdriver development tools. Of course, a standard C compiler for a number of different sources is needed togenerate object code of your WDM driver. In addition, it is recommended for designers to use a USB in-circuit emulator to help test and debug the code. An ICE enables emulating the performance of the USBdevice when code execution is performed from the 8051 firmware source. The well recognized softwarebased ICE comes from NuMega Technologies. The driver needs to account the operating system duringthe development stages. It should operate in a Windows 95 operating system with an enhancement calledOSR 2.1 (OEM Software Release 2.1) . This is also codenamed “Detroit”. Should the softwaredeveloper want device drivers focused on the next generation operating system (Windows 98), codenamed“Memphis”, the developer will need to develop under the WDM (Windows Driver Model) stack.
`
`Exhibit 2028 - Page 07 of 09
`
`

`
`Quick and EZ Guide to USBQ1 1998Page 8 of 9Anchor Chips IncorporatedAn example code of drivers will accelerate the learning curve significantly. Anchor Chips provides a setof example drivers in addition to a set of generic drivers to accelerate peripheral driver development. Ofcourse users will still able to utilize the standard set of Microsoft drivers that cover a family of classdrivers. A listing below provides a quick summary and potential sources for tools needed for device driverdevelopment.In addition, Anchor supplies source code for downloading 8051 firmware and device driver code during theRenumeration process. Anchor Chips supplies this type of code to take advantage of this unique capabilityfor “soft configuration”,.Item NeededSourceRequired or Optional?Win 32 SDKMicrosoftRequiredWDM DDKMicrosoftRequiredC CompilerVariousRequiredSoft ICE (In-Circuit Emulator)NuMega TechnologiesRequiredExample CodeVendorOptionalGeneric Compiled DriversVendorOptionalDriver Loader after EnumerationAnchorOptionalUSB Bus AnalyzerCATCOptionalAPPLICATION/USER SOFTWAREOn the host application development, users only need to have a C Compiler or a Visual Basic software tool.A good tool is the Microsoft Visual C++ Developer Studio AppWizaard. In addition, application notesand applets to assist in the reprogramming and downloading new firmware would be helpful.WHAT MAKES EZ-USB SO EASY?Anchor Chips realizes that most peripheral manufacturers do not want to or need to become USB expertsin order to take advantage of the benefits of USB. Because of proprietary capabilities and forethought toa much-improved USB architecture, Anchor Chips can get peripheral designers up and running USB trafficwithin hours instead of the weeks from other USB chip vendors. A summary of these unique advantages isprovided below.1. Anchor Chips has the competitive advantage of generating 8051 firmware code for the enumerationprocess without one line of user code written by the peripheral manufacturer. This allows thedesigner to analyze USB traffic, increasing the learning curve for understanding USB programmingrequirements. Because of its proprietary capability of “soft configuration” and Renumeration, userdeveloped 8051 firmware code can supplant the default 8051 firmware code residing inside the chip.2.Anchor Chips uses a higher level protocol for generating 8051 code simplifying firmware code by asmuch as 80. With other USB chip solutions, endpoint zero is handled similarly to other endpoints.The EZ-USB core provides extensive logic to simplify programming required to support endpoint zero.For example, the USB hardware core keeps track of the three phases for CONTROL; SETUP, DATAand HANDSHAKE not the 8051. Therefore, the CPU needs only to load an address pointer torequested data. For further programming simplicity, the EZ-USB core provides two buffers forendpoint zero data.3.The Anchor EZ-USB family uses an enhanced 8051 core for processing. The enhanced 8051 core runs5 times faster than the industry standard 8051, providing significant horsepower to handle the toughestof USB traffic and requirements. With the numerous vendors supplying 8051 compatible devices andthe plethora of 8051 development tools from 3rd party vendors, the 8051 core provides a well
`
`Exhibit 2028 - Page 08 of 09
`
`

`
`Quick and EZ Guide to USBQ1 1998Page 9 of 9Anchor Chips Incorporatedunderstood and stable environment for code development The enhanced 8051 core contained in theEZ-USB family is binary code compatible and perform same functions as they do with the industrystandard 8051. The effects of these instructions on bits, flags and other status functions are identical tothe standard 8051.4.RAM architecture provides design and software flexibility. With 4, 16 or 32 Kbytes ofSRAM, users have a complete solution that also provides a “soft” configuration capability.This “soft” configuration enables peripheral manufacturers complete flexibility with nodesign risks. Peripheral manufacturers can accommodate code changes due to field updates,last minute software code changes prior to production, or dynamic changes in peripheralproperties as set by the user.5.Pin-compatible and software compatible family provides numerous options without designrisk. RAM-based USB solution will allow customers to continue their design efforts evenafter production has begun and not worry about having adequate inventory for ROM-baseddevices during the critical ramp-up stage. With a growth path from 4K to 8K to 16Kmemory, parallel board development can occur without concern to program code expansioneffecting hardware changes.6.Tiny footprint provides more flexibility in board design. Requiring less than 1” square inchesof board space for a total USB solution, the AN2131Q can minimize the precious boardspace of cost-sensitive peripherals.
`
`Exhibit 2028 - Page 09 of 09

This document is available on Docket Alarm but you must sign up to view it.


Or .

Accessing this document will incur an additional charge of $.

After purchase, you can access this document again without charge.

Accept $ Charge
throbber

Still Working On It

This document is taking longer than usual to download. This can happen if we need to contact the court directly to obtain the document and their servers are running slowly.

Give it another minute or two to complete, and then try the refresh button.

throbber

A few More Minutes ... Still Working

It can take up to 5 minutes for us to download a document if the court servers are running slowly.

Thank you for your continued patience.

This document could not be displayed.

We could not find this document within its docket. Please go back to the docket page and check the link. If that does not work, go back to the docket and refresh it to pull the newest information.

Your account does not support viewing this document.

You need a Paid Account to view this document. Click here to change your account type.

Your account does not support viewing this document.

Set your membership status to view this document.

With a Docket Alarm membership, you'll get a whole lot more, including:

  • Up-to-date information for this case.
  • Email alerts whenever there is an update.
  • Full text search for other cases.
  • Get email alerts whenever a new case matches your search.

Become a Member

One Moment Please

The filing “” is large (MB) and is being downloaded.

Please refresh this page in a few minutes to see if the filing has been downloaded. The filing will also be emailed to you when the download completes.

Your document is on its way!

If you do not receive the document in five minutes, contact support at support@docketalarm.com.

Sealed Document

We are unable to display this document, it may be under a court ordered seal.

If you have proper credentials to access the file, you may proceed directly to the court's system using your government issued username and password.


Access Government Site

We are redirecting you
to a mobile optimized page.





Document Unreadable or Corrupt

Refresh this Document
Go to the Docket

We are unable to display this document.

Refresh this Document
Go to the Docket