throbber
(12) United States Patent
`Barnicle et al.
`
`(10) Patent No.:
`(45) Date of Patent:
`
`US 7,363,129 B1
`Apr. 22, 2008
`
`USOO7363129B1
`
`(54) APPARATUS, SYSTEM AND METHOD THAT
`INTERFACES WITH AN AUTOMOBILE
`ENGINE CONTROL UNIT
`
`(75) Inventors: Daniel Barnicle, San Luis Obispo, CA
`(US); Joseph A. Mancuso, Santa
`Maria, CA (US); Peter J. Ryan, Arroyo
`Grande, CA (US)
`(73) Assignee: Moon Valley Software, Arroyo Grande,
`CA (US)
`Subject to any disclaimer, the term of this
`patent is extended or adjusted under 35
`U.S.C. 154(b) by 0 days.
`(21) Appl. No.: 11/620,633
`
`(*) Notice:
`
`Jan. 5, 2007
`
`(22) Filed:
`(51) Int. Cl.
`(2006.01)
`GOIM 7700
`(2006.01)
`GO5D I/OO
`(52) U.S. Cl. ............................. 701/29: 701/1: 701/102
`(58) Field of Classification Search .................... 701/2,
`701/29, 102
`See application file for complete search history.
`References Cited
`
`(56)
`
`U.S. PATENT DOCUMENTS
`
`2, 2004 Andreasen et al.
`6,687.584 B2
`7,089,099 B2 * 8/2006 Shostak et al. ............... TO1/32
`7,103,460 B1* 9/2006 Breed .......................... 7O1/29
`5/2007 Andreasen et al.
`RE39,619 E
`9/2002 Lowrey et al.
`2002/0133273 A1
`2003/0231118 A1
`12/2003 Kitson
`2/2004 Squires et al. ................ TO1/33
`2004/OO245O2 A1*
`2005/0119809 A1
`6, 2005 Chen
`
`120
`
`124
`
`
`
`9/2005 Shostak et al. ............... 7O1/37
`2005/O192727 A1*
`9/2005 Berryhill et al. .............. 422/63
`2005/02O7936 A1*
`2005/0216145 A1* 9/2005 Bellinger et al. ............. 7O1/29
`2006/0090077 A1* 4/2006 Little et al. ................. T13, 184
`OTHER PUBLICATIONS
`Air Logic Co., Ltd., “Bluetooth Module Application Note.” Class 1.
`Bluetooth Module Production Information Data Sheet, Aug. 2004,
`9 pages.
`Elm Electronics, “ELM327 OBD to RS232 Interpreter.” (Quick
`Summary), www.elmelectronics.com, Copyright 2005, 5 pages.
`Elm Electronics, “ELM327 OBD to RS232 Interpreter.”(Data
`Sheet), www.elmelectronics.com, Copyright 2005, 43 pages.
`Microchip Technology Inc., “PIC18FXX8 Data Sheet,” 28/40-Pin
`High-Performance, Enhanced Flash Microcontrollers with CAN
`Module, Aug. 29, 2006, pp. 1-200.
`Microchip Technology Inc., “PIC18FXX8 Data Sheet,” 28/40-Pin
`High-Performance, Enhanced Flash Microcontrollers with CAN
`Module, Aug. 29, 2006, pp. 201-402.
`IDSC Holdings, LLC. “PN 125033 Blue-Link?”. Nexiq Technolo
`gies,
`http://www.nexiq.com/catalog/product detail.asp?GID=6
`&item Id=8, Copyright 2007, printed May 11, 2007, 2 pages.
`(Continued)
`Primary Examiner John T. Kwon
`(74) Attorney, Agent, or Firm Thomas F. Lebens;
`Sinshelmer Juhnke Lebens & McIvor, LLP
`
`ABSTRACT
`(57)
`The present embodiments provide methods, apparatuses,
`and systems that interface with automobile Engine Control
`Units (ECU). In some embodiments, methods are provided
`that communicate with an ECU by establishing a wireless
`communication link with a remote device, coupling with an
`ECU, pairing the remote device with the ECU, identifying a
`protocol to communicate with the ECU, and transferring
`communications between the remote device and the ECU.
`
`17 Claims, 18 Drawing Sheets
`
`122
`
`ECU
`Communication
`Interface
`
`User Device
`(PDA/Phone)
`
`NOCO Ex.1012
`Page 1
`
`

`

