Data frame receiving method, receiver, vehicle-mounted controller, vehicle, electronic equipment, medium and product

By introducing a acquisition module and a check module into the receiver, the non-calibrated signal and calibration signal are checked, and the reception failure problem caused by the missing or abnormality of the previous frame in the reception of the data frame is solved, and the communication quality is improved.

CN119853856APending Publication Date: 2025-04-18JINAN BYD SEMICON TECH CO LTD
View PDF 0 Cites 0 Cited by

Patent Information

Application Number
CN202411251929.1
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2024-09-07
Publication Date
2025-04-18

AI Technical Summary

Technical Problem

In the prior art, when receiving data frames sent by on-board sensors, it is difficult to accurately identify data frames, especially in the absence or abnormality of the previous data frame, resulting in reception failure.

Method used

By introducing a acquisition module and a check module into the receiver, the current pulse signal is obtained and a non-calibrated signal check is performed. If the non-calibration signal check fails, a calibration signal check is performed to determine whether the current pulse signal is the calibration pulse signal of the next data frame.

Benefits of technology

In the absence of the previous data frame, the correct reception logic is quickly reverted to ensure that subsequent data frames are successfully received, thereby improving the communication quality of the receiver.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN119853856A_ABST
    Figure CN119853856A_ABST
Patent Text Reader

Abstract

The invention provides a data frame receiving method, a receiver, a vehicle-mounted controller, a vehicle, electronic equipment, a medium and a product. The method is applied to a receiver, the receiver receives a data frame in a pulse signal form, and in a plurality of pulse signals corresponding to the data frame, the first pulse signal is a calibration signal, and the rest are non-calibration signals; the method comprises the steps of obtaining a current pulse signal; and if the current pulse signal does not pass the non-calibration signal inspection, performing calibration signal inspection on the current pulse signal. The method provided by the invention is used for accurately and effectively receiving the data frame and improving the communication quality.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] The present application relates to communication technology, and in particular to a data frame receiving method, a receiver, a vehicle controller, a vehicle, an electronic device, a medium and a product. Background Art

[0002] The vehicle-mounted sensors convert the collected information into electrical signals and send the electrical signals to the vehicle-mounted controller in the form of data frames. The vehicle-mounted controller can control the vehicle according to the data frames. With the increasingly accelerated process of "intelligentization" in the automotive industry, the demand for the number and measurement accuracy of vehicle-mounted sensors has increased dramatically, and the communication requirements between vehicle-mounted sensors and vehicle-mounted controllers have also gradually increased.

[0003] At present, sensors often send signals to receivers in the form of pulse signals. After the receiver in the vehicle controller receives the pulse signal, it needs to check the pulse signal to identify the data frame. Therefore, how to accurately receive the data frame is crucial. Summary of the invention

[0004] The present application provides a data frame receiving method, a receiver, a vehicle-mounted controller, a vehicle, an electronic device, a medium and a product for accurately and effectively receiving data frames and improving communication quality.

[0005] In a first aspect, the present application provides a data frame receiving method, which is applied to a receiver, wherein the receiver receives a data frame in the form of a pulse signal, wherein among multiple pulse signals corresponding to the data frame, the first pulse signal is a calibration signal, and the rest are non-calibration signals; the method comprises:

[0006] Get the current pulse signal;

[0007] If the non-calibration signal check performed on the current pulse signal fails, a calibration signal check is performed on the current pulse signal.

[0008] In a second aspect, an embodiment of the present application provides a receiver, which receives a data frame in the form of a pulse signal, wherein the first pulse signal of a plurality of pulse signals corresponding to the data frame is a calibration signal and the rest are non-calibration signals; the receiver comprises:

[0009] An acquisition module is used to acquire the current pulse signal;

[0010] The checking module is used to perform a calibration signal check on the current pulse signal if the check on the current pulse signal is a non-calibration signal check and the check result is failure.

[0011] In a third aspect, an embodiment of the present application provides a vehicle-mounted controller, comprising: a receiver and a processor as described above;

[0012] The receiver receives a data frame sent by the vehicle-mounted sensor, the data frame including the status data of the vehicle;

[0013] The processor is used to perform vehicle control according to the data frame.

[0014] In a fourth aspect, an embodiment of the present application provides a vehicle, comprising: an on-board sensor, and an on-board controller as described above;

[0015] The vehicle-mounted sensor is used to collect the vehicle status data and send the status data to the receiver in the form of data frames;

[0016] The vehicle controller is used to receive data frames sent by the vehicle sensors and perform vehicle control according to the data frames.

[0017] In a fifth aspect, an embodiment of the present application provides an electronic device, comprising: a processor, and a memory communicatively connected to the processor; the memory stores computer-executable instructions; the processor executes the computer-executable instructions stored in the memory to implement the method described above.

[0018] In a sixth aspect, an embodiment of the present application provides a computer-readable storage medium, in which computer-readable storage medium is stored computer-executable instructions, which are used to implement the method as described above when executed by a processor.

[0019] In a seventh aspect, an embodiment of the present application provides a computer program product, including a computer program, which implements the method described above when the computer program is executed by a processor.

[0020] In the data frame receiving method, receiver, vehicle-mounted controller, vehicle, electronic device, medium and product provided by the present application, when the non-calibration signal check fails for the current pulse signal, a calibration signal check is performed on the current pulse signal to determine whether the current pulse signal is the calibration pulse signal of the next data frame, rather than directly performing a calibration signal check on the next pulse signal. When the current pulse signal is actually the calibration pulse signal of the next data frame and causes the non-calibration signal check to fail, the reception of the next data frame can also be started accurately. In the above scheme, by performing a calibration signal check on the current pulse signal when the non-calibration signal check fails for the current pulse signal, the correct receiving logic can be quickly returned to in abnormal situations such as the missing of the previous data frame to ensure the successful reception of subsequent data frames, thereby receiving more valid data frames and improving the communication quality of the receiver. BRIEF DESCRIPTION OF THE DRAWINGS

[0021] The accompanying drawings, which are incorporated in and constitute a part of this specification, illustrate embodiments consistent with the present application and, together with the description, serve to explain the principles of the present application.

[0022] Figure 1 A schematic diagram of the format of a SENT frame is shown as an example;

[0023] Figure 2 Another SENT frame format diagram is shown in FIG.

[0024] Figure 3 A schematic diagram of the format of an SPC frame is exemplarily shown in FIG.

[0025] Figure 4 A schematic diagram of an application scenario provided by an embodiment of the present application is exemplarily shown in FIG.

[0026] Figure 5 A schematic diagram of a data frame receiving method provided in an embodiment of the present application is exemplarily shown in FIG.

[0027] Figure 6 A schematic diagram of a flow chart of a SENT frame receiving method provided in an embodiment of the present application is exemplarily shown in FIG.

[0028] Figure 7 A schematic diagram of a receiver state machine provided in an embodiment of the present application is exemplarily shown in FIG.

[0029] Figure 8 exemplarily shows a waveform diagram of an erroneous SENT frame provided in an embodiment of the present application;

[0030] Fig. 9 exemplarily shows a waveform diagram of another erroneous SENT frame provided in an embodiment of the present application;

[0031] Fig.10 exemplarily shows a waveform diagram of another erroneous SENT frame provided in an embodiment of the present application;

[0032] Fig.11 exemplarily shows a waveform diagram of another erroneous SENT frame provided in an embodiment of the present application;

[0033] Fig.12 exemplarily shows a waveform diagram of another erroneous SENT frame provided in an embodiment of the present application;

[0034] Fig.13 exemplarily shows a waveform diagram of another erroneous SENT frame provided in an embodiment of the present application;

[0035] Fig.14 exemplarily shows a waveform diagram of another erroneous SENT frame provided in an embodiment of the present application;

[0036] Fig.15 exemplarily shows a waveform diagram of another erroneous SENT frame provided in an embodiment of the present application;

[0037] Fig.16 The structural diagram of the receiver provided in the embodiment of the present application is exemplarily shown in FIG.

[0038] Fig.17 A structural schematic diagram of an electronic device provided in an embodiment of the present application is exemplarily shown in FIG.

[0039] The above drawings have shown clear embodiments of the present application, which will be described in more detail later. These drawings and text descriptions are not intended to limit the scope of the present application in any way, but to illustrate the concept of the present application to those skilled in the art by referring to specific embodiments. DETAILED DESCRIPTION

[0040] Exemplary embodiments will be described in detail herein, examples of which are shown in the accompanying drawings. When the following description refers to the drawings, the same numbers in different drawings represent the same or similar elements unless otherwise indicated. The implementations described in the following exemplary embodiments do not represent all implementations consistent with the present application. Instead, they are merely examples of devices and methods consistent with some aspects of the present application as detailed in the appended claims.

[0041] The module in this application refers to a functional module or a logical module. It can be in software form, and its functions are realized by executing program code by a processor; it can also be in hardware form. "And / or" describes the association relationship of associated objects, indicating that three relationships can exist. For example, A and / or B can represent: A exists alone, A and B exist at the same time, and B exists alone. The character " / " generally indicates that the related objects before and after are in an "or" relationship.

[0042] Single Edge Nibble Transmission (SENT) protocol: It is a point-to-point, unidirectional communication protocol with high precision and high reliability. It is often used for data transmission from sensors in automobiles to electronic control units (ECUs).

