CAN Id
#1
#2
#3
#4
#5
#6
#7
#8
T(USDT-SF)
$101
$FE
$02
$A5
$02
---
---
---
---
N-1(USDT-
SF)
$641
$01
$E5
---
---
---
---
---
:
N-n(USDT-
SF)
$64D
$01
$E5
---
---
---
---
---
---
after all positive responses received:
T(USDT-SF)
$101
$FE
$02
$A5
$03
---
---
---
---
No Response Allowed.
--``,,``````,``,,``,,,`,`,`,,-`-`,,`,,`,`,,`---
CameraLoops.com
GM WORLDWIDE ENGINEERING STANDARDS
GMW3110
© Copyright 2010 General Motors All Rights Reserved
February 2010
Page 190 of 336
8.17.6 Node Interface Function.
8.17.6.1 Node Interface Data Dictionary (Table 171).
Table 171: Node Interface Data Dictionary of ProgrammingMode Service Pseudo Code
Variable/Meaning
Values
message_data_length
programming_mode_active
normal_message_transmission_status
high_speed_mode_active
programming_mode_entry_OK
high_speed_mode_entry_OK
Reference Common/Global
Pseudo Code Data
Dictionary For Definition Of
These Flags/Variables
8.17.6.2 Node Interface Pseudo Code.
Powerup States:
/* see global data dictionary for variable states at powerup. */
Each time a ProgrammingMode ($A5) message is received, the following logic is executed:
BEGINFUNCTION Serv_A5_Msg_Recvd()
/* The TesterPresent_Timer_State is not checked in the pseudo code below because it must already be
ACTIVE in order to have normal communications disabled (which is checked for in both level $01 and $02.
Once normal communications have been disabled, the only methods to re-enable normal comm is to send a
$20 request or let a P3
C
timeout occur. In either case, the flags programming_mode_entry_ok and
high_speed_mode_entry_ok get reset. Therefore it is also not possible to have normal comm re-enabled
between the verification request ($01 or $02) and the request to enable the programming event ($03) so no
check is necessary for this in level $03. */
IF ((message_data_length != 2) THEN
send Negative Response ($7F $A5 $12) /* InvalidFormat */
ELSE IF (programming_mode_active = YES) THEN
send Negative Response ($7F $A5 $22) /* ConditionsNotCorrect */
ELSE
SELECT FIRST
WHEN ($Level = LEV_RQPM) /* ($01) Request Programming in low speed mode */
/* check if ok to enter programming mode and that $28 service is active */
/* $28 service disables setting DTCs and inhibits normal communication */
IF ( (device cannot enter programming mode) OR
(normal_message_transmission_status = ENABLED)) THEN
send Negative Response ($7F $A5 $22) /* Conditions Not Correct */
ELSE
IF (device temporarily cannot enter programming mode)
send Negative Response ($7F $A5 $78) /* RequestCorrectlyReceived-ResponsePending */
ENDIF
programming_mode_entry_OK
YES
high_speed_mode_entry_OK
NO
send Positive Response ($E5)
ENDIF
WHEN ($Level = LEV_RQPM_HS) /* ($02) Request Programming in high speed mode */
--``,,``````,``,,``,,,`,`,`,,-`-`,,`,,`,`,,`---
CameraLoops.com
Do'stlaringiz bilan baham: |