TSMaster is an automotive bus tool chain software launched by TOSUN, which has become one of the most commonly used tools by the majority of automotive engineers, especially automotive electronics engineers. It is a domestic alternative to a very powerful development, simulation and test environment. The majority of engineers should use more diagnostic functions of TSMaster in their work, and we will introduce the specific price of TSMaster diagnostic functions below.
I. Diagnostic TP parameters configuration
TSMaster provides diagnostic console basic functions, and users can configure their own sending and answering requests according to their needs.
1、Transport layer protocol
Mainly includes: Bus Type, Channel, Request ID/Response ID/Function ID, Request ID Type/Response ID Type /Function ID Type, Filled Byte, STMin, BlockSize, FD Max DLC, Max Length.
The diagnostic transport layer type, CAN/CANFD/LIN is currently supported, followed by Ethernet and Flexray, etc. TSMaster currently supports multiple diagnostic modules working online at the same time, and is used here to select which logical channel of the system is used by the current diagnostic module.
2、Service layer parameters
The service layer parameters mainly include S3, P2 time parameters, and the DLL for loading SeedKey. the DLL loading interface is shown in the following figure.
By enabling TesterPresenter in the Diagnostic Tp parameter configuration, TSMaster will provide a global switch. This switch allows the user to turn on and off the TesterPresent command directly.
Second, the basic diagnostic configuration
This module contains the BasicDiagnostic parameter and the CombinedService, which is used for commands that are completely independent of each other, and for commands that must be combined with multiple commands to be completed.
1、Add delete service command
Place your mouse over the service command that needs to be added and removed, right click to expand it, and select whether you need to add and remove the service.
2、Configure BasicDiagnostic service parameters
Session Control, for example, contains the configuration of the following parameters.
(1) Configure the service name: Users can configure a service name that is easy to understand and manage.
(2) Is Function ID: Whether this diagnostic service uses Function ID to send diagnostic requests.
(3) Select sub-service type: For example, DiagnosticSessionType in Session Control contains the Session type as shown above.
(4) Byte order of parameter list: Support Motorola and Intel byte order.
(5) Parameter list: The diagnostic service can be sent to the ECU under test with parameters in addition to the diagnostic ID and sub-service type ID. the parameter list contains the parameter list of request and answer frames, which is configured as shown below, and the user can choose to add/remove multiple types of parameters.
3、Configure CombinedServices message
(1) Download File: the combination of services currently only supports the download file service, if the user has other combination of demand, you can feedback to Shanghai Tongxing, reasonable demand can be added to the software as a standard service module.
(2) Checksum: In the process of program download, in order to ensure the integrity of the data, it is necessary to introduce the Checksum algorithm to check the integrity and validity of the data. the mainstream CRC algorithm is introduced in the compliance service of TSMaster diagnostic module for checking.
(3) Load Binary data file: Hex, S19 file format is internal with data start address and length, but for Binary type binary file, it is not internal with data start address, therefore, when loading Binary data file again, the user needs to manually input the length of the data start address segment.
4、Sync to console
III. Flexible application of system variables
TSMaster introduces system variables as parameters into the diagnostic module, which greatly expands the ability of the diagnostic module to interact with other modules' data.
1、System variable associated with Console service
Users can flexibly configure the diagnostic services in the Diagnostic Console according to their needs. After these diagnostic services are configured, users need to double-click to start the diagnostic service in the Diagnostic Console. However, if you want to start the diagnostic command in the Panel interface, you need to use system variables.
2、External program control diagnosis
External programs can exchange data with TSMaster through system variables.
IV. Automatic diagnosis process
1、Process use case management
TSMaster's automated diagnostic process is not just for a specific application, but for the whole project's diagnostic process management. Users can configure test diagnostic process groups according to the requirements of the complete project, and each group can contain several different diagnostic processes inside, and only contain specific diagnostic steps in one diagnostic process.
2、Configuration diagnosis process((UDS Flow)
(1) Basic configuration steps: Select a diagnostic process node in the left management column - In the right edit area, add, delete, edit diagnostic steps - After adding a step, edit the step name - Select the type of the step - Select the step address type, physical address or functional address - Configure detailed diagnostic request packets and answer packets - Configure the waiting time between steps after this step is finished -Configure the error handling method for errors occurring in this step
The diagnostic process configuration toolbar is shown in the following figure.
(3) Type of diagnostic steps
The test step, in order to increase the flexibility of the diagnostic configuration, designed 5 types to choose from, as shown in the figure below, mainly contains: Normal, SelectConfig, SeedAndKey, DownloadFile, TesterPresent, RoutineControl. through these 5 types, basically covers the Through these five types, basically covers all the mainstream diagnostic process requirements on the market.
(4) Step interval time
The time interval between steps and steps of the diagnostic process module is settable, as shown below in ms.
(5) Error handling
At this stage, error handling mainly contains two parameters: the number of retries after an error and whether to stop or continue running after an error. In the subsequent product planning, it is allowed to jump to the specified process after an error (e.g. jump to the erase process) to further increase the flexibility of the auto-run process module.
(6) Enable step/position adjustment
For the diagnostic process steps that have been configured, the user checks the diagnostic steps they want to perform based on the selection box on the left.
V. Typical applications
The typical application of TSMaster diagnostic function mainly contains three typical application operations of reading vehicle VIN code, writing configuration information and Flash Bootloader process.
VI. Summary of frequently asked questions
1、Erase address configuration
(1) Fixed address and length
If the erase address is a fixed address, the treatment is easiest. Just directly configure a service with Normal content, and fill in the original data directly inside. If the erase address is 0x00801234, the erase length is 0x0000C000.
(2) Variable address and length
The address corresponds to a variable data address and length depending on the different Hex files loaded. For this case, system variables are required. The system variables are used. Take the sample hex file as an example. Each time the diagnostic module loads a Hex file, it automatically extracts some Hex feature information and registers it as a system variable.
2、The value of Seed&Key
If the Seed&Key value is a fixed value, it is straightforward to use the Select Normal mode and fill in the fixed value. This section mainly explains the dynamic calculation of Key value based on Seed&Key.
3、Why the read string is inverse
The user expects the read string to be ReadDemo, but the read string is omeDdeaR, which is exactly the opposite. This is because the configured string parsing order does not match the actual character storage order, so the parsed string follows the opposite order.
Solution: Adjust the parsing order of the strings, for example, before for Motorola, now modify it to Intel, and after the modification, the read string matches the expected string.