`
`US007085710B1
`
`(12) United States Patent (cid:9)
`(12) United States Patent
`Beckert et al. (cid:9)
`Beckert et a1.
`
`(54)
`(54) VEHICLE COMPUTER SYSTEM AUDIO
`VEHICLE COMPUTER SYSTEM AUDIO
`ENTERTAINMENT SYSTEM
`ENTERTAINMENT SYSTEM
`
`(75)
`(75) Inventors: Richard D. Beckert, Lake Stevens, WA
`Inventors: Richard D. Beckert, Lake Stevens, WA
`(US); Mark M. Moeller, Des Moines,
`(US); Mark M. Moeller, Des Moines,
`WA (US); Hang Li, Redmond, WA
`WA (US); Hang Li, Redmond, WA
`(Us)
`(US)
`
`Assignee: Microsoft Corporation, Redmond, WA
`(73)
`(73) Assignee: Microsoft Corporation, Redmond, WA
`(Us)
`(US)
`
`(*) Notice: (cid:9)
`Notice:
`
`Subject to any disclaimer, the term of this
`Subject to any disclaimer, the term of this
`patent is extended or adjusted under 35
`patent is extended or adjusted under 35
`U.S.C. 154(b) by 0 days.
`U.S.C. 154(b) by 0 days.
`
`(21)
`Appl. No.: 09/004,076
`(21) Appl. No.: 09/004,076
`
`(22)
`Filed:
`(22) Filed: (cid:9)
`
`Jan. 7, 1998
`Jan. 7, 1998
`
`(51)
`(51)
`
`Int. Cl.
`Int. Cl.
`(2006.01)
`G10L 19/00 (cid:9)
`(2006.01)
`G10L 19/00
`(52)
` 704/201; 704/270; 704/275
`(52) U.S. Cl. (cid:9)
`US. Cl. ..................... .. 704/201; 704/270; 704/275
`(58)
`(58) Field of Classification Search (cid:9)
` 704/201,
`Field of Classi?cation Search .............. .. 704/201,
`704/270-275, 235, 217, 212, 244, 230
`704/270i275, 235, 217, 212, 244, 230
`See application ?le for complete search history.
`See application file for complete search history.
`
`(56)
`(56)
`
`References Cited
`References Cited
`
`U.S. PATENT DOCUMENTS
`U.S. PATENT DOCUMENTS
`
`4,068,175
`4,068,175
`4,207,511
`4,207,511
`4,365,280
`4,365,280
`4,477,764
`4,477,764
`4,481,512
`4,481,512
`4,489,435
`4,489,435
`4,497,038
`4,497,038
`
`4,550,425
`4,550,425
`4,607,345
`4,607,345
`4,631,746
`4,631,746
`4,797,924
`4,797,924
`4,868,715
`4,868,715
`4,895,326
`4,895,326
`4,911,386
`4,911,386
`4,991,217
`4,991,217
`5,060,229
`5,060,229
`
` 455/345
`1/1978 Maniaci (cid:9)
`1/1978
`A
`Maniaci -------------------- -- 455/345
`6/1980 Radtke (cid:9)
` 320/6
`6/1980
`A
`Radtk? ~~~~~~~~~ ~~
`12/1982 Crosetti et al. (cid:9)
` 360/137
`12/1982
`A
`gnflsetil et a1‘ '
`" 320/62
`10/1984 Pollard (cid:9)
` 320/62
`10/1984
`A
`0 ar . """"""""""" "
`11/1984 Tscheulin et al. (cid:9)
` 340/825.25
`11/1984
`A
`Tscheulin et a1. .... .. 340/825.25
`Moshier ~~~~~~~~~~~~~~~~~~~ “ 704/244
`* 12/1984 Moshier (cid:9)
` 704/244
`A
`* 12/1984
`Diepoldschamitzky
`1/1985 Diepold-Scharnitzky
`1/1985
`A
`et a1‘ ________________________ __ 395/290
`et al. (cid:9)
` 395/290
`Andersen et a1,
`704/212
`* 10/1985 Andersen et al. (cid:9)
` 704/212
`A
`* 10/1985
`* 8/1986 Mehta (cid:9)
` 710/61
`A
`Mehta .......... ..
`. 710/61
`*
`8/1986
`* 12/1986 Bergeron et al. (cid:9)
` 704/217
`Bergeron et a1
`704/217
`A
`* 12/1986
`1/1989 Schnars et al. (cid:9)
` 381/43
`1/1989
`A
`Schnars et a1~ ~~~~~~~~~~ ~~ 381/43
`9/1989 Putman et al. (cid:9)
` 361/814
`9/1989
`A
`Pmman et a1‘ ' ' ' ' ' '
`' ' ' " 361/814
`1/1990 Nimpoeno et al. (cid:9)
` 248/27.1
`1/1990
`A
`Nimpoeno et a1. .
`248/27 1
`3/1990 Putman et al. (cid:9)
` 248/27.1
`3/1990
`A
`Putman et a1. ..
`248/271
`* 2/1991 Garrett et al. (cid:9)
` 704/235
`A
`2/1991
`*
`Garrett et a1. ..
`704/235
`10/1991 Tyrell et al. (cid:9)
` 370/522
`10/1991
`A
`Tyrell et a1. .............. .. 370/522
`
`(10) Patent No.: (cid:9)
`(10) Patent N0.:
`(45) Date of Patent: (cid:9)
`(45) Date of Patent:
`
`US 7,085,710 B1
`US 7,085,710 B1
`Aug. 1, 2006
`Aug. 1, 2006
`
`5,104,071 A
`5,104,071 A
`5,143,343 A
`5,143,343 A
`5,198,696 A
`5,198,696 A
`5,316,868 A
`5,316,868 A
`5,317,567 A *
`5,317,567 A *
`5,424,709 A
`5,424,709 A
`
`4/1992 Kowalski (cid:9)
`
`248/27.1
`4/1992 Kowalski ................. .. 248/27.1
`9/1992 Katz (cid:9)
`
`248/551
`9/1992 KatZ .... ..
`248/551
`3/1993 Dennis (cid:9)
`
`307/10.1
`3/1993 Dennis .............. ..
`.. 307/10.1
`5/1994 Dougherty et al. (cid:9)
`
`429/9
`5/1994 Dougherty et a1.
`.... .. 429/9
`5/1994 Champion (cid:9)
`
`370/267
`5/1994 Champion ................ .. 370/267
`6/1995 Tal (cid:9)
`
`340/310.01
`6/1995 Tal ...................... .. 340/310.01
`
`(Continued)
`(Continued)
`Primary ExamineriVijay Chawan
`Primary Examiner (cid:9) Vijay Chawan
`(74) Attorney, Agent, or F irmiLee & Hayes, PLLC
`(74) Attorney, Agent, or Firm (cid:9) Lee & Hayes, PLLC
`
`(57)
`(57) (cid:9)
`
`ABSTRACT
`ABSTRACT
`
`A vehicle computer system has an audio entertainment
`A vehicle computer system has an audio entertainment
`system implemented in a logic unit and audio digital signal
`system implemented in a logic unit and audio digital signal
`processor (DSP) independent from the host CPU. The audio
`processor (DSP) independent from the host CPU. The audio
`entertainment system employs a set of ping/pong buifers and
`entertainment system employs a set of ping/pong buffers and
`direct memory access (DMA) circuits to transfer data
`direct memory access (DMA) circuits to transfer data
`between different audio devices. Audio data is exchanged
`between different audio devices. Audio data is exchanged
`using a mapping overlay technique, in which the DMA
`using a mapping overlay technique, in which the DMA
`circuits for two audio devices read and write to the same
`circuits for two audio devices read and write to the same
`memory buffer. The computer system provides an audio
`memory buifer. The computer system provides an audio
`manager API (application program interface) to enable
`manager APl (application program interface) to enable
`applications running on the computer to control the various
`applications running on the computer to control the various
`audio sources without knowing the hardware and implemen
`audio sources without knowing the hardware and implemen-
`tation details of the underlying sound system. Different
`tation details of the underlying sound system. Different
`audio devices and their drivers control different functionality
`audio devices and their drivers control different functionality
`of the audio system, such as equalization, volume controls
`of the audio system, such as equalization, volume controls
`and surround sound decoding. The audio manager API
`and surround sound decoding. The audio manager APl
`transfers calls made by the applications to the appropriate
`transfers calls made by the applications to the appropriate
`device driver(s). The computer system also supports a
`device driver(s). The computer system also supports a
`speech recognition system. Speech utterances are picked up
`speech recognition system. Speech utterances are picked up
`by a microphone and sampled at an internal sampling rate.
`by a microphone and sampled at an internal sampling rate.
`.
`.
`However, the speech recognition system employs a lower
`However, the speech recogmtion system employs a lower
`sampling rate. The computer system converts microphone
`sampling rate. The computer system converts microphone
`data from the higher internal sampling rate to the desired
`data from the higher mtemal sampling rate to the deslred
`sampling rate by piggybacking the microphone data on
`sampling rate by piggybacking the microphone data on
`command/message streams to an SPI (serial peripheral inter-
`command/message streams to an SP1 (serial peripheral inter
`face) of the audio DSP. The DSP performs normal low-pass
`face) of the audio DSP. The DSP performs normal low-pass
`filtering and down sampling on the data stream and then uses
`?ltering and down sampling on the data stream and then uses
`the SPI to send out the microphone data at the lower
`the SP1 to send out the microphone data at the lower
`Sam lin rate
`sampling rate.
`p g
`'
`
`20 Claims, 10 Drawing Sheets
`20 Claims, 10 Drawing Sheets
`
`F 72 (cid:9)
`
`12
`
`r— 290 (cid:9)
`290
`
`112 ...............
`
`172
`e— 122' (cid:9)
`r “1 g
`Logic Unit
`122
`L0 mun“
`Mic H. Amp 1—n Codes (cid:9)
`Mono
`
`110
`
`.... ..
`
`r— 130
`F
`130
`/0 Memory
`
`Data
`Ping/
`MTJX __. Pins!
`
`MUX (cid:9)
`Pong
`1‘ :53:
`Buffer
`,
`256 J
`256 J
`1a2—/
`132
`
`r— 116
`F “6
`Audio DSP
`Audio DSP
`Fillyer
`I
`Filter
`Algorithm
`
`
`
`-i SPI
`SPI
`
`L294
`294
`
`292
`292“
`
`PCI
`PCI
`
`298 --
`
`/7— 302
`
`PCI
`
`296
`
`Speech
`Speech
`Recognition
`System
`System
`
`r\
`
`[1"
`
`DRAM
`
`300
`
`Buffer
`Memory
`
`Petitioners
`Exhibit 1006, Page 1
`
`(cid:9)
`(cid:9)
`(cid:9)
`
`
`US 7,085,710 B1
`US 7,085,710 B1
`Page 2
`Page 2
`
`U.S. PATENT DOCUMENTS
`US. PATENT DOCUMENTS
`
`320/15
`
`1/1996 Dougherty et al. (cid:9)
`5,488,283 A
`1/1996 Dougherty et a1~ --------- -- 320/15
`5,488,283 A
`9/1996 Maitra et al. (cid:9)
`
`370/286
`5,559,793 A *
`9/1996 Maitra et a1. ............. .. 370/286
`5,559,793 A *
`5,569,997 A
`10/1996 Berger (cid:9)
`
`320/15
`5,569,997 A 10/1996 Berger ....................... .. 320/15
`5,610,376 A
`3/1997 Takagi et al. (cid:9)
`
`200/50.01
`5,610,376 A
`3/1997 Takagi et a1. .......... .. ZOO/50.01
`
`342/357
`5/1997 Ramaswamy et al.
`5,627,547 A
`5/1997 Ramaswamy et a1. .... .. 342/357
`5,627,547 A
`6/1997 Fisher, Jr. (cid:9)
` 200/50.12
`5,641,953 A
`6/1997 Fisher, Jr. ........ ..
`. 200/50.12
`5,641,953 A
`5,701,347 A
`12/1997 Daniels et al. (cid:9)
`
`381/24
`5,701,347 A 12/1997 Daniels et a1. .............. .. 381/24
`
`* cited by examiner
`* cited by examiner
`
`Petitioners
`Exhibit 1006, Page 2
`
`
`
`lualud °S11
`
`of Jo 1 WIN
`
`to ou`sso`L sa
`
`24
`(cid:9)/
`
`/ (cid:9)
`
`26 (cid:9)
`
`Security
`Sensors
`
`28
`/
`Diagnostic
`Interface
`
`—\.
`
`1
`
`(cid:9)11
`
`40
`
`38
`
`42
`
`46
`
`30
`
`7- 32
`
`Vehicle
`Battery
`z-- 33
`Backup
`Battery
`
`20 ------v
`
`64
`
`60
`
`
`6 2
`
`66
`
`ESC
`
`(----)
`Turn Right on Main
`
`44
`
`54
`
`/
`f=1 al al
`=I CU CE
`D lal al
`I= (cid:9)
`III
`
`58
`
`68
`
`
`
`5 6
`
`
`70
`
`52
`
`74 J \ (cid:9)
`
`48
`
`36
`
`Antenna(s)
`
`\- (cid:9)
`
`34
`
`22
`
`Petitioners
`Exhibit 1006, Page 3
`
`
`
`lualud °S11
`U.S. Patent
`
`Aug. 1, 2006
`
`Sheet 2 0f 10
`OT JO Z WIN
`
`to ou`sso`L sa
`US 7,085,710 B1
`
`7— 94
`
`,1
`
`Navigation
`System I/F
`
`26 (cid:9)
`
`01
`
`Security
`System I/F
`
`22
`
`28
`
`OBD System
`I/F
`
`• (cid:9)
`4 (cid:9)
`• (cid:9)
`• (cid:9)
`• (cid:9)
`
`96
`
`Internet
`Wireless Link
`
`92
`
`84
`
`EL
`
`Computer Module
`
`2282
`ESQEQO
`
`mm L \H mm
`
`''.......,"
`
`v -- 86 i (cid:9)
`
`82
`
`USB Hub
`
`Support Module
`
`@382
`toaqzw
`
`Joystick,
`Keyboard,
`Mouse
`
`TV Tuner I/F
`
`CD-ROM
`Changer I/F
`
`wm/
`
`98
`
`oow/
`
`\— 100
`
`New)
`
`\-102 (cid:9)
`
`(:9, 2
`
`w 0m
`
`7— 88 (cid:9)
`
`-- 80
`
`90
`
`Faceplate Module
`
`2282
`2230mm
`
`Petitioners
`Exhibit 1006, Page 4
`
`(cid:9)
`
`
`lualud °S11
`
`In JO £ JamiS
`
`to ou`sso`L sa
`
`84
`
`158 --\
`
`PC-Card I/F
`
`160
`Smart Card
`I/F (Opt)
`
`Compuer Module
`
`150
`
`152
`
`ROM
`154 --\
`FLASH
`156--\
`DRAM
`
`120
`
`82
`
`r 122
`
`GPS Chipset
`
`CODEC
`
`116
`Audio Signal
`Processor
`
`112 —\
`
`USB I/F
`
`AM/FM Tuner
`Module
`
`7— 114
`VGA
`Controller
`
`80
`
`7— 52
`Keypad
`
`/— 54
`
`Display
`z— 56
`IrDA
`
`Faceplate Module
`
`115
`
`Support Module
`110 (cid:9)
`
`IDE
`Controller
`
`72
`
`Mic
`
`Logic Unit
`
`130
`I/O Memory
`
`Ping/Pong
`Buffers
`
`86
`
`7— 140
`
`Logic Unit
`
`7— 144
`RF
`Transceiver
`
`132
`
`(cid:9) :I
`
`88
`
`Petitioners
`Exhibit 1006, Page 5
`
`
`
`U.S. Patent (cid:9)
`U.S. Patent
`
`Aug. 1, 2006
`Aug. 1, 2006
`
`Sheet 4 of 10 (cid:9)
`Sheet 4 0f 10
`
`US 7,085,710 B1
`US 7,085,710 B1
`
`t A tttt Z---122
`
`Mono In (cid:9)
`CODEC
`Mono In ——> CODEC
`AUX #1 (cid:9)
`
`AUX #1 —>
`AUX #2 (cid:9)
`
`AUX #2 —>
`
`Audio Out
`Audio Out
`
`mm /122
`
`PLL
`PLL
`
`Serial Audio Out
`Serial Audio C ut
`LRCK SCLK
`
`I2C (cid:9)
`A
`
`118 )
`
`Stereo
`(cid:9) Tuner In
`Tuner In
`118 W
`
`4 (cid:9)
`
`I2C
`AM/FM
`AM/FM
`Tuner
`Tuner
`
`110
`
`f“°
`
`Logic Unit
`Logic Unit
`
`44.1 kHz
`44.1 kHz
`
`(cid:9)•
`Serial In
`* Serial In
`
`0 I2C
`
`(cid:9)• AudioO
`> Audio()
`(cid:9)► Aud io 1
`Audio1
`
`(cid:9)• Audio2
`~ Audio2
`
`•
`SCLK
`- SCLK
`
`‘,0
`PC 4
`RBDS
`RBDS
`Decoder
`Decoder
`
`]
`
`170
`
`Audio DSP
`Audio DSP
`4 (cid:9) •
`SDO2 (cid:9)
`SCLK
`$002
`SCLK
`SDO1 (cid:9)
`SD01
`$000
`SDOO
`
`LRCK <————o-—> LRCK
`•
`4 (cid:9)
`LRCK
`LRCK
`
`4 (cid:9)
`4 (cid:9)
`
`4 (cid:9)
`
`‘
`
`DSPinO
`DSPinO
`DSPin1
`DSPin1
`SPI Master CLK
`SPI Master CLK
`SPI Slave Slot
`SPI Slave Slct
`
`(cid:9)10
`DSP Host In
`~ DSP Host In
`DSP Host Out
`DSP Host Out
`DSP Ready
`> DSP Ready
`
`116—/
`
`116 (cid:9) I
`
`172
`DMA
`172 —\ DMA
`Circuits
`Circuits
`
`I
`
`130
`I/O Memory
`130 ? l/O Memory
`
`132
`Ping/Pong
`132 —\ Ping/Pong
`Buffer
`Buffer
`
`74, 4
`
`Petitioners
`Exhibit 1006, Page 6
`
`(cid:9)
`
`
`U.S. Patent (cid:9)
`U.S. Patent
`
`Aug. 1, 2006
`Aug. 1, 2006
`
`Sheet 5 0f 10
`Sheet 5 of 10 (cid:9)
`
`US 7,085,710 B1
`US 7,085,710 B1
`
` 172
`172
`
`200
`Serial to
`Serial to r- 200
`Parallel
`Parallel
`
`V
`7
`202
`Holding
`Holding # 202
`Register
`Register
`
`(cid:9)► Mono_Req
`> Mono_Req
`
`y
`DMA
`DMA
`Request
`Request
`and Grant
`and Grant
`Circuit
`Circuit
`
`206
`206
`
`(
`Ping/Pong Start Address
`Ping/Pong Start Address
`Register
`Register
`D19 (cid:9)
` D11
`D39 ..... .. D11
`A19 (cid:9)
` All
`A19 ..... .. A11
`
`+
`
`Hostjata m
`Host_Data In
`
`(cid:9)► Mono Addr
`> Mono_Addr
`
`7 (cid:9)
`208
`208
`/_
`Lower Address Counter
`Lower Address Counter
`
`
`INC (cid:9)
` • COUNT LJ 1
` D2
`0 (cid:9)
`$825" 010 ..... .. D2
`WRF'Fl‘é
`WRPTR (cid:9) ► LOAD
`A9
`+
`+
`A9
`Al 0 (cid:9)
`
`4 (cid:9)
` A2
`:A0_A1
`A10 ..... .. A2 —
`4 AO, Al
`
`,
`
`,
`
`z (cid:9)
`
`214
`214
`
`V
`
`Equals I (cid:9)
`Equals ‘
`
`COMPARITOR
`
`COMPARITOR <-———0
`
`210
`210 w “
`Last Valid
`Last Valid
`Address Register
`Address Register
`
`‘
`
`WRLAST
`WRLAST
`
`\ 204
`204
`
`74, 5
`
`Petitioners
`Exhibit 1006, Page 7
`
`(cid:9)
`(cid:9)
`(cid:9)
`(cid:9)
`(cid:9)
`(cid:9)
`
`
`U.S. Patent (cid:9)
`U.S. Patent
`
`Aug. 1, 2006 (cid:9)
`Aug. 1, 2006
`
`Sheet 6 of 10 (cid:9)
`Sheet 6 0f 10
`
`US 7,085,710 B1
`US 7,085,710 B1
`
`i7-- 230
`230 f
`
`/_
`Reference
`Reference
`Reglster
`Register
`
`.
`
`232
`232
`
`<———
`
`Audio Adjustment
`Audio Adjustment
`Value
`Value
`
`234
`234
`, f
`•
`Divide by N
`Divide by N _> Audio CLK
`Audio_CLK
`Counter
`Counter
`-
`
`7
`
`Address of DMA
`Address of DMA
`Process in Buffer
`Process in Buffer
`
`‘
`
`—> Compare1
`236 xi '
`236 —--Y (cid:9)
`—. Compare 1
`
`. Compare 2
`Compare
`Compare _ > Compare 2
`
`k
`
`Latch
`Latch
`
`238
`238 \
`l\
`
`k
`
`Pointer
`4 <—|— Polnter
`
`240
`
`Control Logic
`Control Logic
`
`9'0. 6
`
`Petitioners
`Exhibit 1006, Page 8
`
`
`
`U.S. Patent (cid:9)
`
`Aug. 1, 2006
`
`Sheet 7 of 10 (cid:9)
`
`US 7,085,710 B1
`
`250 --\
`
`/-- 252
`
`254
`
`PCI Bus Req
`Shift
`(0)
`
`* In1 2 to 1
`► In0 MUX
`
`PCI Bus Grant.--
`
`Bus Cycle
`State Machine
`
`i
`
`* Stereo Done
`--* Mono Done
`• DSPout_Done
`* IrDA RX Done
`—* DSPinO_Done
`► DSPini_Done
`
`. IrDA TX Done _ _
`* Face Done
`
`3 to 8
`Decoder
`256
`
`A B C
`
`r
`
`H
`
`H
`
`H
`
`H
`
`H
`
`H
`
`H
`
`H
`
`Stereo RX
`
`Mono RX
`
`DSPout RX
`
`IrDA RX
`
`DSPinO TX
`
`DSPin1TX
`
`IrDA TX
`
`Face TX
`
`Stereo_Req
`
`Mono_Req
`
`DSPout_Req
`
`IrDA_RX_Req
`
`DSPinO_Req
`
`DSPin 1_Req
`
`IrDA_TX_Req
`
`Face_Req
`
`172 —I
`
`QO Q1 Q2
`t • •
`
`Shift
`Register
`(cid:9)n.
`258
`
`Counter
`260
`—•----i
`
`Done
`
`(cid:9)*Shift (0)
`
`Petitioners
`Exhibit 1006, Page 9
`
`
`
`U.S. Patent (cid:9)
`U.S. Patent
`
`Aug. 1, 2006 (cid:9)
`Aug. 1, 2006
`
`Sheet 8 of 10 (cid:9)
`Sheet 8 of 10
`
`US 7,085,710 B1
`US 7,085,710 B1
`
`276
`276 \
`
`Computer Applications
`Computer Applications
`
`274
`274 \
`
`Audio Manager API
`Audio Manager API
`
`Audio
`Audio
`Source
`Source
`Control API
`Control API
`278 j 280
`278 J (cid:9)
`280
`
`Wave SSD EQ Vol/Ball
`Wave SSD EQ Vol/Ball
`In/Out API API
`Fade
`In/Out
`API API
`Fade
`API
`API
`API
`API
`282\ 284 \ 286
`28.- 284 \— 286
`
`Audio Hardware Abstraction Layer (HAL)
`Audio Hardware Abstraction Layer (HAL)
`
`I
`
`Audio System Hardware
`Audio System Hardware
`
`272
`
`270
`
`7e“
`
`Petitioners
`Exhibit 1006, Page 10
`
`
`
`U.S. Patent (cid:9)
`U.S. Patent
`
`Aug. 1, 2006
`Aug. 1, 2006
`
`Sheet 9 0f 10
`Sheet 9 of 10 (cid:9)
`
`US 7,085,710 B1
`US 7,085,710 B1
`
`278
`278
`
`Audio
`[\
`Audio
`Background
`Background
`Source
`Audio Source
`Source
`Audio Source
`V Control API
`Control API
`
`/— 282
`284
`284
`282
`f f
`
`7— 286
`286
`
`280
`280
`
`SSD
`EQ
`SSD —|\ EQ
`API
`API
`API i/ API
`
`Wave-Out
`ForegroundAudio Wave-Out
`Foreground Audio
`API
`Source
`API
`Source
`
`Volume
`Volume
`Balance
`Balance 8 eakers
`Speakers
`Fade
`Fade
`'’
`API
`API
`
`Petitioners
`Exhibit 1006, Page 11
`
`(cid:9)
`(cid:9)
`
`
`U.S. Patent (cid:9)
`U.S. Patent
`
`Aug. 1, 2006
`Aug. 1, 2006
`
`Sheet 10 of 10 (cid:9)
`Sheet 10 0f 10
`
`US 7,085,710 B1
`US 7,085,710 B1
`
`p- 72
`290 1 122
`r72 [-290 W122i
`I
`
`172
`
`I2S
`
`2 ~ Codec IS
`Codec
`:
`
`Mic
`Mic
`
`~ Amp
`Amp
`
`Mono
`Mono
`
`110
`Logic Unit
`
`Logic Unit
`
`r (cid:9)
`F130
`
`130
`
`I/O Memory
`V0 Memory
`
`>
`
`Ping/
`Ping’
`Pong
`Pong
`Buffer
`Buffer
`,
`132J
`132
`
`~ D t
`Data
`aa 5
`MUX i
`MUX
`~;
`
`1 (cid:9)
`256 J
`256
`
`i
`
`5
`
`PCI
`PCI
`
` 116
`[- 116
`
`Audio DSP
`Audio DSP
`Filter
`Filter
`Algorithm
`(cid:9)
`Algorithm 4
`
`L294
`294
`
`g
`g
`
`§~ Sp‘
`SPI
`292~f/
`
`292
`
`i
`
`298
`
`298
`
`302
`302
`
`Speech
`Speech
`Recognition
`Recognition
`System
`System
`
`T
`
`L """""""""""""""
`
`"" J
`
`296
`296
`
`\
`PCI
`PCI
`Controller
`Controller
`
`f154
`154
`
`DRAM
`DRAM
`
`+ Buffer
`Buffer
`Memory
`Memory
`
`300
`300
`/_
`
`10
`
`Petitioners
`Exhibit 1006, Page 12
`
`(cid:9)
`
`
`1
`1
`VEHICLE COMPUTER SYSTEM AUDIO
`VEHICLE COMPUTER SYSTEM AUDIO
`ENTERTAINMENT SYSTEM
`ENTERTAINMENT SYSTEM
`
`US 7,085,710 B1
`US 7,085,710 B1
`
`TECHNICAL FIELD
`TECHNICAL FIELD
`
`This invention relates to audio entertainment systems for
`This invention relates to audio entertainment systems for
`vehicles. More particularly, this invention relates to a
`vehicles. More particularly, this invention relates to a
`vehicle computer system that implements an audio enter-
`vehicle computer system that implements an audio enter
`tainment system.
`tainment system.
`
`BACKGROUND
`BACKGROUND
`
`5
`
`10
`
`Modem vehicles are typically equipped With several inde
`Modem vehicles are typically equipped with several inde-
`pendent electronic systems. For instance, most modern
`pendent electronic systems. For instance, most modem
`vehicles have a sound system and a security system. Most 15
`vehicles have a sound system and a security system. Most
`late model vehicles are also constructed with a diagnostic
`late model vehicles are also constructed With a diagnostic
`system that analyZes performance of the vehicle’s engine,
`system that analyzes performance of the vehicle's engine,
`transmission and fuel system, and other components (1996
`transmission and fuel system, and other components (1996
`or later for OBD II, 1993 or later for OBD I). In some recent
`or later for OBD II, 1993 or later for OBD I). In some recent
`models, vehicles are being equipped With a navigation
`models, vehicles are being equipped with a navigation 20
`20
`system that incorporates a global positioning system (GPS)
`system that incorporates a global positioning system (GPS)
`receiver to receive signals from a satellite network for
`receiver to receive signals from a satellite netWork for
`computing coordinates that locate the vehicle over the
`computing coordinates that locate the vehicle over the
`surface of the earth With regard to longitude, latitude, and
`surface of the earth with regard to longitude, latitude, and
`altitude. Cellular communications systems have also been
`altitude. Cellular communications systems have also been 25
`25
`added to vehicles. These communications systems enable
`added to vehicles. These communications systems enable
`the vehicle driver or occupant to transact telephone calls
`the vehicle driver or occupant to transact telephone calls
`from their vehicle.
`from their vehicle.
`While these various electronics systems have proven
`While these various electronics systems have proven
`useful to vehicle users, there is a drawback in that the 30
`useful to vehicle users, there is a drawback in that the
`30
`systems are unrelated and incompatible. Each system
`systems are unrelated and incompatible. Each system
`employs separate proprietary dedicated processors or ASICs
`employs separate proprietary dedicated processors or ASICs
`(application speci?c integrated circuits) Which execute
`(application specific integrated circuits) which execute
`incompatible proprietary software. If a vehicle owner would
`incompatible proprietary software. If a vehicle oWner Would
`like to add a security system to his/her vehicle, the owner 35
`like to add a security system to his/her vehicle, the oWner
`35
`must purchase an entire security system from one of the
`must purchase an entire security system from one of the
`vendors and have it custom installed. There is no way to add
`vendors and have it custom installed. There is no Way to add
`security functionality to an existing electronics system, such
`security functionality to an existing electronics system, such
`as the navigation system or the sound system.
`as the navigation system or the sound system.
`U.S. patent application Ser. No. 08/564,586 entitled 4o
`US. patent application Ser. No. 08/564,586 entitled
`40
`"Vehicle Computer System," which was filed on Nov. 29,
`“Vehicle Computer System,” Which Was ?led on Nov. 29,
`1995 in the names of Richard D. Beckert, Mark M. Moeller,
`1995 in the names of Richard D. Beckert, Mark M. Moeller,
`and William Wong, describes a vehicle computer system that
`and William Wong, describes a vehicle computer system that
`is capable of integrating these diverse and separate systems
`is capable of integrating these diverse and separate systems
`as well as offering a general purpose computing platform 45
`as Well as offering a general purpose computing platform
`45
`that allows for easy expandability. The vehicle computer
`that alloWs for easy expandability. The vehicle computer
`system provides an open hardware architecture and supports
`system provides an open hardWare architecture and supports
`an open platform operating system. The open platform
`an open platform operating system. The open platform
`operating system supports multiple different applications
`operating system supports multiple different applications
`that can be supplied by a software vendor. For instance, the so
`that can be supplied by a softWare vendor. For instance, the
`50
`operating system can support applications pertaining to
`operating system can support applications pertaining to
`entertainment, navigation, communications, security, diag
`entertainment, navigation, communications, security, diag-
`nostics, and others. In the preferred implementation, the
`nostics, and others. In the preferred implementation, the
`operating system is a multitasking operating system capable
`operating system is a multitasking operating system capable
`of concurrently running multiple applications.
`of concurrently running multiple applications. (cid:9)
`This invention is directed to the audio entertainment
`This invention is directed to the audio entertainment
`system implemented by the vehicle computer system.
`system implemented by the vehicle computer system.
`
`55
`55
`
`SUMMARY
`SUMMARY
`
`60
`60
`
`This invention concerns a vehicle computer system, and
`This invention concerns a vehicle computer system, and
`more particularly, the audio entertainment aspects of the
`more particularly, the audio entertainment aspects of the
`system. The vehicle computer system has three modules: a
`system. The vehicle computer system has three modules: a
`support module, a computer module, and faceplate module.
`support module, a computer module, and faceplate module.
`The support module is formed as part of a stationary base 65
`The support module is formed as part of a stationary base
`65
`unit of the housing that resides in the vehicle dashboard or
`unit of the housing that resides in the vehicle dashboard or
`other location. It has its own logic unit that can be imple-
`other location. It has its oWn logic unit that can be imple
`
`2
`2
`mented in a ?eld programmable gate array (FPGA), appli
`mented in a field programmable gate array (FPGA), appli-
`cation speci?c integrated circuit (ASIC), customiZed pro
`cation specific integrated circuit (ASIC), customized pro-
`cessor, or the like. The support module also has an audio
`cessor, or the like. The support module also has an audio
`signal processor, such as an audio digital signal processor
`signal processor, such as an audio digital signal processor
`(DSP), Which performs the signal processing for audio data.
`(DSP), which performs the signal processing for audio data.
`The computer module can be a separated module attached
`The computer module can be a separated module attached
`to the support module or its functionality integrated into the
`to the support module or its functionality integrated into the
`support module. The computer module has a processor that
`support module. The computer module has a processor that
`runs an operating system. The computer module and support
`runs an operating system. The computer module and support
`module are interfaced using a multi-bit bus, such as a PCI
`module are interfaced using a multi-bit bus, such as a PCI
`bus. The faceplate module is detachably connected to the
`bus. The faceplate module is detachably connected to the
`support module. The faceplate module has a logic unit of its
`support module. The faceplate module has a logic unit of its
`own to control a display and a keypad, and optionally a RF
`oWn to control a display and a keypad, and optionally a RF
`transceiver such as a cellular phone and a two-way pager.
`transceiver such as a cellular phone and a tWo-Way pager.
`The faceplate and support modules are connected using a
`The faceplate and support modules are connected using a
`high-speed serial connection.
`high-speed serial connection.
`The audio entertainment system is primarily supported by
`The audio entertainment system is primarily supported by
`the logic unit and audio DSP of support module. The support
`the logic unit and audio DSP of support module. The support
`module can accommodate multiple audio sources such as
`module can accommodate multiple audio sources such as
`CD player, CD changer, AM/FM tuner, auxiliary 1, auxiliary
`CD player, CD changer, AM/FM tuner, auxiliary 1, auxiliary
`two, computer wave outputs and a microphone. The support
`tWo, computer Wave outputs and a microphone. The support
`module receives the data from the sources, processes it in the
`module receives the data from the sources, processes it in the
`audio DSP, and outputs the data to the speaker system or
`audio DSP, and outputs the data to the speaker system or
`other destination, such as a USB peripheral or memory in the
`other destination, such as a USB peripheral or memory in the
`computer module.
`computer module.
`The support module logic unit has an internal address/ data
`The support module logic unit has an internal address/data
`bus structure that is independent and separate from the
`bus structure that is independent and separate from the
`internal bus of the computer module. This logic unit’s bus
`internal bus of the computer module. This logic unit's bus
`functions as the peripheral communication pathway so that
`functions as the peripheral communication pathWay so that
`data from the audio sources can be processed without
`data from the audio sources can be processed Without
`intervention from the computer module. For instance, all of
`intervention from the computer module. For instance, all of
`the audio sound generation, processing, and output can be
`the audio sound generation, processing, and output can be
`handled through the support module While consuming mini
`handled through the support module while consuming mini-
`mal processing resources of the computer module.
`mal processing resources of the computer module.
`According to an aspect of this invention, the audio enter-
`According to an aspect of this invention, the audio enter
`tainment system employs a set of ping/pong buffers in an I/O
`tainment system employs a set of ping/pong buffers in an I/O
`memory coupled to the internal address/data bus structure of
`memory coupled to the internal address/ data bus structure of
`the support module’s logic unit to temporarily hold data
`the support module's logic unit to temporarily hold data
`being communicated betWeen different audio devices. The
`being communicated between different audio devices. The
`logic unit has direct memory access (DMA) circuits asso-
`logic unit has direct memory access (DMA) circuits asso
`ciated With each of the audio devices to designate particular
`ciated with each of the audio devices to designate particular
`storage areas of the I/O memory to hold data received from,
`storage areas of the I/O memory to hold data received from,
`or to be sent to, the associated device. Audio data is
`or to be sent to, the associated device. Audio data is
`exchanged through use of a mapping overlay technique, in
`exchanged through use of a mapping overlay technique, in
`which the DMA circuits for two audio devices read and write
`Which the DMA circuits for tWo audio devices read and Write
`to the same memory buffer. While one DMA circuit is filling
`to the same memory bulfer. While one DMA circuit is ?lling
`the ping buffer with audio data from one device (e.g., an
`the ping buffer With audio data from one device (e.g., an
`AM/FM tuner, CD player, etc.), the other DMA circuit is
`AM/FM tuner, CD player, etc.), the other DMA circuit is
`reading data from the pong buffer to output to another audio
`reading data from the pong buffer to output to another audio
`device (e.g., an audio signal processor).
`device (e.g., an audio signal processor).
`According to another aspect of this invention, the audio
`According to another aspect of this invention, the audio
`entertainment system processes the digital audio data at an
`entertainment system processes the digital audio data at an
`internal sampling rate (e.g., 44.1 kHZ) determined by a
`internal sampling rate (e.g., 44.1 kHz) determined by a
`master clock rate derived from a 48 MHz clock and a
`master clock rate derived from a 48 MHZ clock and a
`softWare adjustable divider register in the support module.
`software adjustable divider register in the support module.
`Data being transferred from the buffer to the audio DSP for
`Data being transferred from the buffer to the audio DSP for
`processing is sampled at this rate. However, an audio source
`processing is sampled at this rate. HoWever, an audio source
`device operating under its own clock signal may write audio
`device operating under its oWn clock signal may Write audio
`data into the memory buffer at a rate that may not exactly
`data into the memory buffer at a rate that may not exactly
`match the output DMA clock rate. The audio entertainment
`match the output DMA clock rate. The audio entertainment
`system softWare adjusts the divider register to manipulate
`system software adjusts the divider register to manipulate
`the master clock rate to the CODEC in order to synchronize
`the master clock rate to the CODEC in order to synchronize
`the data Write and read operations into the ping/pong bulfer.
`the data write and read operations into the ping/pong buffer.
`According to another aspect, the computer system pro
`According to another aspect, the computer system pro-
`vides an audio manager API (application program interface)
`vides an audio manager API (application program interface)
`to enable applications running on the computer to control the
`to enable applications running on the computer to control the
`various audio sources without knowing the hardware and
`various audio sources Without knoWing the hardWare and
`
`Petitioners
`Exhibit 1006, Page 13
`
`
`
`US 7,085,710 B1
`US 7,085,710 B1
`
`4
`3
`3
`4
`implementation details of the underlying sound system. (cid:9)
`implementation details of the underlying sound system.
`has a form factor of a single DIN (Deutsche Industry
`has a form factor of a single DIN (Deutsche Industry
`Normen). But, it possibly could be housed in a DIN unit or
`Different audio devices and their drivers control different
`Di?ferent audio devices and their drivers control di?ferent
`Normen). But, it possibly could be housed in a DIN unit or
`functionality of the audio system, such as equalization, (cid:9)
`functionality of the audio system, such as equalization,
`other special form factor for an OEM.
`other special form factor for an OEM.
`volume controls and surround sound decoding. The audio
`The computer 22 runs an open platform operating system
`volume controls and surround sound decoding. The audio
`The computer 22 runs an open platform operating system
`that supports multiple applications. Using an open platform
`manager API transfers calls made by the applications to the
`that supports multiple applications. Using an open platform
`manager API transfers calls made by the applications to the 5
`a