Noise elimination in a USB codec

Data processing: generic control systems or specific application – Specific application – apparatus or process – Digital audio data processing system

Reexamination Certificate

Rate now

  [ 0.00 ] – not rated yet Voters 0   Comments 0

Details

C381S094500

Reexamination Certificate

active

06473663

ABSTRACT:

FIELD OF THE INVENTION
The present invention relates to speakers for personal computers and particularly to an architecture for a Universal Serial Bus-based PC speaker controller having noise elimination circuitry.
DESCRIPTION OF THE RELATED ART
The Universal Serial Bus (USB) specification is a proposed standard recently promulgated by a group of computer companies including Compaq Computer Corporation, Digital Equipment Corporation, IBM, Intel Corporation, Microsoft Corporation and Northern Telecom. Described below are various aspects of the Universal Serial Bus. Further background concerning the Universal Serial Bus may be obtained from the Universal Serial Bus Specification, Revision 1.0, which is hereby incorporated by reference. The Universal Serial Bus is intended as a bidirectional, isochronous, low-cost, dynamically attachable, serial interface to promote easy PC peripheral expansion and provide full support for real-time voice, audio, and compressed video data. The Universal Serial Bus provides two-wire point-to-point signaling in which the signals are differentially driven at a bit rate of 12 megabits per second. The Universal Serial Bus includes support for both isochronous and asynchronous messaging at the 12 megabit per second data speed.
The Universal Serial Bus specification defines a Universal Serial Bus system in terms of Universal Serial Bus “interconnects”, “devices”, and “hosts”. A Universal Serial Bus interconnect defines the manner in which devices are connected to and communicate with the host, including bus topology, data flow models, scheduling, and interlayer relationships. In any given Universal Serial Bus topology, there is only one host.
Universal Serial Bus devices include hubs and functions. Hubs provide additional attachment points to the Universal Serial Bus and may be integrated with a host, which ordinarily provides only one attachment point for connecting a hub or a function. Functions provide capabilities to the system, such as joystick, keyboard, microphone, and speaker capabilities.
The basic data transfer protocol of the Universal Serial Bus is described as follows, with particular attention to FIG.
1
.
FIG. 1
is a diagram of the basic packet transfer
1000
of the Universal Serial Bus. The basic transfer
1000
includes a token packet
1002
, a data packet
1004
, and a handshake packet
1006
. Each packet is preceded by a synchronization field SYNC which is used by input circuitry to align incoming data with the local clock. It is defined to be 8 bits in length and is stripped out by the connector interface.
Following the SYNC field in each packet is a packet identifier (PID(T) for the token packet, PID(D) for the data packet, PID(H) for the handshake packet, and PID(S) for the start-of-frame packet, which may be considered a type of token packet). The packet identifiers PID(T), PID(D), PID(H) and PID(S) include a 4-bit identification field and a 4-bit check field used to identify the format of the packet and type. There are two types of token
1002
packet ID fields PID(T). These denote (i) a data transfer from the function to the host; and (ii) a data transfer from the host to the function. In addition to the packet ID, PID(T), the token packet includes an 8-bit address field ADDR and a 3-bit end point field, ENDP. The address field ADDR of the token packet specifies the function that it is to receive or send the data packet. The end-point field ENDP permits addressing of more than one subchannel of an individual function.
Only one type of start-of-frame packet identification field
1008
, PID(S), is defined: a start of frame time stamp. The address and endpoint fields of the token packet are replaced in the start of frame packet with a time-stamp field. The time-stamp field for the start of frame packet provides a clock tick which is available to all devices on the bus. The start-of-frame packet is sent by the host every 1 ms±0.01%. In addition, for both the token and start-of-frame packets, a 5-bit cyclical redundancy checksum (CRC) field is provided.
The data packet
1004
includes a packet identifier PID(D), a data field DATA, and a 16-bit cyclical redundancy checksum field, CRC
16
. Two types of packet IDs for the data field, data
0
and data
1
, identify whether the data packet is being sent for the first time or whether being sent as a retry. The data field DATA may vary in length from 0 to N bytes. Failure of the cyclical redundancy checksum on the data field DATA causes the receiver to issue an error ERR handshake.
The handshake packet
1006
includes only a packet identifier PID(H), of which there are four types. An acknowledge handshake, ACK, indicates that the receiver will accept the data and that the CRC has succeeded. A negative acknowledge, NACK, indicates that the receiver cannot accept the data or that the source cannot send the data. An ERR field indicates that the receiver will accept the data, but that the CRC has failed. A stall handshake packet, STALL, indicates that the transmission or reception pipe is stalled. A stall handshake is defined only for stream-oriented end-points (as distinguished from message-oriented endpoints, discussed below).
Data flow on the Universal Serial Bus is defined in terms of “pipes.” A pipe is a connection between a host and an endpoint. The Universal Serial Bus defines “stream” and “message” pipes. For a stream pipe, data is delivered in prenegotiated packet sizes. Data flows in at one end of the stream pipe and out the other end in the same order. Stream mode thus includes flow control and employs no defined USB structure. For a message pipe, however, a request is first sent to the device which is followed at some later time by a response from the end-point. Message pipes thus impose a structure on the data flow, which allows commands to be communicated. These commands can include band-width allocation.
The Universal Serial Bus supports isochronous, asynchronous, and asynchronous interactive data flow. For isochronous data, access to USB bandwidth is guaranteed. A constant data rate through the pipe is provided, and in the case of delivery failure due to error, there is no attempt to retry to deliver the data. Asynchronous interactive data flow provides a guaranteed service rate for the pipe, and the retry of failed transfer attempts. Asynchronous data flow accommodates access to the USB on a band-width available basis and also permits retry of data transfers.
Scheduling of the Universal Serial Bus is defined in terms of“slots”, “frames” and “super frames”, as illustrated in
FIG. 2
, which shows an exemplary USB schedule
1100
. Frames
1104
a
and
1104
b
begin with a start of frame packet,
1108
a
and
1108
b,
respectively. Each frame has a duration of time equal to 1±N ms. Each frame,
1104
b,
1104
b
is subdivided into one or more slots,
1102
a,
1102
b,
for example. Each slot corresponds to some USB transaction, e.g.,
1110
a,
1110
b,
1110
c,
1110
d.
Each slot is large enough to contain the worst case transmission time of the transaction to which it corresponds, and includes the effects of bit-stuffing, propagation delay through cables and hubs, response delays, and clocking differences between the host and the end-point. A super frame
1106
consists of a repeatable sequence of individual frames, and is the largest schedulable portion of time permitted.
The Universal Serial Bus provides both periodic service and aperiodic service. For periodic service corresponding to isochronous data, a fixed period exists between the delivery of start of frame packets to a specific end-point. However, aperiodic service is characterized by a varying period between delivery of start of frame tokens for a given end-point. Periodic service is given a higher priority in scheduling than aperiodic service.
Turning now to
FIG. 3
, there is illustrated an abstracted block diagram of a Universal Serial Bus device, such as a hub or function. Universal Serial Bus device
1200
includes a device interface
1202
and a class interface
1204
. Device interface
1202
incl

LandOfFree

Say what you really think

Search LandOfFree.com for the USA inventors and patents. Rate them and share your experience with other people.

Rating

Noise elimination in a USB codec does not yet have a rating. At this time, there are no reviews or comments for this patent.

If you have personal experience with Noise elimination in a USB codec, we encourage you to share that experience with our LandOfFree.com community. Your opinion is very important and Noise elimination in a USB codec will most certainly appreciate the feedback.

Rate now

     

Profile ID: LFUS-PAI-O-2987049

  Search
All data on this website is collected from public sources. Our data reflects the most accurate information available at the time of publication.