Professional Documents
Culture Documents
PAM System
Download
User’s Manual
Ordering Number: 006.8032.C
Rev. 27 September 2000
1 INTRODUCTION ------------------------------------------------------------------------------------------- 5
1 INTRODUCTION
This document presents the PAM-P system channel (not running on a PAM). It provides the ability to
completely update an ACC Socapel system (PAM-P + SAM). The minimal ProMotion version is 200. It must
be used with document 006.8029 PAM CAN Bus Interface User’s Manual.
Host Files to be
downloaded
Comm
PAM-P
The goal is to update all software components of PAM-P and SAM from the host. Each software component
(bootware, firmware, etc.) is downloaded from a file with extension .ADW (ACC Download). These files are
generated with the WIN95 PamSystemDownload (PAM-P system download file generator) ACC utility.
1.3 PAMSYSTEMDOWNLOAD
This utility can be run from the command line or in interactive mode.
1.3.1 FILETYPE
File type File Type for command Extension
line
PAM-P bootware PAM_BOOT *.PBI
PAM-P firmware PAM_FIRM *.PFI
PAM-P application PAM_APPL *.PAI
SAM bootware SAM_BOOT *.SBI
SAM firmware SAM_FIRM *.SFI
SAM application SAM_APPL *.SAI
SAM parameters SAM_PARAM *.SPI
CAN bootware CAN_BOOT *.CBI
CAN firmware CAN_FIRM *.CFI
Channel bootware CHNL_BOOT *.HBI
Channel firmware CHNL_FIRM *.HFI
1.3.2 DESTINATION
The destination address of the SAM can be:
• Individual (Ex : SAM1)
• Range (Ex :SAM3-7)(without space before and after -)
• All (Ex :SAMAll)
• Set of individual and range (Ex :SAM1;3-7;11) (without space before and after ;)
Example:
:Test
Start /w pamsystemdownload sam_boot sbez1511.sbi sbez1511.adw
if errorlevel 12 goto Err12
if errorlevel 11 goto Err11
if errorlevel 10 goto Err10
if errorlevel 5 goto Err5
if errorlevel 4 goto Err4
if errorlevel 3 goto Err3
if errorlevel 2 goto Err2
if errorlevel 1 goto Err1
if errorlevel 0 goto Ok
:Err12
echo Input file read error
goto end
:Err11
echo Output file write error
goto end
:Err10
echo Input file not found
goto end
:Err5
echo Invalid destination
goto end
:Err4
echo Too few parameters
goto end
:Err3
echo Too many parameters
goto end
:Err2
echo Invalid file type
goto end
:Err1
echo Invalid option
goto end
:Ok
echo Conversion successful
:end
Example:
If in the CAN_CHANNEL declaration, NODE_NAME = PAM, then variable for system input is PAMSI.
2.1.3 DEVICENET
Like CAL without DBT master.
Example :
first frame : 0x00 0x??
second frame : 0x80 0x??
third frame : 0x00 0x??
fourth frame : 0x80 0x??
The toggle bit should not be used to detect lost frames because inconsistencies could arise when going from
BOOTING to RUNNING or from RUNNING to BOOTING.
FatalError
Booting Running
FatalError
Booting with
Channel Running
FatalError
Booting with
Channel Running
FatalError
Booting without
Channel Running
FatalError
Booting with
Channel Running
WARNING: never switch off the system after the START command because it is possible to destroy the
special files.
PAM-P
Bootware 2: OneFileDownload( )
PAM-P
Firmware 3: OneFileDownload( )
PAM-P
Application 4: OneFileDownload( )
1-n SAM
Bootware 5: OneFileDownload( )
1-n SAM
Firmware 6: OneFileDownload( )
9: START( )
10: SaveSpecialFiles( )
11: PAMReset( )
Host PAM
1: FDWNL_BEG ( )
2: FDWNL_DAT ( )
3: FDWNL_DAT ( )
4: FDWNL_DAT ( )
5: FDWNL_DAT ( )
6: FDWNL_DAT ( )
7: FDWNL_DAT ( )
Could need
some time to
download to
8: FDWNL_END ( ) the target
9: FDWNL_END_ACK( )
Host PAM
2: FDWNL_DAT ( )
3: FDWNL_DAT ( )
Send CRC of
4: FDWNL_DAT ( ) The FDWNL_CHK
the data of
frames 2-4 command is
5: FDWNL_CHK ( ) optional
6: FDWNL_CHK_ACK ( )
17: FDWNL_END ( )
Could need
some time to
download to
18: FDWNL_END_ACK( ) the target
SET_PARAM(PARAM_ACK_MODE, 1)
Set the AckMode
parameter to 1 ACK()
FDWNL_BEG()
FDWNL_BEG_ACK()
Now, all download
commands give an
acknowledge.
FDWNL_DAT()
FDWNL_DAT_ACK()
FDWNL_ABO()
FDWNL_END_ACK()
START()
The start command ACK()
gives also an
acknowledge.
SET_PARAM(PARAM_ACK_MODE, 1)
ACK()
GOTO_BOOTING()
ACK()
WARNING: Note that after state transitions, BOOTING to RUNNING and RUNNING to BOOTING, the
AckMode must be set up again.
PAM InfoId
InfoId Description
PAM_STATE (0x0) State (BOOTING (1), RUNNING (2), FATAL_ERROR (3),
BUSY(4))
PAM_BOOT_VER (0x1) PAM bootware version
PAM_FIRM_VER (0x2) PAM firmware version
PAM_APPL_VER (0x3) PAM application version
PAM_BOOT_CRC (0x4) PAM bootware CRC
PAM_FIRM_CRC (0x5) PAM firmware CRC
PAM_APPL_CRC (0x6) PAM application CRC
PAM_NB_NODE (0x7) Number of node on the EasyBus
PAM_NODE_INFOS_STATE (0x8) Status of the node infos: UNINITIALIZED(0), READING(1)
and AVAILABLE (2)
PAM_CHNL_BOOT_VER (0x11) Channel bootware version
PAM_CHNL_FIRM_VER (0x12) Channel firmware version
PAM_SERIAL_NB (0x21) PAM serial number
PAM_PART_NB (0x22) PAM part number
PAM_VERSION (0x23) PAM version
! WARNING : The system info PAM_NODE_INFOS_STATE is available only for bootware and
firmware version 6029 and above.
! WARNING : Check that PAM_NODE_INFOS_STATE is equal to 2 before reading any node
information. A value of 0 means that PAM has not yet started to get nodes information. A value of 1 means
that PAM is reading information from connected nodes. A value of 2 means that informations about
connected nodes have been read and that those informations are now available through the GET_INFO
command.
The value of PAM_NODE_INFOS_STATE can be modified after sending the following commands:
START, GOTO_BOOTING, RESTART_PAM, RESTART_RING, FDWNL_END.
NODE InfoId
InfoId Description
NODE_PRESENT (0x0) True if NODE is present
NODE_BOOT_VER (0x1) NODE bootware version
NODE_FIRM_VER (0x2) NODE firmware version
NODE_APPL_VER (0x3) NODE application version
NODE_BOOT_CRC (0x4) NODE bootware CRC
NODE_FIRM_CRC (0x5) NODE firmware CRC
NODE_APPL_CRC (0x6) NODE application CRC
NODE_PARAM_VER (0x7) NODE parameters version (D_UserParamVersion parameter)
NODE_PARAM_CRC (0x8) NODE parameters CRC
NODE_SERIAL_NB (0x21) NODE serial number
NODE_PART_NB (0x22) NODE part number
NODE_VERSION (0x23) NODE version
The PAM modify the power of emission (optical) on each node and test if the ring run.
If there is a problem on one node the following error appear :
To tools : Fiber Test : Problem with outgoing fiber : node# xx. (xx is node address.)
To channel: system channel error occurs 0C000014 with nodeId.
That means that the problem is between node xx and the next one.
From Boot :
3.Start Test FIBER_TEST_P80 (0x04)
If errors occurs, messages 0C000014 with node id (Address) are sent.
When test is made PAM send 0C002001.
To start test from tools : from menu Advanced then Fiber Test.
If errors occurs, messages : Fiber Test : Problem with outgoing fiber : node# xx
When test is made tool display message : 0C002001 Fiber Test Ended.
See table under the Set Param section for available parameter Ids.
2.7.2 ERROR (B + R + F)
The PAM sends this command when there is an error.
Toggle bit + Data size Command Code Data
0xt5 ERROR (0x82) Error code (4 bytes)
NodeId (1 byte)
The possible error codes are:
Error code in hex Meaning
0C000001 Peripheral not ready
0C000002 Wrong peripheral type
0C000003 Peripheral didn’t change its state
0C000004 Peripheral refuse download
0C000005 Peripheral buffer full
0C000006 Peripheral download error
0C000007 Peripheral download storage error
0C000008 Download ADW file failed
0C000009 CRC error on downloaded ADW file
0C00000A EasyBus: optical link interrupted
0C00000B EasyBus: CRC error
0C00000C EasyBus: Synchronism problem
0C00000D EasyBus: node not ready
0C00000E EasyBus: nodes on the same address
0C00000F ADW download already in use (by CAN)
0C000010 ADW download already in use (by Tools)
0C000011 This file is not an ADW file
0C000012 ADW file header is spoiled
0C000013 Unknown channel command
0C000014 Fiber Test : Problem with outgoing fiber from NodeId
0C000015 Fiber Test : Problem with outgoing fiber from Pam
2.7.13 MESSAGE (B + R + F)
The PAM sends this command when there is an message.
Toggle bit + Data size Command Code Data
0xt5 MESSAGE (0x87) Message code (4 bytes)
The possible message codes are:
Message code in hex Meaning
0C002001 Fiber Test ready
2.7.14 PARAM (B + R + F)
This is the PAM answer to GET_PARAM command. (Only for pbez6027 and pfez6027 and higher)
Toggle bit + Data size Command Code Data
0xt4 PARAM(0x9C) Value (4 bytes)
4 INTEL CRC16
If you want to use the FDWNL_CHK, the host must be able to calculate a CRC.
ACC provides an example of CRC calculation in the WIN95 DLL file AccCustUtil.dll
#ifndef ACCCUSTUTIL_H
#define ACCCUSTUTIL_H
#include <windows.h>
/*------------------------*/
/* AccCUComputeIntelCRC16 */
/*========================*/
#endif /* ACCCUSTUTIL_H */
crc = l_Crc ;
return ( true ) ;
}
#include "AccCustUtil.h"
/*------------------------*/
/* AccCUComputeIntelCRC16 */
/*========================*/
{
UINT l_uCount = 0 ;
UINT l_uCRC = uStartValue ;
return l_uCRC ;
} /* AccCUComputeIntelCRC16 */