`US 7,363,129 B1
`Page 2
`
`OTHER PUBLICATIONS
`Davis, “CarChip All-in-one Driving and Engine Performance Moni
`tor.” Davis Automotive, http://www.davisnet.com/drive/products/
`carchip.asp. printed May 11, 2007, 3 pages.
`Performance Scan, LLC., “Digimoto 5.0 DigiScan Bluetooth Pack
`age.” Digimoto, http://www.digimoto.com/shop/pc-25-4-digimoto
`50-digiscan-bluetooth-package.aspx, Copyright 2006, printed May
`11, 2007, 1 page.
`Carmd.com Corporation, “About the Product—How to Use.”
`CarMD.com, http:www.carmd.com/About TheProduct/HowToUse.
`aspx, Copyright 2005-2007, printed May 8, 2007, 2 pages.
`Autoenginuity, LLC, "OBD 2 Scan Tool—Professional PC and
`PDA Diagnostics.”
`http://www.autoenginuity.com/index.html.
`Copyright 2003-2007, printed May 8, 2007, 2 pages.
`Vital Engineering Limited, “The Car-Pal OBD-II Vehicle Interface
`Unit.” http://www.vitalengineering.co.uk, Copyright 2006, printed
`May 7, 2007, 3 pages.
`KBM Systems Ltd., “OBDKey Product Range: OBD Bluetooth.”
`http://obdkey.com/obd bluetooth info.asp?. Copyright 2007.
`printed May 7, 2007, 2 pages.
`
`Carcheckup LLC, “Know Before You Go” http://www.carcheckup.
`com/, Copyright 2002-2007.printed May 8, 2007, 2 pages.
`Scantool.net, “ElmScan 5 Wireless,” http://www.scantool.net/prod
`ucts/product info.php?cPath=8 6&product id=37, printed May
`8, 2007, 1 page.
`Burger, Guido, “Bluetooth Project Based on OBD-2 Chipset.”
`www.blueobd.com/, Copyright 2007-2007, printed May 8, 2007, 3
`pageS.
`I+ME ACTIA. “Blue XS Prototype,” www.ime-actia.com, printed
`May 14, 2007, 2 pages.
`UKOBD, Ltd., MBD3200BT mCByDic Bluetooth Interface, http://
`www.ukobd.co.uk, date first learned of publication: Jun. 8, 2007, 2
`pageS.
`Mobile Computing Solutions, Bluetooth OBD II Interface, http://
`store.mo-co-so.com/bluetooth-obd-ii-interface-p-31.html, date first
`learned of publication: Jun. 8, 2007, 2 pages.
`Ebay Motors, OBDII Scan Tool Bluetooth ISO Wireless, http://cgi.
`ebay.com/ebaymotors/OBDII-OBD-II-OBD2-2-Scan-Tools, date
`first learned of publication: Jun. 8, 2007, 6 pages.
`* cited by examiner
`
`NOCO Ex.1012
`Page 2
`
`

`

`U.S. Patent
`
`Apr. 22, 2008
`Apr. 22, 2008
`
`Sheet 1 of 18
`Sheet 1 of 18
`
`US 7,363,129 B1
`US 7,363,129 B1
`
`
`
`doRHOTU]
`
`oz4OSZ9zz1 (euoyd/vdd)
`SOTAQ]JOSf)ae
`
`“a\vel
`
`ym
`
`At
`
`n
`
`
`
`
`
`
`
`
`
`
`
`OCI
`
`91
`
`
`
`aotAa]Lasie}
`
`(euoyd/Vdd)
`
`
`
`
`
`ANINoND|_|Joyauu07)|goejOyu]eyada
`
`9ET
`
`NOCO Ex.1012
`Page 3
`
`NOCO Ex.1012
`Page 3
`
`
`
`

`

`U.S. Patent
`
`Apr. 22, 2008
`
`Sheet 2 of 18
`
`US 7,363,129 B1
`
`
`
`322
`
`340
`
`Command & Protocol
`Inerpreter
`
`342
`
`RSS232
`Interface
`
`344
`
`326
`
`FIG. 3
`
`346
`
`348
`
`NOCO Ex.1012
`Page 4
`
`

`

`U.S. Patent
`
`Apr. 22, 2008
`
`Sheet 3 of 18
`
`US 7,363,129 B1
`
`
`
`242
`
`222
`
`240
`
`458
`
`FIG. 4
`
`NOCO Ex.1012
`Page 5
`
`

`

`U.S. Patent
`
`Apr. 22, 2008
`
`Sheet 4 of 18
`
`US 7,363,129 B1
`
`999
`
`999
`
`L99
`
`Z99
`
`I99
`
`099
`
`ZZZ
`
`
`
`Ç 'OIH
`
`NOCO Ex.1012
`Page 6
`
`

`

`U.S. Patent
`
`Apr. 22, 2008
`
`Sheet S of 18
`
`US 7,363,129 B1
`
`N
`O m
`
`OO
`2
`
`a
`
`S
`
`N
`
`) :
`
`
`
`w
`r
`
`al
`
`|
`
`S.
`
`S
`
`NOCO Ex.1012
`Page 7
`
`

`

