US20100112875A9 - System for determining the true electrical characteristics of a device - Google Patents

System for determining the true electrical characteristics of a device Download PDF

Info

Publication number
US20100112875A9
US20100112875A9 US10/865,458 US86545804A US2010112875A9 US 20100112875 A9 US20100112875 A9 US 20100112875A9 US 86545804 A US86545804 A US 86545804A US 2010112875 A9 US2010112875 A9 US 2010112875A9
Authority
US
United States
Prior art keywords
codec
database
electrical characteristic
application
user
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
US10/865,458
Other versions
US20040259435A1 (en
US7912668B2 (en
Inventor
George Stephan
Frederick Loeb
John Howley
Ludgero Leonardo
Stuart Patterson
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Analog Devices Inc
Original Assignee
Analog Devices Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority claimed from US10/464,951 external-priority patent/US7890284B2/en
Assigned to ANALOG DEVICES, INC. reassignment ANALOG DEVICES, INC. ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: HOWLEY, JOHN, LEONARDO, LUDGERO, LOEB, FREDERICK, PATTERSON, STUART, STEPHAN, GEORGE
Priority to US10/865,458 priority Critical patent/US7912668B2/en
Application filed by Analog Devices Inc filed Critical Analog Devices Inc
Publication of US20040259435A1 publication Critical patent/US20040259435A1/en
Priority to CN200910263739A priority patent/CN101794170A/en
Priority to JP2007527791A priority patent/JP4308296B2/en
Priority to TW094119303A priority patent/TWI292126B/en
Priority to EP05759775.9A priority patent/EP1754287B1/en
Priority to CN200580016297A priority patent/CN100590572C/en
Priority to PCT/US2005/020687 priority patent/WO2005124939A2/en
Publication of US20100112875A9 publication Critical patent/US20100112875A9/en
Publication of US7912668B2 publication Critical patent/US7912668B2/en
Application granted granted Critical
Expired - Fee Related legal-status Critical Current
Adjusted expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04RLOUDSPEAKERS, MICROPHONES, GRAMOPHONE PICK-UPS OR LIKE ACOUSTIC ELECTROMECHANICAL TRANSDUCERS; DEAF-AID SETS; PUBLIC ADDRESS SYSTEMS
    • H04R29/00Monitoring arrangements; Testing arrangements
    • H04R29/001Monitoring arrangements; Testing arrangements for loudspeakers
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/16Sound input; Sound output
    • G06F3/162Interface to dedicated audio devices, e.g. audio drivers, interface to CODECs
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04SSTEREOPHONIC SYSTEMS 
    • H04S7/00Indicating arrangements; Control arrangements, e.g. balance control
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/445Program loading or initiating
    • G06F9/44505Configuring for program initiating, e.g. using registry, configuration files
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04RLOUDSPEAKERS, MICROPHONES, GRAMOPHONE PICK-UPS OR LIKE ACOUSTIC ELECTROMECHANICAL TRANSDUCERS; DEAF-AID SETS; PUBLIC ADDRESS SYSTEMS
    • H04R5/00Stereophonic arrangements
    • H04R5/04Circuit arrangements, e.g. for selective connection of amplifier inputs/outputs to loudspeakers, for loudspeaker detection, or for adaptation of settings to personal preferences or hearing impairments

Definitions

  • This invention relates to a system useful for determining the true electrical characteristics of a device connected to a jack (e.g., input/output connector) of a computer including a codec.
  • a jack e.g., input/output connector
  • Codecs process audio signals in a computer such as PCs and handheld devices.
  • One of the primary functions of an audio codec is to convert both input and output audio signals to and from the internal digital signal format of the computer and the typically analog signal format of external devices plugged into the computer.
  • the codec is typically embodied in a chip on the motherboard add-in/riser card along with one or more application circuits for the various jacks.
  • the CPU, the processor, the memory, and the core logic are also typically motherboard level devices.
  • One method of connecting external audio devices to the computer is to use a 3.5 mm or similar stereo audio jack.
  • Each computer contains several jacks, which have typically been dedicated to a single function each, such as a stereo line out for speakers, a microphone input, and a line input.
  • jacks which have typically been dedicated to a single function each, such as a stereo line out for speakers, a microphone input, and a line input.
  • the Intel specification discusses the idea of querying the user to verify the correctness of the identification made by the codec, it would be extremely awkward and annoying if the user had to make the same correction every time the user plugged in the same device. That is, if each time the codec incorrectly identified headphones as a speaker the user had to make the same correction each time the user plugged the headphones into the personal computer, the user would quickly become frustrated.
  • the Intel specification also fails to identify this problem or a solution.
  • the subject invention solves both problems via a unique middleware application responsive to the codec driver and the user interface as an alternative to attempting to solve these problems at the codec/motherboard level.
  • the invention results from the realization that a device plugged into a computer can be more accurately identified if the details about the application circuit are stored in an updatable database referred to in order to adjust the electrical characteristics of the device measured by the codec.
  • a middleware application “second guesses” the codec's identification of the device by taking into account the application circuit's effect on the measurement of the electrical characteristics of the device by the codec. Furthermore, in the event this second guess turns out to be wrong, that mistake is never made again since the middleware application learns from its mistake.
  • This invention features a system for determining the true electrical characteristic of a device, the system comprising a codec configured to measure at least one electrical characteristic of a device connected to a jack and to identify the device based on the measured electrical characteristic, an updateable database populated with at least application circuit information, and a software routine responsive to the measured electrical characteristic and configured to adjust the electrical characteristic measured by the codec based on the application circuit information in the database.
  • the updateable database is populated with resistance and capacitance values for the resistors and capacitors in the application circuit information.
  • the updateable database is initially populated with default design resistance and capacitance values. Further included may be a routine for changing the default design resistance and capacitance values to reflect changes thereto.
  • the software routine is implemented in a codes driver responsive to the register of the codec containing the measured electrical characteristic and the identification of the device.
  • a middleware application may be responsive to the codec driver configured to more accurately identify the device based on the adjusted electrical characteristic.
  • a database may be populated with devices and their electrical characteristics, the database accessible by the middleware application.
  • a reconfiguration circuit is connected to the jack and the middleware application is further configured to query the user whether the identified device is correct and if so to activate the reconfiguration circuit based on the identified device and if not to access the database of devices allowing the user to choose a said device.
  • the middleware application may be further configured to activate the reconfiguration circuit based on the device chosen by the user.
  • the software routine is implemented in a middleware layer responsive to a codec driver itself responsive to the register of the codec containing the measured electrical characteristic and the identification of the device.
  • a reconfiguration circuit may be connected to the jack.
  • the middleware application is further configured to query the user whether the identified device is correct and if so to activate the reconfiguration circuit based on the identified device and if not to access a database of standard devices allowing the user to choose a said device.
  • the middleware application may be further configured to activate the reconfiguration circuit based on the device chosen by the user.
  • an updateable database populated with the electrical characteristics of a plurality of devices whose electrical characteristics were measured by the codec but did not correspond to the device identified by the codec and a software routine responsive to the measured electrical characteristic and configured to adjust the identification of the device based on the electrical characteristics stored in the database.
  • both software routines are implemented in a middleware application disposed between a driver for the codec and a user interface.
  • This invention also features a method of identifying a device plugged into a jack connected to an application circuit for the jack, the method comprising measuring at least one electrical characteristic of the device connected to a jack, adjusting the measured electrical characteristic based on the configuration of the applicant circuit, and identifying the device based on the adjusted measured electrical characteristic.
  • measuring is carried out by a codec connected to the application circuit and adjusting includes referencing a database populated with application circuit component values. Further included may be the step of outputting a query to determine whether the identification is correct and if not populating a database with the correct identification.
  • FIG. 1 is a flow chart showing the primary steps associated with one embodiment of the system and method of the subject invention
  • FIG. 2 is a block diagram showing the primary software and hardware components associated with a complete codec based system in accordance with the subject invention
  • FIG. 3 is a flow chart showing the primary steps associated with an initialization routine for the subject invention
  • FIG. 4 is a flow chart showing the primary steps associated with an example of user interface messaging software for the subject invention
  • FIG. 5 is a block diagram showing the primary components associated with the middleware application in one embodiment of the subject invention.
  • FIG. 6 is a flow chart showing the primary steps associated with the system for determining the true electrical characteristics of a device implemented in the middleware application in one embodiment of the subject invention
  • FIG. 7 is a flow chart depicting the primary steps associated with the system for determining the true electrical characteristics of a device implemented in the codec driver in accordance with another embodiment of the subject invention.
  • FIG. 8 is a flow chart showing the primary steps associated with an example of a system and method for verifying the identification of a device in accordance with the subject invention.
  • FIG. 9 is a flow chart depicting the primary steps associated with a codec driver sensing algorithm useful in connection with the subject invention.
  • Codec 44 measures one or more electrical characteristics of a device plugged into a jack and identifies the device (sensed bits) step 12 as, for example, a speaker, headphones, a microphone, and the like.
  • the output from Codec 44 is a set of bits representing the Codec's identification, and the raw bits representing the impedance values measured.
  • the application circuit connected between the codec and the jack can affect the electrical characteristic measured by the codec and hence sometimes adversely affect the identification made by Codec 44 .
  • database 14 is populated with the current resistance, capacitance, and other values 16 (application circuit configuration information) of the components of the application circuit. Those resistors and capacitors and especially any changes thereto made by the application circuit supplier can affect the electrical characteristics measured by Codec 44 and could result in an incorrect identification. If unraveling is initiated at step 12 , to correct this situation, an adjustment is made to the measured electrical characteristic at step 18 after consulting database 14 .
  • Database 14 typically includes default design resistance and capacitance values as specified by the manufacturer of the application circuit. Database 14 can be updated, however, with the true values of the actual application circuit as implemented in a given audio subsystem.
  • further adjustments can be made by consulting database 24 and/or optional vendor table 22 .
  • Table 22 is located in the platform configuration file, typically populated with standard (default) vendor specific devices and one or more of their electrical characteristics.
  • Learned database 24 is typically populated with other devices and their electrical characteristics as discussed below.
  • learned database 24 is preferably consulted first as shown at step 20 . Once learned database 24 is populated, it is rare that table 22 need be consulted.
  • reconfiguration circuit 30 is activated as set forth in the patent application discussed above to make an adaptation for the device plugged into the jack. Typically this is accomplished by selectively positioning amplifiers between low on-impedance and high off-impedance states.
  • step 28 the user is asked to identify the correct device, step 32 .
  • Reconfiguration (step 30 ) then proceeds using the correct device identified and, in addition, learned database 24 is updated, step 34 to include the new entry: the correct device input at step 32 and its adjusted measured electrical characteristic from step 18 .
  • the next time that same device is plugged into the same jack its measured electrical characteristic at step 18 will be used at step 20 after consulting database 24 to correctly identify the device and, when prompted, the user will indicate that the device identified is correct at step 28 .
  • the system thereafter gets it right and correctly identifies the device so the user does not have to repeatedly make the same correction.
  • Codec 44 measures the impedance of a device plugged into a jack.
  • the measurement is read by driver 48 from the Codec, which is later used by the software modules.
  • the measurement data read by driver 48 typically consists of the SR and OR values which represent the raw impedance measured and the S value which represents the Codec device guess (identification).
  • a flag indicating whether to unravel and unravel values at step 12 required to use in the unravel algorithm of step 18 is stored in a file such as the platform configuration file on a per jack basis.
  • the platform configuration file is called “platform.cfg” 14 . This configuration file is broken down into several sections, one for each vendor platform. In each platform section there exist “keys” that contain data values used to perform unraveling.
  • Driver 48 and the middleware 56 use the same algorithm 18 to perform component level unraveling which can be performed by either module.
  • a decision is made whether to perform the unravel algorithm on the data at step 12 .
  • a flag in the configuration tables indicate to the software modules whether unraveling is required. If unraveling is required, component values 16 are needed to execute unravel algorithm. These values are retrieved from the configuration tables 14 at system start.
  • Circuit level unraveling is performed similarly as outlined by the steps above along with an additional software module that understands how to perform the actual circuit algorithm.
  • database 24 is used to store/retrieve all learned values.
  • the database used is the system registry.
  • learned data is stored on a per AC97-Rev2.3 function code basis. So, for each function code specified by the specification, a table of learned data exists.
  • the function codes indicate and define how each jack behaves. Jacks may have more than one function in the platform. For example a jack may behave as a microphone or as C/LFE speakers at any given time.
  • middleware module 56 loads the learned data 24 from the system registry database and creates the tables for use later for learning.
  • the reported impedance is matched up against the learned tables to identify the device.
  • Device identification uses the raw or unraveled impedance read from Codec 44 for determining the detected device.
  • the impedance is matched against the learned tables 24 based on the currently assigned function of the jack. If not identified, it matches it to the table of the jack's alternate assigned function. If still not identified, it searches the remaining function learned tables to complete the device identification process. In the event the learned tables cannot identify the device still, step 21 uses the vendor supplied device values in table 22 . Finally, if the device is still unknown, the Codec's identification is used at step 23 .
  • the device identification is presented to the user/application at step 26 and once confirmed at step 28 it is added to the learned tables for future use at step 34 .
  • FIG. 2 shows jacks 40 a - 40 c connected to application circuit 42 , itself connected to codec 44 which is configured to measure at least one electrical characteristic of a device connected to the jack and to identify the device based on the measured electrical characteristic.
  • Codec 44 is typically on the motherboard add-in/riser card of the computer along with the CPU, etc. 46 , application circuit 42 , and codec driver 48 .
  • FIG. 2 also shows optional audio processing circuit 50 and miscellaneous applications 52 .
  • middleware application 56 is the software responsive to the measured electrical characteristic output by codec 44 and configured to adjust that electrical characteristic measured by the codec based on the application circuit information stored in database 14 (step 18 , FIG. 1 ). Also, middleware application 56 uses and accommodates for any changes to the default design application circuit information stored in database 14 when changes are made to the components of a given application circuit by a particular vendor.
  • the platform configuration file 14 is used by the vendor to update the application circuit information.
  • middleware application 56 could be implemented in codec driver 48 responsive to the registers of codec 44 and configured to measure the electrical characteristics and make the initial identification of a device plugged into any one of jacks 40 a - 40 c .
  • middleware layer 56 is responsive to codec driver 48 to more accurately identify the device plugged into any one of jacks 40 a - 40 c based on the measured electrical characteristics and database 14 .
  • Driver 48 and middleware application 56 both, however, typically carry out unraveling steps 12 and 18 , FIG. 1 .
  • Middleware application 56 in connection with user interface 54 typically also provides the functionality associated with steps 26 , 28 , 32 , and 34 of FIG. 1 . So, middleware application 56 accesses database 24 populated with standard devices that are typically plugged into jacks 40 a - 40 c and their electrical characteristics. Middleware application 56 activates user interface 54 , FIG. 2 to query a user a monitor whether the identified device is correct and if so activates the reconfiguration circuit as set forth in steps 28 and 30 , FIG. 1 . If the device identified is not correct, database 22 is accessed by middleware application 56 to provide, through user interface 54 , a list of standard devices which can be chosen by the user. After the user selects a given device, middleware application 56 activates the reconfiguration circuit in accordance with the user's selection.
  • Learned database 24 is populated with at least the electrical characteristics of devices whose electrical characteristics were measured by codec 44 but did not correspond to the device identified by the codec at step 20 , FIG. 1 .
  • Database 24 also includes, in the preferred embodiment, the electrical characteristics of devices whose electrical characteristics were measured by Codec 44 and which do correspond to the device identified by the Codec at step 20 .
  • Middleware application 56 is thus responsive to the measured electrical characteristic and configured to adjust the identification of the device based on the electrical characteristic stored in learned database 24 , step 20 , FIG. 2 .
  • learned device database 24 is populated with the electrical characteristics of devices whose electrical characteristics were measured by codec 44 but were incorrectly identified by codec 44 as noted by the user via user interface 54 .
  • middleware application 56 FIG. 2 is configured to adjust the codec's identification of the device based on learned database 24 so that after the first time the user adjusts an incorrect identification of a given device, the user never again has to make that correction.
  • User interface 54 under the control of middleware application 56 prompts the user on a display to confirm the identification of the device plugged into jack 40 and if incorrect to return an indication of the correct device so middleware application 56 can populate learned devices database 24 .
  • middleware application 56 populates learned devices database 24 with the correct devices and their electrical characteristics so that the next time the characteristic is measured, the user is prompted with an identification corresponding to the correct device.
  • middleware application 56 FIG. 2 performs a sense cycle on all jacks and input/output connectors, step 62 , FIG. 3 .
  • a comparison is made, step 64 with the configuration before system shut down by consulting configuration database 13 .
  • step 66 user messaging is initiated for each changed jack, step 69 . If the configuration is not different at step 66 , the initialization process is complete.
  • Step 62 of FIG. 3 is explained in more detail in FIG. 4 where, after starting at step 70 , the audio jack device change notification is input at step 72 and if there is an indication that a device has been removed from a jack at step 74 , the user is notified at step 76 through user interface 54 .
  • middleware application 56 displays to the user its best guess as to what device is plugged into what jack and prompts the user for verification as shown at step 78 . This aspect of middleware application 76 is explained above with reference to FIGS. 1 and 2 .
  • step 84 the codec driver is notified of any reconfiguration of hardware if required, step 84 and an option can be provided to run a configuration wizard to set the volume, balance, and the like, step 82 . If the middleware application's best guess is incorrect as noted by the user, steps 32 - 34 of FIG. 1 are carried out. Failure to identify the correct device after carrying out those steps can result in notifying the user at step 80 , FIG. 4 that the connection is incorrect or not supported.
  • FIG. 5 delineates the primary functions carried out by middleware application 56 including user messaging, load measurement mapping to device database/lists, device learning and storage and retrieval, the use of hardware platform circuit details to better determine real load peripherals and devices, and keeping track of current input/output corrections and configurations.
  • Middleware layer 56 accesses platform specific configuration database 14 which includes platform customization and default overrides as discussed above.
  • Middleware layer 56 also accesses standard device database 22 which includes a list of standard devices and their impedance characteristics and also learned device database 24 which includes standard devices updated with additional devices identified by users and original equipment manufacturers.
  • Middleware application 56 , FIG. 5 may also access a configuration database to maintain a list of what device is in what jack as discussed above with respect to steps 64 and 66 of FIG. 3 .
  • Middleware application 56 or another application checks the configuration of the system against the configuration database on startup to provide an alert of changes while the system was powered off, asleep, or in a standby mode.
  • Codec 44 FIG. 6 detects a device plug-in to jack insert event and performs a sense cycle as discussed above with respect to FIG. 3 .
  • the codec driver 48 reads the sense measurements from the codec hardware and middleware layer 56 evaluates the application circuit to adjust the electrical characteristics as discussed above with reference to FIG. 1 by consulting configuration database 14 . That database includes the platform specific application circuit information.
  • Middleware layer 56 also performs the other functions discussed above.
  • driver 48 a it is possible, however, to configure or program codec driver 48 a , FIG. 7 to consult configuration database 14 as shown at step 100 , FIG. 7 and to adjust the electrical characteristic measured by the codec based on the application circuit information stored in database 13 and then provide the adjusted electrical characteristic of the device to middleware layer 56 a .
  • driver 48 a and middleware application 56 a perform the unraveling function.
  • Driver 48 a is implemented in the kernel mode of the microprocessor operating system while middleware application 56 a is implemented in the user mode of the microprocessor operating system.
  • FIG. 8 shows in more detail steps 20 , 26 , 28 , and 34 of FIG. 1 .
  • an adjustment is made to the identification of the device based on the electrical characteristics of the application circuit as discussed above by consulting standard device database 22 and/or learned device database 24 .
  • Standard device database 22 may include information about different headphones, unpowered speakers, SPDIF receivers, mono microphones, stereo microphones, powered speakers, and the like.
  • the middleware layer's best guess as to the identification of the device is reported to the user interface and the user is prompted for confirmation at step 26 . If the user confirms the determination made by the middleware application at step 28 , that aspect of the processing is complete as shown at step 102 . If the user identifies a device different than the device identified by the middleware layer at step 28 , however, the middleware layer updates learned database 24 as shown at step 34 and adds that device to the list of learned devices as described above.
  • Codec driver sensing in accordance with the subject invention includes the step of detecting an input/output connector plug in or out event, step 104 , FIG. 9 and a determination of whether a device is plugged in or removed, step 106 .
  • the codec measurement cycle is then initiated step 108 under the control of middleware application 56 and the impedance measurements from the codec register are analyzed, step 110 . That information is sent to the middleware application 56 to interpret and validate as discussed above, step 112 , and the jack is reconfigured step 114 .
  • step 116 other applications are signaled or filter drivers are turned off as applicable.
  • the result in any embodiment, is a system for and method of determining the true electrical characteristics of a device plugged into the jack of a computer and for verifying the identification of such a device.
  • the resulting system and method reduces costly support calls, is fully compliant with the specification for modern codecs, allows a device plugged into a jack to be correctly identified even if the specific components of the application circuit change or change in value, and is more user friendly.

Abstract

A system and method for determining the true electrical characteristics of a device. A codec is configured to measure at least one electrical characteristic of a device connected to a jack and to identify the device based on the measured electrical characteristics. An updateable database is populated with application circuit information and a software routine is responsive to the measured electrical characteristic and configured to adjust the electrical characteristics measured by the codec based on the application circuit information in the database.

Description

    RELATED APPLICATIONS
  • This application is a Continuation-in-part application of application Ser. No. 10/464,951 filed Jun. 19, 2003.
  • FIELD OF THE INVENTION
  • This invention relates to a system useful for determining the true electrical characteristics of a device connected to a jack (e.g., input/output connector) of a computer including a codec.
  • BACKGROUND
  • Codecs process audio signals in a computer such as PCs and handheld devices. One of the primary functions of an audio codec is to convert both input and output audio signals to and from the internal digital signal format of the computer and the typically analog signal format of external devices plugged into the computer. The codec is typically embodied in a chip on the motherboard add-in/riser card along with one or more application circuits for the various jacks. The CPU, the processor, the memory, and the core logic are also typically motherboard level devices.
  • One method of connecting external audio devices to the computer is to use a 3.5 mm or similar stereo audio jack. Each computer contains several jacks, which have typically been dedicated to a single function each, such as a stereo line out for speakers, a microphone input, and a line input. With the increase in multimedia formats available today, there is a need for increasing the number of input and output audio devices that the computer can support without increasing the current number of jacks on the computer which would increase the cost of the system. Even with just a few jacks, computer users incorrectly connect external devices to the wrong jack which leads to costly support calls. Increasing the number of jacks on the computer would only increase the likelihood that a user would incorrectly connect an external device to the wrong jack further increasing the number of costly support calls.
  • In the patent application filed Jun. 19, 2003 referenced above and hereby incorporated herein by this reference, the applicant hereof discloses codec circuitry which uniquely measures the electrical characteristics of a device plugged into a jack as a way to identify the device. Then, a reconfigurable circuit is activated to make sure the identified device is correctly supported. The Intel Corporation, in the specification entitled “Audio Codec '97” (Rev 2.3, April 2002), also incorporated herein by this reference, calls the device identification data the “sensed bits.” Another Intel specification incorporated herein by this reference is entitled “First Generation Intel® Audio PnP User Model and Methodologies” (Rev 1.1, Aug. 12, 2002). That specification discloses, inter alia, the idea of prompting the user to verify that the identification of the device output by the codec is correct.
  • It would be possible to provide logic in the codec which compensates for the electrical characteristics of the application circuit when the electrical characteristics of a device plugged into the jack are measured by the codec to identify the device. But, as between different manufacturers and as between different production runs, the specific programming the codec to compensate for a set of electrical characteristics subject to change is not a reliable solution. And, the Intel specification fails to teach or suggest an alternative solution: in fact it does not even identify the problem posed by the application circuit in making a device identification.
  • Finally, although the Intel specification discusses the idea of querying the user to verify the correctness of the identification made by the codec, it would be extremely awkward and annoying if the user had to make the same correction every time the user plugged in the same device. That is, if each time the codec incorrectly identified headphones as a speaker the user had to make the same correction each time the user plugged the headphones into the personal computer, the user would quickly become frustrated. The Intel specification also fails to identify this problem or a solution.
  • The subject invention solves both problems via a unique middleware application responsive to the codec driver and the user interface as an alternative to attempting to solve these problems at the codec/motherboard level.
  • SUMMARY OF THE INVENTION
  • It is therefore an object of this invention to provide a system for and method of determining the true electrical characteristics of a device plugged into the jack (e.g., input/output connector) of a computer.
  • It is a further object of this invention to provide such a system for and method of verifying the identification of such a device.
  • It is a further object of this invention to provide a system and method which reduces costly support calls.
  • It is a further object of this invention to provide such a system and method which is fully compliant with the specification for modern codecs.
  • It is a further object of this invention to provide such a system and method which allows a device plugged into a jack to be correctly identified even if the specific components of the application circuit change or change in value.
  • It is a further object of this invention to provide such a system and method which is more user friendly.
  • The invention results from the realization that a device plugged into a computer can be more accurately identified if the details about the application circuit are stored in an updatable database referred to in order to adjust the electrical characteristics of the device measured by the codec. In summary, a middleware application “second guesses” the codec's identification of the device by taking into account the application circuit's effect on the measurement of the electrical characteristics of the device by the codec. Furthermore, in the event this second guess turns out to be wrong, that mistake is never made again since the middleware application learns from its mistake.
  • This invention features a system for determining the true electrical characteristic of a device, the system comprising a codec configured to measure at least one electrical characteristic of a device connected to a jack and to identify the device based on the measured electrical characteristic, an updateable database populated with at least application circuit information, and a software routine responsive to the measured electrical characteristic and configured to adjust the electrical characteristic measured by the codec based on the application circuit information in the database.
  • In one example, the updateable database is populated with resistance and capacitance values for the resistors and capacitors in the application circuit information. Typically, the updateable database is initially populated with default design resistance and capacitance values. Further included may be a routine for changing the default design resistance and capacitance values to reflect changes thereto.
  • In one embodiment, the software routine is implemented in a codes driver responsive to the register of the codec containing the measured electrical characteristic and the identification of the device. A middleware application may be responsive to the codec driver configured to more accurately identify the device based on the adjusted electrical characteristic. Also a database may be populated with devices and their electrical characteristics, the database accessible by the middleware application. Typically, a reconfiguration circuit is connected to the jack and the middleware application is further configured to query the user whether the identified device is correct and if so to activate the reconfiguration circuit based on the identified device and if not to access the database of devices allowing the user to choose a said device. The middleware application may be further configured to activate the reconfiguration circuit based on the device chosen by the user.
  • In another example, the software routine is implemented in a middleware layer responsive to a codec driver itself responsive to the register of the codec containing the measured electrical characteristic and the identification of the device. A reconfiguration circuit may be connected to the jack. Then, the middleware application is further configured to query the user whether the identified device is correct and if so to activate the reconfiguration circuit based on the identified device and if not to access a database of standard devices allowing the user to choose a said device. The middleware application may be further configured to activate the reconfiguration circuit based on the device chosen by the user.
  • In the preferred embodiment, there is an updateable database populated with the electrical characteristics of a plurality of devices whose electrical characteristics were measured by the codec but did not correspond to the device identified by the codec and a software routine responsive to the measured electrical characteristic and configured to adjust the identification of the device based on the electrical characteristics stored in the database. Typically, both software routines are implemented in a middleware application disposed between a driver for the codec and a user interface.
  • This invention also features a method of identifying a device plugged into a jack connected to an application circuit for the jack, the method comprising measuring at least one electrical characteristic of the device connected to a jack, adjusting the measured electrical characteristic based on the configuration of the applicant circuit, and identifying the device based on the adjusted measured electrical characteristic. In one example, measuring is carried out by a codec connected to the application circuit and adjusting includes referencing a database populated with application circuit component values. Further included may be the step of outputting a query to determine whether the identification is correct and if not populating a database with the correct identification.
  • BRIEF DESCRIPTION OF THE DRAWINGS
  • Other objects, features and advantages will occur to those skilled in the art from the following description of a preferred embodiment and the accompanying drawings, in which:
  • FIG. 1 is a flow chart showing the primary steps associated with one embodiment of the system and method of the subject invention;
  • FIG. 2 is a block diagram showing the primary software and hardware components associated with a complete codec based system in accordance with the subject invention;
  • FIG. 3 is a flow chart showing the primary steps associated with an initialization routine for the subject invention;
  • FIG. 4 is a flow chart showing the primary steps associated with an example of user interface messaging software for the subject invention;
  • FIG. 5 is a block diagram showing the primary components associated with the middleware application in one embodiment of the subject invention;
  • FIG. 6 is a flow chart showing the primary steps associated with the system for determining the true electrical characteristics of a device implemented in the middleware application in one embodiment of the subject invention;
  • FIG. 7 is a flow chart depicting the primary steps associated with the system for determining the true electrical characteristics of a device implemented in the codec driver in accordance with another embodiment of the subject invention;
  • FIG. 8 is a flow chart showing the primary steps associated with an example of a system and method for verifying the identification of a device in accordance with the subject invention; and
  • FIG. 9 is a flow chart depicting the primary steps associated with a codec driver sensing algorithm useful in connection with the subject invention.
  • DISCLOSURE OF THE PREFERRED EMBODIMENT
  • Aside from the preferred embodiment or embodiments disclosed below, this invention is capable of other embodiments and of being practiced or being carried out in various ways. Thus, it is to be understood that the invention is not limited in its application to the details of construction and the arrangements of components set forth in the following description or illustrated in the drawings.
  • In one embodiment, the primary steps associated with the processing circuitry and method of the subject invention are as shown in FIG. 1. Codec 44, preferably as set forth in the patent application discussed above, measures one or more electrical characteristics of a device plugged into a jack and identifies the device (sensed bits) step 12 as, for example, a speaker, headphones, a microphone, and the like. The output from Codec 44 is a set of bits representing the Codec's identification, and the raw bits representing the impedance values measured.
  • As stated in the Background section above, the application circuit connected between the codec and the jack, however, can affect the electrical characteristic measured by the codec and hence sometimes adversely affect the identification made by Codec 44. In accordance with the subject invention, database 14 is populated with the current resistance, capacitance, and other values 16 (application circuit configuration information) of the components of the application circuit. Those resistors and capacitors and especially any changes thereto made by the application circuit supplier can affect the electrical characteristics measured by Codec 44 and could result in an incorrect identification. If unraveling is initiated at step 12, to correct this situation, an adjustment is made to the measured electrical characteristic at step 18 after consulting database 14. Based on the adjusted electrical characteristic, or even based on the Codec's measured electrical characteristics, the identification of the device is adjusted beginning at step 20. Database 14 typically includes default design resistance and capacitance values as specified by the manufacturer of the application circuit. Database 14 can be updated, however, with the true values of the actual application circuit as implemented in a given audio subsystem.
  • In accordance with the invention, further adjustments can be made by consulting database 24 and/or optional vendor table 22. Table 22 is located in the platform configuration file, typically populated with standard (default) vendor specific devices and one or more of their electrical characteristics. Thus, if the adjusted electrical characteristic at step 18 more closely matches a device in table 22 than the device identified by Codec 44, the device stored in table 22 is now the identified device at step 19. Learned database 24, in turn, is typically populated with other devices and their electrical characteristics as discussed below. And, learned database 24 is preferably consulted first as shown at step 20. Once learned database 24 is populated, it is rare that table 22 need be consulted.
  • Once the device is identified, the user can be prompted for verification as shown at step 26. If the user verifies that the device actually plugged into the jack is the device identified, reconfiguration circuit 30 is activated as set forth in the patent application discussed above to make an adaptation for the device plugged into the jack. Typically this is accomplished by selectively positioning amplifiers between low on-impedance and high off-impedance states.
  • If, however, a user responds that the device identified is not the device actually plugged into the jack, then at step 28 the user is asked to identify the correct device, step 32. Reconfiguration (step 30) then proceeds using the correct device identified and, in addition, learned database 24 is updated, step 34 to include the new entry: the correct device input at step 32 and its adjusted measured electrical characteristic from step 18. Then, the next time that same device is plugged into the same jack, its measured electrical characteristic at step 18 will be used at step 20 after consulting database 24 to correctly identify the device and, when prompted, the user will indicate that the device identified is correct at step 28. In this way, once a user makes a correction with respect to an incorrectly identified device, the system thereafter gets it right and correctly identifies the device so the user does not have to repeatedly make the same correction.
  • Codec 44 measures the impedance of a device plugged into a jack. The measurement is read by driver 48 from the Codec, which is later used by the software modules. The measurement data read by driver 48 typically consists of the SR and OR values which represent the raw impedance measured and the S value which represents the Codec device guess (identification).
  • A flag indicating whether to unravel and unravel values at step 12 required to use in the unravel algorithm of step 18 is stored in a file such as the platform configuration file on a per jack basis. The platform configuration file is called “platform.cfg” 14. This configuration file is broken down into several sections, one for each vendor platform. In each platform section there exist “keys” that contain data values used to perform unraveling.
  • There are two aspects to unravel: component level unravel and circuit level unravel. The first applies when vendor uses a reference design but chooses alternate components the achieve it. In this case, unravel requires the component values to unravel the measured impedance to better identify the device. The second applies when a vendor uses a circuit that is not based on reference design. In this case, not only are the component values required, a circuit specific algorithm is also required.
  • Driver 48 and the middleware 56 (interface module) use the same algorithm 18 to perform component level unraveling which can be performed by either module. As the raw sensed data is received by the software, a decision is made whether to perform the unravel algorithm on the data at step 12. A flag in the configuration tables indicate to the software modules whether unraveling is required. If unraveling is required, component values 16 are needed to execute unravel algorithm. These values are retrieved from the configuration tables 14 at system start.
  • Circuit level unraveling is performed similarly as outlined by the steps above along with an additional software module that understands how to perform the actual circuit algorithm.
  • For learning, database 24 is used to store/retrieve all learned values. In Windows operating systems, the database used is the system registry.
  • In one embodiment, learned data is stored on a per AC97-Rev2.3 function code basis. So, for each function code specified by the specification, a table of learned data exists. The function codes indicate and define how each jack behaves. Jacks may have more than one function in the platform. For example a jack may behave as a microphone or as C/LFE speakers at any given time.
  • At system startup, middleware module 56 loads the learned data 24 from the system registry database and creates the tables for use later for learning. During system execution, as devices are detected in the jacks, the reported impedance (raw or unraveled) is matched up against the learned tables to identify the device.
  • Device identification uses the raw or unraveled impedance read from Codec 44 for determining the detected device. First, at step 20, the impedance is matched against the learned tables 24 based on the currently assigned function of the jack. If not identified, it matches it to the table of the jack's alternate assigned function. If still not identified, it searches the remaining function learned tables to complete the device identification process. In the event the learned tables cannot identify the device still, step 21 uses the vendor supplied device values in table 22. Finally, if the device is still unknown, the Codec's identification is used at step 23.
  • The device identification is presented to the user/application at step 26 and once confirmed at step 28 it is added to the learned tables for future use at step 34.
  • FIG. 2 shows jacks 40 a-40 c connected to application circuit 42, itself connected to codec 44 which is configured to measure at least one electrical characteristic of a device connected to the jack and to identify the device based on the measured electrical characteristic. Codec 44 is typically on the motherboard add-in/riser card of the computer along with the CPU, etc. 46, application circuit 42, and codec driver 48. For the sake of completeness, FIG. 2 also shows optional audio processing circuit 50 and miscellaneous applications 52.
  • In the preferred embodiment, middleware application 56 is the software responsive to the measured electrical characteristic output by codec 44 and configured to adjust that electrical characteristic measured by the codec based on the application circuit information stored in database 14 (step 18, FIG. 1). Also, middleware application 56 uses and accommodates for any changes to the default design application circuit information stored in database 14 when changes are made to the components of a given application circuit by a particular vendor. The platform configuration file 14 is used by the vendor to update the application circuit information.
  • In an alternative embodiment, all or selected functions of middleware application 56 could be implemented in codec driver 48 responsive to the registers of codec 44 and configured to measure the electrical characteristics and make the initial identification of a device plugged into any one of jacks 40 a-40 c. Typically, middleware layer 56 is responsive to codec driver 48 to more accurately identify the device plugged into any one of jacks 40 a-40 c based on the measured electrical characteristics and database 14. Driver 48 and middleware application 56 both, however, typically carry out unraveling steps 12 and 18, FIG. 1.
  • Middleware application 56 in connection with user interface 54 typically also provides the functionality associated with steps 26, 28, 32, and 34 of FIG. 1. So, middleware application 56 accesses database 24 populated with standard devices that are typically plugged into jacks 40 a-40 c and their electrical characteristics. Middleware application 56 activates user interface 54, FIG. 2 to query a user a monitor whether the identified device is correct and if so activates the reconfiguration circuit as set forth in steps 28 and 30, FIG. 1. If the device identified is not correct, database 22 is accessed by middleware application 56 to provide, through user interface 54, a list of standard devices which can be chosen by the user. After the user selects a given device, middleware application 56 activates the reconfiguration circuit in accordance with the user's selection.
  • Learned database 24, as stated above, is populated with at least the electrical characteristics of devices whose electrical characteristics were measured by codec 44 but did not correspond to the device identified by the codec at step 20, FIG. 1. Database 24 also includes, in the preferred embodiment, the electrical characteristics of devices whose electrical characteristics were measured by Codec 44 and which do correspond to the device identified by the Codec at step 20. Middleware application 56 is thus responsive to the measured electrical characteristic and configured to adjust the identification of the device based on the electrical characteristic stored in learned database 24, step 20, FIG. 2.
  • In this way, learned device database 24 is populated with the electrical characteristics of devices whose electrical characteristics were measured by codec 44 but were incorrectly identified by codec 44 as noted by the user via user interface 54. As explained above with reference to steps 32, 34 and 20, FIG. 1, middleware application 56, FIG. 2 is configured to adjust the codec's identification of the device based on learned database 24 so that after the first time the user adjusts an incorrect identification of a given device, the user never again has to make that correction. User interface 54 under the control of middleware application 56 prompts the user on a display to confirm the identification of the device plugged into jack 40 and if incorrect to return an indication of the correct device so middleware application 56 can populate learned devices database 24.
  • In this way, middleware application 56 populates learned devices database 24 with the correct devices and their electrical characteristics so that the next time the characteristic is measured, the user is prompted with an identification corresponding to the correct device.
  • As shown in FIG. 3, upon initialization, middleware application 56, FIG. 2 performs a sense cycle on all jacks and input/output connectors, step 62, FIG. 3. A comparison is made, step 64 with the configuration before system shut down by consulting configuration database 13.
  • If the configuration is different, step 66, user messaging is initiated for each changed jack, step 69. If the configuration is not different at step 66, the initialization process is complete.
  • Step 62 of FIG. 3 is explained in more detail in FIG. 4 where, after starting at step 70, the audio jack device change notification is input at step 72 and if there is an indication that a device has been removed from a jack at step 74, the user is notified at step 76 through user interface 54. Next, middleware application 56 displays to the user its best guess as to what device is plugged into what jack and prompts the user for verification as shown at step 78. This aspect of middleware application 76 is explained above with reference to FIGS. 1 and 2.
  • If the user indicates that the middleware application's best guess is correct then the codec driver is notified of any reconfiguration of hardware if required, step 84 and an option can be provided to run a configuration wizard to set the volume, balance, and the like, step 82. If the middleware application's best guess is incorrect as noted by the user, steps 32-34 of FIG. 1 are carried out. Failure to identify the correct device after carrying out those steps can result in notifying the user at step 80, FIG. 4 that the connection is incorrect or not supported.
  • FIG. 5 delineates the primary functions carried out by middleware application 56 including user messaging, load measurement mapping to device database/lists, device learning and storage and retrieval, the use of hardware platform circuit details to better determine real load peripherals and devices, and keeping track of current input/output corrections and configurations. Middleware layer 56 accesses platform specific configuration database 14 which includes platform customization and default overrides as discussed above. Middleware layer 56 also accesses standard device database 22 which includes a list of standard devices and their impedance characteristics and also learned device database 24 which includes standard devices updated with additional devices identified by users and original equipment manufacturers. Middleware application 56, FIG. 5 may also access a configuration database to maintain a list of what device is in what jack as discussed above with respect to steps 64 and 66 of FIG. 3. Middleware application 56 or another application checks the configuration of the system against the configuration database on startup to provide an alert of changes while the system was powered off, asleep, or in a standby mode.
  • Codec 44, FIG. 6 detects a device plug-in to jack insert event and performs a sense cycle as discussed above with respect to FIG. 3. The codec driver 48 reads the sense measurements from the codec hardware and middleware layer 56 evaluates the application circuit to adjust the electrical characteristics as discussed above with reference to FIG. 1 by consulting configuration database 14. That database includes the platform specific application circuit information. Middleware layer 56 also performs the other functions discussed above.
  • It is possible, however, to configure or program codec driver 48 a, FIG. 7 to consult configuration database 14 as shown at step 100, FIG. 7 and to adjust the electrical characteristic measured by the codec based on the application circuit information stored in database 13 and then provide the adjusted electrical characteristic of the device to middleware layer 56 a. Typically, however, both driver 48 a and middleware application 56 a perform the unraveling function. Driver 48 a is implemented in the kernel mode of the microprocessor operating system while middleware application 56 a is implemented in the user mode of the microprocessor operating system.
  • FIG. 8 shows in more detail steps 20, 26, 28, and 34 of FIG. 1. At step 20, an adjustment is made to the identification of the device based on the electrical characteristics of the application circuit as discussed above by consulting standard device database 22 and/or learned device database 24. Standard device database 22 may include information about different headphones, unpowered speakers, SPDIF receivers, mono microphones, stereo microphones, powered speakers, and the like. At step 26, the middleware layer's best guess as to the identification of the device is reported to the user interface and the user is prompted for confirmation at step 26. If the user confirms the determination made by the middleware application at step 28, that aspect of the processing is complete as shown at step 102. If the user identifies a device different than the device identified by the middleware layer at step 28, however, the middleware layer updates learned database 24 as shown at step 34 and adds that device to the list of learned devices as described above.
  • Codec driver sensing in accordance with the subject invention includes the step of detecting an input/output connector plug in or out event, step 104, FIG. 9 and a determination of whether a device is plugged in or removed, step 106. The codec measurement cycle is then initiated step 108 under the control of middleware application 56 and the impedance measurements from the codec register are analyzed, step 110. That information is sent to the middleware application 56 to interpret and validate as discussed above, step 112, and the jack is reconfigured step 114. In optional step 116, other applications are signaled or filter drivers are turned off as applicable.
  • The result, in any embodiment, is a system for and method of determining the true electrical characteristics of a device plugged into the jack of a computer and for verifying the identification of such a device.
  • The resulting system and method reduces costly support calls, is fully compliant with the specification for modern codecs, allows a device plugged into a jack to be correctly identified even if the specific components of the application circuit change or change in value, and is more user friendly.
  • Although specific features of the invention are shown in some drawings and not in others, this is for convenience only as each feature may be combined with any or all of the other features in accordance with the invention. The words “including”, “comprising”, “having”, and “with” as used herein are to be interpreted broadly and comprehensively and are not limited to any physical interconnection. Moreover, any embodiments disclosed in the subject application are not to be taken as the only possible embodiments.
  • Other embodiments will occur to those skilled in the art and are within the following claims:

Claims (20)

1. A system for determining the true electrical characteristic of a device, the system comprising:
a codec configured to measure at least one electrical characteristic of a device connected to a jack and to identify the device based on the measured electrical characteristic;
an updateable database populated with application circuit information; and
a software routine responsive to the measured electrical characteristic and configured to adjust the electrical characteristic measured by the codec based on the application circuit information in the database.
2. The system of claim 1 in which the updateable database is populated with resistance and capacitance values for the resistors and capacitors in the application circuit information.
3. The system of claim 2 in which the updateable database is initially populated with default design resistance and capacitance values.
4. The system of claim 3 further including a routine for changing the default design resistance and capacitance values to reflect changes thereto.
5. The system of claim 1 in which the software routine is implemented in a codec driver responsive to the register of the codec containing the measured electrical characteristic and the identification of the device.
6. The system of claim 5 further including a middleware application responsive to the codec driver configured to more accurately identify the device based on the adjusted electrical characteristic.
7. The system of claim 6 further including a database populated with devices and their electrical characteristics, the database accessible by the middleware application.
8. The system of claim 7 further including a reconfiguration circuit connected to the jack.
9. The system of claim 8 in which the middleware application is further configured to query the user whether the identified device is correct and if so to activate the reconfiguration circuit based on the identified device and if not to access the database of devices allowing the user to choose a said device.
10. The system of claim 9 in which the middleware application is further configured to activate the reconfiguration circuit based on the device chosen by the user.
11. The system of claim 1 in which the software routine is implemented in a middleware layer responsive to a codec driver itself responsive to the register of the codec containing the measured electrical characteristic and the identification of the device.
12. The system of claim 11 further including a reconfiguration circuit connected to the jack.
13. The system of claim 12 in which the middleware application is further configured to query the user whether the identified device is correct and if so to activate the reconfiguration circuit based on the identified device and if not to access a database of standard devices allowing the user to choose a said device.
14. The system of claim 13 in which the middleware application is further configured to activate the reconfiguration circuit based on the device chosen by the user.
15. The system of claim 1 further including:
an updateable database populated with at least the electrical characteristics of a plurality of devices whose electrical characteristics were measured by the codec but did not correspond to the device identified by the codec, and a software routine responsive to the measured electrical characteristic and configured to adjust the identification of the device based on the electrical characteristics stored in the database.
16. The system of claim 15 in which both software routines are implemented in a middleware application disposed between a driver for the codec and a user interface.
17. A method of identifying a device plugged into a jack connected to an application circuit for the jack, the method comprising:
measuring at least one electrical characteristic of the device connected to a jack;
adjusting the measured electrical characteristic based on the configuration of the applicant circuit; and
identifying the device based on the adjusted measured electrical characteristic.
18. The method of claim 17 in which measuring is carried out by a codec connected to the application circuit.
19. The system of claim 17 in which adjusting includes referencing a database populated with application circuit component values.
20. The system of claim 17 further including outputting a query to determine whether the identification is correct and if not populating a database with the correct identification.
US10/865,458 2002-06-24 2004-06-10 System for determining the true electrical characteristics of a device Expired - Fee Related US7912668B2 (en)

Priority Applications (7)

Application Number Priority Date Filing Date Title
US10/865,458 US7912668B2 (en) 2002-06-24 2004-06-10 System for determining the true electrical characteristics of a device
PCT/US2005/020687 WO2005124939A2 (en) 2004-06-10 2005-06-10 A system for determining the true electrical characteristics of a device
CN200910263739A CN101794170A (en) 2004-06-10 2005-06-10 A system for verifying the identification of a device
CN200580016297A CN100590572C (en) 2004-06-10 2005-06-10 System for determining the true electrical characteristics of a device
JP2007527791A JP4308296B2 (en) 2004-06-10 2005-06-10 System for measuring the true electrical properties of a device
TW094119303A TWI292126B (en) 2004-06-10 2005-06-10 System for determining the true electrical characteristics of a device and method for identifying a device plugged into a jack
EP05759775.9A EP1754287B1 (en) 2004-06-10 2005-06-10 A system for determining the true electrical characteristics of a device

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US39111902P 2002-06-24 2002-06-24
US10/464,951 US7890284B2 (en) 2002-06-24 2003-06-19 Identification system and method for recognizing any one of a number of different types of devices
US10/865,458 US7912668B2 (en) 2002-06-24 2004-06-10 System for determining the true electrical characteristics of a device

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
US10/464,951 Continuation-In-Part US7890284B2 (en) 2002-06-24 2003-06-19 Identification system and method for recognizing any one of a number of different types of devices

Publications (3)

Publication Number Publication Date
US20040259435A1 US20040259435A1 (en) 2004-12-23
US20100112875A9 true US20100112875A9 (en) 2010-05-06
US7912668B2 US7912668B2 (en) 2011-03-22

Family

ID=35510435

Family Applications (1)

Application Number Title Priority Date Filing Date
US10/865,458 Expired - Fee Related US7912668B2 (en) 2002-06-24 2004-06-10 System for determining the true electrical characteristics of a device

Country Status (6)

Country Link
US (1) US7912668B2 (en)
EP (1) EP1754287B1 (en)
JP (1) JP4308296B2 (en)
CN (2) CN100590572C (en)
TW (1) TWI292126B (en)
WO (1) WO2005124939A2 (en)

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7912668B2 (en) * 2002-06-24 2011-03-22 Analog Devices, Inc. System for determining the true electrical characteristics of a device
US7783058B2 (en) * 2002-06-24 2010-08-24 Analog Devices, Inc. System for verifying the identification of a device
US7890284B2 (en) * 2002-06-24 2011-02-15 Analog Devices, Inc. Identification system and method for recognizing any one of a number of different types of devices
TWI394045B (en) * 2007-11-30 2013-04-21 Chi Mei Comm Systems Inc Portable electronic device and method of identifying its accessories
US7726974B2 (en) 2008-03-20 2010-06-01 Illumitron International Magnetic power and data coupling for LED lighting
US8915609B1 (en) 2008-03-20 2014-12-23 Cooper Technologies Company Systems, methods, and devices for providing a track light and portable light
US8325931B2 (en) * 2008-05-02 2012-12-04 Bose Corporation Detecting a loudspeaker configuration
JP5141918B2 (en) * 2009-02-12 2013-02-13 オンキヨー株式会社 Device type identification device and device type identification system
US8589816B2 (en) * 2010-11-08 2013-11-19 Sony Corporation CE device for home energy management
KR101769798B1 (en) 2011-06-08 2017-08-21 삼성전자 주식회사 Characteristic Configuration Method For Accessory of Portable Device And Accessory operation System supporting the same
US9535102B2 (en) 2012-05-17 2017-01-03 Yamaha Corporation Test signal supplying device and semiconductor integrated circuit
US9465376B2 (en) 2013-07-26 2016-10-11 International Business Machines Corporation Managing electricity usage for an appliance

Citations (37)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4737657A (en) * 1986-07-10 1988-04-12 Jatko William B Interrogator system for identifying electrical circuits
US4972457A (en) * 1989-01-19 1990-11-20 Spectrum Information Technologies, Inc. Portable hybrid communication system and methods
US5259025A (en) * 1992-06-12 1993-11-02 Audio Digitalimaging, Inc. Method of verifying fake-proof video identification data
US5278904A (en) * 1992-10-09 1994-01-11 Gte Laboratories Incorporated Method of verifying identification
US5742685A (en) * 1995-10-11 1998-04-21 Pitney Bowes Inc. Method for verifying an identification card and recording verification of same
US5859522A (en) * 1997-07-16 1999-01-12 Motorola, Inc. Accessory identification apparatus and method
US6054846A (en) * 1994-02-18 2000-04-25 Ergo Mechanical Systems, Incorporated Universal power-supply connection system for multiple electronic devices, and devices for use therewith
US6069960A (en) * 1996-09-05 2000-05-30 Sony Corporation Connector device for information-handling apparatus and connector device for stereophonic audio/video apparatus
US6185627B1 (en) * 1998-04-28 2001-02-06 Gateway, Inc. Analog and digital audio auto sense
US6339831B1 (en) * 1997-09-11 2002-01-15 International Business Machines Corp. Automatic detecting unit for diagnosing a connection and identifying an external device, information processing apparatus, and external device
US20020133245A1 (en) * 2001-01-31 2002-09-19 Kuo-Chih Lee Display panel identification method for notebook computer by using audio signal
US20020172371A1 (en) * 2001-05-15 2002-11-21 Baker Brian A. Method and system for automatically detecting and powering PC speakers
US6498791B2 (en) * 1998-04-03 2002-12-24 Vertical Networks, Inc. Systems and methods for multiple mode voice and data communications using intelligently bridged TDM and packet buses and methods for performing telephony and data functions using the same
US20030002988A1 (en) * 2001-05-30 2003-01-02 General Electric Company Bonded niobium silicide and molybdenum silicide composite articles using semi-solid brazes
US6509659B1 (en) * 2001-10-24 2003-01-21 Motorola, Inc. Cable or module identification apparatus and method
US20030052712A1 (en) * 2001-07-05 2003-03-20 Comer Alan Elbert Electrically-programmable interconnect architecture for easily-configurable stacked circuit arrangements
US6643364B1 (en) * 2000-05-17 2003-11-04 Intel Corporation Providing telephony services
US6654840B1 (en) * 1998-05-19 2003-11-25 Sega Enterprises, Ltd. Connection cable identification mechanism
US6684262B1 (en) * 2000-10-25 2004-01-27 International Business Machines Corporation Method and system for controlling peripheral device interface behavior using thread registration
US20040081099A1 (en) * 2002-06-24 2004-04-29 Stuart Patterson Identification system and method for recognizing any one of a number of different types of devices
US20040101144A1 (en) * 2002-11-21 2004-05-27 Samsung Electronics Co., Ltd. Sound card, computer system using the sound card and control method thereof
US20040122541A1 (en) * 2002-12-19 2004-06-24 Disanza Leonard J. Programmable analog input/output integrated circuit system
US20040260846A1 (en) * 2002-06-24 2004-12-23 George Stephan System for verifying the identification of a device
US20040259435A1 (en) * 2002-06-24 2004-12-23 George Stephan System for determining the true electrical characteristics of a device
US6856046B1 (en) * 2002-03-08 2005-02-15 Analog Devices, Inc. Plug-in device discrimination circuit and method
US6859538B1 (en) * 1999-03-17 2005-02-22 Hewlett-Packard Development Company, L.P. Plug and play compatible speakers
US6862636B2 (en) * 2001-11-16 2005-03-01 Gateway, Inc. Multi-mode speaker operating from either digital or analog sources
US6877043B2 (en) * 2000-04-07 2005-04-05 Broadcom Corporation Method for distributing sets of collision resolution parameters in a frame-based communications network
US6877008B1 (en) * 2001-10-24 2005-04-05 Bellsouth Intellectual Property Corporation Rules engine for telecommunication circuit attribute identification
US20050086175A1 (en) * 2002-02-12 2005-04-21 Olivier Brique Method for storage and transport of an electronic certificate
US6970752B1 (en) * 2000-05-17 2005-11-29 Hewlett-Packard Development Company, L.P. Method and apparatus for detecting switch closures
US7002265B2 (en) * 1997-11-17 2006-02-21 Patrick Henry Potega Power supply methods and configurations
US7024539B2 (en) * 2000-07-17 2006-04-04 Silicon Laboratories Inc. Resistor identification configuration circuitry and associated method
US7039205B1 (en) * 1999-05-19 2006-05-02 Siemens Communications, Inc. Techniques for audio transducer switching under programmatic and off hook interrupt control
US7110799B1 (en) * 2002-06-14 2006-09-19 Symbol Technologies, Inc. Mobile terminal for interoperating with a standard or push-button enabled headset
US7286678B1 (en) * 1998-11-24 2007-10-23 Phonak Ag Hearing device with peripheral identification units
US7601032B2 (en) * 2005-02-07 2009-10-13 Motorola, Inc. Apparatus for altering poles on an accessory

Family Cites Families (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4792986A (en) 1985-12-11 1988-12-20 General Electric Company Portable radio system with externally programmable universal device connector
JP2884368B2 (en) 1990-07-19 1999-04-19 株式会社日立製作所 Outlet
US5323108A (en) 1992-01-23 1994-06-21 Hewlett-Packard Company Method for generating functional tests for printed circuit boards based on pattern matching of models
WO1999062180A1 (en) 1998-05-22 1999-12-02 Qualcomm Incorporated Differentiating between input ranges in a passive keypad
GB2360161B (en) 2000-03-10 2004-06-16 Nokia Mobile Phones Ltd Mobile imaging
JP2002101156A (en) 2000-09-22 2002-04-05 Sony Corp Portable telephone and method for processing voice
US6473332B1 (en) 2001-04-04 2002-10-29 The University Of Houston System Electrically variable multi-state resistance computing
EP1315361A1 (en) 2001-11-23 2003-05-28 Alcatel Multiconnector for mobile terminal
US7305253B2 (en) 2002-12-19 2007-12-04 Sony Ericsson Mobile Communications Ab Combination audio/charger jack
CN2614404Y (en) * 2003-03-05 2004-05-05 广州新富鑫电子科技有限公司 Equipment for bidirectional remote-controlling power source of electric appliance with telephone and programming microcomputer
US7241179B2 (en) 2003-03-05 2007-07-10 Sony Ericsson Mobile Communications Ab Universal audio jack and plug

Patent Citations (39)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4737657A (en) * 1986-07-10 1988-04-12 Jatko William B Interrogator system for identifying electrical circuits
US4972457A (en) * 1989-01-19 1990-11-20 Spectrum Information Technologies, Inc. Portable hybrid communication system and methods
US5259025A (en) * 1992-06-12 1993-11-02 Audio Digitalimaging, Inc. Method of verifying fake-proof video identification data
US5278904A (en) * 1992-10-09 1994-01-11 Gte Laboratories Incorporated Method of verifying identification
US6054846A (en) * 1994-02-18 2000-04-25 Ergo Mechanical Systems, Incorporated Universal power-supply connection system for multiple electronic devices, and devices for use therewith
US5742685A (en) * 1995-10-11 1998-04-21 Pitney Bowes Inc. Method for verifying an identification card and recording verification of same
US6069960A (en) * 1996-09-05 2000-05-30 Sony Corporation Connector device for information-handling apparatus and connector device for stereophonic audio/video apparatus
US5859522A (en) * 1997-07-16 1999-01-12 Motorola, Inc. Accessory identification apparatus and method
US6339831B1 (en) * 1997-09-11 2002-01-15 International Business Machines Corp. Automatic detecting unit for diagnosing a connection and identifying an external device, information processing apparatus, and external device
US7002265B2 (en) * 1997-11-17 2006-02-21 Patrick Henry Potega Power supply methods and configurations
US6498791B2 (en) * 1998-04-03 2002-12-24 Vertical Networks, Inc. Systems and methods for multiple mode voice and data communications using intelligently bridged TDM and packet buses and methods for performing telephony and data functions using the same
US6185627B1 (en) * 1998-04-28 2001-02-06 Gateway, Inc. Analog and digital audio auto sense
US6654840B1 (en) * 1998-05-19 2003-11-25 Sega Enterprises, Ltd. Connection cable identification mechanism
US7286678B1 (en) * 1998-11-24 2007-10-23 Phonak Ag Hearing device with peripheral identification units
US6859538B1 (en) * 1999-03-17 2005-02-22 Hewlett-Packard Development Company, L.P. Plug and play compatible speakers
US7039205B1 (en) * 1999-05-19 2006-05-02 Siemens Communications, Inc. Techniques for audio transducer switching under programmatic and off hook interrupt control
US6877043B2 (en) * 2000-04-07 2005-04-05 Broadcom Corporation Method for distributing sets of collision resolution parameters in a frame-based communications network
US6643364B1 (en) * 2000-05-17 2003-11-04 Intel Corporation Providing telephony services
US6970752B1 (en) * 2000-05-17 2005-11-29 Hewlett-Packard Development Company, L.P. Method and apparatus for detecting switch closures
US7024539B2 (en) * 2000-07-17 2006-04-04 Silicon Laboratories Inc. Resistor identification configuration circuitry and associated method
US6684262B1 (en) * 2000-10-25 2004-01-27 International Business Machines Corporation Method and system for controlling peripheral device interface behavior using thread registration
US20020133245A1 (en) * 2001-01-31 2002-09-19 Kuo-Chih Lee Display panel identification method for notebook computer by using audio signal
US7099481B2 (en) * 2001-05-15 2006-08-29 Lenovo (Singapore) Pte. Ltd. Method and system for automatically detecting and powering PC speakers
US20020172371A1 (en) * 2001-05-15 2002-11-21 Baker Brian A. Method and system for automatically detecting and powering PC speakers
US20030002988A1 (en) * 2001-05-30 2003-01-02 General Electric Company Bonded niobium silicide and molybdenum silicide composite articles using semi-solid brazes
US20030052712A1 (en) * 2001-07-05 2003-03-20 Comer Alan Elbert Electrically-programmable interconnect architecture for easily-configurable stacked circuit arrangements
US6509659B1 (en) * 2001-10-24 2003-01-21 Motorola, Inc. Cable or module identification apparatus and method
US6877008B1 (en) * 2001-10-24 2005-04-05 Bellsouth Intellectual Property Corporation Rules engine for telecommunication circuit attribute identification
US6862636B2 (en) * 2001-11-16 2005-03-01 Gateway, Inc. Multi-mode speaker operating from either digital or analog sources
US20050086175A1 (en) * 2002-02-12 2005-04-21 Olivier Brique Method for storage and transport of an electronic certificate
US6856046B1 (en) * 2002-03-08 2005-02-15 Analog Devices, Inc. Plug-in device discrimination circuit and method
US7110799B1 (en) * 2002-06-14 2006-09-19 Symbol Technologies, Inc. Mobile terminal for interoperating with a standard or push-button enabled headset
US20040259435A1 (en) * 2002-06-24 2004-12-23 George Stephan System for determining the true electrical characteristics of a device
US20040260846A1 (en) * 2002-06-24 2004-12-23 George Stephan System for verifying the identification of a device
US20040081099A1 (en) * 2002-06-24 2004-04-29 Stuart Patterson Identification system and method for recognizing any one of a number of different types of devices
US20040101144A1 (en) * 2002-11-21 2004-05-27 Samsung Electronics Co., Ltd. Sound card, computer system using the sound card and control method thereof
US20040122541A1 (en) * 2002-12-19 2004-06-24 Disanza Leonard J. Programmable analog input/output integrated circuit system
US7366577B2 (en) * 2002-12-19 2008-04-29 Sigmatel, Inc. Programmable analog input/output integrated circuit system
US7601032B2 (en) * 2005-02-07 2009-10-13 Motorola, Inc. Apparatus for altering poles on an accessory

Also Published As

Publication number Publication date
US20040259435A1 (en) 2004-12-23
EP1754287A4 (en) 2009-12-16
EP1754287B1 (en) 2016-05-11
TWI292126B (en) 2008-01-01
WO2005124939A3 (en) 2007-06-14
CN100590572C (en) 2010-02-17
CN101794170A (en) 2010-08-04
CN101107583A (en) 2008-01-16
JP2008505592A (en) 2008-02-21
TW200622888A (en) 2006-07-01
WO2005124939A2 (en) 2005-12-29
JP4308296B2 (en) 2009-08-05
US7912668B2 (en) 2011-03-22
EP1754287A2 (en) 2007-02-21

Similar Documents

Publication Publication Date Title
EP1754287B1 (en) A system for determining the true electrical characteristics of a device
EP1759266B1 (en) A system for verifying the identification of a device
US9201827B2 (en) Device dependent selection between modes for asymmetric serial protocols
US7697697B2 (en) Apparatus for automatic identification of audio input/output device and method thereof
EP1518180B1 (en) Identification system and method for recognizing any one of a number of different types of devices
US8312130B2 (en) Configuration verification, recommendation, and animation method for a disk array in a storage area network (SAN)
US6748515B1 (en) Programmable vendor identification circuitry and associated method
CN114003538B (en) Identification method of intelligent network card and intelligent network card
CN104054064B (en) Flexible port configuration based on interface coupling
KR100216870B1 (en) Bios sharing apparatus and method of computer
EP1943739A1 (en) Mobile terminal combinable with various types of function module and method for controlling the function module
US20020084988A1 (en) Apparatus and method for automatically detecting USB mode and PS/2 mode computer keyboard
JPH0320778B2 (en)
US20090172234A1 (en) Apparatus and method for identifying system style
JPH05289778A (en) Information processor
CN110008160B (en) Information processing apparatus
CN219122686U (en) Circuit board with read multi-manufacturer current sensor data
US7032050B2 (en) Method for control of codecs in PC riser card architectures
KR100810507B1 (en) Control method of tv system
CN113377418A (en) File loading method, storage medium and equipment
US20030014696A1 (en) Method, computer program product, and system for detecting a peripheral device in a computer system
CN116954318A (en) Server system and detection method thereof
CN112394769A (en) Mainboard supporting different kinds of memories

Legal Events

Date Code Title Description
AS Assignment

Owner name: ANALOG DEVICES, INC., MASSACHUSETTS

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:STEPHAN, GEORGE;LOEB, FREDERICK;HOWLEY, JOHN;AND OTHERS;REEL/FRAME:015467/0742

Effective date: 20040602

Owner name: ANALOG DEVICES, INC.,MASSACHUSETTS

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:STEPHAN, GEORGE;LOEB, FREDERICK;HOWLEY, JOHN;AND OTHERS;REEL/FRAME:015467/0742

Effective date: 20040602

STCF Information on status: patent grant

Free format text: PATENTED CASE

FPAY Fee payment

Year of fee payment: 4

FEPP Fee payment procedure

Free format text: MAINTENANCE FEE REMINDER MAILED (ORIGINAL EVENT CODE: REM.); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY

LAPS Lapse for failure to pay maintenance fees

Free format text: PATENT EXPIRED FOR FAILURE TO PAY MAINTENANCE FEES (ORIGINAL EVENT CODE: EXP.); ENTITY STATUS OF PATENT OWNER: LARGE ENTITY

STCH Information on status: patent discontinuation

Free format text: PATENT EXPIRED DUE TO NONPAYMENT OF MAINTENANCE FEES UNDER 37 CFR 1.362

FP Lapsed due to failure to pay maintenance fee

Effective date: 20190322