Dps User Guide
Dps User Guide
com
Contents
Overview .................................................................................................................................... 4
DPS ........................................................................................................................................ 4
DPS Software License............................................................................................................ 4
J2534 Interface....................................................................................................................... 4
Programming ............................................................................................................................. 5
Opening the Programming Dialog........................................................................................... 5
Programming Dialog ............................................................................................................... 5
Protocol/Pin Selection Comments ....................................................................................... 6
Selecting a J2534 Device ....................................................................................................... 6
Program an ECU .................................................................................................................... 8
Clearing DTCs ........................................................................................................................ 8
Get Controller Info (Reading ECU Data) ................................................................................. 9
Testing Type 4 Applications...................................................................................................11
ECU Configuration (XML) ......................................................................................................13
Create Build Data Record File............................................................................................15
ECU Bypass Ticket................................................................................................................17
Selecting a VIN for use during Programming Event ...............................................................19
Service Programming Archive Tool ...........................................................................................20
View Contents of an Archive ..................................................................................................21
View Utility File ......................................................................................................................22
Convert Files .........................................................................................................................23
Create New Archive...............................................................................................................24
Appendix A: Other Specialized DPS Functions .........................................................................27
Supersession Programming (SST = Supersession Table) .....................................................27
BATCH Supersession Programming .....................................................................................27
Sequential Programming .......................................................................................................27
Vehicle Key Provisioning (Global B/GEM only) ......................................................................27
Appendix B: Other DPS “Option” Functionality ..........................................................................28
Disable Class 2 ID Filtering ...................................................................................................28
Disable SST VinLog.Dat Writing ............................................................................................28
Disable GMLAN Automatic P/N VIT Setting ...........................................................................28
Enable Prog Event Logging ...................................................................................................28
Disable Auto File Conversion ................................................................................................29
Enable GMLAN ($28, $A5) Error Toleration ..........................................................................29
CameraLoops.com
Overview
DPS
The Development Programming System (DPS) application is a 32-bit Windows-based
application used for the flash programming of General Motors electronic control units (ECU) and
verification of Service Programming. DPS is a development tool intended for the GM
engineering community and ECU suppliers. It is designed to interface with SAE J2534-
compliant hardware interfaces during the communication process.
J2534
Interface
The communications subsystem in DPS is the same as the Service Programming System
(SPS), which is used at dealerships. Therefore, proof of functionality within DPS ensures
success within the dealership system from a communication perspective.
DPS is used by all groups in GM as well as other groups supporting a GM product or ECU, such
as GM suppliers, joint venture groups, educational institutions, and over 10,000 other users.
J2534 Interface
J2534 is an interface standard designed by the Society of Automotive Engineers (SAE) and
mandated by the Environmental Protection Agency (EPA) for vehicle ECU reprogramming.
Thus, J2534 has been adopted by all vehicle manufacturers, and allows the independent
aftermarket the ability to program ECUs.
Examples of J2534 devices: MDI 2, Peak PCAN, Cardaq, Cardaq-Plus, Mongoose, CAT, Vector
Pass Thru, NeoVi
CameraLoops.com
Programming
The programming window supports functionality with respect to communicating with the vehicle.
This includes programming an ECU, clearing DTCs, reading ECU data, testing Type 4
applications, ECU configuration (XML), ECU Bypass Ticket writing, selecting a VIN for
programming, and more. While the programming dialog is open, the menu bar changes to
include new options.
Programming Dialog
The programming dialog is broken up into three sections. In the top left, the user can select the
protocol and communication settings. These settings are used for all communication features
supported in the programming dialog. The controls for the programming interface are in the
bottom left of the dialog. On the right side, the dialog will display the communication messages.
CameraLoops.com
To select a different device type, click the Clear Default Device checkbox in the Protocol and
Communication Settings area of the programming interface prior to the next communication
event.
CameraLoops.com
For issues with most devices, contact the device manufacturer for support. If the “Device is
support by GM” then the DPS team provides support for issues with those devices.
If MDI or MDI 2 device type is selected, the user may be prompted to select a specific device to
which to connect:
CameraLoops.com
Program an ECU
To program an ECU, follow these steps:
1. Set the protocol and communication settings.
2. Click the Select Cal button, which displays the open file dialog.
3. Click Program.
The communication messages to/from the vehicle are captured in the vehicle communications
data display.
Clearing DTCs
While the program dialog is open and the communication settings are set, the user can clear
DTCs using the Clear DTC’s button in the program menu. Clearing DTCs is only supported for
Class II, GMLAN, and GM UDS. The data display will display the messages.
CameraLoops.com
Example dialog:
CameraLoops.com
Convert Files
To convert files, the user need only use the Calibration File Options section of the dialog. To
convert a file, start by selecting a conversion option. Click Select Cal File to select the actual
file to get converted (PTP, BIN, HEX, or API). Type in the name of the new file next to the
Convert Cal File button. Click Convert Cal File to generate the new file.
Note: The conversion status (success/failure) and the output file information are displayed in the
display section. As always, the use can click save to file to save the data display.
CameraLoops.com
The Build Calibration Archive/Template File dialog shows the user the files going into the
archive. The user can update the Mod ID and Description fields if desired. For each row, click in
the Utility/Calibration File column to display a Select File button. Click the Select File button to
select the applicable file for building the archive. When all files are selected, click the Build
button. The status of the build process will display.
CameraLoops.com
Sequential Programming
Used when someone wants to update multiple ECUs (programming) in one shot without having
to pick for example - ECM_Archive.zip, then BCM_Archive.zip, then TCM_Archive.zip - - they
can list these archives in a file (much like a batch file) and then just pick ONE sequence file and
program multiple ECU events at a single time sequentially.
01 22182143 -- --
02 22182144 -- --
03 22182145 -- --
07 22182210 -- --
08 22182212 -- --
-- -- -- --
-- -- -- --
When a programming event is executed, the programming logic flow is determined by the
Operation Code instructions that are written within the Utility File (the Utility File is contained
within the Programming Archive). The utility file may include instructions that reference the data
in the VIT data structure; if it does, then the programming event may execute differently based
on the data populated within the VIT. (for example: Utility files typically are written so that the
programming of the Op. Software can be bypassed if it is determined that the vehicle already
contains this ‘new’ version of Op. Software. This greatly reduces programming time.)
Programming Archive
- Utility File
- Op. Software
- Calibration files
DPS
CameraLoops.com
Header Information (24 bytes - The Header Information defines information that remains
Used to setup the programming constant during the entire reprogramming event. An
session) example of this information is the "Type of Interpreter",
once the software starts using an Interpreter it will not
change to an Interpreter using another communications
protocol.
Interpreter Instructions (A set of The Interpreter Instructions are the Op-Codes that guide
sequentially numbered step to the terminal application through a reprogramming event.
control the programming Each instruction line is 16 bytes long and consists of four
session) sections: 1-byte Step Number, 1-byte Op-Code, 4-byte
Action Field, and 10 bytes of goto fields.
ECU Specific Control Routines The Device Specific Control Routines are programming
and Service Request Data routines used for performing various functions during the
Routine reprogramming event. The number of routines varies,
depending on how each ECU. Examples of control
routines are: erase flash memory, turn on reprogramming
voltage, or read flash manufacturer and ID.
Service Request Data Routines provide a means to pass
additional data in Service Request. Examples of this data
are Routine Entry Options and Record Values.
Even though the Utility File is viewed as three sections, it must be handled as a single file. The
routine section of the utility file is an optional section and is controller specific.
CameraLoops.com
The typical way a utility file is designed with respect to the Security Code logic is to check to see
if the VIN in the ECU matches the VIT VIN via the TOOL (DPS, Tis2Web). When this VIN check
(comparison) fails, then SECURITY CODE LOGIC is executed.
When Security Code logic is executed within a utility file, the Security Code Data will need to be
entered into DPS; otherwise, default Security Code data of 0xFF 0xFF 0xFF 0xFF data will be
used (DPS does NOT access the GM Security Code database) – the user is EXPECTED to
know the SECURITY CODE when using this Development tool.
See steps and screen below.
Setting up the VIN and Security Code data for DPS:
After picking the Protocol, Interface, Subtype and Diagnostic Pins - - Pick the Archive for
programming, then…..
1) Pick The “Get Controller Info” button
2) The ECU-Data dialog will display
3) Pick “Read Info”
4) The data will be populated INCLUDING THE VIN INFORMATION
** Note: The user can skip steps 3 & 4 and MANUALLY enter the VIN into the “VIN ($90)”
edit box.
5) Pick the “OK” button (Note: ECU Data dialog will close)
6) The VIN INFORMATION from the “ECU Data” dialog will now be displayed on the
PROGRAMMING dialog
(see arrow 6) - - this is what is used in “VIT” for comparison.
7) If Security CODE data needs to be entered, then the Run-Time Option “Theft Deterrent
Security Code” must get checked
8,9) AND, then the SECURITY CODE for the VEHICLE (Code 1) and the Security Code for
the ECU (Code 2) must be entered by the user.
CameraLoops.com