[0043] Figure 1 This is a schematic diagram of a SENT frame exemplified in this application. Figure 2 FIG. 1 is a schematic diagram of another SENT frame exemplarily shown in this application. Figure 1 , Figure 2As shown, the data frame of the SENT protocol can be composed of multiple pulse signals. The SENT frame defined by the data frame format can include: calibration / synchronization pulse (Synchronization / calibration pulse) T, status and communication pulse (Status and Communication pulse, referred to as status pulse) S, at least one data pulse (Data pulse) D1~DK, check pulse (CRC pulse) C and optional pause pulse (Pause pulse) P.

[0044] Among them, the calibration / synchronization pulse T is a pulse with a fixed 56 clock ticks (clock beats), which is used for clock calibration, and is also referred to as the calibration signal in this article. The remaining pulses are non-calibration signals. Specifically, the status pulse S is a pulse of 12-27 clock beats, which is used to transmit the status information of the sensor; each data pulse D is a pulse of 12-27 clock beats, which is used to transmit the data information collected by the sensor, and the SENT frame includes up to 6 consecutive data pulses D; the check pulse C is a pulse with a cycle of 12-27 clock beats, which is used to check whether this SENT frame is correct. The number of data pulses M in the SENT frame and whether the SENT frame includes a pause pulse can be configured.

[0045] Standard Short PWM Code (SPC) protocol: It is an enhancement of the SENT protocol. Taking the data transmission from the sensor to the ECU as an example, the sensor without SPC function starts to transmit data continuously after power-on, while the SPC sensor starts to transmit data only after receiving the trigger pulse sent by the ECU.

[0046] Figure 3 FIG. 1 is a schematic diagram of an SPC frame exemplarily shown in this application. Figure 3As shown, the SPC frame can be composed of multiple pulse signals, and the SPC frame can include: a trigger pulse TRIG (master Trigger Pulse), a calibration / synchronization pulse T, a status pulse S, at least one data pulse D1...DK, a check pulse C, and a pause pulse P in sequence. Among them, the trigger pulse TRIG is sent by the receiver or the device where the receiver is located. After the sensor or the device where the sensor is located receives the trigger pulse, the sensor sends a calibration / synchronization pulse, a status pulse, at least one data pulse, a check pulse, and a pause pulse to the receiver. The calibration / synchronization pulse is a pulse with a fixed 56 clock beats; the status pulse is a pulse with a 12-27 clock beat, which is used to transmit the status information of the sensor; the data pulse is a pulse with a 12-27 clock beat, which is used to transmit the data information collected by the sensor. The SPC frame includes up to 6 consecutive data pulses; the check pulse is a pulse with a 12-27 clock beat cycle, which is used to verify whether this SPC frame is correct. Among them, except for the calibration / synchronization pulse as a calibration signal, other types of pulses, such as status pulses, data pulses, check pulses, and pause pulses are all non-calibration signals. The number K of data pulses in the SPC frame is configurable.

[0047] It should be noted that the data frame format in the embodiment of the present application refers to the format of the data frame based on the communication protocol received by the receiver. For example, the SPC frame defined by the data frame format may include: a calibration / synchronization pulse, a status pulse, at least one data pulse, a check pulse and a pause pulse in sequence, but does not include a trigger pulse sent by the receiver or the device where the receiver is located.

[0048] For ease of understanding, the following Figure 4 , the application scenarios involved in the embodiments of the present application are described.

[0049] Figure 4 A schematic diagram of an application scenario provided by an embodiment of the present application. Figure 4 As shown, the vehicle is provided with a vehicle-mounted sensor and a controller, wherein the vehicle-mounted sensor sends a data frame to the controller in the form of a pulse signal; the controller includes a receiver, and the receiver is used to receive the data frame sent by the vehicle-mounted sensor. Each data frame may include at least one pulse signal. The receiver needs to check the received pulse signal to determine whether it conforms to the data frame format, thereby identifying the data frame.

[0050] Take the example of a sensor sending a SENT frame to a receiver, where the data frame format defines a SENT frame including a calibration / synchronization pulse, a status pulse signal, a data pulse signal, a check pulse signal, and a pause pulse. Based on the standard SENT frame format, the pulse signal can be calibrated / synchronized to determine whether it is a calibration / synchronization pulse; the pulse signal can be non-calibrated / synchronized to determine whether it is a status pulse signal, a data pulse signal, or a check pulse signal, and the pause pulse does not need to be checked. As an example, the receiver can check the first pulse received according to the check list, and if the check passes, the next pulse signal is checked, and so on, corresponding to the following. Figure 1 For the complete SENT frame shown, the checks that need to be performed are one calibration signal check, such as a calibration / synchronization check, and a subsequent non-calibration signal check, specifically checks on the status pulse signal, data pulse signal, and verification pulse signal, and no check is performed. Assume that the number of data pulse signals is M, that is, a complete data frame in the example includes M+4 pulses, of which the last pulse is a pause pulse signal. Taking this as an example, if the checks performed on the consecutive M+3 pulses are all passed, it can be determined that the M+3 pulses include the next received pulse signal, that is, the consecutive M+4 pulse signals are a complete SENT frame, and the M+4 pulses are received as a data frame.

[0051] In actual applications, there may be cases where some data frames are missing. Assume that when the sensor sends a SENT data frame to the receiver, there is an erroneous SENT data frame, and the erroneous frame only includes a calibration / synchronization pulse. After the receiver receives the calibration / synchronization pulse of the erroneous frame, it performs a calibration / synchronization check on the calibration / synchronization pulse of the erroneous frame according to the check list. After the check passes, a non-calibration / synchronization check is performed on the calibration / synchronization pulse of the next data frame of the erroneous frame, resulting in failure of the non-calibration / synchronization check. When the check fails, the receiver performs a calibration / synchronization check on the other pulse signals of the next data frame according to the check list again. The check results are all failures. When the next data frame is correct, the next data frame cannot be received. It is not until the calibration / synchronization check is performed on the calibration / synchronization pulse of the second data frame after the erroneous frame that the second data frame after the erroneous frame can be received and the normal receiving process can be returned. Therefore, the above scheme cannot accurately receive the correct data frame from the sensor.

[0052] In view of this, the embodiments of the present application provide a data frame receiving method, a receiver, a vehicle-mounted controller, a vehicle, an electronic device, a medium and a product. When the pulse signal fails the non-calibration / synchronization check, a calibration / synchronization check is performed on the pulse signal, rather than directly performing a calibration / synchronization check on the next pulse signal. In this way, in abnormal situations such as the missing of the previous data frame, the correct receiving logic can be quickly returned to ensure the successful reception of subsequent data frames, thereby receiving more valid data frames and improving the communication quality of the receiver.

[0053] The technical solution of the present application is illustrated below with specific embodiments. The following specific embodiments can be combined with each other, and the same or similar concepts or processes may not be described in detail in some embodiments.

[0054] Embodiment 1

[0055] Figure 5 A flow chart of a data frame receiving method provided in an embodiment of the present application. The execution subject of the method may be Figure 4 The receiver shown in the figure receives data frames in the form of pulse signals. Figure 5 As shown, the data frame receiving method provided in this embodiment may include:

[0056] S501, obtaining the current pulse signal;

[0057] S502: If the non-calibration signal check performed on the current pulse signal fails, a calibration signal check is performed on the current pulse signal.

[0058] Among the multiple pulse signals corresponding to the data frame, the first pulse signal is the calibration signal, and the rest are non-calibration signals. Combined with the scenario example: each current pulse signal is checked as a target pulse signal. During initial reception, the target pulse signal is the first pulse signal received, and it is defaulted to the first pulse signal of the first data frame received this time.

[0059] In some cases, the target pulse signal is any pulse signal of any data frame during the receiving process. Taking the current pulse signal as a pulse signal received midway as an example, assuming that the receiver originally determines that the current pulse signal is a non-calibration signal of a data frame, it performs a non-calibration signal check (also called a non-calibration / synchronization check) on it. If the non-calibration signal check fails, based on this scheme, a calibration signal check (also called a calibration / synchronization check) is performed on the current pulse signal. Specifically, when the non-calibration check of a pulse signal fails, it may be caused by the missing of the current data frame. Therefore, in this scheme, the current pulse signal is further subjected to a calibration signal check to determine whether it is actually the first pulse signal of the next data frame.

[0060] By checking the pulse signal, it can be determined whether the pulse signal meets the format requirements of the data frame format. The data frame format here refers to the format requirements of a correct data frame received by a receiver under normal circumstances. Among them, the data frame is composed of multiple pulse signals, and the data frame defined by the data frame format can include calibration / synchronization pulses (also called calibration signals) and non-calibration / synchronization pulses (also called non-calibration signals).

[0061] Specifically, if the inspection result of the target pulse signal is failure, and this inspection is a non-calibration / synchronization inspection, it can be determined that the target pulse signal does not meet the format requirements of the non-calibration / synchronization pulse of the data frame, which can include two situations: in the first case, the target pulse signal has a format error; in the second case, the data frame where the pulse signal before the target pulse signal is located is missing, and the target pulse signal is in the correct format and is the calibration / synchronization pulse of the next data frame. At this time, the pulse signal is calibrated / synchronized to determine whether the target pulse signal meets the format requirements of the calibration / synchronization pulse of the data frame, which can effectively avoid the situation in which, in the second case, the next pulse signal is calibrated / synchronized when the inspection fails, resulting in the failure to successfully receive the data frame where the target pulse signal is located.

[0062] The next pulse signal may include the first pulse signal received after the current pulse signal among multiple pulse signals received sequentially by the receiver.