`U.S. Patent
`
`Apr. 22, 2008
`
`Sheet 6 of 18
`
`US 7,363,129 B1
`
`936
`
`1534
`
`1536
`
`934
`
`ISO K.
`
`- Q2
`
`940
`
`942
`
`Vbat
`
`1640
`
`539
`ISO pic L
`
`926
`
`922
`
`924
`
`ISO picK
`
`540
`
`t
`
`932
`
`I- Ql
`to
`
`t
`
`930
`
`ISOin
`
`556
`
`FIG. 9
`
`NOCO Ex.1012
`Page 8
`
`

`

`U.S. Patent
`
`Apr. 22, 2008
`
`Sheet 7 of 18
`
`US 7,363,129 B1
`
`9P01
`
`9ZII
`
`
`
`OstlSIIpSII
`
`
`
`TITysl779
`
`poll
`
`+0S81L£SA
`
`evorprs
`
`rol
`
`
`
`“yrS108£5SCcOIycolSPs
`
`zz9<>ZZI1Ossif
`rae(>cAsngenad
`cccWIIMdvi)
`(YD(~pZ7SI
`
`O€ITcell.
`:vssvel-IlOld
`
`NOCO Ex.1012
`Page 9
`
`NOCO Ex.1012
`Page 9
`
`
`

`

`U.S. Patent
`
`Apr. 22, 2008
`
`Sheet 8 of 18
`
`US 7,363,129 B1
`
`
`
`ZZZI
`
`OZZI
`
`ZI "OIH
`
`8SZI997 I
`
`\-
`
`t
`
`3.
`
`s
`|
`
`9ZZI
`
`ÇA
`
`NOCO Ex.1012
`Page 10
`
`

`

`U.S. Patent
`
`Apr. 22, 2008
`
`Sheet 9 of 18
`
`US 7,363,129 B1
`
`
`
`1420
`Y
`
`1034
`
`1422
`/1
`
`1424
`
`OUT
`
`GND
`
`IN
`
`F
`
`TSN 1432
`
`1430
`
`FIG. 14
`
`NOCO Ex.1012
`Page 11
`
`

