Method and device for detecting driving height sensor differences

By comparing and analyzing the output of the vehicle driving height sensor, using vehicle speed and wheelbase information to identify and diagnose poorly performed sensors, the problem of inaccurate output of driving height sensors in the prior art is solved, and maintenance efficiency and accuracy are improved.

CN119526962APending Publication Date: 2025-02-28FORD GLOBAL TECH LLC
View PDF 1 Cites 0 Cited by

Patent Information

Application Number
CN202411160828.3
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Priority Date
2023-08-31
Filing Date
2024-08-22
Publication Date
2025-02-28

AI Technical Summary

Technical Problem

The inaccurate output or poor performance of the driving height sensor in existing vehicles leads to poor performance of the active suspension system, affects the driving experience, and is difficult to accurately diagnose and repair.

Method used

By comparing the vehicle's driving height sensor outputs, comparing the cross-axle sensor outputs in real time, determining the time delay using vehicle speed and wheelbase, and recording a difference counter, generating diagnostic codes and alarms to identify and diagnose poorly performed driving height sensors.

Benefits of technology

It improves the ability to identify and diagnose the differences in driving height sensors, reduces unnecessary replacement and repairs, and improves the maintenance efficiency and accuracy of technicians.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119526962A_ABST
    Figure CN119526962A_ABST
Patent Text Reader

Abstract

The invention discloses a method and an apparatus for recognizing a driving height sensor difference. An example apparatus disclosed herein includes machine readable instructions and programmable circuitry, the programmable circuit is to at least one of instantiate or execute machine readable instructions to: compare a first sensor output of a first height of travel sensor of the vehicle to a second sensor output of a second height of travel sensor of the vehicle; incrementing a difference counter based on a comparison of the first sensor output and the second sensor output; and generating an indication to service at least one of the first or second ride height sensor after the difference counter satisfies the threshold.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present disclosure relates generally to vehicle sensors and, more particularly, to methods and apparatus for identifying ride height sensor discrepancies. Background Art

[0002] Vehicle suspension systems typically include resilient elements such as springs, shock absorbers, and other mechanical elements. Vehicle suspension elements connect the body and frame of the vehicle to the wheels of the vehicle. The stiffness of the resilient elements of the suspension system affects the handling and performance of the vehicle. Some vehicles include active suspension systems that use control elements to control the stiffness, position, and / or force applied to the suspension elements. Summary of the invention

[0003] Many vehicles include ride height sensors (e.g., suspension position sensors, suspension displacement sensors, wheel displacement sensors, etc.) that output ride height information that can be utilized by various vehicle systems. The ride height sensors are typically coupled to and / or adjacent to suspension elements associated with one or more of the vehicle's wheels. For example, the output of a vehicle's ride height sensor may be used by a vehicle leveling control system, an electronic shock absorber control system / active suspension system, a semi-active suspension system, and / or a headlamp leveling system. An example system for using ride height information to determine the weight of a vehicle is disclosed in U.S. Patent No. 11,008,014, which is incorporated herein by reference in its entirety. If one or more of the ride height sensors provide inaccurate outputs and / or otherwise perform poorly, the operation of such vehicle systems may be adversely affected.

[0004] For example, inaccurate ride height sensor outputs may cause the active suspension system to behave in a way that negatively affects the driving experience of the vehicle. Additionally, the poor driving experience may prompt the driver to take their vehicle to a technician for repair. It may be difficult for the technician to diagnose a poorly performing ride height sensor based on the unexpected behavior of other vehicle systems.

[0005] Poor performance of a ride height sensor may be caused by changes in the sensor's internal electronics, mechanical components of the sensor, a loose attachment of the sensor to the vehicle, and / or one or more broken links to the vehicle. While some of these issues or discrepancies can be resolved by reseating / reconnecting the ride height sensor rather than replacing the ride height sensor, many technicians may have difficulty distinguishing between a discrepancy that can be resolved by reseating the ride height sensor and a discrepancy that requires replacement of the ride height sensor. As a result, technicians often replace an otherwise functioning ride height sensor that could be repaired by reseating it.

[0006] Examples disclosed herein overcome the above-mentioned deficiencies for detecting ride height sensor differences by comparing the outputs of ride height sensors of the vehicles. In some examples disclosed herein, the outputs of the ride height sensors of the vehicles can be compared while the vehicles are moving at a constant speed. In some examples disclosed herein, the outputs of the cross-axle ride height sensors can be compared in real time to identify differences. In some examples disclosed herein, the outputs of the ride height sensors of the rear wheels can be compared with the time-delayed outputs of the ride height sensors of the longitudinally aligned front wheels. In some examples, the time delay can be determined based on the speed of the vehicle and the wheelbase of the vehicle. In some examples disclosed herein, after a first threshold number of differences are recorded, a diagnostic code can be generated and stored on an electronic control unit of the vehicle. In some examples disclosed herein, after a second threshold number of differences are recorded, an alert can be generated indicating that the ride height sensor should be repaired. In some examples disclosed herein, a poorly performing ride height sensor can be identified based on identifying a common ride height sensor in the following items: (1) a group of cross-axle ride height sensors with repeated differences and (2) a group of longitudinally aligned ride height sensors with repeated differences. The examples disclosed herein increase the likelihood and speed with which a technician can diagnose and repair the ride height sensor that causes the difference. BRIEF DESCRIPTION OF THE DRAWINGS

[0007] Figure 1A is a perspective view of a vehicle in which examples disclosed herein may be implemented.

[0008] Figure 1B yes Figure 1A Schematic diagram of a vehicle including an example sensor evaluation circuit.

[0009] Figure 2 yes Figure 1B Block diagram of the sensor evaluation circuit.

[0010] Figure 3 and Figure 4 is a flowchart representing example machine-readable instructions and / or example operations that may be executed, instantiated, and / or performed by example programmable circuits to implement Figure 2 Sensor evaluation circuit.

[0011] Figure 5 is a block diagram of an example processing platform including programmable circuitry structured to execute, instantiate and / or perform example machine-readable instructions and / or perform Figure 3 and Figure 4 Example operations to implement Figure 2 Sensor evaluation circuit.

[0012] Figure 6 yes Figure 5 A block diagram of an example implementation of a programmable circuit.

[0013] Figure 7 yes Figure 5 A block diagram of another example implementation of a programmable circuit.

[0014] In general, throughout the drawings and the accompanying written description, the same reference numerals will be used to refer to the same or similar parts. The drawings are not necessarily drawn to scale. Instead, the thickness of a layer or region may be exaggerated in the drawings. Although the drawings show layers and regions with simple lines and boundaries, some or all of these lines and / or boundaries may be idealized. In practice, boundaries and / or lines may be unobservable, mixed and / or irregular. DETAILED DESCRIPTION

[0015] As used herein, unless otherwise specified, the term "above" describes the relationship of two parts relative to the earth. A first part is above a second part if the second part has at least a portion between the earth and the first part. Likewise, as used herein, a first part is "below" a second part when the first part is closer to the earth than the second part. As described above, a first part may be above or below a second part in one or more of the following forms: there are other parts between them, there are no other parts between them, the first part and the second part touch, or the first part and the second part are not in direct contact with each other.

[0016] As used in this patent, the statement that any part (e.g., a layer, film, region, area, or plate) is in any way located on another part (e.g., positioned on, located on, disposed on, or formed on, etc.) indicates that the referenced part is in contact with the other part, or the referenced part is above the other part with one or more intermediate parts located therebetween.

[0017] As used herein, unless otherwise indicated, connection references (e.g., attachment, coupling, connection, and coupling) may include intermediate members between the elements referenced by the connection reference and / or relative movement between these elements. Thus, a connection reference does not necessarily infer that two elements are directly connected and / or are in a fixed relationship to each other. As used herein, stating that any part is "in contact with" another part is defined to mean that there is no intermediate part between the two parts.

[0018] Unless otherwise specifically stated, descriptors such as "first," "second," "third," etc., used herein do not in any way impose or otherwise indicate any meaning of priority, physical order, arrangement in a list, and / or ordering, but are merely used as labels and / or arbitrary names to distinguish elements to facilitate understanding of the disclosed examples. In some examples, the descriptor "first" may be used to refer to an element in the detailed description, while a different descriptor such as "second" or "third" may be used in the claims to refer to the same element. In such instances, it should be understood that such descriptors are only used to clearly identify these elements in the context of the discussion (e.g., within the claims), where the elements, for example, may otherwise share the same name.

[0019] As used herein, "approximately" and "about" modify their subject matter / values ​​to recognize the potential for variations that occur in real-world applications. For example, "approximately" and "about" may modify dimensions that may not be exact due to manufacturing tolerances and / or other real-world imperfections, as will be understood by one of ordinary skill in the art. For example, unless otherwise stated in the following description, "approximately" and "about" may indicate that such dimensions may be within a tolerance range of + / - 10%.

[0020] As used herein, "substantially real time" refers to occurring in a nearly instantaneous manner, recognizing that there may be real-world delays for computation time, transmissions, etc. Thus, unless otherwise specified, "substantially real time" refers to real time + / - 1 second.

[0021] As used herein, the phrase "communicate" (including variations thereof) encompasses direct communication and / or indirect communication through one or more intermediate components, and does not require direct physical (e.g., wired) communication and / or continuous communication, but also includes selective communication at periodic intervals, scheduled intervals, non-periodic intervals and / or one-time events.

[0022] As used herein, "programmable circuit" is defined to include: (i) one or more special purpose circuits (e.g., application specific circuits (ASICs)) that are structured to perform specific operations and include one or more semiconductor-based logic devices (e.g., electrical hardware implemented by one or more transistors); and / or (ii) one or more general-purpose semiconductor-based circuits that can be programmed with instructions to perform specific functions and / or operations and include one or more semiconductor-based logic devices (e.g., electrical hardware implemented by one or more transistors). Examples of programmable circuits include programmable microprocessors, such as a central processor unit (CPU) that can execute a first instruction to perform one or more operations and / or functions, a field programmable gate array (FPGA) (which can be programmed with a second instruction to cause the configuration and / or structuring of the FPGA to instantiate one or more operations and / or functions corresponding to the first instruction), a graphics processor unit (GPU) that can execute a first instruction to perform one or more operations and / or functions, a digital signal processor (DSP) that can execute a first instruction to perform one or more operations and / or functions, an XPU, a network processing unit (NPU), one or more microcontrollers that can execute a first instruction to perform one or more operations and / or functions, and / or integrated circuits such as application specific integrated circuits (ASICs). For example, an XPU can be implemented by a heterogeneous computing system that includes multiple types of programmable circuits (e.g., one or more FPGAs, one or more CPUs, one or more GPUs, one or more NPUs, one or more DSPs, etc. and / or any combination thereof) and orchestration technology (e.g., an application programming interface (API)), which can assign computing tasks to one or more types of programmable circuits of multiple types that are suitable and available to perform computing tasks.

[0023] As used herein, an integrated circuit is defined as one or more semiconductor packages containing one or more circuit elements, such as transistors, capacitors, inductors, resistors, current paths, diodes, etc. For example, an integrated circuit may be implemented as one or more of an ASIC, an FPGA, a chip, a microchip, a programmable circuit, a semiconductor substrate coupling multiple circuit elements, a system on a chip (SoC), etc.

[0024] As used herein, the orientation of a feature is described with reference to the transverse axis, vertical axis, and longitudinal axis of the vehicle associated with the feature. As used herein, the longitudinal axis of the vehicle is parallel to the centerline of the vehicle. The terms "rear" and "front" are used to refer to the direction closer to the rear of the vehicle and the front of the vehicle along the longitudinal axis, respectively. As used herein, the vertical axis of the vehicle is perpendicular to the ground on which the vehicle is located. The terms "below" and "above" are used to refer to the direction closer to the ground and away from the ground along the vertical axis, respectively. As used herein, the lateral axis of the vehicle is perpendicular to the longitudinal axis and the vertical axis, and is generally parallel to the axle of the vehicle. As used herein, the terms "longitudinal" and "axial" are used interchangeably to refer to the direction parallel to the longitudinal axis. As used herein, the terms "lateral" and "horizontal" are used to refer to the direction parallel to the transverse axis. As used herein, the terms "vertical" and "normal" are used interchangeably to refer to the direction parallel to the vertical axis.

[0025] Figure 1A is a perspective view of an example vehicle 100 in which the examples disclosed herein may be implemented. Figure 1A In the illustrated example of FIG. 1 , the vehicle 100 includes an example sensor evaluation circuit 102, an example suspension system 103, an example first wheel 104A, an example second wheel 104B, an example third wheel 104C, and an example fourth wheel 104D. Figure 1A In the illustrated example of , the vehicle 100 includes an example user interface 106 , an example vehicle speed sensor 108 , and other example vehicle sensors 110 .

[0026] Vehicle 100 is a motorized wheel drive vehicle. Figure 1A In the illustrated example of FIG. 1 , vehicle 100 is a pickup truck. In other examples, vehicle 100 may be any type of wheeled vehicle (e.g., a sedan, coupe, van, pickup truck, sport utility vehicle, all-terrain vehicle (ATV), agricultural equipment, etc.). In some examples, vehicle 100 includes an internal combustion engine (e.g., a non-electrified vehicle, a partially electrified vehicle, etc.). In other examples, vehicle 100 may be implemented as a pure electric vehicle. Although in Figure 1A In the illustrated example of , vehicle 100 has two axles and four wheels (eg, wheels 104A, 104B, 104C, 104D, etc.), but in other examples, vehicle 100 may have any number of axles and wheels.

[0027] The vehicle 100 includes an example suspension system 103. The suspension system 103 may include an independent suspension (e.g., wishbone suspension, etc.), a solid axle suspension (e.g., leaf spring suspension, etc.), or a combination thereof (e.g., front axle independent suspension, rear axle independent suspension, etc.). The suspension system 103 includes suspension elements associated with corresponding wheels of the wheels 104A, 104B, 104C, 104D, which will be described below in conjunction with the suspension system 103. Figure 1B Give a description.

[0028] The user interface 106 enables a user of the vehicle 100 to receive information from and input information to the sensor evaluation circuit 102 and other systems of the vehicle 100. For example, the user interface 106 may be implemented by a display of the vehicle 100. Additionally or alternatively, the user interface 106 may include one or more dashboard indicators, one or more buttons on a dashboard or steering wheel, one or more speakers, one or more microphones, etc. In some examples, the user interface 106 may be implemented by a mobile device of the user (e.g., a mobile phone, a smart watch, a tablet computer, etc.).

