A function arbitrator for EPS application layer software
Patent Information
- Application Number
- CN202611158003.7
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2026-07-31
- Publication Date
- 2026-10-30
AI Technical Summary
[0005]针对现有技术的不足,本发明提供了一种用于EPS应用层软件的功能仲裁器,解决了上述背景技术中提出的增加了软件开发的复杂度与后期的维护难度,也使得功能迭代变得困难,微小的策略调整往往需要牵一发而动全身地修改底层代码的问题
1.本发明中,通过仲裁配置端构建标准化配置表格,利用功能标识定义单元与优先级映射单元针对不同车型及客户需求设定差异化的优先级配置规则,并封装生成包含功能标识、优先级及并行策略的配置数据集,保证多辅助驾驶功能仲裁策略定义的明确性与灵活性,同时将配置数据集写入预设的软件存储区域,避免仲裁逻辑分散耦合于各功能模块内部的问题,保证EPS应用层软件架构的清晰性,降低软件开发的复杂度与后期维护难度。
Smart Images

Figure CN123011786A_ABST
Abstract
Description
Technical Field
[0001] This invention relates to the field of automotive electronic control technology, specifically to a functional arbitrator for EPS application layer software. Background Technology
[0002] In automotive Ethernet, the application layer involves various applications and services used to achieve data exchange, communication, and control within the vehicle, such as vehicle diagnostics and maintenance, multimedia and entertainment, navigation and location services, and remote vehicle control. The arbitrator is primarily used to determine which module's request should be responded to when multiple modules on the same chip simultaneously issue requests, based on a corresponding arbitration algorithm.
[0003] Existing EPS application layer software lacks an independent and efficient arbitration mechanism when handling concurrent control of multiple auxiliary functions, often distributing arbitration logic across the internal code of various functional modules. This fragmented approach leads to a bloated system architecture and complex calling relationships between different functional modules, increasing not only the complexity of software development and maintenance but also making feature iteration difficult. Even minor strategy adjustments often require modifications to the underlying code, affecting the entire system.
[0004] Therefore, a functional arbitrator for EPS application layer software is proposed to solve the above problems. Summary of the Invention
[0005] To address the shortcomings of existing technologies, this invention provides a functional arbitrator for EPS application layer software, which solves the problems mentioned in the background technology, such as increased software development complexity and later maintenance difficulty, difficulty in functional iteration, and the need to modify the underlying code for minor strategy adjustments.
[0006] To achieve the above objectives, the present invention provides the following technical solution: a functional arbitrator for EPS application layer software, comprising: an arbitration configuration terminal, an arbitration execution terminal, and an arbitration verification terminal; The arbitration configuration terminal is used to define priority configuration rules for multiple driver assistance functions through a standardized table, generate a configuration dataset containing function identifiers, priorities, and parallel strategies, and write the configuration dataset into a preset software storage area; The arbitration execution terminal is used to collect the activation status signals and control command signals of each assisted driving function in real time, and call the lightweight arbitration decision model based on the configuration dataset to prioritize and resolve conflicts of multiple concurrent control commands, and output the target control command. The arbitration verification terminal is used to perform data consistency verification on the target control command, and send it to the EPS execution layer after the verification is passed. At the same time, it monitors the abnormal status of the arbitration process and triggers the dynamic re-arbitration mechanism.
[0007] Preferably, the arbitration configuration terminal includes a table construction module, a data parsing module, and a parameter fixing module; The table construction module includes a function identifier definition unit, a priority mapping unit, and a parallel strategy configuration unit; The function identifier definition unit is used to create a standardized configuration table containing function number, function name and function type. The function type includes lane keeping assist, automatic parking, warning compensation and straight-line acceleration compensation. The standardized configuration table is the generation carrier of the configuration dataset. The priority mapping unit is used to establish a mapping relationship between function identifiers and priority values in the standardized configuration table. The priority values are encoded in decimal integers. The smaller the value, the higher the priority. It also supports different configurations of arbitration strategies for different vehicle models and different customers by modifying the priority values. The parallel strategy configuration unit is used to define parallel operation rules for multiple sets of functions in the standardized configuration table, and the parallel operation rules are incorporated into the configuration dataset after being formatted.
[0008] Preferably, the parallel operation rules in the parallel strategy configuration unit include exclusive operation mode, parallel coexistence mode, preemptive interrupt mode, and sequential locking mode; The exclusive operation mode is used to restrict the activation of low-priority functions when high-priority functions are activated; the parallel coexistence mode is used to allow preset function combinations to output control commands synchronously within the same time window. The preemptive interrupt mode is used to support high-priority functions in forcibly terminating low-priority functions that are currently running. The sequential locking mode is used to restrict the activation permission of a specific function when another function is already activated.
[0009] Preferably, the data parsing module includes a format recognition unit, a logic verification unit, and a conflict detection unit; The format recognition unit is used to read the file header information of the standardized configuration table and automatically identify the file format type of the table. The logical verification unit is used to load the configuration dataset, traverse each group of functional configuration data in the configuration dataset, verify the legality of the value range of the priority value, check the syntactic integrity of the parallel running rule, and generate a first verification report containing verification results and error location information. The conflict detection unit is used to load the configuration dataset, and based on the preset arbitration constraint rule library, to perform a logical consistency scan on the parallel operation rules of multiple functional combinations in the configuration dataset, and identify rule entries with mutual exclusion relationships.
[0010] Preferably, the parameter solidification module includes a binary conversion unit and a data writing unit; The binary conversion unit is used to extract the configuration dataset that has passed the logical verification and conflict detection, and convert the priority values, function identifiers and parallel operation rules in the configuration dataset into a binary data stream of a preset length. The data writing unit is used to call the memory access interface of the EPS application layer software, define the preset software storage area as a non-volatile storage exclusive area pre-divided during the compilation stage of the EPS application layer software, write the binary data stream into the specified non-volatile storage sector within the preset software storage area, and after the writing is completed, read the stored data and compare it byte by byte with the configuration dataset. When the comparison result is consistent, a status flag bit for successful configuration is generated. When the comparison result is inconsistent, the data rewrite process is triggered until the maximum number of retries is reached.
[0011] Preferably, the arbitration execution terminal includes a status acquisition module, a decision scheduling module, and an instruction output module; The status acquisition module includes a signal filtering unit and a status buffer unit; The signal filtering unit is used to collect the original activation status signal and control command signal output by each driver assistance function in real time at a preset sampling frequency, and to use a moving average filtering algorithm to de-jitter the original activation status signal to eliminate glitches and interference during signal transmission, thereby obtaining the function activation status signal. The state caching unit is used to construct a circular buffer to cache the function activation state signal and the control command signal in timestamp order, forming a real-time state dataset containing function identifier, activation state, command torque value and command angle value.
[0012] Preferably, the decision scheduling module includes a priority sorting unit, a conflict resolution unit, and a dynamic re-arbitration unit; The priority sorting unit is used to read the real-time status dataset, filter out the set of functions that are currently active, sort the function identifiers in the set of functions in ascending order according to the priority mapping relationship in the configuration dataset, and generate an initial priority queue. The conflict resolution unit is used to traverse the initial priority queue and perform parallel strategy matching on the function combinations of adjacent priorities in the queue according to the parallel operation rules in the configuration dataset. When the exclusive operation mode or preemptive interrupt mode is matched, the control instructions of the low-priority function are removed and only the control instructions of the highest-priority function are retained. When the parallel coexistence mode is matched, the weight coefficient of the control instructions of each function is extracted and a fused control instruction is generated through a weighted fusion algorithm. When the sequential locking mode is matched, the instruction effective permission is determined according to the time sequence of function activation. The dynamic re-arbitration unit is used to monitor changes in the activation status of functions in the real-time status data. When a new high-priority function is detected, an interrupt signal is triggered to re-execute the priority sorting and conflict resolution process and generate the target control command.
[0013] Preferably, the instruction output module includes an instruction encapsulation unit and a timing control unit; The instruction encapsulation unit is used to extract the instruction torque value, instruction angle value and corresponding function identifier of the target control instruction, encapsulate the data according to the communication protocol format of the EPS application layer software, add message header, data length field and checksum field, and generate instruction message that conforms to the bus transmission specification. The timing control unit is used to schedule the sending of the instruction message according to the control cycle of the EPS execution layer. When there are multiple arbitration result updates within the same control cycle, only the instruction message of the last update is sent.
[0014] Preferably, the arbitration verification terminal includes a consistency verification module and an exception handling module; The consistency verification module includes a data readback unit and a hash comparison unit; The data readback unit is used to read back the actual received instruction data from the input buffer of the EPS execution layer after the target control instruction is output, and extract the instruction torque value and instruction angle value from the instruction data; The hash comparison unit is used to calculate the hash value of the target control command and the read-back command data using a preset hash algorithm, and compare the two hash values. If the comparison results are consistent, the data consistency verification is determined to be successful. If the comparison results are inconsistent, the data transmission is determined to be abnormal, and a verification failure report containing the abnormality type and data deviation amount is generated.
[0015] Preferably, the exception handling module includes a log recording unit and an alarm triggering unit; The log recording unit is used to establish a circular log buffer to record key events in the arbitration process. The key events include function activation state transition events, arbitration decision result update events, data consistency verification failure events, and dynamic re-arbitration trigger events. Each log record includes a timestamp, event type code, and associated data payload. The alarm triggering unit is used to predefine multi-level abnormal thresholds. When the number of data consistency verification failures exceeds the first preset threshold within a unit time, the single arbitration processing delay exceeds the second preset threshold, and the number of consecutive dynamic re-arbitrations exceeds the third preset threshold, in addition to triggering the corresponding level of alarm signal, the dynamic re-arbitration mechanism is triggered simultaneously, forcibly resetting the current state of the arbitration execution end, re-initializing the priority sorting queue, and rereading the configuration dataset from the preset software storage area to execute the full arbitration process. If a valid command cannot be output normally after three consecutive dynamic re-arbitrations, the system switches to safe mode and blocks the output of control commands for all assisted driving functions.
[0016] Compared with the prior art, the present invention provides a functional arbitrator for EPS application layer software, which has the following beneficial effects: 1. In this invention, a standardized configuration table is constructed through the arbitration configuration terminal. Differentiated priority configuration rules are set for different vehicle models and customer needs using the function identifier definition unit and priority mapping unit. A configuration dataset containing function identifiers, priorities, and parallel strategies is encapsulated and generated to ensure the clarity and flexibility of the arbitration strategy definition for multiple driver assistance functions. At the same time, the configuration dataset is written to a preset software storage area to avoid the problem of arbitration logic being scattered and coupled within each functional module, ensuring the clarity of the EPS application layer software architecture and reducing the complexity of software development and the difficulty of later maintenance.
[0017] 2. In this invention, the status acquisition module of the arbitration execution end collects the activation status signals and control command signals of each assisted driving function in real time. The dynamic re-arbitration unit in the decision scheduling module monitors the change events of the function activation status. When a new high-priority function is detected, it can determine in real time whether there is a conflict or priority failure of the current control command. This enables the system to reduce the probability of logical disorder in multiple concurrent control commands. When the function activation status changes, the arbitration process can be re-executed through the priority sorting unit and conflict resolution unit to generate the target control command, ensuring that the control commands output to the EPS execution layer are accurate and effective.
[0018] 3. In this invention, the consistency verification module of the arbitration verification end performs data consistency verification on the target control command, and the exception handling module predefines multi-level exception thresholds. Based on different exception types, the arbitration process is monitored and evaluated in real time, enabling the system to achieve full-process exception protection for different operating scenarios, reducing control deviations caused by data transmission errors and arbitration logic timeouts, and improving the security and reliability of EPS application layer software function arbitration. Attached Figure Description
[0019] Figure 1 This is a schematic diagram of the architecture of a functional arbitrator for EPS application layer software according to the present invention; Figure 2 This is a functional module structure diagram of a functional arbitrator for EPS application layer software according to the present invention. Detailed Implementation
[0020] The technical solutions of the embodiments of the present invention will be clearly and completely described below with reference to the accompanying drawings. Obviously, the described embodiments are only some embodiments of the present invention, and not all embodiments. Based on the embodiments of the present invention, all other embodiments obtained by those skilled in the art without creative effort are within the scope of protection of the present invention.
[0021] For specific implementation examples, please refer to: Figures 1-2 A functional arbitrator for EPS application layer software includes: an arbitration configuration terminal, an arbitration execution terminal, and an arbitration verification terminal; The arbitration configuration terminal is used to define the priority configuration rules of multiple driver assistance functions through standardized tables, generate a configuration dataset containing function identifiers, priorities and parallel strategies, and write the configuration dataset to a preset software storage area; The arbitration execution end is used to collect the activation status signals and control command signals of each assisted driving function in real time. Based on the configuration dataset, it calls the lightweight arbitration decision model to prioritize and resolve conflicts of multiple concurrent control commands and output the target control command. The arbitration verification end is used to verify the data consistency of the target control instructions and send them to the EPS execution layer after the verification is successful. At the same time, it monitors the abnormal status of the arbitration process and triggers the dynamic re-arbitration mechanism.
[0022] The arbitration configuration module includes a table building module, a data parsing module, and a parameter fixing module; The table construction module includes a function identifier definition unit, a priority mapping unit, and a parallel strategy configuration unit; The function identifier definition unit is used to create a standardized configuration table containing function number, function name and function type. Function types include lane keeping assist, automatic parking, warning compensation and straight-line acceleration compensation. The standardized configuration table is the carrier for generating configuration datasets. The priority mapping unit is used to establish a mapping relationship between function identifiers and priority values in the standardized configuration table. The priority values are encoded in decimal integers. The smaller the value, the higher the priority. It also supports different configurations of arbitration strategies for different vehicle models and different customers by modifying the priority values. The parallel strategy configuration unit is used to define parallel operation rules for multiple sets of functions in a standardized configuration table. The parallel operation rules are incorporated into the configuration dataset after being formatted.
[0023] The parallel operation rules in the parallel strategy configuration unit include exclusive operation mode, parallel coexistence mode, preemptive interrupt mode, and sequential locking mode. The exclusive operation mode is used to restrict the startup of low-priority functions when high-priority functions are activated. Parallel coexistence mode is used to allow preset function combinations to output control commands synchronously within the same time window; Preemptive interrupt mode is used to support high-priority functions in forcibly terminating low-priority functions that are currently running. Sequential locking mode is used to restrict the launch permission of a specific function when another function is already activated.
[0024] The data parsing module includes a format recognition unit, a logic verification unit, and a conflict detection unit; The format recognition unit is used to read the header information of standardized configuration tables and automatically identify the file format type of the tables; The logic verification unit loads the configuration dataset, iterates through each set of functional configuration data in the dataset, verifies the validity of the priority value range, checks the syntactic integrity of the parallel execution rules, and generates a first verification report containing verification results and error location information. The validity verification of the priority value range is implemented through the following inequality logic: ; In the formula, This is a flag for determining the validity of priority numerical values. To configure the priority value corresponding to the current function read from the dataset, The minimum allowed priority value predefined by the system. The maximum allowed priority value predefined by the system; The syntax integrity check for parallel execution rules is implemented through the following string parsing logic: ; In the formula, This is a flag for determining syntactic integrity. This represents the total number of pattern identifiers contained in the parallel execution rule string. For the first one extracted from the rule string A pattern identifier text, For a predefined dictionary of legal parallel execution rule patterns, For string matching functions, For indicator functions; The generation logic for the first verification report is as follows: ; In the formula, This is the first verification report data packet. To locate the incorrect address pointer, This is a flag for determining syntactic integrity. This is a flag for determining the validity of priority numerical values; The conflict detection unit loads the configuration dataset and, based on a pre-defined arbitration constraint rule base, performs a logical consistency scan on the parallel operation rules of multiple functional combinations in the configuration dataset to identify rule entries with mutual exclusion relationships. Specific steps include: In the arbitration constraint rule base, a mutual exclusion rule table is predefined. The mutual exclusion rule table stores a list of combinations of function identifiers that are prohibited from running in parallel within the same time window. When performing a logical consistency scan, the conflict detection unit traverses the parallel operation rules in the configuration dataset and extracts the functional combinations involving parallel coexistence modes. The function combination is matched one by one with the combination list in the mutual exclusion rule table. When a function combination is found to contain any set of mutually exclusive function identifiers listed in the mutual exclusion rule table, it is determined that a rule entry with a mutual exclusion relationship has been detected, and the parallel operation rule is marked as a conflict item. The mutual exclusion relationship is determined through the following set operation logic, and the determination result is assigned to the conflict determination flag: ; In the formula, For conflict determination flags, It is a set consisting of combinations of functions to be detected extracted from the configuration dataset. It is a set consisting of a combination of mutually exclusive functions extracted from the mutual exclusion rule table.
[0025] The parameter solidification module includes a binary conversion unit and a data writing unit; The binary conversion unit is used to extract the configuration dataset that has passed the logical verification and conflict detection, and convert the priority values, function identifiers and parallel operation rules in the configuration dataset into a binary data stream of preset length; The data writing unit is used to call the memory access interface of the EPS application layer software, define the preset software storage area as a non-volatile storage exclusive area pre-divided during the compilation stage of the EPS application layer software, write the binary data stream into the specified non-volatile storage sector within the preset software storage area, and read the stored data and compare it byte by byte with the configuration dataset after writing. When the comparison results are consistent, a status flag bit for successful configuration is generated. When the comparison results are inconsistent, the data rewrite process is triggered until the maximum number of retries is reached.
[0026] The arbitration enforcement module includes a status acquisition module, a decision scheduling module, and an instruction output module. The status acquisition module includes a signal filtering unit and a status buffer unit; The signal filtering unit is used to acquire the original activation status signals and control command signals output by each driver assistance function in real time at a preset sampling frequency. A moving average filtering algorithm is used to de-jitter the original activation status signals, eliminating glitches and interference during signal transmission to obtain the function activation status signals. The specific execution steps include: A sampling window with an odd length of not less than five is preset, and the depth of the sampling window matches the amount of data read in a single circular buffer. After each acquisition of the original activation state signal, extract the historical signal samples of the most recent consecutive moments within the sampling window, calculate the arithmetic mean of the historical signal samples and the current original signal, and obtain the smoothed intermediate signal; The intermediate signal is compared with the preset high-level threshold and low-level threshold. When the intermediate signal is higher than the high-level threshold, it is determined to be a logic high level. When the intermediate signal is lower than the low-level threshold, it is determined to be a logic low level. The logic high level and logic low level are output as function activation state signals. The smoothed intermediate signal is calculated using the following arithmetic formula: ; In the formula, For the first The amplitude of the smoothed intermediate signal at each sampling time. This is the discrete time series index at the current sampling time. The length of the sampling window. For the first The amplitude of the original activation state signal collected at each sampling time; The status caching unit is used to construct a circular buffer, which caches the function activation status signal and control command signal in the order of timestamps to form a real-time status dataset containing function identifier, activation status, command torque value and command angle value.
[0027] The decision scheduling module includes a priority sorting unit, a conflict resolution unit, and a dynamic re-arbitration unit; The priority sorting unit is used to read the real-time status dataset, filter out the set of functions that are currently active, sort the function identifiers in the set in ascending order according to the priority mapping relationship in the configuration dataset, and generate an initial priority queue. The conflict resolution unit traverses the initial priority queue and, based on the parallel operation rules in the configuration dataset, performs parallel strategy matching on adjacent priority function combinations in the queue. When a unique operation mode or preemptive interrupt mode is matched, control instructions for low-priority functions are discarded, retaining only the control instructions for the highest-priority function. When a parallel coexistence mode is matched, the weight coefficients of the control instructions for each function are extracted, and a fused control instruction is generated through a weighted fusion algorithm. When a sequential locking mode is matched, the instruction activation authority is determined according to the order of function activation. The specific execution steps of the moving average filtering algorithm include: Extract the preset weight coefficients of each function instruction for the parallel coexistence mode from the configuration dataset. The sum of the weight coefficients is a fixed value of one. Read the instruction torque values of at least two functions currently in parallel coexistence mode, and multiply the instruction torque value of each function with its corresponding weight coefficient to obtain the weighted torque components. All weighted torque components are summed and accumulated, and the accumulated result is limited to the maximum torque output limit allowed by the EPS execution layer to obtain the final command torque value of the fused control command. The formula for calculating the final commanded torque value is as follows: ; In the formula, To achieve the final command torque value of the integrated control commands, This represents the total number of functions currently in parallel coexistence mode. For the first The instruction weight coefficient for each function The original command torque value for the first function. and These are the minimum and maximum torque output limits allowed by the EPS execution layer, respectively. This is a limiting function; The specific steps for determining the effective permission of an instruction based on the order in which the function was activated include: In sequential locking mode, a unique activation timestamp register is assigned to each function type; When a specific function meets the activation conditions, the record time of the currently activated function in the activation timestamp register is read and compared with the activation time requested by itself. If the recorded time of the currently activated function is earlier than the requested activation time of a specific function, and the configuration dataset specifies that the specific function must be started with a delay, then the control command output of the specific function will be blocked. If the recording time of the currently activated function is later than the request activation time of a specific function, the control command of the specific function is allowed to participate in the subsequent priority sorting process. The logic for determining the authorization to take effect is defined by the following Boolean expression: ; In the formula, This is the command authorization flag. Represents blocking. The representative allows it. To activate the timestamp of the currently activated feature recorded in the timestamp register, The timestamp for requesting activation of a specific feature. The identifier for the parallel execution mode set for the current configuration dataset. Sequential locking mode; The dynamic re-arbitration unit is used to monitor changes in the activation status of functions in the real-time status data. When a new high-priority function is detected, an interrupt signal is triggered to re-execute the priority sorting and conflict resolution process and generate the target control command.
[0028] The instruction output module includes an instruction encapsulation unit and a timing control unit; The instruction encapsulation unit is used to extract the instruction torque value, instruction angle value and corresponding function identifier of the target control instruction, encapsulate the data according to the communication protocol format of the EPS application layer software, add message header, data length field and checksum field, and generate instruction message that conforms to the bus transmission specification. The timing control unit is used to schedule the timing of sending instruction messages according to the control cycle of the EPS execution layer. When there are multiple arbitration result updates within the same control cycle, only the instruction message of the last update is sent.
[0029] The arbitration verification end includes a consistency verification module and an exception handling module; The consistency verification module includes a data readback unit and a hash comparison unit; The data readback unit is used to read back the actual received instruction data from the input buffer of the EPS execution layer after the target control instruction is output, and to extract the instruction torque value and instruction angle value from the instruction data; The hash comparison unit calculates hash values for the target control command and the read-back command data using a preset hash algorithm, compares the two hash values, and determines that the data consistency check passes if the comparison results match; if the comparison results do not match, it determines that the data transmission is abnormal and generates a verification failure report containing the abnormality type and data deviation amount. The specific execution steps include: Cyclic redundancy check algorithm is selected as the specific implementation of hash algorithm, and the default generator polynomial is a 16-bit standard polynomial. The command torque value, command angle value, and function identifier in the target control command are sequentially input into the linear feedback shift register in byte order, and XOR operation and displacement operation are performed byte by byte; After all bytes have been processed, the remaining sixteen bits of data in the linear feedback shift register are read as the hash value, and the hash value is compared bit by bit with the hash value calculated from the readback data. When all bits are consistent, the data consistency check is considered to have passed. The iterative calculation formula for the sixteen-bit hash value is as follows: ; In the formula, This is the 16-bit hash median value output in the current iteration cycle. This is the 16-bit hash value input from the previous iteration cycle. The single byte of data currently being processed. The modulo operator, Generate polynomial coefficients for a preset 16-bit standard.
[0030] The exception handling module includes a logging unit and an alarm triggering unit; The log recording unit is used to establish a circular log buffer to record key events in the arbitration process. Key events include function activation status transition events, arbitration decision result update events, data consistency verification failure events, and dynamic re-arbitration trigger events. Each log record contains a timestamp, event type code, and associated data payload. The alarm triggering unit is used to predefine multi-level abnormal thresholds. When the number of data consistency verification failures exceeds the first preset threshold within a unit time, the single arbitration processing delay exceeds the second preset threshold, or the number of consecutive dynamic re-arbitrations exceeds the third preset threshold, in addition to triggering the corresponding level of alarm signal, the dynamic re-arbitration mechanism is triggered simultaneously, forcibly resetting the current state of the arbitration execution end, re-initializing the priority sorting queue, and rereading the configuration dataset from the preset software storage area to execute the full arbitration process. If a valid command cannot be output normally after three consecutive dynamic re-arbitrations, the system switches to safe mode and blocks the output of control commands for all assisted driving functions.
[0031] The operation steps of this functional arbitrator for EPS application layer software are as follows: Step 1: Configure the dataset generation and persistence process: During the system power-on initialization phase, the arbitration configuration module first initiates the table construction module. Through the function identifier definition unit, a standardized configuration table is created, encompassing function numbers, function names, and function types. Function types are explicitly categorized as lane keeping assist, automatic parking, warning compensation, and straight-line acceleration compensation. Subsequently, the priority mapping unit establishes a mapping relationship between function identifiers and decimal integer codes for priority values in the table. Smaller values represent higher priority, allowing for customized configurations to suit different vehicle models and customer needs. The parallel strategy configuration unit defines parallel operation rules for multiple function combinations, including exclusive operation mode, parallel coexistence mode, preemptive interruption mode, and sequential locking mode. These mapping relationships and rules are then formatted and incorporated into the configuration dataset. The data parsing module loads this configuration dataset. The format recognition unit automatically identifies the table file format, the logic verification unit traverses the dataset to verify the priority value range and rule syntax integrity, and the conflict detection unit scans the rule logic consistency based on the arbitration constraint rule base to identify mutual exclusion relationships. After verification, the binary conversion unit of the parameter solidification module converts the configuration dataset into a binary data stream of a preset length. The data writing unit calls the memory access interface, defines the preset software storage area as a non-volatile storage exclusive area divided during the compilation stage, writes the binary data stream to the specified sector, and ensures data consistency through byte-by-byte comparison, generating a status flag bit indicating successful configuration solidification.
[0032] Step 2: Real-time Status Acquisition and Caching: Once the arbitration execution unit enters the operational state, the status acquisition module, through the signal filtering unit, acquires the original activation status signals and control command signals of each assisted driving function in real time at a preset sampling frequency. A moving average filtering algorithm is used to de-jitter the original signals, eliminating transmission glitches and interference, to obtain the function activation status signals. Simultaneously, the status buffer unit constructs a circular buffer, caching the activation status signals and control command signals containing command torque and command angle values in timestamp order, forming a real-time status dataset. The buffer depth is set to accommodate the data from the most recent ten sampling cycles, providing time-series data support for subsequent decision-making.
[0033] Step 3: Dynamic Arbitration Decision and Instruction Output Steps: The decision-making and scheduling module periodically reads the real-time status dataset. The priority sorting unit filters out the currently active function set and sorts each function identifier in ascending order according to the priority mapping relationship in the configuration dataset, generating an initial priority queue. The conflict resolution unit traverses the queue and performs strategy matching according to the parallel operation rules: when matching exclusive operation mode or preemptive interrupt mode, low-priority function instructions are eliminated, and only the highest-priority instructions are retained; when matching parallel coexistence mode, the weight coefficients of each function control instruction are extracted, and a fused control instruction is generated through a weighted fusion algorithm; when matching sequential locking mode, the instruction's effective permission is determined according to the order of function activation time. The dynamic re-arbitration unit monitors function activation status changes in real time. When a new high-priority function is detected, an interrupt signal is immediately triggered, pausing the current process and re-executing priority sorting and conflict resolution to generate the target control instruction. The instruction output module then extracts the torque value, angle value, and function identifier of the target control instruction through the instruction encapsulation unit, and encapsulates them into an instruction message containing a message header, data length, and checksum according to the EPS application layer software communication protocol format. The timing control unit schedules the sending opportunity according to the EPS execution layer control cycle. When there are multiple arbitration updates within the same cycle, only the last updated instruction message is sent to ensure the uniqueness and timeliness of the instruction received by the execution layer.
[0034] Step 4: Consistency Verification and Anomaly Response Steps: After the instruction is output, the arbitration verification end initiates a consistency verification process. The data readback unit reads back the actual received instruction data from the EPS execution layer input buffer. The hash comparison unit uses a preset hash algorithm to calculate hash values for the target control instruction and the readback data respectively. The data transmission consistency is determined by the comparison results. If there is a discrepancy, a verification failure report containing the exception type and deviation amount is generated. The exception handling module synchronously monitors the entire arbitration process. The log recording unit establishes a circular log buffer to record key events such as function state transitions, decision updates, verification failures, and re-arbitration triggers. Each log entry includes a timestamp, event code, and data payload. When the number of data consistency verification failures exceeds the first preset threshold within a unit of time, the single arbitration processing delay exceeds the second preset threshold, or the number of consecutive dynamic re-arbitration triggers exceeds the third preset threshold, the alarm triggering unit triggers the corresponding level of alarm signal and synchronously starts the dynamic re-arbitration mechanism: forcibly resetting the arbitration execution end state, re-initializing the priority queue, and rereading the configuration dataset from the preset software storage area to perform full arbitration. If a valid instruction still cannot be output after three consecutive re-arbitrations, the system switches to safe mode, blocking all assisted driving function instruction outputs and retaining only the driver's manual control authority to ensure system operation safety.
[0035] It should be noted that, in this document, relational terms such as "first" and "second" are used only to distinguish one entity or operation from another, and do not necessarily require or imply any such actual relationship or order between these entities or operations. Furthermore, the terms "comprising," "including," or any other variations thereof are intended to cover non-exclusive inclusion, such that a process, method, article, or apparatus that comprises a list of elements includes not only those elements but also other elements not expressly listed, or elements inherent to such a process, method, article, or apparatus. Without further limitations, an element defined by the phrase "comprising one..." does not exclude the presence of other identical elements in the process, method, article, or apparatus that includes said element.
[0036] Although embodiments of the invention have been shown and described, it will be understood by those skilled in the art that various changes, modifications, substitutions and alterations can be made to these embodiments without departing from the principles and spirit of the invention, the scope of which is defined by the appended claims and their equivalents.
Claims
1. A functional arbitrator for EPS application layer software, characterized in that: include: Arbitration configuration terminal, arbitration execution terminal, and arbitration verification terminal; The arbitration configuration terminal is used to define priority configuration rules for multiple driver assistance functions through a standardized table, generate a configuration dataset containing function identifiers, priorities, and parallel strategies, and write the configuration dataset into a preset software storage area; The arbitration execution terminal is used to collect the activation status signals and control command signals of each assisted driving function in real time, and call the lightweight arbitration decision model based on the configuration dataset to prioritize and resolve conflicts of multiple concurrent control commands, and output the target control command. The arbitration verification terminal is used to perform data consistency verification on the target control command, and send it to the EPS execution layer after the verification is passed. At the same time, it monitors the abnormal status of the arbitration process and triggers the dynamic re-arbitration mechanism.
2. The functional arbitrator for EPS application layer software according to claim 1, characterized in that: The arbitration configuration module includes a table construction module, a data parsing module, and a parameter fixing module. The table construction module includes a function identifier definition unit, a priority mapping unit, and a parallel strategy configuration unit; The function identifier definition unit is used to create a standardized configuration table containing function number, function name and function type. The function type includes lane keeping assist, automatic parking, warning compensation and straight-line acceleration compensation. The standardized configuration table is the generation carrier of the configuration dataset. The priority mapping unit is used to establish a mapping relationship between function identifiers and priority values in the standardized configuration table. The priority values are encoded in decimal integers. The smaller the value, the higher the priority. It also supports different configurations of arbitration strategies for different vehicle models and different customers by modifying the priority values. The parallel strategy configuration unit is used to define parallel operation rules for multiple sets of functions in the standardized configuration table, and the parallel operation rules are incorporated into the configuration dataset after being formatted.
3. The functional arbitrator for EPS application layer software according to claim 2, characterized in that: The parallel operation rules in the parallel strategy configuration unit include exclusive operation mode, parallel coexistence mode, preemptive interrupt mode, and sequential locking mode. The exclusive operation mode is used to restrict the activation of low-priority functions when high-priority functions are activated; the parallel coexistence mode is used to allow preset function combinations to output control commands synchronously within the same time window. The preemptive interrupt mode is used to support high-priority functions in forcibly terminating low-priority functions that are currently running. The sequential locking mode is used to restrict the activation permission of a specific function when another function is already activated.
4. The functional arbitrator for EPS application layer software according to claim 3, characterized in that: The data parsing module includes a format recognition unit, a logic verification unit, and a conflict detection unit; The format recognition unit is used to read the file header information of the standardized configuration table and automatically identify the file format type of the table. The logical verification unit is used to load the configuration dataset, traverse each group of functional configuration data in the configuration dataset, verify the legality of the value range of the priority value, check the syntactic integrity of the parallel running rule, and generate a first verification report containing verification results and error location information. The conflict detection unit is used to load the configuration dataset, and based on the preset arbitration constraint rule library, to perform a logical consistency scan on the parallel operation rules of multiple functional combinations in the configuration dataset, and identify rule entries with mutual exclusion relationships.
5. A functional arbitrator for EPS application layer software according to claim 4, characterized in that: The parameter solidification module includes a binary conversion unit and a data writing unit; The binary conversion unit is used to extract the configuration dataset that has passed the logical verification and conflict detection, and convert the priority values, function identifiers and parallel operation rules in the configuration dataset into a binary data stream of a preset length. The data writing unit is used to call the memory access interface of the EPS application layer software, define the preset software storage area as a non-volatile storage exclusive area pre-divided during the compilation stage of the EPS application layer software, write the binary data stream into the specified non-volatile storage sector within the preset software storage area, and after the writing is completed, read the stored data and compare it byte by byte with the configuration dataset. When the comparison result is consistent, a status flag bit for successful configuration is generated. When the comparison result is inconsistent, the data rewrite process is triggered until the maximum number of retries is reached.
6. A functional arbitrator for EPS application layer software according to claim 1, characterized in that: The arbitration execution terminal includes a status acquisition module, a decision scheduling module, and an instruction output module; The status acquisition module includes a signal filtering unit and a status buffer unit; The signal filtering unit is used to collect the original activation status signal and control command signal output by each driver assistance function in real time at a preset sampling frequency, and to use a moving average filtering algorithm to de-jitter the original activation status signal to eliminate glitches and interference during signal transmission, thereby obtaining the function activation status signal. The state caching unit is used to construct a circular buffer to cache the function activation state signal and the control command signal in timestamp order, forming a real-time state dataset containing function identifier, activation state, command torque value and command angle value.
7. A functional arbitrator for EPS application layer software according to claim 6, characterized in that: The decision scheduling module includes a priority sorting unit, a conflict resolution unit, and a dynamic re-arbitration unit; The priority sorting unit is used to read the real-time status dataset, filter out the set of functions that are currently active, sort the function identifiers in the set of functions in ascending order according to the priority mapping relationship in the configuration dataset, and generate an initial priority queue. The conflict resolution unit is used to traverse the initial priority queue and perform parallel strategy matching on the function combinations of adjacent priorities in the queue according to the parallel operation rules in the configuration dataset. When the exclusive operation mode or preemptive interrupt mode is matched, the control instructions of the low-priority function are removed and only the control instructions of the highest-priority function are retained. When the parallel coexistence mode is matched, the weight coefficient of the control instructions of each function is extracted and a fused control instruction is generated through a weighted fusion algorithm. When the sequential locking mode is matched, the instruction effective permission is determined according to the time sequence of function activation. The dynamic re-arbitration unit is used to monitor changes in the activation status of functions in the real-time status data. When a new high-priority function is detected, an interrupt signal is triggered to re-execute the priority sorting and conflict resolution process and generate the target control command.
8. A functional arbitrator for EPS application layer software according to claim 7, characterized in that: The instruction output module includes an instruction encapsulation unit and a timing control unit; The instruction encapsulation unit is used to extract the instruction torque value, instruction angle value and corresponding function identifier of the target control instruction, encapsulate the data according to the communication protocol format of the EPS application layer software, add message header, data length field and checksum field, and generate instruction message that conforms to the bus transmission specification. The timing control unit is used to schedule the sending of the instruction message according to the control cycle of the EPS execution layer. When there are multiple arbitration result updates within the same control cycle, only the instruction message of the last update is sent.
9. A functional arbitrator for EPS application layer software according to claim 8, characterized in that: The arbitration verification terminal includes a consistency verification module and an exception handling module; The consistency verification module includes a data readback unit and a hash comparison unit; The data readback unit is used to read back the actual received instruction data from the input buffer of the EPS execution layer after the target control instruction is output, and extract the instruction torque value and instruction angle value from the instruction data; The hash comparison unit is used to calculate the hash value of the target control command and the read-back command data using a preset hash algorithm, and compare the two hash values. If the comparison results are consistent, the data consistency verification is determined to be successful. If the comparison results are inconsistent, the data transmission is determined to be abnormal, and a verification failure report containing the abnormality type and data deviation amount is generated.
10. A functional arbitrator for EPS application layer software according to claim 9, characterized in that: The exception handling module includes a log recording unit and an alarm triggering unit; The log recording unit is used to establish a circular log buffer to record key events in the arbitration process. The key events include function activation state transition events, arbitration decision result update events, data consistency verification failure events, and dynamic re-arbitration trigger events. Each log record includes a timestamp, event type code, and associated data payload. The alarm triggering unit is used to predefine multi-level abnormal thresholds. When the number of data consistency verification failures exceeds the first preset threshold within a unit time, the single arbitration processing delay exceeds the second preset threshold, and the number of consecutive dynamic re-arbitrations exceeds the third preset threshold, in addition to triggering the corresponding level of alarm signal, the dynamic re-arbitration mechanism is triggered simultaneously, forcibly resetting the current state of the arbitration execution end, re-initializing the priority sorting queue, and rereading the configuration dataset from the preset software storage area to execute the full arbitration process. If a valid command cannot be output normally after three consecutive dynamic re-arbitrations, the system switches to safe mode and blocks the output of control commands for all assisted driving functions.