[0063] Specifically, after the current pulse signal is checked and the inspection type of the next pulse signal is determined based on the inspection result of the current pulse signal, the next pulse signal can be used as the current pulse signal, and steps S501-S503 are repeated until all pulse signals received by the receiver are checked, thereby ending the reception of data frames.

[0064] In this embodiment, the current pulse signal is checked according to the inspection type of the current pulse signal. When the inspection fails and is not a calibration / synchronization inspection, a calibration / synchronization inspection is performed on the current pulse signal to determine whether the current pulse signal is a calibration / synchronization pulse of the next data frame; when the calibration / synchronization inspection passes, the inspection type of the next pulse signal is determined according to the data frame format; when the calibration / synchronization inspection fails, the inspection type of the next pulse signal is determined to be a calibration / synchronization inspection; and the next pulse signal is used as the current pulse signal, and the step of inspecting the current pulse signal is returned to execute until all data frames are received. In the above scheme, by performing a calibration / synchronization inspection on the current pulse signal when the current pulse signal inspection fails and is not a calibration / synchronization inspection, the correct receiving logic can be quickly returned to in abnormal situations such as missing of the previous data frame to ensure successful reception of subsequent data frames, thereby receiving more valid data frames and improving the communication quality of the receiver.

[0065] Exemplarily, the type of data frame can be a SENT data frame, and the data frame format includes a calibration / synchronization pulse, a status pulse signal, at least one data pulse signal, a check pulse signal, and an optional pause pulse, wherein the status pulse signal, the data pulse signal, the check pulse signal, and the optional pause pulse signal are non-calibration / synchronization pulses.

[0066] Exemplarily, the type of the data frame may be an SPC data frame, and the data frame format includes a calibration / synchronization pulse, a state pulse signal, at least one data pulse signal, a check pulse signal, and a pause pulse signal, wherein the state pulse signal, the data pulse signal, the check pulse signal, and the pause pulse signal are non-calibration / synchronization pulses. It is understandable that the data frame may also be other types of data frames, which are not limited herein.

[0067] Accordingly, in a possible implementation, the check type may include a calibration / synchronization check (also called a calibration signal check) and a non-calibration / synchronization check (also called a non-calibration signal check). The calibration / synchronization check is used to check whether the target pulse signal meets the format requirements of the calibration / synchronization pulse of the data frame; the non-calibration / synchronization check is used to check whether the target pulse signal meets the format requirements of the non-calibration / synchronization pulse of the data frame. In this embodiment, based on the calibration / synchronization check and / or the non-calibration / synchronization check, a targeted check of the target pulse signal can be achieved.

[0068] Based on the above example, in one possible implementation, the calibration / synchronization check may include a first pulse range check and a pulse frequency drift check. The first pulse range check includes checking whether the deviation value between the duration of the target pulse signal and the first duration exceeds a first threshold; the pulse frequency drift check includes checking whether the deviation value between the frequency of the target pulse signal and the frequency of an adjacent calibration pulse signal exceeds a second threshold; the adjacent calibration pulse signal is the last pulse signal that passed the pulse range check.

[0069] In one example, if the deviation value of the duration is less than or equal to a first threshold, and the deviation value of the frequency is less than or equal to a second threshold, the calibration / synchronization check passes.

[0070] In one example, if the deviation value of the duration is greater than a first threshold and the deviation value of the frequency is greater than a second threshold, the calibration / synchronization check fails.

[0071] The first pulse range check may be a calibration / synchronization pulse range check (Synchronization / Calibration Pulse Range Check, referred to as SPRC), and the pulse frequency drift check may be a calibration / synchronization pulse frequency drift check (Synchronization / Calibration Pulse Frequency Drift Check, referred to as SPFDC).

[0072] Exemplarily, the first threshold may be ±25% of the first range; checking whether the deviation between the duration of the target pulse signal and the first duration exceeds the first threshold may include checking whether the deviation between the duration of the target pulse signal and the first duration exceeds ±25% of the first duration. The first range may be a preset duration.

[0073] Exemplarily, the second threshold can be ±1.5625% of the frequency of the adjacent calibration pulse signal; checking whether the deviation value between the frequency of the target pulse signal and the frequency of the adjacent calibration pulse signal exceeds the second threshold can include checking whether the deviation value between the frequency of the target pulse signal and the frequency of the adjacent calibration pulse signal exceeds ±1.5625% of the frequency of the adjacent calibration pulse signal.

[0074] In this embodiment, a calibration / synchronization check of the target pulse signal is implemented by checking whether the deviation value between the duration of the target pulse signal and the first duration exceeds a first threshold and whether the deviation value between the frequency of the target pulse signal and the frequency of an adjacent calibration pulse signal exceeds a second threshold, so as to accurately determine whether the target pulse signal is a calibration / synchronization pulse.

[0075] In one possible implementation, the non-calibration / synchronous check may include a second pulse range check, which includes checking whether the duration of the target pulse signal belongs to a second duration range. The non-calibration / synchronous check is used to check whether the target pulse signal is a status pulse signal, a data pulse signal or a verification pulse signal.

[0076] The second pulse range check may be a pulse range check (Pulse Range Check, PRC).

[0077] Exemplarily, the second duration range may be 12-27 clock beat cycles, and the second pulse range check may include checking whether the duration of the target pulse signal falls within 12-27 clock beat cycles.

[0078] In some examples, the method further includes:

[0079] If the calibration / synchronization check of the target pulse signal passes, the receiving clock is calibrated based on the target pulse signal.

[0080] Among them, the receiving clock is used to parse the signal received by the receiver. The accuracy of the receiving clock can ensure that the received signal is parsed. In practical applications, calibration / synchronization pulses are defined in the data frame, and the receiving clock can be calibrated based on the calibration / synchronization pulses that have passed the inspection. As an example, the receiver can obtain the range of the pulse signal that has passed the calibration / synchronization check most recently, divide the range of the pulse signal by 56, and obtain the clock beat period of the data frame (also referred to as the receiving clock), thereby completing the calibration of the receiving clock. Subsequently, based on the calibrated receiving clock, the range of the subsequent pulse signal is divided by the calculated clock beat period, and the clock beat number of the subsequent pulse signal can be obtained, and it is determined whether the clock beat number of the pulse signal belongs to 12-27, thereby achieving an accurate second pulse range check.

[0081] That is to say, in the process of receiving data frames, it is necessary to first determine whether a pulse signal meets the format requirements of the calibration / synchronization pulse of the data frame through a calibration / synchronization check. If the check passes, non-calibration / synchronization checks are performed on other pulse signals after the pulse signal.

[0082] In this embodiment, a calibration / synchronization check of the target pulse signal is implemented by checking whether the deviation value between the range of the target pulse signal and the first range exceeds the first threshold and whether the deviation value between the frequency of the target pulse signal and the frequency of the adjacent calibration pulse signal exceeds the second threshold, so as to accurately determine whether the target pulse signal is a calibration / synchronization pulse.

[0083] In one example, the method further includes: if the non-calibration signal check is passed for the current pulse signal, performing a calibration signal check or a non-calibration signal check on the next pulse signal.

[0084] Among them, the non-calibration signal check refers to the check of non-calibration signals in the data frame, such as status signals, data signals, verification signals, etc. Specifically, taking the case where the receiver performs a non-calibration signal check on the pulse signal as an example, assuming that the non-calibration check on a pulse signal passes, that is, it is determined that the pulse signal is a non-standard pulse of the current data frame, then the calibration signal check or non-calibration signal check is performed on the next pulse signal. This is because the non-calibration signal check of the current pulse signal passes, which means that the pulse signal is a non-standard pulse signal of the current data frame. This non-standard pulse may be the last pulse signal of the current data frame, or it may not be the last pulse signal. If it is the last pulse signal, the next pulse signal should be the first pulse signal of the next data frame. Accordingly, in this case, a calibration signal check needs to be performed on the next pulse. If the current pulse signal is not the last pulse signal of the current data frame, that is, the next pulse signal is still a non-calibration signal of the current data frame, then a non-calibration signal check needs to be performed on the next pulse signal to ensure the reliability of the data frame check.

[0085] In order to determine the type of check for the next pulse signal, in one example, if the non-calibration signal check for the current pulse signal passes, then a calibration signal check or a non-calibration signal check is performed on the next pulse signal, including:

[0086] If the non-calibration signal check is passed for the current pulse signal, a calibration signal check or a non-calibration signal check is performed on the next pulse signal according to the number of pulse signals that have passed the check.

[0087] The number of pulse signals that have been checked and passed refers to the number of pulse signals that have been checked and passed after the previous data frame was successfully received. According to the number of pulse signals that have been checked and passed, it can be determined whether the current pulse signal is the last pulse signal of the current data frame. If the current pulse signal is not the last pulse signal of the current data frame, it is necessary to perform a non-calibration signal check on the next pulse signal; if the current pulse signal is the last pulse signal of the current data frame, it is necessary to perform a calibration signal check on the next pulse signal, so as to accurately perform the data frame check.

[0088] Exemplarily, if the pulse checks performed on N consecutive target pulse signals are all passed, and the check performed on the first target pulse signal among the N target pulse signals is a calibration / synchronization check, the N target pulse signals are integrated into a data frame, and it is determined that the data frame is received successfully; wherein N is the number of pulse signals contained in the data frame defined by the data frame format.

