Method and apparatus for monitoring message in order to determine whether message has no error
By monitoring message identifiers and checksums, and utilizing counters and assignment tables, the problem of message error identification in slow channels using single-edge half-byte transmission encoding schemes was solved, thus achieving reliable and accurate message transmission.
Patent Information
- Application Number
- CN202480032343.8
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Priority Date
- 2023-05-15
- Filing Date
- 2024-04-29
- Publication Date
- 2025-12-12
AI Technical Summary
In slow channels using single-edge half-byte transmission encoding schemes, existing technologies struggle to reliably monitor message integrity, especially as potential errors during transmission may not be promptly identified.
By monitoring message identifiers and checksums, and using counters and assignment tables, errors in the transmission process are identified, ensuring that messages are accepted only when specific conditions are met. This includes identifying errors when the number of consecutive messages with the same identifier exceeds a threshold within a predetermined time period or when the number of missing messages with the same identifier exceeds a threshold.
This effectively avoids the acceptance of error messages, improves the reliability of message transmission, and ensures the accuracy and reliability of messages in slow channels using a single-edge nibble transmission encoding scheme.
Smart Images

Figure CN121128116A_ABST
Abstract
Description
Background Technology
[0001] The present invention relates to a method and apparatus for monitoring messages, particularly messages transmitted in slow channels using a single-edge-nibble transmission encoding scheme. Summary of the Invention
[0002] Messages are monitored by the method and apparatus according to the independent claims, particularly messages transmitted in slow channels using a single-edge nibble transmission encoding scheme.
[0003] A method for monitoring messages, particularly those transmitted in slow channels using a single-edge nibble transmission coding scheme, specifies that each message includes an identifier. If it is neither determined that only messages including the same identifier are transmitted within a pre-given time period, nor that messages including the same identifier as the message to be monitored are not transmitted within the pre-given time period, nor that an error in transmitting the message to be monitored is determined in a check using a checksum corresponding to the monitored message, then the message to be monitored, including a checksum, is accepted as error-free. This checksum is used to check the message for errors in its transmission. Otherwise, the message to be monitored is not accepted as error-free. This reliably avoids accepting messages that are transmitted with errors.
[0004] In one implementation, the message is determined based on its identifier: whether the message should be monitored or not. This reliably distinguishes between messages that should be monitored and messages that should not be monitored.
[0005] In one implementation, if the message is identified in its configuration, particularly in a table, as a message that should be monitored, then the message is determined to be monitored. By identifying the message as a message that should be monitored, monitoring of the monitored message is configured.
[0006] In one implementation, if the message is identified in its configuration, particularly in a table, as a message that should not be monitored, then the message is determined not to be monitored. By using this identifier to mark a message as unmonitorable, monitoring of unmonitorable messages is configured.
[0007] In one implementation, the assignment of the identifier of a message whose sender or receiver is a device assigns the identifier of the device, wherein the identifier of the message is marked as a message that should not be monitored or a message that should be monitored based on the device's identifier in the assignment. This means that messages that should not be monitored or messages that should be monitored are configured according to the device.
[0008] In one implementation, the assignment assigns the identifiers of different messages to the identifiers of the device. This means that multiple messages are configured together based on the device.
[0009] In one implementation, a counter is incremented for each transmitted message over a pre-given time period, as long as messages containing the same identifier are transmitted. If the counter exceeds a threshold, an error is detected. An excessive number of consecutive messages with the same identifier indicates a state in which the device sending messages with the same identifier is erroneous.
[0010] In one implementation, a counter is incremented for each transmitted message within a pre-given time period, provided that no message containing the same identifier as the message to be monitored is transmitted within that pre-given time period. If the counter exceeds a threshold, an error is identified. The absence of a message with the same identifier as the message to be monitored indicates a state in which the device sending the message with the identifier of the message to be monitored is erroneous.
[0011] The apparatus includes at least one processor and at least one memory, wherein the at least one processor is configured to implement instructions executable by the at least one processor, the method operates when the instructions are implemented by the at least one processor, and wherein the at least one memory is configured to store the instructions.
[0012] The computer program specifies that it includes instructions that can be implemented by a computer, and the method operates when the instructions are implemented by the computer. Attached Figure Description
[0013] Further advantageous embodiments can be seen from the following description and accompanying drawings. In the drawings: Figure 1 A schematic diagram of a device for monitoring messages is shown. Figure 2 This illustrates the encoding scheme for the message. Figure 3 This shows how bits from the message are assigned to the message. Figure 4 The first part of the method for monitoring messages is shown. Figure 5 The second part of the method is shown. Figure 6 The steps in the method are shown. Detailed Implementation
[0014] exist Figure 1 The diagram shows a device 100 for monitoring messages.
[0015] The apparatus 100 includes at least one processor 102 and at least one memory 104. The apparatus 100 is configured to implement a method for monitoring messages.
[0016] Figure 2 This shows the encoding scheme for the message.
[0017] The following description uses this encoding scheme as an example to illustrate the method.
[0018] This encoding scheme specifies that messages are transmitted as a sequence of pulses, i.e., using pulse width modulation (PWM) signals. A message includes pulses 202 for synchronization or calibration, pulses 204 for status, multiple pulses 206 for a first signal, multiple pulses 208 for a second signal, and pulses 210 for a checksum. In this example, the message includes these pulses in the described order. Optionally, the encoding scheme specifies pulses 212 for the interval between two messages. The length of each pulse indicates which value the pulse encodes.
[0019] In this example, the pulse width modulation signal includes a pulse between the rising and falling edges, the length of which defines the value transmitted through the pulse.
[0020] An example of this encoding scheme is the single-edge nibble transmission encoding scheme based on SAE J2716 dated April 29, 2016.
[0021] In this example, pulse 204 for status is used to transmit a portion of the message. In this example, the message is transmitted in multiple parts, each part transmitted in a separate pulse 204 for status within a multiple message. The portions of the message are preferably transmitted sequentially. In this example, sequentially consecutive portions of the message are transmitted within consecutive messages.
[0022] It can be specified that the pulse 204 used for status contains only the bits of one message. In message multiplexing, it can be specified that the pulse 204 used for status contains bits from different messages.
[0023] The transmission in pulse 204 for the status is an example of transmission in a slow channel using a single-edge nibble transmission encoding scheme. Pulse 206 for the first signal and pulse 208 for the second signal are examples of transmission in a relatively fast channel using a single-edge nibble transmission encoding scheme.
[0024] Figure 3The diagram illustrates the assignment of message 300 to the first portion 304 and the second portion 306 of message 300 in pulses 204 for the state from multiple messages 302. In this example, four bits are transmitted via pulse 204 for the state, wherein the first bit 308 of the first portion 304 of message 300, the second bit 310 of the second portion 306 of message 300, and two other bits 312 and 314 are assigned to the state.
[0025] The first part 304 of message 300 includes a first data field 316 for identification, a second data field 318 for data, and a third data field 320 for a checksum. The second part 306 of message 300 enables the differentiation of transmission types. In this example, it distinguishes between short transmissions in a slow channel using a single-edge nibble transmission encoding scheme and improved, i.e., enhanced, transmissions. In this example, the first data field 316 comprises four bits, the second data field 318 comprises eight bits, and the third data field 320 comprises four bits.
[0026] In this example, the first part 306 and the second part 308 each comprise 30 bits. In this example, according to the first type, the first part 306 comprises 12 bits of the second data field 318 and 8 bits of the first data field 316. In this example, according to the second type, the first part 306 comprises 16 bits of the second data field 318 and 4 bits of the first data field 316.
[0027] In this example, the second part 308 includes configuration bits that specify the type. In this example, a configuration bit value of 0 is specified for the first type. In this example, a configuration bit value of 1 is specified for the second type. In this example, the first type is short transmission. In this example, the second type is improved transmission.
[0028] The checksum of corresponding message 300 can at least verify the identifier of corresponding message 300. In this example, it is specified that the checksum contained in corresponding message 300 can be used to verify the identifier of corresponding message 300 and the data from the second data field 318. For example, this checksum is a checksum used for cyclic redundancy check.
[0029] In this example, a message is either marked as a message that should be monitored or a message that should not be monitored, depending on its identifier.
[0030] In this example, an attribute, such as a table, is specified that will identify a particular identifier as either a message that should be monitored or a message that should not be monitored.
[0031] Optionally, a message may be assigned to a device based on its identifier. In this example, an assignment, such as a table, is specified that assigns each identifier to a device. Alternatively, multiple identifiers may be assigned to the same device.
[0032] In this example, message 300 is marked as a message that should be monitored.
[0033] exist Figure 4 The first part of the method for monitoring messages is shown in the diagram.
[0034] The first part of this method includes a first counter. In this example, the first counter is initialized to a first pre-given value at the beginning of the method.
[0035] The first part includes step 402.
[0036] In step 402, a message is provided. This message includes an identifier and a checksum.
[0037] The first part includes step 404.
[0038] In step 404, check whether the identifier of the message is consistent with the identifier included in the message immediately preceding it.
[0039] If two consecutive messages are provided, they contain the same identifier, then proceed to step 406; otherwise, proceed to step 408.
[0040] In step 406, check whether the first counter exceeds a first pre-defined threshold. If the first counter exceeds the first threshold, proceed to step 410; otherwise, proceed to step 412.
[0041] In step 408, the first counter is reset to a first pre-given value.
[0042] In step 410, the error is identified.
[0043] In this example, it is identified by the device to which the message is assigned: the device to which the message is assigned has an error.
[0044] In step 412, the first counter is incremented. Then, step 414 is performed.
[0045] In step 414, the identifier of the message is stored as the identifier of the message immediately preceding it.
[0046] Then, the first part ended.
[0047] exist Figure 5 The second part 500 of the method for monitoring messages is shown.
[0048] The second part of the method includes a second counter. In this example, the second counter is initialized to a second pre-given value at the beginning of the method.
[0049] The second part includes step 502.
[0050] In step 502, a message is provided. This message includes an identifier and a checksum.
[0051] Part Two includes step 504.
[0052] In step 504, check whether the message identifier marks the message as a message that should be monitored.
[0053] The second part 500 of this method is used to examine the periodicity of messages that are marked as monitored messages in an attribute, such as a table. This means that the identifiers of these monitored messages mark them as monitored messages.
[0054] If the identifier marks the message as a message that should be monitored, proceed to step 506; otherwise, proceed to step 508.
[0055] In step 506, check whether the second counter exceeds the second pre-given threshold.
[0056] In step 508, the second counter is reset to a second pre-given value. The second part then ends.
[0057] If the second counter exceeds the second threshold, proceed to step 510; otherwise, proceed to step 512.
[0058] In this example, different second counters are specified for messages that should be monitored, each with a different identifier. The same second threshold can be specified for multiple messages that should be monitored. Different second thresholds can be used for different messages that should be monitored.
[0059] In step 510, the error is identified.
[0060] In this example, identification is made, for instance, by assignment: the device to which the message is assigned has an error. The second part then concludes.
[0061] In step 512, the second counter is incremented. Then, the second part ends.
[0062] exist Figure 6 The steps of the method are illustrated below. This method is, for example, implemented for monitoring messages transmitted in a slow channel using a single-edge nibble transmission encoding scheme.
[0063] The method includes step 602.
[0064] In step 602, messages are received. In this example, at least two messages are received in succession.
[0065] The method is then implemented in the form of the first part 400, the second part 500, and the third part 604.
[0066] In this example, the identifier of the first received message is used as the identifier of the message immediately preceding the second received message during initialization, wherein the first part and the second part are implemented for the second received message.
[0067] In step 604, the checksum included in the corresponding message is used to check whether an error occurred during the transmission of the corresponding message.
[0068] Then, proceed to step 606.
[0069] In step 606, the message is checked to see if an error has been identified for the message in the first part 400, whether an error has been identified for the corresponding message in the second part 500, and whether an error has been identified for the corresponding message in the third part 604.
[0070] If no error is identified for the corresponding message in Part 400, Part 500, and Part 604, then step 608 is performed for the corresponding message; otherwise, step 610 is performed for the corresponding message.
[0071] In step 608, the corresponding message is accepted as error-free.
[0072] In step 610, an error message is output for the corresponding message.
[0073] For example, using assignments to determine: if a message's identifier marks it as a message that should be monitored, then that message should be monitored. Conversely, using assignments to determine: if a message's identifier marks it as a message that should not be monitored, then that message should not be monitored.
[0074] This method can specify that only messages marked as belonging to the configuration should be monitored.
Claims
1. A method for monitoring messages (300), particularly messages transmitted in a slow channel using a single-edge nibble transmission encoding scheme, characterized in that, The messages (300) each include an identifier (316), wherein if it is not determined that (410, 606) only transmits messages including the same identifier in a pre-given time period, nor is it determined that (510, 606) does not transmit messages including the same identifier as the monitored message (300) in a pre-given time period, nor is an error determined in the verification of the monitored message (300) using a check value (320), then the monitored message (304) including the check value (320) is accepted as error-free (608), the check value being used to verify the message (300) for errors in transmitting the message, and wherein otherwise the monitored message (300) is not accepted as error-free (610).
2. The method according to claim 1, characterized in that, Based on the identifier (316) of the message (300), it is determined whether the message (300) should be monitored or the message (300) should not be monitored.
3. The method according to claim 2, characterized in that, If the message (300) is identified as a monitored message by its identifier (316) in the associated, particularly table, table, then the message (300) is determined to be monitored.
4. The method according to claim 2 or 3, characterized in that, If the message (300) is identified as not to be monitored by the identifier (316) in the associated, particularly table, table, then the message (300) is determined to be not to be monitored.
5. The method according to any one of claims 2 to 4, characterized in that, The identifier (316) of a message (300) whose sender or receiver is a device is assigned to the identifier of the device, wherein the identifier (316) of the message (300) is marked as a message that should not be monitored or a message that should be monitored according to the identifier of the device in the assignment.
6. The method according to claim 5, characterized in that, The assignment assigns the identifier (316) of different messages (300) to the identifier of the device.
7. The method according to any one of the claims, characterized in that, For each transmitted message (300), a counter is incremented (412) over a pre-given time period, as long as only messages (300) containing the same identifier are transmitted (404), where an error (410) is identified if the counter exceeds a threshold (406).
8. The method according to any one of the preceding claims, characterized in that, As long as no message containing the same identifier as the message to be monitored (300) is transmitted (504) within a pre-given time period, a counter is incremented (512) for each transmitted message (300) within a pre-given time period, wherein if the counter exceeds a threshold (506), an error (510) is identified.
9. A device (100) for monitoring messages (300), characterized in that, The apparatus (100) includes at least one processor (102) and at least one memory (104), wherein the at least one processor (102) is configured to implement instructions that can be implemented by the at least one processor (102), and when the instructions are implemented by the at least one processor (102), the method according to any one of claims 1 to 8 is operated, wherein the at least one memory (104) is configured to store the instructions.
10. A computer program, characterized in that, The computer program includes instructions that can be implemented by a computer, and when the instructions are implemented by the computer, the method according to any one of claims 1 to 8 is executed.