`

`U.S. Patent
`
`Apr. 22, 2008
`
`Sheet 10 of 18
`
`US 7,363,129 B1
`
`CINGO I
`I?ISERI 5 ( Z
`
`XXI LOETOTS
`
`5?75S 8 L 9 S #7
`
`X?L?T?T,
`
`ZI
`
`CINO 9 I
`LI
`?I
`
`ZZSI
`
`SI
`
`"OIH
`
`1BqA 3 TI OSI L XI OSI 9 TI NVO 9 H NVO #7
`098 If Z
`CINCO E
`099|[[ [
`
`NOCO Ex.1012
`Page 12
`
`

`

`U.S. Patent
`
`Apr. 22, 2008
`
`Sheet 11 of 18
`
`US 7,363,129 B1
`
`1720
`
`1
`
`1424
`
`V3
`
`1726
`
`RESET
`
`1730
`
`1632
`
`NOCO Ex.1012
`Page 13
`
`

`

`U.S. Patent
`
`Apr. 22, 2008
`
`Sheet 12 of 18
`
`US 7,363,129 B1
`
`1820
`
`
`
`1822
`
`
`
`
`
`Client pairs
`with
`device
`
`1824
`
`Client
`presses
`button on
`device
`
`
`
`Client tells
`device to
`Connect to
`
`
`
`
`
`
`
`1826
`
`Client tells
`
`responsed
`
`
`
`
`
`
`
`
`
`Device
`passes data
`to the
`client
`
`NOCO Ex.1012
`Page 14
`
`

`

`U.S. Patent
`
`Apr. 22, 2008
`
`Sheet 13 of 18
`
`US 7,363,129 B1
`
`1920
`
`
`
`
`
`
`
`Wait for “S
`
`1922
`
`Receive command
`request until CR is
`entered
`
`
`
`1924
`
`1930
`
`the OBDII
`S e
`protocol
`
`Change command
`to “O100"
`
`Perform a protocol
`check
`
`1932
`
`1936
`
`1940
`
`1942
`
`1944
`
`Switch by
`protocol
`
`Send request to
`the car using the
`proper protocol
`
`Receive all data
`from the car
`
`Store all data in a
`buffer
`
`Print out data on
`Bluetooth one byte
`at a time
`
`FIG. 19
`
`NOCO Ex.1012
`Page 15
`
`

`

`U.S. Patent
`
`Apr. 22, 2008
`
`Sheet 14 of 18
`
`US 7,363,129 B1
`
`B -"
`
`2122
`
`Set paired flag to true
`and turn on paired
`LED
`
`No
`
`Receive two
`characters
`
`2124
`
`
`
`
`
`
`
`Has the pairing
`timeout limit
`elapsed?
`
`2026
`
`Enter main
`program loop
`
`
`
`2024
`
`Has the client
`paired and sent
`a command?
`
`No
`
`Yes
`
`
`
`2030
`
`
`
`
`
`as the clien
`Sent a command
`previously?
`
`2032
`
`Yes
`
`
`
`Is the client
`paired?
`
`No
`
`2036
`
`
`
`Yes
`
`
`
`
`
`
`
`timeout elapse
`without the client
`sending a
`command 2
`
`No
`Receive a
`character
`
`Yes
`Go to function
`(reset)
`
`Yes
`
`2034
`
`
`
`
`
`Did the user pres
`the button before
`the client paired
`
`Yes
`
`No
`
`2050
`
`YeS
`
`Send the characters to
`parse nibbles0, store in
`prompt bytes at prompt length,
`increment prompt length
`
`
`
`
`
`Output
`corresponding
`protocol number
`
`Yes
`
`NO
`
`FIG. 21
`
`FIG. 20
`
`NOCO Ex.1012
`Page 16
`
`

`

`U.S. Patent
`
`Apr. 22, 2008
`
`Sheet 15 of 18
`
`US 7,363,129 B1
`
`2256
`
`Initialize ISO bus using
`
`Calculate the CRC for
`aVPWmessage.
`2236
`Send the request out on
`VPW, receive
`
`Initialize ISO bus using
`slow technique,
`22
`
`
`
`
`
`correctly?
`
`
`
`2260
`Nokbid it initialize
`correctly?
`No
`Q
`
`S
`2262
`Set protocol to 5.
`
`Yes
`
`2250
`
`
`
`Are the
`keybytes either
`8 or 48
`
`No
`
`2254
`
`Set protocol to 4.
`
`Transfer(0x010x00) to
`the command buffer
`2224
`Calculate the CRC for
`2226
`Send the request out on
`PWM, receive
`responses if any
`
`
`
`Print response(s) (with
`'\r\n' between each if
`more than one). Set
`protocol to 1.
`
`
`
`
`
`2240 NO
`
`Yes 2242
`Print response(s) (with
`"\r\n' between each if
`more than one). Set
`protocol to 2.
`
`Set protocol to 3.
`Calculate the
`checksum for an
`
`
`
`2264
`Calculate the checksum
`for an KWP2000
`meSSage.
`
`Send the request and
`receive the response(s)
`
`266
`
`2270
`
`Print response(s) (with
`“Wr\n' between each if
`more than one).
`
`
`
`2272
`Enable the keep alive0
`feature to keep the ISO
`bus from timing out.
`
`2220
`
`FIG.22
`
`N/
`
`NOCO Ex.1012
`Page 17
`
`

`

`U.S. Patent
`
`Apr. 22, 2008
`
`Sheet 16 of 18
`
`US 7,363,129 B1
`
`Aueji(s)esuodser
`
`BATONSY
`
`ssouppeNOMoy)WIM
`
`«U\n\,,&Aqpayeredas
`
`vEEt
`
`
`
`dsaxyoreJULI
`
`BUlWot}
`
`‘sayXqpueyy}su9]
`
`
`
`soquinu[oooj}01d
`
`NVQ-u0ou804
`
`
`
`ay}ayepnoyeo‘Jooo}o1d
`
`wMsyooyo10JYO
`
`vLETSurpuodsaz090}YouMS
`
`
`TLEZ9ETze77ZpeT7uosajkqyoraAeidsiq
`
`
`
`a10}spue60}[ooo}01d39g80}Joo0}0IdjagL04Joooj01djogsosuodsalpl[eAOJ1Say,
`meeoreovez2ZEC
`
`sdqyoSZ/189-67%}sdqyosz/14-11sdqyoos/iq-6Z9}sdqy00S/24-1193]|pueuruos0}saxAqpue
`
`
`
`
`
`
`
`
`jsonbalatpuesysonbalotf}puesysonbaloy)pussysonbolay}puas“aaosoy
`
`
`
`
`
`NV)9212ntuyNVo92iyeniuyNVoziyenuyNWOozieniuyyy8uaqydutosdsaysuely,
`
`NVOo0ynoNVodoJnoNYOwoynoNVQwojnoyee
`
`
`
`osupesonZBETpeetoreWid
`OBESSOUTIOSJULosuodsazyorsyutg||,.W\N,,2Aqpoeredas
`
`
`
`
`
`OCET
`
`(w7‘DlA
`
`NOCO Ex.1012
`Page 18
`
`NOCO Ex.1012
`Page 18
`
`
`
`
`
`
`
`

`

`U.S. Patent
`
`Apr. 22, 2008
`
`Sheet 17 of 18
`
`US 7,363,129 B1
`
`
`
`an a
`
`n or un
`
`ow. - huna as
`
`NOCO Ex.1012
`Page 19
`
`

