`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