[0029] The vehicle speed sensor 108 measures the speed of the vehicle 100. For example, the vehicle speed sensor 108 may be implemented by a global positioning system (GPS) associated with the vehicle 100 (e.g., an integrated GPS, a GPS associated with an operator's mobile device, a stand-alone GPS device, etc.). Additionally or alternatively, the vehicle speed sensor 108 may be implemented by a speedometer of the vehicle 100, a tachometer of the vehicle 100, and / or any other suitable sensor associated with the vehicle 100. Other sensors 110 measure other parameters associated with the vehicle 100. In some examples, the other sensors 110 may include sensors that measure acceleration and / or deceleration of the vehicle 100 (e.g., accelerometers, etc.), brake torque sensors, motor torque sensors, engine torque sensors, and / or any other sensors associated with the vehicle 100. Additionally or alternatively, the other sensors 110 may include any other suitable sensors.

[0030] The sensor evaluation circuit 102 accesses the outputs of the sensors of the vehicle 100 and can identify differences therebetween. For example, the sensor evaluation circuit 102 can access the outputs of the ride height sensors and / or sensors 108, 110 associated with one or more of the wheels 104A, 104B, 104C, 104D. Example implementations of the sensor evaluation circuit 102 and the ride height sensors are described below in conjunction with Figure 1B and Figure 2In some examples, the sensor evaluation circuit 102 can be implemented by a vehicle electronic control unit (ECU) and / or any other suitable computer associated with the vehicle 100. In other examples, the sensor evaluation circuit 102 can be associated with any other suitable computing device (e.g., a mobile device associated with a user of the vehicle 100, etc.) and / or a combination of computing devices (e.g., partially via a computer associated with the vehicle 100, partially via another computer, etc.).

[0031] Figure 1B yes Figure 1A A schematic diagram of a vehicle 100 is shown. Figure 1B In the illustrated example, vehicle 100 includes Figure 1A Sensor evaluation circuit 102, wheels 104A, 104B, 104C, 104D and sensors 108, 110. Figure 1B In the illustrated example of FIG. 1 , the vehicle 100 includes an example first suspension element 112A, an example second suspension element 112B, an example third suspension element 112C, and an example fourth suspension element 112D associated with wheels 104A, 104B, 104C, 104D, respectively. Figure 1B In the illustrated example of , the suspension elements 112A, 112B, 112C, 112D include an example first ride height sensor 114A, an example second ride height sensor 114B, an example third ride height sensor 114C, and an example fourth ride height sensor 114D, respectively. Figure 1B In the illustrated example of , the sensor evaluation circuit 102 is communicatively coupled to the example memory 116. Figure 1B In the illustrated example, vehicle 100 has an example wheelbase 118 .

[0032] The suspension elements 112A, 112B, 112C, 112D are damping and spring elements of the suspension system 103 that are associated with corresponding wheels of the wheels 104A, 104B, 104C, 104D. For example, each of the suspension elements 112A, 112B, 112C, 112D includes an elastic element (e.g., a leaf spring, a torsion bar, a coil spring, a bushing, an air spring, an oil strut, an oil-gas spring, etc.) and a damping element (e.g., a twin-tube shock absorber, a monotube shock absorber, a spool valve, etc.). In some such examples, one or more properties associated with each of the suspension elements 112A, 112B, 112C, 112D (e.g., a viscous damping coefficient, a stiffness, etc.) can be individually controlled based on the output of the ride height sensors 114A, 114B, 114C, 114D.

[0033] Ride height sensors 114A, 114B, 114C, 114D measure the ride height of adjacent wheels 104A, 104B, 104C, 104D, respectively, of vehicle 100 and / or measure the displacement of suspension elements 112A, 112B, 112C, 112D, respectively. Figure 1B In the illustrated example, ride height sensors 114A, 114B, 114C, 114D are associated with wheels 104A, 104B, 104C, 104D, respectively. As used herein, the term "across-axle" refers to multiple sets of ride height sensors associated with wheels and / or suspension elements associated with a common axle. For example, (1) first ride height sensor 114A and second ride height sensor 114B are a set of across-axle ride height sensors, and (2) third ride height sensor 114C and fourth ride height sensor 114D are a set of across-axle ride height sensors. As used herein, the term "longitudinally aligned" refers to multiple sets of ride height sensors associated with wheels and / or suspension elements on the same lateral side of vehicle 100 (e.g., driver's side, passenger side, etc.). For example, (1) the first ride height sensor 114A and the third ride height sensor 114C are a set of longitudinally aligned ride height sensors, and (2) the second ride height sensor 114B and the fourth ride height sensor 114D are a set of longitudinally aligned ride height sensors. Figure 1B In the illustrated example of , the vehicle 100 includes four ride height sensors 114A, 114B, 114C, 114D. In other examples, the vehicle 100 may include a different number of ride height sensors (eg, more than four sensors, less than four sensors, etc.).

[0034] In some examples, ride height sensors 114A, 114B, 114C, 114D may be mechanical displacement sensors (e.g., linear ride height sensors, rotary ride height sensors, etc.), optical ride height sensors, and / or combinations thereof. For example, if one or more of ride height sensors 114A, 114B, 114C, 114D are rotary ride height sensors, some or all of ride height sensors 114A, 114B, 114C, 114D may include a sensor body coupled to the body and / or frame of vehicle 100 and an arm extending between the sensor body (e.g., via a ball stud link, etc.) of a non-rotating portion of a corresponding one of wheels 104A, 104B, 104C, 104D. In some such examples, during operation, deflection of the suspension elements 112A, 112B, 112C, 112D causes the arms of the ride height sensors 114A, 114B, 114C, 114D to rotate and output signals based on the magnitude of the rotation, which may be related to the displacement of the suspension elements 112A, 112B, 112C, 112D.

[0035] Example operational issues associated with such rotary mechanical sensors include a loose connection between the arm and the wheel (e.g., one of wheels 104A, 104B, 104C, 104D, etc.), and a loose mounting of the sensor body to the vehicle 100. In some cases, a ride height sensor that exhibits a discrepancy does not need to be replaced, and can be repaired by relocating, reinstalling, and / or reconnecting the affected component. In other examples, the ride height sensors 114A, 114B, 114C, 114D can be any other suitable type of sensor (e.g., a magnetoelastic sensor, a load cell, a strain gauge, an accelerometer, etc.).

[0036] Wheelbase 118 is the longitudinal distance between the center of the front wheels (e.g., wheels 104A, 104C, etc.) of vehicle 100 and the center of the rear wheels (e.g., wheels 104B, 104D, etc.) of vehicle 100. In some examples, sensor evaluation circuit 102 can use wheelbase 118 of vehicle 100 and the output of vehicle speed sensor 108 to determine the time delay between when the front wheels of vehicle 100 encounter a terrain feature and when the rear wheels of vehicle 100 encounter the terrain feature. As used herein, a terrain feature is any feature of a driving surface that causes a change in the output of a ride height sensor. Example terrain features include potholes, speed bumps, ramps, parking rumble strips, curbs, and other obstacles / debris on the driving surface of vehicle 100. In some examples, wheelbase 118 can be measured during manufacture and / or calibration of vehicle 100 and stored in memory 116. Additionally or alternatively, wheelbase 118 can be determined based on the make and model of vehicle 100 and stored in memory 116.

[0037] The sensor evaluation circuitry 102 may identify differences in the output of one or more of the ride height sensors 114A, 114B, 114C, 114D. For example, the sensor evaluation circuitry 102 may compare the output of a cross-axle sensor in the ride height sensors 114A, 114B, 114C, 114D (e.g., ride height sensors 114A, 114B associated with a front axle of the vehicle 100, ride height sensors 114C, 114D associated with a rear axle of the vehicle 100, etc.) and / or the output of a longitudinally aligned ride height sensor in the ride height sensors 114A, 114B, 114C, 114D (e.g., ride height sensors 114A, 114C associated with a driver's side of the vehicle 100, ride height sensors 114B, 114D associated with a passenger's side of the vehicle 100, etc.). In some examples, sensor evaluation circuitry 102 may determine whether vehicle 100 is in a condition to evaluate ride height sensors 114A, 114B, 114C, 114D. For example, sensor evaluation circuitry 102 may determine whether vehicle 100 is moving at a constant speed (e.g., not accelerating, not decelerating, etc.). In some examples, if sensor evaluation circuitry 102 determines that there is a difference between the output of a ride height sensor (e.g., one of ride height sensors 114A, 114B, 114C, 114D, etc.) and the output of a cross-axle ride height sensor and an output of a longitudinally aligned ride height sensor, sensor evaluation circuitry 102 may identify the ride height sensor that caused the detected difference.

[0038] The memory 116 is a memory associated with the vehicle 100 and / or its user. In some examples, the memory 116 may be associated with an ECU of the vehicle 100 and / or a user device of a user of the vehicle 100. In some examples, the memory 116 may store one or more difference counters associated with differences between the ride height sensors 114A, 114B, 114C, 114D identified by the sensor evaluation circuit 102. For example, the sensor evaluation circuit 102 may increase the value of the difference counter stored in the memory 116 (e.g., increment, etc.) after identifying a difference in the outputs of the ride height sensors 114A, 114B, 114C, 114D. In some such examples, the memory 116 may increase the difference counters associated with different combinations of the ride height sensors 114A, 114B, 114C, 114D (e.g., a first difference counter associated with the first ride height sensor 114A and the second ride height sensor 114B, a second difference counter associated with the first ride height sensor 114A and the third ride height sensor 114C, etc.). In other examples, memory 116 can include any suitable number of difference counters (eg, one difference counter, etc.) In some examples, the difference counter can be reset (eg, set to zero, etc.) after a technician serviced vehicle 100 and / or in response to a user command.

[0039] In some examples, memory 116 may include one or more difference thresholds used by sensor evaluation circuitry 102. In some examples, the difference thresholds may be quantity-based thresholds (e.g., thresholds associated with a quantity of difference counters, etc.) and / or frequency-based thresholds (e.g., thresholds associated with a difference frequency, etc.). In some examples, the difference thresholds stored in memory 116 may be based on the make and model of vehicle 100, the resolution of ride height sensors 114A, 114B, 114C, 114D, the type of ride height sensors 114A, 114B, 114C, 114D, the age of vehicle 100, the age of ride height sensors 114A, 114B, 114C, 114D, user settings, manufacturer settings, other thresholds in the thresholds, and / or combinations thereof. In some examples, if sensor evaluation circuit 102 determines that one or more of the difference counters stored in memory 116 does not satisfy one or more of the corresponding thresholds (e.g., exceeds, etc.), sensor evaluation circuit 102 may generate an alert to a user of vehicle 100 and / or set an on-board diagnostic code to assist in maintenance of vehicle 100.

[0040] Figure 2 is a block diagram of an example implementation of the sensor evaluation circuit 102 of FIG. 1 for identifying differences in the outputs of the ride height sensors 114A, 114B, 114C, 114D. Figure 2 In the illustrated example, the sensor evaluation circuit 102 includes an example sensor interface circuit 202, an example vehicle condition determiner circuit 204, an example sensor data recorder circuit 206, an example sensor output comparator circuit 208, an example delay determiner circuit 210, an example difference recorder circuit 212, an example threshold comparator circuit 214, an example system interface circuit 216, an example user interface circuit 218, and a sensor identifier circuit 220. Figure 2 The sensor evaluation circuit 102 may be instantiated (e.g., created as an instance, formed for any length of time, embodied, implemented, etc.) by a programmable circuit, such as a central processing unit (CPU) executing a first instruction. Additionally or alternatively, Figure 2 The sensor evaluation circuit 102 may be instantiated (e.g., created as an instance, formed for any length of time, embodied, implemented, etc.) by: (i) an application specific integrated circuit (ASIC) and / or (ii) a field programmable gate array (FPGA), the FPGA being structured and / or configured to perform operations corresponding to the first instruction in response to executing the second instruction. It should be understood that Figure 2 Some or all of the circuits may thus be instantiated at the same or different times. Figure 2 Some or all of the circuits of can be instantiated, for example, in one or more threads that execute simultaneously on hardware and / or serially on hardware. Furthermore, in some examples, Figure 2 Some or all of the circuits may be implemented by microprocessor circuits executing instructions and / or FPGA circuits performing operations to implement one or more virtual machines and / or containers.

[0041] The sensor interface circuit 202 accesses sensor data from the sensors 108, 110, 114A, 114B, 114C, 114D of the example vehicle 100. In some examples, the sensor interface circuit 202 can receive sensor readings (e.g., data, etc.) from other sensors of the vehicle (e.g., other sensors associated with the wheels 104A, 104B, 104C, 104D, sensors associated with the suspension system 103 of the vehicle 100, sensors associated with the steering system of the vehicle 100, etc.). In some examples, the sensor interface circuit 202 can access the outputs of the sensors 108, 110, 114A, 114B, 114C, 114D via a controller area network (CAN) bus of the vehicle 100. In some examples, the sensor interface circuit 202 can convert the received sensor data from a machine-readable format (e.g., voltage, current, etc.) to a human-readable format (e.g., string, floating point number, integer, etc.). In some examples, the sensor interface circuit 202 is instantiated by a programmable circuit that executes sensor interface circuit instructions and / or is configured to perform functions such as by Figure 3 and Figure 4 The flowcharts represent the operations of those operations.

[0042] In some examples, the sensor evaluation circuit 102 includes means for interfacing with one or more sensors. For example, the means for interfacing with one or more sensors can be implemented by the sensor interface circuit 202. In some examples, the sensor interface circuit 202 can be implemented by a programmable circuit such as Figure 5 For example, the sensor interface circuit 202 may be implemented by Figure 6 of executing machine-executable instructions (such as those consisting of at least Figure 3 In some examples, the sensor interface circuit 202 may be instantiated by a hardware logic circuit that may be implemented by an ASIC, an XPU, or Figure 7 The sensor interface circuit 202 may be implemented by an FPGA circuit 700 configured and / or structured to perform operations corresponding to machine-readable instructions. Additionally or alternatively, the sensor interface circuit 202 may be instantiated by any other combination of hardware, software, and / or firmware. For example, the sensor interface circuit 202 may be implemented by at least one or more hardware circuits (e.g., processor circuits, discrete and / or integrated analog and / or digital circuits, FPGAs, ASICs, XPUs, comparators, operational amplifiers (op-amps), logic circuits, etc.), which are configured and / or structured to execute some or all of the machine-readable instructions and / or to execute some or all of the operations corresponding to the machine-readable instructions without executing software or firmware, but other structures are equally applicable.

[0043] The vehicle condition determiner circuit 204 determines whether the vehicle 100 is in a condition that enables the ride height sensors 114A, 114B, 114C, 114D. For example, the vehicle condition determiner circuit 204 determines whether the speed of the vehicle 100 meets a speed threshold. For example, the vehicle condition determiner circuit 204 can compare the speed of the vehicle (e.g., accessed by the sensor interface circuit 202 from the vehicle speed sensor 108, etc.) with a speed threshold. In some examples, the vehicle condition determiner circuit 204 can determine whether the speed of the vehicle 100 is greater than the speed threshold. Additionally or alternatively, the speed threshold can be based on the resolution of the vehicle speed sensor 108, the switching frequency of the vehicle speed sensor 108, the resolution of one or more of the ride height sensors 114A, 114B, 114C, 114D, and / or the switching frequency of one or more of the ride height sensors 114A, 114B, 114C, 114D. In some examples, the speed threshold can be determined empirically. Additionally or alternatively, the speed threshold may be set by the manufacturer of the vehicle 100 , the operator of the vehicle 100 , a technician of the vehicle 100 , etc. In some examples, the speed threshold is 1 mile per hour (eg, approximately 2 kilometers per hour, etc.).

[0044] Additionally or alternatively, the vehicle condition determiner circuit 204 determines whether the vehicle 100 is moving at a constant speed (e.g., not experiencing acceleration, not experiencing deceleration, moving at a constant speed, etc.). For example, the vehicle condition determiner circuit 204 may determine whether the vehicle 100 is accelerating based on the torque of the engine / motor of the vehicle 100 (e.g., accessed from the vehicle sensor 110 by the sensor interface circuit 202 during execution of block 302, etc.). For example, the vehicle condition determiner circuit 204 may compare the current engine torque with the average engine torque of the vehicle 100 in a previous time period (e.g., an immediately preceding duration, etc.). In some examples, the average engine torque of the vehicle 100 in the previous time period may be determined by filtering the engine output torque in the immediately preceding time period (e.g., 50 milliseconds, 100 milliseconds, 1 second, 2 seconds, etc.) through an infinite impulse response (IIR) filter. In some such examples, the vehicle condition determiner circuit 204 may determine the difference between the current engine torque of the vehicle 100 and the average engine torque, and compare the difference with an engine torque threshold (e.g., an acceleration threshold, etc.). In some examples, the engine torque threshold may be based on the make and model of vehicle 100, the engine of vehicle 100, the weight of vehicle 100, the resolution of the engine torque sensor, and / or the switching frequency of the engine torque sensor. In some examples, the engine torque threshold may be determined empirically. In some examples, the engine torque threshold is 160 foot-pounds (e.g., approximately 220 Newton-meters, etc.).

[0045] In some examples, the vehicle condition determiner circuit 204 may determine whether the vehicle is experiencing deceleration based on the torque of one or more of the brakes associated with the vehicle 100 (e.g., brake torque, etc.). For example, the vehicle condition determiner circuit 204 may determine whether the vehicle 100 is experiencing deceleration based on the torque of the brakes of the vehicle 100 (e.g., accessed from the vehicle sensors 110 by the sensor interface circuit 202, etc.). For example, the vehicle condition determiner circuit 204 may compare the current brake torque (e.g., the sum of the torques applied by each of the brakes of the vehicle 100, etc.) with the average brake torque of the vehicle 100 in a previous time period (e.g., the immediately preceding duration, etc.). In some examples, the average brake torque of the vehicle 100 in the previous time period may be determined by filtering the brake torque in the previous time period (e.g., 50 milliseconds, 100 milliseconds, 1 second, 2 seconds, etc.) through an infinite impulse response filter. In some such examples, the vehicle condition determiner circuit 204 can determine the difference between the current brake torque of the vehicle 100 and the average brake torque, and compare the difference to a brake torque threshold (e.g., a deceleration threshold, etc.). In some examples, the brake torque threshold can be based on the make and model of the vehicle 100, the brakes of the vehicle 100, the weight of the vehicle 100, the resolution of the brake torque sensor, and / or the switching frequency of the brake torque sensor. In some examples, the brake torque threshold can be determined empirically. In some examples, the brake torque threshold is 160 foot-pounds (e.g., approximately 220 Newton-meters, etc.). In some examples, the vehicle condition determiner circuit 204 is instantiated by a programmable circuit that executes vehicle condition determiner instructions and / or is configured to execute instructions such as those specified by Figure 3 and Figure 4 The flowcharts represent the operations of those operations.

[0046] In some examples, sensor evaluation circuit 102 includes means for determining a condition of the vehicle. For example, means for determining a condition of the vehicle may be implemented by vehicle condition determiner circuit 204. In some examples, vehicle condition determiner circuit 204 may be implemented by a programmable circuit such as Figure 5 For example, the vehicle condition determiner circuit 204 may be implemented by Figure 6 of executing machine-executable instructions (such as those consisting of at least Figure 3 In some examples, the vehicle condition determiner circuit 204 may be instantiated by a hardware logic circuit that may be implemented by an ASIC, an XPU, or Figure 7The vehicle condition determiner circuit 204 may be implemented by an FPGA circuit 700 configured and / or structured to perform operations corresponding to machine-readable instructions. Additionally or alternatively, the vehicle condition determiner circuit 204 may be instantiated by any other combination of hardware, software, and / or firmware. For example, the vehicle condition determiner circuit 204 may be implemented by at least one or more hardware circuits (e.g., processor circuits, discrete and / or integrated analog and / or digital circuits, FPGAs, ASICs, XPUs, comparators, operational amplifiers (op-amps), logic circuits, etc.), the one or more hardware circuits being configured and / or structured to execute some or all of the machine-readable instructions, and / or to execute some or all of the operations corresponding to the machine-readable instructions without executing software or firmware, but other structures are equally applicable.

[0047] The sensor data recorder circuit 206 records the output of the ride height sensors 114A, 114B, 114C, 114D. For example, the sensor data recorder circuit 206 may record the output of the ride height sensors 114A, 114B, 114C, 114D in the memory 116 as a machine-readable output (e.g., voltage, current, etc.) and / or as a human-readable output (e.g., distance, etc.). In some examples, the sensor data recorder circuit 206 may record the output of the ride height sensors 114A, 114B, 114C, 114D as a data structure (e.g., vector, matrix, etc.) with an associated time stamp. In some such examples, the time stamp may be a relative time (e.g., time since vehicle ignition, time since first sensor output was recorded, etc.). In other examples, the time stamp may be an absolute time (e.g., date and time, etc.). In some examples, sensor data logger circuit 206 may continuously log the output of each of ride height sensors 114A, 114B, 114C, 114D based on the switching frequency of ride height sensors 114A, 114B, 114C, 114D, based on the capacity of memory 116, user settings, and / or manufacturer settings. In some examples, sensor data logger circuit 206 may log the output of the sensors every 20 milliseconds.

[0048] Additionally or alternatively, the sensor data logger circuit 206 may record peak-to-peak values ​​of the output of the first ride height sensor 114A. For example, the sensor data logger circuit 206 may determine peak-to-peak values ​​during a period of time (e.g., the difference between the maximum output of the first ride height sensor 114A and the minimum output of the first ride height sensor 114A, etc.). In some such examples, the length of the period of time may be based on the switching frequency of the ride height sensors 114A, 114B, 114C, 114D, based on the capacity of the memory 116, user settings, and / or manufacturer settings. In some examples, the sensor data logger circuit 206 is instantiated by a programmable circuit that executes sensor data logger instructions and / or is configured to perform operations such as by Figure 3 and Figure 4 The flowcharts represent the operations of those operations.

[0049] In some examples, the sensor evaluation circuit 102 includes a device for recording sensor data. For example, the device for recording sensor data can be implemented by the sensor data recorder circuit 206. In some examples, the sensor data recorder circuit 206 can be implemented by a programmable circuit (such as Figure 5 For example, the sensor data logger circuit 206 may be instantiated by Figure 6 of executing machine-executable instructions (such as those consisting of at least Figure 3 In some examples, the sensor data logger circuit 206 may be instantiated by a hardware logic circuit that may be implemented by an ASIC, an XPU, or Figure 7 The sensor data logger circuit 206 may be implemented by an FPGA circuit 700 configured and / or structured to perform operations corresponding to machine-readable instructions. Additionally or alternatively, the sensor data logger circuit 206 may be instantiated by any other combination of hardware, software, and / or firmware. For example, the sensor data logger circuit 206 may be implemented by at least one or more hardware circuits (e.g., processor circuits, discrete and / or integrated analog and / or digital circuits, FPGAs, ASICs, XPUs, comparators, operational amplifiers (op-amps), logic circuits, etc.), which are configured and / or structured to perform some or all of the machine-readable instructions and / or perform some or all of the operations corresponding to the machine-readable instructions without executing software or firmware, but other structures are equally applicable.

[0050] The sensor output comparator circuit 208 determines whether the difference between the outputs of the ride height sensors of the ride height sensors 114A, 114B, 114C, 114D satisfies the sensor output threshold. For example, the sensor output comparator circuit 208 may determine the difference as an absolute value of the difference between the ride height sensors of the ride height sensors 114A, 114B, 114C, 114D. Additionally or alternatively, the sensor output comparator circuit 208 may determine a percentage difference between the ride height sensors of the ride height sensors 114A, 114B, 114C, 114D. In some such examples, the sensor output comparator circuit 208 may determine the percentage difference as an absolute value of a ratio of the difference between the outputs to a first output of the outputs.

[0051] In some examples, the sensor output comparator circuit 208 determines whether the determined difference between the outputs satisfies one or more sensor output thresholds. For example, the sensor output comparator circuit 208 may compare the difference between the output of the first ride height sensor 114A and the output of the second ride height sensor 114B to a first sensor output threshold. In some examples, the first sensor output threshold (e.g., a cross-axle difference threshold, etc.) may be a percentage of the ride height of the vehicle 100 at curb weight, a percentage of the total travel of one or more of the suspension elements 112A, 112B, 112C, 112D, a user setting, and / or a manufacturer setting. Additionally or alternatively, the first sensor output threshold may be a percentage error (e.g., 200% error, 100% error, etc.) and / or a displacement value (e.g., 20 mm, 30 mm, etc.).

[0052] Similarly, the sensor output comparator circuit 208 may compare the difference between the output of the first ride height sensor 114A and the output of the second ride height sensor 114C to a second sensor output threshold. In some examples, the second sensor output threshold (e.g., a longitudinally aligned difference threshold, etc.) may be based on a percentage of the ride height of the vehicle 100 at curb weight, a percentage of the total travel of one or more of the suspension elements 112A, 112B, 112C, 112D, a user setting, and / or a manufacturer setting. Additionally or alternatively, the first sensor output threshold may be a percentage error (e.g., 200% error, 100% error, etc.) and / or a displacement value (e.g., 20 mm, 30 mm, etc.). In some examples, the second sensor output threshold is less than the first sensor output threshold due to the expected greater correlation between longitudinally aligned ride height sensors than between cross-axle ride height sensors (e.g., longitudinally aligned wheels are more likely to encounter common terrain than cross-axle wheels, etc.). In some examples, the sensor output comparator circuit 208 is instantiated by a programmable circuit that executes sensor output comparator instructions and / or is configured to perform operations such as by Figure 3 and Figure 4 The flowcharts represent the operations of those operations.

[0053] In some examples, the sensor evaluation circuit 102 includes means for determining a difference between the sensor outputs. For example, the means for determining can be implemented by the sensor output comparator circuit 208. In some examples, the sensor output comparator circuit 208 can be implemented by a programmable circuit such as Figure 5 For example, the sensor output comparator circuit 208 can be instantiated by Figure 6 of executing machine-executable instructions (such as those consisting of at least Figure 3 In some examples, the sensor output comparator circuit 208 may be instantiated by a hardware logic circuit that may be implemented by an ASIC, an XPU, or Figure 7The sensor output comparator circuit 208 may be implemented by an FPGA circuit 700 configured and / or structured to perform operations corresponding to machine-readable instructions. Additionally or alternatively, the sensor output comparator circuit may be instantiated by any other combination of hardware, software, and / or firmware. For example, the sensor output comparator circuit 208 may be implemented by at least one or more hardware circuits (e.g., processor circuits, discrete and / or integrated analog and / or digital circuits, FPGAs, ASICs, XPUs, comparators, operational amplifiers (op-amps), logic circuits, etc.), the one or more hardware circuits being configured and / or structured to perform some or all of the machine-readable instructions, and / or perform some or all of the operations corresponding to the machine-readable instructions without executing software or firmware, but other structures are equally applicable.

[0054] The delay determiner circuit 210 determines a delay between when the front wheels of the vehicle 100 (e.g., wheels 104A, 104B, etc.) encounter the terrain and when the rear wheels of the vehicle 100 (e.g., wheels 104C, 104D, etc.) encounter the terrain. In some examples, the delay determiner circuit 210 may determine the delay based on the wheelbase 118 and the vehicle speed (e.g., accessed by the sensor interface circuit 202 from the vehicle speed sensor 108, etc.). In some examples, the delay determiner circuit 210 may determine a time (e.g., a second time) when the third wheel 104C is in the same position as the first wheel 104A was at the first time. In some examples, the delay determiner circuit 210 may determine the delay and / or the second time based on a ratio of the wheelbase to the speed of the vehicle 100. In some examples, the delay determiner circuit 210 is instantiated by a programmable circuit that executes delay determiner instructions and / or is configured to execute instructions such as by Figure 3 and Figure 4 The flowcharts represent the operations of those operations.

[0055] In some examples, sensor evaluation circuit 102 includes means for determining a delay. For example, means for determining a delay can be implemented by delay determiner circuit 210. In some examples, delay determiner circuit 210 can be implemented by a programmable circuit such as Figure 5 For example, the delay determiner circuit 210 may be implemented by Figure 6 of executing machine-executable instructions (such as those consisting of at least Figure 3 In some examples, the delay determiner circuit 210 may be instantiated by a hardware logic circuit that may be implemented by an ASIC, an XPU, or Figure 7The delay determiner circuit 210 may be implemented by an FPGA circuit 700 configured and / or structured to perform operations corresponding to machine-readable instructions. Additionally or alternatively, the delay determiner circuit 210 may be instantiated by any other combination of hardware, software, and / or firmware. For example, the delay determiner circuit 210 may be implemented by at least one or more hardware circuits (e.g., processor circuits, discrete and / or integrated analog and / or digital circuits, FPGAs, ASICs, XPUs, comparators, operational amplifiers (op-amps), logic circuits, etc.), the one or more hardware circuits being configured and / or structured to perform some or all of the machine-readable instructions, and / or perform some or all of the operations corresponding to the machine-readable instructions without executing software or firmware, but other structures are equally applicable.

[0056] The difference recorder circuit 212 records the difference in the memory 116. For example, the difference recorder circuit 212 may increment one or more difference counters (e.g., difference counters associated with one or more sets of ride height sensors 114A, 114B, 114C, 114D, etc.). In some examples, the difference recorder circuit 212 may create and / or modify data structures and / or scalar values ​​stored in the memory. In some such examples, the difference recorder circuit 212 may increase the difference counters by different values ​​based on the magnitude of the difference (e.g., a relatively large difference increases the difference counter by more than one, etc.). In some examples, the difference recorder circuit 212 is instantiated by programmable circuitry that executes difference recorder instructions and / or is configured to perform operations such as by Figure 3 and Figure 4 The flowcharts represent the operations of those operations.

[0057] In some examples, sensor evaluation circuit 102 includes means for recording the difference. For example, means for recording the difference can be implemented by difference recorder circuit 212. In some examples, difference recorder circuit 212 can be implemented by a programmable circuit such as Figure 5 For example, the difference recorder circuit 212 can be instantiated by Figure 6 of executing machine-executable instructions (such as those consisting of at least Figure 4 In some examples, the difference recorder circuit 212 can be instantiated by a hardware logic circuit, which can be implemented by an ASIC, an XPU, or Figure 7The difference recorder circuit 212 may be implemented by an FPGA circuit 700 configured and / or structured to perform operations corresponding to machine-readable instructions. Additionally or alternatively, the difference recorder circuit 212 may be instantiated by any other combination of hardware, software, and / or firmware. For example, the difference recorder circuit 212 may be implemented by at least one or more hardware circuits (e.g., processor circuits, discrete and / or integrated analog and / or digital circuits, FPGAs, ASICs, XPUs, comparators, operational amplifiers (op-amps), logic circuits, etc.), which are configured and / or structured to execute some or all of the machine-readable instructions and / or to execute some or all of the operations corresponding to the machine-readable instructions without executing software or firmware, but other structures are equally applicable.

[0058] The difference threshold comparator circuit 214 determines whether one or more of the difference counters stored in the memory 116 meet one or more difference thresholds. For example, the difference threshold comparator circuit 214 may compare the difference counters in the memory 116 to one or more quantity-based difference thresholds. Additionally or alternatively, the difference threshold comparator circuit 214 may determine one or more frequencies of the difference (e.g., one or more difference frequencies, etc.) based on the difference threshold comparator circuit 214. For example, the difference threshold comparator circuit 214 may determine the number of differences per day, the number of differences per driving hour, etc. In some such examples, the difference threshold comparator circuit 214 may compare the frequency of the difference to one or more frequency-based difference thresholds.

[0059] In some examples, the difference threshold comparator circuit 214 may use different difference thresholds based on the group of ride height sensors 114A, 114B, 114C, 114D. For example, the difference threshold comparator circuit 214 may use different difference thresholds for the cross-axle ride height sensors and the longitudinally aligned ride height sensors. In some such examples, the difference threshold associated with the multiple groups of cross-axle ride height sensors is greater than the difference threshold associated with the longitudinally aligned ride height sensors. In some examples, the difference threshold comparator circuit 214 is instantiated by programmable circuitry that executes difference threshold comparator instructions and / or is configured to perform operations such as by Figure 3 and Figure 4 The flowcharts represent the operations of those operations.

[0060] In some examples, sensor evaluation circuit 102 includes means for comparing the difference counter and / or the frequency to a threshold. For example, means for comparing the difference counter and / or the frequency to a threshold can be implemented by difference threshold comparator circuit 214. In some examples, difference threshold comparator circuit 214 can be implemented by a programmable circuit such as Figure 5For example, the difference threshold comparator circuit 214 can be composed of Figure 6 of executing machine-executable instructions (such as those consisting of at least Figure 4 In some examples, the difference threshold comparator circuit 214 can be instantiated by a hardware logic circuit, which can be implemented by an ASIC, an XPU, or Figure 7 FPGA circuit 700 is implemented, and the FPGA circuit is configured and / or structured to perform operations corresponding to machine-readable instructions. In addition or alternatively, the difference threshold comparator circuit 214 can be instantiated by any other combination of hardware, software and / or firmware. For example, the difference threshold comparator circuit 214 can be implemented by at least one or more hardware circuits (e.g., processor circuits, discrete and / or integrated analog and / or digital circuits, FPGAs, ASICs, XPUs, comparators, operational amplifiers (op-amps), logic circuits, etc.), and the one or more hardware circuits are configured and / or structured to execute some or all of the machine-readable instructions, and / or execute some or all of the operations corresponding to the machine-readable instructions without executing software or firmware, but other structures are equally applicable.

[0061] The system interface circuit 216 sets diagnostic codes that assist a technician in servicing the vehicle 100. For example, the system interface circuit 216 may set an on-board diagnostic code that indicates a difference between the outputs of one or more of the ride height sensors 114A, 114B, 114C, 114D. For example, the system interface circuit 216 may set an on-board diagnostic code in a memory associated with the vehicle 100 (e.g., memory 116, etc.). In some examples, the system interface circuit 216 may set a diagnostic trouble code (DTC) (e.g., an OBD-II parameter ID, etc.) that enables a technician to identify a potential problem with one or more of the ride height sensors 114A, 114B, 114C, 114D, etc. In some examples, the system interface circuit 216 is instantiated by a programmable circuit that executes system interface instructions and / or is configured to perform operations such as by Figure 3 and Figure 4 The flowcharts represent the operations of those operations.

[0062] In some examples, sensor evaluation circuit 102 includes means for interfacing with a system of the vehicle. For example, means for interfacing with a system of the vehicle may be implemented by system interface circuit 216. In some examples, system interface circuit 216 may be implemented by a programmable circuit such as Figure 5 For example, the system interface circuit 216 may be implemented by Figure 6 of executing machine-executable instructions (such as those consisting of at least Figure 4 In some examples, the system interface circuit 216 may be instantiated by a hardware logic circuit that may be implemented by an ASIC, an XPU, or Figure 7 The system interface circuit 216 may be implemented by an FPGA circuit 700 configured and / or structured to perform operations corresponding to machine-readable instructions. Additionally or alternatively, the system interface circuit 216 may be instantiated by any other combination of hardware, software, and / or firmware. For example, the system interface circuit 216 may be implemented by at least one or more hardware circuits (e.g., processor circuits, discrete and / or integrated analog and / or digital circuits, FPGAs, ASICs, XPUs, comparators, operational amplifiers (op-amps), logic circuits, etc.), which are configured and / or structured to perform some or all of the machine-readable instructions and / or perform some or all of the operations corresponding to the machine-readable instructions without executing software or firmware, but other structures are equally applicable.

[0063] User interface circuitry 218 presents an alert via user interface 106 indicating a difference between one or more sets of ride height sensors 114A, 114B, 114C, 114D. For example, user interface circuitry 218 may generate a visual alert (e.g., a text indication, an instrument light, etc.) and present the visual alert to the user via user interface 106. Additionally or alternatively, user interface circuitry 218 may generate an audio alert and / or a tactile alert and present the audio alert and / or the tactile alert to the user via user interface 106. In some examples, the alert may include an indication that one or more of ride height sensors 114A, 114B, 114C, 114D need to be serviced. In some examples, user interface circuitry 218 is instantiated by programmable circuitry that executes user interface instructions and / or is configured to perform operations such as by Figure 3 and Figure 4 The flowcharts represent the operations of those operations.

[0064] In some examples, sensor evaluation circuit 102 includes means for interfacing with a user. For example, means for interfacing with a user may be implemented by user interface circuit 218. In some examples, user interface circuit 218 may be implemented by a programmable circuit such as Figure 5 For example, the user interface circuit 218 may be instantiated by Figure 6 of executing machine-executable instructions (such as those consisting of at least Figure 4In some examples, the user interface circuit 218 may be instantiated by a hardware logic circuit that may be implemented by an ASIC, an XPU, or Figure 7 FPGA circuit 700 is implemented, and the FPGA circuit is configured and / or structured to perform operations corresponding to machine-readable instructions. In addition or alternatively, user interface circuit 218 can be instantiated by any other combination of hardware, software and / or firmware. For example, user interface circuit 218 can be implemented by at least one or more hardware circuits (e.g., processor circuits, discrete and / or integrated analog and / or digital circuits, FPGAs, ASICs, XPUs, comparators, operational amplifiers (op-amps), logic circuits, etc.), and the one or more hardware circuits are configured and / or structured to perform some or all of the machine-readable instructions, and / or perform some or all of the operations corresponding to the machine-readable instructions without executing software or firmware, but other structures are equally applicable.

[0065] The sensor identifier circuit 220 determines whether one or more of the ride height sensors 114A, 114B, 114C, 114D are associated with a difference based on the difference counters in the memory 116. For example, the sensor identifier circuit 220 may identify such ride height sensors based on ride height sensors associated with multiple difference counters that satisfy one or more thresholds. For example, if the difference counter associated with the difference between the outputs of the first ride height sensor 114A and the second ride height sensor 114B satisfies the threshold, and the difference counter associated with the difference between the outputs of the first ride height sensor 114A and the third ride height sensor 114C satisfies the threshold, then the sensor identifier circuit 220 may identify the first ride height sensor 114A as potentially causing the difference. In some such examples, the sensor identifier circuit 220 may similarly identify one or more of the ride height sensors 114B, 114C, 114D as potentially causing the difference. In some examples, the sensor identifier circuit 220 is instantiated by a programmable circuit that executes sensor identifier instructions and / or is configured to perform such as by Figure 3 and Figure 4 The flowcharts represent the operations of those operations.

[0066] In some examples, the sensor evaluation circuit 102 includes means for identifying the sensor. For example, the means for identifying the sensor can be implemented by the sensor identifier circuit 220. In some examples, the sensor identifier circuit 220 can be implemented by a programmable circuit such as Figure 5 For example, the sensor identifier circuit 220 can be instantiated by Figure 6of executing machine-executable instructions (such as those consisting of at least Figure 3 In some examples, the sensor identifier circuit 220 may be instantiated by a hardware logic circuit that may be implemented by an ASIC, an XPU, or Figure 7 The sensor identifier circuit 220 may be implemented by an FPGA circuit 700 configured and / or structured to perform operations corresponding to the machine-readable instructions. Additionally or alternatively, the sensor identifier circuit 220 may be instantiated by any other combination of hardware, software, and / or firmware. For example, the sensor identifier circuit 220 may be implemented by at least one or more hardware circuits (e.g., processor circuits, discrete and / or integrated analog and / or digital circuits, FPGAs, ASICs, XPUs, comparators, operational amplifiers (op-amps), logic circuits, etc.), which are configured and / or structured to execute some or all of the machine-readable instructions and / or to execute some or all of the operations corresponding to the machine-readable instructions without executing software or firmware, but other structures are equally applicable.

[0067] Although Figure 2 An example way of implementing the sensor evaluation circuit of FIG. 1 is shown in FIG. Figure 2 One or more of the elements, processes and / or devices shown in the example may be combined, divided, rearranged, omitted, eliminated and / or implemented in any other manner. In addition, the example sensor interface circuit 202, the example vehicle condition determiner circuit 204, the example sensor data recorder circuit 206, the example sensor output comparator circuit 208, the example delay determiner circuit 210, the example difference recorder circuit 212, the example threshold comparator circuit 214, the example system interface circuit 216, the example user interface circuit 218, the example sensor identifier circuit 220 and / or more generally Figure 2The example sensor evaluation circuit 102 may be implemented by hardware alone or by hardware in combination with software and / or hardware. Thus, for example, the example sensor interface circuit 202, the example vehicle condition determiner circuit 204, the example sensor data recorder circuit 206, the example sensor output comparator circuit 208, the example delay determiner circuit 210, the example difference recorder circuit 212, the example threshold comparator circuit 214, the example system interface circuit 216, the example user interface circuit 218, the example sensor identifier circuit 220, and / or more generally the example sensor evaluation circuit 102 may be implemented by programmable circuitry in combination with machine-readable instructions (e.g., firmware or software), processor circuitry, analog circuitry, digital circuitry, logic circuitry, a programmable processor, a programmable microcontroller, a graphics processing unit (GPU), a digital signal processor (DSP), an ASIC, a programmable logic device (PLD), and / or a field programmable logic device (FPLD) (such as an FPGA). In addition, Figure 2 The example sensor evaluation circuit 102 may include one or more elements, processes and / or devices as Figure 2 The invention may be in addition to or instead of the elements, processes and / or devices shown in the drawings, and / or may include more than one of any or all of the elements, processes and devices shown.

[0068] Figure 3 and Figure 4 The diagram shows a representation that can be executed by a programmable circuit to implement and / or instantiate Figure 2 The example machine-readable instructions and / or representations of the sensor evaluation circuit 102 may be executed by a programmable circuit to implement and / or instantiate Figure 2 Flowchart of example operations of sensor evaluation circuit 102. The machine readable instructions may be for programmable circuits (such as the following in conjunction with Figure 5 The example programmable circuit platform 500 shown in the discussion of the programmable circuit 512) may be executed by one or more executable programs or portions of one or more executable programs, and / or may be to be executed by the following in conjunction with Figure 6 and / or Figure 7 The example programmable circuit (e.g., FPGA) discussed herein performs one or more functions or portions of functions. In some examples, machine-readable instructions cause operations, tasks, etc. to be performed and / or executed in an automated manner in the real world. As used herein, "automated" means without human involvement.

[0069] The program may be embodied in instructions (e.g., software and / or firmware) stored in one or more non-transitory computer-readable and / or machine-readable storage media such as cache memory, magnetic storage devices or disks (e.g., floppy disks, hard disk drives (HDDs), etc.), optical storage devices or disks (e.g., Blu-ray discs, compact disks (CDs), digital versatile disks (DVDs), etc.), redundant arrays of independent disks (RAIDs), registers, ROMs, solid-state drives (SSDs), SSD memories, non-volatile memories (e.g., electrically erasable programmable read-only memories (EEPROMs), flash memories, etc.), volatile memories (e.g., any type of random access memories (RAMs), etc.), and / or any other storage devices or storage disks. The instructions of the non-transitory computer-readable and / or machine-readable media may be programmed and / or executed by programmable circuits located in one or more hardware devices, but the entire program and / or portions thereof may alternatively be executed and / or instantiated by one or more hardware devices instead of programmable circuits, and / or embodied in dedicated hardware. The machine-readable instructions may be distributed across multiple hardware devices and / or executed by two or more hardware devices (e.g., a server and a client hardware device). For example, a client hardware device may be implemented by an endpoint client hardware device (e.g., a hardware device associated with a human and / or machine user) or an intermediate client hardware device gateway (e.g., a radio access network (RAN) that may facilitate communications between a server and an endpoint client hardware device). Similarly, a non-transitory computer-readable storage medium may include one or more media. Furthermore, although reference is made to Figure 3 and Figure 4The flowchart shown in describes an example program, but many other methods of implementing the example sensor evaluation circuit may be used alternatively. For example, the execution order of the blocks of the flowchart may be changed, and / or some of the blocks described may be changed, eliminated or combined. Additionally or alternatively, any or all of the blocks in the flowchart may be implemented by one or more hardware circuits (e.g., processor circuits, discrete and / or integrated analog and / or digital circuits, FPGAs, ASICs, comparators, operational amplifiers (op-amps), logic circuits, etc.), which are structured to perform corresponding operations without executing software or firmware. The programmable circuit may be distributed in different network locations and / or locally to one or more hardware devices (e.g., single-core processors (e.g., single-core CPUs), multi-core processors (e.g., multi-core CPUs, XPUs, etc.). For example, the programmable circuit may be a CPU and / or FPGA in the same package (e.g., the same integrated circuit (IC) package or in two or more separate housings), one or more processors in a single machine, multiple processors distributed on multiple servers in a server rack, multiple processors distributed on one or more server racks, etc., and / or any combination thereof.

[0070] The machine-readable instructions described herein may be stored in one or more of a compressed format, an encrypted format, a segmented format, a compiled format, an executable format, a packaged format, etc. The machine-readable instructions as described herein may be stored as data (e.g., computer-readable data, machine-readable data, one or more bits (e.g., one or more computer-readable bits, one or more machine-readable bits, etc.), a bit stream (e.g., a computer-readable bit stream, a machine-readable bit stream, etc.), etc.) or a data structure (e.g., stored as portions of instructions, code, representation of code, etc.) that can be used to create, manufacture, and / or generate machine-executable instructions. For example, the machine-readable instructions may be segmented and stored on one or more storage devices, disks, and / or computing devices (e.g., servers) located in the same or different locations of a network or a collection of networks (e.g., in the cloud, in an edge device, etc.). The machine-readable instructions may need to be placed, modified, adapted, updated, combined, supplemented, configured, decrypted, decompressed, unpacked, distributed, redistributed, compiled, etc., so that they can be directly read, interpreted, and / or executed by a computing device and / or other machine. For example, machine-readable instructions may be stored in multiple portions that are separately compressed, encrypted, and / or stored on separate computing devices, wherein the portions, when decrypted, decompressed, and / or combined, form a set of computer-executable and / or machine-executable instructions that implement one or more functions and / or operations that may together form a program such as the programs described herein.

[0071] In another example, the machine-readable instructions may be stored in a state in which they can be read by programmable circuits, but a library (e.g., a dynamic link library (DLL)), a software development kit (SDK), an application programming interface (API), etc., may need to be added in order to execute the machine-readable instructions on a particular computing device or other device. In another example, the machine-readable instructions and / or corresponding programs may need to be configured (e.g., to store settings, input data, record network addresses, etc.) before they can be executed in whole or in part. Thus, as used herein, a machine-readable, computer-readable, and / or machine-readable medium may include instructions and / or programs regardless of the specific format or state of the machine-readable instructions and / or programs.

[0072] The machine-readable instructions described herein may be represented by any past, present or future instruction language, scripting language, programming language, etc. For example, any of the following languages ​​may be used to represent machine-readable instructions: C, C++, Java, C#, Perl, Python, JavaScript, Hypertext Markup Language (HTML), Structured Query Language (SQL), Swift, etc.

[0073] As mentioned above, the present invention may be implemented using executable instructions (eg, computer-readable instructions and / or machine-readable instructions) stored on one or more non-transitory computer-readable media and / or machine-readable media. Figure 3 and Figure 4Example operation of. As used herein, the terms non-transitory computer-readable medium, non-transitory computer-readable storage medium, non-transitory machine-readable medium and / or non-transitory machine-readable storage medium are explicitly defined to include any type of computer-readable storage device and / or storage disk, and exclude propagation signals and exclude transmission media. Examples of such non-transitory computer-readable medium, non-transitory computer-readable storage medium, non-transitory machine-readable medium and / or non-transitory machine-readable storage medium include optical storage devices, magnetic storage devices, HDDs, flash memories, read-only memories (ROMs), CDs, DVDs, caches, any type of RAM, registers and / or any other storage device or storage disk in which information is stored for any duration (e.g., extended time periods, permanently, for transient situations, for temporary buffering and / or for caching information). As used herein, the terms "non-transitory computer-readable storage device" and "non-transitory machine-readable storage device" are defined to include any physical (mechanical, magnetic and / or electrical) hardware to retain information over a period of time, but exclude propagation signals and exclude transmission media. Examples of non-transitory computer-readable storage devices and / or non-transitory machine-readable storage devices include any type of random access memory, any type of read-only memory, solid-state memory, flash memory, optical disks, magnetic disks, disk drives, and / or redundant arrays of independent disks (RAID) systems. As used herein, the term "device" refers to a physical structure, such as mechanical and / or electrical equipment, hardware, and / or circuitry, that may or may not be configured by computer-readable instructions, machine-readable instructions, etc. and / or manufactured to execute computer-readable instructions, machine-readable instructions, etc.

[0074] "Including" and "comprising" (and all forms and tenses thereof) are used herein as open-ended terms. Thus, whenever a claim uses any form of "include" or "comprising" (e.g., includes, comprises, contains, covers, has, etc.) as a preamble or within any type of claim formulation, it should be understood that additional elements, items, etc. may be present without falling outside the scope of the corresponding claim or formulation. As used herein, when the phrase "at least" is used as a transitional term, such as in the preamble of a claim, it is open-ended in the same way that the terms "include" and "comprising" are open-ended. The term "and / or" when used, for example, in a form such as A, B, and / or C, refers to any combination or subset of A, B, C, such as (1) only A, (2) only B, (3) only C, (4) A and B, (5) A and C, (6) B and C, and (7) A and B and C. As used herein in the context of describing structures, components, articles, objects, and / or things, the phrase "at least one of A and B" is intended to refer to embodiments that include any of (1) at least one A, (2) at least one B, or (3) at least one A and at least one B. Similarly, as used herein in the context of describing structures, components, articles, objects, and / or things, the phrase "at least one of A or B" is intended to refer to embodiments that include any of (1) at least one A, (2) at least one B, or (3) at least one A and at least one B. As used herein in the context of describing the performance or execution of a process, instruction, action, activity, etc., the phrase "at least one of A and B" is intended to refer to embodiments that include any of (1) at least one A, (2) at least one B, or (3) at least one A and at least one B. Similarly, as used herein in the context of describing the performance or execution of a process, instruction, action, activity, etc., the phrase "at least one of A or B" is intended to refer to embodiments that include any of (1) at least one A, (2) at least one B, or (3) at least one A and at least one B.

[0075] As used herein, singular references (e.g., "a / an," "first," "second," etc.) do not exclude the plural. The term "a / an" object as used herein refers to one or more of the object. The terms "a / an," "one or more," and "at least one" are used interchangeably herein. In addition, although listed separately, multiple devices, elements, or actions may be implemented by, for example, the same entity or object. In addition, although individual features may be included in different examples or claims, these may be combined, and inclusion in different examples or claims does not mean that a combination of features is not feasible and / or advantageous.

[0076] Figure 3is executable, instantiated and / or implemented by a programmable circuit to identify Figure 1A and Figure 1B The invention provides a flowchart of example machine readable instructions and / or example operations 300 for detecting a difference between outputs of one or more of the ride height sensors 114A, 114B, 114C, 114D of the vehicle 100. Figure 3 The example machine-readable instructions and / or example operations 300 of the example vehicle 100 begin at block 302, where the sensor interface circuit 202 accesses sensor data from sensors 108, 110, 114A, 114B, 114C, 114D of the example vehicle 100. In some examples, the sensor interface circuit 202 may receive sensor readings (e.g., data, etc.) from other sensors of the vehicle (e.g., other sensors associated with wheels 104A, 104B, 104C, 104D, sensors associated with the suspension system 103 of the vehicle 100, sensors associated with the steering system of the vehicle 100, etc.). In some examples, the sensor interface circuit 202 may access the outputs of the sensors 108, 110, 114A, 114B, 114C, 114D via a controller area network (CAN) bus of the vehicle 100. In some examples, the sensor interface circuit 202 may convert the received sensor data from a machine-readable format (e.g., voltage, current, etc.) to a human-readable format (e.g., string, floating point number, integer, etc.).

[0077] At block 304, the vehicle condition determiner circuit 204 determines whether the speed of the vehicle 100 satisfies a speed threshold. For example, the vehicle condition determiner circuit 204 may compare the speed of the vehicle (e.g., accessed from the vehicle speed sensor 108 by the sensor interface circuit 202 during execution of block 302, etc.) to a speed threshold. If the vehicle condition determiner circuit 204 determines that the speed of the vehicle 100 satisfies the speed threshold, the operation 300 proceeds to block 306. If the vehicle condition determiner circuit 204 determines that the speed of the vehicle 100 does not satisfy the speed threshold, the operation 300 proceeds to block 322.

[0078] At block 306, the vehicle condition determiner circuit 204 determines whether the vehicle 100 is experiencing acceleration or deceleration. For example, the vehicle condition determiner circuit 204 may determine whether the vehicle 100 is accelerating based on the torque of the engine / motor of the vehicle 100 (e.g., accessed from the vehicle sensor 110 by the sensor interface circuit 202 during execution of block 302, etc.). For example, the vehicle condition determiner circuit 204 may compare the current engine torque to the average engine torque of the vehicle 100 over a previous period (e.g., the immediately preceding duration, etc.). In some such examples, the vehicle condition determiner circuit 204 may determine the difference between the current engine torque of the vehicle 100 and the average engine torque, and compare the difference to an engine torque threshold (e.g., an acceleration threshold, etc.).

[0079] Additionally or alternatively, the vehicle condition determiner circuit 204 may determine whether the vehicle is experiencing deceleration based on the torque of one or more of the brakes associated with the vehicle 100. For example, the vehicle condition determiner circuit 204 may determine whether the vehicle 100 is experiencing deceleration based on the torque of the brakes of the vehicle 100 (e.g., accessed from the vehicle sensor 110 by the sensor interface circuit 202 during execution of block 302, etc.). For example, the vehicle condition determiner circuit 204 may compare the current brake torque (e.g., the sum of the torques applied by each of the brakes of the vehicle 100, etc.) to the average brake torque of the vehicle 100 in a previous period (e.g., the immediately preceding duration, etc.). In some such examples, the vehicle condition determiner circuit 204 may determine the difference between the current brake torque of the vehicle 100 and the average brake torque, and compare the difference to a brake torque threshold (e.g., a deceleration threshold, etc.). If the vehicle condition determiner circuit 204 determines that the vehicle 100 is not experiencing acceleration or deceleration, the operation 300 proceeds to block 308. If the vehicle condition determiner circuit 204 determines that the vehicle 100 is not experiencing acceleration or deceleration, then the operation 300 proceeds to block 322 .

[0080] At block 308, the sensor data recorder circuit 206 records the sensor output of the first ride height sensor 114A at the first time. For example, the sensor data recorder circuit 206 may record the output of the first ride height sensor 114A in the memory 116 as a machine-readable output and / or as a human-readable output. In some examples, the sensor data recorder circuit 206 may record a peak-to-peak value of the output of the first ride height sensor 114A. For example, the sensor data recorder circuit 206 may determine a peak-to-peak value (e.g., a difference between a maximum output of the first ride height sensor 114A and a minimum output of the first ride height sensor 114A, etc.) during a first period (e.g., a 500 millisecond duration, a one-second duration, a 5-second duration, etc.) starting at the first time. In some examples, the sensor data recorder circuit 206 may record the output of the first ride height sensor 114A as a data structure (e.g., a vector, a matrix, etc.) with an associated time stamp.

[0081] At block 310, the sensor data recorder circuit 206 records the sensor output of the second ride height sensor 114B at the first time. In some examples, the sensor data recorder circuit 206 records the output of the second ride height sensor 114B in a manner similar to the output of the first ride height sensor 114A recorded during execution of block 308. In other examples, the sensor data recorder circuit 206 may record the sensor output in any other suitable manner.

[0082] At block 312, the sensor output comparator circuit 208 determines a difference between the output of the first ride height sensor 114A and the output of the second ride height sensor 114B. For example, the sensor output comparator circuit 208 determines an absolute value of the difference between the output of the first ride height sensor 114A and the output of the second ride height sensor 114B. Additionally or alternatively, the sensor output comparator circuit 208 may determine a percentage difference between the output of the first ride height sensor 114A and the output of the second ride height sensor 114B.

[0083] At block 314, the delay determiner circuit 210 determines a second time based on the first time, the wheelbase 118, and the vehicle speed. For example, the delay determiner circuit 210 may determine a delay between when the front wheels and the first ride height sensor 114A encounter the terrain and when the rear wheels and the third ride height sensor 114C encounter the terrain based on the wheelbase 118 and the vehicle speed (e.g., the speed accessed by the sensor interface circuit 202 from the vehicle speed sensor 108 during execution of block 302, etc.). That is, the delay determiner circuit 210 may determine a time (e.g., a second time, etc.) when the third wheel 104C is in the same position as the first wheel 104A was at the first time. In some examples, the delay determiner circuit 210 may determine the second time based on a ratio of the wheelbase to the speed of the vehicle 100.

[0084] At block 316, the sensor data recorder circuit 206 records the sensor output of the third ride height sensor 114C at the second time. For example, the sensor data recorder circuit 206 may record the output of the third ride height sensor 114C in a manner similar to the output of the first ride height sensor 114A recorded during execution of block 308. In other examples, the sensor data recorder circuit 206 may record the sensor output in any other suitable manner.

[0085] At block 317, the sensor output comparator circuit 208 determines a difference between the output of the first ride height sensor 114A and the output of the third ride height sensor 114C. For example, the sensor output comparator circuit 208 may determine an absolute value of the difference between the output of the first ride height sensor 114A and the output of the third ride height sensor 114C. Additionally or alternatively, the sensor output comparator circuit 208 may determine a percentage difference between the output of the first ride height sensor 114A and the output of the third ride height sensor 114C.

[0086] At block 318, the sensor output comparator circuit 208 determines whether (1) the difference between the output of the first ride height sensor 114A and the output of the second ride height sensor 114B satisfies a first sensor output threshold and / or (2) the difference between the output of the first ride height sensor 114A and the output of the third ride height sensor 114C satisfies a second sensor output threshold. In some examples, the first sensor output threshold (e.g., a cross-axle sensor output threshold, etc.) and / or the second sensor output threshold (e.g., a longitudinal sensor output threshold, etc.) may be based on a percentage of the ride height of the vehicle 100 at curb weight, a percentage of the total travel of one or more of the suspension elements 112A, 112B, 112C, 112D, a user setting, and / or a manufacturer setting. Additionally or alternatively, the first sensor output threshold and / or the second sensor output threshold may be a percentage error (e.g., 200% error, 100% error, etc.) and / or a displacement value (e.g., 20 mm, 30 mm, etc.). In some examples, the second sensor output threshold is lower than the first sensor output threshold because the correlation between longitudinally aligned ride heights is generally higher than the correlation between cross-axle ride heights. If the sensor output comparator circuit 208 determines that (1) the difference between the output of the first ride height sensor 114A and the output of the second ride height sensor 114B satisfies the first sensor output threshold and / or (2) the difference between the output of the first ride height sensor 114A and the output of the third ride height sensor 114C satisfies the second sensor output threshold, then the operation proceeds to block 320. If the sensor output comparator circuit 208 determines that (1) the difference between the output of the first ride height sensor 114A and the output of the second ride height sensor 114B does not satisfy the first sensor output threshold and (2) the difference between the output of the first ride height sensor 114A and the output of the third ride height sensor 114C does not satisfy the second sensor output threshold, then the operation 300 proceeds to block 322.

[0087] At block 320, the difference recorder circuit 212, the difference threshold comparator circuit 214, the system interface circuit 216, and the user interface circuit 218 perform a sensor output difference action. Figure 4Example operations for performing block 320 are described. At block 322, the vehicle condition determiner circuit 204 determines whether to continue evaluating the ride height sensors 114A, 114B, 114C, 114D. For example, the vehicle condition determiner circuit 204 may determine to continue evaluating the ride height sensors 114A, 114B, 114C, 114D based on the state of the vehicle 100 (e.g., the vehicle 100 is moving, the ignition of the vehicle 100 is on, etc.). In other examples, the vehicle condition determiner circuit 204 may determine whether to continue evaluating the ride height sensors 114A, 114B, 114C, 114D based on any other suitable information. If the vehicle condition determiner circuit 204 determines to continue sensor evaluation, the operation 300 returns to block 302. If the vehicle condition determiner circuit 204 determines not to continue sensor evaluation, the operation 300 ends.

[0088] Figure 4 is executable, instantiated and / or implemented by a programmable circuit to perform Figure 3 320 of FIG. 1 and / or a flow chart of example machine readable instructions and / or example operations 400 for taking action upon detecting a difference between the outputs of the ride height sensors 114A, 114B, 114C, 114D. Figure 4 The example machine readable instructions and / or example operations 400 of begin at block 402, where the difference recorder circuit 212 determines whether a detected sensor difference is between sensors associated with wheels of a shared axle. For example, the difference recorder circuit 212 may determine whether a difference is detected in the output of a sensor associated with wheels 104A, 104B (e.g., front wheels, etc.) of the vehicle 100 (e.g., first ride height sensor 114A, second ride height sensor 114B, etc.) and / or in the output of a sensor associated with wheels 104C, 104D (e.g., rear wheels, etc.) of the vehicle 100 (e.g., third ride height sensor 114C, fourth ride height sensor 114D, etc.). If the difference recorder circuit 212 determines that the detected sensor difference is between sensors associated with wheels of a shared axle, the operations 400 proceed to block 404. If the difference recorder circuit 212 determines that the detected sensor difference is not between sensors associated with wheels of a shared axle, the operations 400 proceed to block 413.

[0089] At block 404, the difference recorder circuit 212 increments a first difference counter in the memory 116. For example, the difference recorder circuit 212 may increment a difference counter associated with a cross-axle sensor (e.g., a cross-axle difference counter, etc.) and / or a particular set of sensors based on the sensor associated with the difference (the difference counter with the ride height sensors 114A, 114B, etc.). In some examples, the difference recorder circuit 212 may increase the value of a field of a data structure stored in the memory and / or a scalar value. In some such examples, the difference recorder circuit 212 may increase the difference counter by different values ​​based on the magnitude of the difference (e.g., a relatively large difference increases the difference counter by more than one, etc.).

[0090] At block 406, the difference threshold comparator circuit 214 determines whether the difference counter and / or the frequency meet a first difference threshold. For example, the difference threshold comparator circuit 214 may compare the first difference counter in the memory 116 with a first difference threshold (e.g., a quantity threshold, etc.). Additionally or alternatively, the difference threshold comparator circuit 214 may determine the frequency of the differences (e.g., the number of differences per day, the number of differences per hour of driving time, the number of differences per minute of driving time, etc.) based on the first difference counter. In some such examples, the difference threshold comparator circuit 214 may compare the frequency of the differences with a first difference threshold (e.g., a frequency threshold, etc.). If the difference threshold comparator circuit 214 determines that the difference counter and / or the frequency of the differences meet the first difference threshold, the operation 400 proceeds to block 408. If the difference threshold comparator circuit 214 determines that the difference counter and / or the frequency of the differences do not meet the first difference threshold, the operation 400 proceeds to block 410.

[0091] At block 408, the system interface circuit 216 may set an on-board diagnostic code indicating a difference between the cross-axle ride height sensors. For example, the system interface circuit 216 may set an on-board diagnostic code in a memory (e.g., memory 116, etc.) associated with the vehicle 100. In some examples, the system interface circuit 216 may set a diagnostic trouble code (DTC) (e.g., OBD-II parameter ID, etc.) that enables a technician to identify a potential problem with one or more of the ride height sensors 114A, 114B, 114C, 114D, etc.

[0092] At block 410, the difference threshold comparator circuit 214 determines whether the difference counter and / or the frequency meet a second difference threshold. For example, the difference threshold comparator circuit 214 may compare the first difference counter in the memory 116 with a second difference threshold (e.g., a quantity threshold, etc.). Additionally or alternatively, the difference threshold comparator circuit 214 may compare the frequency of the difference with a second difference threshold (e.g., a frequency threshold, etc.). In some examples, the second difference threshold is greater than the first difference threshold (e.g., a greater quantity threshold meets the second difference threshold, a greater frequency threshold meets the second difference threshold, etc.). If the difference threshold comparator circuit 214 determines that the difference counter and / or the frequency of the difference meet the second difference threshold, the operation 400 proceeds to block 412. If the difference threshold comparator circuit 214 determines that the difference counter and / or the frequency of the difference do not meet the second difference threshold, the operation 400 proceeds to block 413.

[0093] At block 412, the difference recorder circuit 212 increments a second difference counter in the memory 116. For example, the difference recorder circuit 212 may increment a difference counter associated with a longitudinally aligned sensor (e.g., a longitudinally aligned sensor difference counter, etc.) and / or a set of specific sensors based on the sensor associated with the difference (e.g., a difference counter with the ride height sensors 114A, 114B, a difference counter with the ride height sensors 114C, 114D, etc.). In some examples, the difference recorder circuit 212 may increase a value of a data structure and / or a scalar value stored in the memory. In some such examples, the difference recorder circuit 212 may increase the difference counter by different values ​​based on the magnitude of the difference (e.g., a relatively large difference increases the difference counter by more than one, etc.).

[0094] At block 413, the difference recorder circuit 212 determines whether the detected sensor difference is between sensors associated with longitudinally aligned wheels. For example, the difference recorder circuit 212 may determine whether a difference is detected in the output of sensors associated with wheels 104A, 104C (e.g., driver-side wheels, etc.) of the vehicle 100 (e.g., first ride height sensor 114A, third ride height sensor 114C, etc.) and / or in the output of sensors associated with wheels 104B, 104D (e.g., passenger-side wheels, etc.) of the vehicle 100 (e.g., second ride height sensor 114B, fourth ride height sensor 114D, etc.). If the difference recorder circuit 212 determines that the detected sensor difference is between sensors associated with longitudinally aligned wheels, the operation 400 proceeds to block 414. If the difference recorder circuit 212 determines that the detected sensor difference is not between sensors associated with longitudinally aligned wheels, the operation 400 ends.

[0095] At block 414, the user interface circuit 218 presents an alert indicating the difference between the cross-axle ride height displacement sensors via the user interface 106. For example, the user interface circuit 218 may generate a visual alert (e.g., a textual indication, a dashboard light, etc.) and present the visual alert to the user via the user interface 106. Additionally or alternatively, the user interface circuit 218 may generate an audio alert and / or a tactile alert and present the audio alert and / or the tactile alert to the user via the user interface 106. In some examples, the alert may include an indication that one or more of the ride height sensors 114A, 114B, 114C, 114D are to be serviced.

[0096] At block 416, the difference threshold comparator circuit 214 determines whether the second difference counter and / or the frequency satisfies a third difference threshold. For example, the difference threshold comparator circuit 214 may compare the second difference counter in the memory 116 to a third difference threshold (e.g., a quantity threshold, etc.). Additionally or alternatively, the difference threshold comparator circuit 214 may compare the frequency of the differences to a third difference threshold (e.g., a frequency threshold, etc.). In some examples, the third difference threshold is less than the first difference threshold because the correlation between the longitudinally aligned sensors is greater than the correlation between the cross-axle sensors (e.g., a smaller number of differences satisfies the third difference threshold, a smaller frequency of differences satisfies the third difference threshold, etc.). If the difference threshold comparator circuit 214 determines that the difference counter and / or the frequency of the differences satisfies the third difference threshold, the operation 400 proceeds to block 418. If the difference threshold comparator circuit 214 determines that the difference counter and / or the frequency of the differences do not satisfy the third difference threshold, the operation 400 proceeds to block 420.

[0097] At block 418, the system interface circuit 216 may set an on-board diagnostic code indicating a difference between the longitudinally aligned ride height sensors. For example, the system interface circuit 216 may set an on-board diagnostic code in a memory (e.g., memory 116, etc.) associated with the vehicle 100. In some examples, the system interface circuit 216 may set a diagnostic trouble code (DTC) (e.g., an OBD-II parameter ID, etc.) that enables a technician to identify a potential problem with one or more of the ride height sensors 114A, 114B, 114C, 114D, etc.

[0098] At block 420, the difference threshold comparator circuit 214 determines whether the difference counter and / or the frequency meet a fourth difference threshold. For example, the difference threshold comparator circuit 214 may compare the second difference counter in the memory 116 with a fourth difference threshold (e.g., a quantity threshold, etc.). Additionally or alternatively, the difference threshold comparator circuit 214 may compare the difference frequency with a fourth difference threshold (e.g., a frequency threshold, etc.). In some examples, the fourth difference threshold is greater than the third difference threshold (e.g., a greater quantity threshold meets the fourth difference threshold, a greater frequency threshold meets the fourth difference threshold, etc.). If the difference threshold comparator circuit 214 determines that the second difference counter and / or the frequency of the difference meet the fourth difference threshold, the operation 400 proceeds to block 422. If the difference threshold comparator circuit 214 determines that the difference counter and / or the frequency of the difference do not meet the second difference threshold, the operation 400 proceeds to block 424.

[0099] At block 422, the user interface circuitry 218 presents an alert indicating the difference between the longitudinally aligned ride height sensors via the user interface 106. For example, the user interface circuitry 218 may generate a visual alert (e.g., a textual indication, an instrument light, etc.) and present the visual alert to the user via the user interface 106. Additionally or alternatively, the user interface circuitry 218 may generate an audio alert and / or a tactile alert and present the audio alert and / or the tactile alert to the user via the user interface 106. In some examples, the alert may include an indication that one or more of the ride height sensors 114A, 114B, 114C, 114D are to be serviced.

[0100] At block 424, the sensor identifier circuit 220 determines whether a sensor that potentially caused the difference can be identified based on the difference counter. For example, the sensor identifier circuit 220 may determine whether to identify a sensor that potentially caused the difference based on satisfying one or more difference thresholds during the execution of blocks 406, 410, 416, 420. In other examples, the sensor identifier circuit 220 may determine whether to identify a sensor that potentially caused the difference in any other suitable manner. If the sensor identifier circuit 220 determines to identify a sensor that potentially caused the difference, the operation 400 proceeds to block 426. If the sensor identifier circuit 220 determines not to identify a sensor that potentially caused the difference, the operation 400 ends.

[0101] At block 426, the sensor identifier circuit 220 identifies the sensor causing the potential discrepancy. For example, the sensor identifier circuit 220 may identify the ride height sensor causing the discrepancy based on the fly height sensor being associated with a plurality of difference counters that satisfy a threshold value during execution of blocks 406, 410, 416, 420. For example, if a difference counter associated with a difference between the output of the first ride height sensor 114A and the output of the second ride height sensor 114B satisfies a threshold value during execution of blocks 406 and / or 410, and a difference counter associated with a difference between the output of the first ride height sensor 114A and the output of the third ride height sensor 114C satisfies a threshold value during execution of blocks 416 and / or 420, the sensor identifier circuit 220 may identify that the first ride height sensor 114A is causing the discrepancy. In some such examples, the sensor identifier circuit 220 may similarly identify whether one or more of the ride height sensors 114B, 114C, 114D are causing the discrepancy.

[0102] Figure 5 is structured to execute and / or instantiate Figure 3 and Figure 4 Example machine readable instructions and / or example operations to implement Figure 2 1 is a block diagram of an example programmable circuit platform 500 for a sensor evaluation circuit. The programmable circuit platform 500 may be, for example, a server, a personal computer, a workstation, a self-learning machine (e.g., a neural network), a mobile device (e.g., a cell phone, a smart phone, an iPad, etc.) TM tablet computer), personal digital assistant (PDA), Internet appliance, DVD player, CD player, Blu-ray player, game console, headset (e.g., augmented reality (AR) headset, virtual reality (VR) headset, etc.) or other wearable device or any other type of computing device and / or electronic device.

[0103] The programmable circuit platform 500 of the illustrated example includes a programmable circuit 512. The programmable circuit 512 of the illustrated example is hardware. For example, the programmable circuit 512 can be implemented by one or more integrated circuits, logic circuits, FPGAs, microprocessors, CPUs, GPUs, DSPs, and / or microcontrollers from any desired series or manufacturer. The programmable circuit 512 can be implemented by one or more semiconductor-based (e.g., silicon-based) devices. In this example, the programmable circuit 512 implements the sensor interface circuit 202, the vehicle condition determiner circuit 204, the sensor data recorder circuit 206, the sensor output comparator circuit 208, the delay determiner circuit 210, the difference recorder circuit 212, the difference threshold comparator circuit 214, the system interface circuit 216, and the user interface circuit 218.

[0104] The programmable circuit 512 of the illustrated example includes a local memory 513 (e.g., cache, registers, etc.). The programmable circuit 512 of the illustrated example communicates with main memories 514, 516 including a volatile memory 514 and a non-volatile memory 516 via a bus 518. The volatile memory 514 may be composed of a synchronous dynamic random access memory (SDRAM), a dynamic random access memory (DRAM), Dynamic Random Access Memory The non-volatile memory 516 may be implemented by flash memory and / or any other desired type of memory device. Access to the main memories 514, 516 of the illustrated example is controlled by a memory controller 517. In some examples, the memory controller 517 may be implemented by one or more integrated circuits, logic circuits, microcontrollers, or any other type of circuitry from any desired family or manufacturer to manage the flow of data to and from the main memories 514, 516.

[0105] The programmable circuit platform 500 of the illustrated example also includes an interface circuit 520. The interface circuit 520 can be implemented by hardware according to any type of interface standard, such as an Ethernet interface, a universal serial bus (USB) interface, interface, a near field communication (NFC) interface, a peripheral component interconnect (PCI) interface, and / or a peripheral component interconnect express (PCIe) interface.

[0106] In the example shown, one or more input devices 522 are connected to the interface circuit 520. The input devices 522 allow a user (e.g., a human user, a machine user, etc.) to input data and / or commands into the programmable circuit 512. The input devices 522 may be implemented by, for example, an audio sensor, a microphone, a camera (still or video), a keyboard, buttons, a mouse, a touch screen, a trackpad, a trackball, an isochronous device, and / or a speech recognition system.

[0107] One or more output devices 524 are also connected to the interface circuit 520 of the illustrated example. The output device 524 can be implemented, for example, by a display device (e.g., a light emitting diode (LED), an organic light emitting diode (OLED), a liquid crystal display (LCD), a cathode ray tube (CRT) display, an in-place switch (IPS) display, a touch screen, etc.), a tactile output device, a printer, and / or a speaker. Therefore, the interface circuit 520 of the illustrated example typically includes a graphics driver card, a graphics driver chip, and / or a graphics processor circuit, such as a GPU.

[0108] The interface circuitry 520 of the illustrated example also includes communication devices, such as transmitters, receivers, transceivers, modems, residential gateways, wireless access points, and / or network interfaces to facilitate data exchange with external machines (e.g., any type of computing device) via a network 526. Communications may be made through, for example, an Ethernet connection, a digital subscriber line (DSL) connection, a telephone line connection, a coaxial cable system, a satellite system, a beyond-line-of-sight wireless system, a line-of-sight wireless system, a mobile telephone system, an optical connection, etc.

[0109] The programmable circuit platform 500 of the illustrated example also includes one or more mass storage disks or devices 528 for storing firmware, software, and / or data. Examples of such mass storage disks or devices 528 include magnetic storage devices (e.g., floppy disks, drives, HDDs, etc.), optical storage devices (e.g., Blu-ray disks, CDs, DVDs, etc.), RAID systems, and / or solid-state storage disks or devices, such as flash memory devices and / or SSDs.

[0110] Can be Figure 3 and Figure 4 The machine-readable instructions 532 implemented by the machine-readable instructions may be stored in the mass storage device 528, in the volatile memory 514, in the non-volatile memory 516, and / or on at least one non-transitory computer-readable storage medium (such as a CD or DVD) that may be removable.

[0111] Figure 6 yes Figure 5 512. In this example, Figure 5 The programmable circuit 512 is implemented by the microprocessor 600. For example, the microprocessor 600 may be a general-purpose microprocessor (eg, a general-purpose microprocessor circuit). The microprocessor 600 executes Figure 3 and / or Figure 4 Some or all of the machine readable instructions of the flowchart of Figure 2 The circuits of are effectively instantiated as logic circuits to perform operations corresponding to those machine-readable instructions. In some such examples, Figure 2The circuits are instantiated by hardware circuits of the microprocessor 600 in combination with machine-readable instructions. For example, the microprocessor 600 may be implemented by multi-core hardware circuits, such as a CPU, DSP, GPU, XPU, etc. Although it may include any number of example cores 602 (e.g., 1 core), the microprocessor 600 of this example is a multi-core semiconductor device including N cores. The cores 602 of the microprocessor 600 may operate independently or may cooperate to execute machine-readable instructions. For example, machine code corresponding to a firmware program, an embedded software program, or a software program may be executed by one of the cores 602, or may be executed by multiple cores in the cores 602 at the same or different times. In some examples, the machine code corresponding to the firmware program, the embedded software program, or the software program is divided into threads and executed in parallel by two or more cores in the cores 602. The software program may correspond to a thread executed by Figure 3 and Figure 4 A flowchart may represent a portion or all of machine-readable instructions and / or operations.

[0112] The core 602 can communicate via a first example bus 604. In some examples, the first bus 604 can be implemented by a communication bus to perform communications associated with one or more cores in the core 602. For example, the first bus 604 can be implemented by at least one of an inter-integrated circuit (I2C) bus, a serial peripheral interface (SPI) bus, a PCI bus, or a PCIe bus. Additionally or alternatively, the first bus 604 can be implemented by any other type of computing or electrical bus. The core 602 can obtain data, instructions, and / or signals from one or more external devices via an example interface circuit 606. The core 602 can output data, instructions, and / or signals to one or more external devices via the interface circuit 606. Although the core 602 of this example includes an example local memory 620 (e.g., a level 1 (L1) cache that can be divided into an L1 data cache and an L1 instruction cache), the microprocessor 600 also includes an example shared memory 610 that can be shared by the core (e.g., a level 2 (L2 cache)) for high-speed access to data and / or instructions. Data and / or instructions may be transferred (eg, shared) by writing to and / or reading from the shared memory 610. The local memory 620 of each of the cores 602 and the shared memory 610 may be a memory that includes multiple levels of cache memory and main memory (eg, Figure 5 514, 516). Typically, higher level memories in the hierarchy exhibit shorter access times and have smaller storage capacities than lower level memories. Changes to the various levels of the cache hierarchy are managed (e.g., coordinated) by a cache coherence policy.

[0113] Each core 602 may be referred to as a CPU, DSP, GPU, etc., or any other type of hardware circuit. Each core 602 includes a control unit circuit 614, an arithmetic and logic (AL) circuit (sometimes referred to as an ALU) 616, a plurality of registers 618, a local memory 620, and a second example bus 622. Other structures may exist. For example, each core 602 may include a vector unit circuit, a single instruction multiple data (SIMD) unit circuit, a load / store unit (LSU) circuit, a branch / jump unit circuit, a floating point unit (FPU) circuit, etc. The control unit circuit 614 includes a semiconductor-based circuit structured to control (e.g., coordinate) data movement within the corresponding core 602. The AL circuit 616 includes a semiconductor-based circuit that is structured to perform one or more mathematical and / or logical operations on data within the corresponding core 602. The AL circuit 616 of some examples performs integer-based operations. In other examples, the AL circuit 616 also performs floating-point operations. In other examples, AL circuit 616 may include a first AL circuit that performs integer-based operations and a second AL circuit that performs floating-point operations. In some examples, AL circuit 616 may be referred to as an arithmetic logic unit (ALU).

[0114] Registers 618 are semiconductor-based structures for storing data and / or instructions, such as the results of one or more of the operations performed by the AL circuit 616 of the corresponding core 602. For example, registers 618 may include vector registers, SIMD registers, general registers, flag registers, segment registers, machine-specific registers, instruction pointer registers, control registers, debug registers, memory management registers, machine check registers, etc. Registers 618 may be arranged in a manner such as Figure 6 Alternatively, registers 618 may be organized in any other arrangement, format, or structure, including being distributed throughout core 602 to reduce access time. Second bus 622 may be implemented by at least one of an I2C bus, an SPI bus, a PCI bus, or a PCIe bus.

[0115] Each core 602 and / or more generally the microprocessor 600 may include additional and / or alternative structures to those shown and described above. For example, there may be one or more clock circuits, one or more power supplies, one or more power gates, one or more cache home agents (CHAs), one or more aggregation / common mesh stations (CMSs), one or more shifters (e.g., barrel shifters), and / or other circuits. The microprocessor 600 is a semiconductor device fabricated to include many transistors interconnected to implement the above structures in one or more integrated circuits (ICs) contained in one or more packages.

[0116] The microprocessor 600 may include one or more accelerators (e.g., acceleration circuits, hardware accelerators, etc.) and / or collaborate with the one or more accelerators. In some examples, the accelerator is implemented by a logic circuit to perform certain tasks faster and / or more efficiently than a general-purpose processor can perform certain tasks. Examples of accelerators include ASICs and FPGAs, such as those discussed herein. GPUs, DSPs, and / or other programmable devices may also be accelerators. The accelerator may be on the microprocessor 600, in the same chip package as the microprocessor 600, and / or in one or more packages separate from the microprocessor 600.

[0117] Figure 7 yes Figure 5 5. In this example, the programmable circuit 512 is implemented by an FPGA circuit 700. For example, the FPGA circuit 700 can be implemented by an FPGA. The FPGA circuit 700 can be used, for example, to perform operations that could otherwise be performed by Figure 6 However, once configured, the FPGA circuit 700 instantiates the operations and / or functions corresponding to the machine-readable instructions in hardware, and thus can generally perform the operations / functions faster than a general-purpose microprocessor executing corresponding software.

[0118] More specifically, Figure 6 The microprocessor 600 (which is a general-purpose device that can be programmed to perform the Figure 3 and Figure 4 Compared to a flowchart representation of some or all of the machine-readable instructions, but the interconnections and logic circuits of the general-purpose device are fixed once manufactured, Figure 7 The example FPGA circuit 700 includes interconnects and logic circuits that can be configured, structured, programmed, and / or interconnected in different ways after fabrication to instantiate, for example, corresponding to a Figure 3 and Figure 4 700. Specifically, FPGA circuit 700 can be considered to be an array of logic gates, interconnects, and switches. The switches can be programmed to change the way the logic gates are interconnected through the interconnects, effectively forming one or more dedicated logic circuits (unless and until FPGA circuit 700 is reprogrammed). The configured logic circuits enable the logic gates to cooperate in different ways to perform different operations on data received by the input circuits. Those operations may correspond to the operations performed by Figure 3 and Figure 4To this end, FPGA circuit 700 may be configured and / or structured to correspond to Figure 3 and Figure 4 Some or all of the operations / functions of the machine-readable instructions of the flowchart are effectively instantiated as dedicated logic circuits, thereby performing the operations / functions corresponding to these software instructions in a dedicated manner similar to an ASIC. Therefore, the FPGA circuit 700 can execute the operations / functions corresponding to the software instructions faster than a general-purpose microprocessor. Figure 3 and Figure 4 Some or all of the operations / functions of the machine-readable instructions.

[0119] exist Figure 7 In some examples, the FPGA circuit 700 is configured and / or structured in response to being programmed (and / or reprogrammed one or more times) based on a binary file. In some examples, a binary file can be compiled and / or generated based on instructions in a hardware description language (HDL) such as Lucid, Very High Speed ​​Integrated Circuit (VHSIC) Hardware Description Language (VHDL), or Verilog. For example, a user (e.g., a human user, a machine user, etc.) can write code or a program corresponding to one or more operations / functions in the HDL; the code / program can be translated into a low-level language as needed; and the code / program (e.g., code / program in a low-level language) can be converted into a binary file (e.g., by a compiler, a software application, etc.). In some examples, Figure 7 The FPGA circuit 700 can access and / or load a binary file to enable Figure 7 The FPGA circuit 700 is configured and / or structured to perform one or more operations / functions. For example, a binary file can be implemented by a bit stream (e.g., one or more computer-readable bits, one or more machine-readable bits, etc.), data (e.g., computer-readable data, machine-readable data, etc.) and / or machine-readable instructions, which can be implemented by Figure 7 The FPGA circuit 700 is accessed to enable Figure 7 Configuration and / or structuring of FPGA circuit 700 or portions thereof.

[0120] In some examples, a binary file is compiled, generated, transformed, and / or otherwise output from a unified software platform for programming the FPGA. For example, the unified software platform can translate a first instruction (e.g., code or program) corresponding to one or more operations / functions of a high-level language (e.g., C, C++, Python, etc.) into a second instruction corresponding to one or more operations / functions of the HDL. In some such examples, a binary file is compiled, generated, and / or otherwise output from the unified software platform based on the second instruction. In some examples, Figure 7The FPGA circuit 700 can access and / or load a binary file to enable Figure 7 The FPGA circuit 700 is configured and / or structured to perform one or more operations / functions. For example, a binary file can be implemented by a bit stream (e.g., one or more computer-readable bits, one or more machine-readable bits, etc.), data (e.g., computer-readable data, machine-readable data, etc.) and / or machine-readable instructions, which can be implemented by Figure 7 The FPGA circuit 700 is accessed to enable Figure 7 Configuration and / or structuring of FPGA circuit 700 or portions thereof.

[0121] Figure 7 FPGA circuit 700 includes example input / output (I / O) circuit 702 to obtain data from and / or output data to example configuration circuit 704 and / or external hardware 706. For example, configuration circuit 704 can be implemented by an interface circuit that can obtain a binary file that can be implemented by a bitstream, data, and / or machine-readable instructions to configure FPGA circuit 700 or portions thereof. In some such examples, configuration circuit 704 can obtain the binary file from a user, a machine (e.g., a hardware circuit (e.g., a programmable or dedicated circuit) that can implement an artificial intelligence / machine learning (AI / ML) model to generate a binary file), etc. and / or any combination thereof. In some examples, external hardware 706 can be implemented by an external hardware circuit. For example, external hardware 706 can be implemented by Figure 6 The microprocessor 600 is implemented as shown in FIG.

[0122] FPGA circuit 700 also includes an array of example logic gate circuits 708, a plurality of example configurable interconnects 710, and example storage circuits 712. Logic gate circuits 708 and configurable interconnects 710 may be configured to instantiate one or more operations / functions that may correspond to Figure 3 and Figure 4 At least some of the machine-readable instructions and / or other desired operations. Figure 7 The logic gate circuits 708 shown in FIG. 7 are manufactured in blocks or groups. Each block includes a semiconductor-based electrical structure that can be configured as a logic circuit. In some examples, the electrical structure includes a logic gate (e.g., an AND gate, an OR gate, a NOT gate, etc.) that provides a basic building block for the logic circuit. An electrically controlled switch (e.g., a transistor) is present in each of the logic gate circuits 708 to support configuring the electrical structure and / or the logic gate to form a circuit for performing the desired operation / function. The logic gate circuits 708 may include other electrical structures, such as a lookup table (LUT), a register (e.g., a flip-flop or a latch), a multiplexer, etc.

[0123] The configurable interconnect 710 of the illustrated example is a conductive path, trace, via, or the like, which may include an electrically controlled switch (e.g., a transistor) whose state may be changed by programming (e.g., using an HDL instruction language) to activate or deactivate a connection between one or more of the logic gate circuits 708 to program a desired logic circuit.

[0124] The storage circuit 712 of the illustrated example is structured to store the results of one or more of the operations performed by the corresponding logic gates. The storage circuit 712 may be implemented by registers, etc. In the illustrated example, the storage circuit 712 is distributed between the logic gate circuits 708 to facilitate access and increase execution speed.

[0125] Figure 7 The example FPGA circuit 700 also includes an example dedicated operation circuit 714. In this example, the dedicated operation circuit 714 includes a dedicated circuit 716, which can be called to implement common functions to avoid the need to program those functions on site. Examples of such dedicated circuits 716 include memory (e.g., DRAM) controller circuits, PCIe controller circuits, clock circuits, transceiver circuits, memories, and multiplier-accumulator circuits. There may be other types of dedicated circuits. In some examples, the FPGA circuit 700 may also include an exemplary general-purpose programmable circuit 718, such as an exemplary CPU 720 and / or an exemplary DSP 722. There may be other general-purpose programmable circuits 718 in addition or alternatively, such as GPUs, XPUs, etc. that can be programmed to perform other operations.

[0126] Although Figure 6 and Figure 7 Shows Figure 5 These are two example implementations of the programmable circuit 512, but many other approaches are contemplated. For example, an FPGA circuit may include an onboard CPU, such as Figure 6 One or more of the example CPUs 720. Thus, Figure 5 The programmable circuit 512 may additionally be configured by at least combining Figure 6 An example microprocessor 600 and Figure 7 In some such hybrid examples, Figure 6 The one or more cores 602 may execute Figure 3 and Figure 4 The flowchart represents a first portion of machine-readable instructions to perform a first operation / function, Figure 7 The FPGA circuit 700 may be configured and / or structured to perform operations corresponding to Figure 3 and Figure 4A second operation / function of a second portion of the machine-readable instructions represented by a flowchart, and / or the ASIC may be configured and / or structured to perform the operation corresponding to the operation of Figure 3 and Figure 4 The flowchart represents a third operation / function of a third portion of the machine readable instructions.

[0127] It should be understood that Figure 2 Some or all of the circuits of may thus be instantiated at the same or different times. Figure 6 The same and / or different portions of the microprocessor 600 may be programmed to execute portions of the machine-readable instructions at the same and / or different times. In some examples, Figure 7 The same and / or different portions of FPGA circuit 700 may be configured and / or structured to perform operations / functions corresponding to the respective portions of the machine-readable instructions at the same and / or different times.

[0128] In some examples, Figure 2 Some or all of the circuits of can be instantiated, for example, in one or more threads that execute simultaneously and / or serially. Figure 6 The microprocessor 600 can execute machine-readable instructions in one or more threads that execute simultaneously and / or serially. In some examples, Figure 7 The FPGA circuit 700 can be configured and / or structured to perform operations / functions simultaneously and / or serially. In addition, in some examples, Figure 2 Some or all of the circuitry may be located in Figure 6 The microprocessor 600 is implemented within one or more virtual machines and / or containers.

[0129] In some examples, Figure 5 The programmable circuit 512 may be in one or more packages. For example, Figure 6 The microprocessor 600 and / or Figure 7 The FPGA circuit 700 can be in one or more packages. In some examples, the XPU can be composed of Figure 5 The XPU may be implemented by programmable circuitry 512, which may be in one or more packages. For example, the XPU may include a CPU in a package (e.g., Figure 6 Microprocessor 600, Figure 7 CPU 720, etc.), a DSP in another package (e.g., Figure 7 DSP 722 in a package), a GPU in another package, and an FPGA in yet another package (e.g., Figure 7 FPGA circuit 700).

[0130] Methods and devices for identifying ride height sensor differences are disclosed herein. Additional examples and combinations thereof include the following:

[0131] Example 1 includes a device comprising machine-readable instructions and programmable circuitry, the programmable circuitry being configured to perform at least one of: instantiating or executing the machine-readable instructions to: compare a first sensor output of a first ride height sensor of a vehicle with a second sensor output of a second ride height sensor of the vehicle; increment a difference counter based on the comparison of the first sensor output with the second sensor output; and generate an indication to service at least one of the first ride height sensor or the second ride height sensor after the difference counter satisfies a threshold.

[0132] Example 2 includes an apparatus as described in Example 1, wherein the first ride height sensor is associated with a first wheel of the vehicle, the second ride height sensor is associated with a second wheel of the vehicle, the second wheel is longitudinally aligned with the first wheel, and the programmable circuit is used to access the first sensor output, the first sensor output is generated at a first time, and access the second sensor output, the second sensor output is generated at a second time separated by a certain delay from the first time.

[0133] Example 3 includes the apparatus of Example 2, wherein the programmable circuit is to determine the delay based on a speed of the vehicle and a wheelbase of the vehicle.

[0134] Example 4 includes the apparatus of Example 1, wherein the programmable circuit is further configured to compare a speed of the vehicle to a speed threshold, the comparison of the first sensor output to the second sensor output occurring after determining that the speed satisfies the speed threshold.

[0135] Example 5 includes an apparatus as described in Example 1, wherein the programmable circuit is further used to compare the acceleration of the vehicle with an acceleration threshold, and the comparison of the first sensor output with the second sensor output occurs after determining that the acceleration satisfies the acceleration threshold.

[0136] Example 6 includes the apparatus of Example 1, wherein the threshold is a frequency-based threshold, and wherein the programmable circuit is further to determine a frequency of the difference based on the difference.

[0137] Example 7 includes the apparatus of Example 1, wherein the indication is an on-board diagnostic code.

[0138] Example 8 includes a non-transitory machine-readable storage medium comprising instructions for causing a programmable circuit to at least compare a first sensor output of a first ride height sensor of a vehicle with a second sensor output of a second ride height sensor of the vehicle; increment a difference counter based on the comparison of the first sensor output with the second sensor output; and generate an indication to repair at least one of the first ride height sensor or the second ride height sensor after the difference counter satisfies a threshold.

[0139] Example 9 includes the non-transitory machine-readable storage medium of Example 8, wherein the first ride height sensor is associated with a first wheel of the vehicle, the second ride height sensor is associated with a second wheel of the vehicle, the second wheel is longitudinally aligned with the first wheel, and the instructions, when executed, cause the programmable circuit to access the first sensor output, the first sensor output being generated at a first time, and access the second sensor output, the second sensor output being generated at a second time separated from the first time by a delay.

[0140] Example 10 includes the non-transitory computer readable medium of Example 9, wherein the instructions, when executed, further cause the programmable circuit to determine the delay based on a speed of the vehicle and a wheelbase of the vehicle.

[0141] Example 11 includes the non-transitory computer-readable medium of Example 8, wherein the instructions, when executed, further cause the programmable circuit to compare the speed of the vehicle to a speed threshold, the comparison of the first sensor output to the second sensor output occurring after determining that the speed satisfies the speed threshold.

[0142] Example 12 includes a non-transitory computer-readable medium as described in Example 8, wherein the instructions, when executed, further cause the programmable circuit to compare the acceleration of the vehicle to an acceleration threshold, the comparison of the first sensor output to the second sensor output occurring after determining that the acceleration satisfies the acceleration threshold.

[0143] Example 13 includes the non-transitory computer readable medium of Example 8, wherein the threshold is a frequency-based threshold, and the instructions, when executed, further cause the programmable circuit to determine a frequency of the difference based on the difference.

[0144] Example 14 includes the non-transitory computer-readable medium of Example 8, wherein the indication is an on-board diagnostic code.

[0145] Example 15 includes a method comprising: comparing a first sensor output of a first ride height sensor of a vehicle with a second sensor output of a second ride height sensor of the vehicle; incrementing a difference counter based on the comparison of the first sensor output and the second sensor output; and generating an indication to repair at least one of the first ride height sensor or the second ride height sensor after the difference counter meets a threshold.

[0146] Example 16 includes a method as described in Example 15, wherein the first ride height sensor is associated with a first wheel of the vehicle, the second ride height sensor is associated with a second wheel of the vehicle, the second wheel is longitudinally aligned with the first wheel, and the method further includes: accessing the first sensor output, the first sensor output is generated at a first time; and accessing the second sensor output, the second sensor output is generated at a second time separated by a certain delay from the first time.

[0147] Example 17 includes the method of Example 16, further comprising determining the delay based on a speed of the vehicle and a wheelbase of the vehicle.

[0148] Example 18 includes the method of Example 15, further comprising comparing a speed of the vehicle to a speed threshold, the comparing the first sensor output to the second sensor output occurring after determining that the speed satisfies the speed threshold.

[0149] Example 19 includes the method of Example 15, further comprising comparing an acceleration of the vehicle to an acceleration threshold, the comparison of the first sensor output to the second sensor output occurring after determining that the acceleration satisfies the acceleration threshold.

[0150] Example 20 includes the method of Example 15, wherein the indication is an on-board diagnostic code.

[0151] The attached claims are hereby incorporated by reference into this detailed description. Although certain example systems, devices, articles, and methods have been disclosed herein, the coverage of this patent is not limited thereto. On the contrary, this patent covers all systems, devices, articles, and methods that fully fall within the scope of the claims of this patent.

[0152] According to the present invention, a device is provided, the device having: machine-readable instructions; and programmable circuitry, the programmable circuitry being used to perform at least one of the following: instantiate or execute the machine-readable instructions to: compare a first sensor output of a first ride height sensor of a vehicle with a second sensor output of a second ride height sensor of the vehicle; increment a difference counter based on the comparison of the first sensor output with the second sensor output; and generate an indication to service at least one of the first ride height sensor or the second ride height sensor after the difference counter satisfies a threshold value.

[0153] According to one embodiment, a first ride height sensor is associated with a first wheel of a vehicle, a second ride height sensor is associated with a second wheel of the vehicle, the second wheel is longitudinally aligned with the first wheel, and a programmable circuit is used to: access a first sensor output, the first sensor output is generated at a first time; and access a second sensor output, the second sensor output is generated at a second time separated by a certain delay from the first time.

[0154] According to one embodiment, the programmable circuit is used to determine the delay based on the speed of the vehicle and the wheelbase of the vehicle.

[0155] According to one embodiment, the programmable circuit is further configured to compare a speed of the vehicle to a speed threshold, the comparison of the first sensor output to the second sensor output occurring after determining that the speed satisfies the speed threshold.

[0156] According to one embodiment, the programmable circuit is further configured to compare an acceleration of the vehicle to an acceleration threshold, the comparison of the first sensor output to the second sensor output occurring after determining that the acceleration satisfies the acceleration threshold.

[0157] According to one embodiment, the threshold is a frequency-based threshold, and wherein the programmable circuit is further configured to determine a frequency of the difference based on the difference.

[0158] According to one embodiment, the indication is an on-board diagnostic code.

[0159] According to the present invention, a non-transitory machine-readable storage medium is provided, the non-transitory machine-readable storage medium having instructions for causing a programmable circuit to at least: compare a first sensor output of a first ride height sensor of a vehicle with a second sensor output of a second ride height sensor of the vehicle; increment a difference counter based on the comparison of the first sensor output with the second sensor output; and generate an indication to service at least one of the first ride height sensor or the second ride height sensor after the difference counter satisfies a threshold value.

[0160] According to one embodiment, a first ride height sensor is associated with a first wheel of the vehicle, a second ride height sensor is associated with a second wheel of the vehicle, the second wheel is longitudinally aligned with the first wheel, and the instructions, when executed, further cause the programmable circuit to: access a first sensor output, the first sensor output being generated at a first time; and access a second sensor output, the second sensor output being generated at a second time separated from the first time by a certain delay.

[0161] According to one embodiment, the instructions, when executed, further cause the programmable circuit to determine the delay based on a speed of the vehicle and a wheelbase of the vehicle.

[0162] According to one embodiment, the instructions, when executed, further cause the programmable circuit to compare a speed of the vehicle to a speed threshold, the comparison of the first sensor output to the second sensor output occurring after determining that the speed satisfies the speed threshold.

[0163] According to one embodiment, the instructions, when executed, further cause the programmable circuit to compare an acceleration of the vehicle to an acceleration threshold, the comparison of the first sensor output to the second sensor output occurring after determining that the acceleration satisfies the acceleration threshold.

[0164] According to one embodiment, the threshold is a frequency-based threshold, and the instructions, when executed, further cause the programmable circuit to further determine a frequency of the difference based on the difference.

[0165] According to one embodiment, the indication is an on-board diagnostic code.

[0166] According to the present invention, a method includes: comparing a first sensor output of a first ride height sensor of a vehicle with a second sensor output of a second ride height sensor of the vehicle; incrementing a difference counter based on the comparison of the first sensor output and the second sensor output; and generating an indication to service at least one of the first ride height sensor or the second ride height sensor after the difference counter satisfies a threshold.

[0167] In one aspect of the present invention, a first ride height sensor is associated with a first wheel of the vehicle, a second ride height sensor is associated with a second wheel of the vehicle, the second wheel is longitudinally aligned with the first wheel, and the method further comprises: accessing a first sensor output, the first sensor output being generated at a first time; and accessing a second sensor output, the second sensor output being generated at a second time separated from the first time by a certain delay.

[0168] In one aspect of the invention, the method comprises determining the delay based on a speed of the vehicle and a wheelbase of the vehicle.

[0169] In one aspect of the invention, the method includes comparing a speed of the vehicle to a speed threshold, the comparison of the first sensor output to the second sensor output occurring after determining that the speed satisfies the speed threshold.

[0170] In one aspect of the invention, the method includes comparing an acceleration of the vehicle to an acceleration threshold, the comparison of the first sensor output to the second sensor output occurring after determining that the acceleration satisfies the acceleration threshold.

[0171] In one aspect of the invention, the indication is an on-board diagnostic code.

Claims

1. A device comprising: machine-readable instructions; as well as programmable circuitry to at least one of: instantiate or execute the machine-readable instructions to: comparing a first sensor output of a first ride height sensor of a vehicle to a second sensor output of a second ride height sensor of the vehicle; incrementing a difference counter based on the comparison of the first sensor output and the second sensor output; and An indication to service at least one of the first ride height sensor or the second ride height sensor is generated after the difference counter satisfies a threshold.

2. The apparatus of claim 1, wherein the first ride height sensor is associated with a first wheel of the vehicle, the second ride height sensor is associated with a second wheel of the vehicle, the second wheel being longitudinally aligned with the first wheel, and the programmable circuit is to: accessing the first sensor output, the first sensor output being generated at a first time; and The second sensor output is accessed, the second sensor output being generated at a second time separated by a delay from the first time.

3. The apparatus of claim 2, wherein the programmable circuit is to determine the delay based on a speed of the vehicle and a wheelbase of the vehicle.

4. The apparatus of claim 1 , wherein the programmable circuit is further configured to compare a speed of the vehicle to a speed threshold, the comparison of the first sensor output to the second sensor output occurring after determining that the speed satisfies the speed threshold.

5. The apparatus of claim 1, wherein the programmable circuit is further configured to compare an acceleration of the vehicle to an acceleration threshold, the comparison of the first sensor output to the second sensor output occurring after determining that the acceleration satisfies the acceleration threshold.

6. The apparatus of any one of claims 1 to 5, wherein the threshold is a frequency-based threshold, and wherein the programmable circuit is further configured to determine a frequency of a difference based on the difference.

7. The apparatus of any one of claims 1 to 5, wherein the indication is an on-board diagnostic code.

8. A method comprising: comparing a first sensor output of a first ride height sensor of a vehicle to a second sensor output of a second ride height sensor of the vehicle; incrementing a difference counter based on the comparison of the first sensor output and the second sensor output; as well as An indication to service at least one of the first ride height sensor or the second ride height sensor is generated after the difference counter satisfies a threshold.

9. The method of claim 8, wherein the first ride height sensor is associated with a first wheel of the vehicle, the second ride height sensor is associated with a second wheel of the vehicle, the second wheel being longitudinally aligned with the first wheel, and the method further comprising: accessing the first sensor output, the first sensor output being generated at a first time; as well as The second sensor output is accessed, the second sensor output being generated at a second time separated by a delay from the first time.

10. The method of claim 9, further comprising determining the delay based on a speed of the vehicle and a wheelbase of the vehicle.

11. The method of claim 8, further comprising comparing a speed of the vehicle to a speed threshold, the comparing of the first sensor output to the second sensor output occurring after determining that the speed satisfies the speed threshold.

12. The method of claim 8, further comprising comparing an acceleration of the vehicle to an acceleration threshold, the comparison of the first sensor output to the second sensor output occurring after determining that the acceleration satisfies the acceleration threshold.

13. The method of claim 8, wherein the threshold is a frequency-based threshold and instruction, and the method further comprises determining a frequency of the difference based on the difference.

14. The method of claim 8, wherein the indication is an on-board diagnostic code.

15. A non-transitory machine-readable storage medium comprising instructions which, when executed, cause a processor to perform the method of any one of claims 8 to 14.

Citation Information

Patent Citations

  • Methods and apparatus to determine vehicle weight information based on ride height

    US11008014B2