`

`U.S. Patent
`
`Apr. 22, 2008
`
`Sheet 18 of 18
`
`US 7,363,129 B1
`
`I0III00I0
`
`ZZSZ
`
`>)
`ZZSZ
`
`NOCO Ex.1012
`Page 20
`
`

`

`US 7,363,129 B1
`
`1.
`APPARATUS, SYSTEM AND METHOD THAT
`INTERFACES WITH AN AUTOMOBILE
`ENGINE CONTROL UNIT
`
`FIELD OF THE INVENTION
`
`The present invention relates generally to an automobile
`Engine Control Unit (ECU), and more particularly to inter
`facing with an ECU.
`
`BACKGROUND
`
`Car manufacturers began installing on-board computers
`in consumer vehicles in the early 1980s. The original
`purpose of these systems was to help tune fuel injection
`engine. Over the next two decades, on-board computers,
`commonly known as Engine Control Units (ECUs), were
`employed for an expanding number of uses.
`Some diagnostic tools are available that can directly
`communicate with the ECUs. Typically, however, these
`diagnostic tools have limited use and are generally only
`available for professional mechanics. These tools are often
`bulky, expensive, and complex in their use.
`
`10
`
`15
`
`SUMMARY OF THE EMBODIMENT
`
`25
`
`30
`
`35
`
`The present invention advantageously addresses the needs
`above as well as other needs through the provisions of
`methods, apparatuses, and systems that interface with auto
`mobile Engine Control Units (ECU). In some embodiments,
`methods are provided that communicate with an ECU by
`establishing a wireless communication link with a remote
`device; coupling with an ECU, pairing the remote device
`with the ECU; identifying a protocol to communicate with
`the ECU; and transferring communications between the
`remote device and the ECU.
`Other embodiments provide apparatuses that communi
`cate with an ECU. Some of the apparatuses comprise a
`transceiver; a controller coupled with the transceiver such
`that the transceiver receives communications from the con
`40
`troller and externally transmits the communications, and
`further receives and forwards received external communi
`cations to the controller; an interface coupled between the
`controller and the ECU, where the interface interfaces
`communications between the controller and the ECU.
`45
`Still further embodiments provide methods of communi
`cating with an ECU. Some of these methods receive a
`pairing connection command; receive a pairing request from
`a remote device; determine whether the pairing request is
`received within a pairing threshold time since the receiving
`of the connection command; and pair the remote device with
`an ECU when it is determined that the pairing request is
`received within the pairing threshold time.
`A better understanding of the features and advantages of
`the present invention will be obtained by reference to the
`55
`following detailed description of the invention and accom
`panying drawings which set forth an illustrative embodiment
`in which the principles of the invention are utilized.
`
`50
`
`BRIEF DESCRIPTION OF THE DRAWINGS
`
`60
`
`The above and other aspects, features and advantages of
`the present embodiments will be more apparent from the
`following more particular description thereof, presented in
`conjunction with the following drawings wherein:
`FIG. 1 depicts a simplified block diagram of an ECU
`system according to some embodiments;
`
`65
`
`2
`FIG. 2 depicts a simplified block diagram of the ECU
`system of FIG. 1 according to some embodiments that
`includes an ECU interface system coupled between an ECU
`of an automobile and a user device;
`FIG. 3 depicts a simplified block diagram of a controller
`according to some embodiments;
`FIG. 4 depicts a simplified schematic diagram of an
`example implementation of a Voltage level adjustment cir
`cuitry according to some embodiments;
`FIG. 5 depicts a simplified block diagram of a controller
`implemented according to some embodiments through a
`single integrated circuit microcontroller;
`FIGS. 6-14 show simplified schematic diagrams of inter
`face circuitry according to Some embodiments and the
`coupling of the interface circuitry with the controller;
`FIGS. 15-16 show pin layouts of the ECU connector and
`a connector to couple between the Voltage adjustment circuit
`and the communication module:
`FIG. 17 depicts a simplified schematic diagram of a reset
`circuitry that can be employed to maintain a reset signal for
`a desired period of time;
`FIG. 18 depicts a simplified flow diagram of a process in
`transferring communications between a user device and an
`ECU of an automobile or other relevant device;
`FIG. 19 shows a simplified flow diagram of a process of
`implementing one or more steps of the process of FIG. 18
`according to some embodiments;
`FIGS. 20-23 depict further detailed flow diagrams of
`processes that can be used in implementing one or more
`steps of the processes of FIGS. 18 and 19;
`FIG. 24 depicts a simplified graphical representation of a
`theoretical VPW data signal and a hypothetical example of
`an actual VPW data signal; and
`FIG. 25 depicts a simplified graphical representation of a
`theoretical PWM data signal.
`Corresponding reference characters indicate correspond
`ing components throughout the several views of the draw
`ings. Skilled artisans will appreciate that elements in the
`figures are illustrated for simplicity and clarity and have not
`necessarily been drawn to scale. For example, the dimen
`sions of Some of the elements in the figures may be exag
`gerated relative to other elements to help to improve under
`standing of various embodiments of the present invention.
`Also, common but well-understood elements that are useful
`or necessary in a commercially feasible embodiment are
`often not depicted in order to facilitate a less obstructed view
`of these various embodiments of the present invention.
`
`DETAILED DESCRIPTION
`
`The present embodiments provide methods, systems and
`apparatuses for communicating with an Engine Control Unit
`(ECU) of an automobile. Automobile ECUs can provide
`information about an automobile and its operation, Such as
`diagnostics of emissions, control of ignition and cam timing,
`fuel intake, the monitoring of components or devices of the
`automobile to sense fluid levels and other system compo
`nents, and the programming of those components to
`improve, alter and/or optimize performance. Often the ECU
`is utilized in identifying problems with an automobile and/or
`to optimize or enhance performance.
`FIG. 1 depicts a simplified block diagram of an ECU
`system 120 according to some embodiments. The ECU
`system 120 includes an ECU interface system 122 coupled
`between an ECU 124 of an automobile and a user interface
`device 126 providing communication between the ECU and
`the user interface device. The user interface device 126 can
`
`NOCO Ex.1012
`Page 21
`
`