[0089] Among them, the pulse check performed in N consecutive target pulse signals may include N checks, that is, each pulse is checked, or it may be a partial pulse check. In practical applications, it can be determined according to the format of the data frame. For example, the receiver does not check some pulse signals in the data frame defined by the data frame format. For example, the receiver directly receives the pause pulse of the SENT frame or SPC, and does not check the pause pulse. In combination with the aforementioned method of determining the inspection type of the next pulse signal according to the inspection list, the inspection list may also include not performing the inspection. In short, the number of items in the inspection list may be the same as the number of pulse signals contained in the data frame defined by the data frame format.

[0090] In this embodiment, the pulse check performed on N consecutive target pulse signals refers to the pulse check performed on the pulses that need to be checked in the N consecutive target pulse signals according to the N items in the check list, and for the pulse signals that do not need to be checked, it is sufficient for the signal to be received without determining whether the check has passed.

[0091] Taking the data frame type as SENT frame as an example, assuming that the SENT frame includes a pause pulse, and there are 3 data pulses in the SENT frame, then N=7, and the check list is calibration / synchronization check, non-calibration / synchronization check, non-calibration / synchronization check, non-calibration / synchronization check, non-calibration / synchronization check, non-calibration / synchronization check, and no check. After receiving pulse signals S1, S2, S3, S4, S5, S6, and S7, the receiver performs a calibration / synchronization check on pulse signal S1, and if the pulse signal S1 passes the check, a non-calibration / synchronization check is performed on pulse signal S2, and if the pulse signal S2 passes the check, a non-calibration / synchronization check is performed on pulse signal S3, and if the pulse signal S3 passes the check, a non-calibration / synchronization check is performed on pulse signal S4, and if the pulse signal S4 passes the check, a non-calibration / synchronization check is performed on pulse signal S5, and if the pulse signal S5 passes the check, a non-calibration / synchronization check is performed on pulse signal S6, and after the pulse signal S6 passes the check, a non-calibration / synchronization check is not performed on pulse signal S7. Since the pulse checks performed on the pulse signals S1 to S7, that is, the pulse checks on the pulse signals S1 to S6, are all passed, the pulse signals S1 to S7 are regarded as a data frame, and the reception of the data frame is completed.

[0092] In this embodiment, after the inspection of N consecutive target pulse signals is passed, the N target pulse signals are integrated into a data frame, and it is determined that the data frame is received successfully, so that a valid data frame can be accurately received.

[0093] In the specific implementation, the format of the data frame is divided into two cases.

[0094] Case 1: The standard data frame does not include a pause pulse.

[0095] In a possible implementation, the number of the multiple pulse signals corresponding to the data frame is N, N is a positive integer not less than 2, and the data frame does not include a pause pulse.

[0096] In this case, in one example, according to the number of pulse signals that have passed the inspection, performing a calibration signal inspection or a non-calibration signal inspection on the next pulse signal includes:

[0097] If i consecutive pulse signals have passed the inspection and i is less than N, a non-calibration signal inspection is performed on the next pulse signal.

[0098] Specifically, if there are i consecutive pulse signal checks that have passed and i is less than N, the current pulse signal is not the last pulse signal of the current data frame, that is, the next pulse signal is still a non-calibration signal of the current data frame, then it is necessary to perform a non-calibration signal check on the next pulse signal in order to accurately perform the data frame check.

[0099] In one example, according to the number of pulse signals that have passed the inspection, performing a calibration signal inspection or a non-calibration signal inspection on the next pulse signal includes:

[0100] If N consecutive pulses have passed the inspection, the next pulse signal will be subjected to a calibration signal inspection.

[0101] Specifically, if N consecutive pulse checks have passed, the current pulse signal is the last pulse signal of the current data frame, and the next pulse signal is the calibration signal of the next data frame. It is necessary to perform a calibration signal check on the next pulse signal to accurately perform the data frame check.

[0102] In one example, the method further includes:

[0103] If N consecutive pulses have passed the check, it is determined that the current data frame has been received.

[0104] Specifically, if N consecutive pulses have passed the inspection, the N consecutive pulse signals can be regarded as a data frame that conforms to the data frame format, and it is determined that the current data frame has been received. Starting from the next pulse signal, the counting of the number of pulse signals that have passed the inspection can be restarted, thereby accurately performing the data frame inspection.

[0105] Case 2: The standard data frame includes a pause pulse.

[0106] In a possible implementation, the number of the multiple pulse signals corresponding to the data frame is N, where N is a positive integer not less than 2, and the Nth pulse signal in the data frame is a pause pulse.

[0107] It should be noted that, for the pause pulse, only receiving processing is performed without checking, and the pause pulse is often the last pulse signal of the data frame.

[0108] In one example, according to the number of pulse signals that have passed the inspection, performing a calibration signal inspection or a non-calibration signal inspection on the next pulse signal includes:

[0109] If i consecutive pulse signals have passed the inspection and i is less than N-1, the current pulse signal determines that the inspection to be performed on the next pulse signal is a non-calibration signal inspection.

[0110] Specifically, if there are i consecutive pulse signal checks that have passed and i is less than N-1, the next pulse signal is still a non-calibration pulse signal of the current data frame, and the next pulse signal is not the Nth pulse signal of the current data frame, that is, the next pulse signal is not the pause pulse of the current data frame, then a non-calibration signal check is performed on the next pulse signal, thereby accurately performing the data frame check.

[0111] In one example, the method further includes:

[0112] If N-1 consecutive pulses have passed the inspection, the next pulse signal will not be checked.

[0113] Specifically, if there are currently N-1 consecutive pulse checks that have passed, the current pulse signal is the N-1th pulse signal of the current data frame, and the next pulse signal is the Nth pulse signal of the current data frame. That is to say, the next pulse signal is the pause pulse of the current data frame, and the next pulse signal is not checked, thereby accurately performing the data frame check.

[0114] In one example, the method further includes:

[0115] If N-1 consecutive pulses have passed the inspection, the current data frame is determined to have been received after the next pulse is received.

[0116] Based on the above example, if there are currently N-1 consecutive pulse checks that have passed, the next pulse signal is the pause pulse of the current data frame. After directly receiving the next pulse signal, the consecutive N-1 pulse signals and the next pulse signal are regarded as a data frame that conforms to the data frame format. It is determined that the current data frame has been received, and the counting of the number of pulse signals that have passed the check is restarted, so as to accurately perform the data frame check.

[0117] In this embodiment, based on whether the data frame includes a pause pulse and the number of signals that pass continuous inspection, the inspection type of the next pulse signal can be accurately determined, and the data frame that conforms to the data frame format can be received, so that the data frame can be received accurately and efficiently, thereby improving the communication quality.

[0118] In one example, the method further includes:

[0119] After the current data frame is received, the next pulse signal is checked as a calibration signal.

[0120] Specifically, after the current data frame is received, if the next pulse signal is a standard signal for the next data frame, the next pulse signal is checked as a calibration signal, thereby starting to check and receive the next data frame.

[0121] In some cases, the result of the signal check on the current pulse may also be a failure. In a possible implementation, the method further includes:

[0122] If the non-calibration signal check fails for the current pulse signal, the number of pulse signals that have passed the continuous check will be cleared.

[0123] Specifically, when the non-calibration signal check fails for the current pulse signal, the current data frame is not a data frame that conforms to the data frame format, the number of pulse signals that have passed the continuous check is reset to zero, the reception of the data frame is stopped, and a calibration signal check is performed on the current pulse signal to determine whether the current pulse signal is the calibration signal for the next data frame, thereby ensuring the reliability of the data frame check.

[0124] In a possible implementation, the method further includes:

[0125] If the calibration signal check is passed for the current pulse signal, a non-calibration signal check is performed on the next pulse signal.

[0126] Specifically, the first pulse signal included in the data frame defined by the data frame format is a calibration / synchronization pulse. Therefore, if the calibration / synchronization check of the target pulse signal passes, it can be considered that the target pulse signal is the calibration / synchronization pulse of the data frame. Then, the check type of the next pulse signal is determined according to the data frame format, and the next pulse signal is checked to determine whether the next pulse signal meets the format requirements of the data frame, thereby determining whether the next pulse signal is a non-calibration / synchronization pulse of the data frame where the target pulse signal is located. If the calibration / synchronization check of the target pulse signal fails, it can be considered that the target pulse signal is not the calibration / synchronization pulse of the data frame, and then the next pulse signal is calibrated / synchronized to determine whether the next pulse signal is the calibration / synchronization pulse of the next data frame, thereby starting to receive the next data frame.

[0127] In this embodiment, if the calibration signal check of the current pulse signal passes, the current pulse signal is the calibration signal of the current data frame, and the next pulse signal is the non-calibration signal of the current data frame. It is determined to perform a non-calibration signal check on the next pulse signal, thereby ensuring the reliability of the data frame check.

[0128] In a possible implementation, the method further includes:

[0129] If the calibration signal check performed on the current pulse signal fails, a calibration signal check is performed on the next pulse signal.

[0130] Specifically, if the calibration signal check on the current pulse signal fails, the current pulse signal is not the calibration signal of the data frame. It is necessary to determine whether the next pulse signal is the calibration signal of the data frame and determine whether to perform a calibration signal check on the next pulse signal to ensure the reliability of the data frame check.

[0131] In some examples, the non-calibration signal in the data frame includes at least one of the following types: a status signal, a data signal, a check signal, and a pause signal.

[0132] In some examples, the multiple pulse signals corresponding to the data frame include: 1 calibration signal, K status signals, M data signals, and J check signals;

