throbber
VWGoA - Ex. 1004
`Volkswagen Group of America, Inc., Petitioner
`1
`
`

`
`tHCtaP3U
`
`Jan. 16, 2001
`
`Sheet 1 of 10
`
`US 6,175,789 B1
`
`$v<zzEz<onx\
`
`vml.81ow
`
`i
`
`oN
`
`4!\
`
`a:xo<m
`
`>mm:L<m
`
`mm
`
`Eta‘m_._o__._m>.mm
`
`mm0
`
`\ .
`
`§\
`‘TR
`
`\
`
`\ <
`
`1-
`
`V
`
`\
`
`\
`
`mmon
`
`O_._.wOZ0<_DEmsomm
`
`
`
`
`
` 8 moE~m:z_mmomzmmIE
`
`2
`
`

`
`U.S. Patent
`
`Jan. 16, 2001
`
`Sheet 2 of 10
`
`US 6,175,789 B1
`
`E
`
`mm
`
`mm
`
`ZO_._.<O_><Z
`
`
`
`n_\_s_m5>w
`
`>.:m:omm
`
`
`
`n_\_s_m+m>w
`
`
`
`_>m_»m>wom_O
`
`us
`
`NNI\
`
`N»
`
`mo
`
`8
`
`E
`
`
`
`m_._:n_o_>_~_m5n_s_oo
`
`»mzmm»z_
`
`
`
`v_z_._mwm.m_m_>>
`
`m5Imm:
`
`
`
`m::n_o_>_Eonaam
`
`3
`
`8
`
`mm
`
`_>_ON_-D0
`
`n_\_mm_oz<:o
`
`
`
`..._\_mm_z3._.>.r
`
`.v_o:m>o_,
`
`.om<om>mv_
`
`mm:os_
`
`E
`
`
`
`m_.5oo_>_m:<._n_mo<n_
`
`3
`
`
`
`
`
`

`
`U.S. Patent
`
`Jan. 16, 2001
`
`Sheet 3 of 10
`
`US 6,175,789 B1
`
`
`
`m_.5n_o_>_m:<._nm_o<n_
`
`
`
`m_._:oo_>_Eonasm
`
`
`
`m5oo_>_mmSn_s_oo
`
`No
`
`E
`
`mm
`
`E
`
`om
`
`NN_.
`
`om.
`
`n_<m>mx
`
`><#_m_o
`
`<om_
`
`omooo
`
`NE2:
`
`
`
`omoooEwn___._omam
`
`mm
`
`_>_u_\_>_<
`
`8
`
`
`
`
`
`mmzah._<zo_wo_n5<
`
`mmjomtzoo
`<O>..=_mm:
`
`
`
`m::n_o_>_mommm_oomn_
`
`mm
`
`vN_,
`
`mm_>_momz<m._.“E
`
`A._<20_._.n_OV
`
`<20»m<u_
`
`>mosm__>_
`
`
`
`:2:o_oo._
`
`
`
`._._ZDO_OO|_
`
`mm.
`
`of
`
`mi
`
`\..m_.
`
`mm:
`
`mm.
`
`on;
`
`>:m_:omw
`
`ZO_.r<O_:_n_n_<
`
`omo
`
`ZO_._.<0_:_n_n_<
`
`ZO_._.<O_><Z
`
`ZO_._.<O_._n_n.<
`
`mmm>_mn_
`
`920E<s_w
`
`n_\_
`
`&_E<o-on_
`
`n3
`
`v?
`
`E8w1.5%
`
`8
`
`5
`V
`
`N?
`
`4
`
`
`
`

`
`U.S. Patent
`
`Jan. 16, 2001
`
`Sheet 4 of 10
`
`US 6,175,789 B1
`
`66
`
`CLK
`
`_ 150
`- DD DATA
`/
`—> D
`Q
`
`152
`
`
`LOGIC UNIT Q
`32
`/
`>
`
`
`
`‘
`,—» D
`
`— Q
`
`32
`Q >
`
`154
`
`D
`
`32
`/
`
`0
`
`155
`
`148
`
`
`
`VGA
`CONTROLLER
`
`162
`
`SERIAL
`DEVICES WITH
`DMA
`
`166
`
`
`
`SERIAL
`DEVICES
`
`WITHOUT DMA
`
`
`
`
`
`
`~—~
`
`164
`
`i
`PING/PONG DMA
`CIRCUITS
`
`D
`<1
`
`D
`D
`
`32
`-«TR»
`
`32
`
`P
`
`32
`4
`
`,
`
`REGISTER
`DECODER
`
`D ,
`4
`
`
`
`32
`
`4
`
`O
`
`32
`
`>
`
`—\
`32
`
`>
`
`142 *1
`32
`
`140 —/'
`
`.
`v
`V
`V
`CNTL ADD DATA
`
`<
`< ‘
`
`16
`/
`
`32
`/
`
`20
`/
`
`170
`
`IDE Pom
`
`110
`
`
`
`FAST DATA
`MEMORY
`
`5
`
`

