ECAT_Slave_in_ПЧ2П_c402  0.8
Реализация EtherCAT Slave для CM TMS320F28388D
Файл esc.h

EtherCAT Slave Controller related defines and Types. Подробнее...

#include "ecat_def.h"
Граф включаемых заголовочных файлов для esc.h:
Граф файлов, в которые включается этот файл:

См. исходные тексты.

Структуры данных

struct  STRUCT_PACKED_START
 Data structure to handle the process data transmitted via 0x1A00 (csp/csv TxPDO) Подробнее...
 

Макросы

#define SIZEOF_SM_REGISTER   8
 Each SyncManger has 8Byte Configuration/Status Registers. Подробнее...
 
#define MAX_NO_OF_SYNC_MAN   16
 Maximum Number of SyncManager channels supported by an ESC. Подробнее...
 
#define BL_PAGE_SIZE   512
 
#define ESC_INFO_OFFSET   0x0000
 ESC information registers startoffset. Подробнее...
 
#define ESC_COMM_INFO_OFFSET   0x0004
 Communication information registers startoffset. Подробнее...
 
#define ESC_DPRAM_SIZE_OFFSET   0x0006
 Register Description: Size of the supported DPRAM in KB. Подробнее...
 
#define ESC_SM_CHANNELS_OFFSET   0x0005
 Register Description: Number of supported SyncManager channels (or entities) of the EtherCAT Slave Controller. Подробнее...
 
#define ESC_FEATURES_OFFSET   0x0008
 Register indicating ESC features. Подробнее...
 
#define ESC_DC_32BIT_MASK   0x00000008
 register 0x0008.3 indicates if the DC Unit supports 32Bit/64Bit DC Подробнее...
 
#define ESC_SLAVE_ADDRESS_OFFSET   0x0010
 Register Description: Address used for node addressing (FPxx commands) Подробнее...
 
#define ESC_AL_CONTROL_OFFSET   0x0120
 Register Description: Initiate State Transition of the Device State Machine. Подробнее...
 
#define ESC_AL_STATUS_OFFSET   0x0130
 Register Description: Actual State of the Device State Machine. Подробнее...
 
#define ESC_AL_STATUS_CODE_OFFSET   0x0134
 Register Description: AL Status Code. Подробнее...
 
#define ESC_RUN_LED_OVERRIDE   0x0138
 Register Description: Set Ecat Run indication via ESC. (not all ESC types support this feature) Подробнее...
 
#define ESC_ERROR_LED_OVERRIDE   0x0139
 Register Description: Set Ecat Error indication via ESC. (not all ESC types support this feature) Подробнее...
 
#define ESC_PDI_CONTROL_OFFSET   0x0140
 Register Description: Specifies the process data interface. Подробнее...
 
#define ESC_DEVICE_EMULATION   0x0100
 Device emulation bit. Подробнее...
 
#define ESC_PDI_CONFIGURATION   0x0151
 Register Description: PDI configuration register (values defined by the ESC configuration data) Подробнее...
 
#define ESC_SYNC0_MAPPED_TO_ALEVENT   0x08
 bit indicating if the Sync0 event is mapped to the AL Event register Подробнее...
 
#define ESC_SYNC1_MAPPED_TO_ALEVENT   0x80
 bit indicating if the Sync1 event is mapped to the AL Event register Подробнее...
 
#define ESC_AL_EVENTMASK_OFFSET   0x0204
 Register Description: AL Event masking of the AL Event Request register Events for mapping to PDI IRQ signal. Подробнее...
 
#define ESC_AL_EVENT_OFFSET   0x0220
 Register Description: "Mirror" register for ESC events. Подробнее...
 
#define ESC_WD_DIVIDER_OFFSET   0x0400
 Register Description: Number of 25 MHz tics (minus 2) that represents the basic watchdog increment. (Default value is 100us = 2498) Подробнее...
 
