GM WORLDWIDE ENGINEERING STANDARDS
GMW3110
© Copyright 2010 General Motors All Rights Reserved
February 2010
Page 186 of 336
8.17 ProgrammingMode ($A5) Service.
This service provides for the following levels of operation:
Verifies that all criteria are met to enable the programming services for all receiving nodes.
Enables the high speed mode of operation (83.33 kbps) for all receiving nodes on the Single Wire CAN
(SWCAN) bus (if high speed programming was requested by the tool).
Enables programming services for all receiving nodes.
This service shall only be available if normal communications have already been disabled (via service $28).
8.17.1 Service Description.
There are two steps required to enter a programming event. The first step
(initiating the programming event) is to verify that it is possible for all nodes to begin a programming event.
This step includes indicating to the nodes the baud rate that will be used during the programming event. The
second step is to actually enable the programming event. During this step, the tester and the nodes shall
initialize their CAN protocol converter hardware to the correct baud rate for the duration of the programming
event. Once programming mode has been enabled, the tester must send a TesterPresent (mode $3E)
message to all nodes (and any sub-nets as required by the programming event) at least once every P3
C
ms to
keep this mode active.
There are two possible options when initiating a programming event. The first is to request programming in
normal speed (sub-parameter $Level = $01 requestProgrammingMode), and the second is to request
programming in high speed mode (sub-parameter $Level = $02 requestProgrammingMode_HighSpeed). High
speed programming mode is only available on the low speed link (SWCAN). Programming at normal speed
shall be supported on any of the links. A request for this service with the sub-parameter value set to
requestProgrammingMode ($01), or requestProgrammingMode_HighSpeed ($02), is used to verify that
conditions are correct for a programming event to occur. A node can reject a request to initiate a programming
event (sub-parameter = $01 or $02) if specific enabling criteria are not met (e.g., The engine control module
should reject a request to initiate a programming event if the engine were running. The ABS module should
reject a request to initiate a programming event if it detected that the vehicle was moving). The tester must
ensure that a positive response is received from all nodes before actually enabling the programming event.
Each node shall respond to a request to initiate a programming event. However, the node shall not actually
enter programming mode until it receives a request from the tester to enable programming mode (sub-
parameter $Level = $03 enableProgrammingMode). There is no positive response message sent by the nodes
in response to an enableProgrammingMode request.
If the message to initiate a programming event was sent requesting high speed programming mode, then the
request to enable the programming event shall cause all devices (including the tester) on the SWCAN link to
switch to the high speed data rate within
Do'stlaringiz bilan baham: