This application claims priority from and is related to the following prior applications: Low Power Reconfigurable Hearing Instrument Device, U.S. Provisional Application Ser. No. 60/312,566, filed Aug. 15, 2001; Low Power Reconfigurable Hearing Instrument, U.S. Provisional Application Ser. No. 60/368,216, filed Mar. 27, 2002. These prior applications, including the entire written descriptions and drawing figures, are hereby incorporated into the present application by reference.
The present invention relates generally to the field of digital hearing instruments. More particularly, a low-power reconfigurable hearing instrument is provided that provides a relatively high degree of processing flexibility while operating with a relatively low amount of power consumption.
Digital hearing instruments are known in this field. Many digital hearing instruments include programmable digital signal processors (DSPs) that enable the hearing instrument to flexibly implement many different processing algorithms. Typical programmable DSPs, however, consume a large amount of power when compared to a fixed hardware implementation of the same processing algorithms. Thus, many programmable DSPs may be non-optimal for power-sensitive applications, such as digital hearing instruments. Restricting a digital hearing instrument to fixed hardware implementations, however, may overly constrain the flexibility of the device. The present invention overcomes several disadvantages of typical digital hearing instruments by providing a hearing instrument having a low-power reconfigurable processing unit.
A reconfigurable processing unit for a digital hearing instrument includes an instruction set (IS) processor module, a plurality of processing units and a crosspoint switch matrix. The IS processor module receives a hearing instrument configuration. Each of the processing modules are configured to process audio signals received by the digital hearing instrument. The crosspoint switch matrix is coupled to the IS processor module and each of the processing modules, and includes at least one crosspoint switch that is configured to route audio signals between processing modules and to combine at least two audio signals. In addition, the IS processor module uses the hearing instrument configuration to program the configuration of the crosspoint switch and thereby control how the crosspoint switch matrix routes and combines audio signals.
Referring now to the drawing figures,
The reconfigurable processing unit 12 may, for example, be a single integrated circuit or hybrid circuit that can be configured to perform the processing functions for the hearing instrument 10. The nonvolatile memory 14 may be any suitable type of memory device that retains its memory when power is removed, such as a EEPROM. The IS processor module 24 may, for example, be a digital signal processor (DSP), a micro-controller, or some other type of processing device. The I/O interface 26 may, for example, be a serial-to-parallel conversion device that is configured to convert serial digital signals from the nonvolatile memory 14 or CODEC 16 into parallel digital signals for processing by the reconfigurable processing unit 12 and to convert parallel output signals from the reconfigurable processing unit 12 into serial digital signals for input to the CODEC 16. The CODEC 16 may be a commercially available coder/decoder that is configured to convert analog signals from the microphone 18 into digital signals and to convert digital signals from the reconfigurable processing unit 12 into analog signals for transmission by the speaker 20. In alternative embodiments, however, the CODEC 16 may be replaced with an analog-to-digital (A/D) converter in the input chain and a digital-to-analog (D/A) converter in the output chain, or with some other suitable conversion means.
Within the reconfigurable processing unit 12, each of the processing modules 28-40 and the sub-matrix 42 are coupled together via a data connection 44 with the crosspoint switch matrix 22. The I/O interface 26 includes data connections 46, 48 with the crosspoint switch matrix 22 and the IS processor module 24, and also includes data connections 50, 52 with devices 14, 16 external to the reconfigurable processing unit 12. In addition, the processing modules 28-40, the sub-matrix 42, the crosspoint switch matrix 22, and the input/output interface 26 are all coupled to the IS processor module 24 through a control bus 54.
The illustrated processing modules 28-40 are coarse-grained modules, such as digital signal processors (DSPs) 28, fixed function modules 30-38, and embedded field programmable gate arrays (FPGAs) 40. The illustrated fixed function modules 30-38 include a compression module 30, a filter bank module 32, a FIR filter module 34, and two biquad filter modules 36, 38. Coarse-grained modules are fully integrated in the sense that they perform a distinct function without the intervention of another processing device. For example, a coarse-grained module may perform a complete filtering function utilizing integrated processing and memory devices. It should be understood, however, that the processing modules 28-40 shown in
In operation, one or more configurations for the hearing instrument 10 are stored in the nonvolatile memory 14. Hearing instrument configurations may, for example, include a default configuration and one or more alternate configurations. The default hearing instrument configuration corresponds to the hearing instrument's 10 normal or default operating mode. For example, the default hearing instrument configuration may provide optimum performance in environments with average noise levels. The alternate configurations may, for example, be configured for optimum hearing instrument performance in specific environments, such as low-noise environments, environments with a high level of background noise, or other environments where the default hearing instrument configuration may be non-optimal. If the hearing instrument 10 includes both a front and a rear microphone 18, for example, different configurations may be stored for directional and non-directional operation. In addition, each of the configurations stored in the nonvolatile memory 14 may be optimized for the particular hearing impairments of a specific hearing instrument user, may include the configuration for a particular hearing instrument model, or may include other device-specific configurations that enable one hearing instrument circuit 10 to be reconfigured for multiple types of hearing instruments or user-specific applications.
When the hearing instrument 10 is initialized or “booted,” the default hearing instrument configuration is loaded from the nonvolatile memory 14 to the IS processor module 24 via the I/O interface 26. The hearing instrument configuration indicates to the IS processor module 24 which of the processing modules 28-40 and sub-matrices 42 should be enabled, and also indicates how the crosspoint switch matrix 22 should combine and/or transfer data between the enabled modules. The crosspoint switch matrix 22, which is described in more detail below with reference to
Once the IS processor module 24 receives the hearing instrument configuration from the nonvolatile memory 14, the configuration is stored to a local memory, and configuration information is transmitted from the IS processor module 24 to the processing modules 28-40 and crosspoint switch matrices 22, 42 via the control bus 54. After the reconfigurable processing unit 12 has been configured by the IS processor module 24, the processing unit 12 enters its operational state. In its operational state, the hearing instrument 10 receives an acoustical input that is converted into an analog input signal by the microphone 18 and then converted from an analog signal to a digital input signal with the CODEC 16. The digital input signal generated by the CODEC 16 is input to the reconfigurable processing unit 12 via the I/O interface 26, and is processed according to the hearing instrument configuration to generate a digital output signal. The digital output signal generated by the reconfigurable processing unit 12 is output to the CODEC 16 via the I/O interface 26 and converted into an analog output signal with the CODEC 16. The speaker 20 then converts the analog output signal into an acoustical output signal that is directed into the ear canal of the hearing instrument user.
In addition, while the hearing instrument 10 is in its operational state, the IS processor module 24 may monitor the control bus 54 for feedback signals generated by one or more of the processing modules 28-40. The feedback signals may be processed by the IS processor module 24 to determine if the hearing instrument 10 should change operational modes by loading a new hearing instrument configuration from the nonvolatile memory 14. For example, as described in more detail below with reference to
In alternative embodiments, the crosspoint switch matrix could be configured in a three-tiered hierarchical matrix, or in some other higher-order matrix structure. For example, a three-tiered hierarchical matrix may include a plurality of second-level clusters, such as the crosspoint matrix illustrated in
In operation, when the hearing instrument is initialized or “booted,” the default hearing instrument configuration is received from off-chip by the IS processor module 24, as described above, and is used by the IS processor module 24 to configure the crosspoint switches 102-110 and processing modules 112-124 in the two-tiered crosspoint switch matrix. Based on the hearing instrument configuration, the IS processor module 24 transmits signals to the control bus 54 to enable one or more crosspoint switches 102-110 and one or more processing modules 112-124 within an enabled cluster. For example, in the illustrated embodiment, two first-level crosspoint switches 104, 106 and six processing modules 114-124 have been enabled within two first-level clusters labeled Cluster A and Cluster B. The enabled processing modules 114-124 shown in
In addition, the IS processor module 24 may also use the hearing instrument configuration to initialize the enabled crosspoint switches 102-106 and processing modules 114-124 via the control bus 54. For example, coefficient values or other processing information may be loaded from the IS processor module 24 to the enabled processing modules 114-124, and the enabled crosspoint switches 102-104 may be configured by the IS processor module 24 to route signals to and from the enabled processing modules 114-124 and to combine the output signals from one or more enabled module 114-124.
Once the processing modules 114-124 and crosspoint switches 102-110 have been enabled and initialized by the IS processor module 24, the IS processor module 24 instructs the reconfigurable processing unit 100 to begin processing received audio signals in the operational mode designated by the hearing instrument configuration. The operation of the reconfigurable processing unit 100 in one exemplary operational mode is described below by cross-referencing
The crosspoint switch 104 in Cluster A is configured to transmit the audio input signal 202 from its input port to each of the three biquad filters 114-118, as shown in
The first-level crosspoint switch 104 in Cluster A is configured to transmit output signals from the compression module 120 to the second-level crosspoint switch 102, which is in turn configured to transmit output signals from Cluster A to an input port of the first-level crosspoint switch 106 in Cluster B. Cluster B includes the first-level crosspoint switch 106, the FIR filter 122, the DSP 124, and two non-enabled processing modules 112. The first-level crosspoint switch 106 in Cluster B is configured to transfer signals received at its input port to the FIR filter 122. The FIR filter 122 may, for example, post-condition the audio signal to further shape the signal in accordance with the particular hearing impairments of the hearing instrument user. In one embodiment, the reconfigurable processing unit 100 may include a pre-filter (not shown) that receives the audio signal prior to the biquad filters 114-118, and that operates in combination with the post-conditioning of the FIR filter 122 to generate special audio effects that may be suited to only a particular class of user. For instance, a pre-filter could be configured to mimic the transfer function of the user's middle ear, effectively putting the sound signal into the cochlear domain for processing by the biquad filters 114-118 and compression module 120. Subsequently, the FIR filter 122 may be configured with the inverse response of the pre-filter in order to convert the signal back into the acoustic domain from the cochlear domain.
The filtered output from the FIR filter 122 is transferred back to the first-level crosspoint switch 106 in Cluster B. The crosspoint switch 106 is configured to transfer the output from the FIR filter 122 to both the DSP 124 and as an audio output signal 206 from Cluster B to the second-level crosspoint switch 102. The second-level crosspoint switch 102 transfers the audio output signal 206 from Cluster B to the I/O interface 26 which outputs the signal to off-chip components as described above with reference to
The IS processor module 24 may be configured to monitor the feedback signal from the DSP 124 and further process the signal to determine if the hearing instrument should transition to a different operational mode to obtain optimal performance under the current conditions. For example, the frequency content of the audio output signal as indicated by the feedback signal may be used by the IS processor module 24 to monitor the noise level in the signal and determine if the noise level could be reduced by a different operational mode (block 210). If the IS processor module 24 determines that a different operational mode would improve performance, then the IS processor module 24 may load a new configuration and reconfigure the processing unit 100 (block 214), as described above. Otherwise, the IS processor module 24 continues in its current operational mode (block 212).
In operation, data is received at the input port (XPTin) 428 of the crosspoint switch 402. Depending upon the configuration of the crosspoint switch 402, the received data may be connected to one or more of the input ports (B1in-B4in) 412, 416, 420, 424 of the processing modules 404-410. Each processing module 404-410 that receives a signal at its input port 412, 416, 420, 424, processes the signal according to its particular configuration and transmits an output signal back to the crosspoint switch 402 via an output port 414, 418, 422, 426. The crosspoint switch 402 may then combine signals from two or more processing modules 404-410, transfer a signal (combined or otherwise) to another processing module, or transmit a signal to its output port (XPTout) 430.
The two summers (S1 and S2) 530, 542 are used by the crosspoint switch 402 to combine two or more audio signals that are input to the crosspoint switch 402 from the crosspoint switch input port (XPTin) 428 and the processing module output ports (B1out-B4out) 414, 418, 422, 426. The first summer (S1) 530 receives inputs from five AND gates 520-528 and the second summer (S2) 542 similarly receives inputs from an additional five AND gates 532-540. The ports XPTin 428, B1out 414, B2out 418, B3out 422 and B4out 426 are each coupled to both an input of one of the five AND gates 520-528 corresponding to S1530 and an input of one of the five AND gates 532-540 corresponding to S2542. In addition, each of the AND gates 520-528, 532-540 includes a second input that is coupled to the configuration register. In operation, the configuration input to the AND gates 520-528, 532-540 controls which of the audio signal inputs (XPTin and B1out-B4out) are passed by the AND gates 520-528, 532-540 to the input of the summers (S1 and S2) 530, 542. The summers 530, 542 combine the audio signal outputs from the AND gates 520-528, 532-540 to generate summed outputs. The output from the first summer (S1) 530 is input to each of the 2:1 multiplexers 512-518, as described below. The output from the second summer (S2) 542 is coupled to the crosspoint output port (XPTout) 430.
The multiplexers 504-518 are used by the crosspoint switch 402 to control how audio signals input to the crosspoint switch 402 (XPTin and B1out-B4out) and any summation of those signals generated by S1530 are routed to the processing module input ports (B1in-B4in) 412, 416, 420, 424. Each processing module input port (B1in-B4in) 412, 416, 420, 424 has one corresponding 4:1 multiplexer 504-510 and one corresponding 2:1 multiplexer 512-518 in the crosspoint switch 402. Each 4:1 multiplexer 504-510 receives an input from XPTin 428 and each of the processing module output ports (B1out-B4out) 414, 418, 422, 426 other than the output port of its corresponding processing module. For example, the 4:1 multiplexer 504 corresponding to B1 includes inputs from XPTin 428, B2out 418, B3out 422, and B4out 426, but does not include an input from B1out 414. This prevents any configuration resulting in an infinite loop from the output port to the input port of a processing module (B1-B4). In addition, each 4:1 multiplexer 504-510 receives a control signal from the configuration register 502 that determines which of its four input signals is passed as a 4:1 multiplexer output. For example, with respect to the 4:1 multiplexer 504 corresponding to B1, the control signal input to the 4:1 multiplexer 504 determines whether the audio signal present on XPTin, B2out, B3out or B4out is passed as the 4:1 multiplexer output.
Each 2:1 multiplexer 512-518 receives an input from a corresponding 4:1 multiplexer 504-510 and also from the output of the second summer (S2) 542. In addition, each 2:1 multiplexer 512-519 receives a control signal from the configuration register 502 that determines which of its two inputs is passed as the 2:1 multiplexer output that is coupled as the input to a processing module (B1in-B4in) 412, 416, 420, 424. Thus, depending on the hearing instrument configuration, each 2:1 multiplexer 512-518 may output either a combined audio signal generated by S1530 or a single audio signal passed by the corresponding 4:1 multiplexer 504-510.
Referring again to
In a self-timed embodiment, the processing times of each individual processing module 404-410 are independent of one another. Therefore, if the crosspoint switch 402 in a self-timed embodiment is configured to sum multiple output signals, then the timing differences between each of the output signals could cause errors in the summed output from crosspoint switch 402. To compensate for these potential timing-related errors, the crosspoint switch 402 may include a state machine or other similar processing module that realigns the sample enable signals when the crosspoint switch 402 is configured to perform a summing operation. Alternatively, the sample enable signal generated by the crosspoint switch 402 upon completion of its summation function could be aligned with the sample enable signal of the slowest module. For instance, if the crosspoint switch 402 were configured to sum the outputs of processing modules B1404, B2406 and B3408, and processing module B2406 required the most time to perform its processing operation, then the crosspoint switch 402 could align its sample enable signal with the sample enable signal generated by B2406.
This written description uses examples to disclose the invention, including the best mode, and also to enable any person skilled in the art to make and use the invention. The patentable scope of the invention is defined by the claims, and may include other examples that occur to those skilled in the art.
Number | Name | Date | Kind |
---|---|---|---|
4119814 | Harless | Oct 1978 | A |
4142072 | Berland | Feb 1979 | A |
4187413 | Moser | Feb 1980 | A |
4289935 | Zollner et al. | Sep 1981 | A |
4403118 | Zollner et al. | Sep 1983 | A |
4425481 | Mansgold et al. | Jan 1984 | A |
4471171 | Kopke et al. | Sep 1984 | A |
4508940 | Steeger | Apr 1985 | A |
4592087 | Killion | May 1986 | A |
4689818 | Ammitzboll | Aug 1987 | A |
4689820 | Kopke et al. | Aug 1987 | A |
4696032 | Levy | Sep 1987 | A |
4712244 | Zwicker et al. | Dec 1987 | A |
4750207 | Gebert et al. | Jun 1988 | A |
4852175 | Kates | Jul 1989 | A |
4868880 | Bennett, Jr. | Sep 1989 | A |
4882762 | Waldhauer | Nov 1989 | A |
4947432 | Topholm | Aug 1990 | A |
4947433 | Gebert | Aug 1990 | A |
4953216 | Beer | Aug 1990 | A |
4989251 | Mangold | Jan 1991 | A |
4995085 | Kern et al. | Feb 1991 | A |
5029217 | Chabries et al. | Jul 1991 | A |
5046102 | Zwicker et al. | Sep 1991 | A |
5111419 | Morley, Jr. et al. | May 1992 | A |
5144674 | Meyer et al. | Sep 1992 | A |
5189704 | Krauss | Feb 1993 | A |
5201006 | Weinrich | Apr 1993 | A |
5202927 | Topholm | Apr 1993 | A |
5210803 | Martin et al. | May 1993 | A |
5241310 | Tiemann | Aug 1993 | A |
5247581 | Gurcan | Sep 1993 | A |
5276739 | Krokstad et al. | Jan 1994 | A |
5278912 | Waldhauer | Jan 1994 | A |
5347587 | Takahashi et al. | Sep 1994 | A |
5376892 | Gata | Dec 1994 | A |
5389829 | Milazzo | Feb 1995 | A |
5448644 | Pfannenmueller et al. | Sep 1995 | A |
5479522 | Lindemann et al. | Dec 1995 | A |
5500902 | Stockham, Jr. et al. | Mar 1996 | A |
5515443 | Meyer | May 1996 | A |
5524150 | Sauer | Jun 1996 | A |
5537601 | Kimura et al. | Jul 1996 | A |
5604812 | Meyer | Feb 1997 | A |
5608803 | Magotra et al. | Mar 1997 | A |
5613008 | Martin | Mar 1997 | A |
5649019 | Thomasson | Jul 1997 | A |
5661814 | Kälin et al. | Aug 1997 | A |
5687241 | Ludvigsen | Nov 1997 | A |
5706351 | Weinfurtner | Jan 1998 | A |
5710820 | Martin et al. | Jan 1998 | A |
5717770 | Weinfurtner | Feb 1998 | A |
5719528 | Rasmussen et al. | Feb 1998 | A |
5754661 | Weinfurtner | May 1998 | A |
5796848 | Martin | Aug 1998 | A |
5809151 | Husung | Sep 1998 | A |
5815102 | Melanson | Sep 1998 | A |
5838801 | Ishige et al. | Nov 1998 | A |
5838806 | Sigwanz et al. | Nov 1998 | A |
5854978 | Heidari | Dec 1998 | A |
5862238 | Agnew et al. | Jan 1999 | A |
5878146 | Anderson | Mar 1999 | A |
5896101 | Melanson | Apr 1999 | A |
5912977 | Gottschalk-Schoenig | Jun 1999 | A |
5956518 | DeHon et al. | Sep 1999 | A |
6005954 | Weinfurtner | Dec 1999 | A |
6035050 | Weinfurtner et al. | Mar 2000 | A |
6044162 | Mead et al. | Mar 2000 | A |
6044163 | Weinfurtner | Mar 2000 | A |
6049617 | Sigwanz et al. | Apr 2000 | A |
6049618 | Saltkov | Apr 2000 | A |
6108431 | Bachler | Aug 2000 | A |
6175635 | Meyer et al. | Jan 2001 | B1 |
6198830 | Holube et al. | Mar 2001 | B1 |
6226735 | Mirsky | May 2001 | B1 |
6236731 | Brennan et al. | May 2001 | B1 |
6240192 | Brennan et al. | May 2001 | B1 |
6240195 | Binder et al. | May 2001 | B1 |
6247036 | Landers et al. | Jun 2001 | B1 |
6266760 | DeHon et al. | Jul 2001 | B1 |
6272229 | Backgaard | Aug 2001 | B1 |
6343126 | Stelman | Jan 2002 | B1 |
6353841 | Marshall et al. | Mar 2002 | B1 |
6836839 | Master et al. | Dec 2004 | B2 |
20010055980 | Sato | Dec 2001 | A1 |
20060013423 | Wieczorek et al. | Jan 2006 | A1 |
Number | Date | Country |
---|---|---|
89101149.6 | Aug 1989 | EP |
9148009.9 | Jul 1992 | EP |
93203072.9 | May 1994 | EP |
2-192300 | Jul 1990 | JP |
WO8302212 | Jun 1983 | WO |
WO8904583 | May 1989 | WO |
WO9508248 | Mar 1995 | WO |
WO9530952 | Nov 1995 | WO |
WO9714266 | Apr 1997 | WO |
Number | Date | Country | |
---|---|---|---|
20070121977 A1 | May 2007 | US |