[0133] Wherein, M, K and J are all positive integers greater than or equal to 1.

[0134] Exemplarily, for a SENT frame, K=1, J=1, and the number M of data signals can be configured according to actual needs.

[0135] In order to conveniently check each pulse signal, in a possible implementation, the method further includes:

[0136] According to the inspection list, determining the inspection type of the non-calibration signal inspection for the next pulse signal;

[0137] The check list is used to indicate the type of each pulse signal among the multiple pulse signals corresponding to the data frame.

[0138] Specifically, the receiver may predetermine, according to the data frame format, the inspection type corresponding to each pulse signal in the data frame defined by the data frame format, obtain an inspection list, and inspect the pulse signal according to the inspection list.

[0139] For example, assuming that the data frame defined by the data frame format includes calibration / synchronization pulse A, non-calibration / synchronization pulse B1 and non-calibration / synchronization pulse B2 in sequence, the check list may include calibration / synchronization check, first non-calibration / synchronization check and second non-calibration / synchronization check in sequence. When the receiver receives pulse signals a, b, c, d, ..., it performs calibration / synchronization check on pulse signal a according to the check list. If the calibration / synchronization check passes, the first non-calibration / synchronization check is performed on pulse signal b. If the first non-calibration / synchronization check passes, the second non-calibration / synchronization check is performed on pulse signal c. If the second non-calibration / synchronization check passes, the pulse signals a, b, c are taken as a data frame, the reception of the data frame is completed, and calibration / synchronization check is performed on pulse signal d. Assuming that the calibration / synchronization check has been performed on the target pulse signal, it is determined that the check type of the next pulse signal is the first non-calibration / synchronization check.

[0140] In this embodiment, according to the inspection types corresponding to the pulse signals in the data frame defined by the data frame format, the inspection type after the inspection type of the target pulse signal is used as the inspection type of the next pulse signal to achieve the purpose of determining the inspection type of the next pulse signal.

[0141] Exemplarily, the check list can be pre-configured according to the number K of state signals, the number M of data signals, the number J of check signals, and whether a pause pulse is included in the data frame. The check list can include the check types corresponding to the types of each pulse signal in the multiple pulse signals corresponding to the data frame in sequence. According to the number of pulse signals that have been checked and passed, determine the check item corresponding to the check in the check list that the current pulse signal has passed, and based on the next check item in the check list, determine the check type for the non-calibration signal check for the next pulse signal. For example, the check list includes 1 calibration signal check and K+M+J non-calibration signal checks. If the current pulse signal check passes, and the number of pulse signals that have been checked and passed is j, and 1≤j<1+K+M+J, determine that the check that the current pulse signal has passed corresponds to the jth check item in the check list, and use the check type included in the j+1th check item in the check list as the check type for the non-calibration signal check for the next pulse signal, so that the data frame can be checked conveniently and accurately.

[0142] In a possible implementation, the method further includes:

[0143] Determine the check for the next signal according to the current receiving state of the receiver;

[0144] The receiver is configured to switch between a plurality of receiving states, and the switching condition is determined by a check result of the pulse signal.

[0145] Specifically, corresponding to different types of pulse signals in the data frame, the receiver may be provided with a plurality of receiving states, and in each receiving state, a check corresponding to the type of pulse signal corresponding to the receiving state is performed.

[0146] For example, the data frame includes a calibration signal, a status signal, a data signal, a check signal, and an optional pause signal, and the receiver is provided with an idle state, a calibration state, a status signal state, a data state, a check state, and an optional pause state. In the calibration state, the current pulse signal is checked for the calibration signal; in the status signal state, the current pulse signal is checked for the status signal; in the data state, the current pulse signal is checked for the data signal; in the check state, the current pulse signal is checked for the check signal; in the pause state, the current pulse signal is not checked.

[0147] The following specifically describes the state switching of the receiver by taking an example in which a data frame includes 1 calibration signal, 1 state signal, M data signals, 1 check signal and an optional pause signal.

[0148] Exemplarily, the receiver enters an idle state after initialization, and the method further includes:

[0149] If the receiver is in an idle state and a pulse signal is received, the receiving state of the receiver is switched to a calibration state.

[0150] Specifically, after the receiver is successfully initialized, if no pulse signal is received, the receiver remains in an idle state; if a pulse signal is received, the receiver's receiving state is switched to a calibration state. In the calibration state, a calibration check is performed on the current pulse signal.

[0151] Exemplarily, determining, according to a current receiving state of the receiver, to check the next signal includes:

[0152] If the current receiving state of the receiver is the calibration state and the calibration check of the current pulse signal passes, the receiving state is switched to the status signal state.

[0153] Specifically, in the calibration state, when the calibration check of the current pulse signal passes, the current pulse signal is the calibration signal of the current data frame, and it is necessary to further determine whether the next pulse signal is the state signal of the current data frame, so the receiving state is switched to the state signal state. In the state signal state, the next pulse signal is received, and the received next pulse signal is used as the current pulse signal, and the state signal check is performed on the current pulse signal.

[0154] Exemplarily, determining, according to a current receiving state of the receiver, to check the next signal includes:

[0155] If the current receiving state of the receiver is the calibration state, and the calibration check of the current pulse signal fails, the receiving state is maintained in the calibration state.

[0156] Specifically, in the calibration state, when the calibration check of the current pulse signal fails, the current pulse signal is not the calibration signal of the data frame, and it is necessary to determine whether the next pulse signal is the calibration signal of the data frame. Therefore, the receiving state is switched to the idle state, waiting to receive the next pulse signal.

[0157] Exemplarily, determining, according to a current receiving state of the receiver, to check the next signal includes:

[0158] If the current receiving state of the receiver is the state signal state and the state signal check of the current pulse signal passes, the receiving state is switched to the data state.

[0159] Specifically, in the status signal state, when the data signal check of the current pulse signal passes, the current pulse signal is the status signal of the current data frame, and it is necessary to further determine whether the next pulse signal is the data signal of the current data frame, so the receiving state is switched to the data state. In the data state, the next pulse signal is received, and the received next pulse signal is used as the current pulse signal, and the data signal check is performed on the current pulse signal.

[0160] Exemplarily, determining, according to a current receiving state of the receiver, to check the next signal includes:

[0161] If the current receiving state of the receiver is the state signal state and the state signal check of the current pulse signal fails, the receiving state is switched to the calibration state.

[0162] Specifically, in the status signal state, when the status signal check on the current pulse signal fails, the current pulse signal is not the status signal of the current data frame, and it is necessary to further determine whether the current pulse signal is the calibration signal of the next data frame. Therefore, the receiving state is switched to the calibration state. In the calibration state, a calibration signal check is performed on the current pulse signal.

[0163] Exemplarily, determining, according to a current receiving state of the receiver, to check the next signal includes:

[0164] If the current receiving state of the receiver is the data state, and the data signal check of the current pulse signal passes, and the number of times the current data signal check has passed is M, the receiving state is switched to the verification state.

[0165] Specifically, in the data state, when the data signal check of the current pulse signal passes, the current pulse signal is the data signal of the current data frame, and it is necessary to further determine whether the current pulse signal is the last data signal of the current data frame. If the current data signal check has passed the number of times M, the current pulse signal is the last data signal of the current data frame, and the next pulse signal is the verification signal of the current data frame, so the receiving state is switched to the calibration state, and in the calibration state, the calibration signal check is performed on the current pulse signal; if the previous data signal check has passed the number of times less than M, the current pulse signal is not the last data signal of the current data frame, and the next pulse signal is still the data signal of the current data frame, so the receiving state remains in the data state.

[0166] Similarly, when the number of status signals and check signals in a standard data frame is not 1, the switching of the status signal state and the check state can also be performed in a similar manner, which will not be described in detail here.

[0167] Exemplarily, determining, according to a current receiving state of the receiver, to check the next signal includes:

[0168] If the current receiving state of the receiver is the data state and the data signal check of the current pulse signal fails, the receiving state is switched to the calibration state.

[0169] Specifically, in the data state, when the data signal check on the current pulse signal fails, the current pulse signal is not the data signal of the current data frame, and it is necessary to further determine whether the current pulse signal is the calibration signal of the next data frame. Therefore, the receiving state is switched to the calibration state. In the calibration state, a calibration signal check is performed on the current pulse signal.

[0170] Exemplarily, determining, according to a current receiving state of the receiver, to check the next signal includes:

[0171] If the current receiving state of the receiver is the verification state, the receiving state is switched to the idle state after the verification signal check is performed on the current pulse signal.

[0172] Specifically, if the standard data frame does not include a pause pulse, the receiver does not set the pause state. The check signal check may include a non-calibration signal check and a check signal check (CRC Check, CRCC), and the check signal check is used to check the current signal. In the check state, when the non-calibration signal check and the check signal check of the current pulse signal are passed, it can be determined that the reception of a data frame has been completed, and the idle state is switched to start receiving the next data frame.

[0173] Exemplarily, determining, according to a current receiving state of the receiver, to check the next signal includes:

[0174] If the current receiving state of the receiver is the verification state, after the verification signal check is performed on the current pulse signal, the receiving state is switched to the pause state, and when the second pulse is received next, the receiving state is switched to the calibration state.

[0175] Specifically, if the standard data frame includes a pause pulse, the receiver sets the pause state. In the verification state, when the non-calibration signal check and the verification signal check of the current pulse signal are both passed, the receiver switches to the pause state. In the pause state, the next pulse signal is received to complete the reception of one data frame. After receiving the next pulse signal, the receiver switches to the idle state to start receiving the next data frame.