`
`U.S. Patent
`
`Jan. 16, 2001
`
`Sheet 5 of 10
`
`US 6,175,789 B1
`
`CNTL ADD DATA
`
`140x,
`144_
`146'\ D
`
`142 —-_\
`
`32
`/
`
`D 32
`O /
`
`>
`
`
`BUS REQ
`
`BUS GRANT
`206
`
`PING/PoNG START ADDRESS
`
`1
`
`7
`
`'
`
`8
`
`
`
`>
`
`0
`
`8
`
`8
`

`
`'
`
`‘
`.
`
`v
`
`D19 ..... .. D10
`+
`V
`
`A19 ....... A10
`
`» D /
`
`O
`
`208
`’ [>
`0
`LOWER
`
`COUNT
`ADDRESS
`
`COUNTER
`
`A9 ..... .. A2
`
`
`
`CONTROL
`REGISTER
`
`
`
`
`
`ONTROL REGISTER
`& STATUS
`REGISTERS
`
`
`
`
`
`6
`
`

`
`U.S. Patent
`
`Jan. 16, 2001
`
`Sheet 6 of 10
`
`US 6,175,789 B1
`
`102
`
`90
`
`CODEC
`
`I23
`
`
`
`AM/FM TUNER
`
`MODULE
`
`PROCESSOR
`
`78
`
`CD-ROM
`
`PARALLEL BUS
`
`AUDIO SIGNAL
`
`I23
`
`I23
`
`110
`
`FAST DATA
`
`MEMORY
`
`7
`
`

`
`U.S. Patent
`
`Jan. 16, 2001
`
`Sheet 7 of 10
`
`US 6,175,789 B1
`
`FCLK
`
`FSYNC
`
`f 220 90
`
`
`
`' 234
`
`
`
` MCLK
`11.2 MHz
`
`DIVIDE BY N
`
`COUNTER
`
`DIVIDE BY 2
`
`COUNTER
`
`DIVIDE BY 480
`COUNTER
`
`2
`I C CLOCK
`
`DIVIDE BY N
`COUNTER
`
`BAUD RATES
`
`8
`
`

`
`tnCtaP3U
`
`aJ
`
`M
`
`10
`
`whS
`
`£10
`
`1B9879571,6SU
`
`n.Eova
`
`m.025,
`
`EILE
`
`v_._o
`
`mSm
`
`mm__>_<E
`
`9
`
`

`
`U.S. Patent
`
`Jan. 16, 2001
`
`Sheet 9 of 10
`
`US 6,175,789 B1
`
`mmSn_s_oo
`
`m.5oo_>_
`
`we
`
`
`
`mSn_o_>_Eon_n5w
`
`mE:nm_o<u_
`
`m_.5n_o_>_
`
`8
`
`
`
`mo»<.5ommm_m_>>On_
`
`mmo<z<_>_DZ<
`
`Sm
`
`
`won4/EmEm__
`_.III|IIIIIIII14
`
`AA_
`
`mm
`
`mm
`
`m._o_:m>
`
`>mmE<m
`
`n_3_o<m
`
`>mmC<m
`
`10
`
`
`
`
`
`

`
`11
`
`U.S. Patent
`
`Jan. 16, 2001
`
`Sheet 10 of 10
`
`US 6,175,789 B1
`
`N0I
`
`D
`
`/-500
`
`11
`
`

`
`US 6,175,789 B1
`
`1
`VEHICLE COMPUTER SYSTEM WITH
`OPEN PLATFORM ARCHITECTURE
`
`REFERENCE TO RELATED APPLICATIONS
`
`This is a continuation of U.S. patent application Ser. No.
`08/668,781, filed Jun. 24, 1996, which issued as U.S. Pat.
`No. 6,009,363, on Dec. 28, 1999. Patent
`’363 is a
`continuation-in-part of U.S. patent application Ser. No.
`08/564,586, filed Nov. 29, 1995, which issued as U.S. Pat.
`No. 5,794,164, on Aug. 11, 1998.
`
`TECHNICAL FIELD
`
`This invention relates to computer systems for vehicles.
`
`BACKGROUND
`
`Modern vehicles are typically equipped with several
`independent electronic systems. For instance, most modern
`vehicles have a sound system and a security system. The
`sound system usually consists of an AM/FM radio, a cassette
`or CD (compact disk) player, an equalizer/amplifier, and
`speakers. The radio and player are arranged in a metal casing
`or housing that is mounted in a dashboard of the vehicle. The
`housing has a standardized size, often expressed in terms of
`DINs (Deutsche Industry Normen), to ensure that the sound
`system is compatible with and can be retrofit into most
`vehicle dashboards.
`
`The security system is entirely separate from the sound
`system. The security system generally consists of security
`sensors placed throughout
`the vehicle, and a central
`application-specific integrated circuit (ASIC) to monitor the
`sensors and determine whether security is being jeopardized.
`Security System also controls actuators to lock/unlock doors
`or windows, and an alarm or siren.
`Most late model vehicles are also constructed with a
`
`diagnostic system that analyzes performance of the vehicle’s
`engine, transmission and fuel system, and other components
`(1996 or later for OBD II, 1993 or later for OBD I). The
`diagnostic system can be coupled to an external computer to
`download or monitor diagnostic information that is useful to
`a vehicle mechanic during servicing of the vehicle.
`Additionally, the diagnostic system might include dashboard
`displays that inform the driver of various operating condi-
`tions.
`
`In some recent models, vehicles are being equipped with
`a navigation system that incorporates a global positioning
`system (GPS) receiver. The GPS receiver has an antenna to
`receive signals from a satellite network. The vehicle navi-
`gation system uses the satellite positioning signals to com-
`pute coordinates that locate the vehicle over the surface of
`the earth with regard to longitude, latitude, and altitude.
`Also, with the appropriate map software,
`the vehicle’s
`location can then be shown on a map.
`Cellular communications systems have also been added to
`vehicles. These communications systems enable the vehicle
`driver or occupant to transact telephone calls from their
`vehicle. Some of the more sophisticated systems are voice
`controlled which permit the driver to initiate or receive calls
`while traveling without removing a hand from the driving
`wheel, or diverting his/her eyes from the operation of the
`vehicle.
`
`While these various electronics systems have proven
`useful
`to vehicle users,
`there is a drawback in that
`the
`systems are unrelated and incompatible. Each system
`employs separate proprietary dedicated processors or ASICs
`(application specific integrated circuits) which execute
`
`5
`
`10
`
`15
`
`20
`
`25
`
`30
`
`35
`
`40
`
`45
`
`50
`
`55
`
`60
`
`65
`
`2
`incompatible proprietary software. If a vehicle owner would
`like to add a security system to his/her vehicle, the owner
`must purchase an entire security system from one of the
`vendors and have it customarily installed. There is no way
`to add security functionality to an existing electronics
`system, such as the navigation system or the sound system.
`SUMMARY
`
`This invention concerns a vehicle computer system that is
`capable of integrating these diverse and separate systems as
`well as offering a general purpose computing platform that
`allows for easy expandability. The vehicle computer system
`has a housing sized to be mounted in a vehicle dashboard or
`other convenient location. This system provides an open
`hardware architecture and supports an open platform oper-
`ating system. The open platform operating system supports
`multiple different applications that can be supplied by a
`software vendor. For instance,
`the operating system can
`support applications pertaining to entertainment, navigation,
`communications, security, diagnostics, and others. In the
`preferred implementation, the operating system is a multi-
`tasking operating system capable of concurrently running
`multiple applications. The computer has one or more storage
`devices (e.g., hard disk drive, CD drive, floppy disk drive,
`cassette player, or smart card reader) which permits the user
`to download programs from a storage medium (e.g., hard
`disk, CD, diskette, or cassette) to the computer. Also, the
`user can read or write data to writeable medium (e.g., hard
`disk, diskette, cassette, or smart card). In this manner, the
`vehicle owner can easily add new systems to his/her vehicle
`by installing additional programs.
`In the described implementation, the vehicle computer
`system has three modules: a support module, a faceplate
`module, and a computer module. The support module is
`formed as part of a stationary base unit of the housing that
`resides in the vehicle dashboard or other location. It has its
`
`own logic unit which can be implemented in a field pro-
`grammable gate array (FPGA), application specific inte-
`grated circuit (ASIC), customized processor, or the like. The
`support module also has an audio signal processor, such as
`a digital signal processor (DSP), which performs the signal
`processing for audio and video data. One could combine this
`DSP into the ASIC if desired.
`
`The faceplate module is detachably connected to the
`support module. The faceplate module has a logic unit of its
`own to control an RF transceiver such as a Cell phone, a
`two-way pager, or a point-to-point spread spectrum
`transceiver, a display, a keypad, and a CODEC. The face-
`plate and support modules are connected using a high speed
`serial connection.
`
`The computer module can be connected to or removed
`from the support module. The computer module and support
`module are interfaced using a multi-bit bus, such as a PCI
`bus. The computer module has a processor and runs an open
`platform operating system. Multiple vehicle-related appli-
`cations execute on the operating system to control operation
`of components in the vehicle. In addition,
`the computer
`module may execute non-vehicle-related applications con-
`currently with the vehicle-related applications.
`BRIEF DESCRIPTION OF THE DRAWINGS
`
`The same reference numerals are used throughout the
`drawings to reference like components and features.
`FIG. 1 is a diagrammatic illustration of a vehicle com-
`puter system.
`FIG. 2 is a diagrammatic illustration of the vehicle
`computer system interfaced with multiple external periph-
`eral devices.
`
`12
`
`

`
`US 6,175,789 B1
`
`3
`FIG. 3 is a block diagram of the vehicle computer system
`according to one implementation having a faceplate module,
`a support module, and a computer module.
`FIG. 4 is a block diagram of an interface and internal bus
`structure of the support module. FIG. 4 shows the use of a
`fast data memory as a high speed data communications
`buffer.
`
`FIG. 5 is a block diagram of a memory access circuit
`which maps data from peripheral devices into storage loca-
`tions within the fast data memory.
`FIG. 6 is a block diagram of the support module which is
`used to illustrate audio data exchange among multiple serial
`devices through the fast data memory.
`FIG. 7 is a functional block diagram of a master clock
`generating unit which produces a master audio clock signal
`used throughout the vehicle computer system.
`FIG. 8 is a timing diagram illustrating a serial bit stream
`used to communicate data between the support and faceplate
`modules.
`
`FIG. 9 is a block diagram of a power system employed by
`the vehicle computer system.
`FIG. 10 is a diagrammatic illustration of the vehicle
`computer system according to another embodiment having a
`centralized server computing unit and one or more client
`computing units distributed on a data network in a vehicle.
`
`DETAILED DESCRIPTION
`
`FIG. 1 shows a vehicle computer system 20 according to
`one implementation of this invention. Vehicle computer
`system 20 has a centralized computer 22 coupled to various
`external peripheral devices, including a monitor 24, security
`sensors 26, a vehicle diagnostic interface 28, speakers 30, a
`vehicle battery 32, a backup battery 33, and antenna(s) 34.
`The computer 22 is assembled in a housing 36 that is sized
`to be mounted in a vehicle dashboard, similar to a conven-
`tional automobile stereo. Preferably, the housing 36 has a
`form factor of a single DIN (Deutsche Industry Normen).
`But, it possibly could be housed in a 2 DIN unit or other
`special form factor for an OEM.
`The computer 22 runs an open platform operating system
`which supports multiple applications. Using an open plat-
`form operating system and an open computer system
`architecture, various software applications and hardware
`peripherals can be produced by independent vendors and
`subsequently installed by the vehicle user after purchase of
`the vehicle. This is advantageous in that the software appli-
`cations do not need to be specially configured for uniquely
`designed embedded systems. The open hardware architec-
`ture preferably runs a multitasking operating system that
`employs a graphical user interface. One preferred operating
`system is a Windows® brand operating system sold by
`Microsoft Corporation, such as Windows 95® or Windows
`NT® or other derivative versions of Windows®. A multi-
`
`tasking operating system allows simultaneous execution of
`multiple applications.
`The computer 22 includes at least one storage drive which
`permits the vehicle user to download programs and data
`from storage medium. In the illustrated implementation, the
`computer 22 has a CD ROM drive 38 which reads
`application-related CDs, as well as musical, video, game, or
`other types of entertainment CDs. In this manner, the CD
`ROM drive 38 performs a dual role of storage drive and
`entertainment player. The computer 22 has an optional 3.5“
`floppy diskette drive 40, a smart card reader 42, and dual
`PCMCIA card sockets 44 which accept PCMCIA card types
`
`10
`
`15
`
`20
`
`25
`
`30
`
`35
`
`40
`
`45
`
`50
`
`55
`
`60
`
`65
`
`4
`I, II and III. Two types I or II cards can be simultaneously
`used, but only one card if a type III can be used. Hereinafter,
`the acronym “PC-Card” will be used in place of the acronym
`“PCMCIA.” Also, a hard disk drive (not shown) can be
`included on the computer 22 for storing both application
`programs and user data. A DVD (digital video disk) player
`may also be included in the computer 22.
`The storage drives are mounted in a base unit 46 of
`housing 36. The base unit 46 is constructed and sized to be
`mounted in the dashboard. Optionally, this base unit may be
`removable in the same fashion as a laptop computer and its
`associated docking station. This high end option allows the
`user to take his vehicle computer to his home or office to
`serve as his portable PC. The housing 36 also has a detach-
`able faceplate 48 which is pivotally mounted to the front of
`the base unit 46. The faceplate can be rotated to permit easy
`and convenient access to the storage drives.
`The computer 22 has a keypad 52 and a display 54 on the
`faceplate 48. The operating system executing on the com-
`puter 22 controls the faceplate peripheral, which through the
`faceplate processor, can control the faceplate keys 52 and the
`faceplate display 54 as peripheral devices when the faceplate
`is attached to the base unit. Additionally, the computer 22
`has a voice recognition device to permit the user to verbally
`enter commands in a hands-free, eyes-free environment.
`These voice commands can be used for controlling most
`operating modes of the vehicle computing platform. The
`computer 22 is also equipped with an IrDA (infrared devel-
`opers association) transceiver port 56 mounted on the face-
`plate 48 to transmit and receive data and programs using
`infrared signals. The entire faceplate unit 48 behaves as a
`multifunction peripheral to the computing platform.
`To load an application or data onto the computer 22, the
`vehicle user inserts a CD or other media (if the application
`is not already contained on the hard disk) into the appro-
`priate drive and the operating system downloads the appli-
`cation or data therefrom. The installation process can be
`automatically handled by the operating system, or with the
`assistance of commands input from the user in the form of
`keyed sequences on the keypad 52 or verbal instructions
`using the voice recognition device. Another technique to
`load data or applications or transfer data with other com-
`puting devices is through the use of the IrDA transceiver port
`56, or the wireless Internet link 76.
`The computer 22 can output visual data to the LCD 54 at
`the faceplate, or to the monitor 24. The display 54 is
`preferably a back lit LCD. The monitor 24 is preferably a
`small flat panel display (e.g., 6.4“ screen) that is movably
`mounted on a stand or yoke and remotely located from the
`computer. The monitor 24 is fully adjustable to different
`viewing positions that can be seen by the driver or other
`passengers in the vehicle. The type of data displayed on the
`monitor can range widely from word instructions concerning
`the vehicle’s performance, to diagrammatic directions used
`by the navigation system, to video movies for in-car enter-
`tainment. The monitor 24 is equipped with an automatic
`override switch 58 which automatically disables the display
`of any non-driving related data when positioned to be
`viewed by the driver. When facing the driver, only infor-
`mation supportive and helpful to driving (e.g., diagnostics,
`navigation directions) is displayed on the monitor, while
`distracting information (e.g., video movies, games)
`is
`blocked from display. In one implementation, the switch is
`an electrical cylindrical switch which closes when the dis-
`play is capable of being viewed by the driver; thus, the
`software can sense the display position and only allow
`permitted information to be displayed.
`
`13
`
`

`
`US 6,175,789 B1
`
`5
`In general, the vehicle computer system 20 can be used to
`integrate multiple vehicle-related systems onto one open
`platform hardware and software architecture. For instance,
`the vehicle computer system 20 can serve as a multimedia
`entertainment system, a navigation system, a communica-
`tions system, a security system, and a diagnostics system.
`Moreover, the vehicle computer system 20 provides addi-
`tional functionality traditionally associated with desk-top
`and laptop personal computers. For instance, vehicle com-
`puter system 20 can support word processing applications,
`spreadsheet applications, database applications, and
`appointment/schedule applications. Furthermore,
`the
`vehicle computer system 20 can be configured to operate as
`a server to other computing units in the vehicle to distribute
`games, video movies, and the like to passengers.
`FIG. 2 shows the computer 22 according to one imple-
`mentation of the invention. Computer 22 has three primary
`modules: a faceplate module 60, a support module 62, and
`a computer module 64. The computer module 64 is opera-
`tively connected to the support module 62 via a multi-bit bus
`66. In the preferred implementation, the multi-bit bus is a
`PCI (Peripheral Component Interconnect) bus. The support
`module 62 and faceplate module 60 are interconnected via
`a high speed serial interface 68 which supports high speed,
`serial data communication. A preferred serial transmission
`scheme is described below in more detail with reference to
`FIG. 8.
`
`In FIG. 2, the support module 62 is also connected to a
`universal serial bus (USB) hub 70 via a multi-bit connector
`72 (e.g., 8 bits). The USB hub 70 provides connections to
`many peripheral devices (e.g., 128 devices). Example
`peripheral devices include the OBD (On Board Diagnostic)
`system 28, the security system 26, navigation system 74, a
`wireless link 76 to the Internet, a CD-ROM changer 78, a TV
`tuner 80, and user I/O devices such as a joystick, keyboard
`or a mouse 82. This USB hub could be separate as shown in
`FIG. 2 or it could be integrated into one or more of the USB
`peripherals.
`FIG. 3 shows the three modules of the vehicle computer
`22 in more detail. The support module 62 resides in the
`typically stationary base unit 46 (FIG. 1) that is mounted in
`the vehicle dashboard or other convenient location. The
`
`support module 62 includes a logic unit 90 which is respon-
`sible for facilitating communication among peripheral
`devices, establishing a master audio clock signal used
`throughout the vehicle computer system, and coordinating
`the entertainment functionality of the computer system. The
`logic unit 90 can be implemented as an FPGA (field pro-
`grammable gate array). It is noted that the logic code for an
`FPGA is developed using a hardware description language,
`such as VHDL (IEEE standard 1076-1993), and can be
`recompiled for an ASIC (application specific integrated
`circuit) architecture. The logical unit 90 can further be
`implemented as a microprocessor, a RISC (reduced instruc-
`tion set computing) processor, or other processing devices.
`The support module 62 has several hardware interfaces. A
`USB interface 92 is driven from the PCI bus 66 and provides
`the interconnection to the various USB peripherals shown in
`FIG. 2. A USB hub may be required as shown if the
`peripherals do not incorporate one and more USB periph-
`erals than supported directly by the support module are
`attached. A VGA controller 94 is provided on the support
`module 62 to drive the display 24 (FIG. 1). The VGA
`controller 94 is also driven from the PCI bus. It is noted that
`
`the USB interface and VGA controller could be incorporated
`into the logic unit 90. An ATAPI-IDE interface (used to drive
`the CD ROM or DVD player), and a PCI interface are
`
`10
`
`15
`
`20
`
`25
`
`30
`
`35
`
`40
`
`45
`
`50
`
`55
`
`60
`
`65
`
`6
`implemented as part of the logic unit 90. For supporting
`higher bandwidth video applications such as multiple video
`screens, a P1394 interface could be added to the system and
`driven from the PCI interface or incorporated in logic unit
`90.
`
`The support module 62 also includes an audio signal
`processor 96 to perform the sound processing algorithms
`which may include: sound equalization, digital crossover,
`bass, treble, volume, surround sound, Dolby pro-logicTM,
`AC-3 and MPEG decoding. The audio signal processor 96
`also drives digital to analog converters for a six channel
`audio output (not shown). The audio signal processor 96 is
`preferably implemented as a DSP (digital signal processor),
`such as a Motorola DSP56009. The support module also
`includes an AM/FM tuner module 98, a GPS (global posi-
`tioning system) chipset 100 to provide for satellite naviga-
`tion such that the longitude, latitude, and altitude of the
`vehicle may be readily determined, and one or more audio
`analog to digital converters and digital to analog converters
`(or “CODECS”) 102.
`A fast data memory 110 functions as a high speed data
`communications buffer between the serial peripheral
`devices. The fast data memory is preferably implemented as
`a high speed SRAM (static random access memory) which
`provides high speed buffering and “ping-ponging” of audio
`data or USB data to minimize processor interaction. In the
`preferred implementation, the fast data memory 110 acts as
`a fast data memory buffer which accommodates data
`exchange among many devices. The fast data memory 110
`is described below in more detail with reference to FIG. 6.
`
`With continuing reference to FIG. 3, the faceplate module
`60 resides on the detachable faceplate 48 (FIG. 1). The
`faceplate module 60 is connected to the support module
`through a connector that facilitates easy detachability of the
`faceplate 48 from the main housing 36. The faceplate
`module 60, through the detachable connector, communicates
`bi-directional data to the support module 62 by means of the
`high speed serial interconnect 68. The faceplate module 60
`includes a logic unit 120 which can be implemented as an
`FPGA, ASIC, DSP, or other device. The faceplate module 60
`also includes a keypad 52, a display 54, an IrDAport 56, and
`a CODEC 122. Additionally, the faceplate module contains
`a slot for an optional plug-in RF transceiver 124 such as a
`cellphone, two-way pager, or point-to-point spread spectrum
`transceiver.
`
`the computer module 64 resides in the
`Typically,
`dashboard-mounted base unit 46 and includes a processor in
`the form of a microprocessor 130, such as an Intel® x86-
`type microprocessor. When plugged in, the computer mod-
`ule 64 is connected to the PCI bus 66 to communicate with
`
`the support module 62.
`The microprocessor 130 runs an open platform operating
`system 131, such Windows 95® or Windows NTTM or other
`Windows® derivative operating systems from Microsoft
`Corporation. The operating system 131 is stored in a hard
`disk drive 132 (e.g. typically >200 Mbytes). This hard disk
`drive may be either integrated into the computer module as
`shown or it may be in the form of a PC-Card. The computer
`module 64 supports any variety of applications that the
`vehicle user might desire. These applications can also be
`stored on the hard disk drive 132 or on a removable storage
`medium, such as a CD ROM, cassette, PC-Card Flash
`memory, PC-Card hard disk drive, or floppy diskette.
`Additionally, user applications may be downloaded via the
`optional wireless Internet connection 76. A DRAM memory
`133 and Flash memory (or other non volatile memory) 134
`
`14
`
`

`
`US 6,175,789 B1
`
`7
`are employed in the computer module to support the micro-
`processor 130 in running the operating system and loaded
`applications.
`The computer module 64 has a PC-Card interface 135
`which includes a PC card socket used to support types I, II,
`or III PC cards (e.g., extra memory, bard disk drives,
`modems, RF transceivers, network adapters, or other
`PC-Card peripherals). The computer module 64 also has a
`Smart Card interface 136, which accepts Smart Cards.
`The computer module 64 has a set of one or more drivers
`137 including, for example, a CD ROM driver, a diskette
`driver, a display driver, and the like. The computer module
`64 also has a navigation application 138 that
`includes
`program code for a GPS (global positioning system) receiver
`and program code for mapping functionality (e.g.,
`“Automap” from Microsoft Corporation). Asecurity system
`139 is provided in the computer module 64 to manage
`vehicle security. The security application 114 monitors the
`security sensors 26 (FIG. 1) for any potential threat of theft
`or vandalism. The security system 146 is connected to
`actuators which lock/unlock doors and windows, and to an
`alarm which can be activated upon detection of unwanted
`tampering. An OBD (On Board Diagnostic) interpreter 128
`is provided in the computer module to communicate with the
`OBD system built into the vehicle by the manufacturer. The
`OBD interpreter 116 interprets the status data received and
`provides performance related information from the vehicle’s
`OBD system to the microprocessor 100. Also, commands
`can be provided to the interpreter which allows non-critical
`car systems to be controlled.
`A more detailed explanation of the three modules in the
`vehicle computer system is provided in co-pending U.S.
`patent application Ser. No. 08/564,586 entitled “Vehicle
`Computer System,” which was filed on Nov. 29, 1995 in the
`names of Richard D. Beckert, Mark M. Moeller, and Will-
`iam Wong. This application is assigned to Microsoft Cor-
`poration and is incorporated herein by reference.
`The logic unit 90 within the support module 62 is con-
`figured with its own multi-bit bus structure that is separate
`from the bus of the microprocessor 130 of the computer
`module 64. The logic unit 90 and microprocessor 130 are
`interfaced using a bus, such as PCI bus 66. By configuring
`the logic unit 90 with its own bus, the logic unit 90 is capable
`of better performing its tasks independent of intervention
`from the microprocessor 130. Moreover, the internal bus of
`the logic unit 90 facilitates data communication between the
`audio components and other serial devices while using
`minimal processing resources of the microprocessor 130.
`FIG. 4 shows a preferred implementation of an internal
`bus structure 140 of the logic unit 90 of the support module
`and the interface between the internal bus 140 and external
`devices. The internal multi-bit bus structure 140 includes an
`address bus 142, a data bus 144, and a control bus 146. In
`the illustrated implementation, the data bus 144 is a 32-bit
`bus and the address bus 142 is a sufficiently large to support
`in parallel at least 19 address bits, such as through a 32-bit
`bus. The busses are tri-state busses which are driven by one
`of several sources. An internal bus arbiter 148 determines
`which device is in control of the bus structure 140.
`
`The PCI bus 66 connecting the support module 62 to the
`computer module 64 is connected to the internal bus struc-
`ture 140 via latches 150, 152, and 154, and a PCI bus
`interface 156. The PCI connection has primary control over
`the internal bus structure 140. The USB interface 92 and the
`VGA controller 94 are devices on the PCI bus interconnect,
`or they may be incorporated into the logic unit 90.
`
`8
`Serial devices are connected to the internal bus structure
`
`140 via a serial interface 160. Some of the peripheral devices
`are implemented to write data directly to the fast data
`memory 10 use a direct memory access (DMA) process
`(described below). Such serial devices are referenced by
`number 162. Example of DMA-configured peripheral
`devices include the audio signal processor 94, the faceplate
`module 60 (which is treated as a multifunction peripheral
`when attached to the support module), the AM/FM tuner 98,
`etc. From the perspective of the logic unit,
`these serial
`devices behave with respect to the DMA process as any
`peripheral device. Accordingly, in this context,
`the serial
`devices internal to the support module may be referred to as
`“serial devices,” “serial peripheral devices,” or simply
`“peripheral devices.”
`The data from the serial devices 162 are received at the
`
`interface 160 and transferred to ping/pong DMA
`serial
`circuits 164. The DMA circuits 164 include a serial
`to
`
`10
`
`15
`
`20
`
`parallel converter to convert the data to a parallel format.
`The parallel data is transferred from the ping/pong DMA
`circuits 164 over the bus structure 140 to the fast data
`
`memory 110. An example ping/pong DMA circuits 164 is
`described in more detail below with reference to FIG. 5.
`
`25
`
`30
`
`35
`
`40
`
`45
`
`50
`
`55
`
`60
`
`65
`
`Other peripheral devices, referenced by number 166, are
`not linked to DMA circuitry because of their low bandwidth
`requirements. An example of this peripheral device is the
`navigation GPS chipset 100. Serial data from a peripheral
`device 166 is received at the serial interface 160 and stored
`
`in a parallel format in an internal register where it may be
`read by the computer module 64.
`The logic unit 90 supports an IDE (Integrated Device
`Eletronics) port 170 for connection to the CD ROM or other
`IDE compatible device, such as a DVD player or IDE hard
`disk drive. The CD ROM is an IDE device with an ATAPI
`
`software interface, and typically has a 16-bit bus. The IDE
`port 170 is accessible from the bus structure 140 through two
`16-bit bi-directional buffers 172 and 174 to translate the
`
`16-bit CD-ROM data to the proper word location in the
`32-bit internal data bus 144. The microprocessor in the
`computer module communicates to the CD ROM through a
`sequence of ATAPI commands written to registers decoded
`by the logic unit. The register decoder 168 decodes and
`transfers read/write timing signals to IDE port 170 for output
`to the IDE compatible device.
`Memory locations within the fast data memory 110, the
`I/O ports to the peripheral devices 162, 166, and the IDE
`port 170 can be mapped into the address space presented by
`the logic unit 90. Data can be sent to the peripheral devices
`or memory 110 over the internal address/data bus 140 by
`using addresses which have been uniquely assigned to each
`peripheral device or memory block.
`In a preferred
`implementation, the memory 110 is a 32-bits wide SRAM
`with four byte enable lines to allow for combinations of
`byte, word, or double word access. The fast data memory
`address and data lines are driven by the logic unit 90 from
`the internal address/data bus structure 140 and the fast data
`memory will be enabled when the address is in the range
`mapped to the multiport memory 110. The address/data bus
`structure 140 will also be driven for transfers between the
`
`host processor and peripheral registers such as the computer
`module reading the GPS receive registers.
`The internal address/data bus 140 splits its time between
`requests from the PCI bus 66 and DMA requests for access-
`ing the memory 110. The bus arbiter 148 controls the bus
`ownership and has selection logic to transition between a
`PCI bus request and a DMA request. The bus arbiter circuit
`
`15
`
`

`
`US 6,175,789 B1
`
`9
`148 generally tries to grant one-half of the bus bandwidth to
`the PCI bus 66 and one-half to the DMA processes. When
`the arbiter decodes an active request, it initiates a bus cycle
`state machine and the active request grants the bus to either
`the PCI bus or to one of the internal DMA circuits.
`
`As noted above, signals received from the PCI bus 66
`have priority on the address/data bus 140. The PCI bus
`signals are input into the logic unit 90 as 32-bit multiplexed
`signals consisting of address/data bits plus the PCI control/
`timing signals. When a PCI bus cycle begi

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


Or .

Accessing this document will incur an additional charge of $.

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

Accept $ Charge
throbber

Still Working On It

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

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

throbber

A few More Minutes ... Still Working

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

Thank you for your continued patience.

This document could not be displayed.

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

Your account does not support viewing this document.

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

Your account does not support viewing this document.

Set your membership status to view this document.

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

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

Become a Member

One Moment Please

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

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

Your document is on its way!

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

Sealed Document

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

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


Access Government Site

We are redirecting you
to a mobile optimized page.





Document Unreadable or Corrupt

Refresh this Document
Go to the Docket

We are unable to display this document.

Refresh this Document
Go to the Docket