#define ESC_PD_WD_TIME   0x0420
 Register Description: Number of basic watchdog increments (Default value with Watchdog divider 100us means 100ms Watchdog) Подробнее...
 
#define ESC_PD_WD_STATE   0x0440
 Register Description: Watchdog Status of Process Data (triggered by SyncManagers) Подробнее...
 
#define ESC_PD_WD_TRIGGER_MASK   0x0001
 Trigger state of the process data watchdog. Подробнее...
 
#define ESC_EEPROM_CONFIG_OFFSET   0x0500
 Register Description: EEPROM Access Configuration. Подробнее...
 
#define ESC_EEPROM_ASSIGN_TO_PDI_MASK   0x0001
 Description (0x500.0): PDI has EEPROM control. Подробнее...
 
#define ESC_EEPROM_LOCKED_BY_PDI_MASK   0x0100
 Description (0x500.8): PDI locked EEPROM access. Подробнее...
 
#define ESC_EEPROM_CONTROL_OFFSET   0x0502
 
#define ESC_EEPROM_SUPPORTED_READBYTES_MASK   0x0040
 Description (0x502.6): Supported number of EEPROM read bytes: 0-> 4 Bytes; 1 -> 8 Bytes. Подробнее...
 
#define ESC_EEPROM_CMD_MASK   0x0700
 Description (0x502.8:10): Command bit mask. Подробнее...
 
#define ESC_EEPROM_CMD_READ_MASK   0x0100
 Description (0x502.8): Currently executed read command. Подробнее...
 
#define ESC_EEPROM_CMD_WRITE_MASK   0x0200
 Description (0x502.9): Initialize Write Command. Подробнее...
 
#define ESC_EEPROM_CMD_RELOAD_MASK   0x0400
 Description (0x502.10): Trigger EEPROM reload. Подробнее...
 
#define ESC_EEPROM_ERROR_MASK   0x7800
 Description : Mask all EEPROM error bits; Checksum error (0x0502.11); EEPROM not loaded (0x0502.12); Missing EEPROM Acknowledge (0x0502.13); Write Error (0x0502.14) Подробнее...
 
#define ESC_EEPROM_ERROR_CRC   0x0800
 Description (0x502.11): EEPROM CRC Error. Подробнее...
 
#define ESC_EEPROM_ERROR_LOAD   0x1000
 Description (0x502.11): EEPROM loading status (0 = OK) Подробнее...
 
#define ESC_EEPROM_ERROR_CMD_ACK   0x2000
 Description (0x502.13): EEPROM Acknowledge/Command. Подробнее...
 
#define ESC_EEPROM_BUSY_MASK   0x8000
 Description (0x502.15): EEPROM Busy. Подробнее...
 
#define ESC_EEPROM_ADDRESS_OFFSET   0x0504
 
#define ESC_EEPROM_DATA_OFFSET   0x0508
 
#define ESC_SYNCMAN_REG_OFFSET   0x0800
 Register Description: Start address of the SyncManager Configuration/Staus registers. Подробнее...
 
#define ESC_SYNCMAN_CONTROL_OFFSET   0x0804
 Register Description: SyncManager Setting Register. Подробнее...
 
#define ESC_SYNCMAN_STATUS_OFFSET   0x0805
 Register Description: SyncManager Status Register. Подробнее...
 
#define ESC_SYNCMAN_ACTIVE_OFFSET   0x0806
 Register Description: SyncManager Activation Register. Подробнее...
 
#define ESC_SM_PDICONTROL_OFFSET   0x0807
 
#define ESC_SYSTEMTIME_OFFSET   0x0910
 Register Description: Local copy of the System Time. Подробнее...
 
#define ESC_DC_UNIT_CONTROL_OFFSET   0x0980
 Register Description: Control registers for Cycle and Sync Unit (can be predefined with the "AssignActivate" Element in the device description, for further information see ETG.2000) Подробнее...
 
#define ESC_DC_SYNC_ACTIVATION_OFFSET   0x0981
 Register Description: Sync Configuration. Подробнее...
 