[0176] In this embodiment, multiple receiving states of the receiver are set corresponding to different types of pulse signals in the data frame. The receiver performs corresponding checks in each receiving state and switches the state of the receiver according to the check results, so that each pulse signal can be checked efficiently and accurately, and the data frame can be received efficiently and accurately.

[0177] In practical applications, before receiving a data frame, the receiver needs to predetermine the data frame format. In a possible implementation, the non-calibration signal in the data frame includes at least one data pulse signal, and the method further includes:

[0178] Acquire configuration information, where the configuration information indicates the number of data pulse signals in the data frame;

[0179] Based on the configuration information, determine the checklist.

[0180] Specifically, the configuration information may be configuration information of the sensor. Based on different sensor configurations, the sensor may send data frames corresponding to different data frame formats to the receiver. Therefore, the receiver may obtain the configuration information of the sensor in advance, and the configuration information includes the type of the data frame, whether the data frame includes a pause pulse, and the number of data pulse signals included in the data frame format, thereby obtaining the data frame format. According to the data frame format, the receiver may obtain a check list corresponding to the data frame.

[0181] In this embodiment, by acquiring the configuration information of the sensor, the type of the data frame, whether the data frame includes a pause pulse, and the number of data pulse signals included in the data frame can be determined, so as to achieve the purpose of determining the data frame format.

[0182] Taking the data frame type of SENT frame as an example, the following is combined with Figure 6-Figure 15 , the data frame receiving method provided in the embodiment of the present application is specifically described.

[0183] Figure 6 The flowchart of the SENT frame receiving method provided in the embodiment of the present application is shown in FIG. Figure 4 The receiver shown. As an example, different states of the receiver can be defined according to the data frame format to characterize different reception stages of the data frame. For example, for a SENT frame, the states of the receiver can be set to include an idle state, a sync state, an scn state, a data state, a crc state, and an optional pause state, wherein the sync state, the scn state, the data state, the crc state, and the optional pause state correspond to the calibration / synchronization pulse, the status pulse, the data pulse, the check pulse, and the optional pause pulse in the standard format of the SENT frame, respectively. In practical applications, the above method can be implemented by configuring the receiver state.

[0184] Figure 7 A schematic diagram of a receiver state machine provided in an embodiment of the present application, such as Figure 6 and Figure 7 As shown, the receiver states include: idle state, sync state, scn state, data state, crc state and optional pause state, and the check list includes: calibration / synchronization check, non-calibration / synchronization check, M times non-calibration / synchronization check and non-calibration / synchronization check and optional no check, wherein the receiver is idle in the idle state and does not check the pulse signal; in the sync state, the calibration / synchronization check is used as the check type, and the target pulse signal is checked. If the check passes, the receiver enters the scn state; in the scn state, the non-calibration / synchronization check is used as the check type. The target pulse signal is checked as the check type. If the check passes, the data state is entered. In the data state, non-calibration / synchronization check is used as the check type. M target pulse signals are checked M times. If all the checks pass, the crc state is entered. In the crc state, non-calibration / synchronization check is used as the check type. The target pulse signal is checked and verified. If the check and verification pass, if there is no pause state, the data frame is received. If there is a pause state, the pause state is entered. The target pulse signal is not checked. The pause pulse is received to complete the reception of the data frame. In the scn state, data state, and crc state, if the check fails, the calibration / synchronization check is used as the check type. The target pulse signal is checked. If the check passes, the state returns to the scn state. If the check fails, the state returns to the idle state.

[0185] Among them, performing calibration / synchronization check on the target pulse signal may include performing SPRC check and SPDFC check on the target pulse signal; performing non-calibration / synchronization check on the target pulse signal may include performing PRC check on the target pulse signal.

[0186] Specifically, after the receiver is successfully initialized, it enters the idle state. In the idle state, the receiver obtains configuration information and waits for the pulse signal of the received data frame. The configuration information may include the type of data frame, whether the data frame format includes a pause pulse, and the number M of pulse signals in the data frame format.

[0187] When the receiver receives the pulse signal, it switches to the sync state. In the sync state, the receiver uses the pulse signal P1 to be checked as the target pulse signal, and uses the calibration / synchronization check as the check type to check the target pulse signal. If the check passes, it is considered that the received pulse signal P1 is the calibration / synchronization pulse of the data frame.

[0188] Specifically, the target pulse signal is subjected to an SPRC check. If the SPRC check fails, the state returns to the idle state and waits for the pulse signal to be received. If the SPRC check passes, the target pulse signal is subjected to an SPDFC check. If the SPDFC check fails, the state returns to the idle state. If the SPDFC check passes, the received pulse signal P1 is considered to be the calibration / synchronization pulse of the data frame, and the receiving clock is corrected according to the pulse signal P1, and the counter RX is set to 0. The counter RX can be used to record the number of times the non-calibration / synchronization check is performed in the SCN state and the data state.

[0189] Wherein, correcting the receiving clock according to the pulse signal P1 may include obtaining the range of the pulse signal P1, dividing the range of the pulse signal P1 by 56, and obtaining the clock beat period f of the data frame where the pulse signal P1 is located. rx .

[0190] According to the value of RX, it can switch to the corresponding state. Specifically, determine whether RX is equal to M+1. If it is equal, switch to crc state. If it is not equal, determine whether RX is less than M and greater than 0. If RX does not meet the condition of less than M and greater than 0, switch to scn state. If RX meets the condition of less than M and greater than 0, switch to data state.

[0191] The initial value of RX is 0, so after the calibration / synchronization check of the pulse signal P1 passes, the receiver switches from the sync state to the scn state.

[0192] In the scn state, the next pulse signal P2 corresponding to the pulse signal P1 is used as the target pulse signal, and the target pulse signal is checked with the non-calibration / synchronization check as the inspection type. If the non-calibration / synchronization check fails, the target pulse signal is calibrated / synchronized; if the non-calibration / synchronization check passes, the pulse signal P2 is considered to be the state pulse of the data frame, RX is increased by 1, and the step of determining whether RX is equal to M+1 is returned. If the calibration / synchronization check of the target pulse signal passes, the pulse signal P2 is considered to be the calibration / synchronization pulse of the data frame, and the step of correcting the receiving clock according to the pulse signal P2 and setting the counter RX to 0 is returned; if the calibration / synchronization check of the target pulse signal fails, it is switched to the idle state.

[0193] In the scn state, after the pulse signal P2 is checked for non-calibration / synchronization and RX is increased by 1, the value of RX is updated to 1. At this time, it can be determined that RX is not equal to M+1, and RX satisfies the condition of being less than M and greater than 0, so it switches to the data state.

[0194] In the data state, firstly, the next pulse signal P3 corresponding to the pulse signal P2 is taken as the target pulse signal, and the target pulse signal is checked with the non-calibration / synchronization check as the check type. If the non-calibration / synchronization check fails, the target pulse signal is calibrated / synchronized (SPRC and SPFDC); if the non-calibration / synchronization check passes, the pulse signal P3 is considered to be a data pulse of the data frame, RX is increased by 1, and the step of determining whether RX is equal to M+1 is returned. If the calibration / synchronization check of the target pulse signal passes, the pulse signal P3 is considered to be the calibration / synchronization pulse of the data frame, and the step of correcting the receiving clock according to the pulse signal P3 and setting the counter RX to 0 is returned; if the calibration / synchronization check of the target pulse signal fails, it is switched to the idle state. In the data state, after the non-calibration / synchronization check of the pulse signal P2+M passes and RX is increased by 1, the receiver can determine that the M pulse signals P2~P2+M after the pulse signal P2 are M data pulses, at which time RX=M+1, and it switches to the crc state.

[0195] In the crc state, the next pulse signal P2+M+1 (P3+M) corresponding to the pulse signal P2+M is used as the target pulse signal, and the target pulse signal is checked with non-calibration / synchronization check and verification signal check as the inspection type. If the non-calibration / synchronization check and / or verification signal check fail, the target pulse signal is calibrated / synchronized; if the non-calibration / synchronization check and verification signal check pass, the pulse signal P2+M+1 is checked, and if the check passes, the pulse signal P2+M+1 is considered to be the verification pulse of the data frame, and if the check fails, it switches to the idle state. If the calibration / synchronization check of the target pulse signal passes, the pulse signal P2+M+1 is considered to be the calibration / synchronization pulse of the data frame, and returns to the step of correcting the receiving clock according to the pulse signal P2+M+1, and setting the counter RX to 0; if the calibration / synchronization check of the target pulse signal fails, it switches to the idle state.

[0196] If the data frame format does not include a pause pulse, the number of pulses in the data frame format is N=3+M. After the pulse signal P3+M is verified, the N pulse signals P1 to P3+M are regarded as a data frame to complete the reception of the data frame. If the data frame reception fails, it returns to the idle state.

[0197] If the data frame format includes a pause pulse, the number of pulses in the data frame format is N = 4 + M. After the pulse signal P3 + M is verified, it switches to the pause state, receives the next pulse signal P4 + M corresponding to the pulse signal P3 + M, and takes the N pulse signals P1 to P4 + M as a data frame to complete the reception of the data frame. If the data frame reception fails, it returns to the idle state.

[0198] It should be noted that Figure 6 The following is an example of the successful reception process of a data frame. Figure 7 As shown, after the receiver completes receiving the data frame in the CRC state or the PAUSE state, it can also return to the IDLE state to wait for receiving the next data frame.

