US20220385747A1 - Remote vehicle communications bitrate determination - Google Patents
Remote vehicle communications bitrate determination Download PDFInfo
- Publication number
- US20220385747A1 US20220385747A1 US17/804,783 US202217804783A US2022385747A1 US 20220385747 A1 US20220385747 A1 US 20220385747A1 US 202217804783 A US202217804783 A US 202217804783A US 2022385747 A1 US2022385747 A1 US 2022385747A1
- Authority
- US
- United States
- Prior art keywords
- vehicle
- communications
- bit
- communications device
- tool
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000004891 communication Methods 0.000 title claims abstract description 155
- 230000006854 communication Effects 0.000 title claims abstract description 148
- 238000000034 method Methods 0.000 claims abstract description 42
- 230000007175 bidirectional communication Effects 0.000 claims abstract description 8
- 230000008859 change Effects 0.000 claims description 7
- 230000002596 correlated effect Effects 0.000 claims description 5
- 230000005540 biological transmission Effects 0.000 claims 2
- 230000008569 process Effects 0.000 description 27
- 238000010586 diagram Methods 0.000 description 12
- 238000012544 monitoring process Methods 0.000 description 11
- 230000000875 corresponding effect Effects 0.000 description 4
- 238000012545 processing Methods 0.000 description 4
- 230000000630 rising effect Effects 0.000 description 4
- 238000003860 storage Methods 0.000 description 4
- 208000018777 Vulvar intraepithelial neoplasia Diseases 0.000 description 3
- 238000004590 computer program Methods 0.000 description 3
- 230000006870 function Effects 0.000 description 3
- 241000238876 Acari Species 0.000 description 2
- 230000003278 mimic effect Effects 0.000 description 2
- 230000008439 repair process Effects 0.000 description 2
- 230000008672 reprogramming Effects 0.000 description 2
- 230000001960 triggered effect Effects 0.000 description 2
- 238000004458 analytical method Methods 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 238000009826 distribution Methods 0.000 description 1
- 238000003708 edge detection Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 230000006855 networking Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 230000011664 signaling Effects 0.000 description 1
- 230000007704 transition Effects 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L1/00—Arrangements for detecting or preventing errors in the information received
- H04L1/0001—Systems modifying transmission characteristics according to link quality, e.g. power backoff
- H04L1/0002—Systems modifying transmission characteristics according to link quality, e.g. power backoff by adapting the transmission rate
-
- G—PHYSICS
- G07—CHECKING-DEVICES
- G07C—TIME OR ATTENDANCE REGISTERS; REGISTERING OR INDICATING THE WORKING OF MACHINES; GENERATING RANDOM NUMBERS; VOTING OR LOTTERY APPARATUS; ARRANGEMENTS, SYSTEMS OR APPARATUS FOR CHECKING NOT PROVIDED FOR ELSEWHERE
- G07C5/00—Registering or indicating the working of vehicles
- G07C5/008—Registering or indicating the working of vehicles communicating information to a remotely located station
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L25/00—Baseband systems
- H04L25/02—Details ; arrangements for supplying electrical power along data transmission lines
- H04L25/0262—Arrangements for detecting the data rate of an incoming signal
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/12—Protocols specially adapted for proprietary or special-purpose networking environments, e.g. medical networks, sensor networks, networks in vehicles or remote metering networks
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L69/00—Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
- H04L69/24—Negotiation of communication capabilities
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L7/00—Arrangements for synchronising receiver with transmitter
- H04L7/0008—Synchronisation information channels, e.g. clock distribution lines
- H04L7/0012—Synchronisation information channels, e.g. clock distribution lines by comparing receiver clock with transmitter clock
-
- B—PERFORMING OPERATIONS; TRANSPORTING
- B60—VEHICLES IN GENERAL
- B60R—VEHICLES, VEHICLE FITTINGS, OR VEHICLE PARTS, NOT OTHERWISE PROVIDED FOR
- B60R16/00—Electric or fluid circuits specially adapted for vehicles and not otherwise provided for; Arrangement of elements of electric or fluid circuits specially adapted for vehicles and not otherwise provided for
- B60R16/02—Electric or fluid circuits specially adapted for vehicles and not otherwise provided for; Arrangement of elements of electric or fluid circuits specially adapted for vehicles and not otherwise provided for electric constitutive elements
- B60R16/023—Electric or fluid circuits specially adapted for vehicles and not otherwise provided for; Arrangement of elements of electric or fluid circuits specially adapted for vehicles and not otherwise provided for electric constitutive elements for transmission of signals between vehicle parts or subsystems
- B60R16/0231—Circuits relating to the driving or the functioning of the vehicle
- B60R16/0232—Circuits relating to the driving or the functioning of the vehicle for measuring vehicle parameters and indicating critical, abnormal or dangerous conditions
-
- G—PHYSICS
- G07—CHECKING-DEVICES
- G07C—TIME OR ATTENDANCE REGISTERS; REGISTERING OR INDICATING THE WORKING OF MACHINES; GENERATING RANDOM NUMBERS; VOTING OR LOTTERY APPARATUS; ARRANGEMENTS, SYSTEMS OR APPARATUS FOR CHECKING NOT PROVIDED FOR ELSEWHERE
- G07C2205/00—Indexing scheme relating to group G07C5/00
- G07C2205/02—Indexing scheme relating to group G07C5/00 using a vehicle scan tool
Definitions
- the present disclosure relates generally to methods and apparatus that perform vehicle system communications.
- On-board diagnostics (“OBD”) systems enable a vehicle owner or technician to access vital information about and program various modules, systems, and sub-systems within a vehicle.
- Manufacturers have included OBD systems in their vehicles for many years.
- a technician utilizes a specialized scan tool that is adapted to interface with a given vehicle's OBD system using the vehicle's data link connector (“DLC”).
- DLC data link connector
- Many such OBD systems operate through a controller area network (CAN) of the vehicle, which facilitates communications between interconnected sub-systems of a vehicle.
- the scan tool is capable of reading data about the vehicle's modules, systems, and sub-systems for diagnostic purposes while also enabling some reprogramming of the modules, systems, and sub-systems.
- these scan tools are stand-alone handheld computing devices connected directly to a vehicle via a cable with a plug on one end that can plug into the vehicle's DLC.
- OBD systems Many manufacturers also use these same OBD systems to repair and update various advanced computerized systems within a vehicle. There are some diagnostic/programming tools which can utilize personal computers and remote networking systems. A problem with using such systems, however, is determining the protocol and other parameters for communicating with a given vehicle's OBD system, which can vary significantly across vehicles and may not be readily ascertainable from documentation. These parameters may include a communications bitrate, for example. Before facilitating remote communications with an OBD system, such as with a network communications device, the communications parameters of the OBD system must be determined.
- Embodiments of the present disclosure include systems and methods for implementing communications between vehicle on board diagnostics (“OBD”) systems and remote scan/programming tools designed for addressing issues in such communications.
- a communication system includes a vehicle-(or car-)side communications device that is configured to plug into or otherwise connect to an OBD system connector (e.g., DLC) and has a network communications interface for facilitating bi-directional communication between the OBD system and remote network devices.
- the system also includes a tool-side (or remote) communications device that has a connector which permits a scan/programming tool to plug into the tool-side communications device as if it were the connector to a vehicle's OBD system.
- the tool-side device also has a network communications interface that facilitates bi-directional communications between a connected scan/programming tool and an OBD system connected to a car-side device through its respective network communications interface.
- the bit-rate of the system is set or determinable by a protocol standard (e.g., utilizing OBD-II).
- the bit rate of the system is not standardized or published (e.g., in some implementations of the CAN protocol).
- the vehicle-side device is configured to determine a bitrate used by the OBD system (of either a vehicle-side or tool-side communications device) before providing network communications.
- the bitrate is determined by monitoring a communication output (e.g., a signal on a connection pin) of an OBD connector of the OBD system/Tool and using an onboard computer clock of the vehicle/tool-side device that tracks elapsed time during the monitoring.
- the monitoring includes identifying when the state of the OBD output changes (e.g., a leading edge or falling edge of a signal) and tracking the elapsed interval between such events (e.g., pulse widths) using the onboard clock.
- One or more tracked elapsed intervals are analyzed to determine a corresponding communications bitrate.
- a measured interval corresponds with only one of numerous possible bitrates, which is then selected for use.
- multiple intervals are measured and analyzed to narrow the possibilities of which bitrate is used until the possibilities are narrowed to one possibility.
- FIG. 1 is an illustrative diagram of a remote vehicle communications system according to some embodiments.
- FIG. 2 A is an illustrative diagram of a vehicle-side communications device according to some embodiments.
- FIG. 2 B is an illustrative block diagram of the components of a vehicle-side communications device according to some embodiments.
- FIG. 3 is a process flow diagram for remotely communicating with an onboard vehicle diagnostics system according to some embodiments.
- FIG. 4 is a process flow diagram for remotely communicating with an onboard vehicle diagnostics system according to some embodiments.
- FIG. 5 is an illustrative chart of signals and device registers used for determining the bitrate of a communications device according to some embodiments.
- FIG. 6 A shows an illustrative bit stream using a 5-bit stuffing protocol.
- FIG. 7 is a table of timer increments for particular numbers of bits and bitrates according to some embodiments.
- FIG. 9 is a table of possible pulse widths for selected bitrates of an onboard vehicle diagnostics system according to some embodiments.
- FIG. 1 is an illustrative diagram of a remote vehicle communications system according to some embodiments.
- a vehicle-side communications device 120 is connected to the on-board diagnostics (OBD) system of a vehicle 100 .
- the vehicle-side communications device 120 is connected through a built-in connector (e.g., 16-pin connector 215 of FIG. 2 A ) of vehicle 100 .
- the vehicle-side communications device 120 may be further connected to a wide-area network (WAN) 125 (e.g., the internet) such as through a network adapter.
- WAN wide-area network
- a diagnostics/programming tool 150 e.g., a “scan tool” is connected to a tool-side communications device 140 that is further connected to WAN 125 .
- Tool 150 may be a computer installed with diagnostics/programming software configured to perform diagnostics/programming on a vehicle (e.g., vehicle 100 ) through a vehicle's OBD system.
- Tool 150 may be a tool system (e.g., a networked system of computers/devices) that includes multiple tools configurable/selectable for use with multiple types of vehicles.
- Tool 150 may also be a dedicated (e.g., mobile/hand-held) scan tool.
- the device and/or software may be authorized/produced by the vehicle's manufacturer (e.g., an OEM scan tool) and designed to establish a direct/local bi-directional connection with the vehicle (e.g., directly through a built-in OBD connector).
- a network server 130 and an associated database system 160 may be connected through a local area network (LAN) 145 and/or WAN 125 to assist with operation/updating of tool 150 , the vehicle-side communications device 120 , and/or tool-side communications device 140 .
- Database system 160 may be configured for distribution/maintenance of configurations and/or tools for performing diagnostics/programming on a wide variety of years/makes/models of vehicles and their OBD systems.
- additional remote devices may be used to operate, configure, and/or communicate with tool-side device 140 , tool 150 , server 170 /database system 160 , vehicle-side device 120 , and/or vehicle 100 through WAN 125 and/or LAN 145 .
- a remote vehicle shop may use a remote user/shop device 110 to facilitate/observe a remote programming/diagnostics session between tool 150 and vehicle 100 .
- Vehicle-side device 200 is configured to adapt to the bit-rate of the vehicle's OBD system in order to effectively read the communications from the OBD system and forward them to a tool-side device (e.g., tool-side device 140 of FIG. 1 ). Tool-side device 140 may also need to adapt its communications with tool 150 to reflect the bitrate used by the vehicle.
- a tool-side device e.g., tool-side device 140 of FIG. 1
- Tool-side device 140 may also need to adapt its communications with tool 150 to reflect the bitrate used by the vehicle.
- FIG. 2 B is an illustrative block diagram of the computing components of a vehicle-side communications device according to some embodiments.
- Computing components 220 include a microprocessor 240 , display 225 and input circuitry 230 .
- Microprocessor 240 in turn includes read only memory (ROM) 245 , memory registers 250 , and timer circuitry or clock 255 which are used to monitor/track the timing of signal changes from connected OBD systems in order to determine their bitrates such as further described herein.
- ROM read only memory
- a network interface 235 is utilized to communicate with other systems through a network (e.g., across WAN 125 ), including with a remote tool-side communications device (e.g., tool-side device 140 ) and further with a connected programming/diagnostics tool (e.g, tool 150 of FIG. 1 ).
- a network e.g., across WAN 125
- a remote tool-side communications device e.g., tool-side device 140
- a connected programming/diagnostics tool e.g, tool 150 of FIG. 1 .
- a microprocessor 240 may be programmed with instructions to determine the bitrate of communications received from a vehicle OBD system such as by using hardware-driven interrupts and memory registers 250 .
- the programming may be first loaded into RAM 270 , transmitted from an external and/or internal storage device (e.g., disk drive, Cloud storage), and executed by microprocessor 240 .
- an external and/or internal storage device e.g., disk drive, Cloud storage
- other components of device 200 and/or external connected devices e.g., servers, network devices, storage devices and others that are not shown
- a computer display 225 may be used to provide status messages about the communications process and/or other information.
- User input/output (I/O) 230 e.g., mouse, keyboard
- I/O input/output
- computer display 225 operates as an I/O device (e.g., a touchscreen).
- Vehicle-side device is configured to convert communications from vehicle 210 into packets that can be communicated to a remote tool-side device through a network interface 235 .
- network interface 235 may receive packets from a tool-side communication device/tool and convert those packets into corresponding pin signals that are transmitted to the vehicle's OBD system via connector 215 .
- a tool-side communications device may be configured in similar fashion to device 200 in order to communicate with a tool.
- FIG. 3 is a process flow diagram for remotely communicating with an onboard vehicle diagnostics system according to some embodiments.
- a connection is established between vehicle-side communications device(s) (e.g., device 120 of FIG. 1 ) and tool-side communications device(s) (e.g., device 140 of FIG. 1 ).
- a network server e.g., server 130 of FIG. 1
- numerous vehicle-side and tool-side devices are connected/available through one or more networks (e.g., LAN 145 and WAN 125 ).
- the vehicle-side and tool-side communications devices are paired with each other for facilitating a communications session (e.g., between a tool 150 and a vehicle 100 ). That way, for example, communications between communications devices not intended for each other can be ignored/dismissed.
- a vehicle-side communications device is connected with a vehicle in order to perform communications between the vehicle and tool via tool-side and vehicle-side communications devices.
- the connection may be through a vehicle OBD pin connector, for example, and a cable extending between the connector and a vehicle-side communications device.
- the bitrate of the vehicle OBD system and/or tool is determined so that the vehicle-side or tool-side communications device can communicate with the vehicle and/or tool.
- information about the vehicle e.g., VIN number, make/model/manual entry
- VIN number, make/model/manual entry is utilized to configure a vehicle-side device/tool-side device to use the proper bitrates, protocol parameters, and/or tools for communicating with the vehicle.
- some embodiments proceed without independently determining the bitrate by monitoring/analyzing bit-streams such as further described herein.
- the bitrate used by the vehicle OBD system cannot be determined without obtaining additional information about the OBD system.
- the bitrate of the vehicle OBD system or tool is determined by monitoring communications from the vehicle OBD system or tool.
- the vehicle-side or tool-side device may be configured with a built-in timer and registers (e.g., timer 255 and registers 250 of FIG. 2 B ) in which changes in the states (e.g., bit states of the pins) of communications from the OBD system trigger the communications device to record the timing of the changes (e.g., falling or rising) in the registers (e.g., as shown in FIG. 5 ). The recorded timing differences of the changing states are then analyzed to identify the bit-rate of OBD communications from the vehicle.
- information about the protocol used by the vehicle or tool e.g., a bit-stuffing protocol
- a bit-stuffing protocol is used to determine the bitrate as further described herein.
- the protocol and programming parameters of the OBD system are determined to facilitate communications using the identified bitrate.
- the protocol and parameters may be determined based on known information about the vehicle (e.g., VIN number, make/model/manual entry) or based on communications monitored from the OBD system/tool using the identified bitrate. For example, monitoring and parsing certain communications from the vehicle/tool may be indicators of certain protocols.
- a tool-side device e.g., diagnostics scan tool, vehicle programming tool
- the tool may be selected (or configured) based on the determined bitrate and/or programming/protocol parameters so as to be compatible with the vehicle OBD system.
- diagnostics and/or programming are performed via the communications link between the tool-side communications device and vehicle-side communications device.
- the bitrate between the tool-side device and tool is configured to be the same as that used between the vehicle-side device and vehicle (or vice versa) so as to mimic a direct communication between the tool and vehicle.
- FIG. 4 is a process flow diagram for remotely communicating with an onboard vehicle diagnostics system according to some embodiments.
- network communications are established between a vehicle-side communications device and a tool-side communications device.
- the tool-side device (and/or a network server) may be configured to identify/authenticate the vehicle-side device by a unique identifier (e.g., a hard-coded identifier in ROM of the vehicle-side communications device).
- a unique identifier e.g., a hard-coded identifier in ROM of the vehicle-side communications device.
- a vehicle-side and/or tool-side communications device is connected to the connector of a vehicle OBD system (e.g., a 16-pin connector 215 of FIG. 2 A ).
- the vehicle-side communications device has a connector (e.g., 16-pin connector) compatible with that of the vehicle's OBD connector.
- the vehicle-side communications device Prior to forwarding communications to a remote tool, the vehicle-side communications device is used to determine/confirm the bitrate of the vehicle's OBD system.
- the vehicle-side or tool-side communications device monitors communications transmitted from the OBD connector in a “listening mode.”
- the communications received from a vehicle by a vehicle communications device during the listening mode are not forwarded to a tool-side communications device. For example, because the bitrate of the vehicle may not have been determined, these communications may not be properly transferred.
- the bits received from the vehicle during the listening mode are analyzed in order to calculate/determine the bitrate used by the vehicle's OBD/CAN system. These bits may be analyzed by monitoring the state (e.g., high or low) of an output channel (e.g., pin of a pin connector) of the vehicle.
- a timing circuit e.g., clock/circuit 255 of FIG. 2 B
- the vehicle-side communications device operates to increment clock cycles (e.g., each increment representing a number of nanoseconds) during the listening mode.
- the vehicle/tool-side communications device is configured to be triggered (e.g., by hardware-driven interrupts) to record the clock count by the timing circuit when the signal state of a pin toggles (i.e., from low to high or high to low).
- the bitrate of the OBD system is determined.
- certain bitrates are eliminated as possibilities to the point where a single possible bitrate is identified. For example, if a pulse width of two microseconds is detected among the possibilities of FIGS. 6 B and 7 , the only remaining possibility is a bitrate of 500 KHz.
- information about the standards or boundary conditions used by the vehicle OBD/tool system are used to determine or accelerate determination of the bitrate of the OBD system. For example, if a particular vehicle make and model are known to use only a subset of possible bitrates, this information may be used to narrow the possibilities of bitrates with the recorded pulse widths.
- an OBD/tool system may be known to use a particular synchronization protocol regardless of bitrate.
- a bit stuffing protocol is used that sets a maximum consecutive/successive number (e.g., five) of bits of the same polarity.
- a maximum consecutive/successive number e.g., five
- FIG. 6 A illustrates a stream of bits showing the logic-level bit stream having the stuffed bits shown as “X”. While bit stuffing is designed for synchronization, some embodiments utilize the maximum number of consecutive bits to accelerate determination of the bit rate.
- FIG. 6 B is a table of bitrates and the number of respective bits transmitted during a particular time period.
- a select number of possible bit rates are possible for a given OBD system that utilizes a 5-bit stuffing protocol.
- the table of FIG. 6 B indicates the time interval for particular numbers of bits to be transmitted for each given possible bit rate while FIG. 7 indicates the corresponding clock cycles using with a 16 MHz clock.
- FIG. 8 is a process flow diagram for selecting a bit rate among possible bit rates of an onboard vehicle diagnostics system according to some embodiments.
- the process for determining the bitrate of a vehicle OBD (or a tool) system begins after a vehicle-communications device is connected to the OBD system (or a tool-side communications device is connected to a tool).
- the vehicle-communications device is configured to monitor changes in the states of bit signals (e.g., from an OBD connector).
- a free-running clock e.g., clock 255 of FIG. 2 B
- cycles (“ticks”) at a known frequency e.g., 16 MHz).
- the speed/frequency of the clock used/selected is based on the greatest possible bit rate expected of the on-board diagnostics system.
- the clock frequency is adjusted/selected to be at least about twice that of the greatest possible bit rate expected of the vehicle OBD system. For example, where the greatest expected frequency of the vehicle OBD system is 500 KHz, the clock speed/frequency should be at least about 1 MHz, and a 4 MHz clock may be utilized for bit rate determination rather than a 16 MHz clock.
- the clock speed/frequency should be at least about 1 MHz, and a 4 MHz clock may be utilized for bit rate determination rather than a 16 MHz clock.
- a first (falling/rising) edge of the bit stream signal is detected.
- the edge is detected, the number of clock cycles is recorded in computer memory.
- an interrupt-driven process records the tick count of the clock in a memory register when a falling or rising edge of a bit-stream signal is detected (e.g., as illustrated in FIG. 5 ).
- a second edge of a pair of edges of the bit-stream signal is detected and the number of clock cycles associated with the second edge is recorded in memory.
- the difference in recorded clock counts is calculated and the width of the pulse representing one or more bits is estimated based on the clock frequency.
- various factors may impact the precision of the calculated pulse widths including, for example bus capacitance, clock differences between controllers, and alignment of the pulses with clock transitions of the OBD system.
- a tolerance (e.g., ⁇ 5% tolerance) is utilized when estimating pulse widths and the widths may be adjusted based on their proximity to expected possible pulse widths.
- this ambiguity is factored into the calculation/estimation made at block 860 . For example, if a possible detected pulse width could be either 8 microseconds or 10 microseconds based on tolerances, this ambiguity can be factored into eliminating/narrowing possible bitrates.
- the determined widths of one or more pulses is analyzed to determine whether the widths are correlated with a single possible bitrate or a subset of possible bitrates.
- FIG. 9 shows an exemplary table of detected pulse widths and corresponding possible bitrates.
- the selection of possible bitrates is based on information about the vehicle or more broadly on bitrates used generally within the automobile industry and/or manufacturer.
- edge detection is performed by a process (e.g., of a multi-process program) that polls/monitors the output of a pin signal.
- a process e.g., of a multi-process program
- the bit signal state changes
- the number of clock counts of a clock is recorded (e.g., in a memory register) by the process.
- an initial state change e.g., the first edge
- the process continues monitoring for an additional state change.
- the value of clock counts is recorded, and an interrupt is called for calculating/estimating the respective pulse width and determining if the bit rate can be determined at block 860 .
- a circuit e.g., edge-triggered S-R circuit
- a circuit can be configured to receive an input signal (i.e., from the OBD system) and trigger an output (i.e., a trigger/clock count) when a rising or falling edge occurs over the signal.
- the process may perform additional analysis after that particular number of pulses occurs. For example, the process may factor in a bit-stuffing protocol to further eliminate various possibilities.
- recorded pulse widths that correlate directly with particular bitrates are compared to the presence of recorded pulse widths that exceed certain widths compliant with the bit-stuffing protocol for that particular bitrate but would not comply with another possible bitrate, thereby further eliminating one or more possible bitrates.
- This process may continue (of analyzing sequences of predetermined number of pulses/pulse widths) until all but one possible bitrate is eliminated.
- the processes described herein are not limited to use with the hardware shown and described herein. They may find applicability in any computing or processing environment and with any type of machine or set of machines that is capable of running a computer program.
- the processes described herein may be implemented in hardware, software, or a combination of the two.
- the processes described herein may be implemented in computer programs executed on programmable computers/machines that each includes a processor, a non-transitory machine-readable medium or other article of manufacture that is readable by the processor (including volatile and non-volatile memory and/or storage elements), at least one input device, and one or more output devices.
- Program code may be applied to data entered using an input device to perform any of the processes described herein and to generate output information.
- the processing blocks (for example, in the processes of FIGS. 3 , 4 , and 8 ) associated with implementing the system may be performed by one or more programmable processors executing one or more computer programs to perform the functions of the system. All or part of the system may be implemented using electronic hardware circuitry that include electronic devices such as, for example, at least one of a processor, a memory, a programmable logic device, and/or a logic gate. All or part of the system may be implemented as special purpose logic circuitry (e.g., an FPGA (field-programmable gate array) and/or an ASIC (application-specific integrated circuit)).
- FPGA field-programmable gate array
- ASIC application-specific integrated circuit
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- General Physics & Mathematics (AREA)
- Physics & Mathematics (AREA)
- Power Engineering (AREA)
- Health & Medical Sciences (AREA)
- Computing Systems (AREA)
- General Health & Medical Sciences (AREA)
- Medical Informatics (AREA)
- Quality & Reliability (AREA)
- Computer Security & Cryptography (AREA)
- Communication Control (AREA)
- Small-Scale Networks (AREA)
- Mobile Radio Communication Systems (AREA)
- Automation & Control Theory (AREA)
- Mechanical Engineering (AREA)
- Radar Systems Or Details Thereof (AREA)
- Arrangements For Transmission Of Measured Signals (AREA)
- Near-Field Transmission Systems (AREA)
Abstract
A method of remote communications with an on-board diagnostics (OBD) system of a vehicle includes connecting a vehicle communications device to a connector of a vehicle's OBD system, connecting a remote communications device to a connector of a vehicle tool device, and establishing a network communications link between the vehicle-communications device and a remote communications device. The vehicle communications device receives communications at the vehicle-communications device from the vehicle's OBD system through the connector. A bit stream of the received communications is analyzed over an interval of time. The widths of one or more bit pulses are estimated based on the analyzing of the bit stream. A bit rate of the OBD system is determined based on the estimated widths of the one or more bit pulses. Based on the determined bit rate of the OBD system, bidirectional communications are established between the OBD system and the tool device using the established network communications link between the vehicle-communications device and the remote communications device.
Description
- This is a utility application based upon and claims priority of application 63/195,490 filed on Jun. 1, 2021. This related application is incorporated herein by reference and made a part of this application. If any conflict arises between the disclosures in this utility application and that in the related provisional application, the disclosure in this utility application shall govern. Moreover, the inventor(s) incorporate herein by reference any and all patents, patent applications, and other documents hard copy or electronic, cited or referred to in this application.
- The present disclosure relates generally to methods and apparatus that perform vehicle system communications.
- On-board diagnostics (“OBD”) systems enable a vehicle owner or technician to access vital information about and program various modules, systems, and sub-systems within a vehicle. Manufacturers have included OBD systems in their vehicles for many years. In a traditional repair setting, a technician utilizes a specialized scan tool that is adapted to interface with a given vehicle's OBD system using the vehicle's data link connector (“DLC”). Many such OBD systems operate through a controller area network (CAN) of the vehicle, which facilitates communications between interconnected sub-systems of a vehicle. The scan tool is capable of reading data about the vehicle's modules, systems, and sub-systems for diagnostic purposes while also enabling some reprogramming of the modules, systems, and sub-systems. Typically, these scan tools are stand-alone handheld computing devices connected directly to a vehicle via a cable with a plug on one end that can plug into the vehicle's DLC.
- Numerous standards have been implemented for vehicle diagnostic systems and communication protocols, some mandated for tracking and inspecting such features as emission control. These communication standards include, for example, OBD-1, OBD-II, SAE J2534, SAE J1850 PWM (pulse-width modulation), ISO 15765, and ISO 9141-2. One common standardized feature of OBD systems has become the use of a 16-pin DLC, usually located under the dashboard of the vehicle. Many vehicle manufacturers utilize this connection system and have adopted the aforementioned communication standards that are shared with the public for performing basic diagnostic and reprogramming functions.
- Many manufacturers also use these same OBD systems to repair and update various advanced computerized systems within a vehicle. There are some diagnostic/programming tools which can utilize personal computers and remote networking systems. A problem with using such systems, however, is determining the protocol and other parameters for communicating with a given vehicle's OBD system, which can vary significantly across vehicles and may not be readily ascertainable from documentation. These parameters may include a communications bitrate, for example. Before facilitating remote communications with an OBD system, such as with a network communications device, the communications parameters of the OBD system must be determined.
- Embodiments of the present disclosure include systems and methods for implementing communications between vehicle on board diagnostics (“OBD”) systems and remote scan/programming tools designed for addressing issues in such communications. A communication system includes a vehicle-(or car-)side communications device that is configured to plug into or otherwise connect to an OBD system connector (e.g., DLC) and has a network communications interface for facilitating bi-directional communication between the OBD system and remote network devices. The system also includes a tool-side (or remote) communications device that has a connector which permits a scan/programming tool to plug into the tool-side communications device as if it were the connector to a vehicle's OBD system. The tool-side device also has a network communications interface that facilitates bi-directional communications between a connected scan/programming tool and an OBD system connected to a car-side device through its respective network communications interface.
- In some vehicle communications and/or vehicle tool systems, the bit-rate of the system is set or determinable by a protocol standard (e.g., utilizing OBD-II). In some systems, the bit rate of the system is not standardized or published (e.g., in some implementations of the CAN protocol). In some embodiments, where the bit rate is not known (e.g., is not standardized or published), the vehicle-side device is configured to determine a bitrate used by the OBD system (of either a vehicle-side or tool-side communications device) before providing network communications. In some embodiments, the bitrate is determined by monitoring a communication output (e.g., a signal on a connection pin) of an OBD connector of the OBD system/Tool and using an onboard computer clock of the vehicle/tool-side device that tracks elapsed time during the monitoring. The monitoring includes identifying when the state of the OBD output changes (e.g., a leading edge or falling edge of a signal) and tracking the elapsed interval between such events (e.g., pulse widths) using the onboard clock. One or more tracked elapsed intervals are analyzed to determine a corresponding communications bitrate. In some cases, a measured interval corresponds with only one of numerous possible bitrates, which is then selected for use. In some embodiments, multiple intervals are measured and analyzed to narrow the possibilities of which bitrate is used until the possibilities are narrowed to one possibility.
- Embodiments of the disclosure may be described hereafter in detail with particular reference to the drawings. Throughout this description, like elements, in whatever embodiment described, refer to common elements wherever referred to and reference by the same reference number. The characteristics, attributes, functions, interrelations ascribed to a particular element in one location apply to that element when referred to by the same reference number in another location unless specifically stated otherwise. In addition, the exact dimensions and dimensional proportions to conform to specific force, weight, strength and similar requirements will be within the skill of the art after the following description has been read and understood.
- All figures are drawn for ease of explanation of the basic teachings of the present disclosure only; the extensions of the figures with respect to number, position, relationship and dimensions of the parts to form examples of the various embodiments will be explained or will be within the skill of the art after the present disclosure has been read and understood.
-
FIG. 1 is an illustrative diagram of a remote vehicle communications system according to some embodiments. -
FIG. 2A is an illustrative diagram of a vehicle-side communications device according to some embodiments. -
FIG. 2B is an illustrative block diagram of the components of a vehicle-side communications device according to some embodiments. -
FIG. 3 is a process flow diagram for remotely communicating with an onboard vehicle diagnostics system according to some embodiments. -
FIG. 4 is a process flow diagram for remotely communicating with an onboard vehicle diagnostics system according to some embodiments. -
FIG. 5 is an illustrative chart of signals and device registers used for determining the bitrate of a communications device according to some embodiments. -
FIG. 6A shows an illustrative bit stream using a 5-bit stuffing protocol. -
FIG. 6B is a table of bit-rates and the number of respective bits transmitted during a particular time period. -
FIG. 7 is a table of timer increments for particular numbers of bits and bitrates according to some embodiments. -
FIG. 8 is a process flow diagram for selecting a bit rate among possible bitrates of an onboard vehicle diagnostics system according to some embodiments. -
FIG. 9 is a table of possible pulse widths for selected bitrates of an onboard vehicle diagnostics system according to some embodiments. - In order that embodiments of the disclosure may be clearly understood and readily carried into effect, certain embodiments of the disclosure will now be described in further detail with reference to the accompanying drawings. The description of these embodiments is given by way of example only and not to limit the scope of the disclosure. It will be understood that when an element or layer is referred to as being “on”, “connected to”, “coupled to”, or “adjacent to” another element or layer, it can be directly on, connected, coupled, or adjacent to the other element or layer, or intervening elements or layers may be present. In contrast, when an element is referred to as being “directly on,” “directly connected to”, “directly coupled to”, or “immediately adjacent to” another element or layer, there are no intervening elements or layers present.
-
FIG. 1 is an illustrative diagram of a remote vehicle communications system according to some embodiments. A vehicle-side communications device 120 is connected to the on-board diagnostics (OBD) system of avehicle 100. In some embodiments, the vehicle-side communications device 120 is connected through a built-in connector (e.g., 16-pin connector 215 ofFIG. 2A ) ofvehicle 100. The vehicle-side communications device 120 may be further connected to a wide-area network (WAN) 125 (e.g., the internet) such as through a network adapter. A diagnostics/programming tool 150 (e.g., a “scan tool”) is connected to a tool-side communications device 140 that is further connected toWAN 125. -
Tool 150 may be a computer installed with diagnostics/programming software configured to perform diagnostics/programming on a vehicle (e.g., vehicle 100) through a vehicle's OBD system.Tool 150 may be a tool system (e.g., a networked system of computers/devices) that includes multiple tools configurable/selectable for use with multiple types of vehicles.Tool 150 may also be a dedicated (e.g., mobile/hand-held) scan tool. The device and/or software may be authorized/produced by the vehicle's manufacturer (e.g., an OEM scan tool) and designed to establish a direct/local bi-directional connection with the vehicle (e.g., directly through a built-in OBD connector). Anetwork server 130 and an associateddatabase system 160 may be connected through a local area network (LAN) 145 and/orWAN 125 to assist with operation/updating oftool 150, the vehicle-side communications device 120, and/or tool-side communications device 140.Database system 160 may be configured for distribution/maintenance of configurations and/or tools for performing diagnostics/programming on a wide variety of years/makes/models of vehicles and their OBD systems. - Tool-
side device 140 and vehicle-side device 120 are configured to communicate with each other and thereby facilitate communications between atool 150 and the OBD system ofvehicle 100. In some embodiments, a connection between tool-side device 140 and a vehicle-side device 120 is used to simulate or mimic a direct-wired connection betweenvehicle 100 andtool 150. In order to communicate with the vehicle's OBD system, a tool-side device is configured to determine the communication bitrate of the OBD system such as further described herein. In some embodiments, the bitrate is determined by monitoring communications transmitted from the OBD system and analyzing the toggling of bit states of the communication signal over known time intervals. - In some embodiments, additional remote devices (e.g., remote device) may be used to operate, configure, and/or communicate with tool-
side device 140,tool 150, server 170/database system 160, vehicle-side device 120, and/orvehicle 100 throughWAN 125 and/orLAN 145. For example, a remote vehicle shop may use a remote user/shop device 110 to facilitate/observe a remote programming/diagnostics session betweentool 150 andvehicle 100. -
FIG. 2A is an illustrative diagram of a vehicle-side communications device according to some embodiments. Vehicle-side device 200 is configured to communicate withvehicle 210 such as through the vehicle's OBD system. Vehicle-side device may include a cable andconnector 215 adapted to directly plug into a vehicle's OBD connector (e.g., a standardized 16-pin connector). The vehicle's OBD system may communicate signals through the connector by signaling different pins as “on” or “off” to reflect, for example, a 1 or 0 bit, and modulate or maintain these states at particular frequencies (or bitrates). Vehicle-side device 200 is configured to adapt to the bit-rate of the vehicle's OBD system in order to effectively read the communications from the OBD system and forward them to a tool-side device (e.g., tool-side device 140 ofFIG. 1 ). Tool-side device 140 may also need to adapt its communications withtool 150 to reflect the bitrate used by the vehicle. -
FIG. 2B is an illustrative block diagram of the computing components of a vehicle-side communications device according to some embodiments.Computing components 220 include amicroprocessor 240,display 225 and input circuitry 230.Microprocessor 240 in turn includes read only memory (ROM) 245, memory registers 250, and timer circuitry orclock 255 which are used to monitor/track the timing of signal changes from connected OBD systems in order to determine their bitrates such as further described herein. -
Vehicle communications interface 265 may include an OBD connection interface (e.g., for connecting through a cable and connector 215).Vehicle communications interface 265 may include apin selector 260 which activates/deactivates communication through particular pins (e.g., 1 through 16 as shown in connector 215), which may be configured to correspond with the pins used by a particular vehicle/OBD system being communicated with. In some embodiments, the pin selector is configured based on information (e.g., a database with records of VINs and pin configurations) for connecting with theparticular vehicle 210. Anetwork interface 235 is utilized to communicate with other systems through a network (e.g., across WAN 125), including with a remote tool-side communications device (e.g., tool-side device 140) and further with a connected programming/diagnostics tool (e.g,tool 150 ofFIG. 1 ). - A
microprocessor 240 may be programmed with instructions to determine the bitrate of communications received from a vehicle OBD system such as by using hardware-driven interrupts and memory registers 250. The programming may be first loaded intoRAM 270, transmitted from an external and/or internal storage device (e.g., disk drive, Cloud storage), and executed bymicroprocessor 240. In some embodiments, other components ofdevice 200 and/or external connected devices (e.g., servers, network devices, storage devices and others that are not shown) may be configured to implement the features and processes described herein alone or in combination withdevice 200. - A computer display 225 (e.g., as shown in device 200) may be used to provide status messages about the communications process and/or other information. User input/output (I/O) 230 (e.g., mouse, keyboard) may be used by an operator to control the
vehicle communications device 200 such as to initiate communications, select parameters, and/or perform/program other operations. In some embodiments,computer display 225 operates as an I/O device (e.g., a touchscreen). - Vehicle-side device is configured to convert communications from
vehicle 210 into packets that can be communicated to a remote tool-side device through anetwork interface 235. Likewise,network interface 235 may receive packets from a tool-side communication device/tool and convert those packets into corresponding pin signals that are transmitted to the vehicle's OBD system viaconnector 215. In some embodiments, a tool-side communications device may be configured in similar fashion todevice 200 in order to communicate with a tool. -
FIG. 3 is a process flow diagram for remotely communicating with an onboard vehicle diagnostics system according to some embodiments. Atblock 310, a connection is established between vehicle-side communications device(s) (e.g.,device 120 ofFIG. 1 ) and tool-side communications device(s) (e.g.,device 140 ofFIG. 1 ). A network server (e.g.,server 130 ofFIG. 1 ), for example, may assist with facilitating connections between the devices (e.g., for establishing links, parameters, etc.). In some embodiments, numerous vehicle-side and tool-side devices are connected/available through one or more networks (e.g.,LAN 145 and WAN 125). Atblock 320, the vehicle-side and tool-side communications devices (e.g.,communications devices 120 and 140) are paired with each other for facilitating a communications session (e.g., between atool 150 and a vehicle 100). That way, for example, communications between communications devices not intended for each other can be ignored/dismissed. - At
block 330, a vehicle-side communications device is connected with a vehicle in order to perform communications between the vehicle and tool via tool-side and vehicle-side communications devices. The connection may be through a vehicle OBD pin connector, for example, and a cable extending between the connector and a vehicle-side communications device. - For some vehicle diagnostics systems, the communications bit rate of a vehicle or tool is not published or standardized (e.g., as many that operate under the general CAN Protocol). In some embodiments, performing scans/programming with a particular tool commences by first determining the bit rate of the vehicle diagnostics system and/or tool. In some vehicle diagnostics systems, the bitrate of a vehicle OBD/CAN system or tool is standardized or published such as with those compliant with certain standardized protocols (e.g., in compliance with the OBD-II standard).
- At
block 340, the bitrate of the vehicle OBD system and/or tool is determined so that the vehicle-side or tool-side communications device can communicate with the vehicle and/or tool. In some embodiments, information about the vehicle (e.g., VIN number, make/model/manual entry) is utilized to configure a vehicle-side device/tool-side device to use the proper bitrates, protocol parameters, and/or tools for communicating with the vehicle. In such instances, some embodiments proceed without independently determining the bitrate by monitoring/analyzing bit-streams such as further described herein. In some embodiments, the bitrate used by the vehicle OBD system cannot be determined without obtaining additional information about the OBD system. - In some embodiments, the bitrate of the vehicle OBD system or tool is determined by monitoring communications from the vehicle OBD system or tool. The vehicle-side or tool-side device may be configured with a built-in timer and registers (e.g.,
timer 255 andregisters 250 ofFIG. 2B ) in which changes in the states (e.g., bit states of the pins) of communications from the OBD system trigger the communications device to record the timing of the changes (e.g., falling or rising) in the registers (e.g., as shown inFIG. 5 ). The recorded timing differences of the changing states are then analyzed to identify the bit-rate of OBD communications from the vehicle. In some embodiments, information about the protocol used by the vehicle or tool (e.g., a bit-stuffing protocol) is used to determine the bitrate as further described herein. - At
block 350, the protocol and programming parameters of the OBD system are determined to facilitate communications using the identified bitrate. The protocol and parameters may be determined based on known information about the vehicle (e.g., VIN number, make/model/manual entry) or based on communications monitored from the OBD system/tool using the identified bitrate. For example, monitoring and parsing certain communications from the vehicle/tool may be indicators of certain protocols. - At
block 360, if not already selected, a tool-side device (e.g., diagnostics scan tool, vehicle programming tool) is selected for performing diagnostics and/or programming on the vehicle through the communications link between the tool-side communications device and the vehicle-side communications device. The tool may be selected (or configured) based on the determined bitrate and/or programming/protocol parameters so as to be compatible with the vehicle OBD system. - At
block 370, using the determined bitrate between the vehicle-side device and vehicle and using the selected tool, diagnostics and/or programming are performed via the communications link between the tool-side communications device and vehicle-side communications device. In some embodiments, the bitrate between the tool-side device and tool is configured to be the same as that used between the vehicle-side device and vehicle (or vice versa) so as to mimic a direct communication between the tool and vehicle. -
FIG. 4 is a process flow diagram for remotely communicating with an onboard vehicle diagnostics system according to some embodiments. Atblock 410, network communications are established between a vehicle-side communications device and a tool-side communications device. The tool-side device (and/or a network server) may be configured to identify/authenticate the vehicle-side device by a unique identifier (e.g., a hard-coded identifier in ROM of the vehicle-side communications device). - At
block 420, a vehicle-side and/or tool-side communications device is connected to the connector of a vehicle OBD system (e.g., a 16-pin connector 215 ofFIG. 2A ). In some embodiments, the vehicle-side communications device has a connector (e.g., 16-pin connector) compatible with that of the vehicle's OBD connector. Prior to forwarding communications to a remote tool, the vehicle-side communications device is used to determine/confirm the bitrate of the vehicle's OBD system. - At
block 430, the vehicle-side or tool-side communications device monitors communications transmitted from the OBD connector in a “listening mode.” In some embodiments, the communications received from a vehicle by a vehicle communications device during the listening mode are not forwarded to a tool-side communications device. For example, because the bitrate of the vehicle may not have been determined, these communications may not be properly transferred. - At
block 440, the bits received from the vehicle during the listening mode are analyzed in order to calculate/determine the bitrate used by the vehicle's OBD/CAN system. These bits may be analyzed by monitoring the state (e.g., high or low) of an output channel (e.g., pin of a pin connector) of the vehicle. In some embodiments, a timing circuit (e.g., clock/circuit 255 ofFIG. 2B ) of the vehicle-side communications device operates to increment clock cycles (e.g., each increment representing a number of nanoseconds) during the listening mode. In some embodiments, the vehicle/tool-side communications device is configured to be triggered (e.g., by hardware-driven interrupts) to record the clock count by the timing circuit when the signal state of a pin toggles (i.e., from low to high or high to low). - At
block 450, the widths of signal pulses are estimated based on analyzing the timing of the bit state changes. For example,FIG. 5 shows an illustrative chart of signals and device registers used for determining the bitrate of a communications device according to some embodiments. An “A” register is used to record a first change in pin state (e.g., high to low or low to high) while a “B” register is used to record the next change of pin state. In some embodiments, an interrupt handler is responsible for reading the values from the registers and calculating the difference between them to determine the width of a pulse in timer ticks (and thereby total time). Multiple pulse widths for multiple signals may be calculated. - Referring again to
FIG. 4 , atblock 460, based on the width(s) of bit pulse(s) estimated atblock 450, the bitrate of the OBD system is determined. In some embodiments, after a number of pulse widths are measured, certain bitrates are eliminated as possibilities to the point where a single possible bitrate is identified. For example, if a pulse width of two microseconds is detected among the possibilities ofFIGS. 6B and 7 , the only remaining possibility is a bitrate of 500 KHz. - In some embodiments, information about the standards or boundary conditions used by the vehicle OBD/tool system (e.g., a bit-stuffing protocol) are used to determine or accelerate determination of the bitrate of the OBD system. For example, if a particular vehicle make and model are known to use only a subset of possible bitrates, this information may be used to narrow the possibilities of bitrates with the recorded pulse widths.
- Referring to
FIG. 6A , for example, an OBD/tool system may be known to use a particular synchronization protocol regardless of bitrate. In some OBD systems, to maintain synchronization between two controllers, for example, a bit stuffing protocol is used that sets a maximum consecutive/successive number (e.g., five) of bits of the same polarity. As shown inFIG. 6A , after 5 consecutive bits of the same polarity, an opposite polarity bit is inserted. This bit is inserted by the sending controller and removed in the receiving controller and is not part of the data being transmitted.FIG. 6A illustrates a stream of bits showing the logic-level bit stream having the stuffed bits shown as “X”. While bit stuffing is designed for synchronization, some embodiments utilize the maximum number of consecutive bits to accelerate determination of the bit rate. -
FIG. 6B is a table of bitrates and the number of respective bits transmitted during a particular time period. In an embodiment, a select number of possible bit rates are possible for a given OBD system that utilizes a 5-bit stuffing protocol. The table ofFIG. 6B indicates the time interval for particular numbers of bits to be transmitted for each given possible bit rate whileFIG. 7 indicates the corresponding clock cycles using with a 16 MHz clock. - At
block 470, using the bitrate determined atblock 460, bidirectional communications are established between the vehicle and a tool through the vehicle-side communications device and the remote tool-side communications device. In some embodiments, the selected bitrate is confirmed such as by monitoring the communications utilizing the selected bitrate and determining that errors do not repeatedly arise indicative of an incorrect bitrate. -
FIG. 8 is a process flow diagram for selecting a bit rate among possible bit rates of an onboard vehicle diagnostics system according to some embodiments. Atblock 810, the process for determining the bitrate of a vehicle OBD (or a tool) system begins after a vehicle-communications device is connected to the OBD system (or a tool-side communications device is connected to a tool). The vehicle-communications device is configured to monitor changes in the states of bit signals (e.g., from an OBD connector). Atblock 820, a free-running clock (e.g.,clock 255 ofFIG. 2B ) is started which cycles (“ticks”) at a known frequency (e.g., 16 MHz). In some embodiments, the speed/frequency of the clock used/selected is based on the greatest possible bit rate expected of the on-board diagnostics system. In some embodiments, the clock frequency is adjusted/selected to be at least about twice that of the greatest possible bit rate expected of the vehicle OBD system. For example, where the greatest expected frequency of the vehicle OBD system is 500 KHz, the clock speed/frequency should be at least about 1 MHz, and a 4 MHz clock may be utilized for bit rate determination rather than a 16 MHz clock. One of ordinary skill in the art will recognize that there are a variety of ways to determine and adjust to a variety of clock speeds/frequencies. - At
block 830, using the monitoring of changes in bit-states, a first (falling/rising) edge of the bit stream signal is detected. When the edge is detected, the number of clock cycles is recorded in computer memory. In some embodiments, an interrupt-driven process records the tick count of the clock in a memory register when a falling or rising edge of a bit-stream signal is detected (e.g., as illustrated in FIG. 5). Atblock 840, a second edge of a pair of edges of the bit-stream signal is detected and the number of clock cycles associated with the second edge is recorded in memory. - At
block 850, after the second edge is recorded in response to an interrupt, the difference in recorded clock counts is calculated and the width of the pulse representing one or more bits is estimated based on the clock frequency. In some embodiments, various factors may impact the precision of the calculated pulse widths including, for example bus capacitance, clock differences between controllers, and alignment of the pulses with clock transitions of the OBD system. - In some embodiments, a tolerance (e.g., ±5% tolerance) is utilized when estimating pulse widths and the widths may be adjusted based on their proximity to expected possible pulse widths. In some embodiments, when an estimated width is ambiguous with respect to multiple possible widths, this ambiguity is factored into the calculation/estimation made at
block 860. For example, if a possible detected pulse width could be either 8 microseconds or 10 microseconds based on tolerances, this ambiguity can be factored into eliminating/narrowing possible bitrates. - At
block 860, the determined widths of one or more pulses is analyzed to determine whether the widths are correlated with a single possible bitrate or a subset of possible bitrates. For example,FIG. 9 shows an exemplary table of detected pulse widths and corresponding possible bitrates. In some embodiments, the selection of possible bitrates is based on information about the vehicle or more broadly on bitrates used generally within the automobile industry and/or manufacturer. - In some embodiments, edge detection is performed by a process (e.g., of a multi-process program) that polls/monitors the output of a pin signal. When the bit signal state changes, the number of clock counts of a clock is recorded (e.g., in a memory register) by the process. After an initial state change (e.g., the first edge) is detected, the process continues monitoring for an additional state change. After the second state change is detected, the value of clock counts is recorded, and an interrupt is called for calculating/estimating the respective pulse width and determining if the bit rate can be determined at
block 860. In some embodiments, a circuit (e.g., edge-triggered S-R circuit) can be configured to receive an input signal (i.e., from the OBD system) and trigger an output (i.e., a trigger/clock count) when a rising or falling edge occurs over the signal. - After each of the possible bitrates has been eliminated as a possibility, the process is finished and the bitrate is selected at
block 870. For example, if two of the three possible bitrates ofFIG. 9 are eliminated, the remaining bitrate is selected. In some embodiments, if multiple possible bitrates correlate with the determined pulse width(s), the process continues by resetting the routine atblock 855 of recording first and second edges and calculating additional pulse width(s) beginning atblock 830. This cycle may continue until each of the possible bitrates is eliminated and a single possible bitrate remains and is selected. In some embodiments, the process may “time-out”/abort if a maximum number of iterations occurs and a single bitrate has not been determined. - In some embodiments, if each possible bitrate other than one cannot be readily eliminated based on the estimated pulse widths after a particular number of pulses are recorded, the process may perform additional analysis after that particular number of pulses occurs. For example, the process may factor in a bit-stuffing protocol to further eliminate various possibilities. In an embodiment, recorded pulse widths that correlate directly with particular bitrates are compared to the presence of recorded pulse widths that exceed certain widths compliant with the bit-stuffing protocol for that particular bitrate but would not comply with another possible bitrate, thereby further eliminating one or more possible bitrates. This process may continue (of analyzing sequences of predetermined number of pulses/pulse widths) until all but one possible bitrate is eliminated.
- The processes described herein (e.g., the processes of
FIGS. 3, 4, and 8 ) are not limited to use with the hardware shown and described herein. They may find applicability in any computing or processing environment and with any type of machine or set of machines that is capable of running a computer program. The processes described herein may be implemented in hardware, software, or a combination of the two. The processes described herein may be implemented in computer programs executed on programmable computers/machines that each includes a processor, a non-transitory machine-readable medium or other article of manufacture that is readable by the processor (including volatile and non-volatile memory and/or storage elements), at least one input device, and one or more output devices. Program code may be applied to data entered using an input device to perform any of the processes described herein and to generate output information. - The processing blocks (for example, in the processes of
FIGS. 3, 4, and 8 ) associated with implementing the system may be performed by one or more programmable processors executing one or more computer programs to perform the functions of the system. All or part of the system may be implemented using electronic hardware circuitry that include electronic devices such as, for example, at least one of a processor, a memory, a programmable logic device, and/or a logic gate. All or part of the system may be implemented as special purpose logic circuitry (e.g., an FPGA (field-programmable gate array) and/or an ASIC (application-specific integrated circuit)). - The processes described herein are not limited to the specific examples described. For example, the process of
FIGS. 3, 4, and 8 are not limited to the specific processing orders illustrated. Rather, any of the processing blocks may be re-ordered, combined or removed, performed in parallel or in serial, as necessary, to achieve the results set forth above. - Elements of different embodiments described herein may be combined to form other embodiments not specifically set forth above. Various elements, which are described in the context of a single embodiment, may also be provided separately or in any suitable sub-combination. Other embodiments not specifically described herein are also within the scope of the following claims.
Claims (22)
1. A method of remote communications with an on-board diagnostics (OBD) system of a vehicle, the method comprising:
connecting a vehicle communications device to a connector of a vehicle's OBD system;
connecting a remote tool side communications device to a connector of a vehicle tool device;
establishing a network communications link between the vehicle-communications device and a remote communications device;
receiving communications at the vehicle side communications device or tool side communications device from the respectively connected vehicle's OBD system or tool device through the respective connector of the OBD system or tool device;
analyzing a bit stream of the received communications over an interval of time;
estimating widths of one or more bit pulses based on the analyzing of the bit stream;
determining a bit rate of the OBD system based on the estimated widths of the one or more bit pulses;
based on the determined bit rate of the OBD system, establishing bidirectional communications between the OBD system and the tool device using the established network communications link between the vehicle-communications device and the remote communications device.
2. The method of claim 1 wherein analyzing the bit stream comprises calculating time differences between one or more pairs of leading and falling edges of a signal of the bit stream and wherein determining the bit rate comprises selecting one of a plurality of possible bit rates based on the calculated time differences.
3. The method of claim 2 wherein the determining is based on a predetermined synchronization protocol of the OBD system.
4. The method of claim 3 wherein the synchronization protocol comprises a bit-stuffing protocol wherein at least one polarity change is inserted in the signal after five successive bits of the same polarity in the received communications from the OBD system.
5. The method of claim 2 wherein the calculated time differences comprise time differences between a plurality of pairs of leading and falling edges and wherein the analyzing comprises comparing the time differences to possible total transmission times of a plurality of possible successive bits of the same polarity.
6. The method of claim 5 wherein each of the time differences is correlated with one or more possible bit rates and wherein the bit rate of the OBD system is determined based on correlating a combination of the time differences with a single possible bit rate.
7. The method of claim 5 wherein each the time differences are correlated with one or more possible bit rates and wherein the bit rate of the OBD system is determined based on correlating a combination of the time differences with a most probable of a plurality of bit rates.
8. The method of claim 2 wherein the calculating of time differences between one or more pairs of leading and falling edges of a signal of the bit stream is iterated until a bit rate of the OBD system is determined or a maximum number of iterations occurs.
9. The method of claim 2 wherein the plurality of possible bit rates comprises one or more of 50 KHz, 100 KHz, 125 KHz, 250 KHz, or 500 KHz.
10. The method of claim 1 wherein analyzing the bit stream of the received communications over an interval of time comprises operating an on-board clock of the vehicle communications device to count clock cycles to estimate the widths of the one or more bit pulses.
11. The method of claim 1 wherein the establishing of bi-directional communications comprises:
communicating from the vehicle communications device through the connector of the vehicle OBD system using the determined bit rate; and
communicating from the remote communications device through the connector of the vehicle tool device using the determined bit rate.
12. A system for on board diagnostic (OBD) vehicle communications, the system comprising:
a vehicle side communications device comprising a first pin-connector adapted for connecting to a vehicle's OBD system and a first network interface configured to perform network communications;
a remote tool side communications device comprising a second pin-connector adapted for connecting to a vehicle tool device and a second network interface configured to perform network communications with the vehicle side communications device;
wherein at least one of the vehicle side communications device or tool side communications device further comprises one or more processors programmed and configured to cause the respective vehicle side or tool side communications device to perform:
receiving communications at the respective vehicle side or tool side communications device from the respective vehicle's OBD system or vehicle tool device through the respective first or second pin-connector;
analyzing a bit stream of the received communications over an interval of time;
estimating widths of one or more bit pulses based on the analyzing of the bit stream;
determining a bit rate of the OBD system based on the estimated widths of the one or more bit pulses;
based on the determined bit rate of the OBD system, establishing bidirectional communications between the OBD system and a vehicle tool device using a network communications link between the vehicle side communications device and the remote tool side communications device.
13. The system of claim 12 wherein analyzing the bit stream comprises calculating time differences between one or more pairs of leading and falling edges of a signal of the bit stream and wherein determining the bit rate comprises selecting one of a plurality of possible bit rates based on the calculated time differences.
14. The system of claim 13 wherein the determining is based on a predetermined synchronization protocol of the OBD system.
15. The system of claim 14 wherein the synchronization protocol comprises a bit-stuffing protocol wherein at least one polarity change is inserted in the signal after five successive bits of the same polarity in the received communications from the OBD system.
16. The system of claim 13 wherein the calculated time differences comprise time differences between a plurality of pairs of leading and falling edges and wherein the analyzing comprises comparing the time differences to possible total transmission times of a plurality of possible successive bits of the same polarity.
17. The system of claim 13 wherein each the time differences is correlated with one or more possible bit rates and wherein the bit rate of the OBD system is determined based on correlating a combination of the time differences with a single possible bit rate.
18. The system of claim 17 wherein each the time differences is correlated with one or more possible bit rates and wherein the bit rate of the OBD system is determined based on correlating a combination of the time differences with a most probable of a plurality of bit rates.
19. The system of claim 13 wherein the calculating of time differences between one or more pairs of leading and falling edges of a signal of the bit stream is iterated until a bit rate of the OBD system is determined or a maximum number of iterations occurs.
20. The system of claim 13 wherein the plurality of possible bit rates comprises one or more of 50 KHz, 100 KHz, 125 KHz, 250 KHz, or 500 KHz.
21. The system of claim 12 wherein the vehicle communications device comprises an on-board clock and wherein analyzing the bit stream of the received communications over an interval of time comprises operating the on-board clock to count clock cycles to estimate the widths of the one or more bit pulses.
22. The system of claim 12 wherein the establishing of bi-directional communications comprises:
communicating from the vehicle communications device through the connector of the vehicle OBD system using the determined bit rate; and
communicating from the remote communications device through the connector of the vehicle tool device using the determined bit rate.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US17/804,783 US20220385747A1 (en) | 2021-06-01 | 2022-05-31 | Remote vehicle communications bitrate determination |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US202163195490P | 2021-06-01 | 2021-06-01 | |
US17/804,783 US20220385747A1 (en) | 2021-06-01 | 2022-05-31 | Remote vehicle communications bitrate determination |
Publications (1)
Publication Number | Publication Date |
---|---|
US20220385747A1 true US20220385747A1 (en) | 2022-12-01 |
Family
ID=84193472
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US18/566,325 Pending US20240267149A1 (en) | 2021-06-01 | 2022-05-31 | Remote vehicle communications bitrate determination |
US17/804,783 Pending US20220385747A1 (en) | 2021-06-01 | 2022-05-31 | Remote vehicle communications bitrate determination |
Family Applications Before (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US18/566,325 Pending US20240267149A1 (en) | 2021-06-01 | 2022-05-31 | Remote vehicle communications bitrate determination |
Country Status (9)
Country | Link |
---|---|
US (2) | US20240267149A1 (en) |
EP (1) | EP4330087A1 (en) |
JP (1) | JP2024522134A (en) |
KR (1) | KR20240006004A (en) |
AU (1) | AU2022284974A1 (en) |
BR (1) | BR112023025203A2 (en) |
CA (1) | CA3221085A1 (en) |
MX (1) | MX2023014339A (en) |
WO (1) | WO2022256794A1 (en) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20240267149A1 (en) * | 2021-06-01 | 2024-08-08 | Repairify, Inc. | Remote vehicle communications bitrate determination |
US12065089B1 (en) * | 2023-02-17 | 2024-08-20 | OBD Solutions LLC | On-board diagnostics (OBD) programming assist devices and methods of assembling and using the same |
Citations (32)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030093187A1 (en) * | 2001-10-01 | 2003-05-15 | Kline & Walker, Llc | PFN/TRAC systemTM FAA upgrades for accountable remote and robotics control to stop the unauthorized use of aircraft and to improve equipment management and public safety in transportation |
US6611755B1 (en) * | 1999-12-19 | 2003-08-26 | Trimble Navigation Ltd. | Vehicle tracking, communication and fleet management system |
US20030167345A1 (en) * | 2002-02-25 | 2003-09-04 | Knight Alexander N. | Communications bridge between a vehicle information network and a remote system |
US6735630B1 (en) * | 1999-10-06 | 2004-05-11 | Sensoria Corporation | Method for collecting data using compact internetworked wireless integrated network sensors (WINS) |
US20040130442A1 (en) * | 1995-06-07 | 2004-07-08 | Breed David S. | Wireless and powerless sensor and interrogator |
US6826607B1 (en) * | 1999-10-06 | 2004-11-30 | Sensoria Corporation | Apparatus for internetworked hybrid wireless integrated network sensors (WINS) |
US6832251B1 (en) * | 1999-10-06 | 2004-12-14 | Sensoria Corporation | Method and apparatus for distributed signal processing among internetworked wireless integrated network sensors (WINS) |
US6859831B1 (en) * | 1999-10-06 | 2005-02-22 | Sensoria Corporation | Method and apparatus for internetworked wireless integrated network sensor (WINS) nodes |
US20050046584A1 (en) * | 1992-05-05 | 2005-03-03 | Breed David S. | Asset system control arrangement and method |
US20050192727A1 (en) * | 1994-05-09 | 2005-09-01 | Automotive Technologies International Inc. | Sensor Assemblies |
US20050273218A1 (en) * | 1995-06-07 | 2005-12-08 | Automotive Technologies International, Inc. | System for obtaining vehicular information |
US20060025897A1 (en) * | 2004-07-30 | 2006-02-02 | Shostak Oleksandr T | Sensor assemblies |
US7020701B1 (en) * | 1999-10-06 | 2006-03-28 | Sensoria Corporation | Method for collecting and processing data using internetworked wireless integrated network sensors (WINS) |
US7103460B1 (en) * | 1994-05-09 | 2006-09-05 | Automotive Technologies International, Inc. | System and method for vehicle diagnostics |
US20060208169A1 (en) * | 1992-05-05 | 2006-09-21 | Breed David S | Vehicular restraint system control system and method using multiple optical imagers |
US20070129878A1 (en) * | 2005-12-07 | 2007-06-07 | Netistix Technologies Corp. | Methods and system for determining consumption and fuel efficiency in vehicles |
US20080064413A1 (en) * | 2002-06-11 | 2008-03-13 | Intelligent Technologies International, Inc. | Monitoring Using Cellular Phones |
US20080161989A1 (en) * | 1995-06-07 | 2008-07-03 | Automotive Technologies International, Inc. | Vehicle Diagnostic or Prognostic Message Transmission Systems and Methods |
US20090276117A1 (en) * | 2006-03-31 | 2009-11-05 | Spx Corporation | Simultaneous Vehicle Protocol Communication Apparatus and Method |
US20100148940A1 (en) * | 1999-10-06 | 2010-06-17 | Gelvin David C | Apparatus for internetworked wireless integrated network sensors (wins) |
US20110174066A1 (en) * | 2010-06-03 | 2011-07-21 | Ford Global Technologies, Llc | Non-Intrusive EGR Monitor For A Hybrid Electric Vehicle |
US20120209470A1 (en) * | 2011-02-15 | 2012-08-16 | Spx Corporation | Diagnostic Tool With Smart Camera |
US20140070943A1 (en) * | 2002-06-11 | 2014-03-13 | Intelligent Technologies International, Inc. | Atmospheric and Chemical Monitoring Techniques |
US20140180531A1 (en) * | 2008-08-14 | 2014-06-26 | Service Solutions U.S. Llc | Docked/undocked vehicle communication interface module |
US9684500B2 (en) * | 2010-12-23 | 2017-06-20 | Repairify, Inc. | Remote vehicle programming system and method |
US20170269599A1 (en) * | 2015-06-05 | 2017-09-21 | Arafat M.A. ANSARI | Smart vehicle |
US20190385057A1 (en) * | 2016-12-07 | 2019-12-19 | Arilou Information Security Technologies Ltd. | System and Method for using Signal Waveform Analysis for Detecting a Change in a Wired Network |
US20200040984A1 (en) * | 2016-12-22 | 2020-02-06 | Eaton Cummins Automated Transmission Technologies Llc | System, method, and apparatus for managing transmission shutdown operations |
US20200168009A1 (en) * | 2018-11-28 | 2020-05-28 | Repairify, Inc. | Remote automotive diagnostics |
US20200294401A1 (en) * | 2017-09-04 | 2020-09-17 | Nng Software Developing And Commercial Llc. | A Method and Apparatus for Collecting and Using Sensor Data from a Vehicle |
US20210266193A1 (en) * | 2020-02-25 | 2021-08-26 | Calamp Corp. | Systems and Methods for Detection of Vehicle Bus Protocol Using Signal Analysis |
US20220383666A1 (en) * | 2021-06-01 | 2022-12-01 | Repairify, Inc. | Remote vehicle communications filtering |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6853853B1 (en) * | 2000-11-15 | 2005-02-08 | Ford Motor Company | Remote control system for operating selected functions of a vehicle |
CA2569106C (en) * | 2004-06-04 | 2013-05-21 | Qualcomm Incorporated | High data rate interface apparatus and method |
US10564954B2 (en) * | 2017-10-11 | 2020-02-18 | Ford Global Technologies, Llc | Hybrid electric vehicle with automated software update system |
KR20190091929A (en) * | 2018-01-30 | 2019-08-07 | 엘에스산전 주식회사 | Method for Automatic Switching Communication Speed of UART |
US20190322317A1 (en) * | 2018-04-18 | 2019-10-24 | GM Global Technology Operations LLC | System and method for automatically determining dimensions of a trailer |
US11334071B2 (en) * | 2018-12-20 | 2022-05-17 | Intel Corporation | Towing methods and apparatuses for computer assisted or autonomous driving |
US11323548B2 (en) * | 2019-01-20 | 2022-05-03 | Arilou Information Security Technologies Ltd. | System and method for data compression based on data position in frames structure |
CA3221085A1 (en) * | 2021-06-01 | 2022-12-08 | Repairify, Inc. | Remote vehicle communications bitrate determination |
-
2022
- 2022-05-31 CA CA3221085A patent/CA3221085A1/en active Pending
- 2022-05-31 US US18/566,325 patent/US20240267149A1/en active Pending
- 2022-05-31 JP JP2023574234A patent/JP2024522134A/en active Pending
- 2022-05-31 AU AU2022284974A patent/AU2022284974A1/en active Pending
- 2022-05-31 US US17/804,783 patent/US20220385747A1/en active Pending
- 2022-05-31 MX MX2023014339A patent/MX2023014339A/en unknown
- 2022-05-31 WO PCT/US2022/072654 patent/WO2022256794A1/en active Application Filing
- 2022-05-31 BR BR112023025203A patent/BR112023025203A2/en not_active Application Discontinuation
- 2022-05-31 KR KR1020237045114A patent/KR20240006004A/en not_active Application Discontinuation
- 2022-05-31 EP EP22817018.9A patent/EP4330087A1/en active Pending
Patent Citations (53)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20050046584A1 (en) * | 1992-05-05 | 2005-03-03 | Breed David S. | Asset system control arrangement and method |
US7663502B2 (en) * | 1992-05-05 | 2010-02-16 | Intelligent Technologies International, Inc. | Asset system control arrangement and method |
US20060208169A1 (en) * | 1992-05-05 | 2006-09-21 | Breed David S | Vehicular restraint system control system and method using multiple optical imagers |
US20050192727A1 (en) * | 1994-05-09 | 2005-09-01 | Automotive Technologies International Inc. | Sensor Assemblies |
US7103460B1 (en) * | 1994-05-09 | 2006-09-05 | Automotive Technologies International, Inc. | System and method for vehicle diagnostics |
US20080161989A1 (en) * | 1995-06-07 | 2008-07-03 | Automotive Technologies International, Inc. | Vehicle Diagnostic or Prognostic Message Transmission Systems and Methods |
US20040130442A1 (en) * | 1995-06-07 | 2004-07-08 | Breed David S. | Wireless and powerless sensor and interrogator |
US6988026B2 (en) * | 1995-06-07 | 2006-01-17 | Automotive Technologies International Inc. | Wireless and powerless sensor and interrogator |
US20050273218A1 (en) * | 1995-06-07 | 2005-12-08 | Automotive Technologies International, Inc. | System for obtaining vehicular information |
US6826607B1 (en) * | 1999-10-06 | 2004-11-30 | Sensoria Corporation | Apparatus for internetworked hybrid wireless integrated network sensors (WINS) |
US6832251B1 (en) * | 1999-10-06 | 2004-12-14 | Sensoria Corporation | Method and apparatus for distributed signal processing among internetworked wireless integrated network sensors (WINS) |
US6859831B1 (en) * | 1999-10-06 | 2005-02-22 | Sensoria Corporation | Method and apparatus for internetworked wireless integrated network sensor (WINS) nodes |
US6735630B1 (en) * | 1999-10-06 | 2004-05-11 | Sensoria Corporation | Method for collecting data using compact internetworked wireless integrated network sensors (WINS) |
US20100148940A1 (en) * | 1999-10-06 | 2010-06-17 | Gelvin David C | Apparatus for internetworked wireless integrated network sensors (wins) |
US7020701B1 (en) * | 1999-10-06 | 2006-03-28 | Sensoria Corporation | Method for collecting and processing data using internetworked wireless integrated network sensors (WINS) |
US20090088924A1 (en) * | 1999-12-19 | 2009-04-02 | Coffee John R | Vehicle tracking, communication and fleet management system |
US20040039504A1 (en) * | 1999-12-19 | 2004-02-26 | Fleet Management Services, Inc. | Vehicle tracking, communication and fleet management system |
US6611755B1 (en) * | 1999-12-19 | 2003-08-26 | Trimble Navigation Ltd. | Vehicle tracking, communication and fleet management system |
US20060142913A1 (en) * | 1999-12-19 | 2006-06-29 | Coffee John R | Vehicle tracking, communication and fleet management system |
US7489993B2 (en) * | 1999-12-19 | 2009-02-10 | Trimble Navigation Limited | Vehicle tracking, communication and fleet management system |
US6892131B2 (en) * | 1999-12-19 | 2005-05-10 | Trimble Navigation Limited | Vehicle tracking, communication and fleet management system |
US20030093187A1 (en) * | 2001-10-01 | 2003-05-15 | Kline & Walker, Llc | PFN/TRAC systemTM FAA upgrades for accountable remote and robotics control to stop the unauthorized use of aircraft and to improve equipment management and public safety in transportation |
US20050187677A1 (en) * | 2001-10-01 | 2005-08-25 | Kline & Walker, Llc | PFN/TRAC systemTM FAA upgrades for accountable remote and robotics control to stop the unauthorized use of aircraft and to improve equipment management and public safety in transportation |
US6965816B2 (en) * | 2001-10-01 | 2005-11-15 | Kline & Walker, Llc | PFN/TRAC system FAA upgrades for accountable remote and robotics control to stop the unauthorized use of aircraft and to improve equipment management and public safety in transportation |
US20030167345A1 (en) * | 2002-02-25 | 2003-09-04 | Knight Alexander N. | Communications bridge between a vehicle information network and a remote system |
US20080064413A1 (en) * | 2002-06-11 | 2008-03-13 | Intelligent Technologies International, Inc. | Monitoring Using Cellular Phones |
US8014789B2 (en) * | 2002-06-11 | 2011-09-06 | Intelligent Technologies International, Inc. | Monitoring using cellular phones |
US20140070943A1 (en) * | 2002-06-11 | 2014-03-13 | Intelligent Technologies International, Inc. | Atmospheric and Chemical Monitoring Techniques |
US20060025897A1 (en) * | 2004-07-30 | 2006-02-02 | Shostak Oleksandr T | Sensor assemblies |
US20070129878A1 (en) * | 2005-12-07 | 2007-06-07 | Netistix Technologies Corp. | Methods and system for determining consumption and fuel efficiency in vehicles |
US20090276117A1 (en) * | 2006-03-31 | 2009-11-05 | Spx Corporation | Simultaneous Vehicle Protocol Communication Apparatus and Method |
US20140180531A1 (en) * | 2008-08-14 | 2014-06-26 | Service Solutions U.S. Llc | Docked/undocked vehicle communication interface module |
US9002572B2 (en) * | 2008-08-14 | 2015-04-07 | Bosch Automotive Service Solutions Inc. | Docked/undocked vehicle communication interface module |
US20110174066A1 (en) * | 2010-06-03 | 2011-07-21 | Ford Global Technologies, Llc | Non-Intrusive EGR Monitor For A Hybrid Electric Vehicle |
US10528334B2 (en) * | 2010-12-23 | 2020-01-07 | Repairify, Inc. | Remote vehicle programming system and method |
US9684500B2 (en) * | 2010-12-23 | 2017-06-20 | Repairify, Inc. | Remote vehicle programming system and method |
US20170277527A1 (en) * | 2010-12-23 | 2017-09-28 | Repairify, Inc. | Remote vehicle programming system and method |
US8989950B2 (en) * | 2011-02-15 | 2015-03-24 | Bosch Automotive Service Solutions Llc | Diagnostic tool with smart camera |
US20150149028A1 (en) * | 2011-02-15 | 2015-05-28 | Bosch Automotive Service Solutions Inc. | Diagnostic Tool with Smart Camera |
US20120209470A1 (en) * | 2011-02-15 | 2012-08-16 | Spx Corporation | Diagnostic Tool With Smart Camera |
US9361738B2 (en) * | 2011-02-15 | 2016-06-07 | Robert Bosch Gmbh | Diagnostic tool with smart camera |
US20170269599A1 (en) * | 2015-06-05 | 2017-09-21 | Arafat M.A. ANSARI | Smart vehicle |
US20190385057A1 (en) * | 2016-12-07 | 2019-12-19 | Arilou Information Security Technologies Ltd. | System and Method for using Signal Waveform Analysis for Detecting a Change in a Wired Network |
US20200040984A1 (en) * | 2016-12-22 | 2020-02-06 | Eaton Cummins Automated Transmission Technologies Llc | System, method, and apparatus for managing transmission shutdown operations |
US20200294401A1 (en) * | 2017-09-04 | 2020-09-17 | Nng Software Developing And Commercial Llc. | A Method and Apparatus for Collecting and Using Sensor Data from a Vehicle |
US20200168009A1 (en) * | 2018-11-28 | 2020-05-28 | Repairify, Inc. | Remote automotive diagnostics |
US11062534B2 (en) * | 2018-11-28 | 2021-07-13 | Repairify, Inc. | Remote automotive diagnostics |
US20210319634A1 (en) * | 2018-11-28 | 2021-10-14 | Repairify, Inc. | Remote automotive diagnostics |
US11823503B2 (en) * | 2018-11-28 | 2023-11-21 | Repairify, Inc. | Remote automotive diagnostics |
US20210266193A1 (en) * | 2020-02-25 | 2021-08-26 | Calamp Corp. | Systems and Methods for Detection of Vehicle Bus Protocol Using Signal Analysis |
US11539550B2 (en) * | 2020-02-25 | 2022-12-27 | Calamp Corp. | Systems and methods for detection of vehicle bus protocol using signal analysis |
US20220383666A1 (en) * | 2021-06-01 | 2022-12-01 | Repairify, Inc. | Remote vehicle communications filtering |
US20240135758A1 (en) * | 2021-06-01 | 2024-04-25 | Reparify, Inc. | Remote vehicle communications filtering |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20240267149A1 (en) * | 2021-06-01 | 2024-08-08 | Repairify, Inc. | Remote vehicle communications bitrate determination |
US12065089B1 (en) * | 2023-02-17 | 2024-08-20 | OBD Solutions LLC | On-board diagnostics (OBD) programming assist devices and methods of assembling and using the same |
Also Published As
Publication number | Publication date |
---|---|
KR20240006004A (en) | 2024-01-12 |
EP4330087A1 (en) | 2024-03-06 |
BR112023025203A2 (en) | 2024-02-27 |
US20240267149A1 (en) | 2024-08-08 |
CA3221085A1 (en) | 2022-12-08 |
AU2022284974A1 (en) | 2023-12-21 |
WO2022256794A1 (en) | 2022-12-08 |
JP2024522134A (en) | 2024-06-11 |
MX2023014339A (en) | 2024-02-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20220385747A1 (en) | Remote vehicle communications bitrate determination | |
US9082242B2 (en) | Vehicle network health assessment | |
CN107848522B (en) | System and method for transmitting diagnostic commands to a vehicle | |
CN102904701B (en) | For the system and method for the packet error rate in Determinate test electronic equipment | |
US8213321B2 (en) | Controller area network condition monitoring and bus health on in-vehicle communications networks | |
EP1347356A2 (en) | Instrument timing using synchronized clocks | |
WO2005081728A2 (en) | Simultaneous physical and protocol layer analysis | |
CN102288840A (en) | Method for decomposing and analyzing jitter using spectral analysis and time domain probability density | |
CN113114659B (en) | Diagnostic equipment detection method and device, terminal equipment and storage medium | |
US20050257104A1 (en) | Method and apparatus for bit error rate test | |
US10613963B2 (en) | Intelligent packet analyzer circuits, systems, and methods | |
KR20130009086A (en) | Advanced watchdog apparatus and method thereof | |
AU2022283984A1 (en) | Remote vehicle communications filtering | |
CN102393732A (en) | Vehicle fault diagnosis method | |
CN109714113B (en) | CAN bus interference injection circuit | |
US6918099B2 (en) | Method and system for entropy driven verification | |
CN102737001B (en) | A kind of method and device adjusting FPGA bus time delay | |
DE19962723A1 (en) | Method and device for detecting handshaking protocol errors on an asynchronous data bus | |
DE10131317A1 (en) | Control unit for road vehicle controllers has test mode activated by connection to remote unit | |
Uhlin | CAN signal quality analysis and development of the signal processing on a FPGA | |
JP3750617B2 (en) | Electronic control device for internal combustion engine | |
DE102007054810A1 (en) | Method for detecting different communication protocols in a control device | |
CN105897516A (en) | Method for verifying schedulability of network application layer protocol, monitoring system and monitoring method | |
EP4187395A1 (en) | Method and device for emulating transmission protocols for controlling electronic components on a bus system | |
CN117805529A (en) | Test system and test method for satellite-borne integrated electronic subsystem |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
STPP | Information on status: patent application and granting procedure in general |
Free format text: DOCKETED NEW CASE - READY FOR EXAMINATION |
|
STPP | Information on status: patent application and granting procedure in general |
Free format text: NON FINAL ACTION MAILED |