#define ESC_DC_SYNC_UNIT_ACTIVE_MASK   0x01
 Description (0x981.0): Sync Out Unit is activated. Подробнее...
 
#define ESC_DC_SYNC0_ACTIVE_MASK   0x02
 Description (0x981.1): Sync0 generation is activated. Подробнее...
 
#define ESC_DC_SYNC1_ACTIVE_MASK   0x04
 Description (0x981.2): Sync1 generation is activated. Подробнее...
 
#define ESC_DC_SYNC_UNIT_AUTO_ACTIVE_MASK   0x08
 Description (0x980.11): Sync Out Unit is activated automatic when System time was written. Подробнее...
 
#define ESC_DC_SYNC_STATUS   0x098C
 Register Description: register 0x98E and 0x98F reflecting the status of Sync0 and Sync1. Подробнее...
 
#define ESC_DC_SYNC0_CYCLETIME_OFFSET   0x09A0
 Register Description: 32Bit Time between two consecutive SYNC0 pulses in ns. Подробнее...
 
#define ESC_DC_SYNC1_CYCLETIME_OFFSET   0x09A4
 Register Description: 32Bit Time between two consecutive SYNC1 pulses in ns. Подробнее...
 
#define SM_SETTING_CONTROL_OFFSET   0
 Offset to value of register 0x0804. Подробнее...
 
#define SM_SETTING_MODE_MASK   0x02
 SyncManager mode mask. Подробнее...
 
#define SM_SETTING_MODE_THREE_BUFFER_VALUE   0x00
 SyncManager 3Buffer mode value. Подробнее...
 
#define SM_SETTING_MODE_ONE_BUFFER_VALUE   0x02
 SyncManager 1Buffer mode value. Подробнее...
 
#define SM_SETTING_DIRECTION_MASK   0x0C
 SyncManager direction mask. Подробнее...
 
#define SM_SETTING_DIRECTION_READ_VALUE   0x00
 SyncManager read direction. Подробнее...
 
#define SM_SETTING_DIRECTION_WRITE_VALUE   0x04
 SyncManager write direction. Подробнее...
 
#define SM_SETTING_WATCHDOG_VALUE   0x40
 SyncManager watchdog value. Подробнее...
 
#define SM_SETTING_STATUS_OFFSET   1
 Offset to value of register 0x0805. Подробнее...
 
#define SM_STATUS_MBX_BUFFER_FULL   0x08
 Indicates in one buffer mode if buffer was completely written (based on "ESC_SYNCMAN_STATUS_OFFSET") Подробнее...
 
#define SM_SETTING_ACTIVATE_OFFSET   2
 Offset to value of register 0x0806. Подробнее...
 
#define SM_SETTING_ENABLE_VALUE   0x01
 SyncManager enable. Подробнее...
 
#define SM_SETTING_REPAET_REQ_MASK   0x02
 SyncManager Repeat request. Подробнее...
 
#define SM_SETTING_REPEAT_REQ_SHIFT   0
 SyncManager Repeat request shift. Подробнее...
 
#define SM_SETTING_PDICONTROL_OFFSET   3
 Offset to value of register 0x0807. Подробнее...
 
#define SM_SETTING_PDI_DISABLE   0x01
 Bit0 of register 0x0807 (if 1 SM is disabled from PDI) Подробнее...
 
#define SM_SETTING_REPEAT_ACK   0x02
 Bit1 of register 0x0807. Подробнее...
 

Определения типов

typedef struct STRUCT_PACKED_START TSYNCMAN
 SyncManager register structure. Подробнее...
 

Подробное описание

EtherCAT Slave Controller related defines and Types.

Автор
Ether.nosp@m.catS.nosp@m.SC@be.nosp@m.ckho.nosp@m.ff.co.nosp@m.m
Версия
5.10