[0199] Taking the data frame type of SENT frame as an example, the following is combined with Figure 8-Figure 11 , the data frame receiving method provided in an embodiment of the present application is described.

[0200] Figure 8 A waveform diagram of an erroneous SENT frame provided in an embodiment of the present application is shown in FIG. Fig. 9 A waveform diagram of another erroneous SENT frame provided in an embodiment of the present application is shown in FIG. Fig.10 A waveform diagram of another erroneous SENT frame provided in an embodiment of the present application is shown in FIG. Fig.11 A waveform diagram of another erroneous SENT frame provided in an embodiment of the present application is shown in FIG. Figure 8 , Fig. 9 , Fig.10 , Fig.11 As shown, Tn+1, Sn+1, Dn+1-1, Dn+1-M, Cn+1, and Pn+1 respectively represent the calibration / synchronization pulse, status pulse, 1st data pulse, Mth data pulse, check pulse, and optional pause pulse of the data frame n+1 actually sent by the sensor, and the state of the receiver when checking the pulse signal is marked above the pulse signal waveform. The data frame format includes the calibration / synchronization pulse, status pulse, Mth data pulse, check pulse, and optional pause pulse.

[0201] Figure 8 , Fig. 9 , Fig.10 , Fig.11Four situations in which errors occur in data frame n and part of the pulse signal is lost are shown, namely, the state pulse Sn of data frame n and the subsequent pulse signal is lost, the first data pulse Dn-1 of data frame n and the subsequent pulse signal is lost, the Mth data pulse Dn-M of data frame n and the subsequent pulse signal is lost, and the check pulse Cn of data frame n and the subsequent pulse signal is lost. When the receiver is in the scn state, data state, and crc state, the calibration / synchronization pulse Tn+1 of data frame n+1 is used as the target pulse signal, and the non-calibration / synchronization check (PRC) of the target pulse signal fails, and when the calibration / synchronization check passes, it is declared that an error has occurred here and the receiver state is set to the scn state, indicating that the current pulse signal is a valid synchronization / calibration pulse, and the pulse signal is used to calibrate the receiving clock, and then the data frame n+1 continues to be correctly received in the scn state. Therefore, when an error occurs, the error can be corrected within the range of at least one frame.

[0202] Assume that the receiver communicates with the sensor, and the sensor sends data frames with the number X0, in which Figure 8-Figure 11 In this example, the number of error frames of the same type is X1, and Figure 8-Figure 11 In this example, the number of different types of error frames is X2, and the error rate of the receiver frame reception is (X1+X2) / X0. It can be understood that any pulse signal missing in the data frame can be regarded as Figure 8-Figure 11 Same type of error in the example.

[0203] For ease of understanding, when any check error occurs in the receiver, the receiver returns to the idle state as an example, and the data frame receiving method provided in the embodiment of the present application is compared. Figure 12-Figure 15 Provide explanation.

[0204] Fig.12 A waveform diagram of another erroneous SENT frame provided in an embodiment of the present application is shown in FIG. Fig.13 A waveform diagram of another erroneous SENT frame provided in an embodiment of the present application is shown in FIG. Fig.14 A waveform diagram of another erroneous SENT frame provided in an embodiment of the present application is shown in FIG. Fig.15 A waveform diagram of another erroneous SENT frame provided in an embodiment of the present application. Fig.12 , Fig.13 , Fig.14 , Fig.15 Shown are Figure 8 , Fig. 9 , Fig.10 , Fig.11 The corresponding four types of error frames. Figure 12-16As shown, when the receiver is in the scn state, data state, and crc state, the calibration / synchronization pulse Tn+1 of the data frame n+1 is used as the target pulse signal. If the non-calibration / synchronization check (PRC) of the target pulse signal fails, it returns to the idle state. Since the state pulse Sn+1, data pulses Dn+1-1 to Dn+1-M, and check pulse Cn+1 of the data frame n+1 are all non-calibration / synchronization pulses. The receiver fails the state pulse Sn+1, data pulses Dn+1-1 to Dn+1-M, and check pulse Cn+1, and returns to the idle state, resulting in the failure to successfully receive the data frame. It is not until the calibration / synchronization pulse Tn+2 of the data frame n+2 is checked that the data frame n+2 can be received normally. Therefore, when an error occurs, the error needs to be corrected within the range of at least two error frames.

[0205] Assume that the receiver communicates with the sensor, and the sensor sends data frames with the number X0, in which Figure 12-Figure 15 In this example, the number of error frames of the same type is X1, and Figure 12-Figure 15 In the example, the number of different types of error frames is X2, so the error rate of the receiver frame reception is (2*X1+X2) / X0.

[0206] Therefore, the data frame receiving method provided in the embodiment of the present application can achieve a receiving error rate lower than the above Figure 12-Figure 15 The solution shown has low X1 / X0.

[0207] In this embodiment, when the non-calibration / synchronization check fails for the target pulse signal, the calibration / synchronization check is performed on the target pulse signal. This avoids the problem that the current synchronization / calibration pulse signal is regarded as an invalid pulse signal due to the failure of the non-calibration / synchronization check, resulting in the failure to correctly receive the data frame where the synchronization / calibration pulse is located. The data frame where the synchronization / calibration pulse is located can be successfully received, and the error is corrected within the scope of only one frame error, thereby greatly improving the communication quality.

[0208] It is understood that the step numbers in the various embodiments of the present application do not constitute a limitation on the execution order, and the execution order of the steps in each embodiment should be determined according to its internal logic. The various embodiments described in this application can be implemented separately or independently, and this application does not make specific limitations on this.

[0209] The present application also provides a receiver, Fig.16 , the receiver provided in the embodiment of the present application is described.

[0210] Fig.16 This is a schematic diagram of the structure of a receiver provided in an embodiment of the present application. Fig.16 As shown, the receiver may include:

[0211] An acquisition module 161 is used to acquire a current pulse signal;

[0212] The checking module 162 is configured to perform a calibration signal check on the current pulse signal if the check on the current pulse signal is a non-calibration signal check and the check result is a failure.

[0213] The receiver provided in this embodiment can be used to execute the data frame receiving method shown in the above method embodiment. Its implementation principle and technical effects are similar and will not be described in detail here.

[0214] The embodiment of the present application also provides a vehicle-mounted controller, which can be as follows Figure 4 The vehicle-mounted controller shown. The vehicle-mounted controller may include: a receiver and a processor as described above;

[0215] The receiver receives a data frame sent by the vehicle-mounted sensor, the data frame including the status data of the vehicle;

[0216] The processor is used to perform vehicle control according to the data frame.

[0217] Exemplarily, the processor may be an electronic control unit.

[0218] In this embodiment, the receiver can be used to execute the data frame receiving method shown in the above method embodiment, and its implementation principle and technical effect are similar, which will not be repeated here. Based on the data frame received by the receiver, the processor can effectively and accurately obtain the status data of the vehicle, so as to accurately control the vehicle. The embodiment of the present application also provides a vehicle, which can be Figure 4 The vehicle shown. The vehicle may include: an on-board sensor, and an on-board controller as described above;

[0219] The vehicle-mounted sensor is used to collect the vehicle status data and send the status data to the receiver in the form of data frames;

[0220] The vehicle controller is used to receive data frames sent by the vehicle sensors and perform vehicle control according to the data frames.

[0221] In this embodiment, the sensor can collect the status data of the vehicle or the environmental data, and the receiver can be used to execute the data frame receiving method shown in the above method embodiment, and its implementation principle and technical effect are similar, which will not be described here. Based on the data frame received by the receiver, the processor can effectively and accurately obtain the status data of the vehicle and the current environmental conditions, so as to accurately control the vehicle.

[0222] The present application also provides an electronic device, Fig.17, the electronic device provided in the embodiments of the present application is described.

[0223] Fig.17 FIG. 1 is a schematic diagram of the structure of an electronic device provided in an embodiment of the present application, and the electronic device may be a receiver. Fig.17 As shown, the electronic device includes:

[0224] The electronic device includes a processor 291 and a memory 292; it may also include a communication interface 293 and a bus 294. The processor 291, the memory 292, and the communication interface 293 may communicate with each other through the bus 294. The communication interface 293 may be used for information transmission. The processor 291 may call the logic instructions in the memory 292 to execute the method of the above embodiment.

[0225] In addition, the logic instructions in the above-mentioned memory 292 can be implemented in the form of software functional units and can be stored in a computer-readable storage medium when sold or used as an independent product.

[0226] The memory 292 is a computer-readable storage medium that can be used to store software programs and computer executable programs, such as program instructions / modules corresponding to the methods in the embodiments of the present application. The processor 291 executes functional applications and data processing by running the software programs, instructions, and modules stored in the memory 292, that is, implementing the methods in the above method embodiments.

[0227] The memory 292 may include a program storage area and a data storage area, wherein the program storage area may store an operating system and an application required for at least one function; the data storage area may store data created according to the use of the terminal device, etc. In addition, the memory 292 may include a high-speed random access memory and may also include a non-volatile memory.

[0228] The embodiment of the present application also provides a non-temporary computer-readable storage medium, in which computer-executable instructions are stored. When the computer-executable instructions are executed by a processor, they are used to implement the method of the aforementioned embodiment.

[0229] An embodiment of the present application also provides a computer program product, including a computer program, which implements the method provided in any embodiment of the present application when the computer program is executed by a processor.

