|
AM243x MCU+ SDK
08.06.00
|
|
Go to the documentation of this file.
60 #define PRU_IEP_COUNT_REG 0x0C
67 #define PRU_IEP_CMP_CFG_REG 0x40
74 #define PRU_IEP_CMP1_REG 0x4C
81 #define PRU_IEP_SYNC_PWIDTH_REG 0x110
88 #define PRU_IEP_CAP_CFG_REG 0x10
145 #define PTCP_ENABLE_FILTER
152 #define ISR_PTCP_NUM 24
159 #define ISR_PTCP_NUM_ARM 124+32
166 #define NUM_DELAYS_SMA 7
173 #define NUM_DELAYS_BURST 5
180 #define PTCP_NUM_PORTS 2
187 #define MAX_SEQID 61435
194 #define PTCP_DELAY_REQ_LEN 60
201 #define MAX_CTR_VAL 512
208 #define INTER_DEL_REQ_GAP 200000000
215 #define INTER_DEL_REQ_GAP_MS 205
223 #define INTER_DEL_REQ_BURST_GAP_MS 8205
230 #define SYNC_INTERVAL 30000000
237 #ifdef PROFINET_RGMII_MODE
238 #define PORT_RX_DELAY 374+160 //FIXME : MAC delay needs to be accounted correctly
240 #define PORT_RX_DELAY 220
248 #ifdef PROFINET_RGMII_MODE
249 #define PORT_TX_DELAY 248+160 //FIXME : MAC delay needs to be accounted correctly
251 #define PORT_TX_DELAY 64
260 #define DEBUG_DELAY_N_ITER 200
268 #define DEBUG_SYNC_N_ITER 300
270 #define DEBUG_SYNC_N_ITER 40000
278 #define SYNC_FILTER_SIZE 8
285 #define SYNC_ANALYSIS_N_ITER 100
292 #define SYNC_ANALYSIS_N_RESETS 40
294 #define LATCH0_EVENT 12
343 uint8_t subdomainUUID[16];
410 #define SYNC_SINGLE_ITER_SIZE 200
500 *ptcp_iDelayResp_parsed, uint8_t *ptcp_iDelayResp_packet,
501 uint8_t *ptcp_iDelayFupResp_packet, int32_t w_FUP);
569 uint32_t compensation);
int32_t PN_PTCP_parseInDelayResp(ptcp_iDelayResp_struct_t *ptcp_iDelayResp_parsed, uint8_t *ptcp_iDelayResp_packet, uint8_t *ptcp_iDelayFupResp_packet, int32_t w_FUP)
int32_t PN_PTCP_parseSyncFields(PN_Handle pnHandle, volatile ptcpSyncInfo_t *ptcp_sync_parsed, uint8_t *sync_sblock)
void PN_PTCP_start(PN_Handle pnHandle)
Triggers the start of ptcp protocol Should be called from stack after initialization It only controls...
uint32_t reqDelay
Definition: iPtcpUtils.h:316
uint32_t line_delay
Definition: iPtcpUtils.h:321
void PN_PTCP_reset(PN_Handle pnHandle)
reset relevant data on start or sync timeout
struct PN_Config_s * PN_Handle
Alias for Profinet Handle containing base addresses and modules.
Definition: PN_Handle.h:102
#define SYNC_SINGLE_ITER_SIZE
Definition: iPtcpUtils.h:410
#define NUM_DELAYS_SMA
Definition: iPtcpUtils.h:166
void PN_PTCP_syncTimeoutMonitor(PN_Handle pnHandle)
uint16_t * pSeqIdInDelayPacket
Definition: iPtcpUtils.h:370
void PN_PTCP_syncHandling(PN_Handle pnHandle)
uint32_t PN_PTCP_rotUint(uint32_t *input)
#define DEBUG_SYNC_N_ITER
Definition: iPtcpUtils.h:270
uint8_t * pInDelayResPacket
Definition: iPtcpUtils.h:372
#define DEBUG_DELAY_N_ITER
Definition: iPtcpUtils.h:260
void PN_PTCP_portDelaySmaCalc(PN_Handle pnHandle, uint8_t portNum)
uint32_t T4PortRXDelay
Definition: iPtcpUtils.h:310
uint32_t nSyncMissed
Definition: iPtcpUtils.h:341
Definition: iPtcpUtils.h:416
Definition: iPtcpUtils.h:384
uint32_t takeoverTimeoutFactor
Definition: iPtcpUtils.h:337
void PN_PTCP_configureSync0Pin(PN_Handle pnHandle)
uint32_t T4_cycle_ctr
Definition: iPtcpUtils.h:315
uint32_t * pT4TS
Definition: iPtcpUtils.h:364
syncState_t syncState
Definition: iPtcpUtils.h:330
void PN_PTCP_syncPreprocess(PN_Handle pnHandle, uint8_t ctrlByte)
int32_t PN_PTCP_lineDelayCalc(PN_Handle pnHandle, ptcp_iDelayResp_struct_t *ptcp_iDelayResp_parsed)
uint32_t * pT1TS
Definition: iPtcpUtils.h:363
uint32_t syncPllWnd
Definition: iPtcpUtils.h:335
uint32_t T1_cycle_ctr
Definition: iPtcpUtils.h:314
uint8_t * pInDelayFupResPacket
Definition: iPtcpUtils.h:373
Definition: iPtcpUtils.h:398
void PN_PTCP_resetDelayTimings(PN_Handle pnHandle, uint8_t portNum)
uint32_t resDelay_peer
Definition: iPtcpUtils.h:319
uint16_t seqId
Definition: iPtcpUtils.h:306
uint32_t T3PortTXDelay
Definition: iPtcpUtils.h:309
void PN_PTCP_smaDelayMeasurement(PN_Handle pnHandle)
void PN_PTCP_isrHandler(void *arg)
Profinet PTCP ISR handler.
uint8_t * pInDelayResCtrl
Definition: iPtcpUtils.h:374
void PN_PTCP_delayMeasurement(PN_Handle pnHandle)
uint32_t T2PortRXDelay
Definition: iPtcpUtils.h:308
int32_t PN_PTCP_cableDelayCalc(PN_Handle pnHandle, ptcp_iDelayResp_struct_t *ptcp_iDelayResp_parsed, uint8_t port)
void PN_PTCP_triggerMeasurement(PN_Handle pnHandle)
uint32_t T1TimeStamp
Definition: iPtcpUtils.h:311
uint8_t syncRcv
Definition: iPtcpUtils.h:340
uint32_t T4TimeStamp
Definition: iPtcpUtils.h:313
uint32_t T1PortTXDelay
Definition: iPtcpUtils.h:307
float rcf_peer
Definition: iPtcpUtils.h:318
uint8_t * pDelayReqPacket
Definition: iPtcpUtils.h:368
Definition: iPtcpUtils.h:362
Definition: iPtcpUtils.h:352
uint32_t syncTimeoutFactor
Definition: iPtcpUtils.h:336
uint32_t resDelay
Definition: iPtcpUtils.h:317
void PN_PTCP_resetDelayValues(PN_Handle pnHandle)
void PN_PTCP_ClockChange(PN_Handle pnHandle, uint32_t cycleTime)
Handles the clock (IEP CMP0) change scenario.
void PN_PTCP_init(PN_Handle pnHandle)
Initializes the PTCP data structure and memory for PTCP pre-formatted packets.
int32_t PN_PTCP_adjCtrDiff(PN_Handle pnHandle, int32_t ctrDiff)
Definition: iPtcpUtils.h:305
uint32_t T2TimeStamp
Definition: iPtcpUtils.h:312
uint32_t * pT4CycleCtr
Definition: iPtcpUtils.h:366
void PN_PTCP_taskSleep(uint32_t mSec)
uint32_t cable_delay
Definition: iPtcpUtils.h:320
Structure containing current sync info.
Definition: iPtcpDrv.h:107
uint8_t firstSyncRcv
Definition: iPtcpUtils.h:339
uint8_t * pDelayResPacket
Definition: iPtcpUtils.h:369
syncState_t
Enum for the various sync states.
Definition: iPtcpDrv.h:78
int32_t PN_PTCP_absVal(int32_t num)
int32_t PN_PTCP_enableIsr(PN_Handle pnHandle)
uint16_t PN_PTCP_rotUshort(uint16_t *input)
int32_t PN_PTCP_setupIsr(PN_Handle pnHandle)
void PN_PTCP_processDelayResponse(PN_Handle pnHandle, uint8_t portNum)
Definition: iPtcpUtils.h:329
void PN_PTCP_syncIepAdjustment(PN_Handle pnHandle, int32_t ecapPeriod, uint32_t compensation)
#define PTCP_NUM_PORTS
Definition: iPtcpUtils.h:180
ptcpPortStatus_t
Enum for enable/disable states.
Definition: iPtcpDrv.h:67
uint32_t * pSmaLineDelay
Definition: iPtcpUtils.h:376
int32_t PN_PTCP_modFunc(int32_t num, uint32_t mod)
uint32_t * pT1CycleCtr
Definition: iPtcpUtils.h:365