`

`US 7,363,129 B1
`
`5
`
`10
`
`15
`
`3
`be substantially any device capable of providing a user with
`information, such as a computer, laptop computer, personal
`digital assistant, cell phone, and/or other relevant user
`devices. The ECU interface system 122 identifies an appro
`priate protocol to communicate with the ECU 124, and
`converts communications from the user device 126 into the
`appropriate protocol and similarly converts communications
`from the ECU received in the ECU protocol into a format
`that can be interpreted by the user device. In some embodi
`ments, the user device stores and runs user interface pro
`gramming that displays a user interface on the user device
`aiding the user in establishing and maintaining a connection
`with the ECU interface system 122, and/or in retrieving
`information from and issuing commands to the ECU 124.
`The user interface can be windows based providing one or
`more windows, and the user can interact with the interface
`through buttons, keys, pointing devices and/or other relevant
`user interface devices.
`There are several different protocols used by different
`types of ECUs. In the United States, there is a set of
`standards, the On-Board Diagnostics II (OBD-II) standards
`that represent a set of independent communications proto
`cols utilized by ECUs. Some of these protocols include
`Controller Area Network (CAN), International Standards
`Organization (ISO)9141, Pulse Width Modulation (PWM),
`25
`Variable Pulse Width (VPW), Keyword Protocol (KWP
`2000) and/or other relevant protocols. Further, some of these
`protocols have variations. Such as fast or slow initialization,
`varying baud rates and the like.
`FIG. 2 depicts a simplified block diagram of the ECU
`30
`system 120 of FIG. 1 according to some embodiments that
`includes an ECU interface system 122 coupled between an
`ECU 124 of an automobile and a user device 126. The ECU
`interface system 122 in some embodiments includes a
`controller 222, a user device interface 224, an ECU interface
`226, one or more power Sources 230, and in Some instances,
`an activation and/or pairing button 236. The controller 222
`couples with the user device interface 224, the ECU inter
`face 226 and the activation button 236. In operation, the user
`device 126 communicates one or more commands and/or
`requests to the ECU interface system 122. The command is
`received through the user device interface 224 and is for
`warded to the controller. The controller formats the com
`mand according to an identified protocol utilized by the
`ECU 124 and forwards the formatted command to the ECU
`45
`interface 226 that communicates the command to the ECU
`124. Similarly, the ECU issues responses to the commands
`or requests that are received by the controller 222 through
`the ECU interface. The controller formats the responses and
`forwards the responses to the user device 126 through the
`user device interface 224.
`The user device interface 224 can be implemented in part
`through physical wiring (e.g., RS-232, optical, etc.), wire
`less transmission and/or connection (e.g., cellular, Blue
`tooth, infrared, optical, etc.) and/or other relevant methods
`of communication. In some implementations, the user
`device interface 224 includes a communication module 240,
`Such as a Bluetooth module or other communication module
`and/or combinations of modules that can communicate with
`the user device 126 over wireless or wired communication
`links. Further, a Voltage level adjustment circuitry 242 can
`be included in some implementations to adjust voltage levels
`of signals communicated between the controller 222 and the
`communication module 240 when needed. For example, in
`Some instances a Bluetooth module may operate at a Voltage
`level that is different than the operating voltage level of the
`controller 222 and as such the voltage level of the signals
`
`50
`
`4
`from the controller to the Bluetooth module are adjusted
`(e.g., reduced) by the Voltage level adjustment circuitry 242.
`Additionally or alternatively, the voltage levels of commu
`nications from the Bluetooth module may be adjusted (e.g.,
`increased) by the Voltage level adjustment circuitry on route
`to the controller. The power source 230 can provide one or
`more voltage levels to the components of the ECU interface
`system 122. Further, one or more Voltage regulators can be
`cooperated with the controller and/or interfaces as further
`described below.
`The ECU interface 226 can include a connector 250 that
`couples with the ECU 124 (or connector coupled with the
`ECU) of the automobile, and interface circuitry 252 that
`couples between the connector 250 and the controller 222.
`In some embodiments, the connector is an OBD-II connec
`tor according to Society of Automotive Engineers (SAE)
`J1962 standards. The interface circuitry 252 can in some
`implementations provide some protocol conversion and/or
`provide other relevant Voltage level adjustments, biasing
`and/or other relevant circuitry.
`The controller 222 can be substantially any relevant
`controller capable of controlling the communication
`between the user device 126 and the ECU 124. In some
`implementations, the controller can be a computer, laptop,
`one or more microprocessors, one or more microcontrollers,
`state machines or other relevant controllers. In some
`instances, the controller is implemented at least in part
`through an integrated circuit that provides the desired pro
`tocol conversion and communication control. For example,
`the controller may be implemented at least in part through a
`ELM327 microcontroller and/or other similar microcontrol
`lers manufactured by Elm Electronics of Canada, a Periph
`eral Interface Controller (PIC), such as a PIC18F2580,
`PIC18F248 and/or other relevant controllers manufactured
`by Microchip Technologies, Inc. of Chandler, Ariz., and/or
`other such controllers or combinations of controllers.
`Communications from the user device 126 are received by
`the controller 222 and formatted to be passed to the ECU
`124. The formatting in part utilizes an appropriate protocol
`for the ECU and formats the communication according to
`the protocol. FIG. 3 depicts a simplified block diagram of a
`controller 222 according to Some embodiments. The con
`troller includes a command and protocol interpreter 322.
`memory 324, a first controller interface 326 (e.g., an RS232
`interface or other similar data interconnection interface), and
`a second controller interface 330 (e.g., an OBD interface).
`Some embodiments optionally further include operating
`indicators 332 and/or outputs to drive indicators (e.g., LEDs
`and/or other such indicators).
`A timing or clock signal 340 is received by the command
`and protocol interpreter 322 providing timing to the opera
`tion of the controller 222. The command and protocol
`interpreter 322 determines an appropriate protocol to utilize
`with a coupled ECU, and configures commands and/or
`requests according to the identified protocol and/or config
`ures replies from the ECU to be forwarded to the user device
`126 through the communication module 240. The first
`controller interface 326 couples with the user device inter
`face 224, and includes at least one input 342 to receive
`communications from the client device and at least one
`output 344 to forward communications to the user devices.
`Similarly, the second controller interface 330 couples with
`the ECU interface 226, and includes at least one input 346
`to receive communications from the ECU and at least one
`output 348 to forward communications to the ECU.
`In many instances the controller 222 is implemented
`through a single Integrated Chip (IC) and includes process
`
`35
`
`40
`
`55
`
`60
`
`65
`
`NOCO Ex.1012
`Page 22
`
`

`

`5
`ing and/or programming capabilities through the command
`and protocol interpreter 322. The memory 324 can store
`executables, Software, firmware, data, readable instructions,
`data structures, program modules and/or parameters for use
`in implementing the transfer of communications. Further,
`the memory can include Substantially any processor-read
`able or computer-readable media that can be accessed by the
`command and protocol interpreter, and can include volatile
`and/or nonvolatile media, buffers, registers, arrays and/or
`other memory structures. In some embodiments, some or all
`of the memory can be external to the controller 222.
`As described above, the user device interface 224 can
`include the Voltage level adjustment circuitry 242 and a
`communication module 240. In some embodiments, the
`communication module wirelessly communicates with the
`user device. Such as through Bluetooth wireless communi
`cation and/or connection. In some instances, the Bluetooth
`module can be implemented through a Blue Smirf Bluetooth
`chip, manufactured by Spark Fun of Boulder, Colo.; a
`BR-C30 Bluetooth module, manufactured by Blue Radios of
`Englewood, Colo.; an ABM 450 Bluetooth module, manu
`factured by Air Logic of Seoul, Korea; an ABM 600-1
`Bluetooth module, manufactured by Air Logic; and/or other
`relevant Bluetooth transceivers. The Bluetooth module
`allows the ECU interface system 122 to wirelessly commu
`25
`nicate with the user device having Bluetooth wireless com
`munication capabilities. Further in some implementations, a
`ground plane is positioned beneath the Bluetooth module,
`and an antenna is coupled with the Bluetooth module. In
`those instances where the Bluetooth module is mounted on
`a circuit board with the controller 222, the antenna can be
`formed and/or placed on the board. Additionally in some
`embodiments, a spacing is maintained around the antenna
`(e.g., a spacing of about 8 mm) that is substantially free of
`metallic components.
`Some embodiments additionally include the optional volt
`age level adjustment circuitry 242 that provides Voltage
`level adjustments of signals communicated between the
`controller 222 and the communication module 240. FIG. 4
`depicts a simplified schematic diagram of an example imple
`mentation of the voltage level adjustment circuitry 242
`according to some embodiments. The Voltage level adjust
`ment circuitry 242 in these embodiments includes a down
`Voltage adjustment circuitry 422 and an tip-Voltage adjust
`ment circuitry 424. The down-Voltage adjustment circuitry
`comprises a serial resistor 430 coupled between the control
`ler 222 and a base of a first transistor 432. A first voltage
`resistor 434 couples between the collector of the first tran
`sistor and a first voltage source 440, such as about 3V
`voltage source. The collector of the first transistor further
`50
`couples with the base of a second transistor 436. The
`collector of the second transistor coupled with a second
`voltage resistor 438 that couples with the first voltage
`source. The collector of the second transistor further couples
`with the communication module 240 over a communication
`receiving line 464. The emitters of the two transistors couple
`with ground or other reference Voltage.
`The up-Voltage adjustment circuit 424 includes a first
`transistor 450 with the collector coupled with the controller
`222. A third voltage resistor 452 couples between the base
`60
`and a second reference Voltage source 442. Such as a 5V
`voltage source. The base of the first transistor couples with
`the collector of a second transistor 454. A fourth voltage
`resistor 456 couples between the second reference voltage
`source 442 and the collector of the second transistor 454. A
`65
`serial resistor 458 couples between the base of the second
`transistor and the communication module 240 establishing a
`
`30
`
`40
`
`45
`
`55
`
`US 7,363,129 B1
`
`10
`
`15
`
`35
`
`6
`communication transmitting line 466. The emitters of the
`two transistors couple with ground or other reference volt
`age.
`The Voltage adjustment circuitry 242 provides Voltage
`level conversions or adjustments for communications
`between the communication module 240 and the controller
`222. For example, when the communication module com
`prises a Bluetooth module that operates at a reference
`voltage of about 3.3V and the controller is a microcontroller
`operating at a reference voltage of about 5V, the down
`Voltage adjustment circuitry 422 reduces the Voltage level of
`communications from the controller 222 prior to being
`received at the Bluetooth module. Similarly, the up-voltage
`adjustment circuitry 424 increases the Voltage level of
`communications from the Bluetooth module prior to being
`received at the controller 222. In some implementations, the
`transistors 432, 436, 450 and/or 454 can be NPN transistors,
`such as 2N3904 transistors or other relevant transistors.
`Further, in Some implementations the resistance values for
`the voltage adjustment circuitry 242 can be about 4.7KS2.
`The Voltage adjustment circuitry 242, however, can vary
`depending on the controller 222 and/or communication
`module 240 being utilized. For example, alternatively or
`additionally the Voltage adjustment circuitry can be imple
`mented by and/or include an intermediate chip that performs
`Voltage adjustments, such as a MAX232 chip installed
`between the controller 222 and the communication module
`240 and/or a serial cable or other wiring (e.g., RS232 cable).
`Similarly, the interface circuitry 252 can also vary depend
`ing on the controller 222, connector 250 and/or ECU 124.
`FIG. 5 depicts a simplified block diagram of a controller
`222 implemented according to some embodiments through
`a single integrated circuit microcontroller. The controller
`222 includes a number of inputs and outputs. In some
`implementations, the controller includes twenty eight (28)
`input and/or output pins. These pins can include positive
`supply voltage (VDD) 530; ground voltage reference (VSS)
`531, 532; digital I/O, in-circuit debugger pin, interrupt-on
`change pin, ICSP programming data (RB7/PGD) 533; digi
`tal I/O, in-circuit debugger pin, interrupt-on-change pin,
`ICSP programming clock (RB6/PGC) 534; digital I/O, inter
`rupt-on-change pin, low-voltage ICSP programming enable
`(RB5/PGM) 535; digital I/O, interrupt-on-change pin (RB4)
`536; digital I/O, receive signal for CAN bus (RB3/CANRX)
`537; digital I/O, transmit signal for CAN bus, external
`interrupt 2 (RB2/CANTX/INT2) 538; digital I/O, external
`interrupt 1 (RB1/INT1) 539; digital I/O, external interrupt 0
`(RB0/INTO)540; digital I/O, analog input 4, SPI slave select
`input, low-voltage detect input (RA5/AN4/SS*/LVD) 541:
`digital I/O, Timer0 (RA4/TOCK1) 542; digital I/O, analog
`input 3, A/D reference

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