Changes to version V5.01:
V5.10 ESC1: Update address register offset for 32Bit ESC access
V5.10 ESC2: Check if defined SM settings do not exceed the available DPRAM range (in error case AL Status 0x14 is returned)
V5.10 ESC3: Handle DC cControl register values in case of 32Bit ESC access (a Sync activation mask need to defined/used)

Changes to version - :
V5.01 : Start file change log

См. определение в файле esc.h

Макросы

◆ SM_SETTING_ACTIVATE_OFFSET

#define SM_SETTING_ACTIVATE_OFFSET   2

Offset to value of register 0x0806.

См. определение в файле esc.h строка 185

◆ SM_SETTING_CONTROL_OFFSET

#define SM_SETTING_CONTROL_OFFSET   0

Offset to value of register 0x0804.

См. определение в файле esc.h строка 166

◆ SM_SETTING_DIRECTION_MASK

#define SM_SETTING_DIRECTION_MASK   0x0C

SyncManager direction mask.

См. определение в файле esc.h строка 170

◆ SM_SETTING_DIRECTION_READ_VALUE

#define SM_SETTING_DIRECTION_READ_VALUE   0x00

SyncManager read direction.

См. определение в файле esc.h строка 171

◆ SM_SETTING_DIRECTION_WRITE_VALUE

#define SM_SETTING_DIRECTION_WRITE_VALUE   0x04

SyncManager write direction.

См. определение в файле esc.h строка 172

◆ SM_SETTING_ENABLE_VALUE

#define SM_SETTING_ENABLE_VALUE   0x01

SyncManager enable.

См. определение в файле esc.h строка 186

◆ SM_SETTING_MODE_MASK

#define SM_SETTING_MODE_MASK   0x02

SyncManager mode mask.

См. определение в файле esc.h строка 167

◆ SM_SETTING_MODE_ONE_BUFFER_VALUE

#define SM_SETTING_MODE_ONE_BUFFER_VALUE   0x02

SyncManager 1Buffer mode value.

См. определение в файле esc.h строка 169

◆ SM_SETTING_MODE_THREE_BUFFER_VALUE

#define SM_SETTING_MODE_THREE_BUFFER_VALUE   0x00

SyncManager 3Buffer mode value.

См. определение в файле esc.h строка 168

◆ SM_SETTING_PDI_DISABLE

#define SM_SETTING_PDI_DISABLE   0x01

Bit0 of register 0x0807 (if 1 SM is disabled from PDI)

См. определение в файле esc.h строка 195

◆ SM_SETTING_PDICONTROL_OFFSET

#define SM_SETTING_PDICONTROL_OFFSET   3

Offset to value of register 0x0807.

См. определение в файле esc.h строка 194

◆ SM_SETTING_REPAET_REQ_MASK

#define SM_SETTING_REPAET_REQ_MASK   0x02

SyncManager Repeat request.

См. определение в файле esc.h строка 187

◆ SM_SETTING_REPEAT_ACK

#define SM_SETTING_REPEAT_ACK   0x02

Bit1 of register 0x0807.

См. определение в файле esc.h строка 196

◆ SM_SETTING_REPEAT_REQ_SHIFT

#define SM_SETTING_REPEAT_REQ_SHIFT   0

SyncManager Repeat request shift.

См. определение в файле esc.h строка 188

◆ SM_SETTING_STATUS_OFFSET

#define SM_SETTING_STATUS_OFFSET   1

Offset to value of register 0x0805.

См. определение в файле esc.h строка 179

◆ SM_SETTING_WATCHDOG_VALUE

#define SM_SETTING_WATCHDOG_VALUE   0x40

SyncManager watchdog value.

См. определение в файле esc.h строка 173

◆ SM_STATUS_MBX_BUFFER_FULL

#define SM_STATUS_MBX_BUFFER_FULL   0x08

Indicates in one buffer mode if buffer was completely written (based on "ESC_SYNCMAN_STATUS_OFFSET")

См. определение в файле esc.h строка 180