Unified Diagnostic Services

From Wikipedia, the free encyclopedia

Unified Diagnostic Services (UDS) specifies data link independent requirements of automotive diagnostic services in road vehicles.[1] UDS is codified in ISO 14229-1:2013 and allows diagnostics to control functions on an in-vehicle Electronic Control Unit (ECU). Typical functions ECUs control are electronic fuel injection(EFI), automatic gear box, anti-lock braking system, Configurable Engine Mobilizer, Key Controls, Wiper Controls etc. all connected to a serial data link embedded in a road vehicle. The Diagnostic communication over Controller Area Network (DoCAN) is specified in ISO 15765-3[2] and ISO 14229-3 coupled with some LIN signalling.

Services[edit]

SID (Service Identifier)

Function group Request   SID Response   SID Service Description
Diagnostic and Communications Management $10 $50Diagnostic Session ControlUDS uses different operating sessions, which can be changed using the "Diagnostic Session Control". Depending on which session is active, different services are available. On start, the control unit is by default in the "Default Session". Other sessions are defined, but are not required to be implemented depending on the type of device:
  • "Programming Session" used to upload software.
  • "Extended Diagnostic Session" used to unlock additional diagnostic functions, such as the adjustment of sensors.
  • "Safety system diagnostic session" used to test all safety-critical diagnostic functions, such as airbag tests.

In addition, there are reserved session identifiers that can be defined for vehicle manufacturers and vehicle suppliers specific use.

$11 $51ECU ResetThe service "ECU reset" is used to restart the control unit (ECU). Depending on the control unit hardware and implementation, different forms of reset can be used:
  • "Hard Reset" simulates a shutdown of the power supply.
  • "key off on Reset" simulates the drain and turn on the ignition with the key.
  • "Soft Reset" allows initialization of certain program units and their storage structures.

Again, there are reserved values that can be defined for vehicle manufacturers and vehicle suppliers specific use.

$27 $67Security AccessSecurity check is available to enable the most security-critical services. For this purpose a "Seed" is generated and sent to the client by the control unit. From this "Seed" the client has to compute a "Key" and send it back to the control unit to unlock the security-critical services.
$28 $68Communication ControlWith this service, both the sending and receiving of messages can be turned off in the control unit.
$3E $7ETester PresentIf no communication is exchanged with the client for a long time, the control unit automatically exits the current session and returns to the "Default Session" back. Therefore, there is an extra service which purpose is to signal to the device that the client is still present.
$83 $C3Access Timing ParametersIn the communication between the controllers and the client certain times must be observed. If these are exceeded, without a message is sent, it must be assumed that the connection was interrupted. These times can be called up and changed.
$84 $C4Secured Data Transmission 
$85 $C5Control DTC SettingsEnable or disable the detection of any or all errors. This is important when diagnostic work is performed in the car, which can cause an anomalous behavior of individual devices.
$86 $C6Response On Event 
$87 $C7Link ControlThe Service Link Control is used to set the baud rate of the diagnostic access. It is usually implemented only at the central gateway.
Data Transmission $22 $62Read Data By IdentifierWith this service it is possible to retrieve one or more values of a control unit. This can be information of all kinds and of different lengths such as Partnumber or the software version. Dynamic values such as the current state of the sensor can be queried. Each value is associated to a Data Identifier (DID) between 0 and 65535.
$23 $63Read Memory By AddressRead data from the physical memory at the provided address.
$24 $64Read Scaling Data By Identifier 
$2A $6ARead Data By Identifier PeriodicWith this service values are sent periodically by a control unit. The values to be sent must be defined to only using the "Dynamically Define Data Identifier".
$2C $6CDynamically Define Data IdentifierThis service offers the possibility of a fix for a device specified Data Identifier (DID) pool to configure another Data Identifier. This is usually a combination of parts of different DIDs or simply a concatenation of complete DIDs.

The requested data may be configured or grouped in the following manner:

  • Source DID, position, length (in bytes), Sub-Function Byte: defineByIdentifier
  • Memory address length (in bytes), Sub-Function Byte: defineByMemoryAddress
  • Combinations of the two above methods through multiple requests.
$2E $6EWrite Data By IdentifierWith the same Data Identifier (DID), values can also be changed. In addition to the identifier, the new value is sent along.
$3D $7DWrite Memory By Address 
Stored Data Transmission $14 $54Clear Diagnostic InformationDelete all stored DTC
$19 $59Read DTC InformationDTC stands for "Diagnostic trouble codes". Each DTC handled by the control unit fault is stored with its own code in the error memory and can be read at any time. In addition to the error, additional information will be stored, which can also be read.
Input / Output Control $2F $6FInput Output Control By IdentifierThis service allows an external system intervention on internal / external signals via the diagnostic interface.

By specifying a so-called option bytes additional conditions for a request can be specified, the following values are specified:

ReturnControlToECU: The device must get back controls of the mentioned signals.

ResetToDefault: The tester prompts to reset signals to the system wide default value.

Freeze Current State: The device shall freeze the current signal value.

ShortTermAdjustment: The device shall use the provided value for the signal

Remote Activation of Routine $31 $71Routine ControlThe Control service routine services of all kinds can be performed. There are three different message types:
  • With the start-message, a service can be initiated. It can be defined to confirm the beginning of the execution or to notify when the service is completed.
  • With the Stop message, a running service can be interrupted at any time.
  • The third option is a message to query the results of the service.

The start and stop message parameters can be specified. This makes it possible to implement every possible project-specific service.

Upload / Download $34 $74Request DownloadDownloading new software or other data into the control unit is introduced using the "Request Download". Here, the location and size of the data is specified. In turn, the controller specifies how large the data packets can be.
$35 $75Request UploadThe service "request upload" is almost identical to the service "Request Download". With this service, the software from the control unit is transferred to the tester. The location and size must be specified. Again, the size of the data blocks are specified by the tester.
$36 $76Transfer DataFor the actual transmission of data, the service "Transfer Data" is used. This service is used for both uploading and downloading data. The transfer direction is notified in advance by the service "Request Download" or "Upload Request". This service should try to send packets at maximum length, as specified in previous services. If the data set is larger than the maximum, the "Transfer Data" service must be used several times in succession until all data has arrived.
$37 $77Request Transfer ExitA data transmission can be 'completed' when using the "Transfer Exit" service. This service is used for comparison between the control unit and the tester. When it is running, a control unit can answer negatively on this request to stop a data transfer request. This will be used when the amount of data (set in "Request Download" or "Upload Request") has not been transferred.
$38 $78Request File TransferThis service is used to initiate a file download from the client to the server or upload from the server to the client. Additionally information about the file system are available by this service.

References[edit]

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值