The previous article in the series "Diagnostic Test Development Based on ODX (1): ODX Database Analysis" briefly introduced the ODX file type and the hierarchical structure of each file. In this issue, we will introduce in detail how to parse the ODX database.
Before launching the main text, let me first explain the purpose of parsing the ODX database introduced in this article. For projects involving diagnostic function tests (such as DTC, etc.), the implementation process is roughly two steps: first, complete the development of a general diagnostic function test script through CANoe-CAPL; when implementing tests on specific ECUs, complete the parameter configuration of the above general script based on the diagnostic data table of the ECU, which can be manually configured (lower efficiency) or automatically configured by parsing the diagnostic data table. In previous projects, the diagnostic data table has both Excel and ODX formats. For this reason, Beihui has developed a diagnostic data table parsing module (supporting Excel and ODX formats) to realize automatic configuration of test script parameters, thereby improving efficiency.
01ODX Implementation MethodODX
is described using the Unified Modeling Language UML class diagram, and ODX data is stored in XML file format. We know that classes contain attributes and methods, and have features such as encapsulation, inheritance, and polymorphism. So how do we map UML to XML? The ISO22901-1 specification makes the following provisions:
Regulation
Map UML classes to XML elements; If the attribute of the class in UML has an "attr" tag, map the attribute to the attribute of the XML element; If the attribute of the class in UML does not have an "attr" tag, map it to the child element of the XML element. If the UML attribute has a "content" tag, map it to the content of the XML element; If class B is associated with class A through Aggregation and composition, class B is mapped to the child element of the XML class A element; If class B is associated with class A through association, it is usually implemented in XML as a reference, such as "snref", "snpathref" or "odxlink"; The inheritance relationship in the UML class diagram is implemented in XML as; Note: Aggregation, composition and association are the relationships between UML class diagrams, which will not be introduced in detail here.
Figures 1 and 2 are examples of converting UML into XML based on the above rules.
Figure 1
Figure 2
02ODX inheritance - value inheritance
Value inheritance is a core concept in ODX. The concept of object-oriented inheritance has the following advantages when used to diagnose data models:
Multiple ECU variants reuse diagnostic data;
In the case where an ECU is used in multiple projects, common data can be extracted and only different data is retained in the ECU variants, thus reducing data redundancy;
Provides data security and integration.
In the previous issue, we briefly introduced ODX inheritance. In order to avoid data duplication and redundancy, ODX divides the diagnostic layer into five levels. As shown in Figure 3, Protocol is general, ECU Variant is specific, and ECU Shared Data is like a library that can provide data and services for other layers.
As shown in Figure 3
, the inheritance relationship in ODX is implemented in XML. If some of the inherited data is not applicable, the inapplicable data can be removed. As can be seen from the example in Figure 4, the ECU does not support level 3 and level 4 unlocking levels.
Figure 4
03 Introduction to ODX parsing ideas
When we get an ODX or PDX (PDX is a package of a series of ODX files), how do we carry out the parsing work?
First find the Base Variant file of the ECU.
Look for inheritance relationships in the Base Variant.
Find the corresponding ECU variant, i.e. ECU Variant, in the Base Variant file.
Find the corresponding diagnostic services and data in the ECU Variant file.
Figure 5
04ODX parsing practice
According to the ODX parsing ideas in Chapter 3, the parsing results are shown in Figures 6, 7 and 8. Among them, ECU Shared Data, as a library, provides general diagnostic services, as shown in Figure 6; and ECU variant BCM 88890251 A not only inherits the general diagnostic services of Base Variant, but also adds multiple DIDs, RIDs, and IO Controls, and removes 19 15, 27 05 and 27 06, which are not applicable. Figure 8 shows the various data types contained in ODX, which will not be introduced in detail here.
Figure 6
Figure 7
Figure 8
05 Summary
Compared with the inconvenience of exchanging diagnostic data in the traditional Excel format, ODX unifies the format of diagnostic files. When exchanging data between R&D, testing, production and after-sales departments, there is no need for format conversion. Therefore, many OEMs have begun to use ODX.
Previous article:A car actually needs more than 1,000 chips
Next article:Safety requirements and test methods for power batteries for electric vehicles
- Huawei's Strategic Department Director Gai Gang: The cumulative installed base of open source Euler operating system exceeds 10 million sets
- Analysis of the application of several common contact parts in high-voltage connectors of new energy vehicles
- Wiring harness durability test and contact voltage drop test method
- Sn-doped CuO nanostructure-based ethanol gas sensor for real-time drunk driving detection in vehicles
- Design considerations for automotive battery wiring harness
- Do you know all the various motors commonly used in automotive electronics?
- What are the functions of the Internet of Vehicles? What are the uses and benefits of the Internet of Vehicles?
- Power Inverter - A critical safety system for electric vehicles
- Analysis of the information security mechanism of AUTOSAR, the automotive embedded software framework
Professor at Beihang University, dedicated to promoting microcontrollers and embedded systems for over 20 years.
- Innolux's intelligent steer-by-wire solution makes cars smarter and safer
- 8051 MCU - Parity Check
- How to efficiently balance the sensitivity of tactile sensing interfaces
- What should I do if the servo motor shakes? What causes the servo motor to shake quickly?
- 【Brushless Motor】Analysis of three-phase BLDC motor and sharing of two popular development boards
- Midea Industrial Technology's subsidiaries Clou Electronics and Hekang New Energy jointly appeared at the Munich Battery Energy Storage Exhibition and Solar Energy Exhibition
- Guoxin Sichen | Application of ferroelectric memory PB85RS2MC in power battery management, with a capacity of 2M
- Analysis of common faults of frequency converter
- In a head-on competition with Qualcomm, what kind of cockpit products has Intel come up with?
- Dalian Rongke's all-vanadium liquid flow battery energy storage equipment industrialization project has entered the sprint stage before production
- Allegro MicroSystems Introduces Advanced Magnetic and Inductive Position Sensing Solutions at Electronica 2024
- Car key in the left hand, liveness detection radar in the right hand, UWB is imperative for cars!
- After a decade of rapid development, domestic CIS has entered the market
- Aegis Dagger Battery + Thor EM-i Super Hybrid, Geely New Energy has thrown out two "king bombs"
- A brief discussion on functional safety - fault, error, and failure
- In the smart car 2.0 cycle, these core industry chains are facing major opportunities!
- The United States and Japan are developing new batteries. CATL faces challenges? How should China's new energy battery industry respond?
- Murata launches high-precision 6-axis inertial sensor for automobiles
- Ford patents pre-charge alarm to help save costs and respond to emergencies
- New real-time microcontroller system from Texas Instruments enables smarter processing in automotive and industrial applications
- orcad to altium
- EEWORLD University ---- HCIA-IoT Huawei Certified Internet of Things Engineer Video Course
- Wish you all a happy Christmas Eve
- PD decoy XSP01 is successfully made, supports PD3.0 fast charging protocol, and is tested with iPhone 18W charging head
- How to use FIFO_DATA_OUT_ to collect data on LSM6DSL
- Fire host transmission equipment
- Why is there voltage output when the MOS tube is not conducting?
- MSP432P401R manually realizes the breathing light
- 【NXP Rapid IoT Review】 + WEB IDE usage experience and improvement suggestions
- Can you please help me analyze the principle of this circuit? Thank you.