What is our UDS Blockset?

Created by Luke Cross, Modified on Mon, 17 Oct, 2022 at 12:59 PM by Luke Cross

A Simulink® UDS Blockset to add diagnostics services to your models. Enabling you to generate production code directly from your Simulink® model.

  • You can add diagnostics trouble codes (DTCs) to be triggered from your model.
  • Complex routine control functions can be modelled and managed from within the Simulink environment.
  • You can drop a read/write by identifier block on any Simulink signal. This enables you to see and control your entire model over diagnostics.
  • Security access blocks enable you to choose what is allowed at different security levels.
  • Tester Present is fully managed, so you do not have to worry about this at all.
  • Comes with many examples to get you going fast. Copy and paste them into your models to give you UDS on your ECU.
  • You can be well supported throughout your project. We can provide support, training and integration services. Whatever you need to be successful, on time and error-free.

In summary, the UDS Blockset empowers you to do easy and efficient development of Unified Diagnostics Services, ISO 14229, within the model-based development environment.

 

Simulink UDS Blockset Architecture

Simulink UDS Blockset Architecture

 

 

As seen on the Mathworks website.

Contact us to arrange a live-web demo where we can walk you around a real production model. It will give you the information you need to decide if the UDS Blockset can help your project.

Services Supported

The current list of services fully supported with the UDS stack and complete with Simulink and Target Package support for the Embedded Coder are as follows.

  • 0x10 – Diagnostic Session Control: Enable different diagnostics sessions
  • 0x11 – ECU Reset: Reset the ECU, typically used after changing ECU data
  • 0x27 – Security Access: Restrict access to data and services
  • 0x3E – Tester Present: Keep diagnostic sessions alive while no activity is occurring
  • 0x22 – Read Data By Identifier: Request data from the ECU
  • 0x2E – Write Data By Identifier: Write data to the ECU
  • 0x31 – Routine Control: Run functions within the ECU (e.g., execute tests, reset odometer)
  • 0x34 – Request Download: Reprogram the ECU (implemented within Embed Bootloader)
  • 0x36 – Transfer Data: Manage to reprogram (implemented within Embed Bootloader)
  • 0x37 – Request Transfer Exit: Exit reprogramming (implemented within Embed Bootloader)
  • 0x14 – Clear Diagnostic Information: Clear diagnostic trouble codes within the ECU
  • 0x19 – Read DTC Information: Read diagnostic trouble codes from an ECU. Including snapshots and extended data.
  • 0x2F – Input Output Control By Identifier: Force ECU inputs/outputs and return control to ECU

More services are being added as needed, so please get in touch if you have any particular requirements.

On-the-Road Now

The Embed UDS Blockset and software components have been developed according to Automotive SPICE (HIS) and are full production quality. They have been used in the following projects and are on the road now.

Hybrid Climate Interface Controller

A climate interface unit for a hybrid electric vehicle, interfacing with a LIN electric compressor as well as 2 CAN networks. This has UDS and a CAN bootloader.

Freescale MPC5646 using Green Hills Compiler.

EV Battery Fan Controller

A battery fan controller for a lithium battery in a fully electric vehicle. This is in production today using the Embed CAN stack, UDS Blockset and application, all fully developed in Simulink. This is also described in more detail in our case study.

Freescale HS12 using CodeWarrior compiler.

Immobiliser

A line-fit vehicle immobiliser for SAIC is on the road today in a mass-produced vehicle. In this application the Embed CAN-TP and complete diagnostics stack sat on top of the Mentor Graphics CAN stack (i.e. In the figure above, the Embed CAN Stack was replaced with the Mentor Graphics CAN stack).

Freescale HS12 using IAR compiler.

Stolen Vehicle Tracker

A stolen vehicle tracker that is line-fit to Aston Martin cars and aftermarket fit to Jaguars, Land Rovers and Range Rovers.

ATMEL ARM7 using IAR compiler.

Fleet Management Telematics ECU

An aftermarket-fit ECU to report position and salient CAN data over the air to truck fleet managers. As well as the standard UDS Blockset, this ECU also has a UDS Bootloader to reflash the ECU over CAN or via the mobile phone network using GSM. This is featured in our case study section; UDS On a Production Telematics Unit.

Freescale MPC5516 using CodeWarrior and GNU compilers.

HVAC ECU

An HVAC ECU for an electric vehicle with full UDS services.

Freescale MPC5554 using GNU compiler.

Cabin Switch Module

A switch module to monitor many switches and report switch events on the CAN bus.

Freescale Kinetis KEO6 using IAR compiler.

 

Was this article helpful?

That’s Great!

Thank you for your feedback

Sorry! We couldn't be helpful

Thank you for your feedback

Let us know how can we improve this article!

Select at least one of the reasons

Feedback sent

We appreciate your effort and will try to fix the article