[0230] Those skilled in the art will readily appreciate other embodiments of the present application after considering the specification and practicing the invention disclosed herein. The present application is intended to cover any modification, use or adaptation of the present application, which follows the general principles of the present application and includes common knowledge or customary techniques in the art that are not disclosed in the present application. The specification and examples are intended to be exemplary only, and the true scope and spirit of the present application are indicated by the following claims.

[0231] It should be understood that the present application is not limited to the precise structures that have been described above and shown in the drawings, and that various modifications and changes may be made without departing from the scope thereof. The scope of the present application is limited only by the appended claims.

Claims

1. A data frame receiving method, characterized in that: Applied to a receiver, the receiver receives a data frame in the form of a pulse signal, wherein among a plurality of pulse signals corresponding to the data frame, the first pulse signal is a calibration signal and the rest are non-calibration signals; the method comprises: Get the current pulse signal; If the non-calibration signal check performed on the current pulse signal fails, a calibration signal check is performed on the current pulse signal.

2. The method according to claim 1, characterized in that The method further comprises: If the non-calibration signal check is passed for the current pulse signal, a calibration signal check or a non-calibration signal check is performed on the next pulse signal.

3. The method according to claim 2, characterized in that If the non-calibration signal check is passed for the current pulse signal, then a calibration signal check or a non-calibration signal check is performed on the next pulse signal, including: If the non-calibration signal check is passed for the current pulse signal, a calibration signal check or a non-calibration signal check is performed on the next pulse signal according to the number of pulse signals that have passed the check.

4. The method according to claim 3, characterized in that The number of the multiple pulse signals corresponding to the data frame is N, where N is a positive integer not less than 2, and the data frame does not include a pause pulse.

5. The method according to claim 3, characterized in that: The number of the multiple pulse signals corresponding to the data frame is N, N is a positive integer not less than 2, and the Nth pulse signal in the data frame is a pause pulse.

6. The method according to claim 4, characterized in that The step of performing a calibration signal check or a non-calibration signal check on a next pulse signal according to the number of pulse signals that have passed the check includes: If there are currently i consecutive pulse signals that have passed the inspection and i is less than N, a non-calibration signal inspection is performed on the next pulse signal.

7. The method according to claim 4, characterized in that The step of performing a calibration signal check or a non-calibration signal check on a next pulse signal according to the number of pulse signals that have passed the check includes: If N consecutive pulses have passed the inspection, the next pulse signal will be subjected to a calibration signal inspection.

8. The method according to claim 4, characterized in that The method further comprises: If N consecutive pulses have passed the check, it is determined that the current data frame has been received.

9. The method according to claim 5, characterized in that The step of performing a calibration signal check or a non-calibration signal check on a next pulse signal according to the number of pulse signals that have passed the check includes: If i consecutive pulse signals have passed the inspection and i is less than N-1, it is determined that the inspection of the next pulse signal is a non-calibration signal inspection.

10. The method according to claim 5, characterized in that The method further comprises: If N-1 consecutive pulses have passed the inspection, the next pulse signal will not be checked.

11. The method according to claim 5, characterized in that The method further comprises: If N-1 consecutive pulses have passed the inspection, the current data frame is determined to have been received after the next pulse is received.

12. The method according to claim 11, characterized in that The method further comprises: After the current data frame is received, the next pulse signal is checked as a calibration signal.

13. The method according to any one of claims 6 to 12, characterized in that: The method further comprises: If the non-calibration signal check fails for the current pulse signal, the number of pulse signals that have passed the continuous check is reset to zero.

14. The method according to claim 1, characterized in that The method further comprises: If the calibration signal check is passed for the current pulse signal, a non-calibration signal check is performed on the next pulse signal.

15. The method according to claim 1, characterized in that The method further comprises: If the calibration signal check performed on the current pulse signal fails, a calibration signal check is performed on the next pulse signal.

16. The method according to claim 1, characterized in that The non-calibration signal in the data frame includes at least one of the following types: status signal, data signal, check signal, and pause signal.

17. The method according to claim 1, characterized in that The multiple pulse signals corresponding to the data frame include: 1 calibration signal, K status signals, M data signals, and J verification signals; Wherein, MK and J are both positive integers greater than or equal to 1.

18. The method according to any one of claims 16 or 17, characterized in that: The method further comprises: According to the inspection list, determining the inspection type of the non-calibration signal inspection for the next pulse signal; The check list is used to indicate the type of each pulse signal among the multiple pulse signals corresponding to the data frame.

19. The method according to claim 17, characterized in that The method further comprises: Determine the check for the next signal according to the current receiving state of the receiver; The receiver is configured to switch between a plurality of receiving states, and the switching condition is determined by a check result of the pulse signal.

20. The method according to claim 19, characterized in that The receiver enters an idle state after initialization, and the method further includes: If the receiver is in an idle state and a pulse signal is received, the receiving state of the receiver is switched to a calibration state.

21. The method according to claim 19, characterized in that According to the current receiving state of the receiver, determine the inspection of the next signal, including: If the current receiving state of the receiver is the calibration state and the calibration check of the current pulse signal passes, the receiving state is switched to the status signal state.

22. The method according to claim 19, characterized in that According to the current receiving state of the receiver, determine the inspection of the next signal, including: If the current receiving state of the receiver is the calibration state and the calibration check of the current pulse signal fails, the receiving state is switched to the idle state.

23. The method according to claim 19, characterized in that According to the current receiving state of the receiver, determine the inspection of the next signal, including: If the current receiving state of the receiver is the status signal state and the status signal check of the current pulse signal passes, the receiving state is switched to the data state.

24. The method according to claim 19, characterized in that According to the current receiving state of the receiver, determine the inspection of the next signal, including: If the current receiving state of the receiver is the status signal state and the data signal check of the current pulse signal fails, the receiving state is switched to the calibration state.

25. The method according to claim 19, characterized in that According to the current receiving state of the receiver, determine the inspection of the next signal, including: If the current receiving state of the receiver is the data state, and the data signal check of the current pulse signal passes, and the number of times the current data signal check has passed is M, then the receiving state is switched to the verification state.

26. The method according to claim 19, characterized in that According to the current receiving state of the receiver, determine the inspection of the next signal, including: If the current receiving state of the receiver is the data state and the data signal check of the current pulse signal fails, the receiving state is switched to the calibration state.

27. The method according to claim 19, characterized in that According to the current receiving state of the receiver, determine the inspection of the next signal, including: If the current receiving state of the receiver is the verification state, the receiving state is switched to the idle state after the verification signal check is performed on the current pulse signal.

28. The method according to claim 19, characterized in that According to the current receiving state of the receiver, determine the inspection of the next signal, including: If the current receiving state of the receiver is the verification state, after checking the verification signal of the current pulse signal, the receiving state is switched to the pause state, and when the second pulse is received next, the receiving state is switched to the idle state.

29. The method according to claim 18, characterized in that The non-calibration signal in the data frame includes at least one data pulse signal, and the method further includes: Acquire configuration information, where the configuration information indicates the number of data pulse signals in the data frame; The check list is determined according to the configuration information.

30. The method according to claim 29, characterized in that The configuration information is further used to indicate whether the data frame includes a pause pulse.

31. The method according to claim 1, characterized in that The calibration signal check includes checking whether a deviation value between the duration of the current pulse signal and the first duration exceeds a first threshold.

32. The method according to claim 31, characterized in that The calibration signal check further includes checking whether a deviation value between the frequency of the current pulse signal and the frequency of an adjacent calibration pulse signal exceeds a second threshold, and the adjacent calibration pulse signal is a pulse signal that last passed the calibration signal check.

33. The method according to claim 32, characterized in that If the deviation value of the duration is less than or equal to the first threshold and the deviation value of the frequency is less than or equal to the second threshold, the check passes.

34. The method according to claim 32, characterized in that If the deviation value of the duration is greater than the first threshold and the deviation value of the frequency is greater than the second threshold, the check fails.

35. The method according to claim 1, characterized in that The non-calibration signal check includes checking whether the duration of the current pulse signal belongs to a second duration range.

36. A receiver, characterized in that: The receiver receives a data frame in the form of a pulse signal, wherein among the multiple pulse signals corresponding to the data frame, the first pulse signal is a calibration signal and the rest are non-calibration signals; the receiver comprises: An acquisition module is used to acquire the current pulse signal; The checking module is used to perform a calibration signal check on the current pulse signal if the check on the current pulse signal is a non-calibration signal check and the check result is failure.

37. A vehicle-mounted controller, characterized in that: include: A receiver and a processor as claimed in claim 36; The receiver receives a data frame sent by the vehicle-mounted sensor, the data frame including the status data of the vehicle; The processor is used to perform vehicle control according to the data frame.

38. A vehicle, characterized in that: include: A vehicle-mounted sensor. And a vehicle-mounted controller as claimed in claim 37; The vehicle-mounted sensor is used to collect the vehicle status data and send the status data to the receiver in the form of data frames; The vehicle controller is used to receive data frames sent by the vehicle sensors and perform vehicle control according to the data frames.

39. An electronic device, characterized in that: include: Processor and memory; Memory stores computer-executable instructions; The processor executes the computer-executable instructions stored in the memory to implement the method according to any one of claims 1 to 35.

40. A computer-readable storage medium, characterized in that The computer-readable storage medium stores computer-executable instructions, which are used to implement the method as claimed in any one of claims 1 to 35 when executed by a receiver.

41. A computer program product, comprising a computer program, which, when executed by a processor, implements the method according to any one of claims 1 to 35.